/*
 * dpe-design: the ONE design layer of dpelectronic.ro (Fibonacci / golden ratio system).
 * Loaded late (priority 999) and only when the dpe-design mu-plugin is active; every rule sits under
 * body.dpe-design, so renaming wp-content/mu-plugins/dpe-design.php to dpe-design.php.off restores the old look.
 * Where each old rule came from: STYLE-INDEX.md.
 *
 * Allowed numbers: 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 (px), 144 233 377 610 987 (ms),
 * opacities 0.08 0.13 0.21 0.34 0.55 0.89. 16px is the one exception for UI text and inputs.
 */

/* ---------- Inter (local, variable weight; latin + latin-ext covers ă â î ș ț) ---------- */

@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/inter/inter-latin-ext-wght-normal.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/inter/inter-latin-wght-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- tokens ---------- */

body.dpe-design {
	/* palette: roles --color-one..four (values read from the live CSS and the logo) */
	--color-one: #103b70;   /* navy: logo, menu, links, primary surfaces */
	--color-two: #ffa200;   /* orange: highlight, primary action, focus */
	--color-three: #404040; /* body text */
	--color-four: #ecf0f3;  /* light page background (navy at 0.08 on white) */
	--color-one-deep: #0e3563;   /* navy at 0.89 on black: hover/pressed */
	--color-two-deep: #e39200;   /* orange at 0.89 on black */
	--color-ink: #1d1d1d;        /* text on orange (contrast about 9:1) */
	--color-surface: #fff;
	--color-line: rgb(16 59 112 / 0.13);
	--color-line-strong: rgb(16 59 112 / 0.34);

	/* spacing */
	--fib-1: 1px;   --fib-2: 2px;   --fib-3: 3px;   --fib-5: 5px;
	--fib-8: 8px;   --fib-13: 13px; --fib-21: 21px; --fib-34: 34px;
	--fib-55: 55px; --fib-89: 89px; --fib-144: 144px;

	/* layout */
	--w-narrow: 377px;
	--w-reading: 610px;
	--w-content: 987px;
	--w-wide: 1597px;
	--header-h: 55px;
	--gutter: 21px;

	/* radius */
	--r-xs: 3px; --r-sm: 8px; --r-md: 13px; --r-lg: 21px; --r-xl: 34px;
	--r-pill: 987px;

	/* type */
	--font-ui: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--fs-meta: 13px;
	--fs-ui: 16px;    /* UI text and inputs: the allowed exception */
	--fs-sub: 21px;   /* sub-headings, prices */
	--fs-title: 34px;
	--fs-hero: 55px;
	--lh-body: 1.618;
	--lh-head: 1.3;

	/* motion */
	--t-fast: 144ms;
	--t-hover: 233ms;
	--t-ui: 377ms;
	--t-enter: 610ms;
	--t-slow: 987ms;
	--ease: cubic-bezier(0.21, 0.55, 0.34, 1);

	/* depth */
	--blur-glass: 13px;
	--shadow-sm: 0 2px 8px rgb(16 59 112 / 0.08);
	--shadow-md: 0 5px 21px rgb(16 59 112 / 0.13);
	--shadow-lg: 0 13px 34px rgb(16 59 112 / 0.21);
}

/* ---------- base ---------- */

body.dpe-design {
	background: var(--color-four);
	color: var(--color-three);
	font-family: var(--font-ui);
	font-size: var(--fs-ui);
	line-height: var(--lh-body);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* the old child-theme and Customizer CSS force Lato/Arial with !important */
body.dpe-design,
body.dpe-design .menu,
body.dpe-design .menu a,
body.dpe-design .sub-menu a,
body.dpe-design .widget a,
body.dpe-design .woocommerce,
body.dpe-design h1,
body.dpe-design h2,
body.dpe-design h3,
body.dpe-design h4,
body.dpe-design h5,
body.dpe-design h6,
body.dpe-design .h1,
body.dpe-design .h2,
body.dpe-design .h3,
body.dpe-design p,
body.dpe-design button,
body.dpe-design input,
body.dpe-design select,
body.dpe-design textarea {
	font-family: var(--font-ui) !important;
}

body.dpe-design p {
	font-size: var(--fs-ui) !important;
	line-height: var(--lh-body);
}

body.dpe-design h1,
body.dpe-design h2,
body.dpe-design h3,
body.dpe-design h4 {
	font-weight: 700;
	line-height: var(--lh-head);
}

body.dpe-design .main-container h1,
body.dpe-design .main-container h2,
body.dpe-design .main-container h3,
body.dpe-design .main-container h4 {
	color: var(--color-one);
}

body.dpe-design h1,
body.dpe-design .h1 {
	font-size: var(--fs-title) !important;
}

body.dpe-design h2,
body.dpe-design .h2,
body.dpe-design h3,
body.dpe-design .h3 {
	font-size: var(--fs-sub) !important;
}

body.dpe-design h4,
body.dpe-design h5,
body.dpe-design h6 {
	font-size: var(--fs-ui);
}

/* product titles in the loop were 12px (Customizer CSS): 16px is the smallest readable Fibonacci-compatible size */
body.dpe-design.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.dpe-design.woocommerce ul.products li.product .woocommerce-loop-category__title {
	font-size: var(--fs-meta) !important;
	line-height: var(--lh-head);
}

body.dpe-design small,
body.dpe-design .meta,
body.dpe-design .woocommerce-breadcrumb {
	font-size: var(--fs-meta);
}

body.dpe-design img {
	max-width: 100%;
	height: auto;
}

body.dpe-design :focus-visible {
	outline: 3px solid var(--color-two);
	outline-offset: 3px;
}

/* ---------- full-width layout ---------- */

body.dpe-design .container {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--w-wide);
	margin-right: auto;
	margin-left: auto;
	padding-right: var(--gutter);
	padding-left: var(--gutter);
}

body.dpe-design .container-fluid {
	padding-right: 0;
	padding-left: 0;
}

/* bootstrap 3 rows pull 15px out and the columns push 15px in: the content edge stays at the container padding */

/* header and menu: white bars on the light page */
body.dpe-design .site-header,
body.dpe-design .site-menu,
body.dpe-design .menu-header {
	background-color: var(--color-surface);
}

/* main content: a white card on the light grey page (the article is the bootstrap column, so the row margin goes) */
body.dpe-design .main-container .page-area > .row {
	margin-right: 0;
	margin-left: 0;
}

body.dpe-design .main-container {
	background: transparent;
	margin-top: var(--fib-21);
	margin-bottom: var(--fib-21);
}

body.dpe-design .main-container .envo-content {
	box-sizing: border-box;
	background: var(--color-surface);
	border-radius: var(--r-lg);
	box-shadow: var(--shadow-sm);
	padding: var(--fib-21);
}

/* active menu item: navy with an orange mark, never red (the red belongs to the sale badge) */
body.dpe-design .dropdown-menu > .active > a,
body.dpe-design .dropdown-menu > .active > a:hover,
body.dpe-design .dropdown-menu > .active > a:focus {
	background-color: var(--color-one);
	color: var(--color-surface) !important;
}

@media (max-width: 610px) {
	body.dpe-design {
		--gutter: 13px;
	}

	body.dpe-design .main-container .envo-content {
		padding: var(--fib-13);
		border-radius: var(--r-md);
	}
}

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

/* ---------- icons ---------- */

body.dpe-design .dpe-icon {
	flex: none;
	width: 21px;
	height: 21px;
	fill: none;
	stroke: currentColor;
}

/* ---------- header promo bar ---------- */
/* Source: the "top bar" widget area of the Entr theme (block widgets, database). Rendered by altr_design_promo_widget(). */

body.dpe-design .top-bar-section {
	background: var(--color-one);
	color: #fff;
	margin: 0;
	padding: 0;
	border: 0;
}

body.dpe-design .top-bar-section > .container {
	position: relative;
}

body.dpe-design .top-bar-section .row {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: var(--fib-34);
	margin: 0;
}

body.dpe-design .top-bar-section .row,
body.dpe-design .top-bar-section .widget {
	position: static;
}

body.dpe-design .top-bar-section .widget {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
}

/* the empty companion widget of the old pill */
body.dpe-design .top-bar-section .widget:has(> p:only-child:empty) {
	display: none;
}

body.dpe-design .dpe-promo {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--fib-8);
	height: var(--fib-34);
	padding-right: var(--fib-34);
	padding-left: var(--fib-34);
	font-size: var(--fs-ui);
	line-height: var(--lh-head);
	white-space: nowrap;
}

body.dpe-design .dpe-promo__icon {
	color: var(--color-two);
}

body.dpe-design .dpe-promo__hl {
	color: var(--color-two);
	font-weight: 700;
}

body.dpe-design .dpe-promo__short {
	display: none;
}

body.dpe-design .dpe-promo__close {
	position: absolute;
	top: 0;
	right: var(--fib-8);
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--fib-34);
	height: var(--fib-34);
	padding: 0;
	color: #fff;
	background: none;
	border: 0;
	border-radius: var(--r-sm);
	cursor: pointer;
	opacity: 0.89;
	transition: opacity var(--t-hover) var(--ease), background-color var(--t-hover) var(--ease);
}

body.dpe-design .dpe-promo__close:hover {
	opacity: 1;
	background: rgb(255 255 255 / 0.13);
}

/* if the widget text is edited and no longer matches, the old inline mark is still readable on navy */
body.dpe-design .top-bar-section mark {
	background: transparent !important;
	color: #fff !important;
}

