/* Doctor Vape storefront */
:root {
	--ink: #161413;
	--text: #57514C;
	--muted: #6E6863;
	--faint: #8F8781;
	--line: #E8E3DE;
	--line-2: #EDE9E5;
	--warm: #F7F4F1;
	--field: #F2EFEC;
	--stripe: #EFEBE7;
	--red: #D92D27;
	--red-dark: #B9221D;
	--red-soft: #FDECEB;
	--wine: #6E1C1A;
	--green: #1E7A46;
	--green-soft: #E5F3EA;
	--amber: #9A6200;
	--amber-soft: #FBF0DC;
	--head: 'Commissioner', system-ui, sans-serif;
	--mono: 'JetBrains Mono', ui-monospace, monospace;
	--r: 14px;
	--r-lg: 24px;
	--shadow: 0 20px 60px -20px rgba(22, 20, 19, .28);
}

/* Base (zero specificity so components win) */
:where(body.dv) { margin: 0; font-family: var(--head); color: var(--ink); background: #fff; -webkit-font-smoothing: antialiased; font-size: 16px; line-height: 1.5; }
:where(body.dv) :where(*, *::before, *::after) { box-sizing: border-box; }
:where(body.dv) :where(a) { color: inherit; text-decoration: none; }
:where(body.dv) :where(a:hover) { color: var(--red); }
:where(body.dv) :where(img) { max-width: 100%; height: auto; display: block; }
:where(body.dv) :where(button) { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
:where(body.dv) :where(input, select, textarea) { font: inherit; color: var(--ink); }
:where(body.dv) :where(h1, h2, h3, h4, p, ul, ol, dl, dd) { margin: 0; }
body.dv-lock { overflow: hidden; }
.dv-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
[hidden] { display: none !important; }

/* Layout */
.dv-wrap { max-width: 1280px; margin: 0 auto; padding: 0 80px; }
.dv-wrap-wide { max-width: 1440px; margin: 0 auto; padding: 0 80px; }
.dv-section { padding-top: 56px; }
.dv-section-sm { padding-top: 24px; padding-bottom: 64px; }
.dv-h1 { font-size: 44px; line-height: 1.05; font-weight: 800; letter-spacing: -.02em; }
.dv-h1--xl { font-size: 56px; }
.dv-h2 { font-size: 34px; line-height: 1.1; font-weight: 800; letter-spacing: -.015em; margin-bottom: 24px; }
.dv-eyebrow { display: block; font-family: var(--mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.dv-eyebrow--red { color: var(--red); }
.dv-muted { color: var(--muted); }
.dv-muted-sm { color: var(--muted); font-size: 14px; }
.dv-muted-xs { color: var(--muted); font-size: 12px; }
.dv-head-row { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.dv-head-row .dv-h2 { margin: 0; }
.dv-title-row { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-top: 12px; }
.dv-page-head { padding-top: 24px; }
.dv-arrow-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: 15px; }
.dv-red-link { color: var(--red); font-weight: 700; }
.dv-link-sm { font-size: 13px; color: var(--muted); text-decoration: underline; text-underline-offset: 3px; }
.dv-link-sm:hover { color: var(--red); }
.dv-mob, .dv-mob-f, .dv-mob-i { display: none !important; }
.dv-desk-i { display: inline; }

/* Buttons */
.dv-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 46px; padding: 0 24px; border-radius: 999px; background: var(--red); color: #fff !important; font-weight: 700; font-size: 15px; line-height: 1; border: 1px solid transparent; transition: background .15s, transform .15s, color .15s; white-space: nowrap; }
.dv-btn:hover { background: var(--red-dark); color: #fff; }
.dv-btn--lg { height: 52px; padding: 0 26px; }
.dv-btn--xl { height: 58px; padding: 0 30px; font-size: 16px; }
.dv-btn--block { width: 100%; }
.dv-btn--outline { background: transparent; color: var(--ink) !important; border-color: var(--ink); }
.dv-btn--outline:hover { background: var(--ink); color: #fff !important; }
.dv-btn--dark { background: var(--ink); }
.dv-btn--dark:hover { background: #000; }
.dv-btn--soft { background: var(--red-soft); color: var(--red) !important; }
.dv-btn--soft:hover { background: #F9D9D7; }
.dv-btn--white { background: #fff; color: var(--ink) !important; }
.dv-btn--white:hover { background: var(--ink); color: #fff !important; }
.dv-btn.is-loading, .dv-add.is-loading, .single_add_to_cart_button.is-loading { opacity: .6; pointer-events: none; }
.dv-round { width: 40px; height: 40px; border-radius: 999px; background: var(--field); display: inline-flex; align-items: center; justify-content: center; flex: none; }
.dv-round:hover { background: var(--line); }
.dv-icon-btn { width: 44px; height: 44px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; position: relative; flex: none; }
.dv-icon-btn:hover { background: var(--field); color: var(--ink); }

/* Header */
.dv-header { position: relative; z-index: 60; background: #fff; }
.dv-topbar { background: var(--ink); color: #D8D2CC; font-size: 13px; }
.dv-topbar__in { height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.dv-topbar__txt strong { color: #fff; font-weight: 600; }
.dv-topbar__txt .dv-hl { color: #FF8A84; }
.dv-topbar__links { display: flex; gap: 20px; }
.dv-topbar__links a:hover { color: #fff; }
.dv-header__main { border-bottom: 1px solid var(--line-2); }
.dv-header__row { height: 84px; display: flex; align-items: center; gap: 40px; }
.dv-header__logo img { height: 50px; width: auto; }
.dv-search { position: relative; flex: 1; max-width: 620px; height: 48px; border-radius: 999px; background: var(--field); display: flex; align-items: center; gap: 12px; padding: 0 6px 0 20px; color: var(--muted); }
.dv-search input { flex: 1; min-width: 0; border: 0; background: transparent; font-size: 15px; outline: none; height: 100%; }
.dv-search input::placeholder { color: var(--faint); }
.dv-search input::-webkit-search-cancel-button { display: none; }
.dv-search__btn { height: 36px; padding: 0 16px; border-radius: 999px; background: #fff; font-size: 13px; font-weight: 600; color: var(--ink); }
.dv-search__btn:hover { background: var(--ink); color: #fff; }
.dv-search:focus-within { background: #fff; box-shadow: 0 0 0 2px var(--ink) inset; }
.dv-search__results { position: absolute; top: calc(100% + 8px); left: 0; right: 0; background: #fff; border-radius: 18px; box-shadow: var(--shadow); padding: 8px; z-index: 80; max-height: 70vh; overflow: auto; }
.dv-sres { display: grid; grid-template-columns: 52px 1fr auto; align-items: center; gap: 12px; padding: 8px; border-radius: 12px; color: var(--ink); }
.dv-sres:hover { background: var(--warm); color: var(--ink); }
.dv-sres img, .dv-sres > span:first-child { width: 52px; height: 52px; object-fit: contain; border-radius: 10px; background: var(--warm); }
.dv-sres__name { font-size: 14px; line-height: 1.3; font-weight: 500; }
.dv-sres__name small { display: block; font-family: var(--mono); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.dv-sres b { font-size: 14px; }
.dv-sres__all { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 12px; font-weight: 700; font-size: 14px; border-top: 1px solid var(--line-2); margin-top: 4px; }
.dv-search__empty { padding: 16px; font-size: 14px; color: var(--muted); }
.dv-header__icons { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.dv-acct-btn { height: 44px; padding: 0 12px; border-radius: 999px; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; }
.dv-acct-btn:hover { background: var(--field); color: var(--ink); }
.dv-dot { position: absolute; top: 9px; right: 9px; width: 8px; height: 8px; border-radius: 99px; background: var(--red); }
.dv-cart-btn { height: 44px; padding: 0 18px 0 14px; border-radius: 999px; background: var(--red); color: #fff !important; display: inline-flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; white-space: nowrap; }
.dv-cart-btn:hover { background: var(--red-dark); }
.dv-cart-btn .dv-cart-count { display: none; }
.dv-cart-btn.is-bump { animation: dv-bump .45s ease; }
@keyframes dv-bump { 40% { transform: scale(1.08); } }
.dv-nav { position: relative; border-bottom: 1px solid var(--line-2); background: #fff; }
.dv-nav__row { height: 53px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.dv-nav__cats, .dv-nav__extra { display: flex; align-items: stretch; height: 100%; gap: 2px; }
.dv-nav__item { position: relative; display: inline-flex; align-items: center; gap: 6px; padding: 0 10px; height: 100%; font-size: 14px; font-weight: 600; white-space: nowrap; }
.dv-nav__item::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--red); transform: scaleX(0); transition: transform .18s; }
.dv-nav__item:hover, .dv-nav__item.is-on, .dv-nav__item.is-current { color: var(--red); }
.dv-nav__item.is-on::after, .dv-nav__item.is-current::after { transform: scaleX(1); }
.dv-nav__item--red { color: var(--red); }
.dv-nav__item .dv-i { opacity: .7; }
.dv-new { font-family: var(--mono); font-size: 9px; font-weight: 500; letter-spacing: .04em; color: var(--red); background: var(--red-soft); padding: 2px 6px; border-radius: 6px; margin-left: 2px; }
.dv-mega { position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-bottom: 1px solid var(--line-2); box-shadow: 0 30px 40px -30px rgba(0, 0, 0, .25); opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .18s, transform .18s, visibility .18s; }
.dv-mega.is-open { opacity: 1; visibility: visible; transform: none; }
.dv-mega__panel { display: none; }
.dv-mega__panel.is-on { display: block; }
.dv-mega__in { display: grid; grid-template-columns: 1fr 252px 252px; gap: 16px; padding-top: 36px; padding-bottom: 32px; }
.dv-mega__links { display: flex; flex-direction: column; padding-right: 32px; }
.dv-mega__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 32px; flex: 1; }
.dv-mega__col { display: flex; flex-direction: column; gap: 12px; }
.dv-mega__col .dv-eyebrow { font-size: 11px; margin-bottom: 4px; }
.dv-mega__col a { font-size: 16px; font-weight: 500; }
.dv-mega__foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid var(--line-2); margin-top: 28px; padding-top: 18px; }
.dv-mega__all { display: inline-flex; align-items: center; gap: 6px; color: var(--red); font-weight: 700; }
.dv-mega__banner { position: relative; display: flex; align-items: flex-end; border-radius: 16px; overflow: hidden; background: #2B2523; min-height: 300px; padding: 20px; color: #fff !important; }
.dv-mega__banner img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .55; transition: transform .4s; }
.dv-mega__banner:hover img { transform: scale(1.04); }
.dv-mega__banner::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, .7)); }
.dv-mega__banner-txt { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 6px; }
.dv-mega__banner-txt b { font-size: 21px; line-height: 1.15; font-weight: 800; }
.dv-mega__banner-txt span { display: inline-flex; align-items: center; gap: 4px; color: #FF8A84; font-weight: 700; font-size: 14px; }
.dv-mega__feat { display: flex; flex-direction: column; gap: 8px; background: var(--warm); border-radius: 16px; padding: 14px; color: var(--ink) !important; }
.dv-mega__feat-img { position: relative; aspect-ratio: 1; border-radius: 12px; overflow: hidden; background: #fff; }
.dv-mega__feat-img img { width: 100%; height: 100%; object-fit: contain; }
.dv-mega__feat-name { font-size: 14px; font-weight: 500; line-height: 1.3; }
.dv-header--co { border-bottom: 1px solid var(--line-2); }
.dv-header--co .dv-header__row { justify-content: space-between; }
.dv-header__help { font-size: 14px; color: var(--muted); }
.dv-header__help b { color: var(--ink); }

/* Steps */
.dv-steps { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 16px; }
.dv-steps li, .dv-steps li > a { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 600; color: var(--muted); }
.dv-steps li + li::before { content: ''; width: 40px; height: 1px; background: var(--line); margin-right: 6px; }
.dv-steps__n { width: 26px; height: 26px; border-radius: 99px; background: var(--field); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; color: var(--muted); }
.dv-steps li.is-on { color: var(--ink); }
.dv-steps li.is-on .dv-steps__n { background: var(--red); color: #fff; }
.dv-steps li.is-done .dv-steps__n { background: var(--ink); color: #fff; }
.dv-steps li.is-done, .dv-steps li.is-done a { color: var(--muted); }

/* Mobile menu drawer */
.dv-mnav { position: fixed; inset: 0; z-index: 200; visibility: hidden; }
.dv-mnav.is-open { visibility: visible; }
.dv-mnav__scrim { position: absolute; inset: 0; background: rgba(22, 20, 19, .45); opacity: 0; transition: opacity .25s; }
.dv-mnav.is-open .dv-mnav__scrim { opacity: 1; }
.dv-mnav__panel { position: absolute; top: 0; left: 0; bottom: 0; width: min(390px, 92vw); background: #fff; display: flex; flex-direction: column; transform: translateX(-100%); transition: transform .3s cubic-bezier(.2, .8, .2, 1); }
.dv-mnav.is-open .dv-mnav__panel { transform: none; }
.dv-mnav__head { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-bottom: 1px solid var(--line-2); }
.dv-mnav__title { font-size: 19px; font-weight: 800; }
.dv-mnav__body { flex: 1; overflow: auto; padding: 12px 16px; }
.dv-mnav__quick { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 8px; }
.dv-mnav__quick .dv-btn { height: 44px; font-size: 14px; }
.dv-mnav__link, .dv-acc > summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 16px 0; font-size: 17px; font-weight: 700; border-bottom: 1px solid var(--line-2); cursor: pointer; list-style: none; }
.dv-acc > summary::-webkit-details-marker { display: none; }
.dv-acc__sign { position: relative; width: 12px; height: 12px; flex: none; }
.dv-acc__sign::before, .dv-acc__sign::after { content: ''; position: absolute; left: 0; right: 0; top: 50%; height: 2px; margin-top: -1px; background: currentColor; border-radius: 2px; transition: transform .2s; }
.dv-acc__sign::after { transform: rotate(90deg); }
.dv-acc[open] > summary .dv-acc__sign::after { transform: rotate(0); }
.dv-mnav .dv-acc[open] > summary { color: var(--red); border-bottom: 0; }
.dv-acc__body { padding: 4px 0 16px; border-bottom: 1px solid var(--line-2); display: flex; flex-direction: column; gap: 10px; }
.dv-acc__body .dv-eyebrow { font-size: 11px; }
.dv-mnav__sub { display: flex; justify-content: space-between; align-items: center; font-size: 15px; font-weight: 500; padding: 2px 0; color: var(--ink); }
.dv-mnav__all { color: var(--red); font-weight: 700; font-size: 14px; display: inline-flex; align-items: center; gap: 4px; }
.dv-mnav__foot { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 16px; background: var(--warm); }
.dv-mnav__foot a { height: 44px; border-radius: 12px; background: #fff; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 600; }
.dv-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.dv-pill { height: 38px; padding: 0 14px; border-radius: 999px; background: var(--field); display: inline-flex; align-items: center; gap: 4px; font-size: 14px; font-weight: 600; color: var(--ink); }
.dv-pill:hover { background: var(--line); color: var(--ink); }
.dv-pill.is-on { background: var(--ink); color: #fff; }

/* Product card */
.dv-card { position: relative; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.dv-card__media { position: relative; display: block; aspect-ratio: 1; border-radius: var(--r); background: var(--warm); overflow: hidden; }
.dv-card__media img { width: 100%; height: 100%; object-fit: contain; object-position: 50% 50%; padding: 6%; mix-blend-mode: multiply; transition: transform .35s; }
.dv-card:hover .dv-card__media img { transform: scale(1.04); }
.dv-badge { position: absolute; top: 10px; left: 10px; background: var(--red); color: #fff; font-size: 11px; font-weight: 700; padding: 5px 9px; border-radius: 999px; letter-spacing: .02em; line-height: 1; z-index: 1; }
.dv-badge--dark { background: var(--ink); }
.dv-badge--muted { background: #fff; color: var(--muted); left: auto; right: 10px; top: auto; bottom: 10px; }
.dv-heart { position: absolute; top: 8px; right: 8px; z-index: 2; width: 34px; height: 34px; border-radius: 999px; background: #fff; display: inline-flex; align-items: center; justify-content: center; color: var(--ink); transition: transform .15s, color .15s; }
.dv-heart:hover { color: var(--red); }
.dv-heart.is-on { color: var(--red); }
.dv-heart.is-on svg { fill: currentColor; }
.dv-heart.is-pop { animation: dv-bump .4s ease; }
.dv-heart--lg { position: static; width: 56px; height: 56px; border: 1px solid var(--line); flex: none; }
.dv-card__meta { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.dv-card__cat { font-family: var(--mono); font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; }
.dv-card__name { font-size: 15px; font-weight: 500; line-height: 1.35; min-height: 40px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.dv-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; }
.dv-price { display: inline-flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.dv-price__now { font-size: 17px; font-weight: 700; }
.dv-price.is-sale .dv-price__now { color: var(--red); }
.dv-price__old { font-size: 13px; color: var(--faint); }
.dv-add { width: 38px; height: 38px; border-radius: 999px; background: var(--ink); color: #fff !important; display: inline-flex; align-items: center; justify-content: center; flex: none; transition: background .15s; }
.dv-add:hover { background: var(--red); }
.dv-card.is-new { animation: dv-fade .35s ease both; }
@keyframes dv-fade { from { opacity: 0; transform: translateY(8px); } }
.dv-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 20px; }
.dv-rail { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; }
.dv-rail > .dv-card:nth-child(n+6) { display: none; }
.dv-rail--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dv-rail--4 > .dv-card:nth-child(n+5) { display: none; }

/* Homepage blocks */
.dv-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding-top: 32px; }
.dv-hero__card { background: var(--warm); border-radius: var(--r-lg); padding: 56px; display: flex; flex-direction: column; justify-content: center; gap: 24px; min-height: 520px; }
.dv-hero__title { font-size: 84px; line-height: .95; font-weight: 800; letter-spacing: -.02em; }
.dv-hero__text { font-size: 18px; line-height: 1.55; color: var(--text); max-width: 420px; }
.dv-hero__btns { display: flex; gap: 12px; flex-wrap: wrap; }
.dv-hero__media { border-radius: var(--r-lg); overflow: hidden; background: #F6D9D8 repeating-linear-gradient(135deg, #F3D2D1 0 14px, #F8E3E2 14px 28px); min-height: 520px; }
.dv-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.dv-cats { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.dv-cat { display: flex; flex-direction: column; gap: 12px; color: var(--ink) !important; }
.dv-cat__img { aspect-ratio: 1; border-radius: 16px; background: var(--warm); overflow: hidden; display: block; }
.dv-cat__img img { width: 100%; height: 100%; object-fit: contain; padding: 12%; mix-blend-mode: multiply; transition: transform .35s; }
.dv-cat:hover .dv-cat__img img { transform: scale(1.06); }
.dv-cat__meta { display: flex; justify-content: space-between; gap: 8px; }
.dv-cat__meta b { font-size: 16px; line-height: 1.25; font-weight: 700; }
.dv-cat__meta span { font-size: 14px; color: var(--muted); }
.dv-cat:hover b { color: var(--red); }
.dv-offers { background: var(--red); border-radius: var(--r-lg); padding: 40px; display: grid; grid-template-columns: 300px 1fr; gap: 40px; color: #fff; }
.dv-offers__txt { display: flex; flex-direction: column; gap: 12px; }
.dv-offers__title { font-size: 52px; line-height: 1; font-weight: 800; letter-spacing: -.02em; }
.dv-offers__txt p { font-size: 17px; line-height: 1.5; color: #FFE5E3; }
.dv-offers__txt .dv-btn { margin-top: auto; align-self: flex-start; }
.dv-offers__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.dv-offers__cards .dv-card { background: #fff; border-radius: 18px; padding: 14px; color: var(--ink); }
.dv-offers__cards .dv-card__media { border-radius: 12px; }
.dv-offers__cards .dv-heart { top: 22px; right: 22px; }
.dv-offers__cards .dv-badge { top: 24px; left: 24px; }
.dv-brands { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 12px; }
.dv-brand { height: 88px; border: 1px solid var(--line); border-radius: 14px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; text-align: center; padding: 8px; color: var(--ink) !important; transition: border-color .15s, transform .15s; }
.dv-brand:hover { border-color: var(--ink); transform: translateY(-2px); }
.dv-brand b { font-size: 17px; font-weight: 700; line-height: 1.15; }
.dv-brand img { max-height: 40px; width: auto; object-fit: contain; }
.dv-brand span { font-family: var(--mono); font-size: 10px; color: var(--faint); }

/* Footer */
.dv-footer { background: var(--ink); color: #BDB5AE; margin-top: 80px; padding: 64px 0 0; font-size: 14px; }
body.dv-is-checkout .dv-footer { display: none; }
.dv-footer__grid { display: grid; grid-template-columns: 1.25fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 48px; border-bottom: 1px solid #2E2A28; }
.dv-footer__logo { height: 52px; width: auto; filter: invert(1); margin-bottom: 20px; }
.dv-footer__brand p { max-width: 300px; line-height: 1.6; }
.dv-footer__col { display: flex; flex-direction: column; gap: 10px; }
.dv-footer__col .dv-eyebrow { color: #8F8781; font-size: 11px; margin-bottom: 4px; }
.dv-footer__col a { color: #E6E0DA; }
.dv-footer__col a:hover { color: #fff; }
.dv-footer__store { display: flex; flex-direction: column; font-size: 14px; line-height: 1.4; margin-bottom: 4px; }
.dv-footer__store b { color: #fff; font-weight: 700; display: flex; align-items: center; gap: 8px; }
.dv-soon { font-family: var(--mono); font-size: 10px; font-weight: 500; background: var(--red); color: #fff; padding: 2px 7px; border-radius: 99px; letter-spacing: .04em; text-transform: uppercase; }
.dv-footer__hours { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid #2E2A28; color: #E6E0DA; text-align: right; }
.dv-footer__hours span:first-child { text-align: left; color: #fff; font-weight: 500; }
.dv-footer__hours:last-child { border: 0; }
.dv-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 24px; padding-bottom: 28px; font-size: 13px; color: #8F8781; }
.dv-footer__pay { display: flex; gap: 8px; flex-wrap: wrap; }
.dv-footer__pay span { font-family: var(--mono); font-size: 11px; border: 1px solid #3A3532; border-radius: 6px; padding: 5px 9px; color: #BDB5AE; }

/* Breadcrumbs */
.dv-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 14px; color: var(--muted); padding-top: 28px; }
.dv-crumbs a:hover { color: var(--red); }
.dv-crumbs .is-current { color: var(--ink); }

/* Archive */
.dv-archive__title { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin: 28px 0 24px; }
.dv-archive__title .dv-muted { padding-bottom: 10px; }
.dv-subcats { display: flex; flex-wrap: wrap; gap: 10px; padding-bottom: 24px; }
.dv-subcat { height: 44px; padding: 0 20px; border-radius: 999px; background: var(--field); display: inline-flex; align-items: center; font-size: 15px; font-weight: 700; }
.dv-subcat:hover { background: var(--line); color: var(--ink); }
.dv-subcat.is-on { background: var(--ink); color: #fff; }
.dv-fbar { position: sticky; top: 0; z-index: 40; background: #fff; border-top: 1px solid var(--line-2); border-bottom: 1px solid var(--line-2); }
.dv-fbar__row { display: flex; align-items: center; gap: 10px; min-height: 68px; padding-top: 10px; padding-bottom: 10px; flex-wrap: wrap; }
.dv-fbar__spacer { flex: 1; }
.dv-fbtn { height: 44px; padding: 0 16px; border-radius: 10px; border: 1px solid var(--line); background: #fff; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; white-space: nowrap; color: var(--ink); }
.dv-fbtn:hover { border-color: var(--ink); }
.dv-fbtn.has-val { border-color: var(--ink); }
.dv-fbtn.is-open { background: var(--ink); border-color: var(--ink); color: #fff; }
.dv-fbtn.is-open .dv-i { transform: rotate(180deg); }
.dv-fbtn__n { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 99px; background: var(--red); color: #fff; font-size: 11px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.dv-fbtn--soft { background: var(--warm); border-color: var(--warm); }
.dv-fbtn--dark { background: var(--ink); color: #fff; border-color: var(--ink); }
.dv-sort { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--muted); position: relative; }
.dv-sort select { appearance: none; border: 0; background: transparent; font-weight: 700; color: var(--ink); font-size: 14px; padding-right: 18px; cursor: pointer; outline: none; }
.dv-sort .dv-i { position: absolute; right: 0; pointer-events: none; }
.dv-fpanel { position: absolute; top: calc(100% - 6px); z-index: 45; width: 320px; background: #fff; border-radius: 18px; box-shadow: var(--shadow); border: 1px solid var(--line-2); }
.dv-fpanel__inner { padding: 16px; display: flex; flex-direction: column; gap: 8px; }
.dv-fpanel__inner [data-opt-list] { max-height: 340px; overflow: auto; margin: 0 -4px; padding: 0 4px; }
.dv-fpanel__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line-2); padding-top: 14px; margin-top: 6px; }
.dv-fpanel__foot .dv-link-sm { color: var(--ink); font-weight: 700; text-decoration: none; font-size: 14px; }
.dv-fpanel__foot .dv-btn { flex: 1; max-width: 172px; }
.dv-fscrim { position: fixed; inset: 0; z-index: 39; }
.dv-fsearch { display: flex; align-items: center; gap: 8px; height: 44px; padding: 0 14px; border-radius: 10px; background: var(--field); color: var(--muted); margin-bottom: 6px; }
.dv-fsearch input { border: 0; background: transparent; outline: none; flex: 1; min-width: 0; font-size: 14px; }
.dv-fchecks { display: flex; flex-direction: column; }
.dv-fcheck { display: flex; align-items: center; gap: 12px; padding: 10px 2px; width: 100%; text-align: left; font-size: 16px; font-weight: 500; }
.dv-fcheck__box { width: 20px; height: 20px; border-radius: 5px; border: 1.5px solid #C9C2BC; flex: none; display: inline-flex; align-items: center; justify-content: center; }
.dv-fcheck.is-on .dv-fcheck__box { background: var(--red); border-color: var(--red); }
.dv-fcheck.is-on .dv-fcheck__box::after { content: ''; width: 9px; height: 5px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(-45deg) translate(1px, -1px); }
.dv-fcheck__name { flex: 1; }
.dv-fcheck__n { font-size: 13px; color: var(--faint); }
.dv-range { padding: 4px 2px 8px; }
.dv-range__vals { display: flex; justify-content: space-between; font-size: 14px; color: var(--muted); margin-bottom: 14px; }
.dv-range__track { position: relative; height: 24px; }
.dv-range__track::before { content: ''; position: absolute; left: 0; right: 0; top: 11px; height: 2px; background: var(--line); }
.dv-range__track i { position: absolute; top: 10px; height: 4px; background: var(--ink); border-radius: 2px; }
.dv-range__track input { position: absolute; left: 0; width: 100%; top: 0; height: 24px; margin: 0; appearance: none; -webkit-appearance: none; background: transparent; pointer-events: none; }
.dv-range__track input::-webkit-slider-thumb { -webkit-appearance: none; pointer-events: auto; width: 24px; height: 24px; border-radius: 99px; background: #fff; border: 2px solid var(--ink); cursor: grab; }
.dv-range__track input::-moz-range-thumb { pointer-events: auto; width: 20px; height: 20px; border-radius: 99px; background: #fff; border: 2px solid var(--ink); cursor: grab; }
.dv-archive__body { padding-top: 16px; }
.dv-actives { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 36px; margin-bottom: 20px; }
.dv-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.dv-chip { height: 32px; padding: 0 12px; border-radius: 999px; background: var(--red-soft); color: var(--red); display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; }
.dv-chip:hover { background: #F9D9D7; }
.dv-noresults { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; padding: 64px 16px; background: var(--warm); border-radius: var(--r-lg); }
.dv-noresults b { font-size: 22px; }
.dv-more { display: flex; flex-direction: column; align-items: center; gap: 12px; padding-top: 48px; }
.dv-more__bar { width: 240px; height: 4px; border-radius: 2px; background: var(--line-2); overflow: hidden; }
.dv-more__bar i { display: block; height: 100%; background: var(--ink); transition: width .3s; }
.dv-more .dv-btn { margin-top: 8px; padding: 0 28px; }
.dv-archive__desc { margin-top: 56px; color: var(--text); font-size: 15px; line-height: 1.7; max-width: 860px; }

/* Sheet (mobile filters + desktop "Όλα τα φίλτρα") */
.dv-sheet { position: fixed; inset: 0; z-index: 210; visibility: hidden; }
.dv-sheet.is-open { visibility: visible; }
.dv-sheet__scrim { position: absolute; inset: 0; background: rgba(22, 20, 19, .45); opacity: 0; transition: opacity .25s; }
.dv-sheet.is-open .dv-sheet__scrim { opacity: 1; }
.dv-sheet__panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(440px, 100vw); background: #fff; display: flex; flex-direction: column; transform: translateX(100%); transition: transform .3s cubic-bezier(.2, .8, .2, 1); }
.dv-sheet.is-open .dv-sheet__panel { transform: none; }
.dv-sheet__grip { display: none; }
.dv-sheet__head { display: flex; align-items: center; justify-content: space-between; padding: 22px 20px 16px; border-bottom: 1px solid var(--line-2); }
.dv-sheet__title { font-size: 22px; font-weight: 800; }
.dv-sheet__head .dv-link-sm { color: var(--ink); font-size: 14px; font-weight: 600; }
.dv-sheet__body { flex: 1; overflow: auto; padding: 0 20px; }
.dv-sheet__group { padding: 20px 0; border-bottom: 1px solid var(--line-2); }
.dv-sheet__group:last-child { border: 0; }
.dv-sheet__label { display: block; font-size: 17px; font-weight: 700; margin-bottom: 14px; }
.dv-sheet__group .dv-fchecks { max-height: 320px; overflow: auto; }
.dv-sheet__foot { padding: 16px 20px; border-top: 1px solid var(--line-2); }

/* Product page */
.dv-pdp__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 56px; padding-top: 32px; align-items: start; }
.dv-gallery { display: flex; gap: 16px; position: sticky; top: 24px; }
.dv-gallery__thumbs { display: flex; flex-direction: column; gap: 12px; width: 88px; flex: none; }
.dv-gallery__thumb { width: 88px; height: 88px; border-radius: 12px; background: var(--warm); overflow: hidden; border: 2px solid transparent; padding: 0; }
.dv-gallery__thumb.is-on { border-color: var(--ink); }
.dv-gallery__thumb img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.dv-gallery__main { position: relative; flex: 1; min-width: 0; border-radius: var(--r-lg); background: var(--warm); overflow: hidden; }
.dv-gallery__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.dv-gallery__track::-webkit-scrollbar { display: none; }
.dv-gallery__slide { flex: 0 0 100%; scroll-snap-align: start; aspect-ratio: 1; display: flex; align-items: center; justify-content: center; cursor: zoom-in; }
.dv-gallery__slide img { width: 100%; height: 100%; object-fit: contain; object-position: 50% 50%; padding: 6%; mix-blend-mode: multiply; }
.dv-gallery__main .dv-badge { top: 16px; left: 16px; font-size: 13px; padding: 6px 11px; }
.dv-gallery__dots { position: absolute; bottom: 16px; left: 0; right: 0; display: flex; justify-content: center; gap: 6px; }
.dv-gallery__dots span { width: 6px; height: 6px; border-radius: 99px; background: #CFC8C1; transition: width .2s; }
.dv-gallery__dots span.is-on { width: 18px; background: var(--ink); }
.dv-pdp__info { display: flex; flex-direction: column; gap: 16px; padding-top: 4px; }
.dv-pdp__name { font-size: 40px; line-height: 1.08; font-weight: 800; letter-spacing: -.015em; }
.dv-pdp__price { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.dv-pdp__price .dv-price__now, .dv-pdp__price .woocommerce-Price-amount { font-size: 36px; font-weight: 800; letter-spacing: -.01em; }
.dv-pdp__price del, .dv-pdp__price .dv-price__old { font-size: 18px; color: var(--faint); }
.dv-pdp__price ins { text-decoration: none; color: var(--red); }
.dv-stock { font-size: 13px; font-weight: 700; color: var(--green); background: var(--green-soft); padding: 5px 11px; border-radius: 999px; }
.dv-stock.is-back { color: var(--amber); background: var(--amber-soft); }
.dv-stock.is-out { color: var(--muted); background: var(--field); }
.dv-spec-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.dv-spec-chips span { font-size: 13px; font-weight: 700; background: var(--field); padding: 8px 12px; border-radius: 8px; }
.dv-atc form.cart { display: flex; flex-direction: column; gap: 16px; margin: 0; }
.dv-atc form.cart:not(.variations_form), .dv-atc .woocommerce-variation-add-to-cart { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px; }
.dv-atc .single_variation_wrap { display: flex; flex-direction: column; gap: 12px; }
.dv-atc .woocommerce-variation-price, .dv-atc .woocommerce-variation-description:empty { display: none; }
.dv-atc .woocommerce-variation-availability p { margin: 0; font-size: 13px; color: var(--muted); }
.dv-atc .reset_variations { display: none !important; }
.dv-atc .single_add_to_cart_button { flex: 1; height: 56px; border-radius: 999px; background: var(--red); color: #fff; font-weight: 700; font-size: 16px; border: 0; min-width: 200px; }
.dv-atc .single_add_to_cart_button:hover { background: var(--red-dark); }
.dv-atc .single_add_to_cart_button.disabled { opacity: .45; cursor: not-allowed; }
.dv-atc .stock { margin: 0; font-size: 14px; color: var(--muted); }
.dv-atc .stock.out-of-stock { color: var(--red); font-weight: 700; }
.dv-qty { display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: 999px; height: 44px; background: #fff; }
.dv-qty button { width: 40px; height: 100%; font-size: 18px; display: inline-flex; align-items: center; justify-content: center; }
.dv-qty span, .dv-qty input { width: 32px; text-align: center; font-weight: 700; font-size: 15px; border: 0; background: transparent; -moz-appearance: textfield; padding: 0; }
.dv-qty input::-webkit-inner-spin-button, .dv-qty input::-webkit-outer-spin-button { -webkit-appearance: none; }
.dv-qty--lg { height: 56px; }
.dv-qty--lg button { width: 46px; }
.dv-qty--sm { height: 36px; }
.dv-qty--sm button { width: 32px; }
.dv-qty .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.dv-var { display: flex; flex-direction: column; gap: 10px; }
.dv-var__label { font-size: 14px; color: var(--text); }
.dv-var__label b { color: var(--ink); }
.dv-var__opts { display: flex; flex-wrap: wrap; gap: 10px; }
.dv-swatch { width: 44px; height: 44px; border-radius: 99px; padding: 3px; border: 2px solid transparent; }
.dv-swatch span { display: block; width: 100%; height: 100%; border-radius: 99px; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1); }
.dv-swatch.is-on { border-color: var(--ink); }
.dv-swatch:disabled, .dv-varpill:disabled { opacity: .3; cursor: not-allowed; }
.dv-varpill { min-height: 40px; padding: 0 16px; border-radius: 10px; border: 1px solid var(--line); font-size: 14px; font-weight: 600; }
.dv-varpill.is-on { border-color: var(--ink); background: var(--ink); color: #fff; }
.dv-atc .yith-wapo-container, .dv-atc #yith-wapo-container, .dv-atc .wcpa_form_outer { width: 100%; font-size: 14px; }
.dv-atc .yith-wapo-block { margin: 0 !important; }
.dv-infobox { border: 1px solid var(--line); border-radius: 16px; margin-top: 8px; }
.dv-infobox > div { display: flex; justify-content: space-between; gap: 16px; padding: 18px 20px; font-size: 14px; }
.dv-infobox > div + div { border-top: 1px solid var(--line); }
.dv-infobox b { font-weight: 700; flex: none; max-width: 150px; }
.dv-infobox span { color: var(--muted); text-align: right; }
.dv-infobox em { display: block; font-style: normal; color: var(--red); font-weight: 700; }
.dv-pdp__tabs { padding-top: 64px; }
.dv-tabs__nav { display: flex; gap: 32px; border-bottom: 1px solid var(--line); margin-bottom: 32px; }
.dv-tabs__nav button { position: relative; padding: 0 0 14px; font-size: 17px; font-weight: 700; color: var(--muted); }
.dv-tabs__nav button.is-on { color: var(--ink); }
.dv-tabs__nav button.is-on::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--red); }
.dv-tab > summary { display: none; }
.dv-tab:not(.is-tab-on) { display: none; }
.dv-tab__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.dv-prose { font-size: 17px; line-height: 1.7; color: var(--text); overflow-wrap: anywhere; }
.dv-prose > * + * { margin-top: 16px; }
.dv-prose img { border-radius: 16px; height: auto; margin: 20px 0; max-width: 100%; }
.dv-prose ul { padding-left: 20px; }
.dv-prose strong, .dv-prose b { color: var(--ink); }
.dv-prose table { width: 100%; border-collapse: collapse; font-size: 15px; }
.dv-prose td, .dv-prose th { border-bottom: 1px solid var(--line); padding: 8px 6px; text-align: left; }
.dv-specs { margin: 0; }
.dv-specs > div { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.dv-specs dt { color: var(--muted); }
.dv-specs dd { font-weight: 700; text-align: right; }
.dv-specs--full { max-width: 640px; }
.dv-tab.is-mob-only.is-tab-on { display: block; }
.dv-sticky-atc { display: none; }

/* Cart */
.dv-cartpage { padding-top: 40px; }
.dv-cart-grid { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 48px; align-items: start; margin-top: 40px; }
.dv-cart-title { margin-bottom: 24px; }
.dv-cart-title span { color: var(--faint); font-weight: 700; }
.dv-cart-lines { border-top: 1px solid var(--line); }
.dv-cline { display: grid; grid-template-columns: 112px minmax(0, 1fr) auto 110px; align-items: center; gap: 24px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.dv-cline__img { width: 112px; height: 112px; border-radius: 14px; background: var(--warm); overflow: hidden; }
.dv-cline__img img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.dv-cline__info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.dv-cline__name { font-size: 18px; font-weight: 700; line-height: 1.3; }
.dv-cline__sub { font-size: 14px; color: var(--muted); }
.dv-cline__info .dv-link-sm { margin-top: 4px; align-self: flex-start; }
.dv-cline__total { font-size: 18px; text-align: right; }
.dv-back-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; margin-top: 24px; }
.dv-summary { background: var(--warm); border-radius: var(--r-lg); padding: 28px; display: flex; flex-direction: column; gap: 16px; position: sticky; top: 24px; }
.dv-summary__title { font-size: 22px; font-weight: 800; }
.dv-summary__label { display: block; color: var(--text); margin-bottom: 10px; }
.dv-summary__rows { display: flex; flex-direction: column; gap: 10px; color: var(--text); }
.dv-summary__rows > div { display: flex; justify-content: space-between; gap: 12px; }
.dv-summary__rows b { color: var(--ink); }
.dv-summary__rows .is-save, .dv-summary__rows .is-save b { color: var(--green); }
.dv-summary__total { display: flex; justify-content: space-between; align-items: baseline; border-top: 1px solid var(--line); padding-top: 16px; font-size: 17px; font-weight: 800; }
.dv-summary__total b { font-size: 30px; letter-spacing: -.01em; }
.dv-summary__total small { display: none; }
.dv-summary__note { text-align: center; font-size: 13px; color: var(--muted); }
.dv-radios { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.dv-radios--2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.dv-radios > li { margin: 0; list-style: none; }
.dv-radio { position: relative; display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border: 1px solid var(--line); background: #fff; border-radius: 12px; cursor: pointer; min-height: 48px; height: 100%; }
.dv-radio input { position: absolute; opacity: 0; pointer-events: none; }
.dv-radio__dot { width: 20px; height: 20px; border-radius: 99px; border: 1.5px solid #B9B1AA; flex: none; margin-top: 1px; }
.dv-radio:has(input:checked) { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); }
.dv-radio:has(input:checked) .dv-radio__dot { border: 6px solid var(--red); }
.dv-radio__txt { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.dv-radio__label { font-weight: 700; font-size: 15px; }
.dv-radio__sub { font-size: 13px; color: var(--muted); line-height: 1.35; }
.dv-radio__price { font-weight: 700; font-size: 14px; white-space: nowrap; }
.dv-free { display: flex; flex-direction: column; gap: 8px; font-size: 13px; color: var(--text); }
.dv-free p { display: flex; align-items: center; gap: 8px; }
.dv-free b { color: var(--ink); }
.dv-free__bar { height: 4px; border-radius: 2px; background: var(--line); overflow: hidden; }
.dv-free__bar i { display: block; height: 100%; background: var(--red); border-radius: 2px; transition: width .3s; }
.dv-free.is-done .dv-free__bar i { background: var(--green); }
.dv-free.is-done .dv-i { color: var(--green); }
.dv-coupon__form { display: flex; gap: 8px; }
.dv-input, .dv .input-text, .dv select.select, .dv .select2-selection--single { height: 48px; border: 1px solid #D9D3CD; background: #fff; border-radius: 10px; padding: 0 14px; font-size: 15px; width: 100%; outline: none; transition: border-color .15s, box-shadow .15s; }
.dv-input:focus, .dv .input-text:focus { border-color: var(--ink); box-shadow: 0 0 0 1px var(--ink); }
.dv textarea.input-text { height: 110px; padding: 12px 14px; resize: vertical; }
.dv-coupon__toggle { display: flex; justify-content: space-between; width: 100%; font-weight: 700; }

/* Drawer */
.dv-drawer { position: fixed; inset: 0; z-index: 220; visibility: hidden; }
.dv-drawer.is-open { visibility: visible; }
.dv-drawer__scrim { position: absolute; inset: 0; background: rgba(22, 20, 19, .45); opacity: 0; transition: opacity .25s; }
.dv-drawer.is-open .dv-drawer__scrim { opacity: 1; }
.dv-drawer__panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(440px, 100vw); background: #fff; display: flex; flex-direction: column; transform: translateX(100%); transition: transform .32s cubic-bezier(.2, .8, .2, 1); }
.dv-drawer.is-open .dv-drawer__panel { transform: none; }
.dv-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid var(--line-2); }
.dv-drawer__title { font-size: 20px; font-weight: 800; }
.dv-drawer__inner { flex: 1; display: flex; flex-direction: column; min-height: 0; transition: opacity .2s; }
.dv-drawer__inner.is-busy { opacity: .5; pointer-events: none; }
.dv-drawer__inner > .dv-free { padding: 16px 20px; background: var(--warm); }
.dv-drawer__lines { flex: 1; overflow: auto; padding: 0 20px; }
.dv-line { display: grid; grid-template-columns: 76px 1fr auto; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--line-2); align-items: start; }
.dv-line__img { width: 76px; height: 76px; border-radius: 12px; background: var(--warm); overflow: hidden; }
.dv-line__img img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.dv-line__info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.dv-line__name { font-weight: 700; font-size: 14px; line-height: 1.3; }
.dv-line__sub { font-size: 12px; color: var(--muted); }
.dv-line__actions { display: flex; align-items: center; gap: 12px; margin-top: 6px; }
.dv-line__total { font-weight: 700; font-size: 14px; white-space: nowrap; }
.dv-drawer__foot { padding: 16px 20px 20px; border-top: 1px solid var(--line-2); display: flex; flex-direction: column; gap: 10px; }
.dv-drawer__sub { display: flex; justify-content: space-between; font-size: 16px; margin-bottom: 4px; }
.dv-drawer__sub b { font-size: 20px; }
.dv-drawer__empty, .dv-empty { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 12px; padding: 48px 24px; }
.dv-empty { background: var(--warm); border-radius: var(--r-lg); }
.dv-empty__icon { width: 60px; height: 60px; border-radius: 99px; background: var(--field); display: inline-flex; align-items: center; justify-content: center; color: var(--muted); }
.dv-empty__title { font-size: 20px; font-weight: 800; }

/* Checkout */
body.dv-is-checkout { background: var(--warm); }
body.dv-is-checkout .dv-header--co { background: #fff; }
.dv-co { padding: 40px 0 64px; }
.dv-co__grid { display: grid; grid-template-columns: minmax(0, 1fr) 440px; gap: 40px; align-items: start; }
.dv-co__main { display: flex; flex-direction: column; gap: 16px; }
.dv-box { background: #fff; border-radius: 22px; padding: 28px 32px 32px; }
.dv-box__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.dv-box__title { font-size: 21px; font-weight: 800; margin-bottom: 18px; }
.dv-fields { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.dv-fields .form-row { grid-column: span 6; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.dv-fields .form-row-first, .dv-fields .form-row-last { grid-column: span 3; }
.dv-fields .form-row-third { grid-column: span 2; }
.dv-fields label { font-size: 14px; font-weight: 700; }
.dv-fields label .optional { font-weight: 400; color: var(--faint); }
.dv-fields .required { color: var(--ink); text-decoration: none; border: 0; }
.dv-fields #billing_country_field, .dv-fields #shipping_country_field { display: none !important; }
.dv-fields .woocommerce-input-wrapper { display: block; }
.dv-fields .form-row.woocommerce-invalid .input-text { border-color: var(--red); }
.dv-fields--address.is-pickup .form-row:not(#billing_first_name_field):not(#billing_last_name_field) .required { visibility: hidden; }
.dv .select2-container .select2-selection--single { height: 48px; display: flex; align-items: center; }
.dv .select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; right: 8px; }
.dv .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 46px; padding-left: 0; }
.dv-check { display: inline-flex; align-items: center; gap: 10px; font-size: 15px; cursor: pointer; }
.dv-check input { width: 20px; height: 20px; accent-color: var(--red); margin: 0; flex: none; }
.dv-co .create-account { margin-top: 18px; }
#ship-to-different-address { margin: 18px 0 0; }
.shipping_address { margin-top: 16px; }
.dv-co__extras { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; margin-top: 18px; }
.dv-co__extras > .dv-fields { width: 100%; }
.dv-plus-link { font-weight: 700; font-size: 14px; }
.dv-pickup { margin-top: 12px; font-size: 14px; color: var(--muted); }
.dv-co__aside { position: sticky; top: 24px; }
.dv-co__summary { display: flex; flex-direction: column; gap: 16px; }
.dv-co__summary .dv-box__title { margin: 0; }
.dv-review__lines { display: flex; flex-direction: column; gap: 14px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.dv-review__line { display: grid; grid-template-columns: 60px 1fr auto; gap: 14px; align-items: center; }
.dv-review__img { position: relative; width: 60px; height: 60px; border-radius: 10px; background: var(--warm); }
.dv-review__img img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; border-radius: 10px; }
.dv-review__qty { position: absolute; top: -7px; right: -7px; min-width: 22px; height: 22px; border-radius: 99px; background: var(--ink); color: #fff; font-size: 11px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.dv-review__info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.dv-review__name { font-size: 14px; font-weight: 600; line-height: 1.3; }
.dv-review__total { font-size: 14px; }
.dv-co .dv-review .dv-summary__rows { padding-top: 16px; }
.dv-co .dv-review .dv-summary__total { margin-top: 16px; }
.dv-co__terms .woocommerce-terms-and-conditions-wrapper { font-size: 14px; }
.dv-co__terms .form-row { margin: 0; }
.dv-co__terms label.checkbox { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--text); cursor: pointer; }
.dv-co__terms input[type="checkbox"] { width: 20px; height: 20px; accent-color: var(--red); margin: 0; flex: none; }
.dv-co__terms a { color: var(--red); font-weight: 700; }
.dv-co__terms .woocommerce-terms-and-conditions { display: none !important; }
.dv-co__privacy { font-size: 12px; line-height: 1.6; color: var(--muted); }
.dv-co__privacy a { text-decoration: underline; }
#payment .payment_box { grid-column: 1 / -1; padding: 14px 4px 0; font-size: 14px; color: var(--muted); }
.dv-co .blockUI.blockOverlay { background: rgba(255, 255, 255, .6) !important; border-radius: 22px; }
.dv-co__mtoggle { display: none; }

/* Notices */
.dv .woocommerce-notices-wrapper:empty { display: none; }
.dv .woocommerce-error, .dv .woocommerce-message, .dv .woocommerce-info { list-style: none; margin: 0 0 20px; padding: 14px 18px; border-radius: 12px; background: var(--warm); border-left: 4px solid var(--ink); font-size: 15px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; justify-content: space-between; }
.dv .woocommerce-error { background: var(--red-soft); border-color: var(--red); flex-direction: column; align-items: flex-start; }
.dv .woocommerce-message { background: var(--green-soft); border-color: var(--green); }
.dv .woocommerce-message .button, .dv .woocommerce-info .button { order: 2; font-weight: 700; text-decoration: underline; background: none; border: 0; padding: 0; }
.dv-toast { position: fixed; left: 50%; bottom: 28px; transform: translate(-50%, 20px); background: var(--ink); color: #fff; padding: 12px 20px; border-radius: 999px; font-size: 14px; font-weight: 600; opacity: 0; transition: opacity .2s, transform .2s; z-index: 300; pointer-events: none; }
.dv-toast.is-on { opacity: 1; transform: translate(-50%, 0); }
.dv-zoom { position: fixed; inset: 0; z-index: 300; background: #fff; display: flex; align-items: center; justify-content: center; cursor: zoom-out; }
.dv-zoom img { max-width: 92vw; max-height: 92vh; object-fit: contain; }
.dv-zoom .dv-round { position: absolute; top: 20px; right: 20px; }

/* Age gate */
.dv-age { position: fixed; inset: 0; z-index: 400; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(40, 36, 34, .82); backdrop-filter: blur(6px); transition: opacity .3s; }
.dv-age.is-out { opacity: 0; }
.dv-age__box { width: 520px; max-width: 100%; background: #fff; border-radius: 24px; padding: 44px 48px 36px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 16px; }
.dv-age__box img { height: 64px; width: auto; }
.dv-age__title { font-size: 32px; font-weight: 800; letter-spacing: -.01em; }
.dv-age__box p { color: var(--text); font-size: 15px; line-height: 1.6; max-width: 400px; }
.dv-age__btns { display: grid; grid-template-columns: 160px 1fr; gap: 12px; width: 100%; margin-top: 8px; }
.dv-age__remember { font-size: 14px; color: var(--text); }
.dv-age__remember input { accent-color: var(--ink); width: 18px; height: 18px; }
.dv-age__no { color: var(--red) !important; font-weight: 700; }

/* Pages (Elementor content + plain pages) */
.dv .page-content, .dv .site-main > .page-header { max-width: 1120px; margin-left: auto; margin-right: auto; }
.dv .site-main.page:not(.elementor) .page-content { padding: 0 0 48px; }
.dv .page-header .entry-title { font-size: 44px; font-weight: 800; letter-spacing: -.02em; padding: 40px 0 24px; }
.dv .page-content { font-size: 16px; line-height: 1.7; color: var(--text); }
.dv .page-content h2, .dv .page-content h3 { color: var(--ink); margin: 28px 0 10px; line-height: 1.25; }
.dv .page-content p { margin: 0 0 14px; }
.dv .page-content a { color: var(--red); text-decoration: underline; }
.dv.woocommerce-cart .site-main, .dv.woocommerce-checkout .site-main, .dv.woocommerce-account .site-main { max-width: 1280px; margin: 0 auto; padding: 0 80px; }
.dv.woocommerce-cart .page-content, .dv.woocommerce-checkout .page-content, .dv.woocommerce-account .page-content { max-width: none; }
.dv.woocommerce-cart .page-header, .dv.woocommerce-checkout .page-header, .dv.woocommerce-account .page-header { display: none; }

/* Elementor shells for header/footer templates */
.dv .elementor-location-header .e-con, .dv .elementor-location-footer .e-con { --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; --gap: 0; }
.dv .elementor-location-header .elementor-widget-dv-header, .dv .elementor-location-footer .elementor-widget-dv-footer { width: 100%; }
.dv .elementor-location-header { position: sticky; top: 0; z-index: 60; transition: transform .25s; }
/* Scrolled: slide the whole header up by the top bar height. Transform only, so the page never changes height (changing it made the header flicker). */
body.dv-scrolled .elementor-location-header { transform: translateY(-36px); }
body.dv-scrolled .elementor-location-header .dv-header__main { box-shadow: 0 1px 0 var(--line-2); }
.dv-fbar { top: 137px; }
body.admin-bar .elementor-location-header { top: 32px; }
.dv .elementor-widget-dv-hero, .dv .elementor-widget-dv-cats, .dv .elementor-widget-dv-rail, .dv .elementor-widget-dv-offers, .dv .elementor-widget-dv-brands { width: 100%; }
.dv .e-con.dv-full { --padding-left: 0; --padding-right: 0; --padding-top: 0; --padding-bottom: 0; --gap: 0; }

/* Account (ported layout) */
.dv-acct { padding: 40px 0 24px; overflow-x: clip; }
.dv-acct__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 32px; }
.dv-acct__head .dv-eyebrow { margin-bottom: 8px; color: var(--red); }
.dv-acct__head .dv-ulink { display: inline-flex; gap: 6px; align-items: center; font-weight: 700; font-size: 14px; }
.dv-acct__grid { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 32px; align-items: start; }
.dv-acct__grid > * { min-width: 0; }
.dv-acct__nav ul { list-style: none; margin: 0; padding: 8px; background: var(--warm); border-radius: 18px; display: flex; flex-direction: column; gap: 2px; }
.dv-acct__nav a { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 12px; font-weight: 600; font-size: 15px; }
.dv-acct__nav a:hover { background: #fff; color: var(--ink); }
.dv-acct__nav .is-active a { background: #fff; color: var(--red); box-shadow: 0 1px 2px rgba(0, 0, 0, .06); }
.dv-acct__content { background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 28px; }
.dv-acct__h2 { font-size: 22px; font-weight: 800; margin-bottom: 16px; }
.dv-dash__tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.dv-dash__tile { display: flex; align-items: center; gap: 14px; padding: 18px; border-radius: 16px; background: var(--warm); color: var(--ink) !important; }
.dv-dash__tile:hover { background: var(--field); }
.dv-dash__icon { width: 44px; height: 44px; border-radius: 99px; background: #fff; display: inline-flex; align-items: center; justify-content: center; flex: none; color: var(--red); }
.dv-dash__txt { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.dv-dash__txt span { font-size: 13px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dv-dash__section { margin-top: 32px; }
.dv-head-row .dv-ulink, .dv-ulink { font-weight: 700; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
.dv-dash__help { margin-top: 24px; padding: 18px 20px; border-radius: 16px; background: var(--red-soft); display: flex; flex-direction: column; gap: 4px; font-size: 14px; }
.dv-dash__help a { font-weight: 700; }
.dv-ocards { display: flex; flex-direction: column; gap: 12px; }
.dv-ocard { border: 1px solid var(--line); border-radius: 16px; padding: 18px; display: flex; flex-direction: column; gap: 14px; }
.dv-ocard__top, .dv-ocard__body { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.dv-ocard__id { display: flex; flex-direction: column; gap: 2px; }
.dv-ocard__no { font-weight: 800; }
.dv-ocard__thumbs { display: flex; gap: 8px; }
.dv-ocard__thumb { width: 52px; height: 52px; border-radius: 10px; background: var(--warm); overflow: hidden; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; }
.dv-ocard__thumb img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.dv-ocard__total { display: flex; flex-direction: column; align-items: flex-end; }
.dv-ocard__actions { display: flex; gap: 8px; flex-wrap: wrap; }
.dv-btn--sm { height: 38px; padding: 0 16px; font-size: 13px; }
.dv-status { font-size: 12px; font-weight: 700; padding: 5px 10px; border-radius: 99px; background: var(--field); color: var(--muted); }
.dv-status.is-done { background: var(--green-soft); color: var(--green); }
.dv-status.is-progress { background: #E8EEF9; color: #2B4C8C; }
.dv-status.is-wait { background: var(--amber-soft); color: var(--amber); }
.dv-status.is-off { background: var(--red-soft); color: var(--red); }
.dv-acct__empty { padding: 28px; border-radius: 16px; background: var(--warm); display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.dv-acct__pager { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; }
.dv-acct__content .woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.dv-acct__content .woocommerce-Address { background: var(--warm); border-radius: 16px; padding: 18px; }
.dv-acct__content .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin-bottom: 8px; }
.dv-acct__content .woocommerce-Address-title h2 { font-size: 17px; }
.dv-acct__content .woocommerce-Address-title a { font-size: 13px; font-weight: 700; color: var(--red); }
.dv-acct__content address { font-style: normal; line-height: 1.7; color: var(--text); }
.dv-acct__content form .form-row { margin: 0 0 14px; display: flex; flex-direction: column; gap: 6px; }
.dv-acct__content form label { font-weight: 700; font-size: 14px; }
.dv-acct__content form .form-row-first, .dv-acct__content form .form-row-last { width: calc(50% - 8px); display: inline-flex; }
.dv-acct__content form .form-row-first { margin-right: 12px; }
.dv-acct__content fieldset { border: 1px solid var(--line); border-radius: 14px; padding: 16px; margin: 16px 0; }
.dv-acct__content legend { font-weight: 800; padding: 0 6px; }
.dv-acct__content .button, .dv-auth .button { height: 46px; padding: 0 24px; border-radius: 999px; background: var(--red); color: #fff; font-weight: 700; border: 0; cursor: pointer; }
.dv-acct__content table { width: 100%; border-collapse: collapse; font-size: 15px; }
.dv-acct__content th, .dv-acct__content td { text-align: left; padding: 12px 8px; border-bottom: 1px solid var(--line); }
.dv-auth { padding: 48px 0 24px; }
.dv-auth__head { text-align: center; max-width: 560px; margin: 0 auto 32px; display: flex; flex-direction: column; gap: 10px; align-items: center; }
.dv-auth__head .dv-eyebrow { color: var(--red); }
.dv-auth__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; max-width: 980px; margin: 0 auto; }
.dv-auth__grid.is-single { grid-template-columns: minmax(0, 480px); justify-content: center; }
.dv-auth__card { border: 1px solid var(--line); border-radius: 22px; padding: 28px; display: flex; flex-direction: column; gap: 16px; }
.dv-auth__card--alt { background: var(--warm); border-color: var(--warm); }
.dv-auth__title { display: flex; align-items: center; gap: 12px; }
.dv-auth__title h2 { font-size: 22px; font-weight: 800; }
.dv-auth__icon { width: 44px; height: 44px; border-radius: 99px; background: var(--red-soft); color: var(--red); display: inline-flex; align-items: center; justify-content: center; }
.dv-auth .form-row { margin: 0 0 14px; display: flex; flex-direction: column; gap: 6px; }
.dv-auth label { font-weight: 700; font-size: 14px; }
.dv-auth__row { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.dv-auth__perks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.dv-auth__perks li { display: flex; gap: 8px; align-items: center; }
.dv-auth__perks .dv-i { color: var(--red); }

/* Thank you */
.dv-thanks { max-width: 720px; margin: 0 auto; padding: 56px 0 24px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 16px; }
.dv-thanks__icon { width: 72px; height: 72px; border-radius: 99px; background: var(--green-soft); color: var(--green); display: inline-flex; align-items: center; justify-content: center; }
.dv-thanks__icon.is-fail { background: var(--red-soft); color: var(--red); }
.dv-thanks__meta { width: 100%; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 8px 0; }
.dv-thanks__meta > div { background: var(--warm); border-radius: 14px; padding: 14px; text-align: left; }
.dv-thanks__meta dt { font-size: 12px; color: var(--muted); }
.dv-thanks__meta dd { font-weight: 800; }
.dv-thanks__details { width: 100%; text-align: left; }
.dv-thanks__details h2 { font-size: 20px; margin: 24px 0 12px; }
.dv-thanks__details table { width: 100%; border-collapse: collapse; }
.dv-thanks__details th, .dv-thanks__details td { text-align: left; padding: 10px 6px; border-bottom: 1px solid var(--line); }
.dv-thanks__details address { font-style: normal; background: var(--warm); border-radius: 14px; padding: 14px; line-height: 1.7; }
.dv-thanks__btns { display: flex; gap: 10px; }

/* ---------- Tablet ---------- */
@media (max-width: 1200px) {
	.dv-wrap, .dv-wrap-wide { padding: 0 32px; }
	.dv-header__row { gap: 24px; }
	.dv-nav__item { padding: 0 7px; font-size: 13px; }
	.dv-hero__title { font-size: 64px; }
	.dv-rail { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.dv-rail > .dv-card:nth-child(n+5) { display: none; }
	.dv-brands { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.dv-mega__in { grid-template-columns: 1fr 220px; }
	.dv-mega__feat { display: none; }
	.dv-offers { grid-template-columns: 1fr; }
	.dv-cart-grid, .dv-co__grid { grid-template-columns: minmax(0, 1fr) 380px; gap: 28px; }
	.dv.woocommerce-cart .site-main, .dv.woocommerce-checkout .site-main, .dv.woocommerce-account .site-main { padding: 0 32px; }
}

/* ---------- Mobile ---------- */
@media (max-width: 900px) {
	.dv-wrap, .dv-wrap-wide { padding: 0 16px; }
	.dv-desk, .dv-desk-f, .dv-desk-b { display: none !important; }
	.dv-desk-i { display: none; }
	.dv-mob { display: block !important; }
	.dv-mob-f { display: inline-flex !important; }
	.dv-mob-i { display: inline !important; }
	.dv-h1 { font-size: 30px; }
	.dv-h1--xl { font-size: 30px; }
	.dv-h2 { font-size: 24px; margin-bottom: 16px; }
	.dv-section { padding-top: 36px; }

	.dv-topbar { display: none; }
	.dv-header__main { border: 0; }
	.dv-header__row { height: 60px; gap: 8px; flex-wrap: wrap; }
	.dv-header .dv-icon-btn.dv-mob { display: inline-flex !important; margin-left: -10px; }
	.dv-header__logo img { height: 34px; }
	.dv-header__row > .dv-search { order: 10; flex: 0 0 100%; max-width: none; height: 44px; padding-right: 16px; margin-bottom: 10px; }
	.dv-search__btn { display: none; }
	.dv-header__main .dv-header__row { height: auto; min-height: 60px; }
	.dv-cart-btn { width: 40px; height: 40px; padding: 0; justify-content: center; gap: 0; }
	.dv-cart-btn > .dv-i, .dv-cart-btn .dv-cart-label { display: none; }
	.dv-cart-btn .dv-cart-count { display: block; font-size: 14px; font-weight: 700; }
	.dv-nav { display: none; }
	body.dv-scrolled .elementor-location-header { transform: none; }
	.dv-fbar { top: var(--dv-hdr-h, 114px); }
	body.admin-bar .elementor-location-header { top: 0; }
	.dv-header--co .dv-header__row { justify-content: flex-start; gap: 16px; }
	.dv-header--co .dv-steps { display: none; }
	.dv-header--co .dv-header__logo { margin: 0 auto; transform: translateX(-28px); }

	.dv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 14px; }
	.dv-rail, .dv-rail--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 14px; }
	.dv-rail > .dv-card:nth-child(n+5) { display: none; }
	.dv-card { gap: 10px; }
	.dv-card__name { font-size: 14px; }
	.dv-price__now { font-size: 16px; }
	.dv-add { width: 36px; height: 36px; }
	.dv-heart { width: 30px; height: 30px; }

	.dv-hero { grid-template-columns: 1fr; padding-top: 4px; }
	.dv-hero__media { display: none; }
	.dv-hero__card { min-height: 380px; padding: 24px; justify-content: flex-end; gap: 16px; background: #F6D9D8 repeating-linear-gradient(135deg, #F3D2D1 0 14px, #F8E3E2 14px 28px); }
	.dv-hero__title { font-size: 52px; }
	.dv-hero__text { display: none; }
	.dv-cats { display: flex; overflow-x: auto; gap: 12px; margin: 0 -16px; padding: 0 16px; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.dv-cats::-webkit-scrollbar { display: none; }
	.dv-cat { flex: 0 0 104px; scroll-snap-align: start; }
	.dv-cat__meta span { display: none; }
	.dv-cat__meta b { font-size: 13px; }
	.dv-offers { padding: 24px; gap: 20px; border-radius: 18px; }
	.dv-offers__title { font-size: 34px; }
	.dv-offers__cards { display: none; }
	.dv-brands { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
	.dv-brand { height: 56px; border-radius: 10px; }
	.dv-brand b { font-size: 12px; }
	.dv-brand span { display: none; }

	.dv-footer { margin-top: 48px; padding-top: 28px; border-radius: 22px 22px 0 0; }
	.dv-footer__grid { grid-template-columns: 1fr; gap: 24px; padding-bottom: 20px; }
	.dv-footer__logo { height: 38px; margin-bottom: 12px; }
	.dv-footer__bottom { flex-direction: column; align-items: flex-start; }

	.dv-archive__title { margin: 16px 0 4px; }
	.dv-crumbs { display: none; }
	.dv-subcats { flex-wrap: nowrap; overflow-x: auto; margin: 16px -16px 0; padding: 0 16px 16px; scrollbar-width: none; }
	.dv-subcats::-webkit-scrollbar { display: none; }
	.dv-subcat { height: 38px; padding: 0 16px; font-size: 14px; flex: none; }
	.dv-fbar__row { flex-wrap: nowrap; overflow-x: auto; min-height: 60px; scrollbar-width: none; }
	.dv-fbar__row::-webkit-scrollbar { display: none; }
	.dv-fbtn { height: 40px; padding: 0 14px; flex: none; }
	.dv-fbtn .dv-i { display: none; }
	.dv-fbtn--dark .dv-i { display: inline; }
	.dv-fbtn[data-panel] .dv-fbtn__n { display: none !important; }
	.dv-fbar__spacer { display: none; }
	.dv-actives { margin-bottom: 14px; min-height: 0; }
	.dv-chips:empty { display: none; }

	.dv-sheet__panel { top: auto; left: 0; width: 100%; max-height: 88vh; border-radius: 24px 24px 0 0; transform: translateY(100%); }
	.dv-sheet__grip { display: block; width: 40px; height: 4px; border-radius: 99px; background: #D6CFC9; margin: 10px auto 0; }
	.dv-sheet__head { padding: 14px 20px 14px; }

	.dv-pdp__wrap { padding: 0; }
	.dv-pdp__grid { grid-template-columns: 1fr; gap: 20px; padding-top: 0; }
	.dv-gallery { position: static; }
	.dv-gallery__thumbs { display: none; }
	.dv-gallery__main { border-radius: 0; }
	.dv-gallery__main .dv-heart.dv-mob { display: inline-flex !important; top: 14px; right: 14px; width: 40px; height: 40px; }
	.dv-pdp__info { padding: 0 16px; gap: 12px; }
	.dv-pdp__name { font-size: 26px; }
	.dv-pdp__price .dv-price__now, .dv-pdp__price .woocommerce-Price-amount { font-size: 28px; }
	.dv-atc .single_add_to_cart_button { height: 52px; }
	.dv-atc .quantity.dv-qty--lg { height: 52px; }
	.dv-infobox > div { padding: 14px 16px; }
	.dv-infobox em { display: none; }
	.dv-pdp__tabs { padding: 16px 16px 0; }
	.dv-tabs__nav { display: none; }
	.dv-tab, .dv-tab:not(.is-tab-on) { display: block; }
	.dv-tab > summary { display: flex; font-size: 16px; padding: 18px 0; }
	.dv-tab[open] > summary { border-bottom: 0; }
	.dv-tab .dv-tab__grid { display: block; padding-bottom: 16px; }
	.dv-tab .dv-specs { padding-bottom: 12px; }
	.dv-prose { font-size: 15px; }
	.dv-sticky-atc { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 70; background: #fff; border-top: 1px solid var(--line-2); padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); gap: 12px; align-items: center; }
	.dv-sticky-atc__sum { display: flex; flex-direction: column; line-height: 1.1; }
	.dv-sticky-atc__sum small { font-size: 12px; color: var(--muted); }
	.dv-sticky-atc__sum b { font-size: 19px; }
	.dv-sticky-atc .dv-btn { flex: 1; }
	body.single-product .dv-footer { padding-bottom: 80px; }

	.dv.woocommerce-cart .site-main, .dv.woocommerce-checkout .site-main, .dv.woocommerce-account .site-main { padding: 0 16px; }
	.dv-cartpage { padding-top: 16px; }
	.dv-cart-grid { grid-template-columns: 1fr; margin-top: 0; gap: 20px; }
	.dv-cart-title { font-size: 22px; text-align: center; margin-bottom: 8px; }
	.dv-cline { grid-template-columns: 88px minmax(0, 1fr) auto; grid-template-areas: "img info info" "img qty total"; gap: 8px 14px; padding: 16px 0; }
	.dv-cline__img { grid-area: img; width: 88px; height: 88px; }
	.dv-cline__info { grid-area: info; }
	.dv-cline .dv-qty { grid-area: qty; justify-self: start; height: 38px; }
	.dv-cline__total { grid-area: total; font-size: 16px; }
	.dv-cline__name { font-size: 15px; }
	.dv-summary { position: static; background: #fff; padding: 0; border-radius: 0; }
	.dv-summary__total b { font-size: 24px; }
	.dv-summary__note { display: none; }
	.dv-coupon { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 16px 0; }
	.dv-coupon__form { display: none; margin-top: 12px; }
	.dv-coupon.is-open .dv-coupon__form { display: flex; }

	.dv-co { padding: 0 0 32px; }
	.dv-co__grid { grid-template-columns: 1fr; gap: 12px; }
	.dv-co__mtoggle { display: flex; align-items: center; gap: 8px; justify-content: space-between; width: calc(100% + 32px); margin: 0 -16px 12px; padding: 14px 16px; background: #fff; border-bottom: 1px solid var(--line-2); font-size: 14px; font-weight: 700; }
	.dv-co__mtoggle b { margin-left: auto; }
	.dv-co__aside { position: static; order: -1; display: none; }
	.dv-co.is-sum-open .dv-co__aside { display: block; }
	.dv-box { padding: 18px 16px 20px; border-radius: 16px; }
	.dv-box__title { font-size: 17px; margin-bottom: 14px; }
	.dv-fields { gap: 12px; }
	.dv-fields .form-row-first, .dv-fields .form-row-last { grid-column: span 3; }
	.dv-fields .form-row-third { grid-column: span 6; }
	.dv-fields #billing_email_field, .dv-fields #billing_phone_field, .dv-fields #billing_address_1_field, .dv-fields #billing_address_2_field { grid-column: span 6; }
	.dv-radios--2 { grid-template-columns: 1fr; }
	.dv-co-mobile-cta { position: sticky; bottom: 0; padding: 12px 0; background: var(--warm); }

	.dv-acct__head { flex-direction: column; align-items: flex-start; margin-bottom: 20px; }
	.dv-acct__grid { grid-template-columns: 1fr; gap: 16px; }
	.dv-acct__nav ul { flex-direction: row; overflow-x: auto; scrollbar-width: none; }
	.dv-acct__nav a { white-space: nowrap; padding: 10px 12px; }
	.dv-acct__content { padding: 18px; }
	.dv-dash__tiles, .dv-acct__content .woocommerce-Addresses { grid-template-columns: 1fr; }
	.dv-acct__content form .form-row-first, .dv-acct__content form .form-row-last { width: 100%; margin-right: 0; }
	.dv-auth__grid { grid-template-columns: 1fr; }
	.dv-thanks__meta { grid-template-columns: 1fr 1fr; }

	.dv-age { align-items: flex-end; padding: 0; }
	.dv-age__box { border-radius: 24px 24px 0 0; padding: 32px 24px calc(24px + env(safe-area-inset-bottom)); }
	.dv-age__title { font-size: 26px; }
	.dv-age__btns { grid-template-columns: 1fr; }
	.dv-age__btns [data-age-yes] { order: -1; }
	.dv .page-header .entry-title { font-size: 30px; padding: 24px 0 16px; }
	.dv .site-main.page .page-content, .dv .site-main .page-header { padding-left: 16px; padding-right: 16px; }
}
.dv-hero__media video { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 900px) {
	.dv-hero__card { background: #F6D9D8 var(--hero-img) center / cover no-repeat; }
}
/* Elementor resets images (height:auto); keep our sizes. */
.dv .dv-footer img.dv-footer__logo { height: 52px; width: auto; }
.dv .dv-header__logo img { height: 50px; width: auto; }
.dv .dv-mega__banner img, .dv .dv-hero__media img, .dv .dv-card__media img, .dv .dv-cat__img img, .dv .dv-mega__feat-img img { height: 100%; }
.dv .dv-brand img { height: auto; max-height: 40px; }
@media (max-width: 900px) {
	.dv .dv-header__logo img { height: 34px; }
	.dv .dv-footer img.dv-footer__logo { height: 38px; }
}
.dv .dv-atc .single_add_to_cart_button, .dv .dv-atc .single_add_to_cart_button.disabled, .dv .dv-atc .single_add_to_cart_button:disabled { background-color: var(--red) !important; color: #fff !important; }
.dv .dv-atc .single_add_to_cart_button:hover { background-color: var(--red-dark) !important; }
.dv .added_to_cart, .dv .single_add_to_cart_button.added::after, .dv .dv-add.added::after { display: none !important; }
.dv .dv-atc .single_add_to_cart_button { border-radius: 999px !important; height: 56px; padding: 0 28px; font-family: var(--head); }
.dv .woocommerce-message::before, .dv .woocommerce-info::before, .dv .woocommerce-error::before { display: none; }
.dv .woocommerce-message, .dv .woocommerce-info, .dv .woocommerce-error { padding-left: 18px !important; }
.dv.woocommerce-page .page-content a { color: inherit; text-decoration: none; }
.dv.woocommerce-page .page-content .dv-link-sm { text-decoration: underline; color: var(--muted); }
.dv.woocommerce-page .page-content .dv-red-link, .dv.woocommerce-page .page-content .dv-co__terms a { color: var(--red); }
.dv.woocommerce-page .page-content .dv-co__privacy a { text-decoration: underline; }
/* WooCommerce form defaults (floats, 47% widths, clearfix pseudo elements) off inside our grids. */
.dv .dv-fields::before, .dv .dv-fields::after, .dv .dv-fields .form-row::before, .dv .dv-fields .form-row::after { display: none !important; content: none !important; }
.dv .dv-fields .form-row { width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; }
.dv form .dv-fields .input-text, .dv form .dv-fields select, .dv form .dv-fields textarea, .dv .dv-fields .select2-container { width: 100% !important; }
.dv form .form-row .input-text, .dv form .form-row select { height: 48px; border: 1px solid #D9D3CD; border-radius: 10px; padding: 0 14px; font-size: 15px; background: #fff; box-shadow: none; }
.dv form .form-row textarea.input-text { height: 110px; padding: 12px 14px; }
.dv form .form-row .input-text:focus { border-color: var(--ink); box-shadow: 0 0 0 1px var(--ink); outline: none; }
.dv form .form-row label { line-height: 1.3; margin: 0; }
.dv .dv-co .woocommerce-billing-fields > h3, .dv .dv-co .woocommerce-shipping-fields > h3 { display: none; }
.dv form .dv-fields select.select2-hidden-accessible { width: 1px !important; }
.dv #payment { background: none; border-radius: 0; }
.dv #payment ul.payment_methods { padding: 0; border: 0; margin: 0; }
.dv #payment ul.payment_methods::before, .dv #payment ul.payment_methods::after { display: none; content: none; }
.dv #payment ul.payment_methods li { line-height: 1.4; }
.dv #payment div.payment_box { background: none; margin: 0; }
.dv #payment div.payment_box::before { display: none; }
.dv-co .dv-radio input[type="radio"] { position: absolute; opacity: 0; }
@media (max-width: 900px) {
	.dv-cats { margin: 0; padding: 0 0 4px; }
	.dv-hero__card .dv-eyebrow--red { color: var(--ink); }
}
.dv-stores { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 24px 0; }
.dv-store { background: var(--warm); border-radius: 18px; padding: 22px; display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.dv-store b { font-size: 20px; color: var(--ink); }
.dv-store .dv-btn { margin-top: 8px; color: #fff !important; text-decoration: none !important; }
.dv-store .dv-arrow-link { color: var(--ink) !important; text-decoration: none !important; font-size: 14px; }
.dv-hours-box { border: 1px solid var(--line); border-radius: 18px; padding: 22px; display: flex; flex-direction: column; gap: 10px; max-width: 560px; }
.dv-hours-box > div { display: flex; justify-content: space-between; gap: 16px; }
.dv-hours-box b { color: var(--ink); }
.dv .page-content .dv-btn { color: #fff; text-decoration: none; }
@media (max-width: 900px) { .dv-stores { grid-template-columns: 1fr; } }
.dv form .dv-qty input.qty, .dv .dv-qty input.input-text { height: 100% !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; width: 36px !important; background: transparent; }
.dv .dv-atc #wapo-total-price-table, .dv .dv-atc .yith-wapo-totals-table, .dv .dv-atc table.wapo-total-price-table { width: 100%; font-size: 14px; border-collapse: collapse; margin: 4px 0; }
.dv .dv-atc #wapo-total-price-table th, .dv .dv-atc #wapo-total-price-table td { font-size: 14px !important; font-weight: 500; padding: 4px 0 !important; color: var(--text); text-align: left; }
.dv .dv-atc #wapo-total-price-table tr:last-child td, .dv .dv-atc #wapo-total-price-table tr:last-child th { color: var(--ink); font-weight: 800; }
.dv .dv-atc .yith-wapo-addon .wapo-addon-title, .dv .dv-atc .yith-wapo-addon h3 { font-size: 15px !important; font-weight: 700; margin: 0 0 8px !important; }
.dv .dv-atc .yith-wapo-option { font-size: 15px; padding: 3px 0; }
.dv .dv-atc .yith-wapo-option input[type="radio"], .dv .dv-atc .yith-wapo-option input[type="checkbox"] { accent-color: var(--red); }
.dv-points { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; border-radius: 12px; background: #fff; font-size: 14px; color: var(--text); line-height: 1.4; }
.dv-points .dv-i { color: var(--red); flex: none; margin-top: 1px; }
.dv-points b { color: var(--ink); }
.dv-points a { color: var(--red) !important; font-weight: 700; }
.dv-points small { display: block; color: var(--muted); font-size: 12px; margin-top: 2px; }
.dv-co .dv-points { background: var(--warm); margin-top: 14px; }
/* Plugin redeem box (logged-in members with points) */
.dv .woo-points-redeem-points-wrap { background: var(--warm); border: 0; border-radius: 14px; padding: 14px 18px; margin: 0 0 20px; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 15px; }
.dv .woo-points-redeem-points-wrap .button, .dv .woo-points-redeem-points-wrap input[type="submit"] { height: 40px; padding: 0 18px; border-radius: 999px; background: var(--ink); color: #fff; border: 0; font-weight: 700; cursor: pointer; }
.dv .dv-cline a.remove { font-size: 13px !important; width: auto !important; height: auto !important; color: var(--muted) !important; background: none !important; border-radius: 0 !important; font-weight: 400 !important; line-height: 1.4 !important; text-indent: 0; display: inline; text-decoration: underline; }
.dv-cartpage .dv-title-row { margin-bottom: 20px; }
.dv .dv-acct__grid .woocommerce-MyAccount-navigation, .dv .dv-acct__grid .woocommerce-MyAccount-content { float: none !important; width: auto !important; margin: 0 !important; }
.dv .dv-acct__nav li { list-style: none; margin: 0; }
.dv .dv-acct__nav a .dv-i { flex: none; color: var(--muted); }
.dv .dv-acct__nav .is-active a .dv-i { color: var(--red); }
.dv-pts-hero { display: flex; align-items: center; gap: 16px; background: var(--red-soft); border-radius: 16px; padding: 18px 20px; margin-bottom: 12px; }
.dv-pts-hero .dv-dash__icon { background: #fff; }
.dv-pts-hero b { display: block; font-size: 26px; font-weight: 800; }
.dv-pts-hero span { font-size: 14px; color: var(--text); }
.dv-pts-log { margin-top: 20px; border-top: 1px solid var(--line); }
.dv-pts-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.dv-pts-row small { display: block; font-size: 12px; color: var(--muted); }
.dv-pts-row .is-plus { color: var(--green); }
.dv-pts-row .is-minus { color: var(--red); }

/* Hero: one card, smoke video as background */
.dv-hero { display: block; padding-top: 32px; }
.dv-hero__card { position: relative; overflow: hidden; min-height: 560px; padding: 64px; background: var(--warm); isolation: isolate; }
.dv-hero__card > :not(.dv-hero__bg) { position: relative; z-index: 2; max-width: 520px; }
.dv-hero__bg { position: absolute; inset: 0; z-index: 0; }
.dv-hero__bg video, .dv-hero__bg img { width: 100%; height: 100% !important; object-fit: cover; object-position: 70% 50%; display: block; }
.dv-hero__bg::after { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(247, 244, 241, .97) 0%, rgba(247, 244, 241, .88) 34%, rgba(247, 244, 241, .25) 62%, rgba(247, 244, 241, 0) 80%); }
@media (max-width: 900px) {
	.dv-hero { padding-top: 4px; }
	.dv-hero__card { min-height: 420px; padding: 24px; background: var(--warm); }
	.dv-hero__bg::after { background: linear-gradient(0deg, rgba(247, 244, 241, .96) 0%, rgba(247, 244, 241, .8) 38%, rgba(247, 244, 241, 0) 75%); }
	.dv-hero__bg video, .dv-hero__bg img { object-position: 60% 30%; }
}

/* Product add-ons (YITH Nic Booster) as option cards */
.dv .dv-atc #yith-wapo-container { width: 100%; display: flex; flex-direction: column; gap: 14px; }
.dv .dv-atc .yith-wapo-block { margin: 0 !important; }
.dv .dv-atc .yith-wapo-addon { background: transparent !important; padding: 0 !important; margin: 0 !important; border: 0 !important; }
.dv .dv-atc .yith-wapo-addon .addon-header { margin-bottom: 10px; }
.dv .dv-atc .yith-wapo-addon .wapo-addon-title { font-size: 14px !important; font-weight: 700 !important; color: var(--ink); margin: 0 !important; padding: 0 !important; cursor: default; }
.dv .dv-atc .yith-wapo-addon .wapo-addon-title::after, .dv .dv-atc .yith-wapo-addon .wapo-addon-title::before { display: none !important; }
.dv .dv-atc .yith-wapo-addon .options-container { display: block !important; }
.dv .dv-atc .yith-wapo-addon .options { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px !important; }
.dv .dv-atc .yith-wapo-option { padding: 0 !important; margin: 0 !important; }
.dv .dv-atc .yith-wapo-option .label, .dv .dv-atc .yith-wapo-option .option-container, .dv .dv-atc .yith-wapo-option .radio-button-container { display: block; height: 100%; margin: 0; padding: 0; }
.dv .dv-atc .yith-wapo-option .radiobutton { position: absolute; opacity: 0; pointer-events: none; }
.dv .dv-atc .yith-wapo-option .yith-wapo-label { display: flex; flex-direction: column; justify-content: center; gap: 2px; min-height: 58px; height: 100%; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: #fff; font-size: 14px !important; font-weight: 700; line-height: 1.25; color: var(--ink); cursor: pointer; transition: border-color .15s, box-shadow .15s; margin: 0 !important; }
.dv .dv-atc .yith-wapo-option .yith-wapo-label:hover { border-color: var(--ink); }
.dv .dv-atc .yith-wapo-option .yith-wapo-label small, .dv .dv-atc .yith-wapo-option .yith-wapo-label .option-price { font-size: 12px !important; font-weight: 500; color: var(--muted); }
.dv .dv-atc .yith-wapo-option:has(input:checked) .yith-wapo-label { border-color: var(--red); box-shadow: inset 0 0 0 1px var(--red); background: var(--red-soft); }
.dv .dv-atc .yith-wapo-option:has(input:checked) .yith-wapo-label small { color: var(--red); }
.dv .dv-atc #wapo-total-price-table { background: var(--warm); border-radius: 12px; padding: 12px 16px; }
.dv .dv-atc #wapo-total-price-table table { width: 100%; border: 0; margin: 0; border-collapse: collapse; }
.dv .dv-atc #wapo-total-price-table tr { display: flex; justify-content: space-between; gap: 12px; }
.dv .dv-atc #wapo-total-price-table th, .dv .dv-atc #wapo-total-price-table td { border: 0 !important; background: none !important; padding: 3px 0 !important; font-size: 14px !important; font-weight: 500 !important; color: var(--text) !important; text-align: left; width: auto !important; }
.dv .dv-atc #wapo-total-price-table td { text-align: right; color: var(--ink) !important; }
.dv .dv-atc #wapo-total-price-table tr.wapo-total-order { border-top: 1px solid var(--line); margin-top: 6px; padding-top: 6px; }
.dv .dv-atc #wapo-total-price-table tr.wapo-total-order th, .dv .dv-atc #wapo-total-price-table tr.wapo-total-order td { font-weight: 800 !important; color: var(--ink) !important; font-size: 15px !important; }
.dv .dv-atc #wapo-total-price-table small { display: none; }
/* WCPA note under the options */
.dv .dv-atc .wcpa_form_outer { margin: 0 !important; padding: 12px 14px; border-radius: 12px; background: var(--amber-soft); font-size: 13px; line-height: 1.5; color: var(--text); }
.dv .dv-atc .wcpa_form_outer:empty { display: none; }
.dv .dv-atc .wcpa_form_outer p, .dv .dv-atc .wcpa_form_outer .wcpa_form_item { margin: 0 0 4px !important; font-size: 13px !important; }
.dv .dv-atc .wcpa_form_outer strong, .dv .dv-atc .wcpa_form_outer b { color: var(--ink); font-weight: 700; }
.dv .dv-pdp__price .dv-muted-sm { display: inline-flex; align-items: center; gap: 4px; font-weight: 600; color: var(--ink); background: var(--field); padding: 5px 10px; border-radius: 999px; font-size: 13px; }
@media (max-width: 900px) {
	.dv .dv-atc .yith-wapo-addon .options { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
.dv .dv-atc .yith-wapo-option, .dv .dv-atc .yith-wapo-option .label, .dv .dv-atc .yith-wapo-option .option-container, .dv .dv-atc .yith-wapo-option .radio-button-container, .dv .dv-atc .yith-wapo-option .yith-wapo-label { width: 100% !important; max-width: none !important; }
.dv .dv-atc #wapo-total-price-table table, .dv .dv-atc #wapo-total-price-table tbody { display: block; }
.dv .dv-atc #wapo-total-price-table tr { height: auto !important; line-height: 1.4; }
.dv .dv-atc #wapo-total-price-table th, .dv .dv-atc #wapo-total-price-table td { display: block; height: auto !important; line-height: 1.4 !important; }
.dv .dv-atc #wapo-total-price-table { margin-top: 4px !important; }
.dv .dv-atc .wcpa_form_outer * { margin-top: 0 !important; margin-bottom: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; min-height: 0 !important; }
.dv .dv-atc .wcpa_form_outer .wcpa_form_item, .dv .dv-atc .wcpa_form_outer p { margin-bottom: 4px !important; }
.dv .woo-pr-redeem-earn-points { background: var(--red-soft) !important; border: 0 !important; border-radius: 14px !important; padding: 14px 18px !important; }
.dv .woo-pr-redeem-earn-points .woo-points-redeem-points-wrap { background: none; padding: 0; margin: 0; width: 100%; }
.dv .woo-pr-points-checkout-message { border: 0; padding: 0; margin: 0; width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-direction: row-reverse; font-size: 15px; }
.dv .woo-pr-points-checkout-message .button { float: none !important; height: 36px; padding: 0 16px; border-radius: 999px; background: #fff; color: var(--ink) !important; border: 1px solid var(--line); font-weight: 700; display: inline-flex; align-items: center; font-size: 13px; text-decoration: none !important; }
.dv .woo-pr-points-checkout-message .button:hover { border-color: var(--ink); }
.dv-tab__grid { display: block; max-width: 860px; }
/* Product page: sticky gallery sits below the sticky header (137px visible on desktop). */
.dv-gallery { top: 157px; }
body.admin-bar .dv-gallery { top: 189px; }
/* Add-on blocks: clear spacing between options, totals, note and the buy row. */
.dv .dv-atc #yith-wapo-container { display: flex !important; flex-direction: column; gap: 16px !important; margin-bottom: 4px; }
.dv .dv-atc #yith-wapo-container > * { margin: 0 !important; }
.dv .dv-atc #wapo-total-price-table { margin-top: 0 !important; }
.dv .dv-atc form.cart > .wcpa_form_outer { margin-bottom: 4px !important; }
.dv .dv-atc .yith-wapo-addon .options { row-gap: 10px !important; column-gap: 10px !important; }
.dv .dv-atc .yith-wapo-addon .options { grid-auto-rows: auto !important; align-items: stretch; }
.dv .dv-atc .yith-wapo-option { display: flex !important; height: auto !important; }
.dv .dv-atc .yith-wapo-option .label, .dv .dv-atc .yith-wapo-option .option-container, .dv .dv-atc .yith-wapo-option .radio-button-container { display: flex !important; flex: 1; height: auto !important; min-height: 0 !important; }
.dv .dv-atc .yith-wapo-option .yith-wapo-label { flex: 1; height: auto !important; min-height: 58px; box-sizing: border-box; }
.dv .dv-atc form.cart > .wcpa_form_outer { margin: 12px 0 8px !important; width: 100%; }
.dv .dv-atc form.cart > #yith-wapo-container { width: 100%; }
/* Cart: narrower summary that stays in view under the sticky header. */
.dv-cart-grid { grid-template-columns: minmax(0, 1fr) 360px; gap: 56px; }
.dv-summary { top: 157px; padding: 24px; }
.dv-co__aside { top: 104px; }
body.admin-bar .dv-summary { top: 189px; }
.dv-cline__sub { line-height: 1.45; }
@media (max-width: 1200px) { .dv-cart-grid { grid-template-columns: minmax(0, 1fr) 330px; gap: 32px; } }
/* Sticky must sit on the grid item (the wrapper), not on the box inside it. */
.dv-cart-aside { position: sticky; top: 157px; }
body.admin-bar .dv-cart-aside { top: 189px; }
.dv-cart-aside .dv-summary { position: static; }
@media (max-width: 900px) { .dv-cart-aside { position: static; } }
/* Compact summary so it fits under the header and can stay sticky. */
.dv-cart-aside .dv-summary { gap: 12px; padding: 22px; }
.dv-cart-aside .dv-summary__title { font-size: 20px; }
.dv-cart-aside .dv-summary__label { margin-bottom: 8px; }
.dv-cart-aside .dv-radio { padding: 11px 14px; min-height: 0; }
.dv-cart-aside .dv-radios { gap: 8px; }
.dv-cart-aside .dv-input { height: 44px; }
.dv-cart-aside .dv-coupon__form .dv-btn { height: 44px; padding: 0 18px; }
.dv-cart-aside .dv-summary__total { padding-top: 12px; }
.dv-cart-aside .dv-summary__total b { font-size: 26px; }
.dv-cart-aside .dv-points { padding: 10px 12px; font-size: 13px; }
.dv-cart-aside .checkout-button { height: 52px; }
/* Shop pages: content-page heading margins must not leak into our components. */
.dv.woocommerce-page .page-content h1, .dv.woocommerce-page .page-content h2, .dv.woocommerce-page .page-content h3 { margin-top: 0; }
.dv.woocommerce-page .page-content .dv-box__title { margin: 0 0 18px; }
.dv.woocommerce-page .page-content .dv-co__summary .dv-box__title { margin: 0; }
.dv.woocommerce-page .page-content .dv-h2 { margin: 0 0 24px; }
.dv.woocommerce-page .page-content .dv-head-row .dv-h2 { margin: 0; }
.dv.woocommerce-page .page-content .dv-acct__h2 { margin: 0 0 16px; }
@media (max-width: 900px) {
	/* Mobile cart: one column (the desktop 2-column rule above came later in the file). */
	.dv-cart-grid { grid-template-columns: 1fr; gap: 20px; }
	.dv.woocommerce-page .page-content .dv-box__title { margin-bottom: 14px; }
	.dv.woocommerce-page .page-content .dv-h2 { margin-bottom: 16px; }
}
/* Login / register: our card is the box, WooCommerce's form border goes. */
.dv .dv-auth form.login, .dv .dv-auth form.register { border: 0 !important; padding: 0 !important; margin: 0 !important; border-radius: 0; }
.dv .dv-auth .woocommerce-privacy-policy-text p { font-size: 12px; line-height: 1.6; color: var(--muted); margin: 4px 0 14px; }
.dv .dv-auth .woocommerce-privacy-policy-text a { color: var(--ink); text-decoration: underline; }
.dv .dv-auth__title { margin-bottom: 4px; }
.dv .dv-auth__card .dv-btn--block + * { margin-top: 0; }
@media (max-width: 900px) { .dv-auth { padding-top: 24px; } .dv-auth__card { padding: 20px; } }
/* 404 */
.dv-404 { padding-top: 64px; padding-bottom: 32px; display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.dv-404 .dv-muted { max-width: 560px; font-size: 17px; line-height: 1.6; }
.dv-404__search { width: 100%; max-width: 620px; flex: none; }
/* Content pages: our own wraps inside the page content keep the header's edges. */
.dv .page-content .dv-wrap { padding-left: 0; padding-right: 0; max-width: none; }
.dv .page-content > .dv-page-head:first-child { padding-top: 8px; }
/* Category list: one row duplicate count hidden when there are no active filters. */
.dv-actives:has(.dv-chips:empty) { display: none; }
.dv-archive__body { padding-top: 28px; }
/* Homepage: tiles and offer cards fill the row whatever their number. */
.dv-cats { grid-template-columns: repeat(var(--n, 6), minmax(0, 1fr)); }
.dv-offers__cards { grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); }
@media (max-width: 900px) { .dv-archive__body { padding-top: 16px; } }
.dv-archive.is-empty .dv-fbar, .dv-archive.is-empty .dv-actives, .dv-archive.is-empty [data-more], .dv-archive.is-empty .dv-archive__title .dv-muted, .dv-archive.is-empty [data-count-mobile] { display: none !important; }
.dv-archive.is-empty .dv-noresults[data-noresults] { display: none !important; }
