/**
 * Comfort Stay - stopka i zapis na newsletter.
 */

.cs-footer {
	background: var(--cs-navy);
	color: var(--cs-on-dark);
	font-size: 15px;
}

/* ------------------------------------------------------------------ */
/*  Newsletter                                                         */
/* ------------------------------------------------------------------ */

.cs-newsletter {
	padding: 60px 0 54px;
}

.cs-newsletter__card {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 40px;
	align-items: center;
	padding: 40px 48px;
	background: #fff;
	border: 1px solid var(--cs-gold);
	border-radius: 22px;
}

.cs-newsletter__title {
	margin: 0 0 12px;
	font-size: clamp(26px, 3.2vw, 38px);
	color: var(--cs-navy);
}

.cs-newsletter__text {
	margin: 0;
	color: var(--cs-ink);
	font-size: 15px;
	line-height: 1.65;
}

.cs-newsletter__form {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.cs-newsletter__form input[type="email"] {
	width: 100%;
	height: 54px;
	padding: 0 22px;
	border: 0;
	border-radius: 999px;
	background: #8b8b8b;
	color: #fff;
	font: inherit;
	font-size: 14.5px;
}

.cs-newsletter__form input[type="email"]::placeholder {
	color: rgba(255, 255, 255, .85);
}

.cs-newsletter__form input[type="email"]:focus {
	outline: none;
	box-shadow: 0 0 0 3px rgba(212, 159, 88, .35);
}

.cs-newsletter__form button {
	height: 54px;
	border: 0;
	border-radius: 999px;
	background: #333333;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .18s;
}

.cs-newsletter__form button:hover {
	background: var(--cs-gold-dark);
}

.cs-newsletter__consent {
	margin: 0;
	font-size: 12px;
	line-height: 1.5;
	color: var(--cs-muted);
}

.cs-newsletter__consent a {
	color: var(--cs-gold-dark);
}

/* ------------------------------------------------------------------ */
/*  Kolumny stopki                                                     */
/* ------------------------------------------------------------------ */

.cs-footer__main {
	border-top: 1px solid var(--cs-line-dark);
	padding: 56px 0 44px;
}

.cs-footer__grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1fr;
	gap: 48px;
}

.cs-footer__title {
	margin: 0 0 22px;
	font-family: var(--cs-serif);
	font-size: 21px;
	font-weight: 500;
	color: #fff;
}

.cs-footer address {
	font-style: normal;
	line-height: 2.1;
}

.cs-footer a {
	color: var(--cs-on-dark);
}

.cs-footer a:hover {
	color: var(--cs-gold);
}

.cs-footer__contact-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 22px;
	padding-bottom: 5px;
	border-bottom: 1px solid #fff;
	color: #fff !important;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.cs-footer__contact-link:hover {
	border-color: var(--cs-gold);
	color: var(--cs-gold) !important;
}

/* Kolumny z odnosnikami wyrownane do prawej, jak dotychczas */
.cs-footer__col--links {
	text-align: right;
}

.cs-footer__menu {
	margin: 0;
	padding: 0;
	list-style: none;
	line-height: 2.35;
}

.cs-footer__social {
	display: flex;
	gap: 14px;
}

.cs-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid var(--cs-line-dark);
	border-radius: 50%;
	color: #fff;
}

.cs-footer__social a:hover {
	background: var(--cs-gold);
	border-color: var(--cs-gold);
	color: #fff;
}

.cs-footer__social svg {
	width: 18px;
	height: 18px;
}

/* ------------------------------------------------------------------ */
/*  Dolny pasek                                                        */
/* ------------------------------------------------------------------ */

.cs-footer__bar {
	border-top: 1px solid var(--cs-line-dark);
	padding: 20px 0;
	font-size: 13.5px;
}

.cs-footer__bar-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
}

.cs-footer__legal a + a {
	margin-left: 20px;
}

/* ------------------------------------------------------------------ */
/*  Przycisk "sprawdz apartamenty"                                     */
/* ------------------------------------------------------------------ */

.cs-float-book {
	position: fixed;
	z-index: 800;
	right: 24px;
	bottom: 24px;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 15px 26px;
	border-radius: 999px;
	background: var(--cs-gold);
	color: #fff !important;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .3);
	transition: background .18s, transform .18s;
}

.cs-float-book:hover {
	background: var(--cs-gold-dark);
	transform: translateY(-2px);
}

.cs-float-book svg {
	width: 18px;
	height: 18px;
}

/* Pasek z datami na stronie apartamentu nie moze zaslaniac przycisku. */
body.has-dates-bar .cs-float-book {
	bottom: calc(var(--pase-bar-h, 52px) + 20px);
}

/* ------------------------------------------------------------------ */
/*  Responsywnosc                                                      */
/* ------------------------------------------------------------------ */

@media (max-width: 991px) {
	.cs-newsletter__card {
		grid-template-columns: 1fr;
		gap: 26px;
		padding: 32px 28px;
	}

	.cs-footer__grid {
		grid-template-columns: 1fr 1fr;
		gap: 32px;
	}

	.cs-footer__col--links {
		text-align: left;
	}
}

@media (max-width: 600px) {
	.cs-footer__grid {
		grid-template-columns: 1fr;
	}

	.cs-footer__bar-inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.cs-float-book {
		right: 14px;
		bottom: 14px;
		padding: 13px 20px;
		font-size: 11.5px;
	}
}
