/* Flower State — direction 3b "Modern minimal cannabis-culture" */

:root{
	--fs-mono: 'IBM Plex Mono', 'Courier New', monospace;
	--fs-bg-darkest: #0d0c0a;
	--fs-border: var(--global-palette6);
	--fs-card-bg: var(--global-palette7);
	--fs-accent-2: var(--global-palette11);
}

/* Flat dark canvas everywhere — no boxed white panels */
body,
.site,
.content-bg,
.site-container,
.entry-content-wrap,
.site-main,
.content-area,
.entry,
.loop-entry,
.site-header,
.site-footer,
.wc-block-components-main{
	background: var(--global-palette8) !important;
}
.entry.single-entry,
.entry.loop-entry{
	box-shadow: none;
}

/* Sharp corners everywhere — no border-radius in this direction */
button,
.button,
.wp-block-button__link,
input[type="submit"],
.kb-button,
.site-header,
.entry,
.content-bg,
.woocommerce ul.products li.product,
.woocommerce div.product,
img,
.fs-card{
	border-radius: 0 !important;
}

/* Header */
.site-header{
	border-bottom: 1px solid var(--fs-border);
}
.main-navigation ul.menu > li > a,
.main-navigation ul.primary-menu > li > a{
	font-family: var(--fs-mono);
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.main-navigation li.fs-nav-accent > a{
	color: var(--fs-accent-2) !important;
}

/* Age-verification bar (site-wide, sits right under the header) */
.fs-age-bar{
	background: var(--global-palette1);
	color: var(--global-palette8);
	text-align: center;
	padding: 9px 12px;
	font-family: var(--fs-mono);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Hero */
.fs-hero{
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	align-items: stretch;
}
@media (max-width: 767px){
	.fs-hero{ grid-template-columns: 1fr; }
}
.fs-hero h1,
.fs-hero h2{
	text-transform: uppercase;
	line-height: 0.98;
}
.fs-hero-media{
	background-image: repeating-linear-gradient(135deg,#26221c 0px,#26221c 10px,#332d24 10px,#332d24 20px);
	min-height: 340px;
	display: flex;
	align-items: flex-end;
	padding: 16px;
}
.fs-hero-media span{
	font-family: var(--fs-mono);
	font-size: 10px;
	color: var(--global-palette4);
	background: rgba(20,18,16,0.75);
	padding: 3px 8px;
}

/* Section eyebrow labels ("// Categories") */
.fs-eyebrow{
	font-family: var(--fs-mono);
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--global-palette5);
}

/* Category / feature cards */
.fs-card{
	background: var(--fs-card-bg);
	border: 1px solid var(--fs-border);
	padding: 22px 8px;
	text-align: center;
	transition: border-color .15s ease;
}
.fs-card a{
	text-decoration: none;
	font-family: 'Space Grotesk', sans-serif;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--global-palette3);
}
.fs-card.fs-card-accent{
	border-color: #6b7a3f;
}
.fs-card.fs-card-accent a{
	color: var(--fs-accent-2);
}

/* Trust row */
.fs-trust-item{
	display: flex;
	align-items: center;
	gap: 9px;
	font-family: var(--fs-mono);
	font-size: 12.5px;
	color: var(--global-palette4);
}
.fs-trust-item .fs-check{
	color: var(--global-palette1);
	font-weight: 700;
}
.fs-trust-item.fs-trust-accent .fs-check{
	color: var(--fs-accent-2);
}

/* Buttons: uppercase mono/Space Grotesk, sharp corners (handled above) */
.wp-block-button__link,
.kb-button{
	font-family: 'Space Grotesk', sans-serif !important;
	font-weight: 700 !important;
	text-transform: uppercase;
}

/* Footer bar */
.site-footer,
.footer-bar{
	background: var(--fs-bg-darkest) !important;
}
.fs-footer-bar{
	padding: 18px 24px;
	background: var(--fs-bg-darkest);
	color: var(--global-palette4);
	font-family: var(--fs-mono);
	font-size: 11px;
	text-align: center;
}

/* WooCommerce shop loop — dark product cards, no radius */
.woocommerce ul.products li.product{
	background: var(--fs-card-bg);
	border: 1px solid var(--fs-border);
	padding: 16px;
	margin-bottom: 24px !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
	font-family: 'Space Grotesk', sans-serif;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--global-palette3);
}
.woocommerce ul.products li.product .price{
	font-family: var(--fs-mono);
	color: var(--global-palette4);
}
.woocommerce ul.products li.product .price ins{
	color: var(--global-palette1);
	text-decoration: none;
}
.woocommerce a.button.add_to_cart_button,
.woocommerce #respond input#submit,
.woocommerce button.button,
.woocommerce input.button{
	background: var(--global-palette1) !important;
	color: var(--global-palette8) !important;
	font-family: 'Space Grotesk', sans-serif !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	border: none !important;
}
.woocommerce ul.products li.product .price,
.woocommerce nav.woocommerce-pagination ul{
	border-color: var(--fs-border) !important;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
	font-family: var(--fs-mono);
	background: var(--fs-card-bg) !important;
	color: var(--global-palette4) !important;
	border-color: var(--fs-border) !important;
}

