/**
 * DAC theme overrides — WP/WooCommerce compatibility ONLY.
 * Product list styling is handled entirely by dac0f17.css.
 */

body.dac-theme { margin: 0; padding: 0; overflow-x: hidden; }
body.dac-theme #wpadminbar { position: fixed; }
body.admin-bar.dac-theme header.scroll { top: 32px; }
@media screen and (max-width: 782px) { body.admin-bar.dac-theme header.scroll { top: 46px; } }

body.dac-theme .wp-block-navigation,
body.dac-theme .widget,
body.dac-theme #secondary,
body.dac-theme .site-header:not(header),
body.dac-theme .site-branding,
body.dac-theme .main-navigation { display: none !important; }

body.dac-theme header svg use { pointer-events: none; }
body.dac-theme header nav li.menu-item { display: none !important; }
body.dac-theme header nav a.menuItem { display: block; white-space: nowrap; }

body.dac-theme #searchForm,
body.dac-theme #searchForm.scroll,
body.dac-theme #searchForm.scroll.scrollUp { display: flex !important; flex-direction: row; flex-wrap: nowrap; align-items: stretch; }
body.dac-theme #searchForm #searchCont { display: block; flex: 1 1 auto; width: auto !important; min-width: 0; max-width: none; margin: 0; }
body.dac-theme #searchForm #searchCont .input { display: block; width: 100%; }
body.dac-theme #searchForm #search,
body.dac-theme #searchForm.scroll #search { width: 100%; box-sizing: border-box; }
body.dac-theme #searchForm #searchBtn,
body.dac-theme #searchForm.scroll #searchBtn { display: inline-flex !important; flex: 0 0 70px; align-items: center; justify-content: center; width: 70px !important; margin: 0; padding: 9px 19px; align-self: stretch; }

/* Search bar spacing from header elements */
body.dac-theme #searchForm { gap: 6px; }

body.dac-theme #asideOpen { display: none !important; }
body.dac-theme #prikol { display: none !important; }

/* Personal space in original header — top-right corner */
body.dac-theme.dac-home #psOverlay.noScroll { display: inline-block !important; position: absolute; top: 10px; right: 10px; z-index: 2; width: 270px; height: 212px; background: none; margin-left: 10px; }
body.dac-theme.dac-home #psOverlay.noScroll #personalSpace { position: relative; top: 0; left: 0; transform: none; width: 270px; height: 212px; border: none; }
body.dac-theme.dac-home #psOverlay.noScroll #psHeader { position: absolute; top: 0; z-index: 2; width: 161px; height: 36px; padding: 5px; white-space: nowrap; border: 2px solid var(--light-border-color); border-bottom: none; border-top-right-radius: 6px; border-top-left-radius: 6px; font: bold 0.9rem/28px Dacmtavr, Verdana, Arial, sans-serif; }
body.dac-theme.dac-home #psOverlay.noScroll #signInForm { position: absolute; top: 34px; width: 100%; height: calc(212px - 36px); padding: 10px 10px 8px; box-sizing: border-box; border: 2px solid var(--light-border-color); border-top: none; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; }
body.dac-theme.dac-home #psOverlay.noScroll #psClose { display: none; }
body.dac-theme.default #psOverlay.noScroll { display: inline-block !important; position: absolute; top: 10px; right: 10px; z-index: 2; width: 270px; height: 240px; background: var(--bg-color); }
body.dac-theme.default #psOverlay.noScroll #personalSpace { position: relative; top: 0; left: 0; transform: none; width: 270px; height: 240px; border: none; }
body.dac-theme.default #psOverlay.noScroll #psHeader { position: absolute; top: 0; z-index: 2; width: 161px; height: 36px; padding: 5px; white-space: nowrap; border: 2px solid var(--light-border-color); border-top: none; border-radius: 0; font: bold 0.9rem/28px Dacmtavr, Verdana, Arial, sans-serif; }
body.dac-theme.default #psOverlay.noScroll #signInForm { position: absolute; top: 34px; width: 100%; height: calc(240px - 36px); padding: 10px 10px 8px; box-sizing: border-box; border: 2px solid var(--light-border-color); border-top: none; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; }
body.dac-theme.default #psOverlay.noScroll #psClose { display: none; }

@media (max-width: 1025px) {
	body.dac-theme.dac-home #psOverlay.noScroll,
	body.dac-theme.default #psOverlay.noScroll { display: none !important; }
}

/* GTranslate inside personal space — top-right */
.gtranslate_wrapper { position: absolute; top: 7px; right: 20px; text-align: right; }
body.dac-theme.dac-home #psOverlay.noScroll { height: 240px; }
body.dac-theme.dac-home #psOverlay.noScroll #personalSpace { height: 240px; }
body.dac-theme.dac-home #psOverlay.noScroll #signInForm { height: calc(240px - 36px); }




