/**
 * Calendanse — correctifs mobile (phase 1 + header/PWA 2026-06-08)
 * Scope : ≤921px (breakpoint Astra) + MEC ≤768px
 */

/* —— Base : éviter le scroll horizontal —— */
@media (max-width: 921px) {
	html {
		overflow-x: clip;
	}

	body.cd-mobile-fix {
		overflow-x: clip;
	}

	body.cd-mobile-fix #page,
	body.cd-mobile-fix .site-content,
	body.cd-mobile-fix .ast-container,
	body.cd-mobile-fix .ast-separate-container .ast-article-single,
	body.cd-mobile-fix .elementor-section.elementor-section-boxed > .elementor-container {
		max-width: 100%;
		box-sizing: border-box;
	}

	body.cd-mobile-fix img,
	body.cd-mobile-fix video,
	body.cd-mobile-fix iframe,
	body.cd-mobile-fix embed,
	body.cd-mobile-fix object {
		max-width: 100%;
		height: auto;
	}

	/* Contenus Elementor / blocs larges (homepage) */
	body.cd-mobile-fix .elementor-widget-wrap,
	body.cd-mobile-fix .elementor-column,
	body.cd-mobile-fix .wp-block-group,
	body.cd-mobile-fix .entry-content > .wp-block-image,
	body.cd-mobile-fix .swiper-container,
	body.cd-mobile-fix .swiper {
		max-width: 100% !important;
		box-sizing: border-box;
	}

	body.cd-mobile-fix .entry-content [style*="width"],
	body.cd-mobile-fix .elementor-element [style*="width"] {
		max-width: 100% !important;
	}

	body.cd-mobile-fix table {
		display: block;
		max-width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

/* —— Header / navigation Astra —— */
@media (max-width: 921px) {
	/*
	 * Annule calendanse-branding.css (.menu-toggle → fond nuit + pill 999px)
	 * et le fill SVG identique au fond (disque bleu sans icône visible).
	 */
	body.cd-mobile-fix #ast-mobile-header .main-header-menu-toggle,
	body.cd-mobile-fix #ast-mobile-header .menu-toggle.main-header-menu-toggle,
	body.cd-mobile-fix #ast-mobile-header .ast-mobile-menu-trigger-minimal,
	body.cd-mobile-fix [data-section="section-header-mobile-trigger"] .menu-toggle,
	body.cd-mobile-fix .ast-header-break-point .main-header-menu-toggle {
		background: transparent !important;
		background-color: transparent !important;
		border: 0 !important;
		border-radius: 8px !important;
		box-shadow: none !important;
		color: var(--cd-brand-night, #0b1f4d) !important;
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
		padding: 0 !important;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
	}

	body.cd-mobile-fix #ast-mobile-header .main-header-menu-toggle:hover,
	body.cd-mobile-fix #ast-mobile-header .main-header-menu-toggle:focus-visible,
	body.cd-mobile-fix [data-section="section-header-mobile-trigger"] .menu-toggle:hover,
	body.cd-mobile-fix [data-section="section-header-mobile-trigger"] .menu-toggle:focus-visible {
		background: rgba(11, 31, 77, 0.06) !important;
		background-color: rgba(11, 31, 77, 0.06) !important;
		color: var(--cd-brand-night, #0b1f4d) !important;
	}

	body.cd-mobile-fix #ast-mobile-header .mobile-menu-toggle-icon,
	body.cd-mobile-fix [data-section="section-header-mobile-trigger"] .mobile-menu-toggle-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 24px;
		height: 24px;
		line-height: 1;
	}

	body.cd-mobile-fix #ast-mobile-header .mobile-menu-toggle-icon .ast-mobile-svg,
	body.cd-mobile-fix [data-section="section-header-mobile-trigger"] .mobile-menu-toggle-icon .ast-mobile-svg {
		fill: currentColor !important;
		width: 24px;
		height: 24px;
	}

	.ast-mobile-popup-content .menu-item > a,
	.ast-mobile-popup-content .menu-item > .ast-menu-toggle,
	#ast-mobile-header .main-header-menu .menu-item > a {
		min-height: 44px;
		padding: 12px 16px;
		line-height: 1.35;
		display: flex;
		align-items: center;
	}

	.ast-mobile-popup-content .sub-menu .menu-item > a {
		padding-left: 1.5rem;
		font-size: 0.95rem;
	}

	.ast-mobile-header-content .ast-builder-menu,
	.ast-mobile-popup-inner {
		max-width: 100%;
		overflow-x: hidden;
	}

	/* Compte / avatar connecté */
	.ast-header-account-wrap,
	.ast-header-account-wrap .ast-header-account-type-avatar img,
	.ast-header-account-wrap .user-avatar {
		max-width: 44px;
		max-height: 44px;
	}

	.ast-header-account-wrap .ast-header-account-text {
		max-width: 120px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}

/* —— MEC : typographie et calendrier —— */
@media (max-width: 768px) {
	.mec-wrap h1,
	.entry-content .mec-wrap h1 {
		font-size: 1.65rem !important;
		line-height: 1.2 !important;
		letter-spacing: -0.02em;
	}

	.mec-wrap h2,
	.entry-content .mec-wrap h2 {
		font-size: 1.35rem !important;
		line-height: 1.25 !important;
	}

	.mec-wrap h3,
	.entry-content .mec-wrap h3 {
		font-size: 1.15rem !important;
		line-height: 1.3 !important;
	}

	.mec-single-event .mec-single-title,
	.mec-single-event h1.mec-single-title {
		font-size: 1.5rem !important;
		line-height: 1.25 !important;
		word-break: break-word;
	}

	.mec-event-footer,
	.mec-buttons-box,
	.mec-event-sharing,
	.mec-frontbox .mec-row,
	.mec-single-event .mec-event-meta {
		flex-wrap: wrap;
		gap: 0.5rem;
	}

	.mec-event-footer a,
	.mec-buttons-box a,
	.mec-booking-button,
	.mec-events-button {
		min-height: 44px;
		display: inline-flex;
		align-items: center;
		padding: 0.5rem 0.85rem;
	}

	.mec-calendar,
	.mec-yearly-view,
	.mec-monthly-view,
	.mec-weekly-view,
	.mec-daily-view,
	.mec-search-form,
	.mec-filter-wrap {
		max-width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.mec-search-form input,
	.mec-search-form select,
	.mec-filter-wrap select {
		max-width: 100%;
		min-height: 44px;
		font-size: 16px;
	}

	.mec-event-grid .mec-event-article,
	.mec-event-list-classic .mec-event-article {
		max-width: 100%;
	}
}

/* —— wpForo —— */
@media (max-width: 921px) {
	#wpforo-wrap {
		max-width: 100%;
		overflow-x: hidden;
	}

	#wpforo-wrap .wpf-table,
	#wpforo-wrap table {
		display: block;
		max-width: 100%;
		overflow-x: auto;
	}

	#wpforo-wrap .wpf-button,
	#wpforo-wrap .wpf-btn {
		min-height: 44px;
	}
}

/* —— FES (ajout / modification événement) —— */
@media (max-width: 921px) {
	body.cd-mobile-fes .mec-fes-form input[type="text"],
	body.cd-mobile-fes .mec-fes-form input[type="email"],
	body.cd-mobile-fes .mec-fes-form input[type="url"],
	body.cd-mobile-fes .mec-fes-form input[type="number"],
	body.cd-mobile-fes .mec-fes-form input[type="tel"],
	body.cd-mobile-fes .mec-fes-form input[type="date"],
	body.cd-mobile-fes .mec-fes-form input[type="time"],
	body.cd-mobile-fes .mec-fes-form select,
	body.cd-mobile-fes .mec-fes-form textarea,
	body.cd-mobile-fes .mec-fes input[type="text"],
	body.cd-mobile-fes .mec-fes select,
	body.cd-mobile-fes .mec-fes textarea {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
		min-height: 44px;
		font-size: 16px;
	}

	body.cd-mobile-fes .mec-fes-form textarea,
	body.cd-mobile-fes .mec-fes textarea {
		min-height: 120px;
	}

	body.cd-mobile-fes .mec-fes-form label,
	body.cd-mobile-fes .mec-fes label {
		display: block;
		margin-bottom: 0.35rem;
	}

	body.cd-mobile-fes .mec-fes-form .mec-form-row,
	body.cd-mobile-fes .mec-fes .mec-form-row {
		margin-bottom: 1rem;
	}

	body.cd-mobile-fes .mec-fes-form .button,
	body.cd-mobile-fes .mec-fes-form button,
	body.cd-mobile-fes .mec-fes .button,
	body.cd-mobile-fes .mec-fes button[type="submit"] {
		min-height: 44px;
		width: 100%;
		max-width: 100%;
		margin-bottom: 0.5rem;
	}

	body.cd-mobile-fes .mec-fes-tabs,
	body.cd-mobile-fes .mec-fes-menu {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		flex-wrap: nowrap;
	}
}

/* Dock FAB global : voir calendanse-fab-dock.css + calendanse-fab-dock.js */