/* Product detail: THC/CBD badges, spec grid, COA download, legal disclaimer */
.fs-badges{
	display: flex;
	gap: 8px;
	margin: 16px 0 20px;
}
.fs-badge{
	font-family: var(--fs-mono);
	font-size: 12px;
	font-weight: 600;
	padding: 7px 12px;
	background: var(--fs-card-bg);
	border: 1px solid var(--fs-border);
	color: var(--global-palette3);
}
.fs-badge-accent{
	background: var(--global-palette1);
	color: var(--global-palette8);
	border-color: var(--global-palette1);
}
.fs-spec-grid{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 24px;
	margin: 20px 0;
	font-family: var(--fs-mono);
	font-size: 12.5px;
}
.fs-spec-row{
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid var(--fs-border);
	padding-bottom: 6px;
}
.fs-spec-label{ color: var(--global-palette5); }
.fs-spec-value{ color: var(--global-palette3); }
.fs-coa-download{
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: var(--fs-card-bg);
	border: 1px solid var(--fs-border);
	padding: 12px 14px;
	margin: 20px 0;
	font-family: var(--fs-mono);
}
.fs-coa-download span{
	font-weight: 600;
	color: var(--global-palette3);
	font-size: 13px;
}
.fs-coa-download a{
	color: var(--global-palette1);
	font-weight: 700;
	font-size: 12px;
	text-decoration: none;
}
.fs-legal-disclaimer{
	border-top: 1px solid var(--fs-border);
	padding-top: 16px;
	margin-top: 20px;
	font-family: var(--fs-mono);
	font-size: 12px;
	line-height: 1.65;
	color: var(--global-palette4);
	text-transform: uppercase;
}

/* 18+ age-verification gate */
.fs-age-gate{
	position: fixed;
	inset: 0;
	z-index: 999999;
	background: var(--global-palette8);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}
