/* CMC Radio Core — styles des shortcodes
 * Réutilise les variables CSS du thème (avec repli si le plugin est utilisé seul).
 */

.cmc-card {
	background: var(--cmc-white, #fff);
	border: 1px solid var(--cmc-border, #e7e9ee);
	border-radius: var(--cmc-radius, 16px);
	padding: clamp(1.1rem, 3vw, 1.6rem);
	box-shadow: var(--cmc-shadow, 0 6px 24px rgba(16, 24, 40, .06));
}

.cmc-card__title {
	margin: 0 0 .9rem;
	font-size: 1.15rem;
	color: var(--cmc-ink, #1a2330);
}

/* --- Horaires --- */
.cmc-hours__list { list-style: none; margin: 0; padding: 0; }
.cmc-hours__row {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: .5rem 0;
	border-bottom: 1px solid var(--cmc-border, #e7e9ee);
}
.cmc-hours__row:last-child { border-bottom: 0; }
.cmc-hours__day { color: var(--cmc-muted, #616870); }
.cmc-hours__time { font-weight: 600; color: var(--cmc-ink, #1a2330); }

/* --- Contact --- */
.cmc-contact__line { margin: 0 0 .9rem; display: grid; gap: .15rem; }
.cmc-contact__label {
	font-size: .8rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--cmc-muted, #616870);
}
.cmc-contact__line a {
	color: var(--cmc-red, #e1061b);
	font-weight: 600;
	text-decoration: none;
}
.cmc-contact__line a:hover { text-decoration: underline; }
.cmc-contact .cmc-hours { box-shadow: none; border: 0; padding: 0; margin-top: .4rem; }

/* --- Carte --- */
.cmc-map {
	border-radius: var(--cmc-radius, 16px);
	overflow: hidden;
	border: 1px solid var(--cmc-border, #e7e9ee);
	line-height: 0;
}
.cmc-map iframe { display: block; width: 100%; }

/* --- Bouton téléphone --- */
.cmc-phone-btn strong { margin-left: .35rem; }

/* --- Grille examens --- */
.cmc-exams__title,
.cmc-team__title { text-align: center; margin: 0 0 1.4rem; }
.cmc-exams__grid {
	list-style: none; margin: 0; padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 1rem;
}
.cmc-exam-card {
	background: var(--cmc-white, #fff);
	border: 1px solid var(--cmc-border, #e7e9ee);
	border-radius: var(--cmc-radius, 16px);
	padding: 1.25rem;
	transition: transform .15s ease, box-shadow .15s ease;
}
.cmc-exam-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--cmc-shadow, 0 10px 30px rgba(16, 24, 40, .1));
}
.cmc-exam-card__link { text-decoration: none; color: inherit; display: block; }
.cmc-exam-card__title { margin: 0 0 .4rem; font-size: 1.05rem; color: var(--cmc-ink, #1a2330); }
.cmc-exam-card__desc { margin: 0; color: var(--cmc-muted, #616870); font-size: .95rem; }

/* --- Grille équipe --- */
.cmc-team__grid {
	list-style: none; margin: 0; padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 1.25rem;
}
.cmc-team-card { text-align: center; }
.cmc-team-card__photo {
	border-radius: 50%;
	overflow: hidden;
	width: 150px; height: 150px;
	margin: 0 auto .8rem;
	background: var(--cmc-light, #f5f6f8);
}
.cmc-team-card__photo img { width: 100%; height: 100%; object-fit: cover; }
.cmc-team-card__name { margin: 0 0 .2rem; font-size: 1.05rem; color: var(--cmc-ink, #1a2330); }
.cmc-team-card__role { margin: 0; color: var(--cmc-red, #e1061b); font-weight: 600; font-size: .9rem; }

@media (max-width: 540px) {
	.cmc-hours__row { font-size: .95rem; }
}

/* Popup G7 — programmé côté PHP jusqu'au 18/06/2026 */
html.cmc-g7-open { overflow: hidden; }
.cmc-g7-popup[hidden] { display: none !important; }
.cmc-g7-popup {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: grid;
	place-items: center;
	padding: 22px;
}
.cmc-g7-popup__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 44, 91, .68);
	backdrop-filter: blur(5px);
}
.cmc-g7-popup__dialog {
	position: relative;
	z-index: 1;
	width: min(940px, 100%);
	max-height: min(86vh, 780px);
	overflow: auto;
	background: #fff;
	border-radius: 30px;
	box-shadow: 0 34px 90px rgba(0,0,0,.32);
	border: 1px solid rgba(255,255,255,.5);
}
.cmc-g7-popup__close {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 3;
	width: 42px;
	height: 42px;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: var(--cmc-navy, #002c5b);
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 8px 24px rgba(0,0,0,.15);
}
.cmc-g7-popup__content {
	display: grid;
	grid-template-columns: 1fr 310px;
	gap: clamp(22px, 4vw, 42px);
	align-items: center;
	padding: clamp(26px, 5vw, 48px);
}
.cmc-g7-popup__eyebrow {
	display: inline-flex;
	margin-bottom: 12px;
	color: var(--cmc-red, #e1061b);
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
	font-size: .75rem;
}
.cmc-g7-popup__text h2 {
	margin: 0 0 14px;
	color: var(--cmc-navy, #002c5b);
	font-size: clamp(2rem, 4vw, 3.2rem);
	line-height: 1.05;
}
.cmc-g7-popup__text p {
	margin: 0;
	color: var(--cmc-gray, #616870);
	font-size: 1.05rem;
}
.cmc-g7-popup__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 26px;
}
.cmc-g7-popup__image {
	display: block;
	border-radius: 22px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 18px 55px rgba(0,44,91,.18);
	border: 1px solid var(--cmc-border, #e4e8ee);
}
.cmc-g7-popup__image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 2 / 3;
	object-fit: cover;
}
@media (max-width: 760px) {
	.cmc-g7-popup { padding: 14px; }
	.cmc-g7-popup__dialog { border-radius: 24px; }
	.cmc-g7-popup__content { grid-template-columns: 1fr; }
	.cmc-g7-popup__image { max-width: 260px; }
}
