/* ============================================================
   IMPERIA NORMANDIE — feuille de style principale
   DA : noir laqué / craie / doré champagne, Fraunces + Archivo,
   signature « liseré de carrosserie » (filet doré 1 px).
   ============================================================ */

:root {
	--in-noir:       #101114;
	--in-anthracite: #1B1D21;
	--in-craie:      #F1EEE7;
	--in-blanc:      #FFFFFF;
	--in-pierre:     #8B8E94;
	--in-dore:       #C2A468;
	--in-dore-sombre:#9A7F47;
	--in-transition: 180ms ease;
}

/* ------------------------------------------------------------
   Base
   ------------------------------------------------------------ */
html { scroll-behavior: smooth; }
body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: clip; /* garde-fou : aucun débordement horizontal (n'affecte pas le sticky) */
}

::selection { background: var(--in-dore); color: var(--in-noir); }

h1, h2, h3 { letter-spacing: -0.01em; }
h1 { text-wrap: balance; }

/* Focus visible net (accessibilité clavier). */
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 2px solid var(--in-dore);
	outline-offset: 2px;
	border-radius: 0;
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}

/* ------------------------------------------------------------
   Signature : le liseré de carrosserie
   ------------------------------------------------------------ */
hr.in-lisere {
	border: none;
	height: 1px;
	background: linear-gradient(90deg, var(--in-dore) 0%, var(--in-dore) 62%, transparent 100%);
	opacity: 1;
	margin: 2.5rem 0;
	width: 100%;
}

/* ------------------------------------------------------------
   Surtitre (eyebrow)
   ------------------------------------------------------------ */
.in-surtitre {
	font-size: 0.8125rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--in-dore);
	margin-bottom: 0.75rem;
}

/* ------------------------------------------------------------
   En-tête sticky
   ------------------------------------------------------------ */
header.in-header {
	position: sticky;
	top: 0;
	z-index: 90;
	background: color-mix(in srgb, var(--in-anthracite) 92%, transparent);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid color-mix(in srgb, var(--in-dore) 35%, transparent);
	padding: 0.85rem 1rem;
}
.in-header__bar { gap: 1.5rem; }

.in-logo a {
	font-family: var(--wp--preset--font-family--archivo, "Archivo", sans-serif);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--in-craie);
	white-space: nowrap;
}
.in-logo a:hover { color: var(--in-dore); }

.in-nav a {
	font-size: 0.9375rem;
	color: var(--in-craie);
	text-decoration: none;
}
.in-nav a:hover,
.in-nav .current-menu-item > a { color: var(--in-dore); }

.in-header__cta .wp-block-button__link { padding: 0.55rem 1.3rem; }

/* Menu mobile — TIROIR latéral droit (off-canvas). !important pour passer
   DEVANT la feuille du bloc Navigation de WordPress. Validé en conditions réelles. */
.in-nav .wp-block-navigation__responsive-container-open,
.in-nav .wp-block-navigation__responsive-container-close {
	color: var(--in-craie);
	background: transparent;
	border: none;
	padding: 0.25rem;
}
.in-nav .wp-block-navigation__responsive-container-open { font-size: 1.6rem; }
.in-nav .wp-block-navigation__responsive-container-open:hover,
.in-nav .wp-block-navigation__responsive-container-close:hover { color: var(--in-dore); }

/* Le panneau : fixé à droite, pleine hauteur. box-sizing INDISPENSABLE
   (sinon le padding gonfle les dimensions et le panneau se replie). */
.in-nav .wp-block-navigation__responsive-container.is-menu-open {
	box-sizing: border-box !important;
	position: fixed !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: auto !important;
	width: min(88vw, 330px) !important;
	height: 100dvh !important;
	z-index: 100000 !important;
	padding: 4.4rem 1.35rem 2rem !important;
	background: #1E2026 !important;
	border-left: 2px solid var(--in-dore) !important;
	box-shadow: -24px 0 70px rgba(0,0,0,.6) !important;
	display: block !important;
	overflow-y: auto !important;
}
/* Voile sombre derrière le tiroir. */
.in-nav .wp-block-navigation__responsive-container.is-menu-open::before {
	content: "";
	position: fixed;
	inset: 0;
	background: rgba(16,17,20,.55);
	z-index: -1;
}
.in-nav .wp-block-navigation__responsive-container-close {
	position: absolute;
	top: 1.15rem;
	right: 1.15rem;
	font-size: 1.7rem;
	color: var(--in-craie);
}
/* On aplatit TOUS les conteneurs internes en pile verticale alignée à gauche
   (le bloc Navigation est « justifié à droite » sur desktop → sinon les
   sous-liens partent à droite). display:block neutralise le flex. */