html.dpe-promo-off body.dpe-design .top-bar-section {
	display: none;
}

@media (max-width: 610px) {
	body.dpe-design .dpe-promo {
		font-size: var(--fs-meta);
		padding-right: var(--fib-34);
		padding-left: var(--fib-13);
	}

	body.dpe-design .dpe-promo__long {
		display: none;
	}

	body.dpe-design .dpe-promo__short {
		display: inline;
	}
}

/* ---------- header bars: logo + icons, then menu + search (each 55px of content) ---------- */

body.dpe-design .site-header {
	padding: var(--fib-13) 0;
	border-bottom: 1px solid var(--color-line);
}

body.dpe-design .site-header .heading-row {
	min-height: var(--header-h);
}

body.dpe-design .site-branding-logo img,
body.dpe-design .site-branding-logo .custom-logo {
	width: auto;
	max-width: none;
	height: var(--header-h);
	object-fit: contain;
}

body.dpe-design .header-right {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--fib-3);
	padding-left: var(--fib-21);
}

body.dpe-design .header-right .header-cart,
body.dpe-design .header-right .header-my-account,
body.dpe-design .header-right .header-wishlist,
body.dpe-design .header-right .header-compare {
	float: none;
	margin: 0;
	padding: 0 !important;
}

body.dpe-design .header-right a.cart-contents,
body.dpe-design .header-my-account a,
body.dpe-design .header-wishlist a,
body.dpe-design .dpe-burger__button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--header-h);
	height: var(--header-h);
	margin: 0;
	padding: 0 var(--fib-13);
	color: var(--color-one) !important;
	background: none;
	border: 0;
	border-radius: var(--r-md);
	cursor: pointer;
	transition: background-color var(--t-hover) var(--ease);
}

body.dpe-design .header-right a.cart-contents:hover,
body.dpe-design .header-my-account a:hover,
body.dpe-design .header-wishlist a:hover,
body.dpe-design .dpe-burger__button:hover {
	background: var(--color-four);
}

body.dpe-design .header-right .dpe-icon {
	width: var(--fib-21);
	height: var(--fib-21);
}

body.dpe-design a.cart-contents .count {
	position: absolute;
	top: var(--fib-8);
	right: auto;
	bottom: auto;
	left: 29px;
	min-width: var(--fib-21);
	height: var(--fib-21);
	margin: 0;
	padding: 0 var(--fib-5);
	box-sizing: border-box;
	color: var(--color-ink);
	background: var(--color-two);
	border-radius: var(--r-pill);
	font-size: var(--fs-meta);
	font-weight: 700;
	line-height: var(--fib-21);
	text-align: center;
}

body.dpe-design .amount-cart {
	position: static;
	margin: 0 0 0 var(--fib-8);
	padding: 0;
	color: var(--color-one);
	background: none;
	font-size: var(--fs-ui);
	font-weight: 600;
}

body.dpe-design .amount-cart::before {
	display: none;
}

body.dpe-design .site-menu {
	position: relative;
	z-index: 99;
	border-bottom: 1px solid var(--color-line);
}

body.dpe-design .site-menu > .container {
	position: relative;
}

body.dpe-design .site-menu .heading-row {
	position: static;
	min-height: var(--header-h);
}

body.dpe-design .menu-search-widget {
	margin-left: auto;
}

/* ---------- product menu: button, mega panel ---------- */

body.dpe-design .dpe-menu {
	flex: none;
	float: none;
	width: auto;
	padding: 0;
}

body.dpe-design .dpe-nav {
	display: flex;
	align-items: center;
	gap: var(--fib-13);
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
}

body.dpe-design .dpe-nav__mega-wrap {
	position: static;
}

body.dpe-design .dpe-nav__products {
	display: inline-flex;
	align-items: center;
	gap: var(--fib-8);
	height: var(--fib-34);
	padding: 0 var(--fib-13);
	color: #fff;
	background: var(--color-one);
	border: 0;
	border-radius: var(--r-md);
	font-family: inherit;
	font-size: var(--fs-ui);
	font-weight: 600;
	cursor: pointer;
	transition: background-color var(--t-hover) var(--ease);
}

body.dpe-design .dpe-nav__products:hover,
body.dpe-design .dpe-nav__products[aria-expanded="true"] {
	background: var(--color-one-deep);
	box-shadow: inset 0 -3px 0 var(--color-two);
}

body.dpe-design .dpe-nav__chevron {
	transition: transform var(--t-hover) var(--ease);
}

body.dpe-design .dpe-nav__products[aria-expanded="true"] .dpe-nav__chevron {
	transform: rotate(180deg);
}

body.dpe-design .dpe-nav__links {
	display: flex;
	align-items: center;
	gap: var(--fib-3);
	margin: 0;
	padding: 0;
	list-style: none;
}

body.dpe-design .dpe-nav__links a {
	display: inline-flex;
	align-items: center;
	height: var(--fib-34);
	padding: 0 var(--fib-13);
	color: var(--color-one) !important;
	border-radius: var(--r-md);
	font-size: var(--fs-ui);
	font-weight: 600;
	text-decoration: none;
	transition: background-color var(--t-hover) var(--ease);
}

body.dpe-design .dpe-nav__links a:hover {
	background: var(--color-four);
	box-shadow: inset 0 -3px 0 var(--color-two);
}

body.dpe-design .dpe-mega {
	position: absolute;
	top: 100%;
	right: var(--gutter);
	left: var(--gutter);
	z-index: 1000;
	background: var(--color-surface);
	border-radius: 0 0 var(--r-lg) var(--r-lg);
	box-shadow: var(--shadow-lg);
	visibility: hidden;
	opacity: 0;
	transform: translateY(var(--fib-8));
	pointer-events: none;
	transition: opacity var(--t-hover) var(--ease), transform var(--t-hover) var(--ease), visibility 0s linear var(--t-hover);
}

body.dpe-design .dpe-mega.is-open {
	visibility: visible;
	opacity: 1;
	transform: none;
	pointer-events: auto;
	transition-delay: 0s;
}

body.dpe-design .dpe-mega__inner {
	display: grid;
	grid-template-columns: 377px minmax(0, 1fr);
	min-height: min(610px, calc(100vh - 233px)); /* fixed: the panel does not jump when the category changes */
}

body.dpe-design .dpe-mega__cats {
	max-height: min(610px, calc(100vh - 233px));
	margin: 0;
	padding: var(--fib-13);
	overflow-y: auto;
	list-style: none;
	border-right: 1px solid var(--color-line);
}

body.dpe-design .dpe-mega__cat {
	display: flex;
	align-items: center;
	gap: var(--fib-13);
	min-height: var(--fib-34);
	padding: var(--fib-8) var(--fib-13);
	color: var(--color-one) !important;
	border-radius: var(--r-md);
	font-size: var(--fs-ui);
	font-weight: 600;
	line-height: var(--lh-head);
	text-decoration: none;
	transition: background-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
}

body.dpe-design .dpe-mega__name {
	flex: 1;
}

body.dpe-design .dpe-mega__cat small {
	font-size: var(--fs-meta);
	font-weight: 400;
	opacity: 0.55;
}

body.dpe-design .dpe-mega__arrow {
	opacity: 0.34;
}

body.dpe-design .dpe-mega__cat:hover,
body.dpe-design .dpe-mega__cat.is-active,
body.dpe-design .dpe-mega__cat:focus-visible {
	color: #fff !important;
	background: var(--color-one);
	box-shadow: inset 5px 0 0 var(--color-two);
}

body.dpe-design .dpe-mega__panes {
	min-width: 0;
	padding: var(--fib-21) var(--fib-34);
}

body.dpe-design .dpe-mega__pane {
	display: none;
}

body.dpe-design .dpe-mega__pane.is-active {
	display: block;
}

body.dpe-design .dpe-mega__title {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--fib-21);
	margin: 0 0 var(--fib-21);
	font-size: var(--fs-sub) !important;
}

body.dpe-design .dpe-mega__title a {
	color: var(--color-one) !important;
	text-decoration: none;
}


body.dpe-design .dpe-mega__all .dpe-icon {
	width: var(--fib-13);
	height: var(--fib-13);
	margin-left: var(--fib-5);
}

/* subcategories as chips, then up to six product cards (loaded per category from the REST endpoint) */
body.dpe-design .dpe-mega__subs {
	display: flex;
	flex-wrap: wrap;
	gap: var(--fib-8);
	margin: 0 0 var(--fib-21);
	padding: 0;
	list-style: none;
}

body.dpe-design .dpe-mega__subs a {
	display: inline-flex;
	align-items: center;
	gap: var(--fib-5);
	min-height: var(--fib-34);
	padding: 0 var(--fib-13);
	color: var(--color-one) !important;
	background: var(--color-four);
	border: 1px solid var(--color-line);
	border-radius: var(--r-pill);
	font-size: var(--fs-meta);
	font-weight: 600;
	text-decoration: none;
	transition: background-color var(--t-hover) var(--ease), color var(--t-hover) var(--ease);
}

body.dpe-design .dpe-mega__subs a:hover {
	color: #fff !important;
	background: var(--color-one);
}

body.dpe-design .dpe-mega__subs small {
	font-size: var(--fs-meta);
	opacity: 0.55;
}

body.dpe-design .dpe-mega__products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--fib-13);
	align-content: start;
	min-height: calc(var(--fib-89) * 2 + var(--fib-13));
}

