/*
 Theme Name:   Blocksy Lattessa
 Theme URI:    https://lattessacoffee.com
 Description:  Lattessa child theme — service pages and home section styles
 Author:       Lattessa
 Template:     blocksy
 Version:      1.0.0
 Text Domain:  blocksy-lattessa
*/

/* ── Footer ─────────────────────────────────────────────────────────────── */
footer#footer [data-row="middle"] {
	padding-top: 60px;
}

/* ── Quote page: shrink the empty spacer row between hero and form ──────── */
#gspb_row-id-gsbp-0d14521 {
	padding-top: 24px !important;
	padding-bottom: 24px !important;
}

/* ── Our Story image (gsbp-a600283) ─────────────────────────────────────── */
/*
 * Figma frames this image at 471×565 (ratio ~0.83) with a cover crop.
 * Without a height constraint the tall 1080×1616 source renders at its
 * full natural aspect, leaving dead white space at the top. Clamp it to
 * the design ratio and bias the crop downward to trim the ceiling.
 */
#gspb_image-id-gsbp-a600283 img {
	height: auto;
	aspect-ratio: 471 / 565;
	object-fit: cover;
	object-position: center 72%;
}

/* ── Fluent Booking embedded block ──────────────────────────────────────── */
/*
 * When rendered as a full standalone page, Fluent Booking uses
 * height:100vh + padding:66px on .calendar_wrap (the 66px is space
 * for a top nav bar that doesn't exist when embedded).
 * Override these so the block fits naturally in the page layout.
 */
.wp-block-fluent-booking-calendar .calendar_wrap {
	height: auto !important;
	min-height: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

.wp-block-fluent-booking-calendar .fluent_booking_app {
	padding: 0 !important;
}

/* ── Hero section ────────────────────────────────────────────────────────── */
#gspb_container-id-gsbp-54c14b7 {
	background-color: #ece5db;
	overflow: hidden;
	position: relative;
	margin-block-end: 0;
}

/* Hide old organic blob */
.lss-hero-blob {
	display: none;
}

/*
 * Wave background — Figma Vector1615 asset
 * Absolute, full-width, fills the hero container.
 */
#gspb_container-id-gsbp-54c14b7::before {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	background-image: url('/wp-content/uploads/lattessa-services/hero-wave.svg');
	background-repeat: no-repeat;
	background-position: top right;
	background-size: 100% 100%;
}

/* Card image – right column */
.lss-hero-card-wrap {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	height: 100%;
	position: relative;
	z-index: 1;
}

.lss-hero-card-img {
	/* Fixed proportion (Figma card 530×699) so the crop is identical on
	   every screen — no head/logo getting cut depending on viewport height. */
	aspect-ratio: 530 / 699;
	height: auto;
	object-fit: cover;
	object-position: center 72%;
	border-radius: 28px;
	display: block;
	box-shadow: 0 24px 64px rgba(35, 46, 42, 0.14)
}

/* Ensure hero text reads on cream background */
#gspb_container-id-gsbp-54c14b7 .gspb_heading {
	color: #1a2a22;
}

#gspb_container-id-gsbp-54c14b7 .gspb_text {
	color: #4a5a52;
}

/* Left column text above the wave */
#gspb_col-id-gsbp-a162418 {
	position: relative;
	z-index: 1;
}

/* Prevent AOS from hiding in-viewport hero elements before animation fires */
#gspb_container-id-gsbp-54c14b7 [data-aos] {
	opacity: 1;
	transform: none;
	transition: none;
}

/*
 * Wave background — mobile (≤ 768 px)
 * Single smooth arc from ~55% on the left edge to the top-right corner.
 */
@media (max-width: 767px) {
	/* Same SVG scales well on mobile thanks to preserveAspectRatio="none" */
	#gspb_container-id-gsbp-54c14b7::before {
		background-size: 100% 100%;
	}

	.lss-hero-card-wrap {
		padding-top: 20px;
	}

	.lss-hero-card-img {
		max-width: 300px;
		width: 85%;
		/* aspect-ratio inherited from base rule keeps the same crop */
	}
}
@media (min-width: 768px) {
	.lss-hero-card-img {
		height: 70vh;
	}
}
/* ── Services dropdown submenu ───────────────────────────────────────────── */

/* Dropdown panel — Blocksy desktop nav uses nav.menu-container */
nav.menu-container .menu-item-has-children > .sub-menu {
	background-color: #232e2a !important;
	border: 1px solid rgba(196, 154, 108, 0.25) !important;
	border-radius: 10px !important;
	padding: 8px 0 !important;
	min-width: 220px !important;
	box-shadow: 0 8px 32px rgba(35, 46, 42, 0.22) !important;
}

/* Dropdown items */
nav.menu-container .menu-item-has-children > .sub-menu li a {
	font-family: 'Inter', sans-serif !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	letter-spacing: 0.3px !important;
	color: rgba(255, 255, 255, 0.85) !important;
	padding: 11px 22px !important;
	display: block !important;
	transition: color 0.18s ease, background-color 0.18s ease !important;
	text-decoration: none !important;
}

nav.menu-container .menu-item-has-children > .sub-menu li a:hover {
	color: #c49a6c !important;
	background-color: rgba(196, 154, 108, 0.08) !important;
}

/* Gold on active service page */
nav.menu-container .menu-item-has-children > .sub-menu li.current-menu-item > a {
	color: #c49a6c !important;
}