.in-nav .is-menu-open .wp-block-navigation__responsive-container-inside,
.in-nav .is-menu-open .wp-block-navigation__responsive-container-content,
.in-nav .is-menu-open .wp-block-navigation__container,
.in-nav .is-menu-open .wp-block-navigation__submenu-container,
.in-nav .is-menu-open .wp-block-navigation-item {
	display: block !important;
	width: 100% !important;
	text-align: left !important;
	justify-content: flex-start !important;
	align-items: flex-start !important;
}
/* Liens de 1er niveau : titre serif + filet fin de séparation. */
.in-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	border-bottom: 1px solid color-mix(in srgb, var(--in-dore) 18%, transparent) !important;
}
.in-nav .is-menu-open .wp-block-navigation-item__content {
	display: block !important;
	text-align: left !important;
	font-family: var(--wp--preset--font-family--fraunces, Georgia, serif);
	color: var(--in-craie);
}
.in-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	font-size: 1.18rem;
	line-height: 1.3;
	padding: 0.72rem 0.1rem;
}
.in-nav .is-menu-open .wp-block-navigation-item__content:hover { color: var(--in-dore); }

/* Groupe « Services » : en-tête doré + sous-liens indentés sous un rail doré. */
.in-nav .is-menu-open .wp-block-navigation__submenu-icon { display: none !important; }
.in-nav .is-menu-open .wp-block-navigation-submenu > .wp-block-navigation-item__content {
	font-size: 0.76rem !important;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--in-dore) !important;
	padding: 0.15rem 0.1rem 0.35rem !important;
}
.in-nav .is-menu-open .wp-block-navigation__submenu-container {
	position: static !important;
	opacity: 1 !important;
	visibility: visible !important;
	min-width: 0 !important;
	margin: 0.2rem 0 0.5rem 0.1rem !important;
	padding-left: 0.9rem !important;
	background: transparent !important;
	border: 0 !important;
	border-left: 1px solid color-mix(in srgb, var(--in-dore) 32%, transparent) !important;
	box-shadow: none !important;
	transform: none !important;
}
.in-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item {
	border-bottom: none !important;
}
.in-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-size: 0.98rem !important;
	padding: 0.4rem 0 !important;
	color: #B9BBC0 !important;
}
.in-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: var(--in-dore) !important; }

/* ------------------------------------------------------------
   Sections
   ------------------------------------------------------------ */
.in-section { padding: 4.5rem 1.25rem; }

/* Section claire : fond craie, texte sombre (lisibilité contenus longs). */
.in-clair {
	background: var(--in-craie);
	color: var(--in-anthracite);
}
.in-clair h1, .in-clair h2, .in-clair h3, .in-clair h4 { color: var(--in-noir); }
.in-clair a { color: var(--in-dore-sombre); }
.in-clair a:hover { color: var(--in-noir); }
.in-clair .in-surtitre { color: var(--in-dore-sombre); }

/* ------------------------------------------------------------
   Hero
   ------------------------------------------------------------ */
.in-hero { padding: 4rem 1.25rem 3rem; }
.in-hero__grille { gap: 3rem; }
.in-hero__texte {
	color: var(--in-pierre);
	max-width: 34rem;
	font-size: 1.125rem;
}
.in-hero__photo img {
	width: 100%;
	height: auto;
	display: block;
	border: 1px solid color-mix(in srgb, var(--in-dore) 40%, transparent);
}
.in-hero__faits p { color: var(--in-pierre); font-size: 0.9375rem; }
.in-hero__faits strong {
	color: var(--in-craie);
	display: inline-block;
	margin-bottom: 0.25rem;
	letter-spacing: 0.04em;
}

/* ------------------------------------------------------------
   Boutons
   ------------------------------------------------------------ */