body.dpe-design .dpe-mega__products.is-loading {
	background:
		linear-gradient(90deg, transparent, rgb(16 59 112 / 0.08), transparent) 0 0 / 233px 100% no-repeat,
		repeating-linear-gradient(180deg, var(--color-four) 0 var(--fib-89), transparent var(--fib-89) calc(var(--fib-89) + var(--fib-13)));
	border-radius: var(--r-md);
	animation: dpe-shimmer var(--t-slow) var(--ease) infinite;
}

@keyframes dpe-shimmer {
	to {
		background-position: 100% 0, 0 0;
	}
}

body.dpe-design .dpe-mega__soon {
	grid-column: 1 / -1;
	margin: 0;
	color: var(--color-three);
	font-size: var(--fs-ui);
	opacity: 0.55;
}

/* a mini product card: picture left, name and price right */
body.dpe-design .dpe-mp {
	display: flex;
	align-items: center;
	gap: var(--fib-13);
	min-width: 0;
	padding: var(--fib-8);
	color: var(--color-three) !important;
	border: 1px solid var(--color-line);
	border-radius: var(--r-md);
	text-decoration: none;
	transition: box-shadow var(--t-hover) var(--ease), transform var(--t-hover) var(--ease);
}

body.dpe-design .dpe-mp:hover {
	box-shadow: var(--shadow-md);
	transform: translateY(calc(var(--fib-3) * -1));
}

body.dpe-design .dpe-mp__img {
	flex: none;
	width: var(--fib-55);
	height: var(--fib-55);
}

body.dpe-design .dpe-mp__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

body.dpe-design .dpe-mp__body {
	display: grid;
	gap: var(--fib-3);
	min-width: 0;
}

body.dpe-design .dpe-mp__title {
	display: -webkit-box;
	overflow: hidden;
	font-size: var(--fs-meta);
	line-height: var(--lh-head);
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

body.dpe-design .dpe-mp__price {
	color: var(--color-one);
	font-size: var(--fs-meta);
	font-weight: 700;
}

body.dpe-design .dpe-mp__price del {
	font-weight: 400;
	opacity: 0.55;
}

body.dpe-design .dpe-mp__price ins {
	background: none;
	text-decoration: none;
}

body.dpe-design .dpe-mega__viewall {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: var(--fib-5);
	margin-top: auto;
	padding-top: var(--fib-21);
	color: var(--color-one) !important;
	font-weight: 600;
	text-decoration: none;
}

body.dpe-design .dpe-mega__viewall .dpe-icon {
	width: var(--fib-13);
	height: var(--fib-13);
}

body.dpe-design .dpe-mega__pane.is-active {
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

body.dpe-design .dpe-mega__all {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding: var(--fib-13) var(--fib-34);
	color: var(--color-one) !important;
	border-top: 1px solid var(--color-line);
	font-weight: 600;
	text-decoration: none;
}

/* ---------- drawer (phones and tablets) ---------- */

body.dpe-design .dpe-drawer {
	position: fixed;
	inset: 0;
	z-index: 1100;
	visibility: hidden;
	transition: visibility 0s linear var(--t-ui);
}

body.dpe-design .dpe-drawer.is-open {
	visibility: visible;
	transition-delay: 0s;
}

body.dpe-design .dpe-drawer__backdrop {
	position: absolute;
	inset: 0;
	background: rgb(16 59 112 / 0.55);
	opacity: 0;
	transition: opacity var(--t-ui) var(--ease);
}

body.dpe-design .dpe-drawer.is-open .dpe-drawer__backdrop {
	opacity: 1;
}

body.dpe-design .dpe-drawer__panel {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: min(377px, 89vw);
	overflow-y: auto;
	overscroll-behavior: contain;
	background: var(--color-surface);
	box-shadow: var(--shadow-lg);
	transform: translateX(-100%);
	transition: transform var(--t-ui) var(--ease);
}

body.dpe-design .dpe-drawer.is-open .dpe-drawer__panel {
	transform: none;
}

body.dpe-design .dpe-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: var(--header-h);
	padding: 0 var(--fib-8) 0 var(--fib-21);
	color: var(--color-one);
	border-bottom: 1px solid var(--color-line);
	font-size: var(--fs-sub);
}

body.dpe-design .dpe-drawer__close,
body.dpe-design .dpe-drawer__expand {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--fib-34);
	min-width: var(--fib-34);
	height: var(--fib-34);
	padding: 0;
	color: var(--color-one);
	background: none;
	border: 0;
	border-radius: var(--r-sm);
	cursor: pointer;
}

body.dpe-design .dpe-drawer__list,
body.dpe-design .dpe-drawer__subs,
body.dpe-design .dpe-drawer__extra {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.dpe-design .dpe-drawer__row {
	display: flex;
	align-items: center;
	padding: 0 var(--fib-8) 0 var(--fib-13);
}

body.dpe-design .dpe-drawer__cat {
	display: flex;
	flex: 1;
	align-items: center;
	gap: var(--fib-13);
	min-height: var(--header-h);
	color: var(--color-one) !important;
	font-weight: 600;
	text-decoration: none;
}

body.dpe-design .dpe-drawer__expand[aria-expanded="true"] .dpe-icon {
	transform: rotate(180deg);
}

body.dpe-design .dpe-drawer__subs a,
body.dpe-design .dpe-drawer__extra a {
	display: flex;
	align-items: center;
	min-height: var(--fib-34);
	padding: var(--fib-5) var(--fib-21) var(--fib-5) var(--fib-55);
	color: var(--color-three) !important;
	text-decoration: none;
}

body.dpe-design .dpe-drawer__extra {
	margin-top: var(--fib-13);
	padding-top: var(--fib-8);
	border-top: 1px solid var(--color-line);
}

body.dpe-design .dpe-drawer__extra a {
	padding-left: var(--fib-21);
	color: var(--color-one) !important;
	font-weight: 600;
}

html.dpe-lock {
	overflow: hidden;
}

@media (min-width: 988px) {
	body.dpe-design .dpe-burger,
	body.dpe-design .dpe-drawer {
		display: none;
	}
}

@media (max-width: 987px) {
	body.dpe-design .dpe-menu {
		display: none;
	}

	body.dpe-design .site-header .heading-row {
		flex-wrap: nowrap;
		justify-content: space-between;
	}

	body.dpe-design .site-branding-logo img,
	body.dpe-design .site-branding-logo .custom-logo {
		height: var(--fib-34);
	}

	body.dpe-design .header-right {
		flex: none;
		min-width: 0;
		padding-right: 0;
		padding-left: var(--fib-8);
	}

	body.dpe-design .header-right a.cart-contents,
	body.dpe-design .header-my-account a,
	body.dpe-design .header-wishlist a,
	body.dpe-design .dpe-burger__button {
		min-width: var(--fib-34);
		padding: 0 var(--fib-8);
	}

	body.dpe-design a.cart-contents .count {
		left: 19px;
	}
}

/* ---------- product and category cards: one grid, equal heights (PR 4) ---------- */
/* Sources replaced: WooCommerce float grid (li.product width/margin, columns-N), entr woocommerce.css, altr style.css
   (red badge, 0 radius) and the Customizer "Additional CSS" button rules (navy 45px pill, green hover). */

body.dpe-design {
	--color-sale: #e60000; /* the old badge red (#ff0000) a little deeper: white text reaches about 5:1 */
	--cols: 2;
	--cols-cat: 3;
	--card-gap: var(--fib-13);
}

@media (min-width: 610px) {
	body.dpe-design {
		--cols: 3;
		--cols-cat: 4;
		--card-gap: var(--fib-21);
	}
}

@media (min-width: 987px) {
	body.dpe-design {
		--cols: 4;
		--cols-cat: 6;
	}
}

@media (min-width: 1280px) {
	body.dpe-design {
		--cols: 5;
	}
}

@media (min-width: 1440px) {
	body.dpe-design {
		--cols: 6;
		--cols-cat: 8;
	}
}

body.dpe-design.woocommerce ul.products,
body.dpe-design.woocommerce-page ul.products,
body.dpe-design ul.products {
	display: grid;
	grid-template-columns: repeat(var(--cols), minmax(0, 1fr));
	gap: var(--card-gap);
	align-items: stretch;
	margin: 0 0 var(--fib-34);
	padding: 0;
	list-style: none;
}

/* the old clearfix pseudo elements would become empty grid cells */
body.dpe-design ul.products::before,
body.dpe-design ul.products::after {
	display: none !important;
}

body.dpe-design.woocommerce ul.products[class*="columns-"] li.product,
body.dpe-design.woocommerce-page ul.products[class*="columns-"] li.product,
body.dpe-design ul.products li.product,
body.dpe-design ul.products li.product-category {
	position: relative;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	float: none;
	clear: none;
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	padding: var(--fib-13);
	background: var(--color-surface);
	border: 1px solid var(--color-line);
	border-radius: var(--r-lg);
	text-align: left;
	transition: transform var(--t-hover) var(--ease), box-shadow var(--t-hover) var(--ease);
}

body.dpe-design ul.products li.product:hover,
body.dpe-design ul.products li.product-category:hover {
	transform: translateY(calc(var(--fib-5) * -1));
	box-shadow: var(--shadow-md);
}

/* product card: link area grows, price and button sit at the bottom */
body.dpe-design ul.products li.product .woocommerce-LoopProduct-link {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: var(--fib-8);
	color: var(--color-three) !important;
	text-decoration: none;
}

/* product photos are never cropped: a square field, the whole photo inside (the one deliberate difference from the 1.618:1 rule) */
body.dpe-design ul.products li.product .woocommerce-LoopProduct-link img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background: var(--color-surface);
	border-radius: var(--r-md);
}

