/* ——— Luvbox footer redesign ——— */

:root {
	--luv-f-red: #c54040;
	--luv-f-cream: #eadcd3;
	--luv-f-ink: #0e0c0c;
	--luv-f-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* Dark footer shells (home + product + similar pages) */
.elementor-element-cf58376,
.elementor-element-5c429de,
.elementor-468 .elementor-element-5c429de,
.elementor-499 .elementor-element[data-settings*="background"],
.elementor-element-cf58376.e-con,
.elementor-element-5c429de.e-con {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding-block: clamp(3.5rem, 7vw, 5.5rem) !important;
	background:
		radial-gradient(ellipse 55% 45% at 12% 0%, rgba(197, 64, 64, 0.28), transparent 55%),
		radial-gradient(ellipse 40% 40% at 90% 100%, rgba(234, 220, 211, 0.06), transparent 50%),
		linear-gradient(165deg, #1a1212 0%, #0e0c0c 55%, #160f0f 100%) !important;
	border-top: 1px solid rgba(234, 220, 211, 0.08);
}

.elementor-element-cf58376::before,
.elementor-element-5c429de::before {
	content: "";
	position: absolute;
	inset: 0 auto auto 0;
	width: 100%;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--luv-f-red), transparent);
	opacity: 0.7;
	z-index: 2;
	pointer-events: none;
}

.elementor-element-cf58376::after,
.elementor-element-5c429de::after {
	content: "LUVBOX";
	position: absolute;
	right: -2%;
	bottom: -8%;
	font-family: canter, Georgia, serif;
	font-size: clamp(6rem, 18vw, 14rem);
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 0.8;
	color: rgba(234, 220, 211, 0.035);
	pointer-events: none;
	z-index: 0;
	user-select: none;
}

.elementor-element-cf58376 > .e-con,
.elementor-element-cf58376 > .e-con-inner,
.elementor-element-5c429de > .e-con,
.elementor-element-5c429de > .e-con-inner,
.elementor-element-2d57425,
.elementor-element-ea3787a {
	position: relative;
	z-index: 1;
	width: min(1120px, calc(100% - 2rem));
	margin-inline: auto;
	gap: 2rem !important;
}

/* Logo */
.elementor-element-6626783 img,
.elementor-element-99312f1 img {
	width: min(140px, 42%) !important;
	filter: drop-shadow(0 8px 24px rgba(197, 64, 64, 0.25));
	transition: transform 0.45s var(--luv-f-ease), filter 0.45s var(--luv-f-ease);
}

.elementor-element-6626783:hover img,
.elementor-element-99312f1:hover img {
	transform: scale(1.04);
	filter: drop-shadow(0 12px 28px rgba(197, 64, 64, 0.4));
}

/* About text */
.elementor-element-885267d,
.elementor-element-27cb921 {
	max-width: 34rem;
}

.elementor-element-885267d p,
.elementor-element-27cb921 p,
.elementor-element-885267d,
.elementor-element-27cb921 {
	color: #cfc4bc !important;
	font-family: Helvetica, Arial, sans-serif !important;
	font-size: 0.95rem !important;
	line-height: 1.75 !important;
}

/* Link lists */
.elementor-element-02f7aee .elementor-icon-list-item,
.elementor-element-e749200 .elementor-icon-list-item,
.elementor-element-cca4a13 .elementor-icon-list-item,
.elementor-element-40efb30 .elementor-icon-list-item {
	transition: transform 0.3s var(--luv-f-ease);
}

.elementor-element-02f7aee .elementor-icon-list-item:hover,
.elementor-element-e749200 .elementor-icon-list-item:hover,
.elementor-element-cca4a13 .elementor-icon-list-item:hover,
.elementor-element-40efb30 .elementor-icon-list-item:hover {
	transform: translateX(4px);
}

.elementor-element-02f7aee .elementor-icon-list-text,
.elementor-element-e749200 .elementor-icon-list-text,
.elementor-element-cca4a13 .elementor-icon-list-text,
.elementor-element-40efb30 .elementor-icon-list-text {
	font-family: Helvetica, Arial, sans-serif !important;
	font-size: 0.92rem !important;
	letter-spacing: 0.02em;
	color: #e8dfd8 !important;
}

.elementor-element-02f7aee .elementor-icon-list-item:hover .elementor-icon-list-text,
.elementor-element-e749200 .elementor-icon-list-item:hover .elementor-icon-list-text {
	color: #f3b4b4 !important;
}

