/* ========================================
   LOGO
======================================== */

.site-logo .custom-logo-link {
	display: inline-block;
	width: 420px;
	max-width: 100%;
	height: auto;
}

.site-logo .custom-logo {
	width: 100%;
	height: auto;
}


/* ========================================
   NAVIGATION
======================================== */

.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a,
.main-navigation a:hover {
	color: #1F5B53 !important;
}


/* ========================================
   BOUTON DE CHANGEMENT DE LANGUE
======================================== */

.main-navigation .trp-language-switcher-container > a,
.main-navigation .trp-language-switcher-container > a:visited,
.main-navigation .menu-item-object-language_switcher > a,
.main-navigation .menu-item-object-language_switcher > a:visited {
	color: #202827 !important;
	background-color: transparent !important;
	border: 1px solid #1F5B53 !important;
	border-radius: 4px;
	padding: 4px 8px !important;
	margin-left: 6px;
	font-weight: 700;
	text-decoration: none !important;
	box-sizing: border-box;
}

.main-navigation .trp-language-switcher-container > a:hover,
.main-navigation .trp-language-switcher-container > a:focus,
.main-navigation .menu-item-object-language_switcher > a:hover,
.main-navigation .menu-item-object-language_switcher > a:focus {
	color: #FFFFFF !important;
	background-color: #1F5B53 !important;
	border-color: #1F5B53 !important;
}


/* ========================================
   COULEUR CHARBON DE LA MARQUE
======================================== */

.has-black-background-color,
.home .wp-block-cover__background.has-background-dim,
.home .entry-content > .wp-block-group.has-background {
	background-color: #202827 !important;
}


/* ========================================
   BOUTONS ET FORMULAIRES WORDPRESS
======================================== */

.wp-block-jetpack-contact-form button[type="submit"],
.wp-block-jetpack-contact-form .wp-block-button__link,
.contact-form button[type="submit"],
.contact-form input[type="submit"],
.search-form .search-submit {
	background-color: #1F5B53 !important;
	border-color: #1F5B53 !important;
	color: #FFFFFF !important;
}

.wp-block-jetpack-contact-form button[type="submit"]:hover,
.wp-block-jetpack-contact-form button[type="submit"]:focus,
.wp-block-jetpack-contact-form .wp-block-button__link:hover,
.wp-block-jetpack-contact-form .wp-block-button__link:focus,
.contact-form button[type="submit"]:hover,
.contact-form button[type="submit"]:focus,
.contact-form input[type="submit"]:hover,
.contact-form input[type="submit"]:focus,
.search-form .search-submit:hover,
.search-form .search-submit:focus {
	background-color: #17453F !important;
	border-color: #17453F !important;
	color: #FFFFFF !important;
}


/* ========================================
   LIENS COURRIEL ET TÉLÉPHONE
======================================== */

a[href^="mailto:"],
a[href^="tel:"] {
	color: #1F5B53 !important;
	text-decoration: underline;
}

a[href^="mailto:"]:hover,
a[href^="mailto:"]:focus,
a[href^="tel:"]:hover,
a[href^="tel:"]:focus {
	color: #17453F !important;
}


/* ========================================
   POLITIQUE DE CONFIDENTIALITÉ
======================================== */

a[href*="privacy-policy"],
a[href*="privacy-policy"]:visited {
	color: #1F5B53 !important;
	text-decoration: underline;
}

a[href*="privacy-policy"]:hover,
a[href*="privacy-policy"]:focus {
	color: #17453F !important;
}


/* ========================================
   PIED DE PAGE
======================================== */

