/*
 Theme Name:   Twenty Seventeen Child
 Theme URI:    https://example.com/twentyseventeen-child
 Description:  Theme enfant de Twenty Seventeen
 Author:       Nicolas Riviere
 Author URI:   https://example.com
 Template:     twentyseventeen
 Version:      1.6.0
 Text Domain:  twentyseventeen-child
*/

/* ===== Typography ===== */

h1, .wp-block-heading:where(h1) {
	font-size: 55px !important;
}

/* ===== Buttons ===== */

.wp-block-button .wp-block-button__link,
.wp-element-button.wp-block-button__link {
	display: inline-flex !important;
}

/* -- CTA avec icône -- */

.hero-btn-primary .wp-block-button__link,
.image-text-btn .wp-block-button__link,
.cta-btn .wp-block-button__link,
#masthead.custom-header-mb .main-navigation li.menu-reservation > a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.hero-btn-primary .wp-block-button__link::after,
.image-text-btn .wp-block-button__link::after,
.cta-btn .wp-block-button__link::after,
#masthead.custom-header-mb .main-navigation li.menu-reservation > a::after {
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.25 10C1.25 5.16176 5.16176 1.25 10 1.25C14.8382 1.25 18.75 5.16176 18.75 10C18.75 14.8382 14.8382 18.75 10 18.75C5.16176 18.75 1.25 14.8382 1.25 10Z' fill='%23E9C56B'/%3E%3Cpath d='M11.8902 12.8849L11.8902 8.18975L7.19498 8.18975L7.19498 7.39779H12.6821L12.6821 12.8849H11.8902Z' fill='black'/%3E%3Cpath d='M12.0033 7.51093L12.569 8.07661L7.76067 12.8849L7.19498 12.3193L12.0033 7.51093Z' fill='black'/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
}

/* ===== Header ===== */

#masthead.site-header.custom-header-mb {
	background-color: var(--wp--preset--color--tertiary);
	border-radius: 0 0 10px 10px;
	overflow: hidden;
	padding-bottom: 20px;
	max-width: calc(100% - 80px);
	margin: 0 auto;
}

/* Header fixed sur la home */
.home #masthead.site-header.custom-header-mb {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
}

/* -- Top bar (email + phone) -- */

.custom-header-mb .header-top-bar {
	background-color: #2d120d;
	padding: 10px 24px;
}

.custom-header-mb .header-top-bar-inner {
	display: flex;
	gap: 24px;
	justify-content: flex-end;
	align-items: center;
}

.custom-header-mb .header-contact-item {
	display: flex;
	gap: 8px;
	align-items: center;
	text-decoration: none;
}

.custom-header-mb .header-contact-item span {
	font-family: 'Inter Display', 'Inter', sans-serif;
	font-weight: 500;
	font-size: 13px;
	color: var(--wp--preset--color--primary);
	opacity: 0.8;
	line-height: normal;
}

.custom-header-mb .header-contact-item:hover span,
.custom-header-mb .header-contact-item:focus span {
	opacity: 1;
}

.custom-header-mb .header-contact-item svg {
	flex-shrink: 0;
}

/* -- Logo (positionne sur toute la hauteur du header) -- */

.custom-header-mb .header-logo {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	z-index: 4;
	width: 154px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #fefaf6;
}

.custom-header-mb .header-logo a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 0;
	box-sizing: border-box;
}

.custom-header-mb .header-logo img {
	display: block;
	max-width: calc(100% - 20px);
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}

/* -- Override parent .navigation-top -- */

#masthead.custom-header-mb .navigation-top {
	background: transparent;
	border: none;
	border-top: none;
	border-bottom: none;
	box-shadow: none;
	position: static;
	font-size: 15px;
	width: auto;
	z-index: auto;
	padding: 20px 24px 0;
}

#masthead.custom-header-mb .navigation-top .wrap {
	max-width: none;
	padding: 0;
	display: flex;
	justify-content: flex-end;
}

#masthead.custom-header-mb .navigation-top nav {
	margin-left: 0;
}

/* -- Override parent .main-navigation -- */

#masthead.custom-header-mb .main-navigation {
	width: auto;
}

.js #masthead.custom-header-mb .main-navigation ul,
#masthead.custom-header-mb .main-navigation ul,
#masthead.custom-header-mb .main-navigation > div > ul {
	background: transparent;
	border: none;
	display: flex;
	gap: 32px;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

