.site-menu-toggle {
	display: none !important;
}

@media (max-width: 760px) {
	body.site-v2 {
		-webkit-text-size-adjust: 100%;
	}

	.site-shell {
		width: 100%;
		padding: 10px 12px 34px !important;
		overflow-x: hidden;
	}

	.site-shell > main,
	.site-shell > #conteneur_detail,
	.site-shell > .lg-cert-main,
	.site-shell > .lg-cert-page {
		width: 100% !important;
		min-width: 0 !important;
	}

	.site-topbar {
		display: flex !important;
		flex-direction: row !important;
		align-items: flex-start !important;
		justify-content: space-between !important;
		gap: 10px !important;
		min-height: 0;
		font-size: 12px !important;
		letter-spacing: 0 !important;
		text-transform: none !important;
	}

	.site-back-link {
		flex: 0 1 auto;
		white-space: nowrap;
	}

	.site-accountbar {
		flex: 1 1 auto;
		justify-content: flex-end !important;
		gap: 6px 10px !important;
		text-align: right !important;
		font-size: 12px !important;
		letter-spacing: 0 !important;
		text-transform: none !important;
	}

	.site-lang-menu {
		right: 0;
	}

	.site-brand {
		display: block !important;
		margin-top: 10px !important;
		padding: 22px 16px !important;
	}

	.site-brand h1 {
		font-size: clamp(32px, 12vw, 46px) !important;
		line-height: 1.04 !important;
		letter-spacing: 0 !important;
	}

	.site-brand p {
		max-width: none !important;
		margin-top: 10px !important;
		text-align: left !important;
		font-size: 14px !important;
		line-height: 1.45 !important;
	}

	.site-menu {
		display: none !important;
		position: fixed !important;
		z-index: 9998;
		top: calc(62px + env(safe-area-inset-top, 0px));
		left: 12px;
		right: 12px;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 8px !important;
		max-height: calc(100vh - 82px - env(safe-area-inset-top, 0px));
		margin: 0 !important;
		padding: 10px !important;
		border: 1px solid var(--site-line) !important;
		background: var(--site-card) !important;
		background: color-mix(in srgb, var(--site-card) 94%, transparent) !important;
		box-shadow: 0 18px 42px rgba(0, 0, 0, .18);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.site-nav {
		display: block !important;
		min-height: 0 !important;
		margin: 0 0 16px !important;
		position: static !important;
	}

	.site-nav.is-open .site-menu {
		display: grid !important;
	}

	.site-menu-toggle {
		position: fixed !important;
		z-index: 9999;
		top: calc(10px + env(safe-area-inset-top, 0px));
		right: 12px;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 46px;
		height: 46px;
		min-height: 46px;
		margin: 0;
		padding: 0;
		border: 1px solid var(--site-line);
		background: var(--site-card);
		color: var(--site-text);
		font: inherit;
		font-size: 14px;
		box-shadow: 0 10px 28px rgba(0, 0, 0, .18);
		cursor: pointer;
	}

	.site-menu-toggle__label {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		padding: 0;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
		border: 0;
	}

	.site-menu-toggle__icon,
	.site-menu-toggle__icon::before,
	.site-menu-toggle__icon::after {
		display: block;
		width: 18px;
		height: 2px;
		background: currentColor;
		border-radius: 999px;
		content: "";
	}

	.site-menu-toggle__icon {
		position: relative;
	}

	.site-menu-toggle__icon::before,
	.site-menu-toggle__icon::after {
		position: absolute;
		left: 0;
	}

	.site-menu-toggle__icon::before {
		top: -6px;
	}

	.site-menu-toggle__icon::after {
		top: 6px;
	}

	.site-menu li {
		min-width: 0;
	}

	.site-menu a {
		display: flex !important;
		align-items: center;
		justify-content: center;
		min-height: 38px;
		width: 100%;
		padding: 7px 5px !important;
		border: 1px solid var(--site-line) !important;
		text-align: center;
		font-size: 12px !important;
		line-height: 1.12 !important;
		letter-spacing: 0 !important;
		text-transform: none !important;
		background: var(--site-card);
	}

	.site-breadcrumb {
		margin: 0 0 14px !important;
		overflow-x: auto;
		padding-bottom: 4px;
		font-size: 12px !important;
		letter-spacing: 0 !important;
		text-transform: none !important;
		-webkit-overflow-scrolling: touch;
	}

	.site-breadcrumb ol {
		flex-wrap: nowrap !important;
		min-width: max-content;
	}

	.site-page-head {
		display: block !important;
		margin: 0 0 16px !important;
		padding: 16px !important;
		border: 1px solid var(--site-line) !important;
		background: var(--site-card);
	}

	.site-page-head h2 {
		margin: 0 !important;
		font-size: clamp(22px, 7vw, 30px) !important;
		line-height: 1.15 !important;
		letter-spacing: 0 !important;
		text-transform: none !important;
		overflow-wrap: anywhere;
	}

	.site-page-head p {
		margin: 8px 0 0 !important;
		font-size: 14px !important;
		line-height: 1.45 !important;
	}

	.site-hero {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}

	.site-hero__image {
		min-height: 0 !important;
		padding: 8px !important;
	}

	.site-hero__image a {
		height: auto !important;
	}

	.site-hero__image img {
		width: 100% !important;
		height: auto !important;
		max-height: 70vh !important;
		object-fit: contain !important;
	}

	.site-hero__image--portrait img {
		width: auto !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: 70vh !important;
	}

	.site-panel {
		padding: 18px !important;
	}

	.site-content-panel,
	.site-form-panel,
	.site-link-section,
	.site-guestbook-card,
	.site-event-card,
	.site-gallery-section {
		width: 100% !important;
		max-width: none !important;
		padding: 16px !important;
	}

	.site-panel h2 {
		margin-bottom: 12px !important;
		font-size: 22px !important;
		line-height: 1.15 !important;
		letter-spacing: 0 !important;
		text-transform: none !important;
	}

	.site-panel p {
		font-size: 14px !important;
		line-height: 1.55 !important;
	}

	.site-actions {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px !important;
		margin-top: 16px !important;
	}

	.site-button {
		min-height: 42px !important;
		width: 100%;
		padding: 7px 8px !important;
		text-align: center;
		font-size: 13px !important;
		line-height: 1.15 !important;
	}

	.site-ad--square {
		margin-top: 16px !important;
		padding-top: 14px !important;
	}

	.site-ad--inline {
		margin: 18px 0 0 !important;
		padding-top: 14px !important;
		overflow: hidden;
	}

	.site-ad ins {
		max-width: 100%;
	}

	.site-home-section {
		margin-top: 22px !important;
		padding: 16px !important;
	}

	.site-home-section-head {
		flex-direction: row !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 10px !important;
		margin-bottom: 12px !important;
		padding-bottom: 10px !important;
	}

	.site-home-section-head h2 {
		font-size: 22px !important;
		line-height: 1.1 !important;
	}

	.site-home-section-head a {
		flex: 0 0 auto;
		font-size: 12px !important;
	}

	.site-home-work-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
	}

	.site-work-card__image {
		aspect-ratio: 1 / 1 !important;
		padding: 6px !important;
	}

	.site-work-card__body {
		padding: 10px !important;
	}

	.site-work-card__body strong {
		font-size: 12px !important;
		line-height: 1.2 !important;
	}

	.site-work-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
	}

	.site-gallery-list,
	.site-event-list,
	.site-link-sections,
	.site-guestbook-messages {
		gap: 16px !important;
	}

	.site-gallery-head {
		display: block !important;
		margin-bottom: 12px !important;
	}

	.site-gallery-head > div {
		min-width: 0 !important;
	}

	.site-gallery-head h3,
	.site-link-section h3,
	.site-event-card h3,
	.site-guestbook-card h3,
	.site-guestbook-form h3 {
		font-size: 22px !important;
		line-height: 1.15 !important;
		letter-spacing: 0 !important;
		overflow-wrap: anywhere;
	}

	.site-gallery-meta {
		display: flex !important;
		flex-wrap: wrap !important;
		justify-content: flex-start !important;
		gap: 6px !important;
		margin-top: 10px !important;
	}

	.site-gallery-meta span {
		padding: 5px 8px !important;
		font-size: 12px !important;
	}

	.site-gallery-carousel {
		display: block !important;
	}

	.site-gallery-arrow {
		display: none !important;
	}

	.site-gallery-rail {
		display: flex !important;
		gap: 10px !important;
		overflow-x: auto !important;
		margin: 0 -4px !important;
		padding: 2px 4px 12px !important;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
	}

	.site-gallery-card {
		flex: 0 0 calc((100% - 10px) / 2) !important;
		min-width: 0 !important;
		max-width: calc((100% - 10px) / 2) !important;
		scroll-snap-align: start;
	}

	.site-gallery-card__image {
		aspect-ratio: 1 / 1 !important;
		padding: 6px !important;
		overflow: hidden !important;
	}

	.site-gallery-card__image img {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: contain !important;
	}

	.site-gallery-card__title {
		display: -webkit-box !important;
		min-height: 30px;
		overflow: hidden;
		font-size: 12px !important;
		line-height: 1.25 !important;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow-wrap: anywhere;
	}

	.site-gallery-empty {
		min-height: 72px !important;
	}

	.site-home-event-card {
		padding: 16px !important;
	}

	.site-event-card {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 12px !important;
	}

	.site-event-card__image {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: min(100%, 260px) !important;
		aspect-ratio: 4 / 3 !important;
		margin: 0 auto 2px !important;
		overflow: hidden !important;
		background: rgba(0, 0, 0, .04);
	}

	.site-event-card__image img {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: contain !important;
	}

	.site-event-card__body {
		min-width: 0 !important;
	}

	.site-event-card__body h3 {
		margin-bottom: 8px !important;
		overflow-wrap: anywhere;
	}

	.site-event-card p,
	.site-link-card span,
	.site-guestbook-card div,
	.site-content-panel,
	.site-presentation-text {
		font-size: 14px !important;
		line-height: 1.55 !important;
	}

	.site-event-date,
	.site-event-place {
		font-weight: 700;
	}

	.site-event-place {
		overflow-wrap: anywhere;
	}

	.site-link-card {
		display: grid !important;
		width: 100% !important;
		box-sizing: border-box !important;
		gap: 5px !important;
		padding: 12px !important;
		min-height: 50px !important;
	}

	.site-link-card strong {
		font-size: 14px !important;
		line-height: 1.25 !important;
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.site-link-card span {
		overflow-wrap: anywhere;
		word-break: normal;
	}

	.site-guestbook-layout {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 18px !important;
	}

	.site-guestbook-card {
		display: grid !important;
		gap: 10px !important;
	}

	.site-guestbook-card header {
		min-width: 0 !important;
	}

	.site-guestbook-card header p {
		margin: 0 !important;
		font-size: 12px !important;
		line-height: 1.35 !important;
		overflow-wrap: anywhere;
	}

	.site-guestbook-card div {
		overflow-wrap: anywhere;
		word-break: normal;
	}

	.site-guestbook-form {
		position: static !important;
	}

	.site-guestbook-form form,
	.site-guestbook-form .site-field,
	.site-guestbook-form .site-captcha {
		min-width: 0 !important;
	}

	.site-guestbook-form .site-alert {
		margin-bottom: 14px !important;
		font-size: 14px !important;
		line-height: 1.45 !important;
	}

	.site-form-grid {
		grid-template-columns: 1fr !important;
		gap: 0 !important;
	}

	.site-field {
		margin-bottom: 14px !important;
	}

	.site-field label {
		font-size: 12px !important;
		letter-spacing: 0 !important;
	}

	.site-field input,
	.site-field textarea {
		min-height: 44px;
		padding: 10px 11px !important;
		font-size: 16px !important;
	}

	.site-field textarea {
		min-height: 140px !important;
	}

	.site-captcha {
		display: block !important;
	}

	.site-captcha-question {
		width: 100%;
		min-height: 42px !important;
		margin-bottom: 8px;
	}

	.site-form-actions {
		margin-top: 4px !important;
	}

	.site-form-actions .site-button,
	.site-form-actions button {
		width: 100% !important;
	}

	.site-presentation-photo {
		display: flex !important;
		justify-content: center !important;
		float: none !important;
		max-width: 100% !important;
		margin: 0 0 16px !important;
		padding: 6px !important;
		box-sizing: border-box !important;
	}

	.site-presentation-photo img {
		display: block !important;
		width: auto !important;
		max-width: 100% !important;
		max-height: 58vh !important;
		object-fit: contain !important;
	}

	.site-presentation-panel {
		display: block !important;
		overflow: hidden !important;
	}

	.site-presentation-text {
		overflow-wrap: anywhere;
		word-break: normal;
	}

	.site-presentation-text p {
		margin-top: 0 !important;
		margin-bottom: 14px !important;
	}

	.site-footer {
		align-items: center !important;
		text-align: center !important;
		gap: 10px !important;
		margin-top: 28px !important;
		font-size: 12px !important;
		letter-spacing: 0 !important;
		text-transform: none !important;
	}

	.site-footer div,
	.site-footer nav {
		justify-content: center !important;
	}
}

@media (max-width: 360px) {
	.site-menu {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.site-actions {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 760px) and (orientation: landscape) {
	.site-gallery-card {
		flex-basis: calc((100% - 30px) / 4) !important;
		max-width: calc((100% - 30px) / 4) !important;
	}
}