body.dpe-design ul.products li.product .woocommerce-loop-product__title {
	display: -webkit-box;
	min-height: calc(var(--lh-head) * 2em);
	margin: 0;
	padding: 0;
	overflow: hidden;
	color: var(--color-one);
	font-size: var(--fs-meta) !important;
	font-weight: 600;
	line-height: var(--lh-head);
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

body.dpe-design ul.products li.product .price {
	display: block;
	margin: auto 0 var(--fib-8);
	color: var(--color-one);
	font-size: var(--fs-sub);
	font-weight: 700;
	line-height: var(--lh-head);
}

body.dpe-design ul.products li.product .price del {
	display: inline-block;
	margin-right: var(--fib-5);
	color: var(--color-three);
	font-size: var(--fs-ui);
	font-weight: 400;
	opacity: 0.55;
}

body.dpe-design ul.products li.product .price ins {
	background: none;
	text-decoration: none;
}

/* sale badge: same place on every card, red stays */
body.dpe-design ul.products li.product .onsale {
	position: absolute;
	top: var(--fib-8);
	right: auto;
	bottom: auto;
	left: var(--fib-8);
	z-index: 2;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: var(--fib-2) var(--fib-8);
	color: #fff;
	background: var(--color-sale);
	border-radius: var(--r-pill);
	font-size: var(--fs-meta);
	font-weight: 700;
	line-height: var(--lh-head);
	text-align: center;
}

/* buttons: "Adaugă în coș" and "Selectează opțiunile" are the same size */
body.dpe-design.woocommerce ul.products li.product a.button,
body.dpe-design.woocommerce ul.products li.product a.add_to_cart_button {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	min-height: var(--fib-34);
	margin: 0;
	padding: var(--fib-8) var(--fib-13);
	color: #fff !important;
	background: var(--color-one);
	border: 0;
	border-radius: var(--r-md) !important;
	box-shadow: none;
	font-size: var(--fs-meta);
	font-weight: 600;
	line-height: var(--lh-head);
	text-align: center;
	white-space: nowrap;
	transform: none;
	transition: background-color var(--t-hover) var(--ease), box-shadow var(--t-hover) var(--ease);
}

body.dpe-design.woocommerce ul.products li.product a.button:hover,
body.dpe-design.woocommerce ul.products li.product a.add_to_cart_button:hover,
body.dpe-design.woocommerce ul.products li.product a.button:focus-visible {
	color: #fff !important;
	background: var(--color-one-deep);
	box-shadow: inset 0 -3px 0 var(--color-two);
	transform: none;
}

body.dpe-design ul.products li.product a.added_to_cart {
	margin-top: var(--fib-8);
	font-size: var(--fs-meta);
	text-align: center;
}

@media (pointer: coarse) {
	body.dpe-design.woocommerce ul.products li.product a.button {
		min-height: var(--fib-55);
	}
}

/* ---------- home page sections: Categorii, Produse (PR 5) ---------- */
/* Source: the WooCommerce shop page with "Shop page display: both"; rendered by inc/design-home.php. */

body.dpe-design ul.products {
	clear: both; /* below the floated result count and sorting dropdown */
}

body.dpe-design .dpe-section--cats {
	margin-bottom: var(--fib-55);
}

body.dpe-design .dpe-section__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--fib-21);
	margin: 0 0 var(--fib-21);
}

body.dpe-design .dpe-section__title {
	margin: 0;
	color: var(--color-one);
	font-size: var(--fs-title) !important;
	font-weight: 700;
	line-height: var(--lh-head);
}

body.dpe-design .dpe-section__more {
	display: inline-flex;
	align-items: center;
	gap: var(--fib-5);
	min-height: var(--fib-34);
	color: var(--color-one) !important;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: transparent;
	text-decoration-thickness: var(--fib-2);
	text-underline-offset: var(--fib-8);
	transition: text-decoration-color var(--t-hover) var(--ease);
}

body.dpe-design .dpe-section__more:hover {
	text-decoration-color: var(--color-two);
}

body.dpe-design .dpe-section__more .dpe-icon {
	width: var(--fib-13);
	height: var(--fib-13);
}

/* the category section only holds tiles: all of them get the same height */
body.dpe-design.woocommerce ul.products.dpe-cats {
	grid-template-columns: repeat(var(--cols-cat), minmax(0, 1fr));
	grid-auto-rows: 1fr;
	gap: var(--fib-13);
	margin-bottom: 0;
}

body.dpe-design .dpe-section--products .woocommerce-result-count,
body.dpe-design .dpe-section--products .woocommerce-ordering {
	margin: 0 0 var(--fib-21);
}

@media (min-width: 987px) {
	body.dpe-design .dpe-section--cats {
		margin-bottom: var(--fib-89);
	}
}

/* ---------- single product page (PR 6) ---------- */
/* Sources replaced: WooCommerce layout (floated images 48 % / summary 48 %), entr woocommerce.css (tabs as boxes with
   pseudo-element curves), altr style.css (active tab border #ff0000), the Customizer "Additional CSS" rules for
   `div.product form.cart .button` (navy 45 px pill, green hover, lift), `.quantity .qty` and `.yith-wcwl-add-button`. */

/* the article clips its content (overflow:hidden): clip keeps that but does not stop position:sticky */
body.dpe-design .main-container .envo-content {
	display: flow-root;
	overflow: clip;
}

body.dpe-design.single-product.woocommerce div.product {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 610px));
	justify-content: center;
	gap: var(--fib-34) var(--fib-55);
	align-items: start;
	max-width: calc(610px * 2 + var(--fib-55));
	margin-right: auto;
	margin-left: auto;
}

body.dpe-design.single-product.woocommerce div.product > .onsale {
	position: absolute;
	top: var(--fib-13);
	right: auto;
	left: var(--fib-13);
	z-index: 3;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: var(--fib-3) var(--fib-8);
	color: #fff;
	background: var(--color-sale);
	border-radius: var(--r-pill);
	font-size: var(--fs-meta);
	font-weight: 700;
	line-height: var(--lh-head);
}

/* gallery: NOT sticky (the plugin wrapper hung over the tabs while scrolling). The picture keeps its natural size,
   never larger than its box, centred on white */
body.dpe-design.single-product.woocommerce div.product div.images,
body.dpe-design.single-product.woocommerce div.product .woo-product-gallery-slider {
	position: static !important;
	top: auto;
	grid-column: 1;
	float: none;
	width: auto;
	min-width: 0;
	margin: 0;
}

body.dpe-design.single-product.woocommerce div.product .wpgs-for .slick-slide {
	display: flex !important;
	align-items: center;
	justify-content: center;
	height: min(55vh, 610px);
	background: var(--color-surface);
	border-radius: var(--r-md);
}

body.dpe-design.single-product.woocommerce div.product .wpgs-for .slick-slide > div,
body.dpe-design.single-product.woocommerce div.product .wpgs-for .woocommerce-product-gallery__image {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

body.dpe-design.single-product.woocommerce div.product .wpgs-for img,
body.dpe-design.single-product.woocommerce div.product .woocommerce-product-gallery__image img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: min(55vh, 610px);
	margin: 0 auto;
	object-fit: contain;
	background: var(--color-surface);
	border-radius: var(--r-md);
}

body.dpe-design.single-product.woocommerce div.product .wpgs-nav .slick-slide {
	padding: 0 var(--fib-3);
	border: 0;
}

body.dpe-design.single-product.woocommerce div.product .wpgs-nav img {
	width: 100%;
	max-width: var(--fib-89);
	margin: 0 auto;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border: 1px solid var(--color-line);
	border-radius: var(--r-sm);
}

body.dpe-design.single-product.woocommerce div.product .wpgs-nav .slick-current img {
	border-color: var(--color-one);
	box-shadow: inset 0 0 0 1px var(--color-one);
}

/* summary: a wrapping row so the add-to-cart form and the wishlist heart sit side by side */
body.dpe-design.single-product.woocommerce div.product div.summary {
	display: flex;
	flex-wrap: wrap;
	gap: var(--fib-13);
	align-items: flex-start;
	grid-column: 2;
	float: none;
	width: auto;
	min-width: 0;
	margin: 0;
}

body.dpe-design.single-product.woocommerce div.product div.summary > * {
	flex: 0 0 100%;
	min-width: 0;
	margin: 0;
}

body.dpe-design.single-product.woocommerce div.product .product_title {
	color: var(--color-one);
	font-size: var(--fs-sub) !important;
	font-weight: 700;
	line-height: var(--lh-head);
}

body.dpe-design.single-product.woocommerce div.product p.price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: var(--fib-3) var(--fib-8);
	color: var(--color-one);
	font-size: var(--fs-title) !important; /* beats the Customizer rule body p {16px !important} */
	font-weight: 700;
	line-height: var(--lh-head);
}

body.dpe-design.single-product.woocommerce div.product p.price del {
	color: var(--color-three);
	font-size: var(--fs-sub);
	font-weight: 400;
	opacity: 0.55;
}

body.dpe-design.single-product.woocommerce div.product p.price ins {
	background: none;
	text-decoration: none;
}