#masthead.custom-header-mb .main-navigation li {
	border: none;
	display: inline-block;
	margin: 0;
	padding: 0;
}

#masthead.custom-header-mb .navigation-top a,
#masthead.custom-header-mb .main-navigation a {
	font-family: 'Inter Display', 'Inter', sans-serif;
	font-weight: 500;
	font-size: 15px;
	color: #fefaf6;
	opacity: 0.8;
	text-transform: uppercase;
	text-decoration: none;
	line-height: normal;
	white-space: nowrap;
	padding: 9px 0;
	display: block;
	transition: opacity 0.2s ease;
}

#masthead.custom-header-mb .main-navigation a:hover,
#masthead.custom-header-mb .main-navigation a:focus {
	color: #fefaf6;
	opacity: 1;
}

#masthead.custom-header-mb .navigation-top .current-menu-item > a,
#masthead.custom-header-mb .navigation-top .current_page_item > a,
#masthead.custom-header-mb .main-navigation .current-menu-item > a,
#masthead.custom-header-mb .main-navigation .current_page_item > a {
	color: #fefaf6;
	opacity: 1;
	border-bottom: 1px solid var(--wp--preset--color--primary);
}

/* -- Bouton Reservation (classe CSS "menu-reservation" sur l'element de menu) -- */

#masthead.custom-header-mb .main-navigation li.menu-reservation > a {
	background-color: #D9A52E;
	color: #212121;
	font-weight: 700;
	opacity: 1;
	padding: 12px 20px;
	border-radius: 4px;
	text-transform: uppercase;
	border-bottom: none;
	transition: background-color 0.2s ease;
}

#masthead.custom-header-mb .main-navigation li.menu-reservation > a:hover,
#masthead.custom-header-mb .main-navigation li.menu-reservation > a:focus {
	background-color: var(--wp--preset--color--secondary);
	color: #212121;
}

/* -- Hide parent theme elements we don't need -- */

#masthead.custom-header-mb .custom-header,
#masthead.custom-header-mb .custom-header-media {
	display: none;
}

/* -- Mobile row (logo + toggle) -- */

.header-mobile-row {
	display: none;
}

.header-logo-mobile {
	display: none;
}

/* -- Menu toggle (mobile) -- */

.js #masthead.custom-header-mb .menu-toggle {
	color: #fefaf6;
	border: 1px solid var(--wp--preset--color--primary);
	background: transparent;
	padding: 0.75em 1em;
}

/* -- Responsive -- */

@media screen and (max-width: 48em) {
	#masthead.site-header.custom-header-mb {
		max-width: 100%;
		border-radius: 0;
	}

	.custom-header-mb .header-top-bar-inner {
		flex-direction: row;
		gap: 16px;
		justify-content: flex-end;
	}

	.custom-header-mb .header-top-bar {
		padding: 8px 16px;
	}

	.custom-header-mb .header-top-bar-inner {
		gap: 12px;
		font-size: 11px;
	}

	.custom-header-mb .header-contact-item span {
		font-size: 11px;
	}

	#masthead.site-header.custom-header-mb {
		padding-bottom: 0;
	}

	.custom-header-mb .header-logo {
		position: relative;
		width: auto;
		height: auto;
		background: none;
	}

	.custom-header-mb .header-logo a {
		padding: 0;
	}

	.custom-header-mb .header-logo img {
		max-width: 50px;
		width: 50px;
	}

	.custom-header-mb .header-logo {
		display: none;
	}

	.custom-header-mb .header-mobile-row {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 10px 0;
	}

	.custom-header-mb .header-logo-mobile {
		display: block;
	}

	.custom-header-mb .header-logo-mobile img {
		width: 50px;
		height: auto;
		display: block;
	}

	.js #masthead.custom-header-mb .main-navigation ul,
	#masthead.custom-header-mb .main-navigation ul {
		flex-direction: column;
		gap: 16px;
		text-align: center;
	}

	.js #masthead.custom-header-mb .main-navigation ul {
		display: none;
	}

	.js #masthead.custom-header-mb .main-navigation.toggled-on > div > ul {
		display: flex;
		padding-bottom: 16px;
	}

	.js #masthead.custom-header-mb .menu-toggle {
		display: block;
		margin: 0;
	}

	#masthead.custom-header-mb .navigation-top {
		padding: 0 16px;
	}

	#masthead.custom-header-mb .navigation-top .wrap {
		justify-content: center;
		display: block;
	}
}

