/**
Theme Name: Astra Child
Author: Funguyme
Author URI: https://funguy.me
Description: Child theme for Astra – FunGuy.me Polish Street Food café. Dark header, readable dropdowns, custom login, MailPoet newsletter API, shop teaser slider, light hardening.
Version: 1.7.26
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

:root {
	--funguy-cream: #F5F0E8;
	--funguy-content: #FFFEF9;
	--funguy-charcoal: #1C1917;
	--funguy-terracotta: #C2410C;
	--funguy-gold: #CA8A04;
	--funguy-menu: #F5F0E8;
	--funguy-border: #D6D3D1;
}

/**
 * v1.5.9 – Blog / archive featured images
 * Live /blog/ uses ast-blog-layout-4-grid; thumbs mix portrait (e.g. 683×1024)
 * and landscape (1024×768). Astra sets aspect-ratio:16/9 but no object-fit,
 * so images stretch and cards “rozjeżdżają się”. Fix: clip wrappers + cover.
 */
html body.blog .ast-article-post .ast-blog-featured-section,
html body.archive .ast-article-post .ast-blog-featured-section,
html body.search .ast-article-post .ast-blog-featured-section,
html body.blog .ast-article-post .post-thumb-img-content,
html body.archive .ast-article-post .post-thumb-img-content,
html body.search .ast-article-post .post-thumb-img-content,
html body .ast-blog-layout-4-grid .ast-article-post .post-thumb-img-content,
html body .ast-blog-layout-6-grid .ast-article-post .post-thumb-img-content {
	overflow: hidden !important;
	width: 100% !important;
	max-width: 100% !important;
	aspect-ratio: 16 / 9;
	max-height: 320px;
	line-height: 0;
}

html body.blog .ast-article-post .post-thumb-img-content a,
html body.archive .ast-article-post .post-thumb-img-content a,
html body.search .ast-article-post .post-thumb-img-content a,
html body .ast-blog-layout-4-grid .ast-article-post .post-thumb-img-content a,
html body .ast-blog-layout-6-grid .ast-article-post .post-thumb-img-content a {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

html body.blog .ast-article-post .post-thumb-img-content img,
html body.archive .ast-article-post .post-thumb-img-content img,
html body.search .ast-article-post .post-thumb-img-content img,
html body.blog .ast-article-post img.wp-post-image,
html body.archive .ast-article-post img.wp-post-image,
html body.search .ast-article-post img.wp-post-image,
html body .ast-blog-layout-4-grid .ast-article-inner .wp-post-image,
html body .ast-blog-layout-6-grid .ast-article-inner .wp-post-image,
html body .ast-blog-layout-4-grid .ast-article-post .post-thumb-img-content img,
html body .ast-blog-layout-6-grid .ast-article-post .post-thumb-img-content img {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	aspect-ratio: 16 / 9;
	object-fit: cover !important;
	object-position: top center !important;
	display: block;
}

@media (max-width: 921px) {
	html body.blog .ast-article-post .post-thumb-img-content,
	html body.archive .ast-article-post .post-thumb-img-content,
	html body.search .ast-article-post .post-thumb-img-content,
	html body .ast-blog-layout-4-grid .ast-article-post .post-thumb-img-content,
	html body .ast-blog-layout-6-grid .ast-article-post .post-thumb-img-content {
		max-height: 240px;
	}
}

@media (max-width: 544px) {
	html body.blog .ast-article-post .post-thumb-img-content,
	html body.archive .ast-article-post .post-thumb-img-content,
	html body.search .ast-article-post .post-thumb-img-content,
	html body .ast-blog-layout-4-grid .ast-article-post .post-thumb-img-content,
	html body .ast-blog-layout-6-grid .ast-article-post .post-thumb-img-content {
		max-height: 200px;
	}
}

/* v1.6.18: in-body image wrap – ONE authoritative block (moved from the inline <style> in posts, matches it exactly).
   Use: <figure class="fg-wrap-img"> (floats right) or class="fg-wrap-img fg-wrap-img--left".
   40% wide, max 420px; desktop gap 8px top / 28px text-side / 16px bottom; no captions; full width stacked below 600px. */
.fg-wrap-img{float:right;width:40%;max-width:420px;margin:8px 0 16px 28px}
.fg-wrap-img--left{float:left;margin:8px 28px 16px 0}
.fg-wrap-img img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:6px}
.fg-wrap-img figcaption{font-size:0.85em;opacity:0.75;text-align:center;margin-top:0.4em}
@media (max-width:600px){.fg-wrap-img,.fg-wrap-img--left{float:none;width:100%;max-width:none;margin:8px 0 16px 0}}
@media (min-width:601px){.entry-content[data-ast-blocks-layout]>figure.fg-wrap-img{margin-left:28px;margin-right:0}.entry-content[data-ast-blocks-layout]>figure.fg-wrap-img--left{margin-left:0;margin-right:28px}}
.fg-wrap-img figcaption{display:none}
/* headings never sit beside a floated image (v1.6.12 rules kept + H2 clear inside single posts + .fg-clear spacer) */
.single .entry-content h2,
.entry-content .fg-wrap-img ~ h2,
.entry-content .fg-wrap-img ~ h3,
.entry-content .wp-block-html:has(.fg-wrap-img) ~ h2,
.entry-content .wp-block-html:has(.fg-wrap-img) ~ h3,
.fg-clear{clear:both}