body.dac-theme #navOverlay .gtranslate_wrapper {
	position: static;
	text-align: center;
}
body.dac-theme #navOverlay .gtranslate_wrapper a.glink span {
	font-size: 0.75rem;
	white-space: nowrap;
}
/* Burger menu overlay: all screen widths */
body.dac-theme #navOverlay.open {
	position: fixed;
	top: 0; left: 0;
	width: 100%; height: 100%;
	z-index: 4;
	background: rgba(0,0,0,.4);
	display: block;
}
body.dac-theme #navOverlay.open nav {
	position: fixed;
	top: 0; right: 0;
	width: 320px; height: 100%;
	padding: 10px;
	overflow-y: auto;
	background: var(--bg-color);
}
/* Hide personalSpace GTranslate when moved into burger menu nav */
body.dac-theme nav #personalSpace .gtranslate_wrapper {
	display: none;
}
/* Hide GTranslate from desktop inline nav (noScroll present) — visible in burger menu overlay */
@media (min-width: 1026px) {
	body.dac-theme #navOverlay.noScroll .gtranslate_wrapper { display: none; }
}

@media (max-width: 1025px) {
	body.dac-theme #navOverlay:not(.open) { display: none; }
}
/* Sidebar: visible only on pages that have it (non-homepages) */
body.dac-theme.dac-sidebar #asideOverlay:not(.open) { display: block !important; position: static !important; }
body.dac-theme.dac-sidebar #asideOverlay:not(.open) aside { float: left; width: 316px; margin: -55px 5px 5px 5px; border: 1px solid var(--light-border-color); border-radius: 5px; position: static !important; height: auto !important; }
body.dac-theme.dac-sidebar #asideOverlay:not(.open) #products { height: auto !important; max-height: none !important; overflow: visible !important; }
body.dac-theme.dac-sidebar #catHeader { display: flex; align-items: flex-start; padding-left: 4px; }
body.dac-theme.dac-sidebar #catHeader > #catClose { display: none; order: 3; margin-left: auto; }
body.dac-theme.dac-sidebar #catHeader > :not(#catClose) { display: inline-block; }
/* ── Mobile overlay: ensure fixed positioning + catHeader top spacing ── */
body.dac-theme #asideOverlay.open aside {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	width: 320px !important;
	height: 100vh !important;
	border: none !important;
	border-radius: 0 !important;
	margin-top: 0 !important;
}
body.dac-theme #asideOverlay.open #products {
	height: calc(100vh - 60px) !important;
}
/* Admin bar offset for mobile overlay */
body.admin-bar.dac-theme #asideOverlay.open aside {
	top: 42px !important;
	height: calc(100vh - 52px) !important;
}
body.admin-bar.dac-theme #asideOverlay.open #products {
	height: calc(100vh - 102px) !important;
}
@media screen and (max-width: 782px) {
	body.admin-bar.dac-theme #asideOverlay.open aside {
		top: 56px !important;
		height: calc(100vh - 66px) !important;
	}
	body.admin-bar.dac-theme #asideOverlay.open #products {
		height: calc(100vh - 116px) !important;
	}
}

/* Shift left-side category items 5px right */
body.dac-theme #asideOverlay .catItem,
body.dac-theme #asideOverlay .subCatItem { padding-left: 5px !important; }
body.dac-theme #asideOverlay .subCatItem {
	display: flex;
	align-items: center;
	text-decoration: none;
	color: inherit;
	padding: 4px 5px;
	gap: 6px;
}
body.dac-theme #asideOverlay .subCatItem .catIcon {
	width: 28px;
	height: 28px;
	flex-shrink: 0;
}
body.dac-theme #asideOverlay .subCatItem .catIcon .catLogoImg {
	width: 28px;
	height: 28px;
	object-fit: cover;
	border-radius: 3px;
}

body.dac-theme #asideOverlay .catItem,
body.dac-theme #asideOverlay .subCatItem { border-top: none; }

body.dac-theme .woocommerce-result-count,
body.dac-theme .woocommerce-ordering { display: none !important; }
body.dac-theme nav.woocommerce-pagination { display: none; }
body.dac-theme #options { display: block; }
.woocommerce-sidebar, #secondary { display: none !important; }

/* Personal space modal — centered square overlay, separate from header #psOverlay */
#psModal {
	display: none;
	position: fixed;
	top: 0; left: 0;
	width: 100%; height: 100%;
	z-index: 9999;
	background: rgba(0,0,0,0.4);
	overflow: hidden;
}

