/**
 * Sophie Vernet Photographie — brand typography and navigation states.
 */

/* Section subtitles across the site. */
.pt-heading-subtitle {
	font-family: "footlight mt", "Footlight MT Light", Georgia, serif !important;
	font-weight: 400 !important;
}

/* Home — Services cards. */
.home.page-id-21 .elementor-widget-pt-services .pt-service-title,
.home.page-id-21 .elementor-widget-pt-services .pt-service-title a {
	font-family: "footlight bold mt", "Footlight MT", Georgia, serif !important;
	font-size: 20px !important;
	font-weight: 500 !important;
	line-height: 1.7 !important;
}

.home.page-id-21 .elementor-widget-pt-services .pt-service-text,
.home.page-id-21 .elementor-widget-pt-services .pt-service-text > div {
	font-family: Arial, Helvetica, sans-serif !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
}

.home.page-id-21 .elementor-widget-pt-services .pt-service-button .pt-button {
	font-family: Arial, Helvetica, sans-serif !important;
}

/* Home — Prestations supporting descriptions only. */
.home.page-id-21 .elementor-widget-pt-categories .subtitle {
	font-family: Arial, Helvetica, sans-serif !important;
	text-transform: lowercase !important;
}

/* Keep header contact details on one line at the desktop/tablet boundary. */
@media (min-width: 1025px) and (max-width: 1300px) {
	.elementor-64 .elementor-element-75a9a92,
	.elementor-4029 .elementor-element-7a10b0f {
		flex: 0 0 auto !important;
		width: auto !important;
		min-width: max-content;
	}

	.elementor-64 .elementor-element-75a9a92 p,
	.elementor-64 .elementor-element-75a9a92 a,
	.elementor-4029 .elementor-element-7a10b0f p,
	.elementor-4029 .elementor-element-7a10b0f a {
		margin: 0 !important;
		font-size: 16px !important;
		line-height: 1.2 !important;
		white-space: nowrap !important;
	}

	.elementor-64 .elementor-element-0843365,
	.elementor-4029 .elementor-element-c685ba3 {
		flex: 0 0 auto !important;
		width: auto !important;
	}

	.elementor-64 .elementor-element-0843365 .pt-button,
	.elementor-64 .elementor-element-0843365 .pt-button span,
	.elementor-4029 .elementor-element-c685ba3 .pt-button,
	.elementor-4029 .elementor-element-c685ba3 .pt-button span {
		width: auto !important;
		min-width: max-content;
		white-space: nowrap !important;
	}

	.elementor-64 .elementor-element-0843365 .pt-button,
	.elementor-4029 .elementor-element-c685ba3 .pt-button {
		padding-right: 24px !important;
		padding-left: 24px !important;
	}
}

/* Responsive navigation: white panel and Sophie Vernet brand blue links. */
@media (max-width: 1024px) {
	.mobile-menu-wrap .mobile-menu-inner {
		background-color: #fff !important;
	}

	.mobile-menu-wrap .mobile-menu > ul > li > a,
	.mobile-menu-wrap .mobile-menu .sub-menu a,
	.mobile-menu-wrap .mobile-menu .sub-menu-toggle {
		color: #232383 !important;
	}

	.mobile-menu-wrap .mobile-menu > ul > li > a:hover,
	.mobile-menu-wrap .mobile-menu > ul > li > a:focus-visible,
	.mobile-menu-wrap .mobile-menu .sub-menu a:hover,
	.mobile-menu-wrap .mobile-menu .sub-menu a:focus-visible {
		color: #e2b263 !important;
	}
}

/* Align the location pin with the first address line in the footer. */
footer a[href*="google.com/maps"] .elementor-icon-list-icon {
	align-self: flex-start !important;
}

/* Keep the mobile address block aligned with the other contact icons. */
@media (max-width: 767px) {
	footer a[href*="google.com/maps"] {
		width: min(303px, 100%) !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}
}

