/* ==========================================================================
   AVS Calendly par zone – front
   ========================================================================== */
.avs-calendly { --avs-blue: #2b3990; --avs-blue-dark: #1f2a6e; --avs-blue-light: #eef0fa; --avs-border: #d9dcf0;
	max-width: 1000px; margin: 0 auto; width: 100%; position: relative; font-family: inherit; }


/* ---------- Neutralisation des styles de boutons du thème / Elementor ---------- */
.avs-calendly button.avs-calendly__toggle,
.avs-calendly button.avs-calendly__option,
.avs-calendly button.avs-calendly__close,
.avs-calendly button.avs-calendly button.avs-calendly__consent {
	all: unset; box-sizing: border-box; cursor: pointer; font-family: inherit; text-transform: none !important;
	letter-spacing: normal !important; text-decoration: none !important; box-shadow: none; min-height: 0; min-width: 0; margin: 0;
}
.avs-calendly button.avs-calendly button.avs-calendly__toggle:focus-visible,
.avs-calendly button.avs-calendly button.avs-calendly__option:focus-visible,
.avs-calendly button.avs-calendly button.avs-calendly__close:focus-visible,
.avs-calendly button.avs-calendly button.avs-calendly__consent:focus-visible { outline: 2px solid var(--avs-blue); outline-offset: 2px; }

/* ---------- Bandeau sélecteur ---------- */
.avs-calendly__picker { display: flex; align-items: center; gap: 16px; padding: 16px 20px; margin-bottom: 24px;
	background: var(--avs-blue-light); border: 1px solid var(--avs-border); border-radius: 12px; position: relative; }
