/* Divinity Site stylesheet. Built from assets/css/src by bin/build-css.sh; edit the sources. */

/* --- 00-base.css --- */
/* ==========================================================================
   Divinity redesign 04. Tokens, base type and shared components.
   Source files in assets/css/src are joined into assets/css/site.css by
   bin/build-css.sh. Edit the sources, not site.css.
   ========================================================================== */

:root {
	--dp-font-body: 'DM Sans', system-ui, sans-serif;
	--dp-font-display: 'Lora', Georgia, serif;
	--dp-bg: #fff;
	--dp-soft: #f6f6f4;
	--dp-ink: #171717;
	--dp-muted: #60605d;
	--dp-line: #deded9;
	--dp-strong-line: #999993;
	--dp-underline: #aaa;
	--dp-page: 1440px;
	--dp-gutter: 20px;
	--dp-header-h: 64px;
	--dp-sidebar: 196px;
	--dp-duration: 160ms;
	--dp-ease: cubic-bezier(.2, .65, .3, 1);
	--dp-notices-h: 0px;
}
@media (min-width: 768px) { :root { --dp-gutter: 32px; } }
@media (min-width: 1025px) { :root { --dp-header-h: 86px; --dp-gutter: 48px; } }
@media (prefers-reduced-motion: reduce) { :root { --dp-duration: 0ms; } }

html { scroll-padding-top: calc(var(--dp-header-h) + 24px); -webkit-text-size-adjust: 100%; }
body { background: var(--dp-bg); color: var(--dp-ink); font: 400 16px/1.5 var(--dp-font-body); overflow-x: clip; }
body h1, body h2, body h3, body h4 { font-family: var(--dp-font-display); font-weight: 400; color: inherit; margin: 0; }
body h1 { font-size: clamp(34px, 3.8vw, 50px); line-height: 1.12; letter-spacing: -.03em; }
body h2 { font-size: 28px; line-height: 1.25; letter-spacing: -.02em; }
body h3 { font-size: 21px; line-height: 1.3; letter-spacing: -.02em; }
body p { margin: 0; }
body a { color: inherit; text-decoration: none; }
body img { max-width: 100%; height: auto; }
body :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 2px solid var(--dp-ink); outline-offset: 4px; }
body button, body input, body select, body textarea { font-family: var(--dp-font-body); }

.dp-skip-link { position: fixed; z-index: 1000; top: 8px; left: 8px; padding: 12px 16px; background: var(--dp-bg); color: var(--dp-ink); transform: translateY(-200%); }
.dp-skip-link:focus { transform: none; }
.screen-reader-text, .dp-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Elementor containers built for the redesign carry the class "dp" and
   start without the kit's default padding and gaps. */
.e-con.dp { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px 0px; --row-gap: 0px; --column-gap: 0px; --margin-top: 0px; --margin-bottom: 0px; }
.e-con.dp > .e-con-inner { --padding-top: 0px; --padding-bottom: 0px; padding: 0; max-width: none; gap: inherit; }
.dp .elementor-widget:not(:last-child) { margin-bottom: 0; }
.dp .elementor-widget-container { margin: 0; padding: 0; }
.dp-page { width: 100%; max-width: var(--dp-page) !important; margin-inline: auto; padding-inline: var(--dp-gutter) !important; }
.dp-page.e-con { --padding-left: var(--dp-gutter); --padding-right: var(--dp-gutter); --content-width: 100%; }

.dp-icon, .dp svg.dp-icon { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 1.4; flex-shrink: 0; }
.dp-icon-button { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 0; background: none; color: inherit; cursor: pointer; border-radius: 0; }
.dp-icon-button:hover, .dp-icon-button:focus { background: none; color: inherit; }

.dp-eyebrow, .dp .dp-eyebrow { font: 500 12px/1.5 var(--dp-font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--dp-muted); }

/* Text links: thin underline that darkens on hover. */
/* a.class beats the kit's link reset (.elementor-kit-8 a). */
.dp-text-link, .dp-quiet-link, a.dp-text-link, a.dp-quiet-link, .dp-rich a, .dp-term-description a, .dp-author-houses a, .dp-policy a {
	text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: var(--dp-underline);
	transition: text-decoration-color var(--dp-duration) ease;
}
.dp-text-link:hover, .dp-quiet-link:hover, a.dp-text-link:hover, a.dp-quiet-link:hover, .dp-rich a:hover, .dp-term-description a:hover, .dp-author-houses a:hover, .dp-policy a:hover { text-decoration-color: currentColor; }
.dp-quiet-link { font-size: 13px; display: inline-flex; align-items: center; min-height: 44px; gap: 8px; }

/* Buttons: Elementor buttons inside redesign containers and our own. */
.dp-btn, .dp .elementor-button, .dp-btn-wrap .elementor-button {
	display: inline-flex; justify-content: center; align-items: center; gap: 12px; min-height: 48px; padding: 12px 22px;
	border: 1px solid var(--dp-ink); border-radius: 0; background: var(--dp-bg); color: var(--dp-ink);
	font: 500 14px/1.3 var(--dp-font-body); letter-spacing: 0; text-transform: none; box-shadow: none;
	transition: background-color var(--dp-duration), color var(--dp-duration);
}
.dp-btn:hover, .dp .elementor-button:hover { background: var(--dp-soft); color: var(--dp-ink); }
.dp-btn--primary, .dp .dp-btn-primary .elementor-button, .dp .elementor-button.dp-btn--primary { background: var(--dp-ink); color: #fff; }
.dp-btn--primary:hover, .dp .dp-btn-primary .elementor-button:hover { background: #333; color: #fff; }
.dp .elementor-button .elementor-button-icon svg { width: 16px; height: 16px; fill: currentColor; }
/* The design's thin line arrow in place of Font Awesome's solid one. */
.dp-btn-wrap .elementor-button .elementor-button-icon :is(svg, i) { display: none; }
.dp-btn-wrap .elementor-button .elementor-button-icon::before { content: ""; display: block; width: 17px; height: 17px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h17m-6-6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h17m-6-6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; }

/* Inputs: a bottom line that grows on focus. */
body input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=button]), body textarea {
	background-image: linear-gradient(currentColor, currentColor); background-position: left bottom; background-repeat: no-repeat; background-size: 0 2px;
	transition: background-size 220ms ease, border-color 220ms ease;
}
body input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=button]):focus, body textarea:focus { outline: none; box-shadow: none; background-size: 100% 2px; border-bottom-color: currentColor; }
body select:focus { outline: none; box-shadow: none; }
body select:focus-visible { outline: 1px solid currentColor; outline-offset: 3px; }
/* After a mouse or touch choice the script adds this class: grey line again. */
body select.dp-settled { outline: none; }

.dp-section { margin-top: 48px; }
.dp-section-heading { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; justify-content: space-between; align-items: baseline; gap: 20px !important; margin-bottom: 24px; }
/* Elementor stacks row containers at phone width; the link stays beside the heading as in the design. */
.dp-section-heading > .elementor-widget { width: auto !important; min-width: 0; }
.dp-section-heading > .elementor-widget:last-child:not(:first-child) { flex: none; }
.dp-section-heading h2, .dp-section-heading .elementor-heading-title { font: 400 28px/1.25 var(--dp-font-display); letter-spacing: -.02em; }
.dp-section-heading a, .dp-section-heading .dp-quiet-link { font-size: 12px; min-height: 44px; display: inline-flex; align-items: center; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: var(--dp-underline); }
.dp-section-heading a:hover { text-decoration-color: currentColor; }
@media (min-width: 768px) { .dp-section { margin-top: 64px; } }
@media (min-width: 1025px) { .dp-section { margin-top: 72px; } .dp-section-heading h2, .dp-section-heading .elementor-heading-title { font-size: 32px; } }

.dp-page-intro { padding: 24px 0 36px; }
.dp-page-intro h1, .dp-page-intro .elementor-heading-title { max-width: 800px; }

/* Breadcrumbs (WooCommerce trail, shaped by the plugin). */
.dp-breadcrumbs { padding-top: 20px; font-size: 12px; color: var(--dp-muted); }
.dp-breadcrumbs .woocommerce-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 0 10px; margin: 0; padding: 0; font-size: 12px; color: var(--dp-muted); }
.dp-breadcrumbs a { min-height: 44px; display: inline-flex; align-items: center; color: var(--dp-muted); }
.dp-breadcrumbs a:hover { color: var(--dp-ink); text-decoration: underline; text-underline-offset: 4px; }
.dp-crumb-sep { display: inline-flex; width: 12px; height: 12px; align-items: center; justify-content: center; }
.dp-crumb-sep::before { content: ''; width: 5px; height: 5px; border-right: 1px solid currentColor; border-top: 1px solid currentColor; transform: rotate(45deg); }

.dp-empty { padding: 64px 0; max-width: 520px; }
.dp-empty h2 { font-size: 28px; }
.dp-empty p { margin: 16px 0 24px; color: var(--dp-muted); }

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

/* --- 10-header.css --- */
/* ==========================================================================
   Header: notice rows scroll away, the bar stays. The whole header location
   is sticky with a negative top equal to the notices' height, which the
   script measures into --dp-notices-h.
   ========================================================================== */

.elementor-location-header { position: sticky; top: calc(var(--dp-notices-h) * -1); z-index: 40; background: var(--dp-bg); }
body.admin-bar .elementor-location-header { top: calc(var(--dp-notices-h) * -1 + 32px); }
@media (max-width: 782px) { body.admin-bar .elementor-location-header { top: calc(var(--dp-notices-h) * -1); } }

.dp-notices { background: var(--dp-ink); color: #fff; text-align: center; font: 400 12px/1.5 var(--dp-font-body); letter-spacing: .035em; }
.dp-notices .dp-notice { display: block; padding: 7px 16px; color: #fff; }
.dp-notices a.dp-notice { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: transparent; transition: text-decoration-color 180ms ease; }
.dp-notices a.dp-notice:hover, .dp-notices a.dp-notice:focus-visible { text-decoration-color: currentColor; color: #fff; }
.dp-notices a.dp-notice:focus-visible { outline: 1px solid currentColor; outline-offset: -4px; }

.dp-header { border-bottom: 1px solid var(--dp-line); background: var(--dp-bg); }
.dp-header__inner { height: var(--dp-header-h); display: flex !important; flex-direction: row !important; align-items: center; justify-content: space-between; gap: 0; max-width: var(--dp-page); margin-inline: auto; padding-inline: var(--dp-gutter); }
.dp-header__start, .dp-header__actions { display: flex !important; flex-direction: row !important; align-items: center; gap: 0; flex-wrap: nowrap !important; width: auto !important; }
.dp-header__start { min-width: 0; }
.dp-header__actions { flex-shrink: 0; }
.dp-header .elementor-widget { width: auto; max-width: none; }

.dp-logo { display: block; width: 105px; height: 56px; overflow: hidden; flex-shrink: 0; }
.dp-logo img.dp-logo__img { width: 105px; height: 55px; max-width: none; object-fit: contain; display: block; position: relative; top: 0; }
.dp-logo__text { font: 400 20px/56px var(--dp-font-display); white-space: nowrap; }
@media (min-width: 390px) { .dp-logo { width: 120px; } .dp-logo img.dp-logo__img { width: 120px; height: 63px; top: -4px; } }
@media (min-width: 768px) { .dp-logo { width: 152px; } .dp-logo img.dp-logo__img { width: 152px; height: 80px; top: -12px; } }
@media (min-width: 1025px) { .dp-logo { width: 148px; height: 68px; } .dp-logo img.dp-logo__img { width: 148px; height: 78px; top: -6px; } }

.dp-nav { display: none; }
.dp-menu__list { list-style: none; margin: 0; padding: 0; }
@media (min-width: 1025px) {
	.dp-header__start { gap: 24px; }
	.dp-nav { display: block; }
	.dp-nav .dp-menu__list { display: flex; align-items: center; gap: 18px; }
	.dp-nav a { display: flex; align-items: center; min-height: 44px; padding: 8px 0; font-size: 12px; border-bottom: 1px solid transparent; transition: border-color var(--dp-duration); }
	.dp-nav a:hover { border-bottom-color: var(--dp-strong-line); }
	.dp-nav .current-menu-item > a, .dp-nav a[aria-current=page] { border-bottom-color: var(--dp-ink); }
	/* The hidden toggle's widget would still take a flex gap before the logo. */
	.dp-drawer-toggle, .dp-header__drawer, .dp-header__start > .elementor-widget:has(.dp-drawer-toggle) { display: none !important; }
}
@media (min-width: 1280px) { .dp-header__start { gap: 32px; } .dp-nav .dp-menu__list { gap: 24px; } .dp-nav a { font-size: 13px; } }

.dp-search-button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 44px; min-height: 44px; font-size: 12px; color: inherit; }
.dp-search-button__label { display: none; }
@media (min-width: 1280px) { .dp-search-button__label { display: inline; } .dp-search-button { padding-right: 6px; } }

.dp-lang--inline { display: none; }
@media (min-width: 1025px) {
	.dp-lang--inline { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; margin-inline: 8px 12px; }
	.dp-lang--inline .dp-lang__item { min-height: 44px; display: inline-flex; align-items: center; padding: 0 3px; }
	.dp-lang--inline .is-current { text-decoration: underline; text-underline-offset: 4px; }
	.dp-lang--inline .is-unavailable { color: var(--dp-muted); cursor: default; text-decoration: line-through; text-decoration-thickness: 1px; }
}

/* Wishlist and basket share one group with no gap. */
.dp-shopping { display: flex !important; flex-direction: row !important; align-items: center; gap: 0; width: auto !important; }
@media (min-width: 768px) { .dp-shopping { margin-left: 8px; } }
/* Drawer for phones and tablets: from the right, like the basket and search panels. */
.dp-drawer { margin: 0; padding: 0; border: 0; max-width: none; max-height: none; width: 100%; height: 100%; background: transparent; color: var(--dp-ink); }
.dp-drawer::backdrop { background: rgb(0 0 0 / .3); }
.dp-drawer__panel { position: fixed; inset: 0 0 0 auto; width: min(100%, 460px); height: 100dvh; background: var(--dp-bg); display: flex; flex-direction: column; overflow-y: auto; padding: 0 20px 32px; }
.dp-drawer__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--dp-line); margin-inline: -20px; }
body .dp-drawer__title { margin: 0; font: 400 25px/1.25 var(--dp-font-display); letter-spacing: -.02em; text-transform: none; color: var(--dp-ink); }
.dp-drawer__nav { margin-top: 24px; }
.dp-drawer .dp-menu__list a, .dp-drawer .dp-menu__list a:visited, .dp-drawer .dp-menu__list .current-menu-item > a { display: block; border-bottom: 1px solid var(--dp-line); padding: 16px 0; font: 400 32px/normal var(--dp-font-display); letter-spacing: -.02em; color: var(--dp-ink); }
.dp-drawer .dp-lang--drawer { display: flex; gap: 16px; margin-top: 32px; }
.dp-drawer .dp-lang--drawer .dp-lang__item { min-height: 44px; min-width: 44px; display: inline-flex; align-items: center; justify-content: center; font-size: 16px; color: var(--dp-ink); border-bottom: 1px solid var(--dp-ink); }
.dp-drawer .dp-lang--drawer .is-unavailable { color: var(--dp-muted); border-bottom-color: var(--dp-line); text-decoration: line-through; text-decoration-thickness: 1px; }
body.dp-drawer-open { overflow: hidden; }

/* --- 15-panels.css --- */
/* ==========================================================================
   Header wishlist and basket icons, and the side panels (basket, search).
   Measurements follow the prototype: 44px buttons, 20px icons with a 1.4
   stroke, a 16px black count, 460px basket panel, 640px search panel.
   ========================================================================== */

/* One size and one stroke for both icons. The wishlist heart comes from the
   awish_heart_svg filter, so it is drawn like the bag. */