#psModal #personalSpace {
	position: fixed;
	top: 50%; left: 50%;
	transform: translate(-50%, -50%);
	width: 290px;
	min-height: 290px;
	background: var(--bg-color);
	border: 2px solid var(--light-border-color);
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	padding: 0;
	box-sizing: border-box;
}
#psModal #psHeader {
	position: relative;
	top: auto; left: auto;
	width: auto;
	height: auto;
	padding: 12px 14px;
	font: bold 1rem/28px Dacmtavr, Verdana, Arial, sans-serif;
	border-bottom: 1px solid var(--light-border-color);
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 6px;
	border-radius: 0;
	background: var(--psheader-bgcolor);
}
#psModal #psHeader .icon:first-child {
	width: 26px;
	height: 26px;
	fill: var(--theme-color);
	flex-shrink: 0;
}
#psModal #psHeader #psClose {
	margin-left: auto;
	cursor: pointer;
	font: bold 1rem/1 Dacmtavr, Verdana, Arial, sans-serif;
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--button-color);
	color: var(--inv-text-color);
	border-radius: 50%;
}
#psModal #signInForm,
#psModal #signOutForm {
	position: relative;
	top: auto;
	width: auto;
	height: auto;
	flex: 1;
	padding: 20px;
	border: none;
	border-radius: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	gap: 8px;
}

#psModal #signOutForm #signOutRow {
	margin-top: 12px;
}

#psModal #signOutForm #signOutBtn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	padding: 10px;
	border: none;
	border-radius: 6px;
	background: var(--theme-color);
	color: #fff;
	font: bold 1rem/1 Dacmtavr, Verdana, Arial, sans-serif;
	cursor: pointer;
}

#psModal #signOutForm #signOutBtn:hover {
	opacity: .85;
}

#psModal #signOutForm #signOutBtn svg {
	width: 20px;
	height: 20px;
	fill: #fff;
}
#psModal #signInForm .inpRow,
#psModal #signOutForm .inpRow {
	line-height: normal;
	margin: 0;
}
#psModal .gtranslate_wrapper {
	display: none;
}

/* Sticky header clone — opacity-only toggle via JS, no layout shift */
#stickyHeader.stickyClone {
	position: fixed !important;
	top: 0;
	left: 0;
	right: 0;
	z-index: 3;
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 8px;
	height: auto !important;
	min-height: 48px;
	padding: 4px 10px !important;
	box-sizing: border-box !important;
}

/* Left: logo - only as wide as content */
#stickyHeader.stickyClone #logoNav {
	flex: 0 0 auto;
	order: 1;
	display: flex !important;
	align-items: center;
	position: static !important;
}

/* Middle: search bar - fills all remaining space */
#stickyHeader.stickyClone #searchForm,
#stickyHeader.stickyClone #searchForm.scroll {
	flex: 1 1 auto;
	order: 2;
	position: static !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	margin: 0 !important;
	width: auto !important;
	display: flex !important;
}

/* Right: icons - only as wide as content */
header #icons {
	display: flex;
	align-items: center;
	gap: 10px;
}

#stickyHeader.stickyClone #icons {
	flex: 0 0 auto;
	order: 3;
	display: flex !important;
	align-items: center;
	justify-content: flex-end;
	gap: 4px;
}

#stickyHeader.stickyClone #icons .icon {
	margin-left: 0 !important;
	display: inline-flex;
	align-items: center;
}

/* Hide irrelevant elements in sticky header */
#stickyHeader.stickyClone #psOverlay,
#stickyHeader.stickyClone #asideOverlay,
#stickyHeader.stickyClone #logoNav #inlineNav,
#stickyHeader.stickyClone #prikol {
	display: none !important;
}

@media (max-width: 468px) {
	#stickyHeader.stickyClone #searchForm,
	#stickyHeader.stickyClone #searchForm.scroll {
		display: none !important;
	}

	#stickyHeader.stickyClone #logo {
		position: relative !important;
		top: 2px !important;
	}
}

body.dac-theme { transition: none !important; }

#similarProducts { margin-top: 1.5em; clear: both; }

/* Fix scroll jump: give swipers a minimum height to prevent layout shifts when images load */
.prodswiper { min-height: 240px; }

main #pageContent { max-width: none; padding: 0; }

/* Responsive: below 1026px force compact (scroll) header, hide full header */
@media (max-width: 1025px) {
	body.dac-theme.scroll { margin-top: 0; padding-top: 53px; }
	body.dac-theme.scroll header.scroll { top: 0; }
	body.dac-theme main { padding-top: 56px; }
	body.dac-theme #searchForm {
		margin-left: 0;
		width: 100%;
	}
	body.dac-theme #inlineNav {
		display: inline-flex;
	}
	/* Full-width catalog: push aside down so heading doesn't overlap search */
	body.dac-theme aside,
	body.dac-theme.dac-sidebar #asideOverlay:not(.open) aside {
		min-height: calc(100vh - 105px);
		border: 1px solid var(--light-border-color);
		background-color: var(--bg-color);
		border-radius: 5px;
		margin-top: 45px !important;
	}
}