.fs-age-gate-inner{
	max-width: 460px;
	text-align: center;
}
.fs-age-gate-logo{
	font-family: var(--fs-mono);
	font-weight: 600;
	font-size: 18px;
	color: var(--global-palette3);
	margin-bottom: 28px;
}
.fs-age-gate-inner h1{
	font-family: 'Space Grotesk', sans-serif;
	font-size: 34px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--global-palette3);
	margin: 0 0 14px;
}
.fs-age-gate-inner p{
	font-family: 'Archivo', sans-serif;
	font-size: 14px;
	line-height: 1.55;
	color: var(--global-palette4);
	margin: 0 0 28px;
}
.fs-age-gate-actions{
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.fs-age-gate-btn{
	font-family: 'Space Grotesk', sans-serif;
	font-weight: 700;
	font-size: 14px;
	text-transform: uppercase;
	padding: 14px 26px;
	border: none;
	cursor: pointer;
	border-radius: 0;
}
.fs-age-gate-btn-primary{
	background: var(--global-palette1);
	color: var(--global-palette8);
}
.fs-age-gate-btn-secondary{
	background: transparent;
	color: var(--global-palette4);
	border: 1px solid var(--fs-border);
}
@media (max-width: 400px){
	.fs-age-gate-inner h1{
		font-size: 26px;
	}
	.fs-age-gate-btn{
		padding: 13px 20px;
	}
}


/* Single product page — gallery, price, quantity, tabs (classic template) */
.woocommerce-product-gallery__wrapper,
.woocommerce-product-gallery__image--placeholder{
	background: var(--fs-card-bg);
	border: 1px solid var(--fs-border);
}
.summary.entry-summary .price{
	font-family: 'Space Grotesk', sans-serif;
	font-size: 26px;
	font-weight: 700;
	color: var(--global-palette3);
}
.quantity .qty{
	background: var(--fs-card-bg) !important;
	border: 1px solid var(--fs-border) !important;
	color: var(--global-palette3) !important;
	border-radius: 0 !important;
}
.woocommerce-tabs ul.tabs{
	border-bottom: 1px solid var(--fs-border);
}
.woocommerce-tabs ul.tabs li{
	background: transparent !important;
	border: none !important;
}
.woocommerce-tabs ul.tabs li a{
	font-family: var(--fs-mono);
	font-size: 12px;
	text-transform: uppercase;
	color: var(--global-palette5);
}
.woocommerce-tabs ul.tabs li.active a{
	color: var(--global-palette3);
	border-bottom: 2px solid var(--global-palette1);
}
.woocommerce-tabs .panel{
	color: var(--global-palette4);
	font-family: 'Archivo', sans-serif;
}
.related.products .woocommerce-loop-product__title,
.upsells.products .woocommerce-loop-product__title{
	font-family: 'Space Grotesk', sans-serif;
	text-transform: uppercase;
}

/* WooCommerce Blocks — Cart & Checkout (dark theme, best-effort: content renders client-side) */
.wc-block-cart,
.wc-block-checkout,
.wc-block-components-main,
.wc-block-components-sidebar,
.wc-block-cart-items,
.wc-block-components-totals-wrapper,
.wc-block-components-panel,
.wc-block-components-order-summary,
.wc-block-checkout__form,
.wc-block-components-address-card,
.wc-block-components-shipping-rates-control__package{
	background: var(--global-palette8) !important;
	color: var(--global-palette4);
}
.wc-block-components-panel,
.wc-block-cart-items,
.wc-block-components-totals-wrapper,
.wc-block-components-order-summary,
.wc-block-components-shipping-rates-control__package,
.wc-block-checkout__main,
.wc-block-checkout__sidebar{
	border: 1px solid var(--fs-border) !important;
	border-radius: 0 !important;
}
.wc-block-components-product-name,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value,
.wc-block-cart-item__product-name{
	color: var(--global-palette3) !important;
	font-family: 'Space Grotesk', sans-serif;
}
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-address-form input,
select.wc-block-components-select-input,
.wc-block-components-combobox input{
	background: var(--fs-card-bg) !important;
	border: 1px solid var(--fs-border) !important;
	color: var(--global-palette3) !important;
	border-radius: 0 !important;
}
.wc-block-components-text-input label{
	color: var(--global-palette5) !important;
}
.wc-block-components-button,
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button{
	background: var(--global-palette1) !important;
	color: var(--global-palette8) !important;
	font-family: 'Space Grotesk', sans-serif !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	border: none !important;
	border-radius: 0 !important;
}
.wc-block-components-radio-control__option,
.wc-block-components-payment-method-label{
	border-color: var(--fs-border) !important;
	color: var(--global-palette4) !important;
}
.wc-block-components-totals-footer-item,
.wc-block-components-totals-item{
	border-top-color: var(--fs-border) !important;
}

/* Header cart icon */
.header-cart-wrap .header-cart-button,
.header-cart-wrap svg{
	color: var(--global-palette3);
}
.header-cart-wrap .header-cart-button:hover{
	color: var(--global-palette1);
}
.header-cart-total{
	background: var(--global-palette1);
	color: var(--global-palette8);
	font-family: var(--fs-mono);
	border-radius: 0 !important;
}

/* Variation picker — swatch buttons replace the native <select> (JS-enhanced). */
.variations th.label label{
	font-family: var(--fs-mono);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--global-palette5);
}
.variations a.reset_variations{
	font-family: var(--fs-mono);
	font-size: 11px;
	color: var(--global-palette1);
}
.fs-visually-hidden{
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.fs-swatches{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.fs-swatch{
	font-family: var(--fs-mono);
	font-size: 13px;
	font-weight: 600;
	background: var(--fs-card-bg);
	color: var(--global-palette3);
	border: 1px solid var(--fs-border);
	border-radius: 0;
	padding: 9px 16px;
	cursor: pointer;
	transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}
.fs-swatch:hover:not(.fs-swatch-disabled){
	border-color: var(--global-palette1);
}
.fs-swatch:focus-visible{
	outline: 2px solid var(--global-palette1);
	outline-offset: 2px;
}
.fs-swatch-active{
	background: var(--global-palette1);
	color: var(--global-palette8);
	border-color: var(--global-palette1);
}
.fs-swatch-disabled{
	opacity: 0.35;
	cursor: not-allowed;
	text-decoration: line-through;
}
/* Fallback: if JS fails to load/run, the native select must still be usable and legible. */
.variations select:not(.fs-visually-hidden){
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-color: var(--fs-card-bg);
	color: var(--global-palette3);
	border: 1px solid var(--fs-border);
	border-radius: 0;
	padding: 10px 34px 10px 12px;
	font-family: var(--fs-mono);
	font-size: 13px;
	width: 100%;
	max-width: 320px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23a89f8c' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 10px 6px;
}
.variations select:not(.fs-visually-hidden):focus{
	outline: none;
	border-color: var(--global-palette1);
}
.variations select:not(.fs-visually-hidden) option{
	background-color: var(--fs-card-bg);
	color: var(--global-palette3);
}

/* Hero and category card images (Task 3 — product photography) */
.fs-hero-media{
	overflow: hidden;
	padding: 0;
	min-height: 340px;
	align-self: stretch;
}
.fs-hero-media img{
	width: 100%;
	height: 100%;
	min-height: 340px;
	object-fit: cover;
	display: block;
}
@media (max-width: 767px){
	.fs-hero-media,
	.fs-hero-media img{
		min-height: 260px;
	}
}
.fs-card-img{
	width: 100%;
	height: 110px;
	object-fit: cover;
	display: block;
	margin-bottom: 14px;
	border: 1px solid var(--fs-border);
}

/* Footer navigation menu (legal/info pages) */
.site-middle-footer-wrap[data-section="kadence_customizer_footer_middle"] .site-middle-footer-inner-wrap{
	grid-template-columns: 1fr !important;
}
.site-middle-footer-wrap[data-section="kadence_customizer_footer_middle"] .site-footer-section{
	padding: 28px 0 24px;
	border-bottom: 1px solid var(--fs-border);
}
#footer-navigation .footer-menu-container > ul.menu{
	gap: 0;
	row-gap: 10px;
}
#footer-navigation .footer-menu-container > ul.menu > li{
	position: relative;
	padding: 0 16px;
}
#footer-navigation .footer-menu-container > ul.menu > li:after{
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 12px;
	background: var(--fs-border);
}
#footer-navigation .footer-menu-container > ul.menu > li:last-child:after{
	display: none;
}
#footer-navigation .footer-menu-container > ul.menu > li > a{
	font-family: var(--global-primary-nav-font-family, inherit);
	font-size: 13px;
	letter-spacing: .02em;
	text-transform: uppercase;
	padding: .3em .1em;
	white-space: nowrap;
}
@media (max-width: 600px){
	#footer-navigation .footer-menu-container > ul.menu > li{
		padding: 0 10px;
	}
}

