/**
 * Fragranz Fables Luxury Footer Responsive Stylesheet
 *
 * Handles Breakpoints:
 * - Desktop: >= 1025px (4-column layout)
 * - Tablet:  768px – 1024px (2-column grid layout)
 * - Mobile:  <= 767px (1-column stacked editorial layout)
 *
 * @package FragranzFables\ElementorFooter
 */

/* ==========================================================================
   Tablet Devices (768px - 1024px)
   ========================================================================== */

@media (max-width: 1024px) {
	.ff-footer {
		padding-top: 60px;
		padding-bottom: 35px;
	}

	.ff-footer__main {
		row-gap: 40px;
		column-gap: 30px;
	}

	.ff-footer__brand {
		flex: 0 0 100%;
		max-width: 100%;
		margin-bottom: 10px;
	}

	.ff-footer__col-shop {
		flex: 0 0 32%;
		max-width: 32%;
	}

	.ff-footer__col-discover {
		flex: 0 0 35%;
		max-width: 35%;
	}

	.ff-footer__col-follow {
		flex: 0 0 25%;
		max-width: 25%;
	}

	.ff-footer__decorative-wing {
		width: 550px;
		height: 280px;
		opacity: 0.05;
	}

	.ff-footer__divider {
		margin-top: 40px;
		margin-bottom: 25px;
	}

	.ff-footer__bottom {
		font-size: 12px;
	}

	.ff-footer__legal {
		gap: 20px;
	}
}

/* ==========================================================================
   Mobile Devices (<= 767px)
   ========================================================================== */

@media (max-width: 767px) {
	.ff-footer {
		padding-top: 50px;
		padding-bottom: 30px;
	}

	.ff-footer__container {
		padding-left: 20px;
		padding-right: 20px;
	}

	.ff-footer__main {
		display: flex;
		flex-direction: column;
		row-gap: 35px;
		column-gap: 0;
	}

	.ff-footer__brand,
	.ff-footer__col-shop,
	.ff-footer__col-discover,
	.ff-footer__col-follow {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		width: 100%;
	}

	.ff-footer__brand {
		align-items: flex-start;
		text-align: left;
	}

	.ff-footer__logo-img {
		width: 160px;
	}

	.ff-footer__tagline {
		font-size: 14px;
	}

	.ff-footer__heading {
		margin-bottom: 16px;
		font-size: 12.5px;
	}

	.ff-footer__menu-item {
		margin-bottom: 6px;
	}

	/* Touch target optimization: minimum 44px hit area */
	.ff-footer__link {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
		padding: 4px 0;
		font-size: 14px;
	}

	.ff-footer__social-list {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 15px;
	}

	.ff-footer__social-link {
		min-height: 44px;
		min-width: 44px;
	}

	.ff-footer__social-icon-wrapper {
		width: 44px;
		height: 44px;
	}

	/* Subtle Wing Background on Mobile */
	.ff-footer__decorative-wing {
		width: 340px;
		height: 180px;
		top: 30%;
		opacity: 0.04;
	}

	/* Divider */
	.ff-footer__divider {
		margin-top: 35px;
		margin-bottom: 25px;
	}

	/* Bottom Bar on Mobile */
	.ff-footer__bottom {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
		font-size: 12px;
	}

	.ff-footer__copyright {
		order: 2;
		color: #928b80;
	}

	.ff-footer__legal {
		order: 1;
		flex-direction: row;
		flex-wrap: wrap;
		gap: 16px 20px;
	}

	.ff-footer__legal-link {
		display: inline-flex;
		align-items: center;
		min-height: 38px;
		padding: 2px 0;
	}
}

/* Very Small Mobile (< 380px) */
@media (max-width: 380px) {
	.ff-footer__legal {
		gap: 10px 15px;
	}
}
