/* =============================================================================
   Footer principal — Sande Paris
   ============================================================================= */

/* ── Voile de dévoilement (overlay) — desktop uniquement ─────────────────── */

.footer-overlay {
	display: none;
}

/* ── Footer : flux normal sur mobile + tablette ──────────────────────────── */

.site-footer {
	position: relative;
	z-index: auto;
	background: #ffffff;
	color: #000000;
	border-top: 1px solid #e5e5e5;
	width: 100%;
}

/* ── Spacer : inactif hors desktop ───────────────────────────────────────── */

#footer-reveal-spacer {
	display: none;
}

/*
 * Desktop (≥ 1024 px) uniquement : footer fixe + révélation.
 * Sur tablette le footer est trop haut (grille 2 cols) : le garder en flux
 * normal pour pouvoir tout voir sans coupure.
 */
@media (min-width: 1024px) {

	.footer-overlay {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 5;
		background: rgba(0, 0, 0, 0.5);
		opacity: 0;
		pointer-events: none;
		transition: opacity 200ms ease-out;
	}

	.admin-bar .footer-overlay {
		top: 32px;
	}

	.site-footer {
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 0;
	}

	#footer-reveal-spacer {
		display: block;
		position: relative;
		z-index: 10;
		/* Le spacer réserve la hauteur au scroll mais ne doit pas
		   intercepter les clics vers le footer fixe (z-index: 0). */
		pointer-events: none;
	}

	/* Le bandeau défile avec le contenu et couvre le footer fixe.
	   La révélation ne commence qu'une fois ce bandeau passé. */
	.site-footer-reassurance {
		position: relative;
		z-index: 10;
	}
}

/* ── Formulaire newsletter ───────────────────────────────────────────────── */

.footer-newsletter-form {
	max-width: 20rem;
}

.footer-newsletter-form__row {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.4);
}

.footer-newsletter-form--narrow {
	max-width: 20rem;
}

.footer-newsletter-form--centered {
	margin-inline: auto;
}

.footer-newsletter-form__input {
	flex: 1 1 auto;
	min-width: 0;
	width: auto;
	padding: 0 0 0.5rem;
	border: 0;
	background: transparent;
	font-size: 0.75rem;
	font-weight: 300;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.footer-newsletter-form__input::placeholder {
	color: rgba(0, 0, 0, 0.5);
}

.footer-newsletter-form__input:focus {
	outline: none;
}

.footer-newsletter-form__row:focus-within {
	border-bottom-color: #000;
}

.footer-newsletter-form__input--center {
	text-align: left;
}

.footer-newsletter-form__submit {
	flex: 0 0 auto;
	position: static;
	padding: 0 0 0.5rem;
	border: 0;
	background: transparent;
	color: rgba(0, 0, 0, 0.7);
	cursor: pointer;
	line-height: 1;
	transition: color 0.2s ease;
}

.footer-newsletter-form__submit:hover,
.footer-newsletter-form__submit:focus-visible {
	color: #000;
}

.footer-newsletter-form input[type="email"]:focus {
	outline: none;
}

.footer-newsletter-msg {
	display: none !important;
	margin: 0.75rem 0 0;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: 0.01em;
	text-transform: none;
	color: #151414;
}

.footer-newsletter-msg.is-visible,
.footer-newsletter-msg.is-success,
.footer-newsletter-msg.is-error {
	display: block !important;
}

.footer-newsletter-msg.is-success {
	color: #151414;
}

.footer-newsletter-msg.is-error {
	color: #8a1f1a;
}

.site-footer__newsletter-mobile .footer-newsletter-msg {
	text-align: center;
}

.site-footer__title {
	font-family: var(--font-body, "Raleway", sans-serif);
	margin: 0 0 1rem;
	font-size: 0.75rem;
	font-weight: 300;
	letter-spacing: 0.3em;
	text-transform: uppercase;
}

@media (min-width: 768px) {
	.site-footer__title {
		margin-bottom: 2rem;
	}

	.site-footer__newsletter-mobile .site-footer__title,
	.site-footer__col--newsletter .site-footer__title {
		margin-bottom: 2rem;
	}
}

.site-footer__intro {
	display: none;
	padding: 2.5rem 1.5rem 2rem;
	text-align: center;
}

@media (min-width: 768px) {
	.site-footer__intro {
		display: block;
		padding-top: 4rem;
		padding-bottom: 3.5rem;
	}
}

.site-footer__intro-inner {
	margin-top: 0.5rem;
}

.site-footer__intro-inner > * + * {
	margin-top: 0.75rem;
}

.site-footer__intro-text {
	max-width: 28rem;
	margin: 0 auto;
	font-size: 11px;
	font-weight: 300;
	letter-spacing: 0.18em;
	line-height: 1.625;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.7);
}

