/* Zand's shared surfaces and storefront compositions. */
:root {
	--fd-primary-dark: #203493;
	--fd-primary-soft: #e9edff;
	--fd-text: #202845;
	--fd-muted: #535c71;
	--fd-border: #dadbdc;
	--fd-soft: #efeee8;
	--fd-radius: 8px;
	--fd-radius-sm: 6px;
	--fd-radius-xs: 4px;
	--fd-container: 1440px;
	--fd-gutter: clamp(14px, 3.2vw, 54px);
	--zand-section-gap: clamp(30px, 6vw, 88px);
}

body { font-size: 1rem; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
	outline: 2px solid var(--fd-primary);
	outline-offset: 3px;
}
.fd-btn, .woocommerce .button, .fd-icon-btn { min-height: 44px; }
.fd-icon-btn { min-width: 44px; }
.fd-header { background: var(--fd-bg); }
.fd-header__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	gap: 6px 10px;
	padding-block: 8px 12px;
}
.fd-header__logo { text-align: start; }
.fd-header__logo .fd-logo-text { font-weight: 900; }
.fd-header__logo .fd-logo-text span { white-space: normal; }
.fd-header__search,
.fd-header.is-search-open .fd-header__search {
	display: block;
	position: relative;
	inset: auto;
	grid-column: 1 / -1;
	grid-row: 2;
	padding: 0;
	background: none;
	border: 0;
	max-width: none;
}
.fd-header__burger { grid-column: 3; grid-row: 1; }
.fd-header__actions { grid-column: 2; grid-row: 1; margin: 0; }
.fd-header__account { display: inline-flex; min-height: 44px; min-width: 44px; justify-content: center; padding: 0; }
.fd-header__account-label { display: none; }
.fd-nav { border: 0; background: transparent; }
.fd-nav .fd-container { width: 100%; padding: 0; }
.fd-bottom-bar { display: none; }
body { padding-bottom: 0; }

.zand-intro {
	display: grid;
	gap: clamp(18px, 4vw, 64px);
	padding-block: clamp(32px, 6vw, 94px) clamp(26px, 4vw, 58px);
	align-items: center;
}
.zand-intro__copy {
	padding-inline-start: clamp(12px, 2.4vw, 38px);
	border-inline-start: 4px solid var(--fd-primary);
	min-width: 0;
}
.zand-intro__label { color: var(--fd-primary-dark); font-weight: 800; margin: 0 0 10px; }
.zand-intro h1 {
	font-size: clamp(2.05rem, 5.2vw, 5.2rem);
	line-height: 1.22;
	font-weight: 900;
	white-space: pre-line;
	margin: 0 0 16px;
}
.zand-intro__copy > p:not(.zand-intro__label) { color: var(--fd-muted); max-width: 34ch; margin: 0 0 22px; }
.zand-intro__photo { margin: 0; background: var(--fd-media-bg); min-width: 0; }
.zand-intro__photo img { display: block; width: 100%; aspect-ratio: 1.55; object-fit: contain; mix-blend-mode: multiply; }
.zand-intro__photo figcaption a {
	display: flex;
	gap: 12px;
	align-items: center;
	justify-content: space-between;
	min-height: 48px;
	padding: 10px 16px;
	background: var(--fd-dark);
	color: white;
	font-size: .9rem;
}
.zand-intro__photo .fd-icon, .zand-category-index .fd-icon { flex: none; width: 19px; height: 19px; }

.zand-category-index {
	display: grid;
	align-items: start;
	gap: 14px clamp(20px, 5vw, 72px);
	padding-block: 24px;
}
.zand-category-index h2 { margin: 0; font-size: clamp(1.35rem, 3vw, 2.25rem); }
.zand-category-index ul { list-style: none; padding: 0; margin: 0; display: grid; border-block-start: 1px solid var(--fd-border); }
.zand-category-index li { min-width: 0; border-block-end: 1px solid var(--fd-border); }
.zand-category-index a {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	align-items: center;
	min-height: 54px;
	padding: 10px 12px;
	font-weight: 700;
}
.zand-category-index a:hover { background: var(--fd-primary-soft); }
.fd-section { padding-block: var(--zand-section-gap); }
.fd-section-head { border-block-end: 1px solid var(--fd-border); padding-block-end: 12px; }