/* =====================================================================
 * v1.6.6 – Wide rounded content box + lotus (Rafik, 2 Oct 2026)
 * Body class .fg-boxed is added in functions.php (funguy_boxed_body_class) on
 * single posts, pages, the /blog/ index, archives and search.
 * NOT on WooCommerce pages, Elementor canvas/full-width templates, 404 or wp-login.php.
 * Box = .site-content > .ast-container: ~90% wide, cream #FFFEF9, 22px radius, soft shadow,
 * on the #F5F0E8 page background. Text column on posts/pages stays readable (max 900px,
 * centred); shop sliders, the shop banner and wide/full blocks use the full box width.
 * Lotus = assets/fg-lotus.svg as a CSS pseudo-element (decorative, not in the a11y tree),
 * sitting on the top edge of the box, above the text (never over it).
 * Rollback: delete this block (or re-upload 1.6.5).
 * ===================================================================== */
html body.fg-boxed {
	--fg-box-radius: 22px;
	--fg-text-col: 900px;
	--fg-box-pad-x: clamp(24px, 4.2vw, 72px);
}

html body.fg-boxed,
html body.fg-boxed #page,
html body.fg-boxed .site-content,
html body.fg-boxed.ast-narrow-container .site-content,
html body.fg-boxed.ast-separate-container .site-content {
	background-color: #F5F0E8 !important;
	background-image: none !important;
}

html body.fg-boxed #page .site-content > .ast-container {
	position: relative;
	box-sizing: border-box;
	width: 90% !important;
	max-width: 1680px !important;
	margin: 104px auto 72px !important;
	padding: 84px var(--fg-box-pad-x) 56px !important;
	background-color: #FFFEF9;
	border: 1px solid rgba(214, 211, 209, 0.55);
	border-radius: var(--fg-box-radius);
	box-shadow:
		0 1px 2px rgba(28, 25, 23, 0.04),
		0 10px 24px -10px rgba(120, 53, 15, 0.16),
		0 28px 60px -24px rgba(120, 53, 15, 0.20);
	container-type: inline-size;
	container-name: fgbox;
}

/* Lotus on the top edge (outside the text area; half above the box). */
html body.fg-boxed #page .site-content > .ast-container::before {
	content: "";
	position: absolute;
	top: -66px;
	left: 50%;
	width: 184px;
	height: 109px;
	transform: translateX(-50%);
	background: url("assets/fg-lotus.svg?fgl=166") center bottom / contain no-repeat;
	pointer-events: none;
	z-index: 2;
	filter: drop-shadow(0 4px 6px rgba(120, 53, 15, 0.18));
}

