/* =========================================================================
   RC Newsletter — Popup Gaceta Cultural
   Coquille du modal + habillage de l'embed Brevo, palette Radio Clásica.

   ⚠️ L'embed Brevo porte ses styles EN LIGNE (non !important). Toute règle
   .sib-* ci-dessous utilise !important pour les surcharger : c'est
   nécessaire, pas décoratif. Les !important battent l'inline non-important.
   ====================================================================== */

.rc-newsletter {
	/* Palette Radio Clásica */
	--rc-ink:      #1A120A;
	--rc-ink-soft: #241A10;
	--rc-cream:    #F7F2EA;
	--rc-white:    #FAFAF8;
	--rc-orange:   #FF4500;
	--rc-orange-d: #D93A00;
	--rc-aqua:     #00E5CC;
	--rc-border:   rgba(247, 242, 234, 0.16);

	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.rc-newsletter[hidden] {
	display: none;
}

/* Overlay --------------------------------------------------------------- */

.rc-newsletter__overlay {
	position: absolute;
	inset: 0;
	background: rgba(10, 7, 4, 0.78);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.rc-newsletter.is-open .rc-newsletter__overlay {
	opacity: 1;
}

/* Dialog ---------------------------------------------------------------- */

.rc-newsletter__dialog {
	position: relative;
	width: 100%;
	max-width: 900px;
	max-height: calc(100vh - 40px);
	overflow-y: auto;
	background: var(--rc-ink);
	border-radius: 4px;
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55);
	opacity: 0;
	transform: translateY(14px);
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.rc-newsletter.rc-newsletter--single .rc-newsletter__dialog {
	max-width: 620px;
}

.rc-newsletter.is-open .rc-newsletter__dialog {
	opacity: 1;
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.rc-newsletter__overlay,
	.rc-newsletter__dialog {
		transition: none;
	}
}

/* Close ----------------------------------------------------------------- */

.rc-newsletter__close {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 5;
	width: 36px;
	height: 36px;
	padding: 0;
	font-size: 24px;
	line-height: 1;
	color: var(--rc-ink);
	background: rgba(250, 250, 248, 0.92);
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
}

.rc-newsletter__close:hover {
	background: #ffffff;
	transform: scale(1.06);
}

/* Layout ---------------------------------------------------------------- */

.rc-newsletter__content {
	display: flex;
	align-items: stretch;
	padding: 0;
}

.rc-newsletter__visual {
	position: relative;
	flex: 0 0 42%;
	min-height: 460px;
	background-size: cover;
	background-position: center;
	background-color: var(--rc-ink-soft);
}

/* Dégradé : lie le visuel au fond encre du panneau. */
.rc-newsletter__visual::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to right,
		rgba(26, 18, 10, 0.15) 0%,
		rgba(26, 18, 10, 0.05) 55%,
		rgba(26, 18, 10, 0.85) 100%
	);
}

.rc-newsletter__panel {
	flex: 1 1 auto;
	min-width: 0;
	padding: 48px 46px 44px;
}

/* Typographie éditoriale ------------------------------------------------ */

.rc-newsletter__eyebrow {
	margin: 0 0 14px;
	font-family: "HK Grotesk", Arial, sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--rc-aqua);
}

.rc-newsletter__title {
	margin: 0 0 12px;
	font-family: "League Gothic", Impact, sans-serif;
	font-weight: 400;
	font-size: clamp(2.8rem, 5vw, 4rem);
	line-height: 0.92;
	letter-spacing: 0;
	color: var(--rc-white);
	text-transform: uppercase;
}

.rc-newsletter__dot {
	color: var(--rc-orange);
}

.rc-newsletter__text {
	margin: 0 0 26px;
	font-family: "HK Grotesk", Arial, sans-serif;
	font-size: 1.05rem;
	font-weight: 400;
	line-height: 1.55;
	color: rgba(247, 242, 234, 0.82);
}

/* =======================================================================
   Surcharge de l'embed Brevo
   ==================================================================== */

.rc-newsletter__form .sib-form {
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	text-align: left !important;
}

.rc-newsletter__form .sib-form-container,
.rc-newsletter__form #sib-form-container {
	max-width: 100% !important;
	width: 100% !important;
}