.fd-shop-toolbar {
	background: transparent;
	border: 0;
	border-block: 1px solid var(--fd-border);
	border-radius: 0;
	padding: 10px 0;
}
.fd-chip { border-radius: var(--fd-radius-xs); min-height: 44px; }
.fd-card {
	border: 1px solid var(--fd-border);
	border-radius: 0;
	padding: 0;
	background: var(--fd-surface);
}
.fd-card:hover { transform: none; box-shadow: none; border-color: var(--fd-primary); }
.zand-card-heading { padding: clamp(9px, 1.3vw, 18px); }
.fd-card__title { margin: 3px 0 0; font-size: clamp(.9rem, 1.15vw, 1.1rem); }
.fd-card__title a { display: block; min-height: 0; overflow: visible; overflow-wrap: anywhere; }
.fd-card__media { border-radius: 0; margin-block-start: auto; }
.fd-card__body { flex: none; padding: 8px clamp(8px, 1.3vw, 18px); }
.fd-card__footer { align-items: center; }
.fd-card__action .button { min-height: 44px; min-width: 44px; border-radius: var(--fd-radius-xs); }
.zand-sku { font-size: .78rem; color: var(--fd-muted); }
.single-product div.product { gap: clamp(18px, 3vw, 44px); }
.single-product .summary {
	position: static;
	border-block-start: 4px solid var(--fd-primary);
	padding: clamp(14px, 3vw, 36px);
	background: var(--fd-surface);
}
.single-product .summary > * { min-width: 0; overflow-wrap: anywhere; }
.single-product form.cart { background: var(--fd-bg); }
.woocommerce-tabs { border-block-start: 1px solid var(--fd-border); }

.fd-footer a:hover { color: #cbd4ff; }
.fd-footer__main { grid-template-columns: minmax(0, 1fr); gap: 20px; }
.zand-footer-brand { grid-column: 1 / -1; border-block-end: 1px solid #525a72; padding-block-end: 16px; }
.zand-footer-brand .fd-logo-text { color: white; font-size: clamp(1.4rem, 4vw, 2.6rem); }
.zand-footer-brand p { margin-block: 8px 0; }
.fd-footer__bottom { text-align: start; }
.fd-footer__menu a { display: inline-flex; align-items: center; min-height: 44px; }

@media (min-width: 600px) {
	.zand-category-index { grid-template-columns: minmax(0, 1fr) minmax(0, 2.6fr); }
	.zand-category-index ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fd-footer__main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 768px) {
	.zand-intro--has-photo { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
}
@media (min-width: 992px) {
	.fd-header__inner { grid-template-columns: auto minmax(0, 1fr) auto; gap: 0 20px; padding-block: 6px 12px; }
	.fd-header__actions { grid-column: 3; }
	.fd-header__account-label { display: inline; }
	.fd-header__account { padding-inline: 10px; }
	.fd-header__search { grid-column: 2 / -1; }
	.fd-nav .fd-menu { flex-wrap: wrap; }
	.fd-footer__main { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.fd-search { gap: 6px; }
.fd-search .fd-search__input { min-width: 0; flex: 1; border-radius: var(--fd-radius-xs); }
.zand-search-submit { flex: none; }
.woocommerce-products-header {
	border-inline-start: 4px solid var(--fd-primary);
	padding: 6px clamp(12px, 2.2vw, 28px);
	margin-block: 16px 26px;
}
.woocommerce-products-header__title { font-size: clamp(1.6rem, 4vw, 3.6rem); overflow-wrap: anywhere; }
.fd-chips { flex-wrap: wrap; overflow: visible; }
.fd-chip { display: inline-flex; align-items: center; white-space: normal; }
.fd-shop-toolbar .woocommerce-ordering select { min-height: 44px; border-radius: var(--fd-radius-xs); }
.fd-shop-toolbar__filter { min-height: 44px; }
@media (min-width: 992px) {
	.fd-shop__sidebar.fd-drawer { top: 146px; }
}
@media (min-width: 992px) {
	.fd-menu > li > a { padding-inline: clamp(6px, .8vw, 14px); }
}

.zand-wordmark {
	display: inline-block;
	flex: 0 0 22px;
	height: 22px;
	background: var(--fd-primary);
	clip-path: polygon(0 0, 100% 0, 100% 22%, 35% 78%, 100% 78%, 100% 100%, 0 100%, 0 78%, 65% 22%, 0 22%);
}
.zand-footer-brand .zand-wordmark { background: #cbd4ff; }
.fd-search .fd-search__input::placeholder { color: var(--fd-muted); }
.zand-intro .fd-btn { background: var(--fd-primary-dark); }
.zand-intro .fd-btn:hover { background: var(--fd-dark); }
@media (max-width: 991px) {
	.fd-shop__sidebar.fd-drawer:not(.is-open) { transition: none; }
}

.single-product div.product > .product_title {
	grid-column: 1 / -1;
	font-size: clamp(1.65rem, 4vw, 3.75rem);
	line-height: 1.35;
	margin: 0;
	padding-inline-start: clamp(10px, 1.8vw, 25px);
	border-inline-start: 4px solid var(--fd-primary);
	overflow-wrap: anywhere;
}
.single-product div.product > .onsale { grid-area: 2 / 1; }

.zand-price-filter form { display: grid; gap: 12px; }
.zand-price-filter label { display: grid; gap: 5px; font-size: .9rem; }
.zand-price-filter input { min-width: 0; min-height: 44px; }
