/**
 * Responsive styles extracted from style.css.
 * Load this file after style.css so these overrides keep the same cascade.
 */

/* ==========================================================
   DESKTOP INTERMEDIATE
   <= 1100px
   ========================================================== */
@media (max-width: 1100px) {
	.no-desktop {
		display: unset!important;
	}
	.no-tablet {
		display: none!important;
	}
}

/* ==========================================================
   TABLET
   <= 921px
   ========================================================== */
@media (max-width: 921px) {
	.no-tablet {
		display: unset!important;
	}
	.no-mobile {
		display: none!important;
	}
}

/****************************/
/**********TABLETTE**********/
/****************************/
@media (max-width: 1100px) {
	.posts-grid {
		grid-template-columns: repeat( calc(var(--grid-col, 3) - 1), 1fr);
	}
	#main-header.header-sommaire .menu-items {
		--cols: 2!important;
	}
}

@media (max-width: 921px) {
	h1, .entry-content h1, body *:is(.is-h1) {
		font-size: 5.5rem;
	}
	h2, .entry-content h2, body *:is(.is-h2) {
		font-size: 3.8rem;
	}
	h3, .entry-content h3, body *:is(.is-h3) {
		font-size: 2.8rem;
	}
	h4, .entry-content h4, body *:is(.is-h4) {
		font-size: 2.5rem;
	}
	h5, .entry-content h5, body *:is(.is-h5) {
		font-size: 2rem;
	}
	.pretitre, .entry-content .pretitre, body *:is(.pretitre) {
		font-size: 2rem;
	}

	#main-header:is(.header-home, .header-page) .header-data-wrapper {
		grid-template-columns: repeat(1, 1fr);
	}
	#main-header:not(.header-sommaire) .header-data:first-child {
		padding-bottom: 60px;
	}
	#main-header .header-data {
		border-bottom: none;
	}
	#main-header .header-thumb {
		height: calc(var(--header-height) / 2);
	}
	#main-header .picto {
		height: 100px;
		position: absolute;
		bottom: -50px;
		right: calc(50% - 50px);
	}
	#main-header .pretitle {
		font-size: 2.3rem;
	}

	#masthead {
		padding: 0;
	}
	/* menu toggle */
	#masthead .menu-toggle {
		--btn-color : var(--main-color);
		position: relative;
		transform: translateY(-10px);
	}
	body:is(.scroll0, .mob_scroll0) #masthead .menu-toggle {
		--btn-color: var(--black);
	}
	#masthead .menu-toggle:focus {
		border: none!important;
		outline: none!important;
	}
	#masthead .menu-toggle svg {
		fill: var(--btn-color);
		scale: 1.5;
	}
	#masthead .menu-toggle::after {
		position: absolute;
		content: "MENU";
		font-size: 1.2rem;
		width: max-content;
		height: 1lh;
		text-transform: uppercase;
		color: var(--btn-color);
		bottom: 0px;
		left: 50%;
		transform: translate(-50%, 50%);
		pointer-events: none;
	}
	#masthead .menu-toggle.toggled::after {
		content: "FERMER";
	}
	#masthead .main-header-menu {
		padding: 20px;
		width: 100%;
		max-width: min(450px, 100%);
		margin: auto;
		gap: 0;
		background-color: transparent!important;
	}
	#masthead .main-header-menu li a.menu-link {
		padding: 7px 0;
		background-color: transparent!important;
		color: var(--black);
		text-align: center;
		font-size: 1.8rem;
	}
	#masthead .main-header-menu .sub-menu {
		width: 100%;
	}
	#masthead .main-header-menu li:first-child a.menu-link::before {
		display: block;
	}
	#masthead .ast-mobile-header-content {
		display: block!important;
		transition: all .3s ease-out;
		border-radius: 0;
		left: 0;
		top: 100%;
		box-shadow: 0px 20px 18px 0px #00000050;
	}
	body:not(.ast-main-header-nav-open) #masthead .ast-mobile-header-content {
		opacity: 0;
		pointer-events: none;
		transform: translateY(-50px);
	}
	#masthead li .ast-menu-toggle {
		box-shadow: none;
		top: 8px;
	}
	#masthead .ast-submenu-expanded .ast-menu-toggle {
		rotate: 180deg;
	}
	#masthead .ast-arrow-svg {
		margin: 0;
		height: fit-content;
	}
	.slick-slider:has(.slick-arrow) {
		padding-top: calc(var(--arrow-size) + 20px);
	}
	/* Même espace réservé avant l'arrivée de Slick (sinon le contenu descend de 60 px) */
	.prestations-slider:not(.slick-initialized) {
		padding-top: calc(40px + 20px);
	}
	.slick-slider .slick-arrow {
		left: 50%;
		transform: translate(calc(-100% - 5px), 0) rotate(180deg);
	}
	.slick-slider .slick-next {
		transform: translate(calc(5px), 0) rotate(0deg);
	}

	body .entry-content .eb-counter-wrapper .eb-counter-number {
		font-size: 5rem;
	}
	body .entry-content .eb-counter-wrapper .eb-counter-title {
		font-size: 2.5rem;
	}
	body .wp-block-group:has(.wp-block-sohappy-linked-group-block) {
		grid-template-columns: repeat(2, 1fr);
	}

	body .wp-block-group:has(.wp-block-sohappy-linked-group-block) {
		grid-template-columns: repeat(1, 1fr);
	}

	#main-footer .get-menu.footer-big-menu-fr {
		grid-template-columns: repeat(1, 1fr);
	}
	#main-footer .get-menu > li > a.menu-link, #main-footer .get-menu .sub-menu {
		align-items: center;
		text-align: center;
		margin: auto;
	}
	#main-footer .get-menu.footer-menu {
		gap: 0;
	}
	#main-footer .get-menu.footer-menu li a.menu-link {
		padding: 5px;
	}
}