.wp-block-button__link,
.in-bouton {
	border-radius: 0;
	transition: background var(--in-transition), color var(--in-transition);
}
.in-bouton {
	display: inline-block;
	background: var(--in-dore);
	color: var(--in-noir);
	border: none;
	font-family: inherit;
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	padding: 0.8rem 1.8rem;
	cursor: pointer;
	text-decoration: none;
}
.in-bouton:hover { background: var(--in-craie); color: var(--in-noir); }
.in-clair .in-bouton:hover { background: var(--in-noir); color: var(--in-craie); }

.is-style-outline .wp-block-button__link {
	border: 1px solid var(--in-dore);
	color: var(--in-dore);
	background: transparent;
}
.is-style-outline .wp-block-button__link:hover {
	background: var(--in-dore);
	color: var(--in-noir);
}

/* ------------------------------------------------------------
   Services / cartes
   ------------------------------------------------------------ */
.in-services { margin-top: 2rem; gap: 2rem; }
.in-picto {
	width: 2.5rem;
	height: 2.5rem;
	margin-bottom: 1rem;
	fill: none;
	stroke: var(--in-dore);
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.in-clair .in-picto { stroke: var(--in-dore-sombre); }
.in-services h3 a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: border-color var(--in-transition);
}
.in-services h3 a:hover { border-color: var(--in-dore-sombre); }
.in-services p { color: #4c4e53; font-size: 0.9688rem; }

/* Prestation signature : VTC de luxe (carte vedette, 2 colonnes). */
.in-service-vedette {
	display: grid;
	grid-template-columns: minmax(150px, 210px) 1fr;
	gap: 1.5rem 2.5rem;
	align-items: center;
	margin-top: 2.5rem;
	padding: 2.25rem clamp(1.5rem, 4vw, 3rem);
	border: 1px solid var(--in-dore);
	background: color-mix(in srgb, var(--in-dore) 8%, transparent);
}
.in-service-vedette .in-surtitre { margin: 0 0 1rem; }
.in-service-vedette .in-picto { width: 3rem; height: 3rem; margin: 0; }
.in-clair .in-service-vedette .in-picto { stroke: var(--in-dore-sombre); }
.in-vedette__main {
	border-left: 1px solid color-mix(in srgb, var(--in-dore) 30%, transparent);
	padding-left: 2.5rem;
}
.in-vedette__main h3 { margin: 0 0 0.6rem; }
.in-vedette__main h3 a { color: inherit; text-decoration: none; }
.in-vedette__main h3 a:hover { color: var(--in-dore-sombre); }
.in-vedette__main p { max-width: 60ch; color: #4c4e53; font-size: 0.9688rem; margin: 0 0 1.1rem; }
.in-vedette__cta {
	display: inline-block;
	font-weight: 500;
	color: var(--in-dore-sombre);
	text-decoration: none;
	border-bottom: 1px solid currentColor;
	padding-bottom: 2px;
	transition: color var(--in-transition);
}
.in-vedette__cta:hover { color: var(--in-noir); }

/* Empilement mobile : picto + label au-dessus, sans filet vertical. */
@media (max-width: 781px) {
	.in-service-vedette { grid-template-columns: 1fr; gap: 1rem; padding: 1.75rem 1.5rem; }
	.in-vedette__main { border-left: none; padding-left: 0; }
}

/* ------------------------------------------------------------
   Zones desservies
   ------------------------------------------------------------ */
.in-zones-liste {
	list-style: none;
	padding: 0;
	margin: 1rem 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.in-zones-liste li {
	border: 1px solid color-mix(in srgb, var(--in-dore) 50%, transparent);
	padding: 0.35rem 0.85rem;
	font-size: 0.875rem;
	color: var(--in-craie);
}
.in-clair .in-zones-liste li { color: var(--in-anthracite); border-color: var(--in-dore-sombre); }

/* ------------------------------------------------------------
   Avis
   ------------------------------------------------------------ */
.in-citation {
	border-left: 1px solid var(--in-dore);
	margin: 0;
	padding: 0.25rem 0 0.25rem 1.4rem;
	font-style: normal;
}
.in-citation p { font-family: var(--wp--preset--font-family--fraunces, Georgia, serif); font-size: 1.0938rem; }
.in-citation cite {
	display: block;
	margin-top: 0.75rem;
	font-style: normal;
	font-size: 0.8125rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--in-pierre);
}

/* ------------------------------------------------------------
   Prestige — personnalités & officiels + galerie flotte
   ------------------------------------------------------------ */
.in-prestige__grille { gap: 3rem; margin-top: 2rem; }
.in-prestige__texte { color: var(--in-pierre); font-size: 1.0625rem; }
.in-prestige__texte strong { color: var(--in-craie); }

.in-prestige__atouts {
	list-style: none;
	padding: 0;
	margin: 1.5rem 0 0;
	display: grid;
	gap: 0.75rem;
}
.in-prestige__atouts li {
	position: relative;
	padding-left: 1.75rem;
	color: var(--in-pierre);
	font-size: 0.9688rem;
}
.in-prestige__atouts li::before {
	content: "";
	position: absolute;
	left: 0.15rem;
	top: 0.35em;
	width: 0.8rem;
	height: 0.42rem;
	border-left: 2px solid var(--in-dore);
	border-bottom: 2px solid var(--in-dore);
	transform: rotate(-45deg);
}

/* Le document — lettre de remerciement (mise en valeur type « cadre »). */
.in-prestige__doc {
	margin: 0;
	padding: 0.75rem;
	background: color-mix(in srgb, var(--in-dore) 7%, transparent);
	border: 1px solid color-mix(in srgb, var(--in-dore) 40%, transparent);
	box-shadow: 0 24px 60px rgba(0, 0, 0, .45);
}
.in-prestige__doc img { display: block; width: 100%; height: auto; }
.in-prestige__doc figcaption {
	margin-top: 0.75rem;
	font-size: 0.8125rem;
	letter-spacing: 0.03em;
	color: var(--in-pierre);
	text-align: center;
}

/* Galerie de la flotte — mosaïque (masonry) : chaque photo garde ses
   proportions naturelles, sans recadrage ni bloc vide. */
.in-galerie {
	columns: 3;
	column-gap: 1rem;
	margin-top: 1.5rem;
}
.in-galerie figure {
	position: relative;
	break-inside: avoid;
	margin: 0 0 1rem;
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--in-dore) 25%, transparent);
}
.in-galerie img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform 400ms ease;
}
.in-galerie figure:hover img { transform: scale(1.04); }
.in-galerie figcaption {
	position: absolute;
	inset: auto 0 0 0;
	padding: 1.6rem 0.9rem 0.7rem;
	font-size: 0.8125rem;
	color: var(--in-craie);
	background: linear-gradient(to top, rgba(16, 17, 20, .85), transparent);
}
/* Seule photo en portrait (montagne) : recadrée en paysage pour équilibrer
   la mosaïque et éviter une colonne beaucoup plus haute que les autres. */