/* stock: green pill */
body.dpe-design.single-product.woocommerce div.product p.stock {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: var(--fib-3) var(--fib-13);
	color: #146c2e;
	background: rgb(20 108 46 / 0.13);
	border-radius: var(--r-pill);
	font-size: var(--fs-ui);
	font-weight: 600;
	line-height: var(--lh-head);
}

body.dpe-design.single-product.woocommerce div.product p.stock.out-of-stock {
	color: var(--color-sale);
	background: rgb(230 0 0 / 0.08);
}

body.dpe-design.single-product.woocommerce div.product .woocommerce-product-details__short-description {
	font-size: var(--fs-ui);
	line-height: var(--lh-body);
}

/* add to cart row: quantity, big orange button; anything else the plugins append (e.g. the WP Armour
   honeypot and its admin test message) goes on its own line below, so the row does not depend on it */
body.dpe-design.single-product.woocommerce div.product form.cart:not(.variations_form),
body.dpe-design.single-product.woocommerce div.product .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: var(--fib-13);
	margin: 0;
}

/* form + heart exactly fill one row, so the stock pill above always has a line of its own */
body.dpe-design.single-product.woocommerce div.product div.summary > form.cart:not(.variations_form) {
	flex: 1 1 calc(100% - var(--fib-55) - var(--fib-13));
}

body.dpe-design.single-product.woocommerce div.product form.cart > *:not(.quantity):not(.single_add_to_cart_button):not(.woocommerce-variation-add-to-cart):not(.single_variation_wrap),
body.dpe-design.single-product.woocommerce div.product .woocommerce-variation-add-to-cart > *:not(.quantity):not(.single_add_to_cart_button) {
	flex: 0 0 100%;
}

body.dpe-design.single-product.woocommerce div.product form.cart .quantity {
	flex: 0 0 auto;
}

body.dpe-design.single-product.woocommerce div.product form.variations_form {
	flex: 0 0 100%;
}

body.dpe-design.single-product.woocommerce div.product form.cart .quantity {
	display: flex;
	align-items: stretch;
	height: var(--fib-55);
	margin: 0;
	overflow: hidden;
	background: var(--color-surface);
	border: 1px solid var(--color-line-strong);
	border-radius: var(--r-md);
}

body.dpe-design.single-product.woocommerce div.product form.cart .quantity .qty {
	width: var(--fib-55);
	min-width: 0;
	height: 100%;
	margin: 0;
	padding: 0;
	color: var(--color-one);
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	font-size: var(--fs-ui);
	font-weight: 600;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}

body.dpe-design.single-product.woocommerce div.product form.cart .quantity .qty::-webkit-outer-spin-button,
body.dpe-design.single-product.woocommerce div.product form.cart .quantity .qty::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

body.dpe-design .dpe-qty__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--fib-34);
	min-width: var(--fib-34);
	padding: 0;
	color: var(--color-one);
	background: none;
	border: 0;
	cursor: pointer;
	transition: background-color var(--t-hover) var(--ease);
}

body.dpe-design .dpe-qty__btn:hover {
	background: var(--color-four);
}

body.dpe-design.single-product.woocommerce div.product .single_add_to_cart_button.button {
	display: flex;
	flex: 1 1 0;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 0;
	min-height: var(--fib-55);
	margin: 0;
	padding: var(--fib-13) var(--fib-21);
	color: var(--color-ink) !important;
	background: var(--color-two);
	border: 0;
	border-radius: var(--r-md) !important;
	box-shadow: var(--shadow-sm);
	font-size: var(--fs-sub);
	font-weight: 700;
	line-height: var(--lh-head);
	transform: none;
	transition: background-color var(--t-hover) var(--ease), box-shadow var(--t-hover) var(--ease);
}

body.dpe-design.single-product.woocommerce div.product .single_add_to_cart_button.button:hover,
body.dpe-design.single-product.woocommerce div.product .single_add_to_cart_button.button:focus-visible {
	color: var(--color-ink) !important;
	background: var(--color-two-deep);
	box-shadow: var(--shadow-md);
	transform: none;
}

body.dpe-design.single-product.woocommerce div.product .single_add_to_cart_button.button.disabled {
	opacity: 0.55;
}

/* wishlist: a compact heart next to the button; the "Product added! / Browse wishlist" texts stay readable
   for screen readers but never take space in the row */
body.dpe-design.single-product.woocommerce div.product div.summary > .yith-wcwl-add-to-wishlist {
	position: relative;
	flex: 0 0 var(--fib-55);
	width: var(--fib-55);
	height: var(--fib-55);
	margin: 0;
}

body.dpe-design.single-product.woocommerce div.product .yith-wcwl-add-to-wishlist .yith-wcwl-add-button,
body.dpe-design.single-product.woocommerce div.product .yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse,
body.dpe-design.single-product.woocommerce div.product .yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse {
	display: flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: var(--fib-55);
	height: var(--fib-55);
	margin: 0;
	padding: 0;
	color: var(--color-one);
	background: var(--color-surface);
	border: 1px solid var(--color-line-strong);
	border-radius: var(--r-md);
	transition: background-color var(--t-hover) var(--ease), border-color var(--t-hover) var(--ease);
}

body.dpe-design.single-product.woocommerce div.product .yith-wcwl-add-to-wishlist .yith-wcwl-add-button:hover {
	background: var(--color-four);
}

body.dpe-design.single-product.woocommerce div.product .yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse,
body.dpe-design.single-product.woocommerce div.product .yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse {
	color: var(--color-two);
	border-color: var(--color-two);
}

body.dpe-design.single-product.woocommerce div.product .yith-wcwl-add-to-wishlist a,
body.dpe-design.single-product.woocommerce div.product .yith-wcwl-add-to-wishlist .feedback {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	color: inherit !important;
	border: 0;
	background: none;
	font-size: 0;
}

body.dpe-design.single-product.woocommerce div.product .yith-wcwl-add-to-wishlist a {
	position: absolute;
	inset: 0;
}

body.dpe-design.single-product.woocommerce div.product .yith-wcwl-add-to-wishlist .feedback {
	position: static;
}

body.dpe-design.single-product.woocommerce div.product .yith-wcwl-add-to-wishlist svg {
	width: var(--fib-21);
	height: var(--fib-21);
	margin: 0;
}

body.dpe-design.single-product.woocommerce div.product .yith-wcwl-add-to-wishlist span:not(.feedback) {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* delivery notes: only statements that are already on the site */
body.dpe-design .dpe-notes {
	display: grid;
	gap: var(--fib-8);
	margin: 0;
	padding: var(--fib-13) 0 0;
	list-style: none;
	border-top: 1px solid var(--color-line);
	color: var(--color-three);
	font-size: var(--fs-ui);
}

body.dpe-design .dpe-notes li {
	display: flex;
	align-items: center;
	gap: var(--fib-8);
}

body.dpe-design .dpe-notes .dpe-icon {
	color: var(--color-one);
}

/* SKU and category: quiet */
body.dpe-design.single-product.woocommerce div.product .product_meta {
	display: grid;
	gap: var(--fib-3);
	font-size: var(--fs-meta);
	opacity: 0.89;
}

body.dpe-design.single-product.woocommerce div.product .product_meta > span {
	color: var(--color-three);
	opacity: 0.8;
}

/* tabs: clean, underlined */
body.dpe-design.single-product.woocommerce div.product .woocommerce-tabs {
	grid-column: 1 / -1;
	clear: none;
	width: 100%;
	margin: 0;
}

body.dpe-design.single-product.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0 var(--fib-34);
	margin: 0 0 var(--fib-21);
	padding: 0;
	overflow: visible;
	background: none;
	border: 0;
	border-bottom: 1px solid var(--color-line);
}

body.dpe-design.single-product.woocommerce div.product .woocommerce-tabs ul.tabs::before,
body.dpe-design.single-product.woocommerce div.product .woocommerce-tabs ul.tabs::after,
body.dpe-design.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
body.dpe-design.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none !important;
}

body.dpe-design.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li,
body.dpe-design.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
}

body.dpe-design.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: var(--fib-13) 0;
	color: var(--color-three) !important;
	font-size: var(--fs-ui);
	font-weight: 600;
	text-decoration: none;
	transition: color var(--t-hover) var(--ease);
}

body.dpe-design.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--color-one) !important;
}

body.dpe-design.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--color-one) !important;
	box-shadow: inset 0 -3px 0 var(--color-two);
}

body.dpe-design.single-product.woocommerce div.product .woocommerce-Tabs-panel {
	max-width: 987px;
	margin-right: auto;
	margin-left: auto;
	font-size: var(--fs-ui);
}

body.dpe-design.single-product.woocommerce div.product .woocommerce-Tabs-panel img {
	width: auto !important;
	max-width: 100%;
	height: auto !important;
}

body.dpe-design.single-product.woocommerce div.product .woocommerce-Tabs-panel h2:first-child {
	margin-top: 0;
	font-size: var(--fs-sub) !important;
}

/* related products and up-sells: the PR 4 cards, with a proper section title */
body.dpe-design.single-product.woocommerce div.product > .related,
body.dpe-design.single-product.woocommerce div.product > .upsells,
body.dpe-design.single-product.woocommerce .related.products,
body.dpe-design.single-product.woocommerce .up-sells.products {
	grid-column: 1 / -1;
	margin: var(--fib-34) 0 0;
	padding: 0;
}

body.dpe-design.single-product.woocommerce .related.products > h2,
body.dpe-design.single-product.woocommerce .up-sells.products > h2 {
	margin: 0 0 var(--fib-21);
	color: var(--color-one);
	font-size: var(--fs-title) !important;
	line-height: var(--lh-head);
}