.dp-shopping .awish-counter, .dp-cart-button { position: relative; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0; color: var(--dp-ink); background: none; border: 0; }
.dp-shopping .awish-counter svg, .dp-cart-button svg { width: 22px; height: 22px; }
.dp-heart { overflow: visible; }
:root .dp-heart, :root .awish-heart.dp-heart { fill: none; }
:root .dp-heart .awish-heart__line { fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linejoin: round; }
:root .dp-heart .awish-heart__solid { fill: currentColor; stroke: currentColor; stroke-width: 1.4; stroke-linejoin: round; }
.dp-cart-count, .dp-shopping .awish-counter__n {
	position: absolute; top: 2px; right: 1px; min-width: 16px; height: 16px; padding: 0 3px; border-radius: 8px;
	background: var(--dp-ink) !important; color: #fff !important; font: 500 10px/16px var(--dp-font-body); text-align: center; letter-spacing: 0;
}
.dp-cart-count[hidden] { display: none; }
.dp-shopping .awish-counter.is-empty .awish-counter__n { display: none; }

/* Panels ------------------------------------------------------------------ */
dialog.dp-dialog { margin: 0; padding: 0; border: 0; width: 100%; height: 100%; max-width: none; max-height: none; background: transparent; color: var(--dp-ink); overflow: hidden; }
dialog.dp-dialog::backdrop { background: rgb(0 0 0 / .3); }
dialog.dp-dialog:not([open]) { display: none; }
.dp-dialog__panel, .dp-cart-drawer__content { display: flex; flex-direction: column; min-height: 0; }
.dp-dialog__panel { position: fixed; inset: 0 0 0 auto; width: min(100%, 460px); height: 100dvh; background: var(--dp-bg); box-shadow: -1px 0 0 var(--dp-line); }
.dp-cart-drawer__content { flex: 1; }
.dp-dialog__header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--dp-line); flex-shrink: 0; }
body .dp-dialog__header h2 { font: 400 25px/1.25 var(--dp-font-display); letter-spacing: -.02em; margin: 0; }
.dp-dialog__close { color: var(--dp-ink); }
.dp-dialog__body { flex: 1; min-height: 0; overflow-y: auto; padding: 24px 20px; }
.dp-dialog__footer { flex-shrink: 0; padding: 16px 20px max(16px, env(safe-area-inset-bottom)); border-top: 1px solid var(--dp-line); }
.dp-dialog__footer .dp-btn { width: 100%; }
body.dp-dialog-open { overflow: hidden; }
@media (prefers-reduced-motion: no-preference) {
	dialog.dp-dialog[open] .dp-dialog__panel { animation: dp-panel-in 220ms var(--dp-ease); }
	dialog.dp-dialog[open]::backdrop { animation: dp-fade-in 220ms ease; }
}
@keyframes dp-panel-in { from { transform: translateX(24px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes dp-fade-in { from { opacity: 0; } to { opacity: 1; } }

/* Basket panel ------------------------------------------------------------ */
.dp-cart-added { background: var(--dp-soft); padding: 12px 20px; font-size: 12px; margin: 0 0 24px; }
.dp-cart-added[hidden] { display: none; }
.dp-cart-loading { font-size: 12px; color: var(--dp-muted); }
.dp-cart-empty h2 { font: 400 28px/1.25 var(--dp-font-display); letter-spacing: -.02em; margin: 40px 0 26px; }
.dp-cart-total { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 16px; font-size: 18px; }
.dp-cart-view-link { display: block; text-align: center; min-height: 44px; padding: 12px; font-size: 12px; color: var(--dp-ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: var(--dp-underline); }
.dp-cart-view-link:hover { text-decoration-color: currentColor; }
.dp-btn .dp-icon { width: 17px; height: 17px; }

/* A basket row, in the panel and on the basket page. */
.dp-cart-line { display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 16px; padding-bottom: 24px; margin-bottom: 24px; border-bottom: 1px solid var(--dp-line); }
.dp-cart-line__media { display: block; }
.dp-cart-line__media img { width: 68px; height: 90px; object-fit: contain; mix-blend-mode: multiply; display: block; }
.dp-cart-line__brand { font-size: 10px; letter-spacing: .06em; text-transform: uppercase; color: var(--dp-muted); }
body .dp-cart-line__name { font: 400 21px/1.15 var(--dp-font-display); letter-spacing: -.02em; margin: 4px 0 0; }
.dp-cart-line__name a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: transparent; transition: text-decoration-color var(--dp-duration); }
.dp-cart-line__name a:hover { text-decoration-color: currentColor; }
.dp-cart-line__meta { font-size: 12px; margin-top: 6px; }
.dp-cart-line .dp-price-history { margin-top: 6px; font-size: 12px; color: var(--dp-muted); line-height: 1.6; }
.dp-price-history > span { display: block; }
.dp-price-history .sidrena-cijena__text, .dp-price-history .sidrena-cijena__text > * { display: inline; }
.dp-price-history .sidrena-cijena__tooltip { display: none; }
.dp-price-history .wc-price-history-lowest-inner, .dp-price-history .sidrena-cijena { font-size: 12px; color: var(--dp-muted); }
.dp-cart-line__controls { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 12px; }
.dp-qty { display: inline-flex; align-items: center; border: 1px solid var(--dp-line); }
.dp-qty__btn { width: 44px; height: 44px; padding: 0; border: 0; background: none; color: var(--dp-ink); font: 400 16px var(--dp-font-body); cursor: pointer; border-radius: 0; }
.dp-qty__btn:hover { background: var(--dp-soft); color: var(--dp-ink); }
.dp-qty__btn:disabled { color: var(--dp-strong-line); cursor: not-allowed; background: none; }
.dp-qty__value { min-width: 24px; text-align: center; font-size: 13px; }
.dp-cart-line__remove { font-size: 11px; min-height: 44px; display: inline-flex; align-items: center; color: var(--dp-ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: var(--dp-underline); }
.dp-cart-line__remove:hover { text-decoration-color: currentColor; }
.dp-cart-line .is-busy { opacity: .5; pointer-events: none; }

/* Search panel ------------------------------------------------------------ */
.dp-search-panel .dp-dialog__panel { width: 100%; }
@media (min-width: 768px) { .dp-search-panel .dp-dialog__panel { width: min(640px, 100%); } }
.dp-search-field { position: relative; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--dp-ink); padding-bottom: 12px; }
.dp-search-field::after { content: ''; position: absolute; inset: auto 0 -1px; height: 2px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform 220ms ease; pointer-events: none; }
.dp-search-field:focus-within::after { transform: scaleX(1); }
body .dp-search-field input[type=search] { flex: 1; width: 100%; min-width: 0; border: 0; border-radius: 0; background: none; padding: 0; font: 400 18px/1.5 var(--dp-font-body); color: var(--dp-ink); box-shadow: none; outline: none; min-height: 32px; }
.dp-search-field input[type=search]::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; height: 14px; width: 14px; cursor: pointer; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='m6 6 12 12M6 18l12-12'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='m6 6 12 12M6 18l12-12'/%3E%3C/svg%3E") center / contain no-repeat; }
.dp-search-field .dp-icon-button { color: var(--dp-ink); }
.dp-search-results { margin-top: 24px; }
.dp-search-results[aria-busy=true] { opacity: .6; transition: opacity 120ms; }
.dp-search-count { font-size: 12px; color: var(--dp-muted); }
.dp-search-none { margin-top: 24px; font-size: 14px; }
.dp-search-result { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: center; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--dp-line); color: var(--dp-ink); transition: background-color 180ms ease; }
.dp-search-result:hover, .dp-search-result:focus-visible { background: var(--dp-soft); }
.dp-search-result img { width: 48px; height: 56px; object-fit: contain; mix-blend-mode: multiply; }
.dp-search-result__text small { display: block; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; color: var(--dp-muted); }
.dp-search-result__name { display: block; font-size: 16px; font-weight: 400; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: transparent; transition: text-decoration-color 180ms ease; }
.dp-search-result:hover .dp-search-result__name, .dp-search-result:focus-visible .dp-search-result__name { text-decoration-color: currentColor; }
.dp-search-result__price { grid-column: 2; font-size: 14px; }
.dp-search-result__price strong { font-weight: 400; font-size: 14px; }
.dp-search-result .dp-price-history { margin-top: 4px; font-size: 12px; line-height: 1.6; color: var(--dp-muted); }
@media (min-width: 768px) {
	.dp-search-result { grid-template-columns: 56px minmax(0, 1fr) 190px; gap: 16px; }
	.dp-search-result img { width: 56px; height: 64px; }
	.dp-search-result__price { grid-column: auto; }
}
.dp-price-history :is(.amount, bdi, strong, b) { font: inherit !important; color: inherit !important; }
/* Sidrena's stylesheet forces 14px with !important on two classes; the design's sizes win here. */
body .dp-price-history .sidrena-cijena, body .dp-price-history .sidrena-cijena * { font-size: 12px !important; }

/* --- 20-footer.css --- */
/* ==========================================================================
   Footer: black contact, hours, help and newsletter area, then payment
   marks, then legal links. No spacer follows it.
   ========================================================================== */

.dp-footer { background: #171717; color: #f5f5f2; padding: 36px 0 0; margin-top: 56px; }
.dp-footer, .dp-footer .elementor-widget-text-editor, .dp-footer .elementor-widget-shortcode, .dp-footer .elementor-widget-container { color: #f5f5f2; }
.dp-footer a, .dp-footer button { color: inherit; }
.dp-footer :is(a, button, input):focus-visible { outline-color: #fff; }
.dp-footer p { color: #ccc; font-size: 13px; line-height: 1.8; margin: 0; }
.dp-footer__grid { display: grid !important; grid-template-columns: 1fr; gap: 32px; }
.dp-footer__grid > .e-con, .dp-footer__grid > div { min-width: 0; width: auto !important; }
.dp-footer h3, .dp-footer .dp-footer__title { font: 500 11px/1.6 var(--dp-font-body) !important; text-transform: uppercase; letter-spacing: .09em; color: #f5f5f2; margin: 0 0 16px; }
.dp-footer .dp-footer__name { font: 400 25px/1.2 var(--dp-font-display); letter-spacing: 0; margin-bottom: 16px; color: #f5f5f2; }
.dp-footer__contact a, .dp-footer__info .dp-menu__list a {
	display: flex; align-items: center; width: fit-content; max-width: 100%; min-height: 44px; font-size: 13px; overflow-wrap: anywhere;
	padding-inline: 3px; margin-left: -3px; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: transparent;
	transition: text-decoration-color var(--dp-duration) ease;
}
.dp-footer__contact a:hover, .dp-footer__contact a:focus-visible, .dp-footer__info .dp-menu__list a:hover, .dp-footer__info .dp-menu__list a:focus-visible { text-decoration-color: currentColor; }
.dp-footer__socials { display: flex; flex-wrap: wrap; gap: 0 18px; margin-top: 12px; }
.dp-footer__socials a { font-size: 12px; margin: 0; padding: 0; }

.dp-hours { margin: 0; font-size: 12px; color: #ccc; }
.dp-hours > div { display: flex; justify-content: space-between; gap: 14px; border-bottom: 1px solid #ffffff26; padding: 10px 0; }
.dp-hours dt { font-weight: 400; }
.dp-hours dd { margin: 0; white-space: nowrap; color: #f5f5f2; }

/* Brevo signup form, restyled to the design's single line with an arrow. */
.dp-footer .sib_signup_form { margin: 0; padding: 0; }
.dp-footer .sib_signup_form .sib-email-area { margin: 0 !important; padding: 0 !important; }
.dp-footer .sib_signup_form input[type=email] {
	width: 100% !important; min-height: 48px; margin: 0 !important; padding: 8px 48px 8px 0 !important; border: 0 !important; border-bottom: 1px solid #999 !important; border-radius: 0;
	background-color: transparent !important; color: #fff !important; font-size: 16px !important;
}
.dp-footer .sib_signup_form input[type=email]::placeholder { color: #ccc; opacity: 1; }
.dp-footer .sib_signup_form .privola_news { display: flex; gap: 9px; align-items: flex-start; font-size: 11px; line-height: 1.6; color: #ccc; margin-top: 12px; }
.dp-footer .sib_signup_form .privola_news input { accent-color: #fff; width: 16px; height: 16px; margin-top: 2px; flex-shrink: 0; }
.dp-footer .sib_signup_form .privola_news a { text-decoration: underline; text-underline-offset: 3px; color: #f5f5f2; }
.dp-footer .sib_signup_box_inside_3, .dp-footer [class^=sib_signup_box_inside] { position: relative; }
.dp-footer .sib_signup_form .sib-default-btn, .dp-footer .sib_signup_form input[type=submit] {
	position: absolute; top: 0; right: 0; width: 44px; min-height: 48px; padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 0;
	/* A mask, not a background image: Elementor's lazy-load rule removes
	   background images in lower sections until its delayed script runs. */
	background: #fff !important; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6'/%3E%3C/svg%3E") center / 20px no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6'/%3E%3C/svg%3E") center / 20px no-repeat;
	color: transparent !important; font-size: 0 !important; cursor: pointer;
}
.dp-footer .sib_msg_disp { font-size: 12px; color: #f5f5f2; }
.dp-footer .sib_msg_disp:empty { display: none; }

.dp-payments { margin-top: 32px; padding: 24px 0; border-top: 1px solid #ffffff26; text-align: center; }
.dp-payments .dp-eyebrow, .dp-footer p.dp-payments__title { font-size: 10px; color: #ccc; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 16px; }
.dp-payments__marks { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; justify-content: center; align-items: center; gap: 14px 20px !important; }
.dp-payments__marks > .elementor-widget { width: auto !important; flex: 0 0 auto; }
.dp-pay-mark img, .dp-pay-mark .elementor-widget-container img { display: block; width: 62px !important; height: 34px !important; object-fit: contain; background: #fff; padding: 4px; border-radius: 0 !important; }
.dp-pay-mark--plain img, .dp-pay-mark--plain .elementor-widget-container img { background: transparent; padding: 0; }
@media (min-width: 1025px) {
	.dp-payments__marks { flex-wrap: nowrap !important; gap: clamp(8px, 1.2vw, 18px) !important; max-width: 1160px; margin-inline: auto; }
	.dp-payments__marks > .elementor-widget { flex: 0 1 62px; min-width: 0; }
	.dp-pay-mark img, .dp-pay-mark .elementor-widget-container img { width: 100% !important; max-width: 62px; }
}

.dp-footer__bottom { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; align-items: center; gap: 4px 20px !important; border-top: 1px solid #ffffff26; padding: 16px 0 24px; font-size: 10px; color: #ccc; }
.dp-footer__bottom > .elementor-widget { width: auto !important; }
.dp-footer__bottom > .elementor-widget:first-child { flex-basis: 100%; }
.dp-footer__copy { line-height: 2; }
.dp-footer__bottom p { font-size: 10px; }
.dp-legal .dp-menu__list { display: flex; flex-wrap: wrap; gap: 0 20px; }
.dp-legal a, .dp-cookie-settings {
	min-height: 44px; display: inline-flex; align-items: center; font-size: 11px; color: #ddd; padding: 0; border: 0; background: none; cursor: pointer;
	text-decoration: underline; text-decoration-color: transparent; text-decoration-thickness: 1px; text-underline-offset: 4px; transition: text-decoration-color var(--dp-duration) ease;
}
.dp-legal a:hover, .dp-legal a:focus-visible, .dp-cookie-settings:hover, .dp-cookie-settings:focus-visible { text-decoration-color: currentColor; background: none; color: #ddd; }

@media (min-width: 768px) {
	.dp-footer { padding-top: 44px; }
	.dp-footer__grid { grid-template-columns: 1fr 1fr; gap: 36px; }
	.dp-footer__bottom > .elementor-widget:first-child { flex-basis: auto; margin-right: auto; }
}
@media (min-width: 1025px) {
	.dp-footer { margin-top: 72px; padding-top: 44px; }
	.dp-footer__grid { grid-template-columns: 1.05fr .95fr .8fr 1.15fr; gap: 32px; }
}

/* --- 30-cards.css --- */
/* ==========================================================================
   Product cards and the shared price block. Cards keep their image
   proportions inside a pale box; the whole card is one link.
   ========================================================================== */

.dp-grid .elementor-loop-container, .dp-product-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 28px 16px !important; }
@media (min-width: 768px) { .dp-grid .elementor-loop-container, .dp-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 32px 20px !important; } }
@media (min-width: 1025px) { .dp-grid .elementor-loop-container, .dp-product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 36px 22px !important; } }
@media (min-width: 1440px) { .dp-grid .elementor-loop-container, .dp-product-grid { gap: 40px 24px !important; } }
.dp-grid--four .elementor-loop-container { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
@media (min-width: 768px) { .dp-grid--four .elementor-loop-container { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } }
.dp-grid .e-loop-item { min-width: 0; }

.dp-card { position: relative; min-width: 0; }
.dp-card.e-con { --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; --gap: 0px; display: block !important; }
.dp-card__link { display: block; color: var(--dp-ink); }
.dp-card__media { height: 162px; background: var(--dp-soft); display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; }
.dp-card__img { max-height: 136px !important; max-width: 82% !important; width: auto !important; height: auto; object-fit: contain; mix-blend-mode: multiply; transition: transform var(--dp-duration) var(--dp-ease); }
.dp-card__link:hover .dp-card__img { transform: scale(1.045); }
.dp-card__link:hover .dp-card__name { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.dp-stock-tag { position: absolute; bottom: 8px; left: 8px; right: 8px; text-align: center; font-size: 10px; line-height: 1.5; background: var(--dp-bg); padding: 3px; color: var(--dp-ink); }
.dp-card__brand { display: block; font: 400 11px/1.5 var(--dp-font-body); letter-spacing: .08em; text-transform: uppercase; margin-top: 13px; color: var(--dp-muted); }
.dp-card .dp-card__name { font: 400 18px/1.3 var(--dp-font-display); letter-spacing: -.02em; margin: 4px 0 0; overflow-wrap: anywhere; color: var(--dp-ink); }
.dp-card__type { display: block; font-size: 11px; color: var(--dp-muted); margin-top: 6px; min-height: 17px; }
.dp-card__price { margin-top: 7px; font-size: 14px; font-weight: 500; }
.dp-card__volume { display: block; font-size: 11px; color: var(--dp-muted); margin-top: 8px; }
@media (min-width: 480px) { .dp-card__media { height: 190px; } .dp-card__img { max-height: 155px !important; } }
@media (min-width: 1025px) { .dp-card__media { height: 192px; } .dp-card__img { max-height: 158px !important; } .dp-card .dp-card__name { font-size: 20px; } .dp-card__type, .dp-card__volume { font-size: 12px; } }
@media (min-width: 1440px) { .dp-card__media { height: 204px; } .dp-card__img { max-height: 168px !important; } }

/* The wishlist heart sits over the image's top-right corner, no background. */
.dp-card .dp-card__wish { position: absolute !important; top: 0; right: 0; z-index: 2; width: auto !important; }
:root .dp-card .awish-btn, :root .dp-card .awish-btn:hover, :root .dp-card .awish-btn[aria-pressed=true], :root .dp-card .awish-wrap--card .awish-btn {
	width: 44px; height: 44px; min-height: 44px; padding: 0; background: transparent !important; border: 1px solid transparent !important; box-shadow: none !important; color: var(--dp-ink);
}
:root .dp-card .awish-btn svg { width: 18px; height: 18px; }

/* Reference price: the plugin prints "Cijena (date) : amount" with spaces
   around the colon; flex layout drops the stray space. */
.sidrena-cijena__text { display: inline-flex; flex-wrap: wrap; column-gap: 0; align-items: baseline; }
.sidrena-cijena__sep { margin-right: .3em; }
.dp-price .sidrena-cijena, .dp-price .sidrena-cijena *, .dp-price .wc-price-history, .dp-price .wc-price-history * { font-size: 12px !important; font-weight: 400; color: var(--dp-muted); }

/* Price block, wherever a price appears. The current price stays on the
   first line; the reference price and the 30-day low follow on their own
   lines as ordinary text. */
.dp-price .price, .dp-price > .price, .dp-price, p.price { color: var(--dp-ink); }
.dp-price .price, .dp-product-price .price, .woocommerce-variation-price .price { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 6px; margin: 0; }
.dp-price del, .dp-product-price del { color: var(--dp-muted); font-weight: 400; text-decoration-thickness: 1px; }
.dp-price ins, .dp-product-price ins { text-decoration: none; background: none; }
.woocommerce-price-suffix { font-size: 11px; font-weight: 400; color: var(--dp-muted); }
.dp-card .woocommerce-price-suffix { display: none; }
.dp-price-from { font-weight: 500; }
.sidrena-cijena, .wc-price-history.prior-price { flex-basis: 100%; order: 2; display: block; font: 400 12px/1.5 var(--dp-font-body); color: var(--dp-muted); margin-top: 3px; overflow-wrap: anywhere; white-space: normal; }
.sidrena-cijena { order: 1; margin-top: 6px; }
.sidrena-cijena__tooltip { display: none !important; }
.sidrena-cijena .woocommerce-Price-amount, .wc-price-history .woocommerce-Price-amount { font-weight: 400; }
.dp-card .sidrena-cijena { margin-top: 6px; }

/* Catalogue toolbar, count, sorting, load more, pagination. */
.dp-catalog-toolbar { display: flex !important; flex-direction: row !important; align-items: center; justify-content: space-between; gap: 8px; min-height: 64px; font-size: 12px; }
.dp-result-count { font-size: 12px; line-height: 1.6; margin: 0; }
.dp-sort select, .dp-sort .jet-sorting-select, .dp-catalog-toolbar select {
	font-size: 12px; border: 0; border-radius: 0; background-color: var(--dp-bg); max-width: 190px; min-height: 44px; padding: 8px 18px 8px 6px; color: var(--dp-ink);
	background-image: linear-gradient(#aaa, #aaa); background-repeat: no-repeat; background-position: 0 calc(50% + 9px); background-size: 100% 1px; appearance: auto;
}
.dp-sort select:hover, .dp-catalog-toolbar select:hover, .dp-sort select:focus, .dp-catalog-toolbar select:focus { background-image: linear-gradient(currentColor, currentColor); }
.dp-sort select.dp-settled, .dp-catalog-toolbar select.dp-settled { background-image: linear-gradient(#aaa, #aaa); }
.dp-sort .jet-sorting-label, .dp-sort label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
@media (min-width: 1025px) { .dp-catalog-toolbar { border-block: 1px solid var(--dp-line); margin-bottom: 8px; } }

.dp-grid .elementor-pagination, .dp-pagination { margin-top: 24px; display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 12px; font-size: 12px; }
.dp-grid .elementor-pagination .page-numbers { min-width: 32px; min-height: 32px; display: inline-flex; align-items: center; justify-content: center; }
.dp-grid .elementor-pagination .current { text-decoration: underline; text-underline-offset: 4px; }
.dp-load-more { display: flex; justify-content: center; padding: 32px 0 8px; }
.dp-load-more .dp-btn[aria-busy=true] { opacity: .6; cursor: progress; }
.dp-load-more__status:empty { display: none; }
.dp-load-more__status { font-size: 12px; color: var(--dp-muted); text-align: center; }
.dp-grid.dp-has-load-more .elementor-pagination { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.dp-grid.dp-has-load-more .elementor-pagination:focus-within { position: static; width: auto; height: auto; clip: auto; }
.dp-end-catalog { margin: 40px 0; padding-top: 22px; border-top: 1px solid var(--dp-line); font-size: 12px; color: var(--dp-muted); display: flex; justify-content: flex-end; }
.dp-end-catalog a { text-decoration: underline; text-underline-offset: 4px; min-height: 44px; display: inline-flex; align-items: center; }
.e-load-more-anchor, .e-load-more-spinner { display: none !important; }
.dp-grid .e-loop-nothing-found-message, .dp-grid .elementor-nothing-found { grid-column: 1 / -1; padding: 64px 0; max-width: 520px; font: 400 24px/1.3 var(--dp-font-display); }

/* Shop layout: sticky filter sidebar on desktop, group buttons on phones. */
.dp-shop-layout { display: block !important; }
.dp-shop-layout > .e-con { width: 100% !important; }
@media (min-width: 1025px) {
	.dp-shop-layout { display: grid !important; grid-template-columns: var(--dp-sidebar) minmax(0, 1fr); gap: 42px !important; align-items: start; }
	.dp-sidebar { position: sticky !important; top: calc(var(--dp-header-h) + 20px); align-self: start; max-height: calc(100dvh - var(--dp-header-h) - 40px); overflow: auto; scrollbar-width: thin; padding-right: 8px; }
}
.dp-sidebar-title { display: flex !important; flex-direction: row !important; align-items: center; justify-content: space-between; min-height: 64px; font-size: 13px; }
.dp-sidebar-title .jet-remove-all-filters__button, .dp-sidebar-title button { font-size: 11px; text-decoration: underline; text-underline-offset: 3px; background: none !important; border: 0 !important; padding: 0 !important; color: var(--dp-ink) !important; min-height: 44px; }

/* Each JetSmartFilters group becomes a collapsible section. The script
   wraps the label in a button; without it every group stays open. */
.dp-filter { border-top: 1px solid var(--dp-line); }
.dp-filter .jet-filter-label, .dp-filter .jet-filter-items-dropdown__label {
	display: flex; align-items: center; justify-content: space-between; min-height: 50px; padding: 0 !important; border: 0 !important;
	font: 500 13px/1.4 var(--dp-font-body) !important; color: var(--dp-ink) !important; text-transform: none !important; letter-spacing: 0 !important; cursor: pointer; background: none !important;
}
.dp-filter .jet-filter-items-dropdown__label::after, .dp-filter .jet-filter-label::after { content: '+'; font-size: 18px; font-weight: 400; }
.dp-filter.is-open .jet-filter-items-dropdown__label::after, .dp-filter.is-open .jet-filter-label::after { content: '−'; }
.dp-filter .jet-filter-items-dropdown { position: static; }
.dp-filter .jet-filter-items-dropdown__body { position: static !important; display: block; border: 0 !important; box-shadow: none !important; padding: 0 0 18px !important; background: none !important; opacity: 1 !important; visibility: visible !important; transform: none !important; }
.dp-filter.is-ready:not(.is-open) .jet-filter-items-dropdown__body { display: none !important; }
.dp-filter.is-ready:not(.is-open) .jet-filter > :not(.jet-filter-label):not(.jet-filter-items-dropdown) { display: none !important; }
.dp-filter .jet-range { padding-bottom: 18px; }
.dp-filter .jet-checkboxes-list__row { margin: 0 !important; padding: 0 !important; }
.dp-filter .jet-checkboxes-list__item { display: flex; align-items: center; gap: 9px; min-height: 33px; cursor: pointer; font-size: 12px; }
.dp-filter .jet-checkboxes-list__button { display: flex; align-items: center; gap: 9px; }
.dp-filter .jet-checkboxes-list__decorator { width: 16px !important; height: 16px !important; min-width: 16px !important; min-height: 16px !important; margin: 0 !important; border: 1px solid var(--dp-strong-line) !important; border-radius: 0 !important; background: var(--dp-bg) !important; display: grid; place-content: center; }
.dp-filter .jet-checkboxes-list__checked-icon { display: none; color: #fff; font-size: 10px; }
.dp-filter .jet-checkboxes-list__checked-icon svg { width: 10px; height: 10px; fill: #fff; }
.dp-filter .jet-checkboxes-list__input:checked + .jet-checkboxes-list__button .jet-checkboxes-list__decorator { background: var(--dp-ink) !important; border-color: var(--dp-ink) !important; }
.dp-filter .jet-checkboxes-list__input:checked + .jet-checkboxes-list__button .jet-checkboxes-list__checked-icon { display: block; }
.dp-filter .jet-checkboxes-list__input:focus-visible + .jet-checkboxes-list__button .jet-checkboxes-list__decorator { outline: 2px solid var(--dp-ink); outline-offset: 2px; }
.dp-filter .jet-checkboxes-list__label { font: 400 12px/1.4 var(--dp-font-body) !important; color: var(--dp-ink) !important; }
.dp-filter .jet-filters-counter { margin-left: auto; color: var(--dp-muted); font-size: 11px; }
.dp-filter .jet-filter-items-scroll { max-height: 165px !important; scrollbar-width: thin; }
.dp-filter .jet-filter-items-search { margin-bottom: 12px; }
.dp-filter .jet-filter-items-search__input { width: 100%; min-height: 36px; padding: 8px !important; border: 1px solid var(--dp-line) !important; border-radius: 0 !important; font-size: 12px !important; }
/* Black only between the two handles, near-white outside them. JetSmartFilters
   paints the chosen part as a gradient between --low and --high; the same
   values position a plain block here instead, because Elementor's lazy-load
   rule removes background images in lower sections until its script runs. */
.dp-filter .jet-range__slider__track { height: 2px !important; background: var(--dp-soft) !important; }
.dp-filter .jet-range__slider__track__range { background: none !important; }
.dp-filter .jet-range__slider__track__range::before { content: ''; position: absolute; top: 0; bottom: 0; left: var(--low, 0%); right: calc(100% - var(--high, 100%)); background-color: var(--dp-ink); }
.dp-filter .jet-range__slider__input::-webkit-slider-thumb { width: 16px !important; height: 16px !important; border-radius: 50% !important; background: var(--dp-bg) !important; border: 1px solid var(--dp-ink) !important; }
.dp-filter .jet-range__slider__input::-moz-range-thumb { width: 16px !important; height: 16px !important; border-radius: 50% !important; background: var(--dp-bg) !important; border: 1px solid var(--dp-ink) !important; }
.dp-filter .jet-range__values { font: 400 12px var(--dp-font-body) !important; margin-top: 12px !important; text-align: center !important; line-height: 1.5 !important; }
.dp-filter .jet-range__inputs__group input { min-height: 38px; border: 1px solid var(--dp-line) !important; border-radius: 0 !important; font-size: 13px; }
.dp-filter .apply-filters, .dp-filter .apply-filters__button { display: none !important; }

.dp-sort { margin: 0; }
.dp-sort select { cursor: pointer; }
.dp-clear-filters { font-size: 11px; text-decoration: underline; text-underline-offset: 3px; min-height: 44px; display: inline-flex; align-items: center; }

/* Mobile and tablet: the sidebar becomes a sheet; group buttons open it. */
.dp-filter-bar { display: none; }
@media (max-width: 1024px) {
	.dp-filter-bar { display: flex; flex-wrap: wrap; gap: 4px 6px; position: sticky; top: var(--dp-header-h); z-index: 20; background: var(--dp-bg); margin-inline: calc(var(--dp-gutter) * -1); padding: 8px var(--dp-gutter); border-block: 1px solid var(--dp-line); }
	.dp-filter-bar button { flex: 1 0 auto; min-height: 44px; border: 1px solid var(--dp-line); background: var(--dp-bg); color: var(--dp-ink); display: inline-flex; justify-content: space-between; align-items: center; gap: 8px; padding: 8px 10px; font: 400 13px var(--dp-font-body); border-radius: 0; }
	.dp-filter-bar button.is-active { border-color: var(--dp-ink); background: var(--dp-soft); }
	.dp-filter-bar button::after { content: ''; width: 6px; height: 6px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg) translateY(-2px); }
	.dp-sidebar { display: none !important; }
	.dp-sidebar.is-sheet { display: block !important; position: fixed !important; inset: auto 0 0 0; z-index: 60; max-height: 80dvh; overflow: auto; background: var(--dp-bg); padding: 0 20px 24px; border-top: 1px solid var(--dp-line); box-shadow: 0 -12px 40px rgb(0 0 0 / .15); }
	.dp-sidebar.is-sheet .dp-sheet-close { position: sticky; top: 0; display: flex; justify-content: flex-end; background: var(--dp-bg); }
	.dp-sheet-backdrop { position: fixed; inset: 0; z-index: 55; background: rgb(0 0 0 / .3); }
}
@media (min-width: 768px) and (max-width: 1024px) { .dp-filter-bar { gap: 8px; } .dp-filter-bar button { flex: initial; min-width: 116px; } }
.dp-sheet-close { display: none; }

.dp-active-filters .jet-active-filters__list, .dp-active-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.dp-active-filters .jet-active-filter { display: inline-flex; gap: 10px; align-items: center; min-height: 44px; font-size: 12px; padding: 8px 12px; background: var(--dp-soft); border: 1px solid var(--dp-line); border-radius: 0; cursor: pointer; }
.dp-active-filters .jet-active-filters__title { display: none; }

/* --- 40-wishlist.css --- */
/* Awesome Wishlist page and picker in the design's terms.
   The plugin starts every rule with :root (its ADR-0003 keeps theme button
   styles out); these add body to win without !important. */

:root body .awish-app { color: var(--dp-ink); font-size: 14px; }

/* List tabs: text with an underline, as the hero tabs. */
:root body .awish-tabs { display: flex; flex-wrap: wrap; gap: 4px 20px; margin: 0 0 28px; padding: 0; border-bottom: 1px solid var(--dp-line); }
:root body .awish-tab, :root body .awish-tab:hover, :root body .awish-tab:focus { min-height: 48px; padding: 10px 0; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; color: var(--dp-ink); font: 400 14px var(--dp-font-body); max-width: 100%; overflow-wrap: anywhere; opacity: 1; }
:root body .awish-tab:hover { border-bottom-color: var(--dp-strong-line); }
:root body .awish-tab[aria-selected="true"] { border-bottom-color: var(--dp-ink); background: none; color: var(--dp-ink); }
:root body .awish-tab__n { margin-left: 8px; font-size: 11px; color: var(--dp-muted); opacity: 1; }
:root body .awish-tab--new { color: var(--dp-muted); }

/* List heading and its tools: 12 px controls on 44 px targets. */
:root body .awish-head { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; margin-bottom: 24px; }
:root body .awish-title { margin: 0; font: 400 28px/1.2 var(--dp-font-display); letter-spacing: -.02em; overflow-wrap: anywhere; }
:root body .awish-kicker { font: 500 10px/1.5 var(--dp-font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--dp-muted); opacity: 1; margin: 0 0 12px; }
:root body .awish-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 0 16px; font-size: 12px; }
:root body .awish-vis { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; white-space: nowrap; }
:root body .awish-vis select, :root body .awish-move {
	height: 44px; min-height: 44px; max-width: 100%; padding: 0 18px 0 0; border: 0; border-radius: 0; box-shadow: none; color: var(--dp-ink);
	font: 400 12px/1.5 var(--dp-font-body); background: transparent linear-gradient(#aaa, #aaa) no-repeat 0 calc(50% + 9px) / 100% 1px; appearance: auto;
}
:root body .awish-vis select:hover, :root body .awish-move:hover,
:root body .awish-vis select:focus, :root body .awish-move:focus { outline: none; background-image: linear-gradient(currentColor, currentColor); }
:root body .awish-vis select:focus-visible, :root body .awish-move:focus-visible { outline: 2px solid var(--dp-ink); outline-offset: 2px; }
/* After a mouse or touch choice the line is grey again (site.js adds dp-settled). */
:root body .awish-vis select.dp-settled, :root body .awish-move.dp-settled { background-image: linear-gradient(#aaa, #aaa); }

:root body .awish-link, :root body .awish-link:hover, :root body .awish-link:focus {
	display: inline-flex; align-items: center; min-height: 44px; padding: 0; border: 0; background: none; color: var(--dp-ink); font: 400 12px var(--dp-font-body);
	text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; text-decoration-color: #aaa; transition: text-decoration-color var(--dp-duration) ease;
}
:root body .awish-link:hover, :root body .awish-link:focus-visible { text-decoration-color: currentColor; }
:root body .awish-link--danger, :root body .awish-link--danger:hover, :root body .awish-link--danger:focus { color: #9b2c22; }

/* Buttons: the design's square black button; Share is the small outlined one. */
:root body .awish-button, :root body .awish-button:focus {
	min-height: 48px; padding: 12px 22px; border: 1px solid var(--dp-ink); border-radius: 0; background: var(--dp-ink); color: #fff; font: 500 13px/1.4 var(--dp-font-body); letter-spacing: 0; text-transform: none;
}
:root body .awish-button:hover { background: #333; border-color: #333; color: #fff; }
:root body .awish-button.is-disabled { background: var(--dp-soft); border-color: var(--dp-line); color: var(--dp-muted); }
:root body .awish-button--ghost, :root body .awish-button--ghost:focus { position: relative; isolation: isolate; min-height: 44px; padding: 6px 12px; border: 0; background: transparent; color: var(--dp-ink); font: 400 12px/1.5 var(--dp-font-body); }
:root body .awish-button--ghost::before { content: ""; position: absolute; inset: 6px 0; z-index: -1; border: 1px solid var(--dp-line); pointer-events: none; transition: border-color var(--dp-duration), background var(--dp-duration); }
:root body .awish-button--ghost:hover { background: transparent; color: var(--dp-ink); }
:root body .awish-button--ghost:hover::before, :root body .awish-button--ghost:focus-visible::before { border-color: var(--dp-ink); background: var(--dp-soft); }

:root body .awish-share { gap: 8px; margin: 0 0 20px; padding: 12px; border-radius: 0; background: var(--dp-soft); }
:root body .awish-share input, :root body .awish-inline input { min-height: 44px; padding: 8px 0; border: 0; border-bottom: 1px solid var(--dp-line); border-radius: 0; background: transparent; font-size: 14px; }

/* Rows. */
:root body .awish-items { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--dp-line); }
:root body .awish-item {
	display: grid; grid-template-columns: 72px minmax(0, 1fr); grid-template-areas: "img main" "actions actions";
	gap: 18px; padding: 24px 0; border: 0; border-bottom: 1px solid var(--dp-line); border-radius: 0; background: none;
}
:root body .awish-reorder { display: flex; align-items: center; margin-left: auto; }
:root body :is(.awish-up, .awish-down, .awish-drag) { min-width: 44px; min-height: 44px; padding: 4px; border: 0; background: none; color: var(--dp-ink); font-size: 16px; border-radius: 0; }
:root body .awish-drag { color: var(--dp-muted); cursor: grab; letter-spacing: -4px; }
:root body :is(.awish-up, .awish-down):disabled { opacity: .25; }
:root body .awish-notify { font-size: 12px; }
:root body .awish-item__img { grid-area: img; display: block; align-self: start; background: var(--dp-soft); }
:root body .awish-item__img img { display: block; width: 100%; height: 100px; object-fit: contain; mix-blend-mode: multiply; border-radius: 0; }
:root body .awish-item__main { grid-area: main; min-width: 0; }
:root body .awish-item__name { display: inline; font: 400 23px/1.2 var(--dp-font-display); letter-spacing: -.02em; color: var(--dp-ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; text-decoration-color: transparent; transition: text-decoration-color var(--dp-duration) ease; }
:root body .awish-item__name:hover, :root body .awish-item__name:focus-visible { text-decoration-color: currentColor; }
:root body .awish-item__var, :root body .awish-item__added { margin-top: 6px; font-size: 12px; line-height: 1.6; color: var(--dp-muted); opacity: 1; }
:root body .awish-item__price { margin: 12px 0 6px; font-size: 15px; }
:root body .awish-item__price .sidrena-cijena, :root body .awish-item__price .wc-price-history { display: block; font-size: 11px; line-height: 1.7; color: var(--dp-muted); }
:root body .awish-item__price .woocommerce-price-suffix { font-size: 11px; color: var(--dp-muted); }
:root body .awish-item__stock { margin: 10px 0 4px; font-size: 12px; }
:root body .awish-item__change { font-size: 12px; color: var(--dp-muted); }
:root body .awish-item__actions { grid-area: actions; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; font-size: 12px; }
:root body .awish-item__actions .awish-button { flex: 1 1 160px; font-size: 12px; }
:root body .awish-item.is-gone { color: var(--dp-muted); }

:root body .awish-foot { display: flex; justify-content: flex-end; margin-top: 28px; }
:root body .awish-foot .awish-button { width: 100%; }
:root body .awish-note { font-size: 13px; line-height: 1.7; color: var(--dp-muted); }

/* Empty and error states. */
/* The page column is narrower than the shop's, as in the design. */
.dp-wishlist-page { max-width: 1300px !important; min-height: 55vh; padding-bottom: 64px; }
/* Empty list: heart, sentence, button, centred. */
:root body .awish-empty { max-width: 660px; margin: 0 auto; padding: 64px 0 0; text-align: center; font: 400 28px/1.2 var(--dp-font-display); letter-spacing: -.025em; color: var(--dp-ink); opacity: 1; }
:root body .awish-empty::before { content: ''; display: block; width: 30px; height: 30px; margin: 0 auto 24px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1.1-1.1a5.5 5.5 0 0 0-7.8 7.8L12 21l8.8-8.6a5.5 5.5 0 0 0 0-7.8Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1.1-1.1a5.5 5.5 0 0 0-7.8 7.8L12 21l8.8-8.6a5.5 5.5 0 0 0 0-7.8Z'/%3E%3C/svg%3E") center / contain no-repeat; }
:root body .awish-empty + .awish-button, :root body .awish-empty + p .awish-button { display: table; margin: 26px auto 80px; }
:root body .awish-empty + p { margin: 0; }

/* List picker and toast. */
:root body .awish-pop { border-radius: 0; }
:root body .awish-pop__list { min-height: 54px; border-bottom: 1px solid var(--dp-line); font-size: 14px; }
:root body .awish-pop input[type=checkbox] { accent-color: var(--dp-ink); }
:root body .awish-toast { border-radius: 0; font-size: 13px; }

@media (min-width: 768px) {
	:root body .awish-item { grid-template-columns: 100px minmax(0, 1fr) 210px; grid-template-areas: "img main actions"; gap: 28px; padding-block: 28px; }
	:root body .awish-item__img img { height: 130px; }
	:root body .awish-item__actions { flex-direction: column; align-items: stretch; gap: 12px; }
	:root body .awish-item__actions .awish-reorder { margin-left: 0; justify-content: flex-end; }
	:root body .awish-item__actions .awish-button { flex: 0 0 auto; }
	:root body .awish-item__actions .awish-link { align-self: flex-end; }
	:root body .awish-foot .awish-button { width: auto; }
}
@media (min-width: 1100px) {
	:root body .awish-head { flex-direction: row; justify-content: space-between; align-items: center; gap: 32px; }
	:root body .awish-tools { justify-content: flex-end; }
	:root body .awish-item { grid-template-columns: 110px minmax(0, 1fr) 240px; gap: 32px; padding-block: 32px; }
	:root body .awish-item__name { font-size: 27px; }
}

/* --- 50-product.css --- */
/* ==========================================================================
   Product page: gallery and purchase column, visible description, related
   products, and a purchase bar on phones that hides at the footer.
   ========================================================================== */

.dp-product-layout { display: grid !important; gap: 24px !important; margin-top: 16px; }
.dp-product-layout > .e-con { width: 100% !important; min-width: 0; }
@media (min-width: 768px) { .dp-product-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 36px !important; margin-top: 28px; } .dp-gallery { position: sticky !important; top: 100px; align-self: start; } }
@media (min-width: 1025px) { .dp-product-layout { grid-template-columns: 1.1fr 1fr; gap: 80px !important; max-width: 1140px; margin: 32px auto 0; } .dp-gallery { top: 116px; } .dp-purchase { padding-top: 12px; max-width: 440px; } }

/* WooCommerce gallery: main image in a pale box, thumbnails on the left. */
.dp-gallery .woocommerce-product-gallery { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 12px; margin: 0 !important; width: 100% !important; opacity: 1 !important; }
.dp-gallery .woocommerce-product-gallery:not(:has(.flex-control-thumbs)) { grid-template-columns: minmax(0, 1fr); }
.dp-gallery .flex-viewport, .dp-gallery .woocommerce-product-gallery__wrapper { grid-column: -2; grid-row: 1; background: var(--dp-soft); }
.dp-gallery .woocommerce-product-gallery__image { display: flex !important; align-items: center; justify-content: center; height: 204px; background: transparent !important; }
.dp-gallery .woocommerce-product-gallery__image a, .dp-gallery .woocommerce-product-gallery__wrapper, .dp-gallery .flex-viewport { background-color: var(--dp-soft); }
.dp-gallery .woocommerce-product-gallery__image a { display: flex; align-items: center; justify-content: center; height: 100%; width: 100%; }
.dp-gallery .woocommerce-product-gallery__image img { max-height: 182px !important; max-width: 75% !important; width: auto !important; height: auto !important; object-fit: contain; mix-blend-mode: multiply; margin: auto; }
.dp-gallery .flex-control-thumbs { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; gap: 8px; margin: 0 !important; padding: 0; list-style: none; }
.dp-gallery .flex-control-thumbs li { width: 44px !important; height: 52px; margin: 0 !important; padding: 4px; border: 1px solid var(--dp-line); background: var(--dp-soft); float: none !important; cursor: pointer; }
.dp-gallery .flex-control-thumbs img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; opacity: 1 !important; }
.dp-gallery .flex-control-thumbs li:has(.flex-active) { border-color: var(--dp-ink); }
.dp-gallery .woocommerce-product-gallery__trigger { display: none; }
@media (min-width: 480px) { .dp-gallery .woocommerce-product-gallery__image { height: 290px; } .dp-gallery .woocommerce-product-gallery__image img { max-height: 260px !important; } }
@media (min-width: 768px) { .dp-gallery .woocommerce-product-gallery__image { height: 380px; } .dp-gallery .woocommerce-product-gallery__image img { max-height: 310px !important; } }
@media (min-width: 1025px) { .dp-gallery .woocommerce-product-gallery { grid-template-columns: 56px minmax(0, 1fr); gap: 16px; } .dp-gallery .flex-control-thumbs li { width: 56px !important; height: 64px; } .dp-gallery .woocommerce-product-gallery__image { height: 440px; } .dp-gallery .woocommerce-product-gallery__image img { max-height: 340px !important; } }

.dp-product-brand { display: inline-flex; align-items: center; min-height: 44px; font: 500 12px/1.5 var(--dp-font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--dp-muted); }
.dp-product-brand:hover { color: var(--dp-ink); }
.dp-purchase .product_title, .dp-purchase h1 { font: 400 36px/1.18 var(--dp-font-display) !important; letter-spacing: -.04em; margin: 6px 0 0; }
@media (min-width: 768px) { .dp-purchase .product_title, .dp-purchase h1 { font-size: 42px !important; } }
@media (min-width: 1025px) { .dp-purchase .product_title, .dp-purchase h1 { font-size: 46px !important; } }
.dp-product-meta { margin-top: 8px; }
.dp-product-meta p { font-size: 13px; color: var(--dp-muted); }
.dp-product-meta .dp-perfumer { font-size: 12px; color: var(--dp-ink); margin-top: 6px; }
.dp-product-meta .dp-perfumer a { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--dp-underline); }
.dp-product-meta .dp-perfumer a:hover { text-decoration-color: currentColor; }

.dp-product-price { margin-top: 20px; }
.dp-product-price .price, .dp-product-price .price ins, .dp-product-price .price .amount { font-family: var(--dp-font-body) !important; color: var(--dp-ink) !important; }
/* One row: old price, price and "sa PDV-om", centred on each other; the
   reference and 30-day lines below take a full row each. */
.dp-product-price .price { display: flex; flex-wrap: wrap; align-items: center; column-gap: 12px; row-gap: 0; margin: 0; font-size: 24px; line-height: 36px; font-weight: 400; }
.dp-product-price .price del { display: inline-flex; align-items: center; opacity: 1; }
.dp-product-price .price del, .dp-product-price .price del .amount { color: var(--dp-muted) !important; font-size: 18px; line-height: 1; font-weight: 400; }
.dp-product-price .price ins { text-decoration: none; font-weight: 400; background: none; }
.dp-product-price .price > .woocommerce-Price-amount, .dp-product-price .price ins .woocommerce-Price-amount { font-size: 24px; font-weight: 400; }
.dp-product-price .woocommerce-price-suffix { margin: 0; font-size: 11px; line-height: 16px; color: var(--dp-muted); }
.dp-product-price .price > .sidrena-cijena, .dp-product-price .price > .wc-price-history { flex-basis: 100%; display: block; font-size: 13px; line-height: 19.5px; color: var(--dp-muted); }
.dp-product-price .price > .sidrena-cijena { margin-top: 2px; }
.dp-product-price .wc-price-history .wc-price-history, .dp-price-history .wc-price-history .wc-price-history { display: inline; }
.dp-product-price .sidrena-cijena .amount, .dp-product-price .wc-price-history .amount { font-size: 13px !important; color: var(--dp-muted) !important; }
.dp-product-size { font-size: 13px; margin-top: 20px; }

/* Add to cart: size buttons drawn by the script over WooCommerce's select. */
.dp-add-to-cart .variations { margin: 20px 0 0; border: 0; width: 100%; }
.dp-add-to-cart .variations th.label, .dp-add-to-cart .variations td.label { display: block; padding: 0 !important; text-align: left; }
.dp-add-to-cart .variations label { font: 500 12px var(--dp-font-body); }
.dp-add-to-cart .variations td.value { display: block; padding: 8px 0 0 !important; }
.dp-add-to-cart .variations tr { display: block; }
.dp-add-to-cart .dp-variant-select { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.dp-add-to-cart .reset_variations { display: none !important; }
.dp-variants { display: flex; gap: 8px; flex-wrap: wrap; }
.dp-variant { min-height: 44px; min-width: 65px; padding: 8px 14px; border: 1px solid var(--dp-line); background: var(--dp-bg); color: var(--dp-ink); font: 400 13px var(--dp-font-body); position: relative; cursor: pointer; border-radius: 0; }
.dp-variant:hover { border-color: var(--dp-strong-line); background: var(--dp-bg); color: var(--dp-ink); }
.dp-variant[aria-pressed=true] { border-color: var(--dp-ink); box-shadow: inset 0 0 0 1px var(--dp-ink); }
.dp-variant.is-unavailable { color: var(--dp-muted); background: linear-gradient(to top right, transparent calc(50% - .5px), var(--dp-line) 50%, transparent calc(50% + .5px)); }
.dp-add-to-cart .woocommerce-variation-price { display: none; }
.dp-add-to-cart .woocommerce-variation-availability, .dp-add-to-cart .stock, .dp-availability { font-size: 12px; margin: 12px 0 0; color: var(--dp-ink) !important; }
.dp-add-to-cart .stock::before { content: ''; display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: currentColor; margin-right: 6px; vertical-align: middle; }
.dp-add-to-cart form.cart, .dp-add-to-cart .woocommerce-variation-add-to-cart { display: flex !important; gap: 8px; margin-top: 14px; flex-wrap: nowrap; align-items: stretch; }
/* PRO Elements wraps quantity and button in one more box; it takes the row. */
.dp-add-to-cart .e-atc-qty-button-holder { display: flex !important; gap: 8px; flex: 1 1 auto; width: 100%; min-width: 0; align-items: stretch; margin: 0; }
.dp-add-to-cart .e-atc-qty-button-holder > * { margin: 0 !important; }
/* A size that cannot be bought shows the back-in-stock form instead of the button. */
.dp-add-to-cart .woocommerce-variation-add-to-cart-disabled { display: none !important; }
.dp-add-to-cart form.variations_form { display: block !important; }
.dp-add-to-cart .quantity:has(input[type=hidden]) { display: none !important; }
.dp-add-to-cart .quantity { display: flex !important; align-items: center; border: 1px solid var(--dp-line); flex-shrink: 0; margin: 0 !important; }
.dp-add-to-cart .quantity .qty { width: 44px !important; min-height: 46px; text-align: center; border: 0 !important; background: none !important; font-size: 14px; -moz-appearance: textfield; padding: 0 !important; }
.dp-add-to-cart .quantity .qty::-webkit-inner-spin-button { appearance: none; }
.dp-qty-btn { width: 44px; height: 46px; border: 0; background: none; color: var(--dp-ink); font-size: 18px; padding: 0; cursor: pointer; }
.dp-qty-btn:hover { background: var(--dp-soft); color: var(--dp-ink); }
.dp-add-to-cart .single_add_to_cart_button {
	flex: 1; min-height: 48px; padding: 12px !important; border: 1px solid var(--dp-ink) !important; border-radius: 0 !important; background: var(--dp-ink) !important; color: #fff !important;
	font: 500 14px var(--dp-font-body) !important; text-transform: none !important; letter-spacing: 0 !important; display: inline-flex; align-items: center; justify-content: center; gap: 12px; width: auto !important;
}
.dp-add-to-cart .single_add_to_cart_button:hover { background: #333 !important; }
.dp-add-to-cart .single_add_to_cart_button { display: inline-flex !important; }
.dp-add-to-cart .single_add_to_cart_button::after { display: block; flex-shrink: 0; content: ''; width: 16px; height: 16px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; }
@media (max-width: 1024px) { .dp-add-to-cart .single_add_to_cart_button::after { display: none; } }
/* At 320 px the quantity box (132 px) and the button do not fit one row at the button's natural width;
   the button shrinks and its label may wrap instead of pushing the page sideways. */
.dp-add-to-cart .single_add_to_cart_button { min-width: 0; flex: 1 1 auto; white-space: normal; }
@media (max-width: 359px) { .dp-qty-btn { width: 36px; } .dp-add-to-cart .quantity .qty { width: 36px !important; } .dp-add-to-cart .single_add_to_cart_button { padding-inline: 12px !important; font-size: 13px; } }

/* Back-in-stock form (Awesome Waitlist). */
.dp-add-to-cart .awl, .dp-purchase .awl { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--dp-line); }
.dp-purchase .awl-form-box { padding: 0 !important; border: 0 !important; background: none !important; }
.dp-purchase .awl-heading { font: 400 23px/1.3 var(--dp-font-display) !important; margin-bottom: 10px !important; color: var(--dp-ink) !important; }
.dp-purchase .awl-intro, .dp-purchase .awl-text { font-size: 13px; line-height: 1.65; color: var(--dp-muted); }
.dp-purchase .awl-form { display: grid; gap: 12px; margin-top: 12px; }
@media (min-width: 520px) { .dp-purchase .awl-form { grid-template-columns: minmax(0, 1fr) auto; align-items: end; } }
.dp-purchase .awl-field { position: relative; }
.dp-purchase .awl-icon { display: none; }
.dp-purchase .awl-field input[type=email] { width: 100%; min-width: 0; min-height: 48px; padding: 10px 0 !important; border: 0 !important; border-bottom: 1px solid var(--dp-strong-line) !important; background-color: transparent !important; border-radius: 0 !important; font-size: 16px !important; box-shadow: none !important; }
.dp-purchase .awl-submit { min-height: 48px; padding: 12px 22px !important; border-radius: 0 !important; background: var(--dp-ink) !important; color: #fff !important; border: 1px solid var(--dp-ink) !important; font: 500 14px var(--dp-font-body) !important; text-transform: none !important; }

:root .dp-product-wish .awish-btn, :root .dp-product-wish .awish-btn--text { display: flex; align-items: center; gap: 10px; min-height: 44px; font: 400 13px var(--dp-font-body); padding: 8px 0; margin-top: 12px; background: none !important; border: 0 !important; color: var(--dp-ink); box-shadow: none !important; }
:root .dp-product-wish .awish-btn svg { width: 18px; height: 18px; }
:root .dp-product-wish .awish-btn, :root .dp-product-wish .awish-btn * { text-decoration: none !important; }

.dp-shipping { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--dp-line); display: flex; gap: 12px; align-items: flex-start; font-size: 12px; color: var(--dp-muted); line-height: 1.6; }
.dp-shipping svg { width: 18px; height: 18px; margin-top: 2px; stroke: currentColor; fill: none; stroke-width: 1.4; flex-shrink: 0; }

.dp-product-details { margin-top: 36px; border-top: 1px solid var(--dp-line); padding-top: 28px; }
@media (min-width: 768px) { .dp-product-details { margin-top: 48px; } }
@media (min-width: 1025px) { .dp-product-details { max-width: 1140px; margin-inline: auto; } }
.dp-product-details h2 { font-size: 28px; margin-bottom: 20px; }
.dp-product-details .dp-product-description, .dp-product-description { max-width: 850px !important; font-size: 16px; line-height: 1.85; color: var(--dp-muted); }
.dp-product-description p { margin: 0 0 18px; }
.dp-product-description h2, .dp-product-description h3 { font-size: 23px; margin: 24px 0 12px; color: var(--dp-ink); }
.dp-product-description ul { padding-left: 20px; }

.dp-related { margin-top: 56px; }
body .dp-related .dp-section-heading h2 { font-size: 32px; line-height: 1.25; letter-spacing: -.025em; }
@media (min-width: 1025px) { .dp-related { margin-top: 72px; } }

.dp-sticky-buy { position: fixed; bottom: 0; left: 0; right: 0; z-index: 25; background: var(--dp-bg); border-top: 1px solid var(--dp-line); padding: 10px var(--dp-gutter); display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.dp-sticky-buy[hidden] { display: none; }
.dp-sticky-buy__info { min-width: 0; flex: 1; font-size: 12px; }
.dp-sticky-buy__price { font-weight: 500; font-size: 14px; }
.dp-sticky-buy__info .sidrena-cijena, .dp-sticky-buy__info .wc-price-history { font-size: 12px; margin-top: 3px; line-height: 1.4; }
.dp-sticky-buy .dp-btn { min-height: 44px; padding: 10px 12px; font-size: 12px; flex-shrink: 0; }
@media (min-width: 768px) { .dp-sticky-buy { display: none !important; } }
body .dp-product-price .sidrena-cijena, body .dp-product-price .sidrena-cijena * { font-size: 13px !important; }

/* --- 60-pages.css --- */
/* ==========================================================================
   Content pages: homepage, directories, brand and perfumer archives,
   articles, About, Contact, Distribution, help and policies, 404.
   ========================================================================== */

/* Homepage brand slides. Without the script only the first slide shows. */
.dp-hero { padding-top: 32px; }
.dp-hero__slide { display: grid !important; gap: 28px !important; }
.dp-hero__slide:not(:first-child) { display: none !important; }
.dp-hero.is-ready .dp-hero__slide { display: none !important; }
.dp-hero.is-ready .dp-hero__slide.is-active { display: grid !important; }
.dp-hero__copy { display: flex !important; flex-direction: column !important; align-items: flex-start; justify-content: center; }
.dp-hero__logo img { width: 240px !important; height: 110px !important; max-width: 100%; object-fit: contain; object-position: left center; }
.dp-hero__caption p, .dp-hero__caption { max-width: 470px; margin-top: 16px; color: var(--dp-muted); font-size: 16px; line-height: 1.8; }
.dp-hero__cta { margin-top: 24px; }
/* Elementor makes linked images inline-block, which shrinks a 100% wide image to its height-derived width. */
.dp-hero__photo a, .dp-distribution-image a, .dp-article-card a:has(img), .dp-article-hero a { display: block; }
.dp-hero__photo img { width: 100% !important; height: 228px !important; object-fit: cover; display: block; }
.dp-hero__tabs { display: flex; align-items: stretch; gap: 8px; border-bottom: 1px solid var(--dp-line); margin-top: 18px; }
.dp-hero__tabs button { flex: 1; min-height: 48px; padding: 8px 0; font: 400 12px var(--dp-font-body); text-align: left; border: 0; border-bottom: 2px solid transparent; background: none; color: var(--dp-ink); cursor: pointer; border-radius: 0; transition: border-color var(--dp-duration) ease; }
.dp-hero__tabs button:hover { border-bottom-color: var(--dp-strong-line); background: none; color: var(--dp-ink); }
.dp-hero__tabs button[aria-selected=true] { border-bottom-color: var(--dp-ink); }
@media (min-width: 768px) {
	.dp-hero { padding-top: 40px; }
	.dp-hero__slide { grid-template-columns: 1fr 1fr; align-items: center; gap: 36px !important; }
	.dp-hero__logo img { width: 280px !important; height: 132px !important; }
	.dp-hero__photo img { height: 350px !important; }
	.dp-hero__tabs { gap: 24px; }
	.dp-hero__tabs button { flex: 0 1 170px; }
}
@media (min-width: 1025px) {
	.dp-hero__slide { grid-template-columns: 1fr 1.05fr; gap: 80px !important; }
	.dp-hero__logo img { width: 340px !important; height: 150px !important; }
	.dp-hero__photo img { height: 370px !important; }
	.dp-hero__tabs { margin-top: 22px; }
}

.dp-brand-logos { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--dp-line); gap: 0 !important; }
.dp-brand-logos > .elementor-widget { width: auto !important; border-bottom: 1px solid var(--dp-line); }
.dp-brand-logos a { display: flex; align-items: center; min-height: 104px; padding: 20px 12px 20px 0; }
.dp-brand-logos img { width: 156px !important; max-width: calc(100% - 20px) !important; height: 66px !important; object-fit: contain; object-position: left center; transition: opacity var(--dp-duration) ease; }
.dp-brand-logos a:hover img, .dp-brand-logos a:focus-visible img { opacity: .7; }
@media (min-width: 1025px) { .dp-brand-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 32px !important; } .dp-brand-logos a { padding-block: 24px; } }

.dp-featured-perfumers { display: grid; gap: 20px; }
.dp-perfumer-card { display: grid; grid-template-columns: 98px minmax(0, 1fr); gap: 8px 20px; align-content: center; align-items: center; border-bottom: 1px solid var(--dp-line); padding-bottom: 20px; }
.dp-perfumer-card img, .dp-perfumer-card .dp-monogram { width: 98px; height: 126px; object-fit: cover; object-position: 50% 25%; }
.dp-perfumer-card h2, .dp-perfumer-card h3 { font: 400 22px/1.2 var(--dp-font-display); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; text-decoration-color: transparent; transition: text-decoration-color var(--dp-duration) ease; }
.dp-perfumer-card:hover h2, .dp-perfumer-card:hover h3, .dp-perfumer-card:focus-visible h2, .dp-perfumer-card:focus-visible h3 { text-decoration-color: currentColor; }
.dp-monogram { display: flex; align-items: center; justify-content: center; background: var(--dp-soft); color: var(--dp-muted); font: 400 40px var(--dp-font-display); }
@media (min-width: 768px) {
	.dp-featured-perfumers { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
	.dp-perfumer-card { display: block; }
	.dp-perfumer-card img, .dp-perfumer-card .dp-monogram { width: 100%; height: 230px; margin-bottom: 20px; }
	.dp-perfumer-card h2, .dp-perfumer-card h3 { font-size: 23px; }
}
@media (min-width: 1025px) { .dp-perfumer-card img, .dp-perfumer-card .dp-monogram { height: 300px; } .dp-perfumer-card h2, .dp-perfumer-card h3 { font-size: 28px; } }

/* Article cards (blog loop item). */
.dp-article-card { display: block; }
.dp-article-card img { width: 100%; height: 210px; object-fit: cover; display: block; }
.dp-article-card h3, .dp-article-card h2 { font: 400 23px/1.4 var(--dp-font-display); letter-spacing: -.02em; margin: 20px 0 8px; max-width: 35ch; }
.dp-article-card .dp-quiet-link { font-size: 12px; }
@media (min-width: 768px) { .dp-article-card img { height: 170px; } .dp-article-card h3, .dp-article-card h2 { font-size: 20px; } }
@media (min-width: 1025px) { .dp-article-card img { height: 220px; } .dp-article-card h3, .dp-article-card h2 { font-size: 24px; } }
.dp-article-grid .elementor-loop-container { display: grid !important; grid-template-columns: 1fr !important; gap: 36px !important; }
@media (min-width: 768px) { .dp-article-grid .elementor-loop-container { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 28px !important; } }
@media (min-width: 1025px) { .dp-article-grid .elementor-loop-container { gap: 32px !important; } }

/* Brand and perfumer directories. */
.dp-dir-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; flex-wrap: wrap; }
.dp-dir-search { display: flex; align-items: center; gap: 12px; width: min(100%, 370px); border-bottom: 1px solid var(--dp-ink); position: relative; }
.dp-dir-search::after { content: ''; position: absolute; inset: auto 0 -1px; height: 2px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform 220ms ease; pointer-events: none; }
.dp-dir-search:focus-within::after { transform: scaleX(1); }
.dp-dir-search svg { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 1.4; flex-shrink: 0; }
.dp-dir-search input { border: 0 !important; min-height: 48px; background: none !important; width: 100%; min-width: 0; font-size: 16px; padding: 0 !important; outline-offset: 2px; box-shadow: none !important; }
.dp-brand-directory, .dp-perfumer-directory { display: grid; border-top: 1px solid var(--dp-line); }
.dp-dir-entry { display: flex; align-items: center; gap: 14px; padding: 22px 0; min-height: 88px; border-bottom: 1px solid var(--dp-line); }
.dp-dir-entry h2 { font: 400 21px/1.35 var(--dp-font-display); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; text-decoration-color: transparent; transition: text-decoration-color var(--dp-duration) ease; }
.dp-dir-entry:hover h2, .dp-dir-entry:focus-visible h2 { text-decoration-color: currentColor; }
.dp-brand-directory .dp-dir-entry { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 6px 20px; align-content: center; min-height: 128px; padding: 20px 0; }
.dp-brand-directory .dp-brand-logo { width: 112px; height: 76px; object-fit: contain; object-position: left center; display: block; }
.dp-brand-directory .dp-dir-entry h2 { font-size: 19px; }
.dp-dir-empty { padding: 32px 0; }
.dp-perfumer-directory { margin-top: 40px; }
@media (min-width: 768px) {
	.dp-brand-directory, .dp-perfumer-directory { grid-template-columns: 1fr 1fr; column-gap: 36px; }
	.dp-brand-directory .dp-dir-entry { grid-template-columns: 108px minmax(0, 1fr); gap: 6px 16px; }
	.dp-brand-directory .dp-brand-logo { width: 108px; }
	.dp-dir-entry h2 { font-size: 23px; }
}
@media (min-width: 1025px) {
	.dp-brand-directory { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 40px; }
	.dp-brand-directory .dp-dir-entry { grid-template-columns: 120px minmax(0, 1fr); gap: 6px 18px; min-height: 140px; }
	.dp-brand-directory .dp-brand-logo { width: 120px; height: 84px; }
	.dp-perfumer-directory { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.dp-perfumer-directory .dp-dir-entry h2 { font-size: 20px; }
}

/* Brand archive. */
.dp-brand-hero { display: grid !important; gap: 28px !important; margin-top: 24px; }
.dp-brand-hero > .e-con { width: 100% !important; }
.dp-brand-hero__logo img, img.dp-brand-hero__logo { width: 220px !important; height: 100px !important; max-width: 100%; object-fit: contain; object-position: left center; display: block; }
.dp-brand-hero .dp-term-title { font: 400 30px/1.12 var(--dp-font-display); margin-top: 12px; letter-spacing: -.03em; }
.dp-term-description { font-size: 16px; line-height: 1.8; color: var(--dp-muted); max-width: 600px; margin-top: 20px; }
.dp-term-description p + p { margin-top: 16px; }
.dp-brand-hero__image img, img.dp-brand-hero__image { width: 100% !important; height: 230px !important; object-fit: cover; display: block; }
.dp-brand-products { margin-top: 32px; }
@media (min-width: 768px) {
	.dp-brand-hero { grid-template-columns: 1fr 1fr; align-items: center; gap: 40px !important; }
	.dp-brand-hero__logo img, img.dp-brand-hero__logo { width: 260px !important; height: 124px !important; }
	.dp-brand-hero .dp-term-title { font-size: 36px; }
	.dp-brand-hero__image img, img.dp-brand-hero__image { height: 310px !important; }
}
@media (min-width: 1025px) {
	.dp-brand-hero { grid-template-columns: 1fr 1.05fr; gap: 72px !important; margin-top: 36px; }
	.dp-brand-hero__logo img, img.dp-brand-hero__logo { width: 300px !important; height: 136px !important; }
	.dp-brand-hero .dp-term-title { font-size: 38px; }
	.dp-term-description { font-size: 15px; }
	.dp-brand-hero__image img, img.dp-brand-hero__image { height: 320px !important; }
	.dp-brand-products { margin-top: 48px; }
}

/* Perfumer archive. */
.dp-author-hero { display: grid !important; gap: 28px !important; margin-top: 24px; }
.dp-author-hero > .e-con { width: 100% !important; }
.dp-author-hero__image img { width: 100% !important; height: 310px !important; object-fit: cover; object-position: 50% 24%; display: block; }
.dp-author-hero .dp-monogram { width: 100%; height: 310px; font-size: 100px; display: flex; align-items: center; justify-content: center; }
.dp-author-hero .dp-term-title { font: 400 36px/1.12 var(--dp-font-display); margin-top: 12px; letter-spacing: -.03em; }
.dp-author-houses { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 20px; }
.dp-author-houses a { min-height: 44px; display: flex; align-items: center; font-size: 13px; }
@media (min-width: 768px) { .dp-author-hero { grid-template-columns: 1fr 1.2fr; gap: 48px !important; align-items: center; } .dp-author-hero__image img, .dp-author-hero .dp-monogram { height: 410px !important; } .dp-author-hero .dp-term-title { font-size: 44px; } }
@media (min-width: 1025px) { .dp-author-hero { grid-template-columns: .8fr 1.2fr; gap: 80px !important; max-width: 1100px; margin: 36px auto 0; } .dp-author-hero__image img, .dp-author-hero .dp-monogram { height: 460px !important; } .dp-author-hero .dp-term-title { font-size: 48px; } }

/* Articles. */
.dp-article-header { max-width: 900px; padding-block: 28px; }
.dp-article-header h1, .dp-article-header .elementor-heading-title { font: 400 34px/1.3 var(--dp-font-display) !important; letter-spacing: -.03em; }
.dp-article-hero img { height: 250px !important; width: 100% !important; object-fit: cover; display: block; }
.dp-article-layout { display: grid !important; grid-template-columns: minmax(0, 1fr); gap: 32px !important; max-width: 1180px; margin: 32px auto 0; }
.dp-article-layout > .e-con, .dp-article-layout > .elementor-widget { width: 100% !important; min-width: 0; }
.dp-article-toc { display: block; padding: 20px 0; border-block: 1px solid var(--dp-line); }
.dp-article-toc { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 20px; }
.dp-article-toc .dp-eyebrow { grid-column: 1 / -1; font-size: 10px; margin-bottom: 12px; }
.dp-article-toc a { display: block; font-size: 13px; line-height: 1.5; min-height: 44px; padding: 6px 0; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: transparent; transition: text-decoration-color var(--dp-duration) ease; }
.dp-article-toc a:hover, .dp-article-toc a:focus-visible { text-decoration-color: currentColor; }
.dp-article-toc a span { display: block; font-size: 10px; color: var(--dp-muted); margin-bottom: 2px; }
.dp-article-body { min-width: 0; max-width: 720px; }
.dp-article-body p { font-size: 17px; line-height: 1.9; margin-bottom: 24px; }
.dp-article-body h2 { font-size: 27px; margin: 36px 0 18px; line-height: 1.4; scroll-margin-top: 110px; }
.dp-article-fragrance { border-top: 1px solid var(--dp-line); margin-top: 36px; scroll-margin-top: 110px; }
.dp-article-fragrance:focus { outline: none; }
.dp-article-fragrance h2 { margin-top: 24px; }
.dp-article-fragrance__row { display: grid !important; grid-template-columns: minmax(0, 1fr); gap: 0 !important; }
.dp-article-fragrance__row > .elementor-widget { width: auto !important; min-width: 0; }
.dp-article-image img { max-width: 100%; height: auto; display: block; margin: 0 0 12px; }
.dp-article-caption p { font-size: 13px; color: var(--dp-muted); margin-bottom: 24px; }
.dp-article-product { display: flex; flex-direction: column; align-items: center; background: var(--dp-soft); padding: 18px; margin: 0 0 24px; align-self: start; }
.dp-article-product img { width: 100%; height: 200px !important; object-fit: contain; mix-blend-mode: multiply; }
.dp-article-product span { font: 12px/1.6 var(--dp-font-body); padding-top: 10px; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--dp-underline); }
.dp-article-product:hover span { text-decoration-color: currentColor; }
@media (min-width: 768px) {
	.dp-article-header h1, .dp-article-header .elementor-heading-title { font-size: 46px !important; }
	.dp-article-hero img { height: 340px !important; }
	.dp-article-toc { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.dp-article-fragrance__row { grid-template-columns: 220px minmax(0, 1fr); gap: 0 36px !important; }
	.dp-article-product img { height: 235px !important; }
	.dp-article-body p { font-size: 16px; line-height: 1.85; }
}
@media (min-width: 1025px) {
	.dp-article-header { padding-block: 36px 40px; margin-inline: auto; text-align: center; }
	.dp-article-header h1, .dp-article-header .elementor-heading-title { font-size: 48px !important; }
	.dp-article-hero img { height: 420px !important; max-width: 1100px; margin: auto; }
	.dp-article-layout { grid-template-columns: 180px minmax(0, 1fr); gap: 48px !important; margin-top: 48px; }
	.dp-article-toc { position: sticky; top: 116px; max-height: calc(100dvh - 140px); overflow: auto; border-bottom: 0; padding: 18px 12px 0 0; display: flex; flex-direction: column; gap: 8px; align-self: start; }
	.dp-article-toc a { width: fit-content; }
	.dp-article-toc-wrap { position: sticky !important; top: 116px; align-self: start; }
	.dp-article-body { max-width: none; }
}

/* About, Contact and the shared location block. */
.dp-about-hero { display: grid !important; gap: 28px !important; margin-top: 28px; align-items: start; }
.dp-about-hero > .e-con { width: 100% !important; }
.dp-about-hero h1, .dp-about-hero .elementor-heading-title { font: 400 36px/1.25 var(--dp-font-display) !important; }
.dp-about-hero .dp-rich p { font-size: 15px; line-height: 1.85; margin-top: 18px; color: var(--dp-muted); max-width: 640px; }
.dp-about-hero img { width: 100%; height: auto; aspect-ratio: 1000 / 563; object-fit: contain; display: block; }
@media (min-width: 768px) { .dp-about-hero > .e-con:first-child { max-width: 700px; } .dp-about-hero img { max-height: 460px; object-fit: cover; } }
@media (min-width: 1025px) { .dp-about-hero { grid-template-columns: .9fr 1.1fr; gap: 52px !important; align-items: center; } .dp-about-hero h1, .dp-about-hero .elementor-heading-title { font-size: 44px !important; } .dp-about-hero img { max-height: none; object-fit: contain; } }

.dp-location { margin-top: 56px; padding-top: 32px; border-top: 1px solid var(--dp-line); display: grid !important; gap: 28px !important; }
.dp-location > .e-con { width: 100% !important; min-width: 0; }
.dp-location h2 { font-size: 25px; margin-bottom: 16px; }
.dp-location h3 { font: 500 14px var(--dp-font-body); margin-bottom: 10px; }
.dp-location p { font-size: 14px; line-height: 1.8; }
.dp-location a { display: flex; align-items: center; min-height: 44px; font-size: 14px; overflow-wrap: anywhere; width: fit-content; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--dp-underline); }
.dp-location a:hover { text-decoration-color: currentColor; }
.dp-location__contact a { text-decoration-color: transparent; transition: text-decoration-color var(--dp-duration) ease; }
.dp-location__contact a:hover, .dp-location__contact a:focus-visible { text-decoration-color: currentColor; }
.dp-location .dp-hours { color: var(--dp-ink); font-size: 13px; }
.dp-location .dp-hours > div { border-color: var(--dp-line); padding: 12px 0; }
.dp-location .dp-hours dd { color: var(--dp-ink); }
.dp-map { min-height: 320px; border: 1px solid var(--dp-line); background: var(--dp-soft); }
.dp-map iframe { display: block; border: 0; width: 100%; height: 100%; min-height: 320px; }
.dp-contact-page .dp-location { margin-top: 0; }
@media (min-width: 768px) { .dp-location { grid-template-columns: 1fr 1fr; gap: 36px !important; margin-top: 64px; padding-top: 36px; } .dp-map, .dp-map iframe { min-height: 460px; } }
@media (min-width: 1025px) { .dp-location { grid-template-columns: 1fr 1.05fr; gap: 64px !important; } .dp-location__info { display: grid !important; grid-template-columns: 1fr 1fr; gap: 24px 32px !important; } .dp-location__info > :first-child { grid-column: 1 / -1; } .dp-map, .dp-map iframe { min-height: 340px; } }

/* Distribution. */
.dp-distribution-intro { display: grid !important; gap: 24px !important; padding-top: 24px; }
.dp-distribution-intro h1, .dp-distribution-intro .elementor-heading-title { font: 400 38px/1.25 var(--dp-font-display) !important; }
.dp-distribution-intro .dp-rich p { line-height: 1.85; margin-bottom: 20px; color: var(--dp-muted); max-width: 580px; }
.dp-distribution-brands { display: grid !important; gap: 36px !important; }
.dp-distribution-brands > .e-con { border-top: 1px solid var(--dp-line); padding-top: 20px !important; width: 100% !important; }
.dp-distribution-brands .dp-brand-logo-img img { width: 110px !important; height: 54px !important; object-fit: contain; object-position: left center; margin-bottom: 20px; }
.dp-distribution-brands .dp-distribution-image img { width: 100% !important; height: 220px !important; object-fit: cover; margin-bottom: 24px; }
.dp-distribution-brands .elementor-widget-image { text-align: left; }
.dp-distribution-brands h2 { font-size: 28px; }
.dp-distribution-brands .dp-rich p { line-height: 1.8; color: var(--dp-muted); margin-top: 12px; }
@media (min-width: 768px) { .dp-distribution-intro { grid-template-columns: 1fr 1fr; gap: 24px 48px !important; } .dp-distribution-intro > .elementor-widget:first-child { grid-column: 1 / -1; } .dp-distribution-intro h1, .dp-distribution-intro .elementor-heading-title { font-size: 46px !important; } .dp-distribution-brands { grid-template-columns: 1fr 1fr; gap: 40px !important; } .dp-distribution-brands .dp-distribution-image img { height: 280px !important; } }
@media (min-width: 1025px) { .dp-distribution-intro { gap: 32px 80px !important; padding-top: 36px; } .dp-distribution-intro h1, .dp-distribution-intro .elementor-heading-title { font-size: 54px !important; } .dp-distribution-brands .dp-distribution-image img { height: 320px !important; } }

/* Help and policies. */
.dp-help-layout { display: grid !important; gap: 28px !important; margin-top: 24px; }
.dp-help-layout > .e-con { width: 100% !important; min-width: 0; }
.dp-help-nav .dp-menu__list { display: flex; flex-wrap: wrap; gap: 8px 20px; border-block: 1px solid var(--dp-line); padding: 12px 0; }
.dp-help-nav a { font-size: 12px; min-height: 44px; display: flex; align-items: center; width: fit-content; padding-inline: 3px; margin-left: -3px; line-height: 1.6; text-decoration: underline; text-underline-offset: 5px; text-decoration-color: transparent; transition: text-decoration-color var(--dp-duration) ease; }
.dp-help-nav a:hover, .dp-help-nav .current-menu-item > a, .dp-help-nav a[aria-current=page] { text-decoration-color: currentColor; }
.dp-policy { font-size: 16px; line-height: 1.8; overflow-wrap: anywhere; min-width: 0; max-width: 760px; }
.dp-policy h1 { margin-bottom: 24px; }
.dp-policy-note { font-size: 14px; color: var(--dp-muted); padding-bottom: 16px; margin-bottom: 28px !important; border-bottom: 1px solid var(--dp-line); }
.dp-policy h2 { font-size: 27px; line-height: 1.3; margin: 36px 0 16px; }
.dp-policy h2:first-child { margin-top: 0; }
.dp-policy h3, .dp-policy h4 { font: 500 17px/1.5 var(--dp-font-body); margin: 28px 0 12px; }
.dp-policy p, .dp-policy ul, .dp-policy ol, .dp-policy table { margin: 0 0 20px; }
.dp-policy ul, .dp-policy ol { padding-left: 22px; }
.dp-policy li { padding-left: 3px; margin-block: 8px; }
.dp-policy table { border-collapse: collapse; width: 100%; font-size: 14px; }
.dp-policy td, .dp-policy th { border: 1px solid var(--dp-line); padding: 8px; text-align: left; vertical-align: top; }
@media (min-width: 768px) { .dp-help-layout { grid-template-columns: 180px minmax(0, 1fr); gap: 48px !important; } .dp-help-nav { position: sticky !important; top: 116px; align-self: start; } .dp-help-nav .dp-menu__list { flex-direction: column; border-bottom: 0; } }
@media (min-width: 1025px) { .dp-help-layout { grid-template-columns: 210px minmax(0, 1fr); gap: 80px !important; } }

/* Not found. */
/* 404: one narrow centred column, as the design's confirmation layout. */
.dp-page.dp-notfound, .dp-notfound { max-width: 720px !important; margin-inline: auto; padding-top: 64px !important; padding-bottom: 32px !important; }
.dp-notfound .dp-eyebrow { color: var(--dp-ink); }
body .dp-notfound h1 { margin-top: 20px; line-height: 1.3; }
.dp-notfound p:not(.dp-eyebrow) { color: var(--dp-muted); line-height: 1.8; margin: 24px 0 0; }

/* --- 70-commerce.css --- */
/* Basket and checkout. The Elementor cart and checkout widgets keep their
   two-column layout; their style settings were removed, so these rules carry
   the design. Elementor sets its section boxes through custom properties. */

.dp-cart-widget, .dp-checkout-widget {
	--product-link-normal-color: var(--dp-ink); --product-link-hover-color: var(--dp-ink); --links-normal-color: var(--dp-ink); --links-hover-color: var(--dp-ink);
	--sections-background-color: transparent; --sections-border-type: none; --sections-border-width: 0; --sections-border-radius: 0; --sections-padding: 0; --sections-margin: 0 0 36px;
	--forms-fields-border-radius: 0; --forms-fields-padding: 10px 12px; --forms-buttons-border-radius: 0; --purchase-button-border-radius: 0; --checkout-button-border-radius: 0;
	font-size: 14px; color: var(--dp-ink);
}
.dp-commerce .e-cart__container, .dp-commerce .e-checkout__container { gap: 32px; }

/* Elementor's base widget CSS sets Roboto, grey fields and a light blue
   button at high specificity; the removed style settings used to cover them. */
.elementor-widget-woocommerce-checkout-page.dp-checkout-widget, .elementor-widget-woocommerce-cart.dp-cart-widget,
.dp-checkout-widget .select2-container, .dp-checkout-widget table, .dp-checkout-widget label, .dp-checkout-widget .payment_box, .dp-cart-widget table {
	font-family: var(--dp-font-body) !important; color: var(--dp-ink); line-height: 1.6;
}
.dp-commerce .woocommerce #customer_details .form-row .input-text, .dp-commerce .woocommerce #customer_details .form-row select, .dp-commerce .woocommerce #customer_details .form-row textarea,
.dp-commerce .select2-container--default .select2-selection--single, .dp-commerce .woocommerce .coupon .input-text, .dp-commerce .e-coupon-box .input-text {
	background-color: var(--dp-bg) !important; border: 1px solid var(--dp-strong-line) !important; border-radius: 0 !important; color: var(--dp-ink) !important; min-height: 48px; font-size: 16px !important;
}
.dp-commerce .woocommerce-checkout #payment #place_order, .dp-commerce .woocommerce .checkout-button, .dp-commerce .woocommerce button.button:not([name=apply_coupon]):not([name=update_cart]):not(.e-apply-coupon) {
	background-color: var(--dp-ink) !important; border: 1px solid var(--dp-ink) !important; border-radius: 0 !important; color: #fff !important; font: 500 13px/1.4 var(--dp-font-body) !important; text-transform: none !important; min-height: 48px; padding: 12px 22px !important;
}
.dp-commerce .woocommerce-checkout #payment #place_order:hover, .dp-commerce .woocommerce .checkout-button:hover { background-color: #333 !important; border-color: #333 !important; }
.dp-commerce .woocommerce button.e-apply-coupon, .dp-commerce .woocommerce button[name=apply_coupon], .dp-commerce .woocommerce button[name=update_cart] {
	background-color: transparent !important; border: 1px solid var(--dp-strong-line) !important; border-radius: 0 !important; color: var(--dp-ink) !important; font: 400 13px var(--dp-font-body) !important; text-transform: none !important;
}
/* body + class beats the child theme's body.page-id-13 rules, which are !important too. */
body .dp-checkout-widget #ship-to-different-address, body .dp-checkout-widget #ship-to-different-address span, body .dp-checkout-widget #ship-to-different-address label { text-transform: none !important; letter-spacing: 0 !important; font: 400 12px/1.5 var(--dp-font-body) !important; padding-left: 0 !important; margin-top: 8px !important; }
.dp-checkout-widget #payment .payment_methods .payment_box { background-color: var(--dp-soft) !important; }
.dp-commerce table th, .dp-commerce table td { font-family: var(--dp-font-body) !important; }

/* Shared form controls. */
.dp-commerce .form-row { margin: 0 0 18px; padding: 0; }
.dp-commerce .form-row label { display: block; margin-bottom: 7px; font: 400 12px/1.5 var(--dp-font-body); color: var(--dp-ink); text-transform: none; letter-spacing: 0; }
.dp-commerce .form-row label .required { color: var(--dp-ink); text-decoration: none; }
.dp-commerce .form-row label .optional { color: var(--dp-muted); }
.dp-commerce input.input-text, .dp-commerce textarea, .dp-commerce select, .dp-commerce .select2-container .select2-selection--single {
	width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid var(--dp-strong-line); border-radius: 0; background: var(--dp-bg); color: var(--dp-ink); font: 400 16px/1.5 var(--dp-font-body); box-shadow: none;
}
.dp-commerce textarea { min-height: 96px; resize: vertical; }
.dp-commerce .select2-container .select2-selection--single { display: flex; align-items: center; height: 48px; }
.dp-commerce .select2-container .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 1.5; color: var(--dp-ink); }
.dp-commerce .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; right: 8px; }
.dp-commerce input.input-text:focus, .dp-commerce textarea:focus, .dp-commerce select:focus { outline: 2px solid var(--dp-ink); outline-offset: 0; border-color: var(--dp-ink); }
body .dp-commerce .form-row-first, body .dp-commerce .form-row-last { width: calc(50% - 8px) !important; }
.dp-commerce .form-row-first { float: left; margin-right: 16px; }
.dp-commerce .form-row-last { float: left; }
.dp-commerce .form-row-wide { clear: both; width: 100%; }
.dp-commerce .woocommerce-billing-fields__field-wrapper::after, .dp-commerce .woocommerce-shipping-fields__field-wrapper::after { content: ""; display: table; clear: both; }
.dp-commerce input[type=checkbox], .dp-commerce input[type=radio] { width: 18px; height: 18px; accent-color: var(--dp-ink); flex-shrink: 0; margin: 0; }
.dp-commerce .woocommerce-form__label-for-checkbox, .dp-commerce label.checkbox { display: flex !important; align-items: center; gap: 10px; min-height: 44px; font-size: 12px; cursor: pointer; }

/* Buttons. */
.dp-commerce .button, .dp-commerce button.button, .dp-commerce .checkout-button, .dp-commerce #place_order {
	min-height: 48px; padding: 12px 22px; border: 1px solid var(--dp-ink); border-radius: 0; background: var(--dp-ink); color: #fff; font: 500 13px/1.4 var(--dp-font-body); text-transform: none; letter-spacing: 0; box-shadow: none;
}
.dp-commerce .button:hover, .dp-commerce .checkout-button:hover, .dp-commerce #place_order:hover { background: #333; border-color: #333; color: #fff; }
.dp-commerce #place_order { width: 100%; margin-top: 16px; }
.dp-commerce #place_order:disabled, .dp-commerce #place_order.disabled { background: #8a8a8a; border-color: #8a8a8a; }
.dp-commerce .wc-proceed-to-checkout .checkout-button { display: flex; align-items: center; justify-content: center; width: 100%; margin: 24px 0 0; }
.dp-commerce .e-apply-coupon, .dp-commerce button[name=apply_coupon], .dp-commerce button[name=update_cart] { background: transparent; color: var(--dp-ink); border-color: var(--dp-strong-line); font-weight: 400; }
.dp-commerce .e-apply-coupon:hover, .dp-commerce button[name=apply_coupon]:hover { background: var(--dp-soft); color: var(--dp-ink); border-color: var(--dp-ink); }

/* Basket table. */
.dp-commerce table.shop_table { width: 100%; border: 0; border-collapse: collapse; border-radius: 0; margin: 0; }
.dp-commerce table.shop_table th, .dp-commerce table.shop_table td { border: 0; border-top: 1px solid var(--dp-line); padding: 20px 8px; background: none; vertical-align: middle; text-align: left; }
.dp-commerce table.shop_table thead th { font-family: var(--dp-font-body) !important; font-size: 10px !important; letter-spacing: .12em !important; font-weight: 500 !important; color: var(--dp-muted) !important; border-top: 0; padding-block: 0 12px; font: 500 10px/1.5 var(--dp-font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--dp-muted); }
.dp-cart-widget .product-thumbnail img { width: 90px !important; height: 120px; object-fit: contain; background: var(--dp-soft); mix-blend-mode: multiply; }
.dp-cart-widget .product-name a { font: 400 21px/1.25 var(--dp-font-display); color: var(--dp-ink); text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.dp-cart-widget .product-name a:hover { text-decoration-color: currentColor; }
.dp-cart-widget .product-name .variation, .dp-cart-widget .product-name dl { font-size: 12px; color: var(--dp-muted); margin-top: 6px; }
.dp-cart-widget .product-remove a.remove { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 0; background: none !important; color: var(--dp-muted) !important; font-size: 20px; }
.dp-cart-widget .product-remove a.remove:hover { color: var(--dp-ink) !important; }
.dp-cart-widget .quantity .qty { width: 72px; min-height: 44px; padding: 8px; border: 1px solid var(--dp-strong-line); border-radius: 0; text-align: center; }
.dp-cart-widget td.actions { padding-top: 24px; }
.dp-cart-widget .coupon { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; }
.dp-cart-widget .coupon .input-text { flex: 1 1 200px; width: auto; }

/* Order summary box (basket) and order review (checkout). */
.dp-cart-widget .e-cart-totals, .dp-order-summary { padding: 24px; background: var(--dp-soft); }
.dp-cart-widget .cart_totals > h2, .dp-cart-widget .e-cart-totals h2, .dp-order-summary .dp-eyebrow {
	margin: 0 0 20px; font: 500 12px/1.5 var(--dp-font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--dp-ink);
}
.dp-cart-widget .cart_totals table.shop_table th, .dp-cart-widget .cart_totals table.shop_table td { padding: 12px 0; font-size: 14px; font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--dp-ink); border-top: 1px solid var(--dp-line); }
.dp-cart-widget .cart_totals tr:first-child th, .dp-cart-widget .cart_totals tr:first-child td { border-top: 0; }
.dp-cart-widget .cart_totals td, .dp-checkout-widget .woocommerce-checkout-review-order-table tfoot td { text-align: right; }
.dp-commerce .order-total th, .dp-commerce .order-total td { font-size: 15px !important; }
.dp-commerce .order-total .amount { font-size: 18px; font-weight: 500; }
.dp-commerce .includes_tax, .dp-commerce .tax_label, .dp-commerce small.includes_tax { display: block; font-size: 11px; color: var(--dp-muted); font-weight: 400; }
.dp-commerce .woocommerce-shipping-calculator .shipping-calculator-button { font-size: 12px; color: var(--dp-ink); text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--dp-underline); }

.dp-summary-rows { margin: 0; }
.dp-summary-rows > div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; font-size: 14px; }
.dp-summary-rows dt, .dp-summary-rows dd { margin: 0; font-weight: 400; }

/* Empty basket (template 652). */
.dp-empty-cart { display: grid !important; gap: 32px !important; padding-block: 24px 64px; }
.dp-empty-cart > .e-con, .dp-empty-cart > .elementor-widget { width: 100% !important; min-width: 0; }
.dp-empty-cart__main h2 { font: 400 28px/1.25 var(--dp-font-display); margin: 0 0 24px; letter-spacing: -.02em; }
.dp-back-link::before { content: "\2190"; margin-right: 6px; }

/* Checkout sections. */
.dp-checkout-widget .woocommerce-billing-fields > h3, .dp-checkout-widget .e-checkout__column-start h3, .dp-checkout-step {
	margin: 0 0 24px; padding-top: 24px; border-top: 1px solid var(--dp-line); font: 400 24px/1.3 var(--dp-font-display); letter-spacing: -.02em; color: var(--dp-ink); text-transform: none;
}
.dp-checkout-step { margin-top: 36px; clear: both; }
.dp-checkout-widget #mx_custom_checkout_field > h3, .dp-checkout-widget #mx_custom_checkout_field > h3 + p { display: none; }
.dp-checkout-widget #ship-to-different-address { margin: 0; font: 400 12px var(--dp-font-body); border: 0; padding: 0; }
.dp-checkout-widget .woocommerce-additional-fields > h3 { display: none; }
.dp-checkout-widget .e-checkout__order_review h3, .dp-checkout-widget #order_review_heading, .dp-checkout-widget .e-checkout__order_review-2 h3 {
	margin: 0 0 20px; padding: 0; border: 0; font: 400 25px/1.3 var(--dp-font-display); letter-spacing: -.02em; text-transform: none;
}
.dp-checkout-widget .woocommerce-checkout-review-order-table .product-name { font-size: 13px; }
.dp-checkout-widget .woocommerce-checkout-review-order-table th, .dp-checkout-widget .woocommerce-checkout-review-order-table td { padding: 14px 0; font-size: 14px; font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--dp-ink); }
.dp-checkout-widget #shipping_method { margin: 0; padding: 0; list-style: none; }
.dp-checkout-widget #shipping_method li { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 0; padding: 10px 0; font-size: 13px; text-align: left; }
.dp-checkout-widget #shipping_method li label { margin: 0; flex: 1; display: flex; justify-content: space-between; gap: 12px; }
.dp-pickup-address { flex-basis: 100%; padding-left: 30px; font-size: 11px; color: var(--dp-muted); }
.dp-pickup-instructions { flex-basis: 100%; margin: 6px 0 0 30px; padding: 12px 14px; background: var(--dp-soft); font-size: 12px; line-height: 1.7; }
.dp-pickup-instructions p { margin: 0 0 6px; }
.dp-checkout-widget .e-coupon-box, .dp-checkout-widget .e-woocommerce-coupon-nudge { margin: 20px 0; padding: 0; border: 0; background: none; font-size: 12px; }
.dp-checkout-widget .e-show-coupon-form, .dp-checkout-widget .e-coupon-anchor-description { font-size: 12px; color: var(--dp-ink); text-decoration: underline; text-underline-offset: 4px; }

/* Payment methods. */
.dp-checkout-widget .woocommerce-checkout-payment { background: none; border-radius: 0; padding: 0; }
.dp-checkout-widget ul.payment_methods { margin: 0; padding: 0; border: 0; list-style: none; }
.dp-checkout-widget ul.payment_methods > li { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0; padding: 12px 0; border: 0; font-size: 13px; }
.dp-checkout-widget ul.payment_methods > li > label { flex: 1; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0; font-size: 13px; cursor: pointer; }
.dp-checkout-widget ul.payment_methods > li img { max-height: 24px; width: auto; }
.dp-checkout-widget .payment_box { flex-basis: 100%; margin: 4px 0 0 30px; padding: 12px 14px; border-radius: 0; background: var(--dp-soft) !important; font-size: 12px; line-height: 1.7; color: var(--dp-muted); }
.dp-checkout-widget .payment_box::before { display: none; }
.dp-checkout-widget .woocommerce-privacy-policy-text { margin: 20px 0 8px; font-size: 12px; line-height: 1.7; }
.dp-checkout-widget .woocommerce-privacy-policy-text a, .dp-checkout-widget .woocommerce-terms-and-conditions-link { color: var(--dp-ink); text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--dp-underline); }
.dp-checkout-widget .woocommerce-terms-and-conditions-wrapper .form-row { margin: 0; }

@media (min-width: 768px) {
	.dp-cart-widget .e-cart-totals, .dp-order-summary { padding: 32px; }
	.dp-empty-cart { grid-template-columns: 1.5fr 1fr; align-items: start; }
	.dp-empty-cart > .elementor-widget:last-child { grid-column: 1 / -1; }
}
@media (min-width: 1025px) {
	.dp-commerce .e-cart__container { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 72px; max-width: 1160px; }
	.dp-commerce .e-checkout__container { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; gap: 72px !important; max-width: 1280px; }
	.dp-checkout-widget .woocommerce-billing-fields > h3, .dp-checkout-widget .e-checkout__column-start h3, .dp-checkout-step { font-size: 27px; }
	.dp-cart-widget .e-sticky-right-column, .dp-checkout-widget .e-sticky-right-column { position: sticky; top: 116px; }
	.dp-empty-cart { gap: 72px !important; max-width: 1160px; }
}
@media (max-width: 479px) {
	.dp-commerce .form-row-first, .dp-commerce .form-row-last { width: 100%; float: none; margin-right: 0; }
}

/* WooCommerce notices: quiet panel, link-style action. */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 20px; margin: 0 0 24px; padding: 12px 20px !important;
	border: 0 !important; border-radius: 0; background: var(--dp-soft) !important; color: var(--dp-ink) !important; font: 400 13px/1.6 var(--dp-font-body); list-style: none;
}
.woocommerce-error { border-left: 2px solid #9b2c22 !important; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none; }
.woocommerce-message .button, .woocommerce-info .button, .woocommerce-message a.wc-forward {
	order: 2; min-height: 44px; padding: 0 !important; border: 0 !important; background: none !important; color: var(--dp-ink) !important; font: 400 13px var(--dp-font-body) !important; text-transform: none !important;
	text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--dp-underline);
}

/* WooCommerce focuses the notice so screen readers announce it; no ring needed. */
body :is(.woocommerce-notices-wrapper, .woocommerce-message, .woocommerce-error, .woocommerce-info, .e-woocommerce-notices-wrapper):is(:focus, :focus-visible) { outline: none !important; }
.dp-cart-widget .product-name a { color: var(--dp-ink) !important; }

/* Basket page ([dps_basket]): rows on the left, summary on the right. --- */
.dp-basket-notices:empty { display: none; }
.dp-basket-notices { margin-bottom: 24px; }
.dp-basket__layout { display: grid; gap: 32px; align-items: start; }
.dp-basket__items { min-width: 0; }
.dp-basket__form { margin: 0; }
.dp-cart-line--page { grid-template-columns: 65px minmax(0, 1fr); gap: 20px; border-top: 1px solid var(--dp-line); border-bottom: 0; padding: 24px 0; margin: 0; }
.dp-cart-line--page:last-child { border-bottom: 1px solid var(--dp-line); }
.dp-cart-line--page .dp-cart-line__media img { width: 65px; height: 100px; }
.dp-cart-line--page .dp-cart-line__brand { font: 500 12px/1.5 var(--dp-font-body); letter-spacing: .12em; color: var(--dp-ink); }
body .dp-cart-line--page .dp-cart-line__name { font-size: 23px; margin-top: 6px; }
.dp-cart-line--page .dp-cart-line__meta, .dp-cart-line--page .dp-price-history { font-size: 12px; color: var(--dp-muted); margin-top: 8px; }
.dp-cart-line--page .dp-cart-line__sum { grid-column: 2; font-size: 14px; font-weight: 500; }
.dp-basket__empty { padding: 64px 0; max-width: 500px; }
body .dp-basket__empty h2 { font: 400 28px/1.25 var(--dp-font-display); letter-spacing: -.02em; margin: 0; }
.dp-basket__empty .dp-btn { margin-top: 26px; }
.dp-basket__continue { margin-top: 16px; font-size: 13px; }
.dp-basket .dp-order-summary { padding: 24px; background: var(--dp-soft); align-self: start; }
.dp-basket .dp-order-summary .dp-eyebrow { color: var(--dp-ink); margin: 0; }
.dp-summary-line { display: flex; justify-content: space-between; gap: 20px; margin-top: 20px; font-size: 14px; }
.dp-basket .dp-order-summary .dp-btn { width: 100%; margin-top: 24px; }
@media (min-width: 768px) {
	.dp-basket__layout { grid-template-columns: 1.3fr 1fr; gap: 36px; }
	.dp-basket .dp-order-summary { position: sticky; top: calc(var(--dp-header-h) + 16px); }
}
@media (min-width: 1025px) {
	.dp-basket__layout { grid-template-columns: 1.5fr 1fr; gap: 72px; max-width: 1160px; }
	.dp-cart-line--page { grid-template-columns: 90px minmax(0, 1fr) auto; gap: 28px; }
	.dp-cart-line--page .dp-cart-line__media img { width: 90px; height: 120px; }
	body .dp-cart-line--page .dp-cart-line__name { font-size: 26px; }
	.dp-cart-line--page .dp-cart-line__sum { grid-column: auto; }
	.dp-basket .dp-order-summary { padding: 32px; }
}

/* Checkout summary, as in the design: two equal columns, a product head,
   rows with picture and price lines, delivery choices under their label,
   the total between two lines, then payment. ----------------------------- */
.dp-checkout-widget table.woocommerce-checkout-review-order-table,
.dp-checkout-widget .woocommerce-checkout-review-order-table thead,
.dp-checkout-widget .woocommerce-checkout-review-order-table tbody,
.dp-checkout-widget .woocommerce-checkout-review-order-table tfoot { display: block; width: 100%; border: 0; }
.dp-checkout-widget .woocommerce-checkout-review-order-table tr { display: flex; justify-content: space-between; gap: 20px; border: 0; }
.dp-checkout-widget .woocommerce-checkout-review-order-table :is(th, td) { display: block; width: auto !important; max-width: none !important; padding: 0 !important; border: 0 !important; background: none !important; text-align: left; color: var(--dp-ink) !important; }
.dp-checkout-widget .woocommerce-checkout-review-order-table thead tr { padding: 0 0 12px; border-bottom: 1px solid var(--dp-line); }
.dp-checkout-widget .woocommerce-checkout-review-order-table thead th { font: 400 11px/1.5 var(--dp-font-body) !important; letter-spacing: .06em !important; text-transform: uppercase !important; color: var(--dp-ink) !important; }
.dp-checkout-widget .woocommerce-checkout-review-order-table thead th.product-total { text-align: right; }
.dp-checkout-widget .woocommerce-checkout-review-order-table tr.cart_item { align-items: center; padding: 16px 0; border-bottom: 1px solid var(--dp-line); }
.dp-checkout-widget .woocommerce-checkout-review-order-table td.product-name { flex: 1; min-width: 0; font-size: 12px !important; }
.dp-checkout-widget .woocommerce-checkout-review-order-table td.product-name dl.variation { display: none; }
.dp-checkout-widget .woocommerce-checkout-review-order-table td.product-total { font-size: 12px !important; white-space: nowrap; text-align: right; }
.dp-co-item { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 10px; align-items: center; }
.dp-co-item img { width: 40px !important; height: 60px !important; object-fit: contain; mix-blend-mode: multiply; margin: 0 !important; }
.dp-co-item__text strong { display: block; font-weight: 500; font-size: 12px; }
.dp-co-item__meta { display: block; margin-top: 4px; font-size: 11px; }
.dp-co-item .dp-price-history { margin-top: 7px; font-size: 12px; line-height: 1.5; color: var(--dp-muted); }
.dp-checkout-widget .woocommerce-checkout-review-order-table tr.cart-subtotal { margin-top: 20px; padding: 20px 0; font-size: 14px; }
.dp-checkout-widget .woocommerce-checkout-review-order-table tr.cart-subtotal :is(th, td) { font-size: 14px !important; }
.dp-checkout-widget .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals { flex-direction: column; gap: 0; }
.dp-checkout-widget .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th { font: 500 12px/1.5 var(--dp-font-body) !important; margin-bottom: 12px; }
.dp-checkout-widget .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td { width: 100%; margin-bottom: 18px; }
.dp-checkout-widget #shipping_method li { padding: 12px 0; gap: 8px 12px; align-items: flex-start; }
.dp-checkout-widget #shipping_method li input { margin: 2px 0 0 !important; }
.dp-checkout-widget #shipping_method li label { font-weight: 400 !important; font-size: 13px; color: var(--dp-ink); }
.dp-checkout-widget .woocommerce-checkout-review-order-table tr.order-total { align-items: flex-start; gap: 16px; margin-top: 20px; padding: 20px 0; border-block: 1px solid var(--dp-line); }
.dp-checkout-widget .woocommerce-checkout-review-order-table tr.order-total th { font: 400 14px/1.5 var(--dp-font-body) !important; }
.dp-checkout-widget .woocommerce-checkout-review-order-table tr.order-total td { text-align: right; }
.dp-checkout-widget .woocommerce-checkout-review-order-table tr.order-total strong, .dp-checkout-widget .woocommerce-checkout-review-order-table tr.order-total strong .amount { font-size: 16px !important; font-weight: 500 !important; }
.dp-checkout-widget .woocommerce-checkout-review-order-table tr.order-total small.includes_tax { display: block; margin-top: 4px; font-size: 11px; color: var(--dp-muted); }
.dp-checkout-widget .e-coupon-box, .dp-checkout-widget .e-woocommerce-coupon-nudge { margin: 24px 0 28px; }
body .dp-checkout-widget h3.dp-checkout-pay-title { margin: 0 0 12px !important; padding: 0 !important; border: 0 !important; font: 500 12px/1.5 var(--dp-font-body) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--dp-ink) !important; }
body .dp-checkout-widget ul.payment_methods > li > label { color: var(--dp-ink) !important; font-weight: 400 !important; }
.dp-checkout-widget ul.payment_methods > li { align-items: flex-start; }
.dp-checkout-widget ul.payment_methods > li > input { margin: 4px 0 0 !important; }
.dp-checkout-widget .payment_box { margin: 0 0 12px 25px !important; padding: 14px 16px !important; line-height: 1.8; }
.dp-checkout-widget .woocommerce-privacy-policy-text { margin-top: 22px; line-height: 1.9; }
body .dp-checkout-widget #place_order { width: 100% !important; max-width: none !important; margin-top: 24px; }
.dp-checkout-widget #shipping_method { width: 100%; }
.dp-checkout-widget #shipping_method li label { flex: 1; display: block; }
.dp-checkout-widget #r1_checkbox_field { margin: 0 !important; }
.dp-checkout-widget #r1_checkbox_field label, .dp-checkout-widget #ship-to-different-address label { min-height: 44px; gap: 0 !important; }
.dp-checkout-widget #r1_checkbox_field label input, .dp-checkout-widget #ship-to-different-address label input { margin: 0 10px 0 0 !important; }
.dp-checkout-widget #ship-to-different-address { margin-top: 16px !important; }
.dp-checkout-widget #billing_address_2_field .optional { display: none; }
/* Second-step rows sit 16px apart, as in the design. */
.dp-checkout-widget #r1_checkbox_field { padding: 0 !important; }
.dp-checkout-widget .col2-set .col-1, .dp-checkout-widget .woocommerce-billing-fields, .dp-checkout-widget #mx_custom_checkout_field { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.dp-checkout-widget .col2-set .col-2 { margin-top: 0 !important; padding-top: 0 !important; }
.dp-checkout-widget #r1_checkbox_field label, .dp-checkout-widget #ship-to-different-address label, .dp-checkout-widget #shipping_method li label, body .dp-checkout-widget .woocommerce-shipping-totals td { color: var(--dp-ink) !important; }
.dp-checkout-widget .dp-pickup-address { font-weight: 400; }
.dp-checkout-widget tr.cart-subtotal .amount, .dp-checkout-widget tr.cart-subtotal strong { font-weight: 400 !important; }
.dp-price-history, .dp-price-history * { font-size: 12px !important; line-height: 1.5; }
.dp-checkout-widget .woocommerce-checkout-review-order-table tr.cart-subtotal th { font-weight: 400 !important; }

/* --- 90-parity.css --- */
/* Approved prototype spacing, restored over Elementor and child-theme defaults. */
body .dp-page-intro h1.elementor-heading-title { line-height: 1.05; letter-spacing: -.04em; }
body .dp-about-hero h1, body .dp-author-hero .dp-term-title,
body .dp-article-header h1 { letter-spacing: -.04em; }
body .dp-hero__caption { margin-top: 0; }
body .dp-hero__caption p { margin-top: 16px; }
body .dp-btn-wrap .elementor-button-content-wrapper { gap: 12px; align-items: center; }
body .dp-btn-wrap .elementor-button { line-height: 1.5; }
body .dp-btn-wrap .elementor-button .elementor-button-icon::before { width: 18px; height: 18px; }
body .dp-about-hero .dp-eyebrow { margin-bottom: 16px; }
body .dp-about-hero .dp-quiet-link { margin-top: 12px; }
body .dp-author-hero .dp-term-description { font-size: 16px; }
body .dp-author-hero .dp-term-title { line-height: 1.05; }
body.single-product .dp-add-to-cart .variations th.label { display: block !important; background: none; }
body .dp-add-to-cart .variations th.label label { font-weight: 500; }
body .dp-gallery .woocommerce-product-gallery__image a { display: flex !important; }
body .dp-breadcrumbs .woocommerce-breadcrumb { padding: 0 !important; }
body .dp-filter .jet-checkboxes-list-wrapper { margin: 0 !important; }
@media (max-width: 767px) {
  body .dp-arrivals { margin-top: 36px; }
}
@media (min-width: 768px) {
  body .dp-hero__cta .elementor-button { padding-inline: 16px; }
}
@media (min-width: 1025px) {
  body .dp-shop > .dp-shop-layout { margin-top: 20px; }
  body .dp-catalog-toolbar { margin-bottom: 20px; }
  body .dp-brand-logos a { padding-block: 20px; }
  body .dp-perfumer-directory .dp-dir-entry { min-height: 110px; }
}

body .dp-help-layout { margin-top: 0; }

/* Native filter values, arranged like the approved catalogue controls. */
body .dp-filter .jet-range { display: flex; flex-direction: column; }
body .dp-filter .jet-range__inputs { order: -1; margin: 16px 0; }
body .dp-filter .jet-range__inputs__container { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; padding: 0; margin: 0; border: 0; min-width: 0; }
body .dp-filter .jet-range__inputs__group { display: flex; flex-direction: column; align-items: stretch; gap: 6px; padding: 0; min-width: 0; border: 0; background: none; }
body .dp-filter .jet-range__inputs__group label { font: 400 11px/1.5 var(--dp-font-body); }
body .dp-filter .jet-range__inputs__group input { width: 100%; padding: 8px; margin: 0; background: var(--dp-bg); color: var(--dp-ink); }
body .dp-filter .jet-range__inputs__group__text { display: none; }
body .dp-filter .jet-range__slider { margin: 0; padding: 0; border: 0; }
.dp-range-values { display: flex; justify-content: space-between; font-size: 12px; line-height: 1.5; margin-top: 12px; }
body .dp-filter-dialog .dp-filter { border: 0; width: 100%; }
body .dp-filter-dialog .jet-filter-label, body .dp-filter-dialog .jet-filter-items-dropdown__label { display: none !important; }
body .dp-filter-dialog .jet-filter-items-scroll { max-height: none !important; }
body .dp-filter-dialog .jet-checkboxes-list__item { min-height: 44px; gap: 12px; }
body .dp-filter-dialog .jet-checkboxes-list__label { font-size: 14px !important; }
body .dp-filter-dialog .jet-filter-items-search__input { min-height: 44px; font-size: 16px !important; padding: 10px 12px !important; }
body .dp-filter-dialog .jet-range__inputs__group input { min-height: 44px; font-size: 16px; }
.dp-filter-apply { background: var(--dp-ink); color: #fff; }
.dp-filter-reset, .dp-filter-reset:hover, .dp-filter-reset:focus { min-height: 44px; padding: 0; font-size: 12px; text-decoration: underline; text-underline-offset: 4px; background: none; border: 0; color: var(--dp-ink); }
html:has(.dp-filter-dialog[open]) { overflow: hidden; }
body .dp-filter .jet-checkboxes-list__input { display: block !important; visibility: visible !important; position: absolute; width: 1px; height: 1px; padding: 0; margin: 0; overflow: hidden; clip-path: inset(50%); }
:root body .awish-empty + .awish-button, :root body .awish-empty + p .awish-button { font-size: 14px; line-height: 1.5; }