.in-galerie figure:last-child img {
	aspect-ratio: 3 / 2;
	height: auto;
	object-fit: cover;
	object-position: center 55%;
}

/* ------------------------------------------------------------
   CTA final
   ------------------------------------------------------------ */
.in-cta { text-align: left; }
.in-cta h2 { max-width: 30ch; }

/* ------------------------------------------------------------
   Pages de contenu
   ------------------------------------------------------------ */
.in-page { padding: 3.5rem 1.25rem 5rem; min-height: 55vh; }
.in-page h1 { margin-bottom: 1.5rem; }

.in-ariane {
	font-size: 0.8125rem;
	color: var(--in-pierre);
	margin-bottom: 2rem;
}
.in-ariane a { color: inherit; text-decoration: none; }
.in-ariane a:hover { color: var(--in-dore-sombre); }
.in-ariane [aria-current] { color: var(--in-anthracite); }

.in-404 { padding: 7rem 1.25rem; }

/* ------------------------------------------------------------
   Grille articles (blog)
   ------------------------------------------------------------ */
.in-grille-articles { gap: 2rem; }
.in-carte-article {
	background: var(--in-blanc);
	border: 1px solid #e3e0d8;
	padding: 0;
}
.in-carte-article .wp-block-post-title { padding: 1rem 1.25rem 0; font-size: 1.25rem; }
.in-carte-article .wp-block-post-title a { color: var(--in-noir); text-decoration: none; }
.in-carte-article .wp-block-post-title a:hover { color: var(--in-dore-sombre); }
.in-carte-article .wp-block-post-excerpt { padding: 0.25rem 1.25rem 1.25rem; font-size: 0.9375rem; color: #4c4e53; }
.in-carte-article img { display: block; width: 100%; height: auto; }

/* ------------------------------------------------------------
   FAQ (accordéon <details>)
   ------------------------------------------------------------ */
.in-faq { margin: 2rem 0; }
.in-faq__item {
	border-bottom: 1px solid color-mix(in srgb, var(--in-dore-sombre) 40%, transparent);
}
.in-faq__q {
	cursor: pointer;
	list-style: none;
	padding: 1.1rem 2.5rem 1.1rem 0;
	font-family: var(--wp--preset--font-family--fraunces, Georgia, serif);
	font-size: 1.1875rem;
	position: relative;
}
.in-faq__q::-webkit-details-marker { display: none; }
.in-faq__q::after {
	content: "+";
	position: absolute;
	right: 0.25rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--in-dore-sombre);
	font-size: 1.4rem;
	line-height: 1;
	transition: transform var(--in-transition);
}
.in-faq__item[open] .in-faq__q::after { content: "–"; }
.in-faq__r { padding: 0 0 1.25rem; max-width: 62ch; }

