/* ==========================================================================
   Savoidakis Footer

   The layout, colours and typography live in the Elementor template; this file
   only does what stock widget controls cannot express — composing the form into
   a single pill, the bottom-bar separators, and the decorative artwork.
   ========================================================================== */

.savof-news,
.savof-cols,
.savof-bottom {
	position: relative;
	overflow: hidden;
}

/* ------------------------------------------------------------------ artwork */

.savof-art {
	pointer-events: none;
	user-select: none;
}

.savof-art img {
	display: block;
	width: 100%;
	height: auto;
}

.savof-news__row,
.savof-cols__row,
.savof-bottom__row {
	position: relative;
	z-index: 1;
}

@media (max-width: 1024px) {
	.savof-art {
		display: none;
	}
}

/* --------------------------------------------------------------- newsletter */

.savof-news__intro .elementor-widget-container {
	margin: 0;
}

/* The rule next to the intro is the container's left border; keep it exactly as
   tall as the text block. */
.savof-news__intro {
	align-self: flex-start;
}

/* ----------------------------------------------------------- subscribe pill */

.savof-subscribe .elementor-form .elementor-form-fields-wrapper {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0;
	height: 66px;
	margin: 0;
	padding: 0;
	background: #fff;
	border: 1px solid #E8E4E0;
	border-radius: 999px;
	overflow: hidden;
	box-shadow: 0 6px 20px rgba(60, 45, 40, .06);
}

.savof-subscribe .elementor-form .elementor-field-group {
	margin: 0;
	padding: 0;
	max-width: none;
}

.savof-subscribe .elementor-form .elementor-field-group.elementor-field-type-email {
	flex: 1 1 auto;
	min-width: 0;
}

.savof-subscribe .elementor-form .elementor-field-group.e-form__buttons {
	flex: 0 0 auto;
	width: auto;
}

.savof-subscribe .elementor-form input.elementor-field-textual:not([type="button"]) {
	width: 100%;
	height: 64px;
	min-height: 0;
	margin: 0;
	padding: 0 24px 0 43px;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	font-family: "Comfortaa", sans-serif;
	font-size: 18px;
	line-height: 1.2;
	color: #1E1B1A;
}

.savof-subscribe .elementor-form input.elementor-field-textual::placeholder {
	color: #9A9694;
	opacity: 1;
}

.savof-subscribe .elementor-form .elementor-button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 66px;
	min-height: 0;
	margin: 0;
	padding: 0 45px;
	border: 0;
	border-radius: 999px;
	background: #CC3262;
	color: #fff;
	font-family: "Comfortaa", sans-serif;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 2px;
	line-height: 1;
	text-transform: none;
	cursor: pointer;
	transition: filter .18s ease;
}

.savof-subscribe .elementor-form .elementor-button[type="submit"]:hover {
	filter: brightness(1.1);
	background: #CC3262;
	color: #fff;
}

.savof-subscribe .elementor-form .elementor-button-icon {
	display: inline-flex;
	align-items: center;
	font-size: 17px;
}

.savof-disclaimer a {
	color: #CC3262;
	text-decoration: none;
}

.savof-disclaimer a:hover {
	text-decoration: underline;
}

/* ------------------------------------------------------------ dark columns */

.savof-dash .elementor-divider {
	padding: 0;
}

.savof-dash .elementor-divider-separator {
	border-radius: 3px;
}

/* Link lists are icon lists with the icon slot switched off. */
.savof-links .elementor-icon-list-icon,
.savof-legal .elementor-icon-list-icon {
	display: none;
}

.savof-links .elementor-icon-list-item > a,
.savof-legal .elementor-icon-list-item > a {
	padding: 0;
	transition: color .18s ease;
}

.savof-links .elementor-icon-list-items {
	margin: 0;
}

.savof-stores .elementor-icon-box-icon {
	margin-top: 4px;
}

.savof-stores .elementor-icon-box-title {
	margin: 0;
}

.savof-stores .elementor-icon-box-description {
	margin: 0;
}

.savof-outline-btn .elementor-button:hover {
	background: #CC3262;
	border-color: #CC3262;
	color: #fff;
}

/* The button's border control is off (it drew a grey box), so the rule under
   the label is a text decoration rather than a border. */
.savof-b2b .elementor-button {
	border: 0;
	border-radius: 0;
	background: transparent;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 8px;
	text-decoration-color: rgba(255, 255, 255, .45);
	transition: text-decoration-color .18s ease;
}

.savof-b2b .elementor-button:hover {
	background: transparent;
	color: #fff;
	text-decoration-color: #CC3262;
}

.savof-b2b .elementor-button-icon {
	font-size: 12px;
}

.savof-socials .elementor-social-icon {
	background-color: transparent;
	transition: background-color .18s ease, border-color .18s ease;
}

