/*
Theme Name: Lilly
Theme URI: https://webwizbd.com/lilly
Author: Lilly Design Team
Author URI: https://webwizbd.com/
Description: A premium, minimal, and hyper-clean Full Site Editing (FSE) block theme designed for Project Lilly.
Version: 1.0.18
Requires at least: 6.5
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lilly
Tags: full-site-editing, block-theme, e-commerce
*/

/* ==========================================================================
   Global Layout & Spacing Resets
   ========================================================================== */

/* Prevent horizontal scrollbars globally */
html,
body {
	overflow-x: hidden;
}

/* Eliminate WordPress's default 24px blockGap margins between root-level elements */

/*
 * Keep the hero's crop area at 16:9 or taller. The source image is wider than
 * this ratio, so the Cover block always has horizontal overflow for its native
 * focal-point Left control to position.
 */

/* ==========================================================================
   Product Card Layout & Spacing
   ========================================================================== */

/* Outer Card Container */
.product-card {
	border: 1px solid var(--wp--preset--color--muted);
	padding: 0 0 var(--wp--preset--spacing--md) 0 !important;
	display: flex;
	flex-direction: column;
	background: var(--wp--preset--color--base);
}

/* Card Featured Image */
.product-card .wp-block-post-featured-image {
	margin-top: 0 !important;
	margin-bottom: var(--wp--preset--spacing--sm) !important;
}
.product-card .wp-block-post-featured-image img {
	width: 100%;
	height: auto;
	display: block;
}

/* Card Text/Button Details Container */
.product-card-details {
	padding: 0 var(--wp--preset--spacing--sm) !important;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--xs);
}

/* Center and style typography inside the card details */
.product-card-details .wp-block-post-title {
	margin: 0 !important;
}
.product-card-details .price {
	font-weight: 700;
	margin-bottom: var(--wp--preset--spacing--xs) !important;
}

/* ==========================================================================
   Features Brand Grid Styling
   ========================================================================== */

/* Stack the list items with standard vertical spacing */
.features-grid-column {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--md);
}

/* Feature Item Flex Wrapper */
.feature-item {
	display: flex;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--sm);
}

/* Solid circular icon badge wrapper */
.feature-icon-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	flex-shrink: 0;
}

/* Align and format icon text details */
.feature-text {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--xxs);
}

.feature-title {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin: 0 !important;
	color: var(--wp--preset--color--contrast);
}

.feature-desc {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--contrast);
	opacity: 0.8;
	margin: 0 !important;
	line-height: 1.5;
}

/* ==========================================================================
   Testimonial Marqueue Ticker Styles
   ========================================================================== */

/* Header Rating Badge */
.rating-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border: 1px solid var(--wp--preset--color--muted);
	padding: 6px 12px;
	border-radius: 50px;
	background: var(--wp--preset--color--base);
}

/* Outer Marquee wrapper */
.testimonials-marquee-container {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--md);
	overflow: hidden;
	width: 100% !important;
	max-width: 100% !important;
	padding: 10px 0;
	box-sizing: border-box;
}

/* Row configuration */
.marquee-row {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	width: 100%;
	overflow: hidden;
}

/* Flex Container for cards */
.wp-block-post-template.marquee-track,
.marquee-track {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: var(--wp--preset--spacing--md);
	width: max-content;
	min-width: max-content;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Card Styling conforming to Lilly Theme presets */
.wp-block-group.testimonial-card,
.testimonial-card {
	flex: 0 0 320px;
	width: 320px;
	min-width: 320px;
	flex-shrink: 0;
	background: var(--wp--preset--color--muted);
	border: 1px solid rgba(0, 0, 0, 0.05);
	border-radius: 12px;
	padding: var(--wp--preset--spacing--md);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--sm);
	transition: transform 0.3s ease;
}

.testimonial-card:hover {
	transform: translateY(-4px);
}

.card-stars {
	color: var(--wp--preset--color--accent);
	font-size: 14px;
	letter-spacing: 2px;
}