/* Inline nav next to logo */
body.dac-theme #inlineNav {
	display: none;
}

/* 736px → 1024px — full-width search bar, push content down, abs nav links */
@media (min-width: 736px) and (max-width: 1024px) {
	body.dac-theme #inlineNav {
		display: inline-flex;
		flex-direction: row;
		align-items: center;
		gap: 6px;
		margin-left: 8px;
		padding-top: 50px;
	}
	body.dac-theme #logoNav {
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: 0;
	}
	body.dac-theme #logoNav > a {
		flex-shrink: 0;
	}
	body.dac-theme #inlineNav .menuItem {
		display: inline-flex;
		align-items: flex-end;
		gap: 3px;
		white-space: nowrap;
		font-size: .85rem;
		text-decoration: none;
		color: inherit;
	}
	body.dac-theme #inlineNav .menuItem svg {
		width: 30px !important;
		height: 30px !important;
		fill: currentColor;
		max-width: none;
	}
	body.dac-theme header {
		position: relative;
	}
	body.dac-theme header.scroll #inlineNav {
		display: none !important;
	}
	body.dac-theme #searchForm {
		margin-left: 0;
		width: 100%;
		top: -15px;
	}
	body.dac-theme main {
		padding-top: 56px;
	}
	body.dac-theme.dac-sidebar #asideOverlay:not(.open) aside {
		margin-top: 55px !important;
	}
	body.dac-theme #catalogueFull {
		margin-top: 10px;
	}
}

/* Give header more right room so registration div doesn't overlap */
@media (min-width: 1026px) {
	header { padding-right: 300px; }
}
/* ── Below 736px: hide catalog sidebar + opener on non‑front pages ── */
@media (max-width: 735px) {
	body.dac-theme.dac-sidebar #asideOverlay:not(.open),
	body.dac-theme.dac-sidebar #asideOverlay.open,
	body.dac-theme.dac-sidebar #asideOpen {
		display: none !important;
	}
	body.dac-theme.dac-sidebar main {
		width: 100% !important;
		padding-top: 50px !important;
	}
	body.dac-theme.dac-sidebar #backLinks a {
		width: auto !important;
		max-width: none !important;
	}
	body.dac-theme.dac-sidebar #productOptions .productBottomBar {
		position: static !important;
		margin-top: 60px;
		flex-wrap: wrap;
	}
	body.dac-theme.dac-sidebar #productOptions .productBottomBar .productPrice {
		overflow: hidden;
		text-overflow: ellipsis;
	}
}

/* Nav links: align with search bar at ≥1118px, gradually shift left below */
@media (min-width: 1026px) {
	body.dac-theme #navOverlay.noScroll {
		padding-left: clamp(0px, calc(100vw - 792px), 326px);
	}
}

/* backLinks — 1024-1280px: truncate at ~15 chars */
@media (min-width: 1024px) and (max-width: 1279px) {
	#backLinks {
		display: inline-block !important;
		width: auto !important;
	}
	#backLinks > * {
		display: inline-block !important;
		max-width: 25ch !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		white-space: nowrap !important;
	}
}

/* backLinks — shrink to content, truncate long text at 1280px+ */
@media (min-width: 1280px) {
	#backLinks {
		display: inline-block !important;
		width: auto !important;
	}
	#backLinks > * {
		display: inline-block !important;
		max-width: 25ch !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		white-space: nowrap !important;
	}
}

/* Sticky header — never leaves flow, no margin-top shift needed */
#headerSpacer { display: none; }

/* ── backLinks: keep as block (removed inline-block to fix product page layout) ── */