@media screen and (min-width: 48em) {
	#masthead.custom-header-mb .navigation-top {
		position: static;
		bottom: auto;
	}

	.js #masthead.custom-header-mb .menu-toggle,
	#masthead.custom-header-mb .menu-toggle {
		display: none;
	}

	.js #masthead.custom-header-mb .main-navigation ul,
	.js #masthead.custom-header-mb .main-navigation > div > ul {
		display: flex;
	}

	#masthead.custom-header-mb .main-navigation li {
		display: inline-block;
		border: none;
	}
}

/* ===== Fullwidth template ===== */

.site-main-fullwidth {
	max-width: none;
	padding: 0;
	margin: 0;
	width: 100%;
}

.site-main-fullwidth ~ *,
.site-content-contain .site-content:has(.site-main-fullwidth) {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

/* ===== Hero ===== */

.wp-block-hero {
	position: relative;
	min-height: 800px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	padding: 80px;
	overflow: hidden;
}

.wp-block-hero > .hero-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.wp-block-hero > .hero-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wp-block-hero #wp-block-hero__image {
	position: absolute;
	inset: 0;
	z-index: 0;
	margin: 0;
}

.wp-block-hero #wp-block-hero__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wp-block-hero > .hero-overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(270deg, rgba(146, 110, 74, 0) 41%, rgb(146, 110, 74) 90%),
		linear-gradient(90deg, rgba(53, 28, 23, 0.2) 0%, rgba(53, 28, 23, 0.2) 100%);
	z-index: 1;
}

/* -- Card -- */

.wp-block-hero .hero-card {
	position: relative;
	z-index: 2;
	background-color: #fbf5e4;
	border-radius: 9px;
	padding: 52px;
	max-width: 850px;
}

/* -- Rating -- */

.wp-block-hero .hero-rating {
	display: flex;
	gap: 8px;
	align-items: center;
	margin-bottom: 16px;
}

.wp-block-hero .hero-rating .hero-stars {
	display: inline-flex;
	gap: 2px;
	align-items: center;
}

.wp-block-hero .hero-rating .hero-stars svg {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}

.wp-block-hero .hero-rating .hero-rating-text {
	font-family: 'Karla', sans-serif;
	font-weight: 600;
	font-size: 16px;
	color: #151515;
	letter-spacing: -0.48px;
	line-height: normal;
}

/* -- Title -- */

.wp-block-hero .hero-card .hero-title {
	font-family: 'Lora', serif;
	font-weight: 600;
	font-size: 55px;
	color: #151515;
	line-height: normal;
	margin: 0 0 16px;
	padding: 0;
}

/* -- Description -- */

.wp-block-hero .hero-card .hero-description {
	font-family: 'Inter Display', 'Inter', sans-serif;
	font-weight: 400;
	font-size: 20px;
	color: #151515;
	opacity: 0.7;
	line-height: 1.4;
	max-width: 772px;
	margin: 0 0 16px;
}

/* -- Buttons -- */

.wp-block-hero .hero-buttons.wp-block-buttons {
	gap: 16px;
	margin-top: 8px;
}

.wp-block-hero .hero-btn-primary .wp-block-button__link {
	background-color: var(--wp--preset--color--primary);
	color: #212121;
	font-family: 'Inter Display', 'Inter', sans-serif;
	font-weight: 700;
	font-size: 15px;
	text-transform: uppercase;
	padding: 12px 20px;
	border-radius: 4px;
	line-height: normal;
	transition: background-color 0.2s ease;
	border: none;
}

.wp-block-hero .hero-btn-primary .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--secondary);
	color: #212121;
}

.wp-block-hero .hero-btn-secondary .wp-block-button__link {
	background: none;
	color: #212121;
	font-family: 'Inter Display', 'Inter', sans-serif;
	font-weight: 500;
	font-size: 15px;
	text-transform: uppercase;
	text-decoration: underline;
	letter-spacing: 0.15px;
	padding: 12px 20px;
	line-height: normal;
	border: none;
}

.wp-block-hero .hero-btn-secondary .wp-block-button__link:hover {
	opacity: 0.7;
}

