/*
Theme Name: Flash Store
Theme URI: https://flash.web.id/
Author: Flash Computer
Description: Block theme e-commerce elektronik & komputer untuk Flash Computer. Dibangun di atas WooCommerce blocks dengan design token merah Flash, Plus Jakarta Sans, dan tata letak yang dioptimalkan untuk mobile.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Version: 1.0.3
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: flash-store
Tags: e-commerce, block-patterns, full-site-editing, custom-colors, wide-blocks
*/

/* ---------------------------------------------------------------
   Tokens
---------------------------------------------------------------- */
:root {
	--fs-primary: var(--wp--preset--color--primary);
	--fs-primary-dark: var(--wp--preset--color--primary-dark);
	--fs-primary-soft: var(--wp--preset--color--primary-soft);
	--fs-brand: var(--wp--preset--color--brand);
	--fs-ink: var(--wp--preset--color--ink);
	--fs-ink-2: var(--wp--preset--color--ink-2);
	--fs-body: var(--wp--preset--color--body);
	--fs-muted: var(--wp--preset--color--muted);
	--fs-line: var(--wp--preset--color--line);
	--fs-surface: var(--wp--preset--color--surface);
	--fs-surface-2: var(--wp--preset--color--surface-2);
	--fs-success: var(--wp--preset--color--success);
	--fs-radius-sm: 8px;
	--fs-radius: 14px;
	--fs-radius-lg: 20px;
	--fs-ease: 180ms cubic-bezier(.2, .7, .3, 1);
	--fs-shadow: var(--wp--preset--shadow--card);
	--fs-shadow-lift: var(--wp--preset--shadow--lift);
	--fs-topbar-h: 36px;
	--fs-gap: clamp(0.75rem, 1.6vw, 1rem);
}

html { scroll-behavior: smooth; scroll-padding-top: 140px; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { height: auto; }
[class*="flash-"], [class*="flash-"] *, [class*="flash-"] *::before, [class*="flash-"] *::after { box-sizing: border-box; }
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 2px solid var(--fs-primary);
	outline-offset: 2px;
	border-radius: 6px;
}
.flash-icon { display: inline-block; flex: none; vertical-align: middle; }
.screen-reader-text:not(:focus) { clip: rect(1px, 1px, 1px, 1px); position: absolute !important; height: 1px; width: 1px; overflow: hidden; }

/* ---------------------------------------------------------------
   Header
---------------------------------------------------------------- */
.flash-site-header {
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) - var(--fs-topbar-h));
	z-index: 100;
	background: #fff;
	transition: box-shadow var(--fs-ease);
}
.flash-site-header.is-stuck { box-shadow: 0 6px 24px rgba(14, 17, 22, .08); }
.flash-site-header > * { margin-block: 0; }

.flash-topbar {
	background: var(--fs-ink);
	color: #C9CED6;
	font-size: 0.78rem;
	line-height: 1;
}
.flash-topbar__inner {
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
	min-height: var(--fs-topbar-h);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}