/* Language switcher (Polylang, header dropdown) — dark 3b theme */
.pll-parent-menu-item > a{
	display: flex;
	align-items: center;
}
.pll-parent-menu-item > a span[style*="margin-left"],
.lang-item > a span[style*="margin-left"]{
	text-transform: uppercase;
	font-size: 13px;
	letter-spacing: 0.02em;
}
.pll-parent-menu-item .sub-menu{
	background: var(--global-palette7) !important;
	border: 1px solid var(--global-palette6);
	box-shadow: 0 8px 24px rgba(0,0,0,0.5);
	min-width: 110px;
}
.pll-parent-menu-item .sub-menu li{
	border-bottom: 1px solid var(--global-palette6);
}
.pll-parent-menu-item .sub-menu li:last-child{
	border-bottom: 0;
}
.pll-parent-menu-item .sub-menu a{
	color: var(--global-palette4);
	padding: 10px 14px;
}
.pll-parent-menu-item .sub-menu a:hover{
	color: var(--global-palette1);
	background: var(--global-palette8);
}
.pll-parent-menu-item .sub-menu .current-lang > a{
	color: var(--global-palette1);
}

/* Age-verification bar — stronger contrast (bold weight now actually loaded, see functions.php) */
.fs-age-bar{
	font-weight: 700 !important;
	font-size: 14px;
}