@media screen and (max-width: 48em) {
	.wp-block-hero {
		padding: 80px 20px 40px;
		min-height: auto;
	}

	.wp-block-hero .hero-card {
		padding: 32px 24px;
	}

	.wp-block-hero .hero-card .hero-title {
		font-size: 32px;
	}

	.wp-block-hero .hero-card .hero-description {
		font-size: 16px;
	}

	.wp-block-hero .hero-buttons.wp-block-buttons {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* ===== Section Image/Text (Media & Text block) ===== */

.wp-block-media-text.section-image-text {
	padding: 80px;
	gap: 80px;
	align-items: center;
	max-width: none;
	grid-template-columns: 430px 1fr;
}

.wp-block-media-text.section-image-text.has-media-on-the-right {
	grid-template-columns: 1fr 430px;
}

/* -- Image -- */

.wp-block-media-text.section-image-text .wp-block-media-text__media {
	width: 430px;
	height: 430px;
	flex-shrink: 0;
}

.wp-block-media-text.section-image-text .wp-block-media-text__media img {
	border-radius: 20px;
	aspect-ratio: 1;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

/* -- Content -- */

.wp-block-media-text.section-image-text .wp-block-media-text__content {
	display: flex;
	flex-direction: column;
	gap: 0;
	justify-content: center;
	padding: 0;
}

.section-image-text .image-text-title {
	font-family: 'Lora', serif;
	font-weight: 600;
	font-size: 35px;
	color: #151515;
	line-height: normal;
	margin: 0 0 1.5em;
	padding: 0;
}

.section-image-text .image-text-description {
	font-family: 'Inter Display', 'Inter', sans-serif;
	font-weight: 400;
	font-size: 20px;
	color: #151515;
	opacity: 0.7;
	line-height: 1.4;
	margin: 0;
}

.section-image-text .image-text-btn .wp-block-button__link {
	background-color: var(--wp--preset--color--primary);
	color: #212121;
	font-family: 'Inter Display', 'Inter', sans-serif;
	font-weight: 700;
	font-size: 15px;
	text-transform: uppercase;
	padding: 12px 20px;
	border-radius: 4px;
	line-height: normal;
	transition: background-color 0.2s ease;
	border: none;
}

.section-image-text .image-text-btn .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--secondary);
	color: #212121;
}

@media screen and (max-width: 48em) {
	.wp-block-media-text.section-image-text {
		padding: 40px 20px;
		gap: 40px;
		grid-template-columns: 1fr;
	}

	.wp-block-media-text.section-image-text .wp-block-media-text__media {
		width: 100%;
		height: auto;
	}

	.section-image-text .image-text-title {
		font-size: 28px;
	}

	.section-image-text .image-text-description {
		font-size: 16px;
	}
}

/* ===== Section Reinsurances ===== */

.section-reinsurances {
	position: relative;
	background-color: #fbf5e4;
	padding: 80px;
	overflow: hidden;
}

.section-reinsurances::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: url('assets/images/reinsurances-bg.webp');
	background-size: cover;
	pointer-events: none;
}

/* -- Header row -- */

.section-reinsurances .reinsurances-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 36px;
	position: relative;
	z-index: 1;
	max-width: 1350px;
	margin-left: auto;
	margin-right: auto;
}

.section-reinsurances .reinsurances-title {
	font-family: 'Lora', serif;
	font-weight: 600;
	font-size: 35px;
	color: #151515;
	line-height: normal;
	margin: 0;
	padding: 0;
}

.section-reinsurances .reinsurances-link {
	margin: 0;
}

.section-reinsurances .reinsurances-link a {
	font-family: 'Inter Display', 'Inter', sans-serif;
	font-weight: 500;
	font-size: 15px;
	color: #212121;
	text-transform: uppercase;
	text-decoration: underline;
	letter-spacing: 0.15px;
	line-height: normal;
}

/* -- Cards -- */

.section-reinsurances .reinsurances-cards.wp-block-columns {
	gap: 20px;
	position: relative;
	z-index: 1;
	max-width: 1350px;
	margin-left: auto;
	margin-right: auto;
}

.section-reinsurances .reinsurance-card {
	background: #fff;
	border-radius: 12px;
	padding: 24px 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
	min-height: 176px;
}