/* sticky add-to-cart bar (phones, appears when the real button has scrolled away) */
body.dpe-design .dpe-buybar {
	display: none;
}

@media (max-width: 1275px) {
	body.dpe-design.single-product.woocommerce div.product {
		grid-template-columns: minmax(0, 1fr);
		max-width: 610px;
		gap: var(--fib-21);
	}
}

@media (max-width: 987px) {
	body.dpe-design.single-product.woocommerce div.product {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--fib-21);
	}

	body.dpe-design.single-product.woocommerce div.product div.images,
	body.dpe-design.single-product.woocommerce div.product div.summary {
		position: static;
		grid-column: 1;
	}
}

@media (max-width: 610px) {
	body.dpe-design.single-product {
		padding-bottom: calc(var(--fib-55) + var(--fib-34));
	}

	/* tabs scroll sideways instead of stacking */
	body.dpe-design.single-product.woocommerce div.product .woocommerce-tabs ul.tabs {
		flex-wrap: nowrap;
		gap: 0 var(--fib-21);
		overflow-x: auto;
	}

	body.dpe-design.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li {
		flex: none;
		white-space: nowrap;
	}

	body.dpe-design.single-product.woocommerce div.product form.cart .quantity .qty {
		width: var(--fib-34);
	}

	/* the form gets the whole row; the wishlist heart moves to the corner of the picture */
	body.dpe-design.single-product.woocommerce div.product div.summary > form.cart:not(.variations_form) {
		flex: 0 0 100%;
	}

	body.dpe-design.single-product.woocommerce div.product div.summary > .yith-wcwl-add-to-wishlist {
		position: absolute;
		top: var(--fib-13);
		right: var(--fib-13);
		z-index: 3;
	}

	body.dpe-design .dpe-buybar {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 1050;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: var(--fib-13);
		padding: var(--fib-13) var(--gutter) calc(var(--fib-13) + env(safe-area-inset-bottom, 0px));
		background: var(--color-surface);
		box-shadow: 0 calc(var(--fib-5) * -1) var(--fib-21) rgb(16 59 112 / 0.13);
		transform: translateY(100%);
		visibility: hidden;
		transition: transform var(--t-ui) var(--ease), visibility 0s linear var(--t-ui);
	}

	body.dpe-design .dpe-buybar.is-visible {
		transform: none;
		visibility: visible;
		transition-delay: 0s;
	}

	body.dpe-design .dpe-buybar__price {
		color: var(--color-one);
		font-size: var(--fs-sub);
		font-weight: 700;
		line-height: var(--lh-head);
	}

	body.dpe-design .dpe-buybar__price del {
		display: block;
		font-size: var(--fs-meta);
		font-weight: 400;
		opacity: 0.55;
	}

	body.dpe-design .dpe-buybar__price ins {
		background: none;
		text-decoration: none;
	}

	body.dpe-design .dpe-buybar__btn {
		flex: 1;
		min-height: var(--fib-55);
		padding: var(--fib-13) var(--fib-21);
		color: var(--color-ink);
		background: var(--color-two);
		border: 0;
		border-radius: var(--r-md);
		font-family: inherit;
		font-size: var(--fs-sub);
		font-weight: 700;
		cursor: pointer;
	}
}

/* ---------- cart page (PR A) ---------- */

body.dpe-design.woocommerce-cart .cart-collaterals {
	display: grid;
	grid-template-columns: minmax(0, 1.618fr) minmax(0, 1fr);
	gap: var(--fib-34);
	align-items: start;
}

/* the WooCommerce clearfix pseudo elements would become empty grid cells */
body.dpe-design.woocommerce-cart .cart-collaterals::before,
body.dpe-design.woocommerce-cart .cart-collaterals::after {
	display: none;
}

body.dpe-design.woocommerce-cart .cart-collaterals .cross-sells,
body.dpe-design.woocommerce-cart .cart-collaterals .cart_totals {
	float: none;
	width: auto;
	min-width: 0;
}

body.dpe-design.woocommerce-cart .cart-collaterals .cross-sells > h2 {
	margin: 0 0 var(--fib-21);
	color: var(--color-one);
	font-size: var(--fs-sub) !important;
}

/* cross-sells: two or three columns, never narrower than 233 px */
body.dpe-design.woocommerce-cart .cross-sells ul.products {
	grid-template-columns: repeat(auto-fit, minmax(233px, 1fr));
	gap: var(--fib-21);
	margin-bottom: 0;
}

body.dpe-design.woocommerce-cart .cross-sells ul.products li.product .price {
	font-size: var(--fs-ui);
	white-space: nowrap;
}

body.dpe-design.woocommerce-cart .cross-sells ul.products li.product .price del {
	font-size: var(--fs-meta);
}

/* WooCommerce notices (zone, "added to cart", errors): small, quiet cards */
body.dpe-design .woocommerce-message,
body.dpe-design .woocommerce-info,
body.dpe-design .woocommerce-error {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--fib-8) var(--fib-13);
	margin: 0 0 var(--fib-13);
	padding: var(--fib-8) var(--fib-13) var(--fib-8) var(--fib-21);
	color: var(--color-three);
	background: var(--color-surface);
	border: 1px solid var(--color-line);
	border-left: var(--fib-5) solid var(--color-one);
	border-radius: var(--r-md);
	box-shadow: none;
	font-size: var(--fs-meta);
	line-height: var(--lh-head);
	list-style: none;
}

body.dpe-design .woocommerce-error {
	border-left-color: var(--color-sale);
}

body.dpe-design .woocommerce-message::before,
body.dpe-design .woocommerce-info::before,
body.dpe-design .woocommerce-error::before {
	position: static;
	flex: none;
	color: var(--color-one);
	font-size: var(--fs-ui);
}

body.dpe-design .woocommerce-message .button,
body.dpe-design .woocommerce-info .button,
body.dpe-design .woocommerce-error .button {
	order: 3;
	float: none;
	margin: 0 0 0 auto;
	padding: 0 var(--fib-13);
	min-height: var(--fib-34);
	color: #fff !important;
	background: var(--color-one);
	border: 0;
	border-radius: var(--r-md);
	font-size: var(--fs-meta);
	line-height: var(--fib-34);
}