/* Logo — shifted 10px right */
#logo { height: auto !important; width: auto !important; margin: 8px 0 0 10px !important; max-width: 140px; max-height: 60px; object-fit: contain; }
@media (min-width: 1026px) { #logo { max-width: 180px; max-height: 80px; margin: 0 0 0 10px !important; } }
@media (min-width: 1026px) { #logo { max-width: 260px; max-height: 110px; margin: 15px 0 0 10px !important; } }
@media (min-width: 1366px) { #logo { max-width: 320px; max-height: 130px; margin: 5px 0 0 10px !important; } }
#logo.scroll { max-height: 52px !important; max-width: 120px !important; margin: 0 0 0 10px !important; }
.logo { max-height: 36px !important; width: auto !important; object-fit: contain; }

/* Pull search bar and links down 25px from previous, keep nav links */
#searchForm { position: relative; top: 10px; }
@media (min-width: 1026px) { #searchForm { margin-top: 0 !important; top: 15px; } }
@media (min-width: 1026px) { #searchForm { top: -17px; } }
@media (min-width: 1026px) { #navOverlay.noScroll { position: relative; top: -22px; } }

/* Prevent full-width flash on swiper slides before Swiper JS initializes */
.prodswiper .swiper-slide {
	flex-shrink: 0;
	width: calc((100% - 16px) / 2);
}
@media (min-width: 888px) {
	.prodswiper .swiper-slide { width: calc((100% - 32px) / 3); }
}
@media (min-width: 1552px) {
	.prodswiper .swiper-slide { width: calc((100% - 64px) / 5); }
}
@media (min-width: 1669px) {
	.prodswiper .swiper-slide { width: calc((100% - 80px) / 6); }
}

/* ── Homepage product swiper ── */
.prodswiper .swiper-slide .prodItem {
    display: block;
    text-decoration: none;
    color: inherit;
    padding: 10px;
    text-align: center;
}
.prodswiper .swiper-slide .prodImg {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    padding-top: 0 !important;
    margin: 0 auto 8px !important;
    overflow: hidden !important;
    background: var(--pic-bg-color) !important;
    border-radius: 4px !important;
    position: relative !important;
}
.prodswiper .swiper-slide .prodImg img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-width: 100% !important;
}
.prodswiper .swiper-slide .prodName {
    margin: 0 0 6px !important;
    font-size: 13px !important;
    font-weight: bold !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
}
.prodswiper .swiper-slide .prodPrice {
    margin: 0;
    font-size: 14px;
    text-align: center;
}
.prodswiper .swiper-slide .old-price {
    text-decoration: line-through;
    color: var(--old-price-color, #9e9e9e);
    margin-right: 6px;
}
.prodswiper .swiper-slide .sale-price {
    color: var(--theme-color, #f00);
    font-weight: bold;
}
.prodswiper .swiper-slide .regular-price {
    color: var(--label-dark-color, #000);
}

/* ── Product images: big image + small thumbs side by side ── */
@media (max-width: 1025px) {
	#productDescription {
		text-align: left;
	}
	#productDescription ul {
		padding-left: 20px;
	}
	#smallImages {
		display: flex !important;
		flex-direction: row;
		gap: 4px;
		white-space: normal !important;
		overflow-x: hidden;
		overflow-y: hidden;
		padding-top: 5px;
	}
	#smallImages .smallImage {
		position: relative !important;
		flex: 0 0 64px;
		height: 64px;
		padding-top: 0 !important;
		overflow: hidden;
	}
	#smallImages .smallImage img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: contain;
	}
	#smallImages .smallImage a {
		display: block;
		width: 100%;
		height: 100%;
	}
}
/* ── Product images: big image + small thumbs side by side ── */

@media (max-width: 735px) {
	#productImages {
		width: auto !important;
		float: none !important;
	}
	#productOptions,
	#productParams {
		display: block !important;
		width: auto !important;
	}
}

.descHeader {
	width: 100%;
	margin-top: 20px;
}

@media (min-width: 1026px) {
	#product {
		display: grid;
		grid-template-columns: 322px minmax(0, 1fr);
		gap: 10px;
		align-items: start;
	}
	#productImages {
		display: contents;
	}
	#bigImages {
		grid-column: 1;
		grid-row: 1;
		width: 322px;
	}
	#smallImages {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap;
		gap: 4px;
		white-space: normal !important;
		height: auto !important;
		padding-top: 5px;
		overflow-x: hidden;
		overflow-y: hidden;
		grid-column: 1;
	}
	#smallImages .smallImage {
		position: relative !important;
		flex: 0 0 80px;
		height: 80px;
		padding-top: 0 !important;
		overflow: hidden;
	}
	#smallImages .smallImage img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: contain;
	}
	.descHeader {
		margin-top: 10px;
		grid-column: 1 / -1;
	}
	#productDescription {
		font-size: 1rem;
		margin-bottom: 10px;
		grid-column: 1 / -1;
	}
	#productOptions {
		grid-column: 2;
		grid-row: 1;
		display: block !important;
		width: auto !important;
	}
	#productParams {
		grid-column: 1 / -1;
		display: block !important;
		width: auto !important;
	}
}
#productDescription {
	width: 100%;
	margin-bottom: 10px;
}

/* ── Price + stock + qty+cart at #productOptions bottom-right, one line ── */
#productOptions {
	position: relative;
}

#productOptions .productBottomBar {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	white-space: nowrap;
	width: auto;
}

@media (min-width: 568px) {
	#productOptions .productBottomBar {
		position: absolute;
		bottom: 5px;
		right: 5px;
		left: auto;
	}
}

#productOptions .productBottomBar .productPrice {
	position: static !important;
	width: auto !important;
	bottom: auto !important;
	right: auto !important;
	text-align: right;
	font-size: 1rem;
	font-weight: 600;
	padding: 0;
	line-height: 34px;
	white-space: nowrap;
	flex-shrink: 0;
}