/****************************/
/*********SMARTPHONE*********/
/****************************/
@media (max-width: 768px) {
	/**********SPECIFIC**********/
	.is-mobile-center, .is-mobile-center * {
		text-align: center;
	}
	.is-mobile-left, .is-mobile-left * {
		text-align: left;
	}
	.is-mobile-fullwidth {
		width: 100%!important;
	}
	.no-mobile-border {
		border: none;
	}
	.no-mobile-margin {
		margin: 0!important;
	}
	.no-mobile-padding {
		padding: 0!important;
	}
	body .is-mobile-reverted {
		flex-direction: column-reverse;
		flex-wrap: nowrap !important;
	}
	body .is-mobile-row {
		flex-direction: row;
	}
	body .is-mobile-column {
		flex-direction: column;
	}
	body .is-mobile-justify-center {
		justify-content: center !important;
	}
	body .is-mobile-align-center {
		align-items: center !important;
	}
	/****************************/
	h1, .entry-content h1, body *:is(.is-h1) {
		font-size: 3.5rem;
	}
	h2, .entry-content h2, body *:is(.is-h2) {
		font-size: 3.3rem;
	}
	h3, .entry-content h3, body *:is(.is-h3) {
		font-size: 2.6rem;
	}
	h4, .entry-content h4, body *:is(.is-h4) {
		font-size: 2.3rem;
	}
	h5, .entry-content h5, body *:is(.is-h5) {
		font-size: 2rem;
	}
	.pretitre, .entry-content .pretitre, body *:is(.pretitre) {
		font-size: 2rem;
	}

	#main-header .pretitle {
		font-size: 2rem;
	}
	/****************************/
	.posts-grid {
		grid-template-columns: repeat( 1, 1fr);
	}
	#main-header.header-sommaire .menu-items {
		--cols: 1!important;
	}
	.accordeon-item .accordeon-title {
		flex-direction: column;
		gap: 10px;
		align-items: stretch;
	}
	/* CONTACT FORM 7 */
	.CForm .CF-half, .CForm .CF-onethird, .CForm .CF-twothird, .CForm .CF-onequarter, .CForm .CF-threequarter  {
		width: calc(100% - 10px);
	}

	.CForm .CF-checkbox .wpcf7-list-item {
		width: 99%;
	}

}

/* ==========================================================
   DESKTOP COMPACT
   1101px -> 1366px
   ========================================================== */
@media (min-width: 1101px) and (max-width: 1366px) {
	#primary-site-navigation-desktop #ast-hf-menu-1.main-header-menu {
		gap: 4px;
	}
}




/* ==========================================================
   Mobile
   ========================================================== */
/* ---------- Mobile : on laisse dépasser l'étape suivante ---------- */
@media (max-width: 600px) {
  .lpl-timeline {
    --tl-col: 78vw;
  }
  .lpl-timeline__item {
    padding-right: 1.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lpl-timeline { scroll-behavior: auto; }
  .lpl-timeline__item::after { transition: none; }
}