/* Inner layout: no second box inside the box. */
html body.fg-boxed #primary {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding: 0 !important;
}
html body.fg-boxed.ast-separate-container .ast-article-single,
html body.fg-boxed.ast-separate-container .ast-article-single:not(.ast-related-post),
html body.fg-boxed.ast-separate-container .ast-article-post {
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	border: 0 !important;
	padding: 0 !important;
}

/* Posts + pages: readable text column, centred inside the wide box. */
html body.fg-boxed.single .site-main > article,
html body.fg-boxed.page .site-main > article,
html body.fg-boxed.single .site-main > .post-navigation,
html body.fg-boxed.single .site-main > .comments-area,
html body.fg-boxed.page .site-main > .comments-area {
	max-width: var(--fg-text-col);
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Wide items break out of the text column to the full box width (needs container queries;
   older browsers simply keep them at the text-column width). */
html body.fg-boxed.single .entry-content > .fg-rand-slider,
html body.fg-boxed.page .entry-content > .fg-rand-slider,
html body.fg-boxed.single .entry-content > .fg-shop-banner,
html body.fg-boxed.page .entry-content > .fg-shop-banner,
html body.fg-boxed.single .entry-content > .alignwide,
html body.fg-boxed.page .entry-content > .alignwide,
html body.fg-boxed.single .entry-content > .alignfull,
html body.fg-boxed.page .entry-content > .alignfull {
	box-sizing: border-box;
	width: 100cqw !important;
	max-width: 100cqw !important;
	margin-left: calc(50% - 50cqw) !important;
	margin-right: calc(50% - 50cqw) !important;
}

/* Blog / archive cards: a touch more air between cards in the wider box. */
html body.fg-boxed.blog .ast-row,
html body.fg-boxed.archive .ast-row,
html body.fg-boxed.search .ast-row {
	row-gap: 8px;
}
html body.fg-boxed.blog .ast-article-post > .ast-article-inner,
html body.fg-boxed.archive .ast-article-post > .ast-article-inner,
html body.fg-boxed.search .ast-article-post > .ast-article-inner {
	border-radius: 16px;
	overflow: hidden;
}

/* Tablet */
@media (max-width: 921px) {
	html body.fg-boxed {
		--fg-box-radius: 20px;
	}
	html body.fg-boxed #page .site-content > .ast-container {
		width: 94% !important;
		margin: 76px auto 48px !important;
		padding: 60px 28px 40px !important;
	}
	html body.fg-boxed #page .site-content > .ast-container::before {
		top: -44px;
		width: 124px;
		height: 74px;
	}
}

/* Phone: near full width, small margins, smaller lotus. */
@media (max-width: 544px) {
	html body.fg-boxed {
		--fg-box-radius: 18px;
	}
	html body.fg-boxed #page .site-content > .ast-container {
		width: auto !important;
		margin: 56px 10px 32px !important;
		padding: 46px 18px 28px !important;
	}
	html body.fg-boxed #page .site-content > .ast-container::before {
		top: -32px;
		width: 92px;
		height: 55px;
	}
}

/* =====================================================================
 * v1.6.7 – Right sidebar inside the 1.6.6 box (Rafik, 2 Oct 2026)
 * Markup: functions.php funguy_right_sidebar_output() → <aside id="fg-sidebar" class="fg-side">
 * printed right after #primary inside .site-content > .ast-container. Body class .fg-has-sidebar.
 * Desktop (≥922px): content column + 300px sidebar, a quiet strip of lotuses between them.
 * Tablet/phone: sidebar drops under the content, strip hidden (one small lotus divider instead).
 * Rollback: delete this block + funguy_right_sidebar_* in functions.php (or re-upload 1.6.6).
 * ===================================================================== */
html body.fg-has-sidebar {
	--fg-side-w: 300px;
	--fg-side-gap: 76px;
}

