/* THEFLOW mega menus (desktop): Shop, Occasions, Flowers. */

.tf-mega-item > .tf-mega-drop {
	--tf-mega-bg: #f7f4ef;
	--tf-mega-line: #e6dfd5;
	--tf-mega-tint: #efe7dc;
	--tf-mega-ink: #1f1f1f;
	--tf-mega-muted: #6b6b6b;
	--wd-dropdown-padding: 0px;
	--tf-mega-w: min(1360px, calc(100vw - 64px));
	/* a floating panel centred under the bar (megamenu.js sets its left edge) */
	right: auto !important;
	width: var(--tf-mega-w) !important;
	padding: 0;
	border-radius: 6px;
	background: var(--tf-mega-bg);
	box-shadow: 0 18px 40px rgba(20, 16, 10, .14);
}
.tf-mega-item > .tf-mega-drop > .container {
	padding: 0;
}

.tf-mega {
	display: grid;
	gap: 0 32px;
	padding: 32px 40px 34px;
	font-family: var(--wd-text-font, "Lora"), Georgia, serif;
	text-align: left;
	color: var(--tf-mega-ink);
}
.tf-mega--shop {
	grid-template-columns: 250px 1px minmax(0, 1fr);
}
.tf-mega--occasions {
	grid-template-columns: 250px 1px minmax(0, 1fr);
}
.tf-mega--flowers {
	grid-template-columns: minmax(0, 1.3fr) 1px minmax(0, 1fr);
	gap: 0 44px;
}
.tf-mega__rule {
	background: var(--tf-mega-line);
}

/* About: a smaller centred panel — links, a hairline, then a few words over the founder's photo */
.tf-mega-item > .tf-mega-drop--about {
	--tf-mega-w: min(800px, calc(100vw - 64px));
}
.tf-mega--about {
	grid-template-columns: 220px 1px minmax(0, 1fr);
	gap: 0;
	padding: 0;
	overflow: hidden;
	border-radius: 6px;
}
.tf-mega__side {
	padding: 30px 24px 30px 26px;
}
.tf-mega__story {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 270px;
}
.tf-mega__story-pic {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 54%;
}
.tf-mega__story-pic img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 30%;
}
/* the photo fades into the panel colour under the words */
.tf-mega__story-pic::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	z-index: 1;
	width: 55%;
	background: linear-gradient(90deg, var(--tf-mega-bg), rgba(247, 244, 239, 0));
}
.tf-mega__story-body {
	position: relative;
	z-index: 2;
	max-width: 290px;
	padding: 32px 0 32px 40px;
}
.tf-mega .tf-mega__headline {
	margin: 0 0 12px;
	font-family: var(--tf-head-font, "Marcellus SC"), Georgia, serif;
	font-size: 21px;
	line-height: 1.25;
	letter-spacing: var(--tf-head-ls, .06em);
	text-transform: uppercase;
	color: var(--tf-mega-ink);
}
.tf-mega .tf-mega__text {
	margin: 0 0 22px;
	font-size: 14px;
	line-height: 1.55;
	color: var(--tf-mega-muted);
}
.tf-mega .tf-mega__story-link {
	display: inline-block;
	padding-bottom: 4px;
	border-bottom: 1px solid currentColor;
	font-family: var(--tf-label-font, "TF Tenor Sans"), Georgia, serif;
	font-size: 12px;
	line-height: 1.3;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--tf-accent, #bc9764);
	transition: color .15s ease;
}
.tf-mega .tf-mega__story-link:hover,
.tf-mega .tf-mega__story-link:focus-visible {
	color: #8f6f43;
}

/* Left list */
.tf-mega .tf-mega__list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.tf-mega .tf-mega__list li {
	margin: 0;
	padding: 0;
}
.tf-mega .tf-mega__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 14px;
	border-radius: 3px;
	font-size: 15px;
	line-height: 1.4;
	color: var(--tf-mega-ink);
	text-transform: none;
	letter-spacing: 0;
	transition: background-color .15s ease, color .15s ease;
}
.tf-mega__chev {
	flex: none;
	width: 14px;
	height: 14px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.4;
	opacity: .55;
}
.tf-mega .tf-mega__link:hover,
.tf-mega .tf-mega__link:focus-visible {
	background: var(--tf-mega-tint);
	color: #8f6f43; /* a deeper shade of the accent, easier to read on the tint */
}

/* Small caps section labels */
.tf-mega .tf-mega__label {
	margin: 0 0 16px;
	font-family: var(--tf-label-font, "TF Tenor Sans"), Georgia, serif;
	font-size: 12px;
	letter-spacing: .16em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--tf-mega-ink);
}