/* ------------------------------------------------------------
   Formulaires
   ------------------------------------------------------------ */
.in-form { margin: 2.5rem 0; }
.in-form fieldset {
	border: 1px solid color-mix(in srgb, var(--in-dore-sombre) 45%, transparent);
	padding: 1.75rem;
	margin: 0 0 2rem;
}
.in-form legend {
	padding: 0 0.75rem;
	font-family: var(--wp--preset--font-family--fraunces, Georgia, serif);
	font-size: 1.25rem;
}
.in-form__grille {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.1rem 1.5rem;
}
.in-champ { margin: 0; display: flex; flex-direction: column; gap: 0.35rem; }
.in-champ--large { grid-column: 1 / -1; }
.in-champ label { font-size: 0.875rem; font-weight: 500; letter-spacing: 0.02em; }

.in-form input:not([type="hidden"]),
.in-form select,
.in-form textarea {
	width: 100%;
	background: var(--in-blanc);
	border: 1px solid #c9c5ba;
	border-radius: 0;
	padding: 0.7rem 0.85rem;
	font: inherit;
	color: var(--in-anthracite);
	transition: border-color var(--in-transition);
}
.in-form input:focus,
.in-form select:focus,
.in-form textarea:focus {
	border-color: var(--in-dore-sombre);
	outline: 2px solid var(--in-dore);
	outline-offset: 0;
}
.in-form input[aria-invalid="true"],
.in-form select[aria-invalid="true"] { border-color: #a33a2e; }

.in-form__rgpd { font-size: 0.8125rem; color: #6b6d72; max-width: 60ch; }
.in-form__envoi { margin-top: 1rem; }

/* Honeypot : hors écran, invisible pour les humains. */
.in-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px; height: 1px;
	overflow: hidden;
}

/* ------------------------------------------------------------
   Alertes
   ------------------------------------------------------------ */
.in-alerte {
	padding: 1rem 1.25rem;
	margin: 1.5rem 0;
	border-left: 3px solid;
	font-size: 0.9688rem;
}
.in-alerte--ok     { border-color: #4c7a4c; background: #eaf2ea; color: #274427; }
.in-alerte--erreur { border-color: #a33a2e; background: #f7ebe9; color: #5c1f17; }

/* ------------------------------------------------------------
   NAP / pied de page
   ------------------------------------------------------------ */
footer.in-footer {
	padding: 3.5rem 1.25rem 2rem;
	background: var(--in-noir);
}
footer.in-footer hr.in-lisere { margin-top: 0; }
.in-footer__colonnes { gap: 2.5rem; }
.in-footer h2 { font-size: 1.1875rem; margin-bottom: 1rem; }

.in-nap { font-style: normal; line-height: 1.9; color: var(--in-pierre); }
.in-nap strong { color: var(--in-craie); }
.in-nap a { color: var(--in-craie); text-decoration: none; }
.in-nap a:hover { color: var(--in-dore); }
.in-nap__horaires, .in-nap__registre { font-size: 0.875rem; }

.in-footer__liens { list-style: none; padding: 0; margin: 0; }
.in-footer__liens li { margin-bottom: 0.6rem; }
.in-footer__liens a {
	color: var(--in-pierre);
	text-decoration: none;
	font-size: 0.9375rem;
	transition: color var(--in-transition);
}
.in-footer__liens a:hover { color: var(--in-dore); }

.in-footer__bas {
	margin-top: 3rem;
	padding-top: 1.25rem;
	border-top: 1px solid #26282d;
	color: #5c5e63;
}

/* ------------------------------------------------------------
   Badges de statut (admin + espace pro)
   ------------------------------------------------------------ */
.in-badge {
	display: inline-block;
	padding: 0.15rem 0.6rem;
	font-size: 0.75rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	border: 1px solid currentColor;
}
.in-badge--nouvelle,
.in-badge--brouillon  { color: #8B8E94; }
.in-badge--envoye     { color: #2e5e8f; }
.in-badge--confirmée,
.in-badge--accepte    { color: #4c7a4c; }
.in-badge--terminée   { color: #9A7F47; }
.in-badge--refuse,
.in-badge--annulée    { color: #a33a2e; }
.in-badge--expire     { color: #6b6d72; }

/* ------------------------------------------------------------
   Responsive
   ------------------------------------------------------------ */
/* Tablette : resserrer la barre de navigation inline. */
@media (max-width: 900px) {
	.in-header__bar { gap: 1rem; }
	.in-nav .wp-block-navigation__container { gap: 0.25rem 0.9rem; }
	.in-nav a { font-size: 0.875rem; }
}

@media (max-width: 781px) {
	.in-section { padding: 3rem 1.25rem; }
	.in-hero { padding-top: 2.5rem; }
	.in-hero__grille { gap: 1.5rem; }
	.in-form__grille { grid-template-columns: 1fr; }
	.in-galerie { columns: 2; }
	.in-prestige__grille { gap: 1.75rem; }

	/* Photo hero : éviter une image démesurément haute une fois empilée. */
	.in-hero__photo img { max-height: 58vh; object-fit: cover; }

	/* En-tête compact : logo resserré, CTA « Réserver » CONSERVÉ (plus masqué). */
	.in-logo a { font-size: 0.9rem; letter-spacing: 0.14em; }
	.in-header__cta { display: block; flex: 0 0 auto; }
	.in-header__cta .wp-block-button__link {
		padding: 0.5rem 1rem;
		font-size: 0.85rem;
		white-space: nowrap; /* « Réserver » ne se coupe plus en 2 lignes */
	}
}

/* Passage en menu « burger » (breakpoint du bloc Navigation = 600px) :
   on aligne LOGO à gauche, puis [Réserver] [☰] à droite. */
@media (max-width: 600px) {
	.in-header__bar { gap: 0.6rem; justify-content: flex-start; }
	.in-logo { margin-right: auto; }         /* LOGO à gauche, puis [Réserver] [☰] à droite */
	.in-header__cta { order: 2; }
	.in-nav { order: 3; }

	/* Logo en wordmark compact sur 1–2 lignes propres (jamais tronqué). */
	.in-logo a {
		white-space: normal;
		display: inline-block;
		line-height: 1.05;
		font-size: 0.82rem;
		letter-spacing: 0.1em;
	}
}

@media (max-width: 480px) {
	.in-section, .in-hero, .in-page, .in-404 { padding-left: 1rem; padding-right: 1rem; }
	.in-hero__faits { gap: 1.25rem; }
	.in-galerie { columns: 1; }

	/* Boutons hero pleine largeur : cibles tactiles confortables. */
	.in-hero .wp-block-buttons { gap: 0.75rem; }
	.in-hero .wp-block-button { width: 100%; }
	.in-hero .wp-block-button__link { display: block; text-align: center; }
}

@media (max-width: 380px) {
	.in-logo a { font-size: 0.8rem; letter-spacing: 0.08em; }
	.in-header__cta .wp-block-button__link { padding: 0.45rem 0.8rem; font-size: 0.8rem; }
}