.elementor-element-02f7aee .elementor-icon-list-icon i,
.elementor-element-e749200 .elementor-icon-list-icon i,
.elementor-element-02f7aee .elementor-icon-list-icon svg,
.elementor-element-e749200 .elementor-icon-list-icon svg {
	color: var(--luv-f-red) !important;
	fill: var(--luv-f-red) !important;
}

/* Social icons */
.elementor-element-1506289 .elementor-social-icon,
.elementor-element-99bd8d4 .elementor-social-icon {
	width: 2.6rem !important;
	height: 2.6rem !important;
	border-radius: 999px !important;
	background: rgba(234, 220, 211, 0.08) !important;
	border: 1px solid rgba(234, 220, 211, 0.16) !important;
	transition: transform 0.35s var(--luv-f-ease), background 0.35s var(--luv-f-ease), border-color 0.35s var(--luv-f-ease), box-shadow 0.35s var(--luv-f-ease) !important;
}

.elementor-element-1506289 .elementor-social-icon:hover,
.elementor-element-99bd8d4 .elementor-social-icon:hover {
	transform: translateY(-3px) scale(1.05);
	background: var(--luv-f-red) !important;
	border-color: transparent !important;
	box-shadow: 0 10px 24px rgba(197, 64, 64, 0.4);
}

.elementor-element-1506289 .elementor-social-icon i,
.elementor-element-99bd8d4 .elementor-social-icon i {
	color: #f0e8e2 !important;
}

/* Cream bottom bar */
.elementor-element-cc49bfb,
.elementor-element-3c37e5a {
	position: relative;
	padding-block: 1.1rem !important;
	background:
		linear-gradient(180deg, #f3ebe4, var(--luv-f-cream)) !important;
	border-top: 0 !important;
}

.elementor-element-cc49bfb::before,
.elementor-element-3c37e5a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: linear-gradient(90deg, transparent 5%, #b61d1d 35%, #e8b4b4 50%, #b61d1d 65%, transparent 95%);
}

.elementor-element-3147245,
.elementor-element-50c16ac,
.elementor-element-3147245 p,
.elementor-element-50c16ac p {
	font-family: Helvetica, Arial, sans-serif !important;
	font-size: 0.78rem !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase;
	color: #5a504a !important;
	margin: 0 !important;
}

/* Injected brand ribbon */
.luv-footer-ribbon {
	position: relative;
	padding: 1.35rem 1.25rem;
	background: linear-gradient(105deg, #7a1f1f 0%, #c54040 48%, #5c1616 100%);
	color: #f6efea;
	overflow: hidden;
}

.luv-footer-ribbon::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 40% 120% at 85% 50%, rgba(255, 255, 255, 0.12), transparent 55%);
	pointer-events: none;
}

.luv-footer-ribbon__inner {
	position: relative;
	z-index: 1;
	width: min(1120px, calc(100% - 0.5rem));
	margin-inline: auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.luv-footer-ribbon__text {
	font-family: canter, Georgia, serif;
	font-size: clamp(1.45rem, 2.8vw, 2rem);
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.15;
	margin: 0;
}

.luv-footer-ribbon__text span {
	display: block;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	opacity: 0.8;
	margin-bottom: 0.35rem;
}

.luv-footer-ribbon__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.75rem 1.35rem;
	border-radius: 999px;
	background: #f6efea;
	color: #1a0e0e;
	text-decoration: none;
	font-family: canter, Georgia, serif;
	font-size: 1.15rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	transition: transform 0.35s var(--luv-f-ease), box-shadow 0.35s var(--luv-f-ease);
}

.luv-footer-ribbon__cta:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
	color: #1a0e0e;
}

/* Soften / hide duplicate Hello theme footer if empty-ish */
#site-footer.site-footer {
	background: var(--luv-f-cream);
	border: 0;
	padding: 0.65rem 1rem;
}

#site-footer .copyright {
	font-family: Helvetica, Arial, sans-serif;
	font-size: 0.72rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #6a605a;
	text-align: center;
}

@media (max-width: 767px) {
	.elementor-element-cf58376::after,
	.elementor-element-5c429de::after {
		font-size: 5.5rem;
		right: -6%;
		bottom: -4%;
	}

	.luv-footer-ribbon__inner {
		flex-direction: column;
		align-items: flex-start;
	}
}