/* --- the two columns --- */
@media (min-width: 922px) {
	html body.fg-boxed.fg-has-sidebar #page .site-content > .ast-container {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) var(--fg-side-w);
		column-gap: var(--fg-side-gap);
		align-items: stretch;
	}
	html body.fg-boxed.fg-has-sidebar #page .site-content > .ast-container > #primary {
		grid-column: 1;
		width: auto !important;
		max-width: none !important;
		min-width: 0;
		float: none !important;
		border: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
		container-type: inline-size; /* wide items break out to the content column, not into the sidebar */
	}
	html body.fg-boxed.fg-has-sidebar #page .site-content > .ast-container > #fg-sidebar {
		grid-column: 2;
	}
	/* Blog / archive cards: 2 per row next to the sidebar, 3 when the column is wide enough. */
	html body.fg-has-sidebar .ast-blog-layout-4-grid .ast-row > .ast-article-post {
		width: 50%;
	}
	@container (min-width: 1040px) {
		html body.fg-has-sidebar .ast-blog-layout-4-grid .ast-row > .ast-article-post {
			width: 33.333%;
		}
	}
}

/* --- sidebar --- */
html body .fg-side {
	position: relative;
	box-sizing: border-box;
	min-width: 0;
	color: #1C1917;
	font-size: 15px;
	line-height: 1.5;
}
html body .fg-side__inner {
	position: sticky;
	top: 28px;
	display: flex;
	flex-direction: column;
	gap: 22px;
}
html body.admin-bar .fg-side__inner { top: 60px; }

/* lotus strip along the left edge (between content and sidebar) */
html body .fg-side__lotus {
	position: absolute;
	top: 6px;
	bottom: 6px;
	left: calc(var(--fg-side-gap, 76px) / -2 - 20px);
	width: 40px;
	pointer-events: none;
	background:
		url("assets/fg-lotus.svg?fgl=167") center top / 40px 150px repeat-y,
		linear-gradient(180deg, rgba(202, 138, 4, 0) 0%, rgba(202, 138, 4, 0.28) 12%, rgba(202, 138, 4, 0.28) 88%, rgba(202, 138, 4, 0) 100%) center top / 1px 100% no-repeat;
	opacity: 0.75;
}

html body .fg-side__block {
	box-sizing: border-box;
	margin: 0;
	padding: 18px 18px 16px;
	background: #F9F4EC;
	border: 1px solid rgba(214, 211, 209, 0.7);
	border-radius: 16px;
}
html body .fg-side .fg-side__title {
	margin: 0 0 10px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #C2410C;
}

/* primary menu, vertical */
html body .fg-side__menu,
html body .fg-side__menu .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	position: static !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	box-shadow: none !important;
	border: 0 !important;
	background: transparent !important;
	width: auto !important;
	transform: none !important;
}
html body .fg-side__menu > li + li { border-top: 1px dashed rgba(28, 25, 23, 0.12); }
html body .fg-side__menu li { margin: 0; padding: 0; }
html body .fg-side__menu a {
	display: block;
	padding: 8px 6px 8px 12px;
	border-radius: 8px;
	color: #1C1917 !important;
	font-weight: 500;
	text-decoration: none !important;
	position: relative;
	background: transparent !important;
}
html body .fg-side__menu a:hover,
html body .fg-side__menu a:focus-visible {
	color: #C2410C !important;
	background: #F5EDE6 !important;
}
html body .fg-side__menu .current-menu-item > a,
html body .fg-side__menu .current-menu-ancestor > a,
html body .fg-side__menu .current_page_item > a {
	color: #C2410C !important;
	font-weight: 700;
}
html body .fg-side__menu .current-menu-item > a::before,
html body .fg-side__menu .current_page_item > a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 9px;
	bottom: 9px;
	width: 3px;
	border-radius: 3px;
	background: #C2410C;
}
html body .fg-side__menu .sub-menu { padding: 0 0 6px 14px !important; }
/* v1.6.14: 4th menu level in the sidebar – a smaller step so deep items keep room */
html body .fg-side__menu .sub-menu .sub-menu .sub-menu { padding-left: 10px !important; border-left: 1px solid rgba(28, 25, 23, 0.10); margin-left: 4px; }
html body .fg-side__menu .sub-menu .sub-menu .sub-menu a { font-size: 13.5px; }
html body .fg-side__menu .sub-menu a { font-size: 14px; padding-top: 5px; padding-bottom: 5px; font-weight: 400; }
html body .fg-side__menu .sub-menu a::after {
	content: none;
}
html body .fg-side__menu .ast-icon,
html body .fg-side__menu .dropdown-menu-toggle,
html body .fg-side__menu .ast-menu-toggle,
html body .fg-side__menu .ast-header-navigation-arrow {
	display: none !important;
}