#productOptions .productBottomBar .inStock,
#productOptions .productBottomBar .notInStock {
	position: static !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	width: auto !important;
	max-width: none !important;
	margin: 0;
	padding: 0 8px;
	height: 30px;
	line-height: 28px;
	font-size: .85rem;
	flex-shrink: 0;
	white-space: nowrap;
}

#productOptions .productBottomBar .productDetails {
	position: static !important;
	bottom: auto !important;
	right: auto !important;
	width: auto !important;
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	gap: 0;
	flex-shrink: 0;
	padding: 0;
}

#productOptions .productBottomBar .productDetails .quantity {
	width: 42px !important;
	height: 30px;
	text-align: center;
	border-radius: 0;
	font-size: .9rem;
}

#productOptions .productBottomBar .productDetails .minus,
#productOptions .productBottomBar .productDetails .plus {
	width: 26px;
	height: 30px;
	font-size: 1rem;
	padding: 0;
}

#productOptions .productBottomBar .productDetails .addToCart {
	position: static !important;
	width: auto !important;
	height: 30px;
	right: auto !important;
	bottom: auto !important;
	padding: 0 10px;
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: .85rem;
}

#productOptions .productBottomBar .productDetails .addToCart > svg {
	width: 22px;
	height: 26px;
	fill: var(--pic-bg-color);
	margin-bottom: 0;
}

@media (max-width: 1664px) {
	#productOptions .productBottomBar {
		flex-wrap: wrap;
		left: 5px;
		width: auto;
	}
	#productOptions .productBottomBar .productDetails {
		width: 100%;
		justify-content: flex-end;
	}
}

#productOptions .isInCart.isIn {
	display: none !important;
}

/* ── Similar products: horizontal scroll ── */
#similarProducts { width: 100%; }

#similarProducts .similarslider {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
    cursor: grab;
    user-select: none;
}
#similarProducts .similarslider.grabbing {
    cursor: grabbing;
}
#similarProducts .swiper-wrapper {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
}
#similarProducts .swiper-slide {
    flex: 0 0 auto;
    width: 200px;
    scroll-snap-align: start;
}
#similarProducts .similarslider .swiper-slide .prod {
    display: block;
    text-decoration: none;
    color: inherit;
}
#similarProducts .similarslider .swiper-slide .imgwrap {
    width: 100%;
    aspect-ratio: 1;
    overflow: hidden;
    background: var(--pic-bg-color);
    border-radius: 4px;
}
#similarProducts .similarslider .swiper-slide .prodimg {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
#similarProducts .similarslider .swiper-slide .prodname {
    margin: 6px 0;
    font-size: 13px;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#similarProducts .similarslider .swiper-slide .price {
    font-size: 14px;
    text-align: center;
}

#similarProducts .similarslider::-webkit-scrollbar {
    display: none;
}

#similarProducts {
    position: relative;
}
.simScroll {
    position: absolute;
    top: calc(50% - 75px);
    z-index: 2;
    width: 32px;
    height: 150px;
    padding: 0;
    border: none;
    background: rgba(255,255,255,.85);
    color: var(--button-color);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity .2s ease;
}
#similarProducts.has-overflow:hover .simScroll {
    opacity: 1;
}
.simScroll:hover {
    background: var(--bg-color);
    color: var(--theme-color);
}
.simScrollLeft {
    left: 0;
    border-radius: 0 4px 4px 0;
}
.simScrollRight {
    right: 0;
    border-radius: 4px 0 0 4px;
}
.simScrollLeft svg {
    transform: rotate(180deg);
}
.simScroll svg {
    width: 26px;
    height: 26px;
    fill: currentColor;
}

@media (min-width: 736px) {
    #similarProducts { position: sticky; top: 0; z-index: 1; }
}
@media (min-width: 1026px) {
    #similarProducts { grid-column: 1 / -1; width: 100%; }
}

/* ── Category sidebar ── */
.subcategories { display: none; }
.subcategories.open { display: block; }

.catItem .catIcon {
	display: inline-block;
	vertical-align: middle;
	width: 34px;
	height: 34px;
	margin-right: 6px;
	text-align: center;
	line-height: 34px;
	flex-shrink: 0;
	border: none;
}
.catItem .catIcon svg,
.catItem .catIcon img {
	display: inline-block;
	vertical-align: middle;
	max-width: 30px;
	max-height: 30px;
}
.catItem .catIcon .catLogoImg {
	width: 30px;
	height: 30px;
	object-fit: cover;
	border-radius: 3px;
}
.catItem {
	display: flex;
	align-items: center;
	cursor: pointer;
	white-space: nowrap;
}
a.catItem {
	text-decoration: none;
	color: inherit;
}
.catItem svg.catArrow {
	width: 16px;
	height: 16px;
	fill: currentColor;
	margin-left: auto;
	flex-shrink: 0;
	transition: transform 0.2s ease;
}
.catItem.open svg.catArrow {
	transform: rotate(90deg);
}

