.kco-subscriber-banner {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: .85em;
	width: 100%;
	max-width: 480px;
	margin: 1.5em auto;
	padding: 1.5em 1.25em;
	border: 1px solid #d6d6d6;
	border-radius: 8px;
	background: #f7f7f7;
	text-align: center;
}

.kco-subscriber-banner p {
	margin: 0;
	font-size: 1.15em;
	font-weight: 500;
	line-height: 1.3;
}

.kco-subscriber-banner.is-subscriber {
	border-color: #46b450;
	background: #ecf7ed;
}

.kco-subscriber-banner.is-checking {
	opacity: .8;
}

/* Boton en formato Vite */
.kco-subscriber-banner .kco-login-btn {
	display: inline-block;
	margin: 0;
	padding: .6em 1.2em;
	border: 1px solid transparent;
	border-radius: 8px;
	font-family: inherit;
	font-size: 1em;
	font-weight: 500;
	line-height: 1.2;
	color: #ffffff;
	background-color: #646cff;
	cursor: pointer;
	transition: border-color .25s, background-color .25s;
}

.kco-subscriber-banner .kco-login-btn:hover {
	border-color: #535bf2;
	background-color: #535bf2;
}

.kco-subscriber-banner .kco-login-btn:focus,
.kco-subscriber-banner .kco-login-btn:focus-visible {
	outline: 4px auto -webkit-focus-ring-color;
}

@media (prefers-color-scheme: dark) {
	.kco-subscriber-banner {
		border-color: #3a3a3a;
		background: #1a1a1a;
		color: #e8e8e8;
	}
}

.kco-welcome {
	margin: 1.5em 0;
	padding: 1.5em;
	border: 1px solid #d6d6d6;
	border-radius: 8px;
	background: #fbfbfb;
}

.kco-welcome__title {
	margin-top: 0;
}

.kco-welcome__link {
	word-break: break-all;
	font-size: .9em;
}

/* Boton "Copiar Enlace" en formato Vite (variante outline) */
.kco-welcome__copy {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	margin: 0;
	padding: .6em 1.2em;
	border: 1px solid #646cff;
	border-radius: 8px;
	background: transparent;
	color: #646cff;
	font-family: inherit;
	font-size: 1em;
	font-weight: 500;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color .2s, color .2s, border-color .2s;
}

.kco-welcome__copy:hover,
.kco-welcome__copy:focus {
	background: #646cff;
	color: #ffffff;
}

.kco-welcome__copy.is-copied {
	border-color: #46b450;
	background: #46b450;
	color: #ffffff;
}

.kco-welcome__copy.is-error {
	border-color: #d63638;
	background: #d63638;
	color: #ffffff;
}

.kco-welcome__copy-icon {
	width: 1.05em;
	height: 1.05em;
	flex: none;
}

.kco-welcome__note {
	padding-top: .75em;
	border-top: 1px dashed #ccc;
	font-size: .9em;
	color: #555;
}

/* Botones del bloque, en formato Vite */
.kco-welcome__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .75em;
	margin: 1.25em 0 0;
}

.kco-welcome__btn {
	display: inline-block;
	padding: .6em 1.2em;
	border: 1px solid transparent;
	border-radius: 8px;
	font-family: inherit;
	font-size: 1em;
	font-weight: 500;
	line-height: 1.2;
	color: #ffffff;
	background-color: #646cff;
	text-decoration: none;
	cursor: pointer;
	transition: border-color .25s, background-color .25s;
}

.kco-welcome__btn:hover,
.kco-welcome__btn:focus {
	border-color: #535bf2;
	background-color: #535bf2;
	color: #ffffff;
}

@media (prefers-color-scheme: dark) {
	.kco-welcome {
		border-color: #3a3a3a;
		background: #1a1a1a;
		color: #e8e8e8;
	}

	.kco-welcome__note {
		border-top-color: #3a3a3a;
		color: #b5b5b5;
	}
}

/* Movil: banner de suscriptor ajustado al ancho de pantalla, compacto y en
   una sola linea (texto + boton). */
@media (max-width: 767px) {
	.kco-subscriber-banner {
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: space-between;
		gap: .6em;
		width: auto;
		max-width: none;
		margin: .9em 10px;
		padding: .6em .8em;
		text-align: left;
	}

	.kco-subscriber-banner p {
		flex: 1 1 auto;
		min-width: 0;
		font-size: .95em;
		line-height: 1.25;
	}

	.kco-subscriber-banner .kco-login-btn {
		flex: 0 0 auto;
		padding: .5em .9em;
		font-size: .9em;
		white-space: nowrap;
	}
}