/* Picture cards */
.tf-mega__cards {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
}
.tf-mega__cards--5 {
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 16px;
}
.tf-mega--shop .tf-mega__cards--5 {
	gap: 18px;
}
.tf-mega--shop .tf-mega__cards--5 .tf-mega__name {
	font-size: 13px;
	letter-spacing: .02em;
}
.tf-mega .tf-mega__card,
.tf-mega .tf-mega__flower {
	display: flex;
	flex-direction: column;
	color: var(--tf-mega-ink);
}
.tf-mega__pic {
	display: block;
	overflow: hidden;
	border-radius: 3px;
	background: #ebe4da;
	aspect-ratio: 4 / 5;
}
.tf-mega--occasions .tf-mega__cards--5 .tf-mega__pic {
	aspect-ratio: 1 / 1.08;
}
.tf-mega--shop .tf-mega__pic {
	aspect-ratio: 1 / 1; /* square bouquet photos */
}
.tf-mega--shop .tf-mega__pic {
	aspect-ratio: 1 / 1; /* square bouquet photos */
}
.tf-mega__flowers .tf-mega__pic {
	aspect-ratio: 1 / 1.1;
}
.tf-mega__pic img,
.tf-mega__dot img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s cubic-bezier(.22, 1, .36, 1);
}
.tf-mega .tf-mega__card:hover img,
.tf-mega .tf-mega__flower:hover img,
.tf-mega .tf-mega__color:hover img {
	transform: scale(1.04);
}
.tf-mega .tf-mega__name {
	margin-top: 14px;
	font-family: var(--tf-label-font, "TF Tenor Sans"), Georgia, serif;
	font-size: 13px;
	letter-spacing: .02em; /* tight, as asked */
	line-height: 1.4;
	text-transform: uppercase;
}
.tf-mega--occasions .tf-mega__cards--5 .tf-mega__name {
	margin-top: 12px;
	font-family: var(--wd-text-font, "Lora"), Georgia, serif;
	font-size: 15px;
	letter-spacing: 0;
	text-align: center;
	text-transform: none;
}
.tf-mega .tf-mega__more {
	margin-top: auto; /* level across cards when a name runs to two lines */
	padding-top: 6px;
	font-size: 14px;
	color: var(--tf-accent, #bc9764);
}
.tf-mega .tf-mega__card:hover .tf-mega__name,
.tf-mega .tf-mega__flower:hover .tf-mega__caption,
.tf-mega .tf-mega__color:hover .tf-mega__caption {
	color: #8f6f43;
}

/* Flowers & colours */
.tf-mega__half {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.tf-mega__flowers {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 16px;
}
.tf-mega .tf-mega__caption {
	margin-top: 10px;
	font-size: 14px;
	line-height: 1.35;
	text-align: center;
	color: var(--tf-mega-ink);
	transition: color .15s ease;
}
.tf-mega__colors {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px 8px;
}
.tf-mega .tf-mega__color {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.tf-mega__dot {
	display: block;
	overflow: hidden;
	width: 62px;
	height: 62px;
	border-radius: 50%;
	background: #ebe4da;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, .04);
}
.tf-mega .tf-mega__color:hover .tf-mega__dot img {
	transform: scale(1.06);
}
.tf-mega .tf-mega__color .tf-mega__caption {
	margin-top: 8px;
	font-size: 13.5px;
}
.tf-mega .tf-mega__all {
	align-self: stretch;
	margin-top: auto;
	padding-top: 22px;
	border-top: 1px solid var(--tf-mega-line);
	font-family: var(--tf-label-font, "TF Tenor Sans"), Georgia, serif;
	font-size: 12px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--tf-mega-ink);
}
/* both "View all" links sit on one line at the foot of their column */
.tf-mega__flowers,
.tf-mega__colors {
	margin-bottom: 26px;
}
.tf-mega .tf-mega__all:hover {
	color: #8f6f43;
}

/* Narrower desktops */
@media (max-width: 1300px) {
	.tf-mega {
		padding: 26px 28px 28px;
		gap: 0 24px;
	}
	.tf-mega--shop,
	.tf-mega--occasions {
		grid-template-columns: 210px 1px minmax(0, 1fr);
	}
	.tf-mega__dot {
		width: 54px;
		height: 54px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tf-mega img {
		transition: none;
	}
}

/* ===================== Phone menu (Woodmart side menu) ===================== */
.mobile-nav.wd-side-hidden {
	--tf-m-bg: #fff;
	--tf-m-line: #e6dfd5;
	--tf-m-ink: #2b2b2b;
	--tf-m-chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5'%3E%3Cpath d='M9.5 6l6 6-6 6'/%3E%3C/svg%3E");
	--wd-side-hidden-w: min(340px, 82vw);
	width: min(340px, 82vw);
	background: var(--tf-m-bg);
}

/* No close cross (the drawer closes with a tap beside it); the search is a quiet, light field */
html body .mobile-nav.wd-side-hidden .wd-heading {
	display: none !important;
}
.mobile-nav .searchform {
	position: relative;
	margin: 20px 18px 4px;
	box-shadow: none !important;
}
.mobile-nav.wd-side-hidden .searchform input[type="text"] {
	height: 44px;
	padding: 0 10px 0 42px !important;
	box-shadow: none !important;
	border: 0;
	border-radius: 6px;
	background: #f6f4f1;
	font-family: var(--wd-text-font, "Lora"), Georgia, serif;
	font-size: 12.5px;
	font-weight: 400;
	color: var(--tf-m-ink);
}
.mobile-nav .searchform input[type="text"]::placeholder {
	font-weight: 400;
	color: #aaa49d;
}
.mobile-nav.wd-side-hidden .searchform .searchsubmit {
	right: auto !important;
	left: 6px !important;
	width: 34px;
	color: #b3aba1;
}

/* Tabs: MENU / OCCASIONS with a gold underline */
.mobile-nav .wd-nav-mob-tab {
	margin: 0 0 4px;
	border-bottom: 1px solid var(--tf-m-line);
	background: none;
}
.mobile-nav .wd-nav-mob-tab > li > a {
	padding: 0 10px;
	background: none !important;
	font-family: var(--tf-head-font, "Marcellus SC"), Georgia, serif;
	font-size: 14px;
	letter-spacing: .03em;
	font-weight: 400;
	-webkit-text-stroke: 0;
	color: #8a8580;
}
.mobile-nav .wd-nav-mob-tab > li > a .nav-link-text {
	padding-top: 14px;
	padding-bottom: 13px;
}
.mobile-nav .wd-nav-mob-tab > li.wd-active > a {
	color: var(--tf-m-ink);
}
.mobile-nav .wd-nav-mob-tab {
	--nav-underline-color: var(--tf-accent, #bc9764);
}

/* Items: small caps rows with a chevron and hairlines, inset from the edges */
.mobile-nav .wd-nav-mobile {
	padding: 4px 18px 24px;
}
.mobile-nav .wd-nav-mobile > li {
	border-bottom: 1px solid var(--tf-m-line);
}
.mobile-nav .wd-nav-mobile > li > a {
	position: relative;
	min-height: 48px;
	padding: 0 28px 0 2px;
	background: none !important;
	font-family: var(--tf-head-font, "Marcellus SC"), Georgia, serif; /* thin serif caps, as in the design */
	font-size: 13.5px;
	font-weight: 400;
	-webkit-text-stroke: 0;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--tf-m-ink);
}
.mobile-nav .wd-nav-mobile > li:not(.menu-item-has-children) > a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	background: currentColor;
	-webkit-mask: var(--tf-m-chev) center / contain no-repeat;
	mask: var(--tf-m-chev) center / contain no-repeat;
	opacity: .55;
}
.mobile-nav .wd-nav-mobile > li > .wd-nav-opener {
	width: 44px;
	height: 56px;
	background: none !important;
	border: 0 !important;
}
.mobile-nav .wd-nav-mobile li > a {
	border: 0 !important;
}
/* one divider above the account group, not two */
.mobile-nav .wd-nav-mobile > li:has(+ li > a[href*="/flowers-delivery"]) {
	border-bottom: 0;
}
/* Delivery, contact, account: a quieter group under a divider, with line icons */
.mobile-nav .wd-nav-mobile > li:has(> a[href*="/flowers-delivery"]) {
	margin-top: 26px;
	padding-top: 10px;
	border-top: 1px solid #cfc5b7;
}
/* the account group has no hairlines between its rows */
.mobile-nav .wd-nav-mobile > li:is(:has(> a[href*="/flowers-delivery"]), :has(> a[href*="/contact-us"]), .menu-item-account) {
	border-bottom: 0;
}
.mobile-nav .wd-nav-mobile > li:is(:has(> a[href*="/flowers-delivery"]), :has(> a[href*="/contact-us"]), .menu-item-account) > a {
	min-height: 46px;
	padding-left: 44px;
	font-size: 14px;
	letter-spacing: .02em;
}
.mobile-nav .wd-nav-mobile > li:is(:has(> a[href*="/flowers-delivery"]), :has(> a[href*="/contact-us"]), .menu-item-account) > a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 26px;
	height: 26px;
	margin: -13px 0 0;
	background: var(--tf-accent, #bc9764);
	-webkit-mask: var(--tf-m-icon) center / contain no-repeat;
	mask: var(--tf-m-icon) center / contain no-repeat;
	font-size: 0;
}
.mobile-nav .wd-nav-mobile > li:has(> a[href*="/flowers-delivery"]) {
	--tf-m-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linejoin='round'%3E%3Cpath d='M2.5 6.5h11v9h-11zM13.5 9.5h4l3 3v3h-7z'/%3E%3Ccircle cx='6.5' cy='17' r='1.7'/%3E%3Ccircle cx='17' cy='17' r='1.7'/%3E%3C/svg%3E");
}
.mobile-nav .wd-nav-mobile > li:has(> a[href*="/contact-us"]) {
	--tf-m-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linejoin='round'%3E%3Cpath d='M6.6 3.5h2.6l1.4 4.1-2 1.3a12.4 12.4 0 0 0 6.5 6.5l1.3-2 4.1 1.4v2.6a2 2 0 0 1-2.1 2A16.6 16.6 0 0 1 4.6 5.6a2 2 0 0 1 2-2.1z'/%3E%3C/svg%3E");
}
.mobile-nav .wd-nav-mobile > li.menu-item-account {
	--tf-m-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 20.5c1.3-4 4.4-6 8-6s6.7 2 8 6'/%3E%3C/svg%3E");
}
.mobile-nav .wd-nav-mobile > li.menu-item-account > a > :is(.wd-nav-icon, img, svg) {
	display: none; /* the theme's own icon; ours is drawn in the accent colour */
}

/* Flowers panel inside the phone menu */
.mobile-nav .wd-nav-mobile .tf-mega-m {
	width: 100%;
	padding: 0 0 18px;
	background: none;
}
.mobile-nav .wd-nav-mobile .tf-mega-m > li {
	width: 100%;
	border: 0;
}
.tf-mega-m__panel {
	flex: 1 1 100%;
	width: 100%;
	min-width: 0;
}
.tf-mega-m__panel .tf-mega__label {
	margin: 6px 0 10px;
	font-family: var(--tf-label-font, "TF Tenor Sans"), Georgia, serif;
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #6b6b6b;
}
.tf-mega-m__flowers {
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}
.tf-mega-m__flowers li {
	border-bottom: 1px solid var(--tf-m-line);
}
.tf-mega-m__flowers li:last-child {
	border-bottom: 0;
}
.mobile-nav .wd-nav-mobile .tf-mega-m__flowers a {
	width: 100%;
	min-height: 0;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 8px 0;
	font-family: var(--wd-text-font, "Lora"), Georgia, serif;
	font-size: 15px;
	letter-spacing: 0;
	text-transform: none;
	color: var(--tf-m-ink);
}
.tf-mega-m__thumb {
	flex: none;
	width: 52px;
	height: 52px;
	overflow: hidden;
	border-radius: 3px;
	background: #ebe4da;
}
.mobile-nav .tf-mega-m__thumb img {
	display: block;
	width: 100% !important;
	max-width: none;
	max-height: none !important; /* the theme caps menu images at 18px */
	margin: 0 !important;
	height: 100% !important;
	object-fit: cover;
}
.tf-mega-m__name {
	flex: 1;
}
.tf-mega-m__flowers .tf-mega__chev {
	width: 14px;
	height: 14px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.4;
	opacity: .55;
}
.tf-mega-m__colors-wrap .tf-mega__colors {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px 8px;
}
.mobile-nav .tf-mega-m__colors-wrap .tf-mega__color {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 0;
	font-family: var(--wd-text-font, "Lora"), Georgia, serif;
	font-size: 13px;
	letter-spacing: 0;
	text-transform: none;
	color: var(--tf-m-ink);
}
.tf-mega-m__colors-wrap .tf-mega__dot {
	display: block;
	width: 64px;
	height: 64px;
	overflow: hidden;
	border-radius: 50%;
	background: #ebe4da;
}
.mobile-nav .tf-mega-m__colors-wrap .tf-mega__dot img {
	display: block;
	width: 100% !important;
	max-width: none;
	max-height: none !important;
	margin: 0 !important;
	height: 100% !important;
	object-fit: cover;
}
.tf-mega-m__colors-wrap .tf-mega__caption {
	margin-top: 6px;
}
.mobile-nav .tf-mega-m__colors-wrap .tf-mega__all {
	display: block;
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid var(--tf-m-line);
	font-family: var(--tf-label-font, "TF Tenor Sans"), Georgia, serif;
	font-size: 12px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--tf-m-ink);
}

/* Shop (13.10.2026): a narrow text-only panel under its menu item — prices | categories, same links and hover. */
.tf-mega-item > .tf-mega-drop--shop {
	--tf-mega-w: min(540px, calc(100vw - 64px));
}
.tf-mega--shop {
	grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr);
	gap: 0 20px;
	padding: 24px 24px 26px;
}
.tf-mega--shop .tf-mega__label {
	margin: 0 0 8px;
	padding: 0 14px;
	font-size: 11px;
	color: var(--tf-mega-muted);
}