/* ── Product gallery: prev/next arrows on main image ── */
#bigImages { position: relative; }
.gallery-prev,
.gallery-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	width: 32px;
	height: 46px;
	border: none;
	padding: 0;
	cursor: pointer;
	background: rgba(127, 127, 127, 0.25);
	border-radius: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.gallery-prev { left: 4px; }
.gallery-next { right: 4px; }
.gallery-prev svg,
.gallery-next svg {
	width: 20px;
	height: 20px;
	fill: #fff;
}
.gallery-prev:hover,
.gallery-next:hover {
	background: rgba(127, 127, 127, 0.6);
}
.gallery-prev:disabled,
.gallery-next:disabled {
	opacity: 0.3;
	cursor: default;
}

/* ==========================================
   Cart & Favorites Pages — Flexbox Layout
   Replaces fragile position:absolute with
   display:flex so content NEVER breaks/falls
   at any viewport width (incl. ~1024px).
   ========================================== */

/* ── Page header (h1) gradient divider ── */
h1.header {
	border-bottom: 1px solid var(--dark-border-color);
	border-image: linear-gradient(to left, var(--dark-transp-color) 0%, var(--dark-border-color) 30px, var(--dark-border-color) calc(100% - 30px), var(--dark-transp-color) 100%) 1;
	padding-bottom: 10px;
	margin-bottom: 10px;
}

/* ── Headers row: always visible, flexbox ── */
#cart .headers,
#orders .headers,
#order .headers {
	display: flex !important;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	font-weight: 600;
	border-top: 1px solid var(--light-border-color);
	padding: 0;
	margin: 0;
}

#cart > .headers > *,
#orders > .headers > *,
#order > .headers > * {
	position: static !important;
	display: block !important;
	vertical-align: baseline !important;
	height: auto !important;
	line-height: normal !important;
	padding: 10px 6px;
	margin: 0;
	border-right: 1px solid var(--light-border-color);
	box-sizing: border-box;
	text-align: left;
}

#cart > .headers > *:last-child,
#orders > .headers > *:last-child,
#order > .headers > *:last-child {
	border-right: none;
}

/* Set consistent header column widths */
#cart > .headers > .productImage { flex: 0 0 75px; }
#cart > .headers > .productRemove { flex: 0 0 36px; text-align: center; }
#cart > .headers > .productName { flex: 1 1 auto; min-width: 0; }
#cart > .headers > .productDetails { width: 110px; flex: 0 0 110px; text-align: center; }
#cart > .headers > .sum { width: 110px; flex: 0 0 110px; text-align: right; }

/* ── Cart Items: flexbox row, wraps on narrow screens ── */
#cart .cartItem {
	display: flex !important;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	height: auto !important;
	min-height: 85px;
	padding: 8px 36px 8px 0 !important;
	border-top: 1px solid var(--light-border-color);
	gap: 2px;
	position: relative;
	overflow: visible;
}

/* Reset ALL absolute/floated positioning inside cart items */
#cart .cartItem > * {
	position: static !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	float: none !important;
	display: block !important;
	width: auto !important;
	height: auto !important;
	padding: 4px 6px !important;
	margin: 0 !important;
	text-align: left !important;
	vertical-align: baseline !important;
	border: none !important;
	box-sizing: border-box;
}

/* Product name: flex row with image + text */
#cart a.productName {
	display: flex !important;
	flex: 1 1 120px;
	align-items: center;
	gap: 8px;
	min-width: 80px;
	max-width: none !important;
	text-decoration: none;
	color: inherit;
}

#cart .productImage {
	flex: 0 0 75px !important;
	height: 75px !important;
	overflow: hidden;
}

#cart .productImage img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

#cart .productDetails {
	display: flex !important;
	flex: 0 0 auto;
	align-items: center;
	gap: 2px;
	min-width: 96px;
	justify-content: center !important;
}

#cart .sum {
	flex: 0 0 auto;
	min-width: 80px;
	font-weight: 600;
	text-align: right !important;
}

#cart .sum::before { display: none !important; }

#cart .remove {
	position: absolute !important;
	right: 4px !important;
	top: 50% !important;
	transform: translateY(-50%);
	width: 28px !important;
	height: 28px !important;
	padding: 0 !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

#cart .remove svg {
	width: 28px;
	height: 28px;
	display: block;
}

/* ── Cart footer: totals + checkout ── */
#cart .cartFooter {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	padding: 15px 0;
	border-top: 1px solid var(--light-border-color);
	gap: 10px;
}

#cart .cartTotal {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 1.1rem;
	font-weight: 600;
}

#cart .checkoutActions {
	display: flex;
	gap: 8px;
}

