/*
Theme Name: Oboxia Child
Theme URI: https://oboxia.com/
Description: Oboxia est une entreprise innovante spécialisée dans les solutions phygitales : création web, vidéosurveillance, infographie, gestion documentaire (GED) et stockage hybride via sa box connectée OBOX.
Author: Oboxia
Author URI: https://oboxia.com/
Template: hello-elementor
Version: 1.0.3
Text Domain: oboxia-child
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: agence, digital, agence-web, phygital, GED, vidéosurveillance
*/

/*
    CSS PERSONNALISÉ
*/

/*
 * Keep the home-page copy clear of the floating social links on compact
 * desktop screens. Wider screens already have enough breathing room.
 */
@media (min-width: 1025px) and (max-width: 1400px) {
	.elementor-element-358e618,
	.elementor-element-7bc5534 {
		padding-right: 80px;
	}

	.elementor-element-42b8243 {
		padding-right: 80px;
	}
}

/* Uniform portrait frames on the team page. */
.page-id-24 .elementor-element-c74c9e8 .elementor-widget-image img {
	display: block;
	width: 100%;
	height: 500px;
	object-fit: cover;
	object-position: center top;
}

/* Keep every team-card action row 40px above the bottom edge. */
.page-id-24 .elementor-element-c74c9e8 > .e-con-inner > .e-con {
	display: flex;
	flex-direction: column;
	flex: 0 1 500px;
	width: 500px;
	max-width: 100%;
	box-sizing: border-box;
}

.page-id-24 .elementor-element-c74c9e8 > .e-con-inner {
	justify-content: center;
}

.page-id-24 .elementor-element-c74c9e8 > .e-con-inner > .e-con > .e-con:last-child {
	flex: 1 1 auto;
	width: 100%;
	padding-right: 0 !important;
	padding-bottom: 40px !important;
	padding-left: 0 !important;
}

.page-id-24 .elementor-element-c74c9e8 > .e-con-inner > .e-con > .e-con:last-child > .elementor-widget-text-editor {
	align-self: stretch;
	width: 100% !important;
	max-width: 100% !important;
	padding-right: 15px;
	padding-left: 15px;
	box-sizing: border-box;
}

.page-id-24 .elementor-element-c74c9e8 > .e-con-inner > .e-con > .e-con:last-child > .elementor-widget-text-editor > .elementor-widget-container {
	width: 100%;
}

.page-id-24 .elementor-element-c74c9e8 > .e-con-inner > .e-con > .e-con:last-child > .e-con:last-child {
	margin-top: auto;
}

/* Keep icons and labels centered on one line inside every team button. */
.page-id-24 .elementor-element-c74c9e8 .elementor-button {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-right: 15px;
	padding-left: 15px;
}

.page-id-24 .elementor-element-c74c9e8 .elementor-button-content-wrapper {
	width: 100%;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	white-space: nowrap;
}

.page-id-24 .elementor-element-c74c9e8 .elementor-button-icon,
.page-id-24 .elementor-element-c74c9e8 .elementor-button-text {
	flex: 0 0 auto;
}

/* Weekly class timetable on the “Cours & ateliers” page. */
.page-id-26 .naturo-planning-container {
	width: 100%;
	max-width: 1240px;
	margin-right: auto;
	margin-left: auto;
}

.page-id-26 .naturo-planning-container .mptt-menu {
	display: none !important;
}

.page-id-26 .naturo-planning-container .mptt-shortcode-wrapper {
	overflow: hidden;
	padding: 18px;
	border: 1px solid rgba(169, 142, 126, 0.55);
	border-radius: 24px;
	background:
		linear-gradient(rgba(170, 187, 174, 0.97), rgba(170, 187, 174, 0.97)),
		linear-gradient(135deg, transparent 45%, rgba(255, 255, 255, 0.08) 45%, rgba(255, 255, 255, 0.08) 55%, transparent 55%);
	box-shadow: 0 14px 35px rgba(70, 83, 77, 0.12);
}