/* mini shop teaser: 2 cards side by side, no arrows */
html body .fg-side .fg-rand-slider--side {
	margin: 0;
	padding: 0;
	border-top: 0;
}
html body .fg-side .fg-rand-slider--side .fg-rand-slider__title { font-size: 1rem; }
html body .fg-side .fg-rand-slider--side .fg-rand-slider__sub { font-size: 12.5px; }
html body .fg-side .fg-rand-slider--side .fg-rand-slider__nav { display: none !important; }
html body .fg-side .fg-rand-slider--side .fg-rand-slider__track {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	overflow: visible;
	padding: 2px 0 2px;
}
html body .fg-side .fg-rand-slider--side .fg-rand-card { flex: none; min-width: 0; box-shadow: 0 4px 12px rgba(28, 25, 23, 0.06); }
html body .fg-side .fg-rand-slider--side .fg-rand-card__name { font-size: 12px; }

/* compact "coming soon" banner above the mini teaser */
html body .fg-side .fg-shop-banner {
	display: block;
	margin: 0 0 14px;
	padding: 0;
	aspect-ratio: auto;
	border-radius: 12px;
}
html body .fg-side .fg-shop-banner__art {
	position: relative;
	inset: auto;
	aspect-ratio: 2 / 1;
}
html body .fg-side .fg-shop-banner .fg-shop-banner__img { object-position: right center; }
html body .fg-side .fg-shop-banner__text { padding: 10px 12px 12px; }
html body .fg-side .fg-shop-banner__title { font-size: 0.98rem; margin-bottom: 0.2em !important; }
html body .fg-side .fg-shop-banner__sub { font-size: 0.8rem; line-height: 1.4; }

/* widgets Rafik adds later */
html body .fg-side__widgets { display: flex; flex-direction: column; gap: 22px; }
html body .fg-side__widget > *:last-child { margin-bottom: 0; }

/* --- stacked (tablet + phone) --- */
@media (max-width: 921px) {
	html body .fg-side {
		margin-top: 44px;
		padding-top: 40px;
	}
	html body .fg-side__inner { position: static; }
	/* single posts already show the big banner + teaser right above; skip the repeat banner here */
	html body.single-post .fg-side .fg-shop-banner { display: none; }
	html body .fg-side__lotus {
		top: 0;
		bottom: auto;
		left: 50%;
		width: 64px;
		height: 38px;
		transform: translateX(-50%);
		background: url("assets/fg-lotus.svg?fgl=167") center / contain no-repeat;
		opacity: 0.8;
	}
	html body .fg-side__lotus::before,
	html body .fg-side__lotus::after {
		content: "";
		position: absolute;
		top: 50%;
		width: 90px;
		height: 1px;
		background: rgba(202, 138, 4, 0.35);
	}
	html body .fg-side__lotus::before { right: calc(100% + 10px); }
	html body .fg-side__lotus::after { left: calc(100% + 10px); }
}
@media (min-width: 545px) and (max-width: 921px) {
	html body .fg-side__inner {
		display: grid;
		grid-template-columns: 1fr 1fr;
		align-items: start;
	}
	html body .fg-side__widgets { grid-column: 1 / -1; }
}