@media (max-width: 987px) {
	body.dpe-design.woocommerce-cart .cart-collaterals {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ==========================================================================
   Wow layer (PR B): hero, glass header, typography, cards, tiles, bands, motion, footer.
   Fibonacci numbers only (px 3 5 8 13 21 34 55 89 233 377, ms 144 233 377 610 987, s 5 8 13, opacities .08 .13 .21 .34 .55 .89).
   ========================================================================== */

body.dpe-design {
	--color-night: #09213e; /* navy at 0.55 on black: the dark end of the gradients */
	--hdr-h: 89px;
	--shadow-card: 0 1px 2px rgb(16 59 112 / 0.08), 0 3px 8px rgb(16 59 112 / 0.08), 0 8px 21px rgb(16 59 112 / 0.08);
	--shadow-card-hover: 0 2px 3px rgb(16 59 112 / 0.13), 0 8px 13px rgb(16 59 112 / 0.08), 0 21px 34px rgb(16 59 112 / 0.13);
	--edge: max(var(--gutter), calc((100% - var(--w-wide)) / 2 + var(--gutter)));
}

/* ---------- typography ---------- */

body.dpe-design h1,
body.dpe-design h2,
body.dpe-design h3,
body.dpe-design .dpe-section__title,
body.dpe-design .dpe-hero__title {
	letter-spacing: -0.02em;
}

body.dpe-design h1,
body.dpe-design .dpe-section__title,
body.dpe-design .dpe-hero__title {
	font-weight: 800;
}

body.dpe-design .price,
body.dpe-design .amount-cart,
body.dpe-design .dpe-mp__price,
body.dpe-design .dpe-glass__price,
body.dpe-design .dpe-buybar__price {
	font-variant-numeric: tabular-nums;
}

/* "lei" smaller than the number */
body.dpe-design .woocommerce-Price-currencySymbol {
	margin-left: var(--fib-3);
	font-size: 0.62em;
	font-weight: 600;
	letter-spacing: 0;
}

/* ---------- header: one glass row that shrinks on scroll (desktop) ---------- */

body.dpe-menu-new .site-menu {
	display: none; /* its content (menu, search) moved into the main header row */
}

body.dpe-menu-new .site-header > .container {
	position: relative; /* the mega panel hangs from the header row */
}

body.dpe-design .site-header .heading-row {
	flex-wrap: nowrap;
	gap: 0 var(--fib-21);
	justify-content: flex-start;
}

body.dpe-menu-new .header-widget-area {
	display: none; /* empty widget area of the parent theme */
}

body.dpe-design .menu-search-widget {
	flex: 1 1 233px;
	min-width: 0;
	max-width: 610px;
	margin: 0 auto;
}

body.dpe-design .menu-search-widget .widget,
body.dpe-design .menu-search-widget form {
	position: relative;
	margin: 0;
}

body.dpe-design .menu-search-widget input[type="search"],
body.dpe-design .menu-search-widget .search-field {
	box-sizing: border-box;
	width: 100%;
	height: var(--fib-55);
	margin: 0;
	padding: 0 123px 0 var(--fib-21);
	color: var(--color-three);
	background: var(--color-surface);
	border: 1px solid var(--color-line-strong);
	border-radius: var(--r-pill);
	font-size: var(--fs-ui);
	transition: border-color var(--t-hover) var(--ease), box-shadow var(--t-hover) var(--ease);
}

body.dpe-design .menu-search-widget input[type="search"]:focus {
	border-color: var(--color-two);
	box-shadow: 0 0 0 3px rgb(255 162 0 / 0.34);
	outline: none;
}

body.dpe-design .menu-search-widget button[type="submit"],
body.dpe-design .menu-search-widget .search-submit {
	position: absolute;
	top: var(--fib-8);
	right: var(--fib-8);
	box-sizing: border-box;
	height: calc(var(--fib-55) - var(--fib-8) * 2);
	margin: 0;
	padding: 0 var(--fib-21);
	color: #fff;
	background: var(--color-one);
	border: 0;
	border-radius: var(--r-pill);
	font-size: var(--fs-meta);
	font-weight: 600;
	transition: background-color var(--t-hover) var(--ease);
}

body.dpe-design .menu-search-widget button[type="submit"]:hover {
	background: var(--color-one-deep);
}

/* icons with words (Cont, Favorite, Coș), like the big shops */
body.dpe-design .dpe-hl {
	display: none;
	font-size: var(--fs-meta);
	font-weight: 600;
	line-height: var(--lh-head);
}

@media (min-width: 1280px) {
	body.dpe-design .header-right a.cart-contents,
	body.dpe-design .header-my-account a,
	body.dpe-design .header-wishlist a {
		gap: var(--fib-8);
	}

	body.dpe-design .dpe-hl {
		display: inline;
	}
}

@media (min-width: 988px) {
	body.dpe-menu-new .site-header {
		position: sticky;
		top: var(--wp-admin--admin-bar--height, 0px);
		z-index: 100;
		height: var(--hdr-h);
		padding: 0;
		background: none;
		border: 0;
		pointer-events: none; /* only the content row is clickable, not the empty strip under the shrunk bar */
	}

	body.dpe-menu-new .site-header::before {
		content: "";
		display: block; /* bootstrap makes .container-fluid::before a table (zero width) */
		position: absolute;
		inset: 0;
		z-index: -1;
		background: rgb(255 255 255 / 0.89);
		border-bottom: 1px solid var(--color-line);
		-webkit-backdrop-filter: blur(var(--blur-glass)) saturate(1.3);
		backdrop-filter: blur(var(--blur-glass)) saturate(1.3);
		transform-origin: top;
		transition: transform var(--t-ui) var(--ease);
	}

	body.dpe-menu-new .site-header > .container {
		height: 100%;
		pointer-events: auto;
		transition: transform var(--t-ui) var(--ease);
	}

	body.dpe-menu-new .site-header .heading-row {
		height: 100%;
	}

	body.dpe-menu-new .site-branding-logo img,
	body.dpe-menu-new .site-branding-logo .custom-logo {
		transform-origin: left center;
		transition: transform var(--t-ui) var(--ease);
	}

	body.dpe-menu-new .menu-search-widget {
		transition: transform var(--t-ui) var(--ease);
	}

	body.dpe-menu-new .dpe-mega {
		top: calc(100% + var(--panel-shift, 0px));
	}

	/* scrolled: the glass bar is 55 px high (89 x 0.618), content moves up by 21 px, logo 34 px */
	html.dpe-scrolled body.dpe-menu-new .site-header::before {
		transform: scaleY(0.618);
	}

	html.dpe-scrolled body.dpe-menu-new .site-header > .container {
		--panel-shift: -13px;
		transform: translateY(calc(var(--fib-21) * -1));
	}

	html.dpe-scrolled body.dpe-menu-new .site-branding-logo img,
	html.dpe-scrolled body.dpe-menu-new .site-branding-logo .custom-logo {
		transform: scale(0.618);
	}

	html.dpe-scrolled body.dpe-menu-new .menu-search-widget {
		transform: scale(0.809);
	}
}

@media (max-width: 987px) {
	body.dpe-menu-new .menu-search-widget {
		order: 5;
		flex: 0 0 100%;
		max-width: none;
		margin: var(--fib-8) 0 0;
	}

	body.dpe-menu-new .site-header .heading-row {
		flex-wrap: wrap;
		justify-content: space-between;
	}

	body.dpe-menu-new .site-header {
		padding-bottom: var(--fib-13);
	}
}

/* mega panel: frosted glass */
body.dpe-design .dpe-mega {
	background: rgb(255 255 255 / 0.89);
	-webkit-backdrop-filter: blur(21px) saturate(1.3);
	backdrop-filter: blur(21px) saturate(1.3);
	border: 1px solid rgb(255 255 255 / 0.55);
}

/* ---------- buttons (hero) ---------- */

body.dpe-design .dpe-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: var(--fib-55);
	padding: 0 var(--fib-34);
	border: 1px solid transparent;
	border-radius: var(--r-md);
	font-size: var(--fs-ui);
	font-weight: 700;
	text-decoration: none;
	transition: background-color var(--t-hover) var(--ease), box-shadow var(--t-hover) var(--ease), transform var(--t-hover) var(--ease);
}

body.dpe-design .dpe-btn--primary {
	color: var(--color-ink) !important;
	background: var(--color-two);
	box-shadow: 0 5px 21px rgb(255 162 0 / 0.34);
}

body.dpe-design .dpe-btn--primary:hover {
	background: var(--color-two-deep);
	transform: translateY(calc(var(--fib-3) * -1));
}

body.dpe-design .dpe-btn--glass {
	color: #fff !important;
	background: rgb(255 255 255 / 0.13);
	border-color: rgb(255 255 255 / 0.34);
	-webkit-backdrop-filter: blur(var(--blur-glass));
	backdrop-filter: blur(var(--blur-glass));
}

body.dpe-design .dpe-btn--glass:hover {
	background: rgb(255 255 255 / 0.21);
	transform: translateY(calc(var(--fib-3) * -1));
}

/* ---------- hero ---------- */

body.dpe-design .dpe-hero {
	position: relative;
	overflow: hidden;
	padding: var(--fib-89) var(--edge);
	color: #fff;
	background: linear-gradient(135deg, var(--color-one) 0%, var(--color-night) 100%);
}

body.dpe-design .dpe-hero__circuit {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	color: #fff;
	opacity: 0.08;
	pointer-events: none;
}

body.dpe-design .dpe-hero__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.618fr) minmax(0, 1fr);
	gap: var(--fib-55);
	align-items: center;
}

body.dpe-design .dpe-hero__eyebrow {
	margin: 0 0 var(--fib-13);
	color: var(--color-two);
	font-size: var(--fs-meta) !important;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

body.dpe-design .dpe-hero__title {
	max-width: 610px;
	margin: 0 0 var(--fib-34);
	color: #fff;
	font-size: var(--fs-hero) !important;
	line-height: var(--lh-head);
}

body.dpe-design .dpe-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--fib-13);
	margin-bottom: var(--fib-34);
}

body.dpe-design .dpe-hero__facts {
	display: flex;
	flex-wrap: wrap;
	gap: var(--fib-8) var(--fib-21);
	margin: 0;
	padding: 0;
	list-style: none;
	color: rgb(255 255 255 / 0.89);
	font-size: var(--fs-meta);
}

body.dpe-design .dpe-hero__facts strong {
	color: #fff;
	font-weight: 700;
}

body.dpe-design .dpe-hero__cards {
	position: relative;
	height: 432px;
}

body.dpe-design .dpe-glass {
	position: absolute;
	display: grid;
	grid-template-columns: var(--fib-89) minmax(0, 1fr);
	gap: var(--fib-5) var(--fib-13);
	align-items: center;
	box-sizing: border-box;
	width: min(100%, 377px);
	padding: var(--fib-13);
	color: #fff !important;
	background: rgb(255 255 255 / 0.13);
	border: 1px solid rgb(255 255 255 / 0.21);
	border-radius: var(--r-lg);
	box-shadow: 0 5px 13px rgb(0 0 0 / 0.13), 0 13px 34px rgb(0 0 0 / 0.21);
	-webkit-backdrop-filter: blur(var(--fib-21));
	backdrop-filter: blur(var(--fib-21));
	text-decoration: none;
	animation: dpe-float 8s ease-in-out infinite;
}

body.dpe-design .dpe-glass--1 {
	top: 0;
	left: var(--fib-55);
}

body.dpe-design .dpe-glass--2 {
	top: 144px;
	right: 0;
	animation-delay: -3s;
}

body.dpe-design .dpe-glass--3 {
	top: 288px;
	left: 0;
	animation-delay: -5s;
}

@keyframes dpe-float {
	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(calc(var(--fib-8) * -1));
	}
}

body.dpe-design .dpe-glass__img {
	grid-row: 1 / span 3;
	display: block;
	width: var(--fib-89);
	height: var(--fib-89);
	padding: var(--fib-5);
	box-sizing: border-box;
	background: #fff;
	border-radius: var(--r-md);
}

body.dpe-design .dpe-glass__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

body.dpe-design .dpe-glass__badge {
	grid-column: 2;
	justify-self: start;
	padding: var(--fib-2) var(--fib-8);
	background: var(--color-sale);
	border-radius: var(--r-pill);
	font-size: var(--fs-meta);
	font-weight: 700;
}

