/**
 * CampusDelia — Améliorations globales : accueil, mobile/PWA, pied de page.
 */

/* ============ ACCUEIL ============ */

/* Le héro embarque des styles inline (Arial 48px) : on impose la typographie
   de marque et des tailles fluides. */
.home .elementor h1[style] {
	font-family: "Public Sans", -apple-system, "Segoe UI", sans-serif !important;
	font-weight: 700;
	letter-spacing: -0.015em;
}

@media (max-width: 782px) {
	.home .elementor h1[style] {
		font-size: clamp(1.9rem, 7.5vw, 2.6rem) !important;
		line-height: 1.15 !important;
	}

	.home .elementor-heading-title {
		font-size: clamp(1.35rem, 5.5vw, 1.9rem);
		line-height: 1.25;
	}
}

/* Boutons Elementor : cible tactile confortable + retour visuel. */
.home .elementor-button {
	min-height: 44px;
	transition: transform 0.15s ease, box-shadow 0.2s ease;
}

.home .elementor-button:hover {
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(30, 27, 75, 0.18);
}

@media (prefers-reduced-motion: reduce) {
	.home .elementor-button { transition: none; }
	.home .elementor-button:hover { transform: none; }
}

/* ============ MOBILE / PWA (tout le site) ============ */

@media (max-width: 782px) {
	html,
	body {
		overflow-x: clip;
	}

	.site-content img,
	.site-content video,
	.site-content iframe {
		max-width: 100%;
		height: auto;
	}

	/* 16px minimum dans les champs : évite le zoom automatique d'iOS. */
	input,
	select,
	textarea {
		font-size: 16px;
	}

	/* Tableaux de contenu : défilement interne plutôt que débordement de page. */
	.entry-content table,
	.page-content table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	/* Espacement latéral minimal pour le contenu des pages. */
	.page .entry-content > .cdct-page {
		padding-left: 16px;
		padding-right: 16px;
	}
}

/* ============ PIED DE PAGE ============ */

/* Lien e-mail de la colonne marque. */
.cdf-footer-email {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 14px;
	font-size: 0.92rem;
	text-decoration: none;
	opacity: 0.9;
	transition: opacity 0.2s ease;
	min-height: 44px;
}

.cdf-footer-email:hover {
	opacity: 1;
	text-decoration: underline;
}

/* Formulaire newsletter Fluent Forms sur fond sombre. */
.cdf-footer-newsletter-ff .ff-el-input--label {
	display: none; /* le paragraphe au-dessus sert de libellé visuel */
}

.cdf-footer-newsletter-ff .ff-el-group {
	margin-bottom: 10px;
}

.cdf-footer-newsletter-ff .ff-el-form-control {
	width: 100%;
	background: rgba(255, 255, 255, 0.07);
	border: 1.5px solid rgba(255, 255, 255, 0.18);
	border-radius: 10px;
	color: #fff;
	padding: 11px 14px;
	font-size: 16px;
	transition: border-color 0.2s ease, background 0.2s ease;
}

.cdf-footer-newsletter-ff .ff-el-form-control::placeholder {
	color: rgba(255, 255, 255, 0.55);
}

.cdf-footer-newsletter-ff .ff-el-form-control:focus {
	outline: none;
	background: rgba(255, 255, 255, 0.1);
	border-color: #818cf8;
}

.cdf-footer-newsletter-ff .ff-btn-submit {
	background: linear-gradient(135deg, #4f46e5, #3730a3) !important;
	color: #fff !important;
	border: none;
	border-radius: 999px;
	padding: 11px 26px;
	font-weight: 700;
	cursor: pointer;
	min-height: 44px;
	transition: transform 0.15s ease, box-shadow 0.2s ease;
}

.cdf-footer-newsletter-ff .ff-btn-submit:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(79, 70, 229, 0.4);
}

.cdf-footer-newsletter-ff .ff-message-success {
	color: #a7f3d0;
	font-size: 0.92rem;
}

/* Liens des colonnes du pied de page : lisibles sur fond sombre
   (les widgets de menu héritent sinon du bleu foncé du thème). */
.cdf-footer-widgets .cdf-footer-col ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.cdf-footer-widgets .cdf-footer-col ul li a,
.cdf-footer-links a {
	color: #b8c0d0 !important;
	text-decoration: none;
	display: inline-block;
	padding: 6px 0;
	line-height: 1.5;
	transition: color 0.2s ease, transform 0.2s ease;
}

.cdf-footer-widgets .cdf-footer-col ul li a:hover,
.cdf-footer-links a:hover {
	color: #ffffff !important;
	transform: translateX(2px);
}

/* Libellé du champ newsletter : masqué (le paragraphe au-dessus sert de
   libellé), et clair si un cache l'affiche encore. */
.cdf-footer-newsletter-ff .ff-el-input--label,
.cdf-footer-newsletter-ff .ff-el-input--label label {
	color: rgba(255, 255, 255, 0.75);
}