/* Mobile menu (drawer) — fix dark-on-dark contrast */
.mobile-navigation ul li > a,
.mobile-navigation ul li.menu-item-has-children > .drawer-nav-drop-wrap{
	color: var(--global-palette3) !important;
}
.mobile-navigation ul li > a:hover,
.mobile-navigation ul li.menu-item-has-children > .drawer-nav-drop-wrap:hover{
	color: var(--global-palette1) !important;
}
.mobile-navigation ul li.current-menu-item > a,
.mobile-navigation ul li.current-menu-item.menu-item-has-children > .drawer-nav-drop-wrap{
	color: var(--global-palette1) !important;
}
.mobile-navigation .lang-item > a{
	color: var(--global-palette4) !important;
}
.mobile-navigation .lang-item.current-lang > a{
	color: var(--global-palette1) !important;
}
/* hamburger toggle icon — was near-invisible (palette5, dim) */
.mobile-toggle-open-container .menu-toggle-open,
.mobile-toggle-open-container .menu-toggle-open:focus{
	color: var(--global-palette3) !important;
}
.mobile-toggle-open-container .menu-toggle-open:hover,
.mobile-toggle-open-container .menu-toggle-open:focus-visible{
	color: var(--global-palette1) !important;
}

/* Justified body text + first-line indent — legal/info pages */
.entry-content p{
	text-indent: 1.6em;
	text-align: justify;
	text-align-last: left;
	-webkit-hyphens: auto;
	hyphens: auto;
	overflow-wrap: break-word;
}
/* Excludes UI/marketing fragments that aren't article prose: hero tagline,
   category cards, trust badges, contact info block, eyebrow labels, legal
   disclaimer note, headings, buttons. Higher specificity wins over the rule above. */
.entry-content .fs-hero p,
.entry-content .fs-card p,
.entry-content .fs-spec-grid p,
.entry-content .fs-eyebrow,
.entry-content .fs-trust-item,
.entry-content .fs-legal-disclaimer,
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content .wp-block-button,
.entry-content .wp-block-buttons{
	text-indent: 0;
	text-align: left;
	hyphens: none;
	-webkit-hyphens: none;
}

/* Justified body text + first-line indent — product descriptions (single product page + shop/category listing cards) */
.woocommerce-product-details__short-description p,
.woocommerce-Tabs-panel--description p,
.product-excerpt p{
	text-indent: 1.6em;
	text-align: justify;
	text-align-last: left;
	-webkit-hyphens: auto;
	hyphens: auto;
	overflow-wrap: break-word;
}