body.dpe-design .dpe-glass__title {
	display: -webkit-box;
	overflow: hidden;
	font-size: var(--fs-meta);
	font-weight: 600;
	line-height: var(--lh-head);
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

body.dpe-design .dpe-glass__price {
	font-size: var(--fs-ui);
	font-weight: 700;
}

body.dpe-design .dpe-glass__price del {
	font-weight: 400;
	opacity: 0.55;
}

body.dpe-design .dpe-glass__price ins {
	background: none;
	text-decoration: none;
}

@media (max-width: 987px) {
	body.dpe-design .dpe-hero {
		padding: var(--fib-55) var(--gutter);
	}

	body.dpe-design .dpe-hero__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	body.dpe-design .dpe-hero__cards {
		display: none;
	}

	body.dpe-design .dpe-hero__title {
		font-size: var(--fs-title) !important;
	}
}

/* ---------- home bands: full-width sections, white and light blue ---------- */

body.dpe-home .main-container {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

body.dpe-home .main-container .page-area > .row {
	margin: 0;
}

body.dpe-home .main-container .envo-content {
	padding: 0;
	overflow: visible;
	background: transparent;
	border-radius: 0;
	box-shadow: none;
}

/* the page title "Shop" stays for screen readers; the hero carries the visual title */
body.dpe-home .woocommerce-products-header {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

body.dpe-home .dpe-section {
	padding: var(--fib-89) var(--edge);
}

body.dpe-home .dpe-section--cats {
	margin: 0;
	background: var(--color-surface);
}

body.dpe-home .dpe-section--products {
	background: var(--color-four);
}

body.dpe-design .dpe-section__head {
	flex-wrap: wrap;
	align-items: flex-end;
	margin: 0 0 var(--fib-34);
	padding-bottom: var(--fib-21);
	border-bottom: 1px solid var(--color-line);
}

body.dpe-design .dpe-section__heading {
	display: grid;
	gap: var(--fib-3);
}

body.dpe-design .dpe-section__eyebrow {
	margin: 0;
	color: var(--color-two-deep);
	font-size: var(--fs-meta) !important;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

@media (max-width: 987px) {
	body.dpe-home .dpe-section {
		padding: var(--fib-55) var(--gutter);
	}
}

/* ---------- cards: soft three-layer shadow, lift, slow image zoom, orange edge ---------- */

body.dpe-design ul.products li.product,
body.dpe-design ul.products li.product-category {
	box-shadow: var(--shadow-card);
	transition: transform var(--t-hover) var(--ease), box-shadow var(--t-hover) var(--ease), border-color var(--t-hover) var(--ease);
}

body.dpe-design ul.products li.product:hover,
body.dpe-design ul.products li.product-category:hover {
	border-color: rgb(255 162 0 / 0.34);
	box-shadow: var(--shadow-card-hover);
}

body.dpe-design ul.products li.product .woocommerce-LoopProduct-link {
	overflow: hidden;
	border-radius: var(--r-md);
}

body.dpe-design ul.products li.product .woocommerce-LoopProduct-link img {
	transition: transform var(--t-ui) var(--ease);
}

body.dpe-design ul.products li.product:hover .woocommerce-LoopProduct-link img {
	transform: scale(1.05);
}

body.dpe-design ul.products li.product a.button:hover {
	transform: none;
	box-shadow: inset 0 -3px 0 var(--color-two), 0 5px 13px rgb(16 59 112 / 0.21);
}

/* stock indicator */
body.dpe-design .dpe-stock {
	align-self: flex-start;
	padding: var(--fib-2) var(--fib-8);
	color: #146c2e;
	background: rgb(20 108 46 / 0.13);
	border-radius: var(--r-pill);
	font-size: var(--fs-meta);
	font-weight: 600;
	line-height: var(--lh-head);
}

body.dpe-design .dpe-stock--out {
	color: var(--color-three);
	background: rgb(64 64 64 / 0.13);
}

/* the discount badge now holds a percentage */
body.dpe-design ul.products li.product .onsale,
body.dpe-design.single-product.woocommerce div.product > .onsale {
	font-variant-numeric: tabular-nums;
	letter-spacing: 0;
}

/* cart button turns into a check mark after "add to cart" (fx.js) */
body.dpe-design ul.products li.product a.button.dpe-done {
	background: #146c2e;
}

body.dpe-design a.button .dpe-icon {
	width: var(--fib-21);
	height: var(--fib-21);
}

/* ---------- category tiles: picture with a dark navy fade, name and count at the bottom ---------- */

body.dpe-design ul.products li.product-category {
	padding: 0;
	overflow: hidden;
}

body.dpe-design ul.products li.product-category > a {
	position: relative;
	display: block;
	flex: 1;
	color: #fff !important;
	text-decoration: none;
}

body.dpe-design ul.products li.product-category img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	aspect-ratio: 1.618 / 1;
	object-fit: cover;
	border-radius: 0;
	transition: transform var(--t-ui) var(--ease);
}

body.dpe-design ul.products li.product-category:hover img {
	transform: scale(1.05);
}

body.dpe-design ul.products li.product-category > a::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgb(9 33 62 / 0.89) 0%, rgb(9 33 62 / 0.34) 55%, transparent 100%);
	pointer-events: none;
}

body.dpe-design ul.products li.product-category .woocommerce-loop-category__title {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--fib-2) var(--fib-8);
	min-height: 0;
	margin: 0;
	padding: var(--fib-8) var(--fib-13) var(--fib-13);
	color: #fff;
	background: none;
	font-size: var(--fs-meta) !important;
	font-weight: 700;
	line-height: var(--lh-head);
	text-align: left;
	text-decoration: underline;
	text-decoration-color: transparent;
	text-decoration-thickness: var(--fib-2);
	text-underline-offset: var(--fib-5);
	transition: text-decoration-color var(--t-hover) var(--ease);
}

body.dpe-design ul.products li.product-category:hover .woocommerce-loop-category__title {
	text-decoration-color: var(--color-two);
}

body.dpe-design ul.products li.product-category mark.count {
	color: rgb(255 255 255 / 0.89);
	background: none;
	font-size: var(--fs-meta);
	font-weight: 400;
	opacity: 1;
}

/* ---------- motion: reveal on scroll, skeletons ---------- */

html.dpe-reveal-on body.dpe-design .dpe-reveal {
	opacity: 0;
	transform: translateY(var(--fib-21));
	transition: opacity var(--t-enter) var(--ease), transform var(--t-enter) var(--ease);
	transition-delay: calc(var(--i, 0) * 89ms);
}

html.dpe-reveal-on body.dpe-design .dpe-reveal.is-in {
	opacity: 1;
	transform: none;
}

body.dpe-design .dpe-skel {
	background: linear-gradient(90deg, var(--color-four) 0%, rgb(255 255 255 / 0.89) 50%, var(--color-four) 100%) 0 0 / 233px 100% repeat-x;
	animation: dpe-shimmer var(--t-slow) linear infinite;
}

@media (prefers-reduced-motion: reduce) {
	html.dpe-reveal-on body.dpe-design .dpe-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}

	body.dpe-design .dpe-glass {
		animation: none;
	}

	html body.dpe-menu-new .site-header::before,
	html body.dpe-menu-new .site-header > .container,
	html body.dpe-menu-new .site-branding-logo img,
	html body.dpe-menu-new .menu-search-widget {
		transition: none;
	}
}

/* ---------- footer: navy, four columns, payment and delivery methods ---------- */

body.dpe-design #content-footer-section {
	padding: var(--fib-55) 0 var(--fib-34);
	background: linear-gradient(180deg, var(--color-one) 0%, var(--color-night) 100%);
	color: rgb(255 255 255 / 0.89);
}

body.dpe-design #content-footer-section > .container {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--fib-34);
	align-items: start;
}

/* bootstrap clearfix pseudo elements would be grid cells */
body.dpe-design #content-footer-section > .container::before,
body.dpe-design #content-footer-section > .container::after {
	display: none;
}

body.dpe-design #content-footer-section .widget {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
}

body.dpe-design #content-footer-section a {
	color: rgb(255 255 255 / 0.89) !important;
	text-decoration: none;
}

body.dpe-design #content-footer-section a:hover {
	color: #fff !important;
	text-decoration: underline;
	text-decoration-color: var(--color-two);
	text-underline-offset: var(--fib-5);
}

body.dpe-design #content-footer-section ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.dpe-design #content-footer-section li {
	padding: var(--fib-3) 0;
}

body.dpe-design .dpe-pay__title {
	margin: 0 0 var(--fib-13);
	color: #fff;
	font-size: var(--fs-ui) !important;
	font-weight: 700;
}

body.dpe-design .dpe-pay__list {
	display: grid;
	gap: var(--fib-8);
}

body.dpe-design .dpe-pay__list li {
	display: flex;
	align-items: center;
	gap: var(--fib-8);
	padding: var(--fib-8) var(--fib-13);
	background: rgb(255 255 255 / 0.08);
	border: 1px solid rgb(255 255 255 / 0.13);
	border-radius: var(--r-md);
	font-size: var(--fs-meta);
}

body.dpe-design .dpe-pay__list .dpe-icon {
	color: var(--color-two);
}

body.dpe-design .footer-credits {
	background: var(--color-night);
}

@media (max-width: 987px) {
	body.dpe-design #content-footer-section > .container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 610px) {
	body.dpe-design #content-footer-section > .container {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* price ranges ("100,00 lei - 110,00 lei") stay on one line, a size smaller */
body.dpe-design ul.products li.product .price:has(> .woocommerce-Price-amount ~ .woocommerce-Price-amount) {
	font-size: var(--fs-ui);
	white-space: nowrap;
}