/* =====================================================================
 * v1.6.8 – WooCommerce pages look like the blog (Rafik, 2 Oct 2026)
 * Body classes from functions.php: .fg-boxed .fg-woo (+ .fg-has-sidebar everywhere except checkout).
 * Same ~90% rounded box + lotus (1.6.6) and the same right sidebar (1.6.7) on the shop, product
 * categories/tags, single products, cart and my-account. Checkout: box only, full width, no sidebar.
 * Astra's own (left) WooCommerce sidebar is switched off in PHP (astra_page_layout → no-sidebar);
 * the #secondary rule below is only a safety net. Shop lock / payments untouched (layout only).
 * Rollback: delete this block + the v1.6.8 bits in functions.php (or re-upload 1.6.7).
 * ===================================================================== */

/* only ONE sidebar: never show Astra's/WooCommerce's sidebar column inside the box */
html body.fg-boxed.fg-woo #secondary,
html body.fg-boxed.fg-woo .widget-area.secondary {
	display: none !important;
}

/* no inner white panel inside the box (Astra separate-container look) */
html body.fg-boxed.fg-woo .ast-woocommerce-container,
html body.fg-boxed.fg-woo.ast-separate-container .ast-woocommerce-container,
html body.fg-boxed.fg-woo.ast-separate-container .site-main > .ast-article-single,
html body.fg-boxed.fg-woo.ast-separate-container .site-main > article {
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	border: 0 !important;
	padding: 0 !important;
}
html body.fg-boxed.fg-woo #primary {
	width: auto;
	float: none;
	border: 0 !important;
}

/* shop + category header */
html body.fg-boxed.fg-woo .woocommerce-breadcrumb {
	margin-bottom: 0.8em;
	font-size: 0.85em;
}
html body.fg-boxed.fg-woo .woocommerce-products-header__title.page-title {
	margin-bottom: 0.4em;
}

/* product grid next to the sidebar: 3 per row (4 when the content column is wide enough) */
@media (min-width: 922px) {
	html body.fg-boxed.fg-woo.fg-has-sidebar #primary ul.products:not(.elementor-grid) {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		column-gap: 28px;
		row-gap: 8px;
	}
	@container (min-width: 960px) {
		html body.fg-boxed.fg-woo.fg-has-sidebar #primary ul.products:not(.elementor-grid) {
			grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		}
	}
	/* related / up-sells under a single product: keep them on one row of up to 4 small cards */
	html body.fg-boxed.fg-woo.fg-has-sidebar #primary .related ul.products:not(.elementor-grid),
	html body.fg-boxed.fg-woo.fg-has-sidebar #primary .upsells ul.products:not(.elementor-grid) {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		column-gap: 18px;
	}
}
html body.fg-boxed.fg-woo ul.products li.product {
	margin-bottom: 1.6em;
}
html body.fg-boxed.fg-woo ul.products li.product img,
html body.fg-boxed.fg-woo ul.products li.product .astra-shop-thumbnail-wrap {
	border-radius: 12px;
	overflow: hidden;
}

/* single product: image + summary side by side in the content column */
html body.fg-boxed.fg-woo.single-product div.product .woocommerce-product-gallery img {
	border-radius: 14px;
}
html body.fg-boxed.fg-woo.single-product div.product .woocommerce-tabs {
	clear: both;
}
html body.fg-boxed.fg-woo.single-product .site-main > .ast-woocommerce-container > div.product,
html body.fg-boxed.fg-woo.single-product .site-main div.product {
	max-width: none;
}

/* cart / my-account are pages: they keep the 1.6.6 text column (max 900px) next to the sidebar.
   checkout: no sidebar, so give the form the wide box (still centred). */
html body.fg-boxed.fg-woo.woocommerce-checkout .site-main > article,
html body.fg-boxed.fg-woo.woocommerce-checkout .site-main > .ast-woocommerce-container,
html body.fg-boxed.fg-woo.woocommerce-checkout .site-main > .ast-article-single {
	max-width: 1180px;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* stacked (tablet + phone): products full width above the sidebar */
@media (max-width: 921px) {
	html body.fg-boxed.fg-woo #primary {
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}
}
@media (max-width: 544px) {
	html body.fg-boxed.fg-woo ul.products:not(.elementor-grid) {
		column-gap: 14px;
	}
	html body.fg-boxed.fg-woo .woocommerce-result-count,
	html body.fg-boxed.fg-woo .woocommerce-ordering {
		float: none;
		margin-bottom: 0.8em;
	}
}