.rc-newsletter__form #sib-container {
	max-width: 100% !important;
	width: 100% !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	text-align: left !important;
}

.rc-newsletter__form .sib-form-block {
	padding: 0 !important;
	background: transparent !important;
	text-align: left !important;
}

.rc-newsletter__form .form__entry,
.rc-newsletter__form .entry_block,
.rc-newsletter__form .form__label-row {
	margin: 0 !important;
	padding: 0 !important;
}

/* Champ email ----------------------------------------------------------- */

.rc-newsletter__form input.input {
	width: 100% !important;
	box-sizing: border-box !important;
	height: auto !important;
	padding: 15px 18px !important;
	font-family: "HK Grotesk", Arial, sans-serif !important;
	font-size: 15px !important;
	color: var(--rc-ink) !important;
	background: #ffffff !important;
	border: 1px solid transparent !important;
	border-radius: 3px !important;
	box-shadow: none !important;
	transition: box-shadow 0.2s ease;
}

.rc-newsletter__form input.input::placeholder {
	color: #9a9186 !important;
	font-family: "HK Grotesk", Arial, sans-serif !important;
	text-align: left !important;
	text-transform: none !important;
}

.rc-newsletter__form input.input:focus {
	outline: none !important;
	border-color: var(--rc-aqua) !important;
	box-shadow: 0 0 0 3px rgba(0, 229, 204, 0.28) !important;
}

.rc-newsletter__form .entry__error {
	margin-top: 8px !important;
	padding: 8px 12px !important;
	font-family: "HK Grotesk", Arial, sans-serif !important;
	font-size: 13px !important;
	border-radius: 3px !important;
}

.rc-newsletter__form .entry__specification {
	display: none !important;
}

/* Bouton ---------------------------------------------------------------- */

.rc-newsletter__form .sib-form-block__button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	margin-top: 14px !important;
	padding: 16px 20px !important;
	font-family: "HK Grotesk", Arial, sans-serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	text-align: center !important;
	text-transform: uppercase !important;
	color: #ffffff !important;
	background-color: var(--rc-orange) !important;
	border: 0 !important;
	border-radius: 3px !important;
	cursor: pointer !important;
	transition: background-color 0.2s ease;
}

.rc-newsletter__form .sib-form-block__button:hover,
.rc-newsletter__form .sib-form-block__button:focus {
	background-color: var(--rc-orange-d) !important;
}

/* Messages Brevo -------------------------------------------------------- */

.rc-newsletter__form .sib-form-message-panel {
	max-width: 100% !important;
	margin: 0 0 4px !important;
	padding: 14px 18px !important;
	font-family: "HK Grotesk", Arial, sans-serif !important;
	font-size: 14px !important;
	border-radius: 3px !important;
}

/* Honeypot Brevo : toujours invisible. */
.rc-newsletter__form .input--hidden {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

/* Succès : on masque le formulaire, on garde le message. */
.rc-newsletter.is-success .rc-newsletter__form form {
	display: none !important;
}

/* =======================================================================
   Responsive
   ==================================================================== */

@media (max-width: 780px) {
	.rc-newsletter {
		padding: 14px;
	}

	.rc-newsletter__dialog,
	.rc-newsletter.rc-newsletter--single .rc-newsletter__dialog {
		max-width: 480px;
	}

	.rc-newsletter__content {
		flex-direction: column;
	}

	.rc-newsletter__visual {
		flex: 0 0 auto;
		min-height: 150px;
		background-position: center 25%;
	}

	.rc-newsletter__visual::after {
		background: linear-gradient(
			to bottom,
			rgba(26, 18, 10, 0.15) 0%,
			rgba(26, 18, 10, 0.05) 45%,
			rgba(26, 18, 10, 0.9) 100%
		);
	}

	.rc-newsletter__panel {
		padding: 32px 28px 30px;
	}

	.rc-newsletter__text {
		font-size: 1rem;
		margin-bottom: 22px;
	}
}

@media (max-width: 400px) {
	.rc-newsletter__visual {
		min-height: 120px;
	}

	.rc-newsletter__panel {
		padding: 28px 22px 26px;
	}
}