#cart .checkoutBtn {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	height: 34px;
	padding: 0 10px;
	background: var(--theme-color);
	color: #fff;
	border-radius: 5px;
	font-weight: bold;
	font-size: 0.8rem;
	text-decoration: none;
	border: none;
	cursor: pointer;
}

#cart .checkoutBtn:hover {
	opacity: 0.85;
}

/* ── Narrow screens: stack vertically ── */
@media (max-width: 567px) {
	#cart .cartItem {
		flex-direction: column;
		align-items: stretch;
	}

	#cart a.productName {
		flex: 0 0 auto;
	}

	#cart .cartItem > * {
		padding: 2px 6px !important;
	}

	#cart .sum {
		text-align: left !important;
	}

	#cart .headers {
		display: none !important;
	}
}

/* ── 568px-735px: row layout, tighten gaps ── */
@media (min-width: 568px) and (max-width: 735px) {
	#cart .headers {
		display: none !important;
	}

	#cart .cartItem {
		flex-wrap: nowrap;
	}

	#cart a.productName {
		flex: 1 1 120px;
		min-width: 80px;
	}

	#cart .sum {
		min-width: 60px;
	}
}

/* Remove left margin from .icon (dac0f17.css sets margin: 1px 0 2px 8px) */
.icon {
	margin-left: 0 !important;
}

/* Cancel dac0f17.css .icon margin that breaks layout at 1026px+ */
@media (min-width: 1026px) {
	#cart .icon,
	#favorites .icon,
	#prodList .icon,
	h1.header .icon {
		margin-left: 2px !important;
	}
}

/* ── Favorites page X remove button (replaces addToFav) ── */
#prodList .removeFav {
	position: absolute;
	top: 6px;
	right: 6px;
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 2;
}

#prodList .removeFav svg {
	width: 28px;
	height: 28px;
}

/* Ensure no overflow clipping cuts the X button at any viewport */
#prodList .prodListItem {
	overflow: visible !important;
	position: relative;
}

/* ── 735px and below: show category burger + slide-out menu ── */
@media (max-width: 735px) {
	/* Override existing display:none — show only the burger toggle */
	body.dac-theme.dac-sidebar #asideOpen {
		display: block !important;
	}

	/* Sidebar panel: only visible when .open (burger clicked) */
	body.dac-theme.dac-sidebar #asideOverlay.open {
		display: block !important;
	}

	/* Burger menu at far left, search compact */
	body.dac-theme.dac-sidebar #searchForm {
		justify-content: flex-start;
		gap: 4px;
		padding-left: 6px;
	}

	body.dac-theme.dac-sidebar #searchForm #asideOpen {
		order: -1;
		margin: 0;
		flex: 0 0 36px;
		align-self: center;
		margin-top: 2px;
	}

	body.dac-theme.dac-sidebar #searchForm #searchCont {
		flex: 1 1 120px;
		min-width: 60px;
		margin-top: 2px;
	}

	body.dac-theme.dac-sidebar #searchForm #searchBtn {
		flex: 0 0 auto;
		margin-top: 2px;
	}

	/* Slide-out overlay styling */
	body.dac-theme.dac-sidebar #asideOverlay {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 999;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.4);
		display: none;
	}

	body.dac-theme.dac-sidebar #asideOverlay.open {
		display: block;
	}

	body.dac-theme.dac-sidebar #asideOverlay aside {
		position: fixed;
		top: 0;
		left: -320px;
		width: 290px;
		height: 100%;
		overflow-y: auto;
		background: var(--bg-color);
		z-index: 1000;
		transition: left 0.3s ease;
		margin: 0;
		border: none;
		border-radius: 0;
		display: block !important;
	}

	body.dac-theme.dac-sidebar #asideOverlay.open aside {
		left: 0;
	}

	/* Show X close button in slide-out header */
	body.dac-theme.dac-sidebar #catHeader > #catClose {
		display: inline-block !important;
	}
}

/* ── Category arrow icons in slide-out ── */
.catItem svg.catArrow {
	width: 26px;
	height: 26px;
	fill: currentColor;
	margin-left: auto;
	flex-shrink: 0;
	transition: transform 0.2s ease;
}

/* ── 736px+: full headers visible ── */
@media (min-width: 736px) {
	#cart .headers {
		display: flex !important;
	}
}

/* ── 1026px+: sidebar layout, ensure headers stay flex ── */
@media (min-width: 1026px) {
	#cart .headers {
		display: flex !important;
	}

	/* Cancel dac0f17.css inline-block override that breaks flex */
	#cart > .headers > * {
		display: block !important;
		vertical-align: baseline !important;
		height: auto !important;
		line-height: normal !important;
	}
}
.footerSocialLetter {
	display: inline-block;
	width: 24px;
	height: 24px;
	margin-right: 5px;
	vertical-align: middle;
	color: currentColor;
	font: 700 22px/24px Arial, sans-serif;
	text-align: center;
	text-indent: 0;
}