/* =====================================================================
 * v1.6.9 DRAFT – tighter content box (Rafik, 2 Oct 2026: "like Grok's input box")
 * Body class .fg-tight-box (functions.php funguy_header_body_class; on every .fg-boxed page:
 * posts, pages, /blog/, archives, search, shop, categories, products, cart, checkout, account).
 * Inner padding of the 90% rounded box: 24px desktop/tablet, 16px phone (<600px).
 * The top keeps just enough room for the lotus that sits on the box edge (it overlaps ~43px
 * desktop / ~30px tablet / ~23px phone), then the same ~20px of air as the sides.
 * Sidebar scaled to match: column gap 76px → 48px, cards 18px → 16px (14px phone), card gap 22px → 18px.
 * Turn off without re-uploading: add_filter( 'funguy_tight_box', '__return_false' ).
 * ===================================================================== */
html body.fg-boxed.fg-tight-box {
	--fg-box-pad-x: 24px;
}
html body.fg-boxed.fg-tight-box #page .site-content > .ast-container {
	padding: 64px 24px 24px !important;
}
html body.fg-tight-box.fg-has-sidebar {
	--fg-side-gap: 48px;
}
html body.fg-tight-box .fg-side__block { padding: 16px; }
html body.fg-tight-box .fg-side__inner,
html body.fg-tight-box .fg-side__widgets { gap: 18px; }
@media (max-width: 921px) {
	html body.fg-boxed.fg-tight-box #page .site-content > .ast-container {
		padding: 50px 24px 24px !important;
	}
	html body.fg-tight-box .fg-side { margin-top: 32px; padding-top: 34px; }
}
@media (max-width: 599px) {
	html body.fg-boxed.fg-tight-box #page .site-content > .ast-container {
		padding: 44px 16px 16px !important;
	}
	html body.fg-tight-box .fg-side__block { padding: 14px; }
	html body.fg-tight-box .fg-side__inner { gap: 16px; }
}
@media (max-width: 544px) {
	html body.fg-boxed.fg-tight-box #page .site-content > .ast-container {
		padding: 38px 16px 16px !important;
	}
}

/* =====================================================================
 * v1.6.10 – Empty-basket badge (Rafik picked "option 2, no halo", 2 Oct 2026)
 * Replaces WooCommerce's crying-face icon on the empty Cart block
 * (.wc-block-cart__empty-cart__title.with-empty-cart-icon::before, a currentColor mask)
 * with the round blue/gold Buddha-with-empty-bowl badge: assets/fg-empty-basket-badge.svg
 * (PNG fallback for browsers without SVG backgrounds). Decorative CSS background – no text, no alt.
 * Centred above "Your basket is currently empty!", ~160px on desktop and phone. The dots divider stays;
 * at least 100px of clear space is kept above the "New in store" products.
 * Also covers the classic (shortcode) empty cart (.wc-empty-cart-message) in case the page is switched back.
 * Rollback: delete this block.
 * ===================================================================== */
html body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::before,
html body.woocommerce-cart .wc-empty-cart-message::before {
	content: "";
	display: block;
	width: 160px;
	height: 160px;
	margin: 0 auto 22px;
	-webkit-mask: none !important;
	        mask: none !important;
	background-color: transparent !important;
	background-image: url("assets/fg-empty-basket-badge.png?v=1610");
	background-image: url("assets/fg-empty-basket-badge.svg?v=1610");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	filter: drop-shadow(0 10px 18px rgba(21, 48, 77, 0.22));
}
html body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon {
	margin-top: 8px;
	margin-bottom: 0;
}
/* keep the dots divider, and ≥100px of air between the badge block and "New in store" */
html body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-separator {
	margin-top: 52px !important;
	margin-bottom: 52px !important;
}

/* v1.6.12 heading clear rules merged into the v1.6.18 .fg-wrap-img block above. */