.page-id-26 .naturo-planning-container .mptt-shortcode-table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: separate;
	border-spacing: 7px 5px;
	background: transparent;
}

.page-id-26 .naturo-planning-container .mptt-shortcode-table thead th {
	padding: 11px 6px;
	border: 2px solid rgba(169, 142, 126, 0.86);
	border-radius: 999px;
	background: #fffdf9;
	color: #46534d;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.1;
	text-align: center;
	text-transform: uppercase;
}

.page-id-26 .naturo-planning-container .mptt-shortcode-table tbody td,
.page-id-26 .naturo-planning-container .mptt-shortcode-table tbody tr:nth-child(odd) td,
.page-id-26 .naturo-planning-container .mptt-shortcode-table tbody tr:nth-child(even) td {
	padding: 0;
	border: 0;
	background: transparent !important;
}

.page-id-26 .naturo-planning-container .mptt-shortcode-table .mptt-event-container {
	top: 3px !important;
	left: 3px;
	width: calc(100% - 6px);
	height: calc(100% - 6px) !important;
	min-height: 0;
	overflow: hidden;
	border: 2px solid rgba(169, 142, 126, 0.78);
	border-radius: 18px;
	box-sizing: border-box;
	box-shadow: 0 2px 0 rgba(70, 83, 77, 0.1);
}