.avs-calendly__globe { flex: 0 0 auto; color: var(--avs-blue); }
.avs-calendly__picker-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1 1 auto; }
.avs-calendly__label { font-weight: 700; color: var(--avs-blue); font-size: 16px; line-height: 1.2; }
.avs-calendly__hint { font-size: 13px; color: #5b5f7a; line-height: 1.3; }
.avs-calendly__hint.is-detected::before { content: '\2713\00a0'; color: #1a9d5a; font-weight: 700; }

/* ---------- Bouton d'ouverture ---------- */
.avs-calendly__dropdown { position: static; flex: 0 0 auto; }
.avs-calendly button.avs-calendly__toggle { display: inline-flex !important; align-items: center; gap: 10px; min-width: 280px; padding: 11px 14px;
	background: #fff; border: 2px solid var(--avs-blue); border-radius: 8px; color: var(--avs-blue);
	font-size: 16px; font-weight: 600; cursor: pointer; text-align: left; line-height: 1.2; transition: box-shadow .15s; }
.avs-calendly button.avs-calendly__toggle:hover { background: #fff !important; color: var(--avs-blue) !important; box-shadow: 0 0 0 3px rgba(43,57,144,.18); }
.avs-calendly__toggle-flag { font-size: 20px; line-height: 1; width: 1.2em; }
.avs-calendly__toggle-text { flex: 1 1 auto; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.avs-calendly__chevron { flex: 0 0 auto; transition: transform .2s; }
.avs-calendly.is-open .avs-calendly__chevron { transform: rotate(180deg); }

/* ---------- Mega menu ---------- */
.avs-calendly__panel { position: absolute; left: 0; top: calc(100% + 8px); z-index: 50; width: min(1000px, calc(100vw - 32px));
	display: flex; flex-wrap: wrap; gap: 8px 28px; padding: 24px 28px;
	background: #fff; border: 1px solid var(--avs-border); border-radius: 12px;
	box-shadow: 0 18px 50px rgba(20, 28, 80, .16); max-height: 70vh; overflow-y: auto; }
.avs-calendly__panel[hidden] { display: none; }
.avs-calendly__col { flex: 1 1 0; min-width: 180px; }
.avs-calendly__group { margin-bottom: 22px; }
.avs-calendly button.avs-calendly__close { display: none !important; width: 100%; }
.avs-calendly__group-title { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	color: var(--avs-blue); padding-bottom: 8px; margin-bottom: 8px; border-bottom: 2px solid var(--avs-blue-light); }
.avs-calendly__list { display: flex; flex-direction: column; }
.avs-calendly button.avs-calendly__option { display: flex !important; align-items: center; gap: 10px; width: 100%; padding: 6px 8px;
	background: none; border: 0; border-radius: 6px; color: #1e2140; font-size: 14px; text-align: left; cursor: pointer; line-height: 1.3; }
.avs-calendly button.avs-calendly__option:hover, .avs-calendly button.avs-calendly__option:focus-visible { background: var(--avs-blue-light) !important; color: var(--avs-blue) !important; }
.avs-calendly button.avs-calendly__option.is-selected { background: var(--avs-blue) !important; color: #fff !important; font-weight: 600; }
.avs-calendly__flag { font-size: 18px; line-height: 1; width: 1.2em; flex: 0 0 auto; }

/* ---------- Agenda ---------- */
/* Hauteur explicite obligatoire (l'iframe Calendly fait 100 % de son parent), puis ajustée par calendly.page_height */
.avs-calendly__widget { width: 100%; min-width: 0; height: 720px; transition: height .2s ease; overflow: hidden; }
.avs-calendly__widget iframe { width: 100%; height: 100%; border: 0; display: block; }

/* ---------- Consentement ---------- */
.avs-calendly__widget:has(.avs-calendly__consent) { height: auto; text-align: center; padding: 40px 16px; }
.avs-calendly button.avs-calendly__consent { display: inline-block !important; padding: 14px 28px; border: 0; border-radius: 8px;
	background: var(--avs-blue); color: #fff; font-size: 16px; font-weight: 600; cursor: pointer; }
.avs-calendly button.avs-calendly__consent:hover { background: var(--avs-blue-dark); }
.avs-calendly__notice { text-align: center; color: #555; margin-bottom: 12px; }

/* ---------- Tablette ---------- */
@media (max-width: 1000px) {
	.avs-calendly__col { flex-basis: calc(50% - 14px); }
	.avs-calendly__widget { height: 900px; }
}

/* ---------- Mobile ---------- */
@media (max-width: 650px) {
	.avs-calendly__picker { flex-wrap: wrap; gap: 12px; padding: 14px 16px; }
	.avs-calendly__picker-text { flex-basis: calc(100% - 44px); }
	.avs-calendly__dropdown { flex-basis: 100%; }
	.avs-calendly button.avs-calendly__toggle { width: 100%; min-width: 0; }
	.avs-calendly.is-open::before { content: ''; position: fixed; inset: 0; background: rgba(20,28,80,.45); z-index: 49; }
	.avs-calendly__panel { position: fixed; inset: auto 0 0 0; top: auto; width: auto; max-height: 85vh; border-radius: 16px 16px 0 0;
		flex-direction: column; flex-wrap: nowrap; gap: 0; padding: 0 16px 20px; box-shadow: 0 -10px 40px rgba(20,28,80,.25); }
	.avs-calendly button.avs-calendly__close { display: flex !important; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 1;
		width: calc(100% + 32px); margin: 0 -16px 12px; padding: 14px 16px; background: #fff; border: 0; border-bottom: 1px solid var(--avs-border);
		color: var(--avs-blue); font-size: 15px; font-weight: 700; cursor: pointer; }
	.avs-calendly button.avs-calendly__close::after { content: '\2715'; font-size: 16px; }
	.avs-calendly__col { flex-basis: auto; min-width: 0; }
	.avs-calendly__group { margin-bottom: 16px; }
	.avs-calendly__list { display: grid; grid-template-columns: 1fr 1fr; }
	.avs-calendly button.avs-calendly__option { font-size: 15px; padding: 8px; }
	.avs-calendly__widget { height: 1050px; }
}