.site-footer__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 11px;
	font-weight: 300;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.8);
	transition: color 0.3s ease;
}

.site-footer__cta:hover,
.site-footer__cta:focus-visible {
	color: #000;
}

.site-footer__cta-arrow {
	display: inline-block;
	transition: transform 0.3s ease;
}

.site-footer__cta:hover .site-footer__cta-arrow,
.site-footer__cta:focus-visible .site-footer__cta-arrow {
	transform: translateX(0.25rem);
}

.site-footer__newsletter-mobile {
	padding: 2.5rem 1.5rem;
	text-align: center;
}

.site-footer__newsletter-mobile .site-footer__title {
	margin-bottom: 1.5rem;
}

@media (min-width: 768px) {
	.site-footer__newsletter-mobile {
		display: none;
	}
}

.site-footer__grid-wrap {
	border-top: 1px solid #e5e5e5;
}

@media (max-width: 767px) {
	.site-footer__grid-wrap {
		border-top: 0 !important;
	}

	.site-footer__newsletter-mobile .footer-newsletter-form__row {
		border-bottom-color: rgba(0, 0, 0, 0.18);
	}
}

.site-footer__grid {
	display: grid;
	grid-template-columns: 1fr;
}

@media (min-width: 768px) {
	.site-footer__grid {
		grid-template-columns: 1fr 1fr;
	}

	.site-footer__grid > .site-footer__col + .site-footer__col {
		border-left: 1px solid #e5e5e5;
	}
}

@media (min-width: 1024px) {
	.site-footer__grid {
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}
}

.site-footer__col {
	padding: 1.5rem;
}

@media (max-width: 767px) {
	.site-footer__grid > .site-footer__col + .site-footer__col {
		border-top: 1px solid #e5e5e5;
	}
}

@media (min-width: 768px) {
	.site-footer__col {
		padding: 3rem 2rem;
	}
}

@media (min-width: 1024px) {
	.site-footer__col {
		padding-left: 2.5rem;
		padding-right: 2.5rem;
	}
}

.site-footer__col--newsletter {
	display: none;
}

@media (min-width: 768px) {
	.site-footer__col--newsletter {
		display: flex;
		flex-direction: column;
		padding-top: 3rem;
		padding-bottom: 3rem;
	}
}

@media (min-width: 1024px) {
	.site-footer__col--newsletter {
		justify-content: center;
	}
}

.site-footer__links {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 11px;
	font-weight: 300;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.site-footer__links > li + li {
	margin-top: 0.25rem;
}

@media (min-width: 768px) {
	.site-footer__links > li + li {
		margin-top: 1rem;
	}
}

.site-footer__link {
	color: rgba(0, 0, 0, 0.8);
	transition: color 0.2s ease;
}

.site-footer__link:hover,
.site-footer__link:focus-visible {
	color: #000;
}

.site-footer__link--social {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.site-footer__legal {
	border-top: 1px solid #e5e5e5;
	padding: 1rem 1.5rem;
}

@media (min-width: 768px) {
	.site-footer__legal {
		padding: 1.5rem 2rem;
	}
}

.site-footer__copyright {
	margin: 0;
	font-size: 10px;
	font-weight: 300;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.6);
	text-align: center;
}

.site-footer__copyright a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}