/* Global back-to-top button. */
.sv-back-to-top {
	position: fixed;
	right: 24px;
	bottom: 88px;
	z-index: 998;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.7);
	border-radius: 50%;
	background: #232383;
	box-shadow: 0 8px 24px rgba(18, 18, 74, 0.24);
	color: #fff;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 28px;
	font-weight: 400;
	line-height: 1;
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	pointer-events: none;
	transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease, background-color 180ms ease;
}

.sv-back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

.sv-back-to-top:hover,
.sv-back-to-top:focus-visible {
	background: #e2b263;
	color: #232383;
}

.sv-back-to-top:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 3px;
}

.sv-back-to-top span {
	display: block;
	transform: translateY(-1px);
}

@media (max-width: 767px) {
	.sv-back-to-top {
		right: 16px;
		bottom: 76px;
		width: 44px;
		height: 44px;
		font-size: 25px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sv-back-to-top {
		transition: none;
	}
}

/* FAQ widgets across the site. */
.elementor-widget-pt-accordion .pt-accordion-title,
.elementor-widget-pt-accordion .pt-accordion-title span {
	font-family: "footlight mt", "Footlight MT Light", Georgia, serif !important;
	font-size: 24px !important;
	font-weight: 400 !important;
	line-height: 1.25 !important;
}

.elementor-widget-pt-accordion .pt-accordion-content {
	font-family: Arial, Helvetica, sans-serif !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 1.55 !important;
}

/* Bon Header (#64) and Second Header (#4029): hover, focus and active states. */
.elementor-64 .elementor-element-42c3e17 .site-menu > ul > li > a:hover,
.elementor-64 .elementor-element-42c3e17 .site-menu > ul > li > a:focus-visible,
.elementor-64 .elementor-element-42c3e17 .site-menu > ul > li.current-menu-item > a,
.elementor-64 .elementor-element-42c3e17 .site-menu > ul > li.current-menu-parent > a,
.elementor-64 .elementor-element-42c3e17 .site-menu > ul > li.current-menu-ancestor > a,
.elementor-64 .elementor-element-42c3e17 .site-menu > ul > li.current_page_item > a,
.elementor-4029 .elementor-element-42c3e17 .site-menu > ul > li > a:hover,
.elementor-4029 .elementor-element-42c3e17 .site-menu > ul > li > a:focus-visible,
.elementor-4029 .elementor-element-42c3e17 .site-menu > ul > li.current-menu-item > a,
.elementor-4029 .elementor-element-42c3e17 .site-menu > ul > li.current-menu-parent > a,
.elementor-4029 .elementor-element-42c3e17 .site-menu > ul > li.current-menu-ancestor > a,
.elementor-4029 .elementor-element-42c3e17 .site-menu > ul > li.current_page_item > a,
.elementor-64 .elementor-element-42c3e17 .sub-menu a:hover,
.elementor-64 .elementor-element-42c3e17 .sub-menu a:focus-visible,
.elementor-64 .elementor-element-42c3e17 .sub-menu .current-menu-item > a,
.elementor-64 .elementor-element-42c3e17 .sub-menu .current_page_item > a,
.elementor-64 .elementor-element-42c3e17 .sub-menu a[aria-current="page"],
.elementor-4029 .elementor-element-42c3e17 .sub-menu a:hover,
.elementor-4029 .elementor-element-42c3e17 .sub-menu a:focus-visible,
.elementor-4029 .elementor-element-42c3e17 .sub-menu .current-menu-item > a,
.elementor-4029 .elementor-element-42c3e17 .sub-menu .current_page_item > a,
.elementor-4029 .elementor-element-42c3e17 .sub-menu a[aria-current="page"] {
	color: #e2b263 !important;
}

@media (max-width: 1024px) {
	.elementor-widget-pt-accordion .pt-accordion-title,
	.elementor-widget-pt-accordion .pt-accordion-title span {
		font-size: 22px !important;
	}

	.elementor-widget-pt-accordion .pt-accordion-content {
		font-size: 17px !important;
	}
}