.savof-socials .elementor-social-icon:hover {
	background-color: #CC3262;
	border-color: #CC3262;
}

/* ------------------------------------------------------------- bottom bar */

.savof-credit .savof-credit__link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #D8D4D2;
	font-family: "Comfortaa", sans-serif;
	font-size: 14px;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
}

.savof-credit .savof-credit__link img {
	display: block;
	width: 100px;
	height: auto;
	margin: 0;
}

.savof-legal .elementor-icon-list-items.elementor-inline-items {
	flex-wrap: wrap;
	align-items: center;
}

.savof-legal .elementor-icon-list-item {
	white-space: nowrap;
}

/* --------------------------------------------------------------- responsive */

@media (max-width: 1200px) {
	.savof-news__intro,
	.savof-news__form {
		width: 100% !important;
	}

	.savof-news__form {
		margin-top: 32px !important;
	}
}

@media (max-width: 1024px) {
	.savof-cols__row {
		flex-wrap: wrap;
	}

	.savof-col {
		width: 47% !important;
	}
}

@media (max-width: 767px) {
	.savof-subscribe .elementor-form .elementor-form-fields-wrapper {
		height: auto;
		flex-wrap: wrap;
		border-radius: 28px;
		padding: 6px;
	}

	.savof-subscribe .elementor-form .elementor-field-group.elementor-field-type-email,
	.savof-subscribe .elementor-form .elementor-field-group.e-form__buttons {
		flex: 1 1 100%;
		width: 100%;
	}

	.savof-subscribe .elementor-form input.elementor-field-textual:not([type="button"]) {
		height: 52px;
		padding: 0 20px;
	}

	.savof-subscribe .elementor-form .elementor-button[type="submit"] {
		width: 100%;
		height: 54px;
	}

	.savof-col {
		width: 100% !important;
	}

	.savof-bottom__row {
		flex-direction: column;
		text-align: center;
	}

	.savof-bottom__row .savof-divider {
		display: none;
	}

	.savof-legal .elementor-icon-list-items.elementor-inline-items {
		justify-content: center;
	}
}

/* Labels are off; the field keeps only the placeholder. */
.savof-subscribe .elementor-form .elementor-field-label {
	display: none;
}

/* The "see our stores" button fills its column and never wraps. */
.savof-outline-btn .elementor-button {
	display: flex;
	width: 100%;
	justify-content: center;
	align-items: center;
	white-space: nowrap;
}

.savof-outline-btn .elementor-button-content-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
}

.savof-b2b .elementor-button {
	display: inline-flex;
	white-space: nowrap;
}

/* The brand paragraph keeps the design's measure instead of filling the column. */
.savof-col--brand .savof-about {
	max-width: 360px;
}

/* ------------------------------------------------- phones: the bottom bar

   The credit line is one unbreakable string plus a 100px logo — about 350px of
   content in a 342px column, so the logo walked off the right edge. Below the
   tablet breakpoint it is allowed to wrap and centre itself. */

@media (max-width: 767px) {
	.savof-credit .savof-credit__link {
		flex-wrap: wrap;
		justify-content: center;
		gap: 8px;
		white-space: normal;
		font-size: 13px;
		text-align: center;
	}

	.savof-credit .savof-credit__link img {
		width: 88px;
	}

	.savof-credit {
		text-align: center;
	}

	/* Wrapped inline lists left a divider hanging at the end of a line. */
	.savof-legal .elementor-icon-list-items.elementor-inline-items {
		justify-content: center;
		gap: 6px 18px;
	}

	.savof-legal .elementor-icon-list-items.elementor-inline-items .elementor-inline-item::after,
	.savof-legal .elementor-icon-list-item:not(:last-child)::after {
		content: none;
		display: none;
	}

	.savof-legal .elementor-icon-list-items.elementor-inline-items .elementor-inline-item {
		margin: 0;
		padding: 0;
		border: 0;
	}
}

/* The floating bar rests over the page, so the space kept clear for it belongs
   inside the footer's own dark band — on the body it was a white strip under
   the footer that read as a gap. */
body.smm-has-bottom-nav .savof-bottom {
	padding-bottom: calc(24px + var(--smm-bottom-reserve, 84px) + env(safe-area-inset-bottom, 0px));
}

/* Elementor's kit gives every bare link a dark grey hover (#414142). On the
   footer's near-black band that turns the words invisible the moment the
   pointer reaches them — which is what happened to the credit line. Two-class
   selectors are deliberate: enough to clear the kit, low enough that a hover
   colour set in the Elementor panel still wins. */
.savof-bottom a:hover,
.savof-bottom a:focus,
.savof-cols a:hover,
.savof-cols a:focus {
	color: #FFFFFF;
}

.savof-credit__link:hover,
.savof-credit__link:focus {
	color: #FFFFFF;
}