.section-reinsurances .reinsurance-card .wp-block-image {
	width: 60px;
	height: 60px;
	background-color: var(--wp--preset--color--primary);
	border-radius: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin: 0;
	max-width: none;
	padding: 0;
	overflow: hidden;
}

.section-reinsurances .reinsurance-card .wp-block-image img {
	width: 40px;
	height: 40px;
	max-width: none;
	margin: 0;
	border-radius: 0;
}

.section-reinsurances .reinsurance-label {
	font-family: 'Inter Display', 'Inter', sans-serif;
	font-weight: 600;
	font-size: 20px;
	color: #171717;
	line-height: 1.3;
	text-align: center;
	margin: 0;
}

@media screen and (max-width: 48em) {
	.section-reinsurances {
		padding: 40px 20px;
	}

	.section-reinsurances .reinsurances-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}

	.section-reinsurances .reinsurances-title {
		font-size: 28px;
	}

	.section-reinsurances .reinsurances-cards.wp-block-columns {
		gap: 16px;
	}

	.section-reinsurances .reinsurance-card {
		min-height: auto;
	}

	.section-reinsurances .reinsurance-label {
		font-size: 16px;
	}
}

/* ===== Section Personas ===== */

.section-personas {
	padding: 80px;
}

.section-personas .personas-title {
	font-family: 'Lora', serif;
	font-weight: 600;
	font-size: 35px;
	color: #151515;
	line-height: normal;
	margin: 0 0 36px;
	padding: 0;
}

.section-personas .personas-cards.wp-block-columns {
	gap: 24px;
}

.section-personas .persona-card {
	padding: 0;
}

.section-personas .persona-cover.wp-block-cover {
	border-radius: 8px;
	overflow: hidden;
	min-height: 0;
	aspect-ratio: 320 / 400;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
}

.section-personas .persona-cover .wp-block-cover__background {
	display: none;
}

.section-personas .persona-cover::after {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 8px;
	background: linear-gradient(to bottom, rgba(53, 28, 23, 0) 46.5%, #351c17 90%);
	pointer-events: none;
}

.section-personas .persona-cover .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
	width: 100%;
}

.section-personas .persona-label {
	font-family: 'Inter Display', 'Inter', sans-serif;
	font-weight: 600;
	font-size: 20px;
	color: #fff;
	line-height: 1.4;
	margin: 0;
}

@media screen and (max-width: 48em) {
	.section-personas {
		padding: 40px 20px;
	}

	.section-personas .personas-title {
		font-size: 28px;
	}

	.section-personas .personas-cards.wp-block-columns {
		gap: 16px;
	}

	.section-personas .persona-cover.wp-block-cover {
		aspect-ratio: 320 / 400;
	}

	.section-personas .persona-label {
		font-size: 16px;
	}
}

/* ===== Section CTA ===== */

.section-cta {
	background-color: #fbf5e4;
	padding: 80px;
	text-align: center;
}

.section-cta .cta-title {
	font-family: 'Lora', serif;
	font-weight: 600;
	font-size: 35px;
	color: #151515;
	line-height: 1.3;
	margin: 0 auto 16px;
	padding: 0;
	max-width: 727px;
}

.section-cta .cta-description {
	font-family: 'Inter Display', 'Inter', sans-serif;
	font-weight: 400;
	font-size: 16px;
	color: #151515;
	opacity: 0.7;
	line-height: 1.4;
	margin: 0 auto 16px;
	max-width: 856px;
}

.section-cta .cta-btn .wp-block-button__link {
	background-color: var(--wp--preset--color--primary);
	color: #212121;
	font-family: 'Inter Display', 'Inter', sans-serif;
	font-weight: 700;
	font-size: 15px;
	text-transform: uppercase;
	padding: 12px 20px;
	border-radius: 4px;
	line-height: normal;
	transition: background-color 0.2s ease;
	border: none;
}

.section-cta .cta-btn .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--secondary);
	color: #212121;
}

@media screen and (max-width: 48em) {
	.section-cta {
		padding: 40px 20px;
	}

	.section-cta .cta-title {
		font-size: 28px;
	}
}

/* ===== Section Tarifs ===== */

.section-tarifs {
	background-color: #fbf5e4;
	padding: 80px;
}

.section-tarifs .tarifs-title {
	font-family: 'Lora', serif;
	font-weight: 600;
	font-size: 35px;
	color: #151515;
	line-height: normal;
	margin: 0 0 48px;
	padding: 0;
	text-align: center;
}