.flash-topbar__msgs, .flash-topbar__links { display: flex; align-items: center; gap: 1.5rem; }
.flash-topbar__msgs span { display: inline-flex; align-items: center; gap: .4rem; white-space: nowrap; }
.flash-topbar__msgs .flash-icon { color: #FF6B66; }
.flash-topbar__links a { color: #C9CED6; display: inline-flex; gap: .35rem; align-items: center; }
.flash-topbar__links a:hover { color: #fff; text-decoration: none; }

.flash-header { padding-block: 0.875rem; background: #fff; }
.flash-header__row { gap: clamp(0.75rem, 2.5vw, 2rem); }
.flash-brand { flex: none; }
.flash-brand .wp-block-site-logo img { width: 42px; height: 42px; object-fit: contain; }
.flash-brand .wp-block-site-title { margin: 0; white-space: nowrap; }
.flash-brand .wp-block-site-title a { color: var(--fs-ink); text-decoration: none; }

.flash-search { flex: 1 1 auto; max-width: 680px; margin: 0; }
.flash-search .wp-block-search__inside-wrapper {
	border: 1.5px solid var(--fs-line) !important;
	background: var(--fs-surface);
	border-radius: 12px;
	padding: 4px;
	transition: border-color var(--fs-ease), background var(--fs-ease), box-shadow var(--fs-ease);
}
.flash-search .wp-block-search__inside-wrapper:focus-within {
	border-color: var(--fs-primary) !important;
	background: #fff;
	box-shadow: 0 0 0 4px rgba(217, 37, 47, .12);
}
.flash-search .wp-block-search__input {
	border: 0;
	background: transparent;
	font: inherit;
	font-size: .9375rem;
	padding: .55rem .75rem;
	min-height: 40px;
	color: var(--fs-ink);
}
.flash-search .wp-block-search__input:focus { outline: none; }
.flash-search .wp-block-search__input::placeholder { color: #7A8190; }
.flash-search .wp-block-search__button {
	margin: 0;
	border-radius: 9px;
	background: var(--fs-primary);
	color: #fff;
	min-width: 44px;
	min-height: 40px;
	padding: 0 .75rem;
	display: grid;
	place-items: center;
}
.flash-search .wp-block-search__button:hover { background: var(--fs-primary-dark); }
.flash-search .wp-block-search__button svg { fill: currentColor; width: 22px; height: 22px; }

.flash-header__actions { flex: none; }
.flash-icon-link,
.flash-header__actions .wc-block-customer-account a,
.flash-header__actions .wc-block-mini-cart__button {
	display: inline-grid;
	place-items: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 8px;
	border-radius: 10px;
	color: var(--fs-ink);
	transition: background var(--fs-ease), color var(--fs-ease);
}
.flash-icon-link:hover,
.flash-header__actions .wc-block-customer-account a:hover,
.flash-header__actions .wc-block-mini-cart__button:hover { background: var(--fs-surface); color: var(--fs-primary); text-decoration: none; }
.flash-header__actions .wc-block-customer-account svg { width: 24px; height: 24px; }
.flash-header__actions .wc-block-mini-cart__icon { width: 26px; height: 26px; }
.wc-block-mini-cart__badge {
	background: var(--fs-primary) !important;
	color: #fff !important;
	border: 2px solid #fff !important;
	font-weight: 700;
}

/* Category nav */
.flash-nav { border-block: 1px solid var(--fs-line); background: #fff; }
.flash-catnav { max-width: var(--wp--style--global--wide-size); margin-inline: auto; }
.flash-catnav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: clamp(.25rem, 1.5vw, 1.25rem);
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.flash-catnav ul::-webkit-scrollbar { display: none; }
.flash-catnav li { flex: none; }
.flash-catnav a {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	padding: .8rem .35rem;
	color: var(--fs-body);
	font-size: .875rem;
	font-weight: 600;
	white-space: nowrap;
}
.flash-catnav a::after {
	content: "";
	position: absolute;
	left: .35rem;
	right: .35rem;
	bottom: -1px;
	height: 2px;
	border-radius: 2px;
	background: var(--fs-primary);
	transform: scaleX(0);
	transition: transform var(--fs-ease);
}
.flash-catnav a:hover, .flash-catnav a[aria-current] { color: var(--fs-primary); text-decoration: none; }
.flash-catnav a:hover::after, .flash-catnav a[aria-current]::after { transform: scaleX(1); }
.flash-catnav__all { color: var(--fs-ink) !important; }
.flash-catnav__promo { margin-left: auto; }
.flash-catnav__promo a { color: var(--fs-primary); }

/* Checkout header */
.flash-header--checkout { border-bottom: 1px solid var(--fs-line); }
.flash-secure { display: inline-flex; align-items: center; gap: .4rem; margin: 0; color: var(--fs-success); font-weight: 700; font-size: .875rem; }

/* ---------------------------------------------------------------
   Layout
---------------------------------------------------------------- */
.flash-main { padding-block: clamp(1rem, 2.5vw, 1.75rem) var(--wp--preset--spacing--70); }
.flash-main > * + * { margin-block-start: 0; }
.flash-section { margin-block-start: var(--wp--preset--spacing--60) !important; }
.flash-section__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.25rem;
}
.flash-section__title { margin: 0; font-size: clamp(1.3rem, 2.4vw, 1.75rem); font-weight: 800; letter-spacing: -.02em; color: var(--fs-ink); }
.flash-section__sub { margin: .25rem 0 0; color: var(--fs-muted); font-size: .9375rem; }
.flash-section__more {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	flex: none;
	font-weight: 700;
	font-size: .875rem;
	color: var(--fs-primary);
	padding: .5rem 0;
}
.flash-section__more span { transition: transform var(--fs-ease); }
.flash-section__more:hover { text-decoration: none; }
.flash-section__more:hover span { transform: translateX(3px); }

.flash-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	margin: 0 0 1rem;
	padding: .38rem .75rem;
	border-radius: 999px;
	background: rgba(232, 51, 58, .18);
	color: #FF8A85;
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.flash-eyebrow::before {
	content: "";
	width: 14px;
	height: 14px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Buttons */
.wp-element-button, .wp-block-button__link { transition: background var(--fs-ease), color var(--fs-ease), border-color var(--fs-ease), transform var(--fs-ease), box-shadow var(--fs-ease); }
.wp-block-button__link:active { transform: translateY(1px); }
.wp-block-button.is-style-ghost-light .wp-block-button__link {
	background: transparent;
	color: #fff;
	box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .45);
}
.wp-block-button.is-style-ghost-light .wp-block-button__link:hover { background: rgba(255, 255, 255, .12); box-shadow: inset 0 0 0 1.5px #fff; }
.wp-block-button.is-style-soft .wp-block-button__link { background: #fff; color: var(--fs-primary); }
.wp-block-button.is-style-soft .wp-block-button__link:hover { background: var(--fs-primary-soft); color: var(--fs-primary-dark); }
.wp-block-buttons .wp-block-button__link { padding: .9rem 1.4rem; font-size: .9375rem; }

/* ---------------------------------------------------------------
   Home: hero
---------------------------------------------------------------- */
.flash-hero {
	display: grid;
	grid-template-columns: minmax(0, 2.05fr) minmax(0, 1fr);
	gap: var(--fs-gap);
}
.flash-hero__main, .flash-tile, .flash-banner {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	border-radius: var(--fs-radius-lg);
	background-color: var(--fs-ink);
	color: #fff;
}
.flash-hero__main::before, .flash-banner::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--wp--preset--gradient--hero-fade);
}
.flash-hero__main {
	min-height: 460px;
	padding: clamp(1.75rem, 5vw, 3.5rem);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.flash-hero__main > * { margin-block: 0; }
.flash-hero__title {
	margin: 0 0 1rem !important;
	color: #fff;
	font-size: var(--wp--preset--font-size--display);
	line-height: 1.05;
	letter-spacing: -.035em;
	max-width: 14ch;
}
.flash-hl { color: #FF6B66; }
.flash-hero__lead { color: #D3D8E0; font-size: clamp(.98rem, 1.3vw, 1.0625rem); max-width: 46ch; margin-bottom: 1.5rem !important; }
.flash-hero__ctas { gap: .75rem; }
.flash-hero__proof {
	list-style: none;
	margin: 2rem 0 0 !important;
	padding: 1.25rem 0 0;
	border-top: 1px solid rgba(255, 255, 255, .14);
	display: flex;
	flex-wrap: wrap;
	gap: clamp(1rem, 3vw, 2.25rem);
}
.flash-hero__proof li { display: flex; flex-direction: column; gap: .1rem; }
.flash-hero__proof strong { font-size: 1.125rem; font-weight: 800; }
.flash-hero__proof span { font-size: .8125rem; color: #AEB5C1; }

.flash-hero > * { margin: 0 !important; }
.flash-hero__side { display: grid; grid-template-rows: 1fr 1fr; gap: var(--fs-gap); }
.flash-tile {
	min-height: 200px;
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: .35rem;
}
.flash-tile::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(14, 17, 22, .05) 20%, rgba(14, 17, 22, .86) 100%);
	transition: opacity var(--fs-ease);
}
.flash-tile > * { margin: 0 !important; }
.flash-tile__tag {
	align-self: flex-start;
	padding: .25rem .6rem;
	border-radius: 999px;
	background: var(--fs-primary);
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .05em;
	text-transform: uppercase;
}
.flash-tile__title { color: #fff; font-size: clamp(1.1rem, 1.6vw, 1.3rem); line-height: 1.25; max-width: 18ch; }
.flash-tile__link a { color: #fff; font-weight: 700; font-size: .875rem; }
.flash-tile__link a::after { content: ""; position: absolute; inset: 0; }
.flash-tile:hover .flash-tile__link a { text-decoration: underline; }
.flash-tile { background-size: cover; transition: background-size 400ms ease; }

/* USP */
.flash-usp {
	list-style: none;
	margin: var(--fs-gap) auto 0 !important;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border: 1px solid var(--fs-line);
	border-radius: var(--fs-radius);
	background: #fff;
}
.flash-usp li { display: flex; align-items: center; gap: .85rem; padding: 1.1rem 1.25rem; }
.flash-usp li + li { border-left: 1px solid var(--fs-line); }
.flash-usp__icon {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	flex: none;
	border-radius: 12px;
	background: var(--fs-primary-soft);
	color: var(--fs-primary);
}
.flash-usp strong { display: block; color: var(--fs-ink); font-size: .9375rem; }
.flash-usp small { display: block; color: var(--fs-muted); font-size: .8125rem; line-height: 1.4; }

/* Categories */
.flash-cats {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	gap: var(--fs-gap);
}
.flash-cat {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: .25rem;
	height: 100%;
	padding: 1.25rem .5rem 1rem;
	border-radius: var(--fs-radius);
	background: var(--fs-surface);
	color: var(--fs-ink);
	transition: background var(--fs-ease), transform var(--fs-ease), box-shadow var(--fs-ease);
}
.flash-cat:hover { background: #fff; box-shadow: var(--fs-shadow-lift); transform: translateY(-3px); text-decoration: none; color: var(--fs-ink); }
.flash-cat__icon {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	margin-bottom: .5rem;
	border-radius: 18px;
	background: #fff;
	color: var(--fs-primary);
	box-shadow: 0 1px 2px rgba(14, 17, 22, .05);
	transition: background var(--fs-ease), color var(--fs-ease);
}
.flash-cat:hover .flash-cat__icon { background: var(--fs-primary); color: #fff; }
.flash-cat__name { font-weight: 700; font-size: .875rem; line-height: 1.3; }
.flash-cat__count { color: var(--fs-muted); font-size: .75rem; }

/* Flash sale */
.flash-sale {
	padding: clamp(1rem, 2.5vw, 1.5rem);
	border-radius: var(--fs-radius-lg);
	background:
		radial-gradient(120% 140px at 0% 0%, #FF5A4E 0%, transparent 60%),
		linear-gradient(180deg, var(--fs-primary) 0, var(--fs-brand) 118px, var(--fs-surface) 118px);
}
.flash-sale__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.25rem; color: #fff; }
.flash-sale__brand { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem 1rem; }
.flash-sale .flash-section__title { color: #fff; font-style: italic; font-size: clamp(1.4rem, 2.6vw, 1.9rem); }
.flash-sale .flash-section__more { color: #fff; }
.flash-sale__bolt {
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: #fff;
	display: grid;
	place-items: center;
}
.flash-sale__bolt::before {
	content: "";
	width: 22px;
	height: 22px;
	background: var(--wp--preset--color--accent);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.flash-sale__ends { font-size: .8125rem; font-weight: 600; opacity: .9; }
.flash-countdown { display: inline-flex; align-items: center; gap: .3rem; font-variant-numeric: tabular-nums; }
.flash-countdown span { display: flex; flex-direction: column; align-items: center; min-width: 42px; padding: .3rem .35rem; border-radius: 8px; background: #fff; color: var(--fs-ink); }
.flash-countdown b { font-size: 1.05rem; font-weight: 800; line-height: 1.1; }
.flash-countdown small { font-size: .6rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--fs-muted); }
.flash-countdown i { font-style: normal; font-weight: 800; color: #fff; }

/* ---------------------------------------------------------------
   Product grid & cards
---------------------------------------------------------------- */
.flash-products { --cols: 4; }
.flash-products .wc-block-product-template,
.flash-products .wc-block-product-template.is-flex-container {
	display: grid !important;
	grid-template-columns: repeat(var(--cols), minmax(0, 1fr));
	gap: var(--fs-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}
.flash-products .wc-block-product-template.columns-5 { --cols: 5; }
.flash-products .wc-block-product-template.columns-3 { --cols: 3; }
.flash-products .wc-block-product-template > li {
	width: auto !important;
	margin: 0 !important;
	max-width: none !important;
	display: flex;
}
.flash-card {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	background: #fff;
	border: 1px solid var(--fs-line);
	border-radius: var(--fs-radius);
	overflow: hidden;
	transition: box-shadow var(--fs-ease), transform var(--fs-ease), border-color var(--fs-ease);
}
.flash-card:hover { box-shadow: var(--fs-shadow-lift); border-color: transparent; transform: translateY(-3px); }
.flash-card > * { margin: 0 !important; }
.flash-card__media { position: relative; margin: 0 !important; background: var(--fs-surface); }
.flash-card__media a { display: block; }
.flash-card__media img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover !important;
	display: block;
	transition: transform 400ms ease;
}
.flash-card:hover .flash-card__media img { transform: scale(1.04); }
.flash-card__media .wc-block-components-product-image { margin: 0; }
.flash-card__badge, .flash-card__media .wp-block-woocommerce-product-sale-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
	margin: 0 !important;
}
.wc-block-components-product-sale-badge {
	border: 0 !important;
	border-radius: 7px !important;
	background: var(--fs-primary) !important;
	color: #fff !important;
	font-size: .75rem !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	padding: .25rem .5rem !important;
	line-height: 1.2 !important;
	position: static !important;
}
.flash-card__body { display: flex; flex-direction: column; gap: .35rem; flex: 1; padding: .85rem .9rem 1rem; }
.flash-card__body > * { margin: 0 !important; }
.flash-card__title { font-size: .9rem !important; font-weight: 600 !important; line-height: 1.4 !important; letter-spacing: 0 !important; }
.flash-card__title a {
	color: var(--fs-ink);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.8em;
}
.flash-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.flash-card__title a:hover { text-decoration: none; color: var(--fs-primary); }
.flash-card__rating { font-size: .75rem; }
.flash-card__price, .flash-card__price .wc-block-components-product-price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .15rem .45rem;
	font-size: 1.0625rem !important;
	font-weight: 800;
	color: var(--fs-ink);
	text-align: left !important;
}
.flash-card__price ins, .flash-pdp__price ins { text-decoration: none; color: var(--fs-primary); order: -1; background: none; }
.flash-card__price del { font-size: .78rem; font-weight: 500; color: var(--fs-muted); order: 0; }
.flash-card__btn { margin-top: auto !important; padding-top: .5rem; position: relative; z-index: 2; display: block !important; width: 100%; text-align: center; }
.flash-card__btn > button, .flash-card__btn > a.wp-block-button__link { width: 100% !important; display: flex !important; align-items: center; justify-content: center; }
.flash-card__btn .wp-block-button__link,
.flash-card__btn .wc-block-components-product-button__button {
	width: 100%;
	justify-content: center;
	margin: 0 !important;
	padding: .65rem .75rem !important;
	font-size: .8125rem !important;
	font-weight: 700 !important;
	border-radius: 10px !important;
	background: #fff !important;
	color: var(--fs-primary) !important;
	box-shadow: inset 0 0 0 1.5px var(--fs-primary);
	text-transform: none;
}
.flash-card__btn .wp-block-button__link:hover,
.flash-card__btn .wc-block-components-product-button__button:hover { background: var(--fs-primary) !important; color: #fff !important; }
.flash-card__btn .wc-block-components-product-button__button.loading { opacity: .7; }
.flash-card__btn .added_to_cart, .flash-card__btn .wc-block-components-product-button__button + a {
	display: block;
	margin-top: .4rem;
	text-align: center;
	font-size: .8rem;
	font-weight: 700;
}

/* Banner + CTA */
.flash-banner {
	margin-block-start: var(--wp--preset--spacing--60) !important;
	min-height: 360px;
	padding: clamp(1.75rem, 5vw, 3.5rem) !important;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.flash-banner > * { margin-block: 0; }
.flash-banner p { color: #D3D8E0; margin-bottom: 1.5rem; }
.flash-banner__title { color: #fff; font-size: clamp(1.6rem, 3.2vw, 2.4rem); margin-bottom: .75rem !important; }
.flash-banner .flash-eyebrow { color: #FF8A85; margin-bottom: 1rem; }

.flash-cta {
	margin-block-start: var(--wp--preset--spacing--60) !important;
	padding: clamp(1.5rem, 4vw, 2.5rem) clamp(1.5rem, 4vw, 3rem);
	border-radius: var(--fs-radius-lg);
	background: var(--wp--preset--gradient--flash);
	color: #fff;
	gap: 1.25rem;
}
.flash-cta__text > * { margin: 0; }
.flash-cta__title { color: #fff; font-size: clamp(1.35rem, 2.6vw, 1.9rem); margin-bottom: .35rem !important; }
.flash-cta p { color: rgba(255, 255, 255, .92); max-width: 56ch; }

/* ---------------------------------------------------------------
   Shop archive
---------------------------------------------------------------- */
.flash-archive-head > * { margin-block: 0; }
.flash-breadcrumbs, .woocommerce-breadcrumb { font-size: .8125rem; color: var(--fs-muted); margin-bottom: .5rem !important; }
.flash-breadcrumbs a, .woocommerce-breadcrumb a { color: var(--fs-muted); }
.flash-breadcrumbs a:hover { color: var(--fs-primary); }
.flash-archive-title { margin: .25rem 0 0 !important; font-size: clamp(1.5rem, 3vw, 2.125rem); }
.flash-archive-head .wp-block-term-description { color: var(--fs-muted); max-width: 70ch; margin-top: .5rem; }
.flash-shop-layout { margin-top: 1.5rem !important; gap: clamp(1.25rem, 3vw, 2rem) !important; align-items: flex-start !important; }
.flash-shop-layout__side { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 130px); }
.flash-shop-sidebar { display: grid; gap: 1rem; }
.flash-filter { padding: 1rem; border: 1px solid var(--fs-line); border-radius: var(--fs-radius); background: #fff; }
.flash-filter__title { margin: 0 0 .65rem; font-size: .8125rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--fs-muted); }
.flash-filter ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.flash-filter li a {
	display: flex;
	align-items: center;
	gap: .6rem;
	padding: .55rem .6rem;
	border-radius: 10px;
	color: var(--fs-body);
	font-size: .875rem;
	font-weight: 600;
}
.flash-filter li a span { flex: 1; }
.flash-filter li a em { font-style: normal; font-size: .75rem; color: var(--fs-muted); background: var(--fs-surface); border-radius: 999px; padding: .1rem .5rem; }
.flash-filter li a .flash-icon { color: var(--fs-muted); }
.flash-filter li a:hover { background: var(--fs-surface); text-decoration: none; color: var(--fs-ink); }
.flash-filter li a[aria-current] { background: var(--fs-primary-soft); color: var(--fs-primary); }
.flash-filter li a[aria-current] .flash-icon { color: var(--fs-primary); }
.flash-filter__chips { display: flex !important; flex-wrap: wrap; gap: .4rem !important; }
.flash-filter__chips a { padding: .4rem .7rem !important; border: 1px solid var(--fs-line); border-radius: 999px !important; font-size: .8125rem !important; }
.flash-filter__chips a.is-reset { border-style: dashed; color: var(--fs-muted); }
.flash-filter--help { background: var(--fs-surface); border-color: transparent; display: grid; gap: .6rem; color: var(--fs-primary); }
.flash-filter--help p { margin: 0; color: var(--fs-body); font-size: .875rem; }
.flash-filter--help strong { color: var(--fs-ink); }

.flash-toolbar { margin-bottom: 1rem !important; padding: .5rem .5rem .5rem 1rem; border-radius: 12px; background: var(--fs-surface); align-items: center; }
.flash-toolbar > * { margin: 0 !important; }
.flash-toolbar .woocommerce-result-count { color: var(--fs-muted); font-size: .875rem; margin: 0; }
.flash-toolbar .woocommerce-ordering { margin: 0; }
.flash-toolbar select, .woocommerce-ordering select {
	font: inherit;
	font-size: .875rem;
	font-weight: 600;
	padding: .55rem 2.2rem .55rem .85rem;
	border: 1px solid var(--fs-line);
	border-radius: 10px;
	background-color: #fff;
	color: var(--fs-ink);
	min-height: 40px;
}

.flash-pagination { margin-top: 2rem !important; gap: .35rem; font-size: .875rem; }
.flash-pagination .page-numbers,
.flash-pagination .wp-block-query-pagination-previous,
.flash-pagination .wp-block-query-pagination-next {
	display: inline-grid;
	place-items: center;
	min-width: 40px;
	height: 40px;
	padding: 0 .75rem;
	border-radius: 10px;
	border: 1px solid var(--fs-line);
	color: var(--fs-ink);
}
.flash-pagination .page-numbers.current { background: var(--fs-ink); border-color: var(--fs-ink); color: #fff; }
.flash-pagination a:hover { border-color: var(--fs-primary); color: var(--fs-primary); text-decoration: none; }

.flash-empty { padding: 3rem 1.5rem; text-align: center; border: 1px dashed var(--fs-line); border-radius: var(--fs-radius); color: var(--fs-muted); background: #fff; }
.flash-empty__title { margin: 0 0 .25rem; font-size: 1.125rem; font-weight: 800; color: var(--fs-ink); }
.flash-sale .flash-empty { grid-column: 1 / -1; }

/* ---------------------------------------------------------------
   Single product
---------------------------------------------------------------- */
.flash-pdp { margin-top: 1rem !important; gap: clamp(1.5rem, 4vw, 3.5rem) !important; align-items: flex-start !important; }
.flash-pdp__gallery { align-self: flex-start; }
.flash-pdp__gallery .woocommerce-product-gallery, .flash-pdp__gallery .images, .flash-pdp__gallery .wp-block-woocommerce-product-image-gallery { margin: 0 !important; width: 100% !important; max-width: none !important; float: none !important; }
.flash-pdp__gallery { position: relative; }
.flash-pdp__gallery span.onsale, .woocommerce span.onsale {
	position: absolute !important; top: 1rem !important; left: 1rem !important; right: auto !important; z-index: 3; min-width: 0 !important; min-height: 0 !important; margin: 0 !important;
	padding: .35rem .65rem; border-radius: 8px; background: var(--fs-primary); color: #fff; font-size: .875rem; font-weight: 800; line-height: 1.2;
}
.flash-pdp__gallery .woocommerce-product-gallery__wrapper,
.flash-pdp__gallery .flex-viewport { border-radius: var(--fs-radius-lg); overflow: hidden; background: var(--fs-surface); }
.flash-pdp__gallery .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(5, 1fr); gap: .6rem; margin-top: .75rem !important; padding: 0; }
.flash-pdp__gallery .flex-control-thumbs li { width: auto !important; margin: 0 !important; list-style: none; }
.flash-pdp__gallery .flex-control-thumbs img { border-radius: 10px; border: 2px solid transparent; opacity: .7; cursor: pointer; transition: opacity var(--fs-ease), border-color var(--fs-ease); }
.flash-pdp__gallery .flex-control-thumbs img.flex-active, .flash-pdp__gallery .flex-control-thumbs img:hover { border-color: var(--fs-primary); opacity: 1; }
.flash-pdp__gallery .woocommerce-product-gallery__trigger { top: 1rem !important; right: 1rem !important; background: #fff; border-radius: 50%; width: 40px; height: 40px; }
.flash-pdp__summary > * { margin-block: 0 0.9rem !important; }
.flash-pdp__cat { font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.flash-pdp__cat a { color: var(--fs-primary); }
.flash-pdp__title { font-size: clamp(1.5rem, 2.8vw, 2.1rem) !important; line-height: 1.2 !important; }
.flash-pdp__price, .flash-pdp__price .wc-block-components-product-price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .25rem .75rem;
	font-size: clamp(1.6rem, 3vw, 2rem) !important;
	font-weight: 800;
	color: var(--fs-ink);
	letter-spacing: -.02em;
}
.flash-pdp__price del { font-size: 1rem; font-weight: 500; color: var(--fs-muted); letter-spacing: 0; }
.flash-pdp__excerpt { color: var(--fs-body); }
.flash-pdp__excerpt p { margin: 0; }
.flash-pdp__cart form.cart { display: flex; flex-wrap: wrap; gap: .75rem; align-items: stretch; margin: 0; padding: 1rem 0; border-block: 1px solid var(--fs-line); }
.flash-pdp__cart .quantity input.qty {
	width: 5.25rem;
	height: 52px;
	border: 1.5px solid var(--fs-line);
	border-radius: 12px;
	font: inherit;
	font-weight: 700;
	text-align: center;
}
.flash-pdp__cart .single_add_to_cart_button {
	flex: 1;
	min-height: 52px;
	border: 0;
	border-radius: 12px !important;
	font-size: 1rem !important;
	font-weight: 800 !important;
	background: var(--fs-primary) !important;
	color: #fff !important;
	cursor: pointer;
}
.flash-pdp__cart .single_add_to_cart_button:hover { background: var(--fs-primary-dark) !important; }
.flash-pdp__cart .stock { font-weight: 700; color: var(--fs-success); }
.flash-pdp__cart .stock.out-of-stock { color: var(--fs-primary); }
.flash-pdp__cart table.variations { width: 100%; border: 0; }
.flash-pdp__cart table.variations select { min-height: 44px; border-radius: 10px; border: 1.5px solid var(--fs-line); padding: 0 .75rem; font: inherit; }

.flash-trust { border: 1px solid var(--fs-line); border-radius: var(--fs-radius); padding: 1rem; display: grid; gap: .9rem; }
.flash-trust ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.flash-trust li { display: flex; gap: .75rem; align-items: flex-start; }
.flash-trust li .flash-icon { color: var(--fs-success); margin-top: 2px; }
.flash-trust strong { display: block; color: var(--fs-ink); font-size: .875rem; }
.flash-trust li span { display: block; color: var(--fs-muted); font-size: .8125rem; line-height: 1.45; }
.flash-trust .flash-wa-link span { display: inline; color: #fff; font-size: .875rem; }
.flash-pdp__meta { font-size: .8125rem; color: var(--fs-muted); gap: .25rem 1.25rem !important; }
.flash-pdp__meta > * { margin: 0; }

.flash-wa-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	min-height: 44px;
	padding: .65rem 1rem;
	border-radius: 12px;
	background: #0F7A52;
	color: #fff !important;
	font-weight: 700;
	font-size: .875rem;
	transition: background var(--fs-ease);
}
.flash-wa-link:hover { background: #0B6142; text-decoration: none; }
.flash-wa-link.is-block { width: 100%; }
.flash-wa-link.is-small { min-height: 40px; font-size: .8125rem; }

.flash-pdp__details { margin-top: var(--wp--preset--spacing--60) !important; }
.flash-pdp__details .wc-tabs, .woocommerce-tabs ul.tabs {
	display: flex;
	gap: .25rem;
	margin: 0 0 1.5rem !important;
	padding: 0 !important;
	list-style: none;
	border-bottom: 1px solid var(--fs-line);
	overflow-x: auto;
}
.woocommerce-tabs ul.tabs::before, .woocommerce-tabs ul.tabs li::before, .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; border-radius: 0 !important; }
.woocommerce-tabs ul.tabs li a {
	display: block;
	padding: .85rem 1rem !important;
	color: var(--fs-muted) !important;
	font-weight: 700 !important;
	font-size: .9375rem;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	white-space: nowrap;
}
.woocommerce-tabs ul.tabs li.active a { color: var(--fs-ink) !important; border-bottom-color: var(--fs-primary); }
.woocommerce-tabs .panel { max-width: 860px; }
.woocommerce-tabs .panel > h2:first-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.woocommerce-tabs table.shop_attributes { width: 100%; border-collapse: collapse; border: 1px solid var(--fs-line); border-radius: 12px; overflow: hidden; }
.woocommerce-tabs table.shop_attributes th, .woocommerce-tabs table.shop_attributes td { padding: .75rem 1rem; border-bottom: 1px solid var(--fs-line); text-align: left; font-style: normal; }
.woocommerce-tabs table.shop_attributes th { width: 34%; background: var(--fs-surface); color: var(--fs-ink); font-weight: 700; }
.woocommerce-tabs table.shop_attributes p { margin: 0; }

/* ---------------------------------------------------------------
   Pages, cart, checkout, account
---------------------------------------------------------------- */
.flash-page-head { padding-block: clamp(1rem, 3vw, 2rem) clamp(.75rem, 2vw, 1.5rem); }
.flash-page-head > * { margin-block: 0 .5rem; }
.flash-page-title { font-size: clamp(1.6rem, 3.4vw, 2.5rem) !important; }
.flash-content > * + * { margin-block-start: 1.1rem; }
.flash-content h2 { margin-block-start: 2.25rem; }
.flash-content h3 { margin-block-start: 1.75rem; }
.flash-content details { border: 1px solid var(--fs-line); border-radius: 12px; padding: 0 1.1rem; background: #fff; }
.flash-content details + details { margin-top: .6rem; }
.flash-content details summary { padding: 1rem 0; font-weight: 700; color: var(--fs-ink); cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.flash-content details summary::-webkit-details-marker { display: none; }
.flash-content details summary::after { content: "+"; font-size: 1.25rem; line-height: 1; color: var(--fs-primary); transition: transform var(--fs-ease); }
.flash-content details[open] summary::after { transform: rotate(45deg); }
.flash-content details > :not(summary) { margin-top: 0; padding-bottom: 1rem; color: var(--fs-body); }
.flash-content .wp-block-table table { border-collapse: collapse; width: 100%; }
.flash-content .wp-block-table td, .flash-content .wp-block-table th { border: 1px solid var(--fs-line); padding: .7rem .9rem; }
.flash-content .wp-block-table thead { background: var(--fs-surface); border: 0; }
.flash-info-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 1rem; }
.flash-info-card { padding: 1.25rem; border: 1px solid var(--fs-line); border-radius: var(--fs-radius); background: #fff; }
.flash-info-card h3 { margin: 0 0 .35rem; font-size: 1rem; }
.flash-info-card p { margin: 0; color: var(--fs-muted); font-size: .9rem; }

.flash-contact { list-style: none; margin: 0; padding: 0; display: grid; gap: .8rem; }
.flash-contact li { display: flex; gap: .65rem; align-items: flex-start; font-size: .9rem; line-height: 1.5; }
.flash-contact .flash-icon { margin-top: 2px; color: var(--fs-primary); }
.flash-admin-hint { padding: .75rem 1rem; border: 1px dashed currentColor; border-radius: 10px; font-size: .8125rem; opacity: .8; }

.wc-block-cart, .wc-block-checkout { margin-top: 1rem; }
.wc-block-components-sidebar-layout .wc-block-components-sidebar .wc-block-components-panel,
.wc-block-components-sidebar-layout .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-block,
.wp-block-woocommerce-checkout-order-summary-block {
	border-radius: var(--fs-radius) !important;
}
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
	border-radius: 12px !important;
	min-height: 52px;
	font-weight: 800 !important;
}
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-blocks-components-select__select {
	border-radius: 10px !important;
}
.flash-checkout { background: var(--fs-surface); }
.flash-checkout-foot { text-align: center; padding: 1.5rem; font-size: .8125rem; color: var(--fs-muted); margin: 0; background: var(--fs-surface); }

.woocommerce-account .woocommerce { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 2rem; align-items: start; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: .5rem; border: 1px solid var(--fs-line); border-radius: var(--fs-radius); display: grid; gap: 2px; }
.woocommerce-MyAccount-navigation a { display: block; padding: .6rem .8rem; border-radius: 10px; color: var(--fs-body); font-weight: 600; font-size: .9rem; }
.woocommerce-MyAccount-navigation a:hover { background: var(--fs-surface); text-decoration: none; }
.woocommerce-MyAccount-navigation .is-active a { background: var(--fs-primary-soft); color: var(--fs-primary); }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-account:not(.logged-in) .woocommerce > * { grid-column: 1 / -1; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select {
	border: 1.5px solid var(--fs-line);
	border-radius: 10px;
	padding: .7rem .85rem;
	font: inherit;
}
.woocommerce button.button, .woocommerce a.button {
	background: var(--fs-primary);
	color: #fff;
	border-radius: 10px;
	font-weight: 700;
	padding: .75rem 1.25rem;
	border: 0;
}
.woocommerce button.button:hover, .woocommerce a.button:hover { background: var(--fs-primary-dark); color: #fff; }

/* Blog */
.flash-post-card { height: 100%; border: 1px solid var(--fs-line); border-radius: var(--fs-radius); overflow: hidden; padding-bottom: 1rem; }
.flash-post-card > :not(.wp-block-post-featured-image) { padding-inline: 1.1rem; margin-block: .5rem 0; }
.flash-post-card .wp-block-post-featured-image { margin: 0; }
.flash-meta { color: var(--fs-muted); font-size: .8125rem; }

/* 404 */
.flash-404 { text-align: center; padding: 4rem 1rem; max-width: 560px; margin: 0 auto; }
.flash-404__code { font-size: clamp(4rem, 14vw, 8rem); font-weight: 800; line-height: 1; margin: 0; background: var(--wp--preset--gradient--flash); -webkit-background-clip: text; background-clip: text; color: transparent; }
.flash-404 h1 { margin: .5rem 0; }
.flash-404 p { color: var(--fs-muted); }
.flash-404 .wp-element-button { display: inline-block; margin-right: 1rem; color: #fff; }

/* ---------------------------------------------------------------
   Footer
---------------------------------------------------------------- */
.flash-footer {
	background: var(--fs-ink);
	color: #AEB5C1;
	padding-block: clamp(2.5rem, 6vw, 4.5rem) 1.5rem;
	font-size: .9rem;
	margin-top: 0;
}
.flash-footer a { color: #C9CED6; }
.flash-footer a:hover { color: #fff; }
.flash-footer .wp-block-site-title a { color: #fff; }
.flash-footer .wp-block-site-logo img { background: #fff; border-radius: 50%; padding: 2px; }
.flash-footer__about { margin-top: 1rem !important; max-width: 38ch; line-height: 1.65; }
.flash-footer__title { color: #fff; font-size: .9375rem !important; letter-spacing: 0 !important; margin: 0 0 1rem !important; }
.flash-links { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.flash-footer .flash-contact .flash-icon { color: #FF6B66; }
.flash-social { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.25rem; }
.flash-social a { padding: .45rem .8rem; border: 1px solid rgba(255, 255, 255, .16); border-radius: 999px; font-size: .8125rem; font-weight: 600; }
.flash-social a:hover { border-color: #fff; text-decoration: none; }
.flash-footer__pay { margin-top: clamp(2rem, 4vw, 3rem) !important; padding-top: 1.5rem; border-top: 1px solid rgba(255, 255, 255, .1); gap: 1rem; }
.flash-chips { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.flash-chips span { padding: .3rem .65rem; border-radius: 6px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .1); font-size: .75rem; font-weight: 600; color: #C9CED6; }
.flash-chips .flash-chips__label { background: none; border: 0; padding-left: 0; color: #fff; font-weight: 700; }
.flash-footer__bottom { margin-top: 1.5rem !important; padding-top: 1.25rem; border-top: 1px solid rgba(255, 255, 255, .1); font-size: .8125rem; gap: .5rem; }
.flash-footer__bottom p { margin: 0; }

/* Floating WhatsApp */
.flash-wa-fab {
	position: fixed;
	right: clamp(1rem, 2.5vw, 1.5rem);
	bottom: clamp(1rem, 2.5vw, 1.5rem);
	z-index: 90;
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	min-height: 52px;
	padding: 0 1.15rem 0 1rem;
	border-radius: 999px;
	background: #0F7A52;
	color: #fff !important;
	font-weight: 700;
	font-size: .9rem;
	box-shadow: 0 10px 30px rgba(15, 122, 82, .35);
	transition: transform var(--fs-ease), background var(--fs-ease);
}
.flash-wa-fab:hover { background: #0B6142; transform: translateY(-2px); text-decoration: none; }

/* ---------------------------------------------------------------
   Responsive
---------------------------------------------------------------- */
@media (max-width: 1180px) {
	.flash-cats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.flash-products .wc-block-product-template.columns-5 { --cols: 4; }
	.flash-products .wc-block-product-template.columns-5 > li:nth-child(5) { display: none; }
}

@media (max-width: 960px) {
	.flash-hero { grid-template-columns: 1fr; }
	.flash-hero__side { grid-template-rows: none; grid-template-columns: 1fr 1fr; }
	.flash-hero__main { min-height: 400px; }
	.flash-usp { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.flash-usp li:nth-child(3) { border-left: 0; }
	.flash-usp li:nth-child(n+3) { border-top: 1px solid var(--fs-line); }
	.flash-products .wc-block-product-template { --cols: 3 !important; }
	.flash-products .wc-block-product-template.columns-5 > li:nth-child(5) { display: flex; }
	.flash-shop-layout { flex-wrap: wrap !important; }
	.flash-shop-layout__side { position: static; flex-basis: 100% !important; }
	.flash-shop-sidebar .flash-filter:first-child, .flash-filter--help { display: none !important; }
	.flash-shop-sidebar .flash-filter { padding: 0; border: 0; background: none; }
	.flash-filter__title { display: none; }
	.flash-filter__chips { flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; }
	.flash-filter__chips a { white-space: nowrap; background: #fff; }
	.flash-pdp { flex-wrap: wrap !important; }
	.flash-pdp > .wp-block-column { flex-basis: 100% !important; }
	.flash-pdp__gallery { position: static; }
	.woocommerce-account .woocommerce { grid-template-columns: 1fr; }
	.woocommerce-MyAccount-navigation ul { display: flex; overflow-x: auto; }
	.woocommerce-MyAccount-navigation a { white-space: nowrap; }
}

@media (max-width: 781px) {
	:root { --fs-topbar-h: 32px; }
	.flash-topbar__links, .flash-topbar__msgs span:not(:first-child) { display: none; }
	.flash-topbar__inner { justify-content: center; }
	.flash-header { padding-block: .6rem .7rem; }
	.flash-header__row { flex-wrap: wrap !important; row-gap: .6rem; }
	.flash-brand { order: 1; }
	.flash-header__actions { order: 2; margin-left: auto; }
	.flash-search { order: 3; flex-basis: 100%; max-width: none; }
	.flash-brand .wp-block-site-title { font-size: 1.1rem; }
	.flash-brand .wp-block-site-logo img { width: 36px; height: 36px; }
	.flash-catnav__promo { margin-left: 0; }
	.flash-hero__main { min-height: 0; padding: 2rem 1.5rem; }
	.flash-hero__main::before { background: linear-gradient(180deg, rgba(14, 17, 22, .72) 0%, rgba(14, 17, 22, .92) 100%); }
	.flash-hero__title { max-width: none; }
	.flash-hero__proof { gap: 1.25rem; }
	.flash-hero__side { grid-template-columns: 1fr 1fr; gap: .75rem; }
	.flash-tile { min-height: 170px; padding: 1rem; }
	.flash-tile__title { font-size: 1rem; }
	.flash-usp li { padding: .9rem; gap: .65rem; align-items: flex-start; }
	.flash-usp__icon { width: 38px; height: 38px; border-radius: 10px; }
	.flash-usp small { display: none; }
	.flash-section__head { align-items: center; }
	.flash-section__sub { display: none; }
	.flash-cats { gap: .5rem; }
	.flash-cat { padding: .85rem .25rem .75rem; }
	.flash-cat__icon { width: 48px; height: 48px; border-radius: 14px; margin-bottom: .25rem; }
	.flash-cat__icon .flash-icon { width: 24px; height: 24px; }
	.flash-cat__name { font-size: .75rem; }
	.flash-cat__count { display: none; }
	.flash-products .wc-block-product-template { --cols: 2 !important; gap: .625rem; }
	.flash-sale .wc-block-product-template {
		display: grid !important;
		grid-auto-flow: column;
		grid-template-columns: none !important;
		grid-auto-columns: 46%;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		padding-bottom: .25rem !important;
	}
	.flash-sale .wc-block-product-template > li { scroll-snap-align: start; }
	.flash-sale__ends { display: none; }
	.flash-card__body { padding: .7rem .7rem .8rem; }
	.flash-card__title { font-size: .84rem !important; }
	.flash-card__price, .flash-card__price .wc-block-components-product-price { font-size: .95rem !important; }
	.flash-banner { min-height: 0; }
	.flash-banner::before { background: linear-gradient(180deg, rgba(14, 17, 22, .7), rgba(14, 17, 22, .9)); }
	.flash-wa-fab { width: 56px; height: 56px; padding: 0; justify-content: center; }
	.flash-wa-fab span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.flash-wa-fab .flash-icon { width: 26px; height: 26px; }
	.flash-footer__cols { gap: 2rem !important; }
}

@media (max-width: 781px) {
	.flash-site-header.is-stuck .flash-nav { display: none; }
}

@media (max-width: 600px) {
	/* Admin bar is not fixed on small screens. */
	.flash-site-header { top: calc(-1 * var(--fs-topbar-h)); }
}

@media (max-width: 420px) {
	.flash-hero__side { grid-template-columns: 1fr; }
	.flash-tile { min-height: 150px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: 1ms !important; animation-duration: 1ms !important; scroll-behavior: auto !important; }
}
