/*
 * Thème Ochanta : base neutre. Couleurs et typographies viennent des réglages globaux
 * d'Elementor (--e-global-*), sinon de ceux d'un ancien site The7 (--the7-*) ;
 * les pages Elementor ne sont pas touchées.
 */

:root {
	--och-text: var(--e-global-color-text, var(--the7-base-color, #2b2b2b));
	--och-heading: var(--e-global-color-primary, var(--the7-title-color, #111));
	--och-accent: var(--e-global-color-accent, var(--the7-accent-color, #c19d56));
	--och-border: rgba(0, 0, 0, .1);
	--och-width: 1140px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	background: #fff;
	color: var(--och-text);
	font-family: var(--e-global-typography-text-font-family, var(--the7-base-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif)), sans-serif;
	font-size: var(--the7-base-font-size, 16px);
	line-height: var(--the7-base-line-height, 1.6);
}

img,
video,
iframe,
embed,
object {
	max-width: 100%;
}

img {
	height: auto;
}

a {
	color: var(--och-accent);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 .6em;
	color: var(--och-heading);
	font-family: var(--e-global-typography-primary-font-family, inherit), sans-serif;
	line-height: 1.2;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.skip-link:focus {
	top: 8px;
	left: 8px;
	z-index: 100000;
	width: auto;
	height: auto;
	padding: 12px 18px;
	clip: auto;
	background: #fff;
	color: #111;
}

/* Mise en page de secours (sans modèle du Theme Builder) */
.och-container {
	width: 100%;
	max-width: var(--och-width);
	margin: 0 auto;
	padding: 0 20px;
}

.och-narrow {
	max-width: 800px;
}

.och-main {
	min-height: 50vh;
}

.och-main > .och-container,
.och-main > article.och-container {
	padding-top: 56px;
	padding-bottom: 56px;
}

.och-title {
	font-size: clamp(30px, 4vw, 44px);
}

.och-meta {
	margin-top: -.4em;
	opacity: .7;
}

.och-thumbnail {
	margin: 0 0 28px;
}

.och-content::after {
	display: table;
	clear: both;
	content: "";
}

.och-button {
	display: inline-block;
	padding: 12px 24px;
	border-radius: 999px;
	background: var(--och-accent);
	color: #fff;
	font-weight: 600;
	text-decoration: none;
}

.och-header {
	border-bottom: 1px solid var(--och-border);
}

.och-header__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 80px;
}

.och-header__title {
	color: var(--och-heading);
	font-size: 22px;
	font-weight: 700;
	text-decoration: none;
}

.custom-logo {
	display: block;
	max-height: 60px;
	width: auto;
}

.och-header__nav ul,
.och-footer ul {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.och-header__nav .sub-menu {
	display: none;
}

.och-header__nav a,
.och-footer a {
	color: var(--och-heading);
	text-decoration: none;
}

.och-header__nav .current-menu-item > a,
.och-header__nav a:hover {
	color: var(--och-accent);
}

.och-footer {
	padding: 28px 0;
	border-top: 1px solid var(--och-border);
	font-size: 14px;
}

.och-footer__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.och-footer p {
	margin: 0;
}

.och-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 32px;
	margin-bottom: 40px;
}

.och-card__image img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: 6px;
}

.och-card__title {
	margin-top: 16px;
	font-size: 21px;
}

.och-card__title a {
	color: inherit;
	text-decoration: none;
}

.nav-links {
	display: flex;
	gap: 10px;
}

.och-comments {
	margin-top: 48px;
	padding-top: 32px;
	border-top: 1px solid var(--och-border);
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="password"],
textarea {
	max-width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--och-border);
	border-radius: 4px;
	font: inherit;
}

@media (max-width: 600px) {
	.och-header__inner {
		padding-top: 14px;
		padding-bottom: 14px;
	}
}

/* Elementor : un conteneur imbriqué dont la largeur fixe (en px) est définie pour ordinateur portable se répercute sur tablette et mobile
   et élargit toute la page. Sur ces écrans, il ne dépasse jamais son parent. */
@media (max-width: 1024px) {
	.elementor .e-con.e-child,
	.elementor .e-con.e-con-full {
		max-width: 100%;
		min-width: 0;
	}
}