#colophon,
.site-footer {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

#colophon .widget-area,
.site-footer .widget-area {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 32px 20px 8px !important;
	box-sizing: border-box !important;
}

#colophon .widget,
.site-footer .widget {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

#colophon .widget-area p,
.site-footer .widget-area p {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	text-align: center !important;
}

#colophon .site-info,
.site-footer .site-info {
	width: 100% !important;
	margin: 0 !important;
	padding: 12px 20px 24px !important;
	box-sizing: border-box !important;
	text-align: center !important;
}

/* Masquer le lien automatique de confidentialité en double */
#colophon .site-info .privacy-policy-link,
.site-footer .site-info .privacy-policy-link,
#colophon .site-info a[href*="privacy"],
.site-footer .site-info a[href*="privacy"] {
	display: none !important;
}


/* ========================================
   VERSION ORDINATEUR
   À partir de 900 px
======================================== */

@media (min-width: 900px) {

	#masthead.site-header {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		min-height: 0 !important;
		height: auto !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		padding: 24px 6% !important;
	}

	#masthead .site-branding,
	#masthead .site-logo,
	#masthead .main-navigation {
		margin: 0 !important;
		padding: 0 !important;
	}
}


/* ========================================
   VERSION MOBILE ET TABLETTE
   Jusqu’à 899 px
======================================== */