.card-text {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--contrast);
	line-height: 1.6;
	margin: 0 !important;
	opacity: 0.95;
	flex-grow: 1;
}

.card-author {
	font-family: var(--wp--preset--font-family--body);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	margin-top: auto;
}

/* ANIMATION WIRING */

/* Row 1: Scroll Left */
.marquee-row-left .marquee-track {
	animation: scrollLeft 40s linear infinite;
}

/* Row 2: Scroll Right */
.marquee-row-right .marquee-track {
	animation: scrollRight 40s linear infinite;
}

/* Pause scroll on hover */
.marquee-row:hover .marquee-track {
	animation-play-state: paused;
}

/* Keyframe for left scroll: shift width of original set (50% of track) */
@keyframes scrollLeft {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(
			calc(-50% - (var(--wp--preset--spacing--md) / 2))
		);
	}
}

/* Keyframe for right scroll */
@keyframes scrollRight {
	0% {
		transform: translateX(
			calc(-50% - (var(--wp--preset--spacing--md) / 2))
		);
	}
	100% {
		transform: translateX(0);
	}
}

/* Responsive adjustments */
@media (max-width: 768px) {
	.testimonial-card {
		flex: 0 0 270px;
		padding: var(--wp--preset--spacing--sm);
	}
	.marquee-row-left .marquee-track {
		animation-duration: 25s;
	}
	.marquee-row-right .marquee-track {
		animation-duration: 25s;
	}
}

/* ==========================================================================
   Instagram Client Gallery Grid Styling
   ========================================================================== */

.instagram-feed-grid {
	margin-top: var(--wp--preset--spacing--lg);
}

.instagram-item {
	position: relative;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 3 / 4;
	background: var(--wp--preset--color--muted);
	border-radius: 0px;
}

.instagram-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.instagram-item:hover .instagram-img {
	transform: scale(1.05);
}

.instagram-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(19, 41, 75, 0.4); /* Navy Blue brand overlay */
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--base);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.instagram-item:hover .instagram-overlay {
	opacity: 1;
}

.instagram-overlay span {
	font-size: 32px;
	color: var(--wp--preset--color--secondary);
}

/* Instagram Marquee Gallery Ticker */
.instagram-marquee-container {
	width: 100% !important;
	max-width: 100% !important;
	overflow: hidden;
	position: relative;
	margin-top: var(--wp--preset--spacing--lg);
	padding: 10px 0;
	box-sizing: border-box;
}

.instagram-marquee-container .wp-block-gallery,
.instagram-marquee-gallery {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	gap: var(--wp--preset--spacing--md) !important;
	width: max-content !important;
	min-width: max-content !important;
	animation: instagramScrollLeft 35s linear infinite;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.instagram-marquee-container:hover .wp-block-gallery,
.instagram-marquee-gallery:hover {
	animation-play-state: paused;
}

.instagram-marquee-gallery .wp-block-image,
.instagram-marquee-container .wp-block-image {
	flex: 0 0 260px !important;
	width: 260px !important;
	min-width: 260px !important;
	height: 340px !important;
	margin: 0 !important;
	position: relative;
	overflow: hidden;
	border-radius: 8px;
}

.instagram-marquee-gallery .wp-block-image img,
.instagram-marquee-container .wp-block-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block;
	transition: transform 0.4s ease;
}

.instagram-marquee-gallery .wp-block-image:hover img,
.instagram-marquee-container .wp-block-image:hover img {
	transform: scale(1.05);
}

@keyframes instagramScrollLeft {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(calc(-50% - (var(--wp--preset--spacing--md) / 2)));
	}
}

@media (max-width: 768px) {
	.instagram-marquee-gallery .wp-block-image,
	.instagram-marquee-container .wp-block-image {
		flex: 0 0 200px !important;
		width: 200px !important;
		min-width: 200px !important;
		height: 270px !important;
	}
	.instagram-marquee-container .wp-block-gallery,
	.instagram-marquee-gallery {
		animation-duration: 25s;
	}
}