.page-id-26 .naturo-planning-container .mptt-inner-event-content {
	display: flex;
	height: 100%;
	padding: 7px 5px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

.page-id-26 .naturo-planning-container .mptt-event-container .event-title {
	margin: 0 0 4px;
	color: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.15;
	text-transform: uppercase;
}

.page-id-26 .naturo-planning-container .mptt-event-container .timeslot,
.page-id-26 .naturo-planning-container .mptt-event-container .event-subtitle {
	margin: 1px 0 0;
	color: inherit;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.15;
}

.page-id-26 .naturo-planning-container .mptt-shortcode-list {
	margin: 0;
}

@media (max-width: 767px) {
	.page-id-26 .naturo-planning-container .mptt-shortcode-wrapper {
		padding: 14px;
		border-radius: 18px;
	}

	.page-id-26 .naturo-planning-container .mptt-shortcode-list .mptt-column {
		margin: 0 0 22px;
	}

	.page-id-26 .naturo-planning-container .mptt-shortcode-list .mptt-column-title {
		display: block;
		margin: 0 0 10px;
		padding: 10px 14px;
		border: 2px solid rgba(169, 142, 126, 0.86);
		border-radius: 999px;
		background: #fffdf9;
		color: #46534d;
		font-size: 15px;
		font-weight: 700;
		text-align: center;
		text-transform: uppercase;
	}

	.page-id-26 .naturo-planning-container .mptt-shortcode-list .mptt-events-list {
		display: grid;
		gap: 10px;
		margin: 0;
	}

	.page-id-26 .naturo-planning-container .mptt-shortcode-list .mptt-list-event {
		margin: 0;
		padding: 13px 15px;
		border-radius: 12px;
		background: rgba(255, 253, 249, 0.96);
		box-shadow: 0 4px 12px rgba(70, 83, 77, 0.1);
	}

	.page-id-26 .naturo-planning-container .mptt-shortcode-list .mptt-event-title,
	.page-id-26 .naturo-planning-container .mptt-shortcode-list .timeslot,
	.page-id-26 .naturo-planning-container .mptt-shortcode-list .event-subtitle {
		color: #46534d;
	}
}

/* Page Soins et pratiques : prestations issues du document client */
.page-id-28 .soins-praticien-heading {
	max-width: 1265px;
	margin-right: auto;
	margin-left: auto;
}

.page-id-28 .soins-praticien-heading .elementor-heading-title {
	line-height: 1.2;
	font-weight: 400;
}

.page-id-28 .soins-praticien-heading .elementor-heading-title strong {
	font-weight: 700;
}

.page-id-28 .soins-praticien-heading .elementor-widget-text-editor {
	max-width: 850px;
	margin-right: auto;
	margin-left: auto;
}

.page-id-28 .soins-document-card .elementor-widget-text-editor p,
.page-id-28 .soins-document-card .elementor-widget-text-editor li {
	line-height: 1.65;
}

.page-id-28 .soins-document-card .elementor-widget-text-editor h4 {
	margin: 28px 0 10px;
	color: var(--e-global-color-primary, #bda291);
	font-size: 23px;
	line-height: 1.3;
}

.page-id-28 .nbe-service-actions {
	display: flex;
	width: 100%;
	gap: 20px;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}

.page-id-28 .nbe-service-action {
	display: inline-flex;
	min-width: 230px;
	min-height: 48px;
	padding: 11px 20px;
	gap: 10px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.9);
	border-radius: 8px;
	background: var(--e-global-color-primary, #bda291);
	box-shadow: 0 2px 5px rgba(73, 55, 44, 0.12);
	color: #fff !important;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	transition: transform 0.2s ease, filter 0.2s ease;
}

.page-id-28 .nbe-service-action--phone {
	background: #c5a795;
}

.page-id-28 .nbe-service-action::before {
	color: #fff;
	font-family: Arial, sans-serif;
	font-size: 18px;
	line-height: 1;
}

.page-id-28 .nbe-service-action--booking::before {
	content: "\2197";
}

.page-id-28 .nbe-service-action--phone::before {
	content: "\260E";
}

.page-id-28 .nbe-service-action:hover,
.page-id-28 .nbe-service-action:focus-visible {
	filter: brightness(0.93);
	transform: translateY(-1px);
}

.page-id-28 .nbe-service-action span:last-child {
	white-space: nowrap;
}

@media (max-width: 767px) {
	.page-id-28 .soins-praticien-heading {
		margin-top: 28px !important;
		margin-bottom: 10px !important;
	}

	.page-id-28 .soins-document-card .elementor-widget-text-editor h4 {
		font-size: 20px;
	}

	.page-id-28 .nbe-service-actions {
		gap: 12px;
		flex-direction: column;
	}

	.page-id-28 .nbe-service-action {
		width: 100%;
		min-width: 0;
		font-size: 16px;
	}
}

/* Page Cours et ateliers : prestations issues du document client */
.page-id-26 .cours-praticien-heading .elementor-heading-title {
	line-height: 1.2;
	font-weight: 400;
}

.page-id-26 .cours-praticien-heading .elementor-heading-title strong {
	font-weight: 700;
}

.page-id-26 .cours-document-card .elementor-widget-text-editor p,
.page-id-26 .cours-document-card .elementor-widget-text-editor li {
	line-height: 1.65;
}

.page-id-26 .cours-document-card .elementor-widget-text-editor h4 {
	margin: 28px 0 10px;
	color: var(--e-global-color-secondary, #7fbaa0);
	font-size: 23px;
	line-height: 1.3;
}

.page-id-26 .nbe-course-actions {
	display: flex;
	width: 100%;
	gap: 20px;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}

.page-id-26 .nbe-course-action {
	display: inline-flex;
	min-width: 230px;
	min-height: 48px;
	padding: 11px 20px;
	gap: 10px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.9);
	border-radius: 8px;
	background: var(--e-global-color-secondary, #7fbaa0);
	box-shadow: 0 2px 5px rgba(55, 91, 75, 0.14);
	color: #fff !important;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	transition: transform 0.2s ease, filter 0.2s ease;
}

.page-id-26 .nbe-course-action::before {
	color: #fff;
	font-family: Arial, sans-serif;
	font-size: 18px;
	line-height: 1;
}

.page-id-26 .nbe-course-action--booking::before {
	content: "\2197";
}

.page-id-26 .nbe-course-action--phone::before {
	content: "\260E";
}

.page-id-26 .nbe-course-action--email::before {
	content: "@";
}

.page-id-26 .nbe-course-action:hover,
.page-id-26 .nbe-course-action:focus-visible {
	filter: brightness(0.93);
	transform: translateY(-1px);
}

.page-id-26 .nbe-course-action span:last-child {
	white-space: nowrap;
}

/* Correspondance visuelle avec les thèmes du planning hebdomadaire */
.page-id-26 .course-theme-natha {
	--nbe-course-theme: #f3d982;
}

.page-id-26 .course-theme-yoga {
	--nbe-course-theme: #f2d6b3;
}

.page-id-26 .course-theme-snoezelen {
	--nbe-course-theme: #a8ddd5;
}

.page-id-26 .course-theme-voyage {
	--nbe-course-theme: #cbb9e5;
}

.page-id-26 .course-theme-salsa,
.page-id-26 .course-theme-dance {
	--nbe-course-theme: #f2c287;
}

.page-id-26 .course-theme-bachata {
	--nbe-course-theme: #e8b7c8;
}

.page-id-26 .course-theme-seniors {
	--nbe-course-theme: #e9aaa5;
}

.page-id-26 .course-theme-cross {
	--nbe-course-theme: #e5a39d;
}

.page-id-26 .course-theme-surface,
.page-id-26 [class*="course-theme-"] .nbe-course-action {
	background-color: var(--nbe-course-theme) !important;
}

.page-id-26 .course-theme-surface .elementor-heading-title,
.page-id-26 .course-theme-surface .elementor-widget-text-editor,
.page-id-26 .course-theme-surface .elementor-widget-text-editor *,
.page-id-26 .course-theme-surface .elementor-icon-list-text,
.page-id-26 [class*="course-theme-"] .nbe-course-action,
.page-id-26 [class*="course-theme-"] .nbe-course-action::before {
	color: #46534d !important;
}

.page-id-26 .course-theme-surface .elementor-icon-list-icon svg,
.page-id-26 .course-theme-surface .elementor-icon-list-icon svg * {
	fill: #46534d !important;
}

.page-id-26 .course-theme-surface .elementor-icon-list-icon img {
	filter: brightness(0) saturate(100%);
	opacity: 0.78;
}

@media (max-width: 767px) {
	.page-id-26 .cours-document-card .elementor-widget-text-editor h4 {
		font-size: 20px;
	}

	.page-id-26 .nbe-course-actions {
		gap: 12px;
		flex-direction: column;
	}

	.page-id-26 .nbe-course-action {
		width: 100%;
		min-width: 0;
		font-size: 16px;
	}
}

/* Articles du blog Natur O Bien-Être */
.single-post .nbe-blog-article {
	max-width: 920px;
	margin: 0 auto;
	padding: 30px 20px 55px;
	color: #5e554f;
	font-size: 18px;
	line-height: 1.72;
}

.single-post .nbe-blog-article h2 {
	margin: 48px 0 16px;
	color: var(--e-global-color-primary, #bda291);
	font-size: 34px;
	line-height: 1.22;
}

.single-post .nbe-blog-article h3 {
	margin: 30px 0 10px;
	color: var(--e-global-color-secondary, #7ab799);
	font-size: 24px;
	line-height: 1.3;
}

.single-post .nbe-blog-article p {
	margin: 0 0 18px;
}

.single-post .nbe-blog-article ul {
	margin: 8px 0 24px;
	padding-left: 26px;
}

.single-post .nbe-blog-article li {
	margin-bottom: 7px;
}

@media (max-width: 767px) {
	.single-post .nbe-blog-article {
		padding: 22px 20px 42px;
		font-size: 17px;
	}

	.single-post .nbe-blog-article h2 {
		margin-top: 36px;
		font-size: 28px;
	}

	.single-post .nbe-blog-article h3 {
		font-size: 21px;
	}
}