@media (max-width: 899px) {

	/* En-tête */
	#masthead.site-header {
		min-height: 0 !important;
		height: auto !important;
		padding-top: 16px !important;
		padding-bottom: 16px !important;
	}

	/* Logo */
	#masthead .site-logo .custom-logo-link {
		width: 250px !important;
		max-width: 80vw !important;
		height: auto !important;
	}

	#masthead .site-logo .custom-logo {
		width: 100% !important;
		height: auto !important;
	}

	/* Bouton du menu mobile */
	#masthead #toggle-menu {
		width: auto !important;
		min-width: 0 !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 12px 18px !important;
		background-color: #1F5B53 !important;
		border-color: #1F5B53 !important;
		color: #FFFFFF !important;
		font-size: 18px !important;
		line-height: 1.2 !important;
		border-radius: 8px !important;
		white-space: nowrap !important;
	}

	#masthead #toggle-menu:hover,
	#masthead #toggle-menu:focus {
		background-color: #17453F !important;
		border-color: #17453F !important;
		color: #FFFFFF !important;
	}

	/* Bandeau principal */
	.wp-block-cover {
		min-height: 500px !important;
		padding: 42px 20px !important;
	}

	.wp-block-cover__inner-container {
		width: 100% !important;
		max-width: none !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box !important;
	}

	/* Titre du bandeau */
	.wp-block-cover h1 {
		width: 100% !important;
		max-width: none !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		font-size: clamp(28px, 8vw, 34px) !important;
		line-height: 1.1 !important;
		letter-spacing: normal !important;
		text-align: center !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
		text-wrap: balance !important;
	}

	/* Texte du bandeau */
	.wp-block-cover p {
		max-width: 440px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		font-size: 17px !important;
		line-height: 1.5 !important;
		text-align: center !important;
	}

	/* Titres de la page */
	main h2 {
		font-size: 34px !important;
		line-height: 1.15 !important;
		letter-spacing: normal !important;
	}

	main h3 {
		font-size: 26px !important;
		line-height: 1.2 !important;
		letter-spacing: normal !important;
	}

	/* Paragraphes */
	main p {
		font-size: 18px !important;
		line-height: 1.5 !important;
	}

	/* Boutons de la page */
	main .wp-block-button__link {
		width: auto !important;
		padding: 14px 22px !important;
		font-size: 18px !important;
		line-height: 1.2 !important;
		white-space: nowrap !important;
	}

	/* Page À propos */
	.hab-about {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.hab-about .wp-block-column {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.hab-about h1,
	.hab-about h2,
	.hab-about h3,
	.hab-about h4,
	.hab-about .wp-block-heading {
		font-size: clamp(28px, 7vw, 36px) !important;
		line-height: 1.15 !important;
		letter-spacing: normal !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
	}

	.hab-about p {
		font-size: 18px !important;
		line-height: 1.55 !important;
	}

	.hab-about img {
		width: 280px !important;
		max-width: 100% !important;
		height: auto !important;
	}

	/* Pied de page mobile */
	.site-footer,
	.site-footer p,
	.site-footer a,
	footer p,
	footer a {
		font-size: 16px !important;
		line-height: 1.5 !important;
	}
}


/* ========================================
   SERVICES — GRANDS ÉCRANS
   À partir de 1100 px
======================================== */

@media (min-width: 1100px) {

	.home .entry-content > .wp-block-columns.alignwide {
		width: calc(100% - 64px) !important;
		max-width: 1200px !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
}


/* ========================================
   POLITIQUE — PIED DE PAGE MOBILE
   Jusqu’à 600 px
======================================== */

@media (max-width: 600px) {

	#colophon .widget-area a[href*="privacy-policy"],
	.site-footer .widget-area a[href*="privacy-policy"] {
		display: block !important;
		width: max-content !important;
		max-width: 100% !important;
		margin: 4px auto 0 !important;
		white-space: nowrap !important;
	}
}


/* ========================================
   LANGUE VISIBLE À CÔTÉ DU MENU MOBILE
   Jusqu’à 559 px
======================================== */

@media (max-width: 559px) {

	/* Aligner EN/FR à gauche du bouton Menu */
	#masthead #site-navigation.main-navigation {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		column-gap: 8px !important;
	}

	#masthead #site-navigation.main-navigation #toggle-menu {
		order: 2 !important;
	}

	/*
	 * Lorsque le menu est fermé, conserver seulement
	 * le sélecteur de langue visible.
	 */
	#masthead #site-navigation.main-navigation
	#toggle:not(:checked) ~ div:not(.woocommerce-menu-container) {
		display: block !important;
		position: static !important;
		order: 1 !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		z-index: auto !important;
		width: auto !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
		background: transparent !important;
		white-space: normal !important;
	}

	#masthead #site-navigation.main-navigation
	#toggle:not(:checked) ~ div:not(.woocommerce-menu-container) > ul {
		display: flex !important;
		align-items: center !important;
		flex-wrap: nowrap !important;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	/* Masquer les pages ordinaires lorsque le menu est fermé */
	#masthead #site-navigation.main-navigation
	#toggle:not(:checked) ~ div:not(.woocommerce-menu-container) > ul > li {
		display: none !important;
	}

	/* Afficher uniquement EN ou FR */
	#masthead #site-navigation.main-navigation
	#toggle:not(:checked) ~ div:not(.woocommerce-menu-container)
	> ul > li.trp-language-switcher-container,

	#masthead #site-navigation.main-navigation
	#toggle:not(:checked) ~ div:not(.woocommerce-menu-container)
	> ul > li.menu-item-object-language_switcher {
		display: block !important;
		position: relative !important;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	/* Apparence du petit bouton EN/FR */
	#masthead #site-navigation.main-navigation
	#toggle:not(:checked) ~ div:not(.woocommerce-menu-container)
	> ul > li.trp-language-switcher-container > a,

	#masthead #site-navigation.main-navigation
	#toggle:not(:checked) ~ div:not(.woocommerce-menu-container)
	> ul > li.menu-item-object-language_switcher > a {
		width: auto !important;
		margin: 0 !important;
		padding: 11px 14px !important;
		border-radius: 8px !important;
		font-size: 18px !important;
		line-height: 1.2 !important;
		white-space: nowrap !important;
	}

	/* Ne pas répéter EN/FR dans le panneau du menu ouvert */
	#masthead #site-navigation.main-navigation
	#toggle:checked ~ div:not(.woocommerce-menu-container)
	> ul > li.trp-language-switcher-container,

	#masthead #site-navigation.main-navigation
	#toggle:checked ~ div:not(.woocommerce-menu-container)
	> ul > li.menu-item-object-language_switcher {
		display: none !important;
	}
}