.section-tarifs .tarifs-category {
	max-width: 1100px;
	margin: 0 auto 48px;
}

.section-tarifs .tarifs-category:last-child {
	margin-bottom: 0;
}

.section-tarifs .tarifs-category-title {
	font-family: 'Lora', serif;
	font-weight: 600;
	font-size: 24px;
	color: #151515;
	line-height: normal;
	margin: 0 0 20px;
	padding: 0;
}

.section-tarifs .tarifs-cards.wp-block-columns {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-top: 20px;
}

.section-tarifs .tarifs-cards.wp-block-columns:first-of-type {
	margin-top: 0;
}

.section-tarifs .tarif-card {
	background: #fff;
	border-radius: 12px;
	padding: 28px 24px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.section-tarifs .tarif-card-header {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	margin: 0 0 4px;
}

.section-tarifs .tarif-card-name {
	font-family: 'Inter Display', 'Inter', sans-serif;
	font-weight: 700;
	font-size: 18px;
	color: #151515;
	line-height: normal;
	margin: 0;
}

.section-tarifs .tarif-card-price {
	font-family: 'Inter Display', 'Inter', sans-serif;
	font-weight: 700;
	font-size: 18px;
	color: var(--wp--preset--color--tertiary);
	line-height: normal;
	white-space: nowrap;
	margin: 0;
}

.section-tarifs .tarif-card-duration {
	font-family: 'Inter Display', 'Inter', sans-serif;
	font-weight: 500;
	font-size: 14px;
	color: #151515;
	opacity: 0.5;
	line-height: normal;
	margin: 0;
}

.section-tarifs .tarif-card-tagline {
	font-family: 'Inter Display', 'Inter', sans-serif;
	font-weight: 600;
	font-size: 15px;
	color: #151515;
	line-height: 1.4;
	margin: 8px 0 0;
}

.section-tarifs .tarif-card-description {
	font-family: 'Inter Display', 'Inter', sans-serif;
	font-weight: 400;
	font-size: 14px;
	color: #151515;
	opacity: 0.7;
	line-height: 1.5;
	margin: 0;
}

/* -- Full-width card (corps complet) -- */

.section-tarifs .tarif-card-full {
	background: #fff;
	border-radius: 12px;
	padding: 32px 28px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	max-width: 1100px;
	margin: 0 auto;
}

.section-tarifs .tarif-card-full .tarif-card-prices {
	display: flex;
	gap: 24px;
	margin: 4px 0;
}

.section-tarifs .tarif-card-full .tarif-card-prices p {
	font-family: 'Inter Display', 'Inter', sans-serif;
	font-weight: 700;
	font-size: 16px;
	color: var(--wp--preset--color--tertiary);
	line-height: normal;
	margin: 0;
}

@media screen and (max-width: 48em) {
	.section-tarifs {
		padding: 40px 20px;
	}

	.section-tarifs .tarifs-title {
		font-size: 28px;
		margin-bottom: 32px;
	}

	.section-tarifs .tarifs-cards.wp-block-columns {
		grid-template-columns: 1fr !important;
		gap: 16px;
	}

	.section-tarifs .tarifs-cards.wp-block-columns > .wp-block-column:empty {
		display: none;
	}

	.section-tarifs .tarif-card-header {
		flex-direction: column;
		gap: 4px;
	}
}

/* ===== Footer ===== */

.custom-footer-mb {
	padding: 32px 80px;
	border-top: 1px solid #eee;
}

.custom-footer-mb .footer-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 1280px;
	margin: 0 auto;
}

.custom-footer-mb .footer-copyright {
	font-family: 'Inter Display', 'Inter', sans-serif;
	font-weight: 400;
	font-size: 14px;
	color: #151515;
	opacity: 0.7;
	line-height: 1.4;
	margin: 0;
}

.custom-footer-mb .footer-social {
	display: flex;
	gap: 12px;
	align-items: center;
}

.custom-footer-mb .footer-social a {
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity 0.2s ease;
}

.custom-footer-mb .footer-social a:hover {
	opacity: 0.6;
}

@media screen and (max-width: 48em) {
	.custom-footer-mb {
		padding: 24px 20px;
	}

	.custom-footer-mb .footer-inner {
		flex-direction: column;
		gap: 16px;
		text-align: center;
	}
}
