/*
Theme Name: Diposi
Theme URI: https://diposi.com/
Author: Diposi
Description: Giao diện Diposi — Digital · Power · Simplify. Thiết kế cho cửa hàng phụ kiện sạc (củ sạc, cáp sạc, pin dự phòng), tích hợp WooCommerce: trang chủ, danh mục, chi tiết sản phẩm, giỏ hàng, thanh toán và các trang Bảo hành / Liên hệ / Đại lý.
Version: 1.0.1
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: diposi
Tags: e-commerce, custom-logo, custom-menu, translation-ready
*/

:root {
	--dp-ink: #212121;
	--dp-muted: #5A5468;
	--dp-primary: #512DA8;
	--dp-primary-dark: #311B92;
	--dp-violet: #7C4DFF;
	--dp-border: #DBCCF7;
	--dp-outline: #8157BC;
	--dp-tint: #F1EBFB;
	--dp-white: #FFFFFF;
	--dp-grey: #ECEFF1;
	--dp-blue: #3D5AFE;
	--dp-ok: #00E676;
	--dp-amber: #FFB300;
	--dp-err: #C62828;
	--dp-shadow: 0 2px 8px rgba(49,27,146,0.08);
	--dp-shadow-lg: 0 12px 32px rgba(49,27,146,0.16);
	--dp-gutter: clamp(16px, 4vw, 64px);
	--dp-font: Inter, system-ui, -apple-system, 'Segoe UI', sans-serif;
	--dp-head: 'Space Grotesk', system-ui, sans-serif;
	--dp-display: PROXON, 'Space Grotesk', system-ui, sans-serif;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #FFFFFF; color: var(--dp-ink); font: 16px/1.5 var(--dp-font); overflow-x: hidden; }
img, svg, video, iframe { max-width: 100%; }
img { height: auto; display: block; }
a { color: var(--dp-primary); }
a:hover { color: var(--dp-primary-dark); }
:focus-visible { outline: 2px solid var(--dp-blue); outline-offset: 2px; }
summary { cursor: pointer; list-style: none; }
summary::-webkit-details-marker { display: none; }
input[type=checkbox], input[type=radio] { accent-color: var(--dp-primary); }
button, input, select, textarea { font: inherit; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.dp-skip { position: absolute; left: -9999px; top: 8px; z-index: 1000; padding: 8px 16px; background: var(--dp-primary); color: #FFF; border-radius: 6px; }
.dp-skip:focus { left: 8px; color: #FFF; }

.dp-wrap { max-width: 1280px; margin: 0 auto; padding-left: var(--dp-gutter); padding-right: var(--dp-gutter); }
.dp-main { padding-bottom: 64px; }
.dp-section { max-width: 1280px; margin: 0 auto; padding: 64px var(--dp-gutter) 0; }

.dp-display { font-family: var(--dp-display); }
.dp-h1 { font-family: var(--dp-head); font-size: clamp(28px, 3vw, 36px); line-height: 1.12; font-weight: 700; letter-spacing: -0.01em; }
.dp-h1__count { font-weight: 500; color: var(--dp-muted); font-size: 0.6em; }
.dp-h2 { margin: 0; font-family: var(--dp-head); font-size: 28px; line-height: 34px; font-weight: 700; }
.dp-h3 { margin: 0; font-family: var(--dp-head); font-size: 20px; line-height: 26px; font-weight: 500; }
.dp-h3 a { color: var(--dp-ink); text-decoration: none; }
.dp-h3 a:hover { color: var(--dp-primary); }
.dp-eyebrow { margin: 0 0 8px; font-family: var(--dp-head); font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: 0.08em; color: var(--dp-primary); }
.dp-muted { margin: 0; font-size: 14px; line-height: 20px; color: var(--dp-muted); }
.dp-lead, .dp-lead p { margin: 0; font-size: 16px; line-height: 24px; color: var(--dp-muted); max-width: 680px; }
.dp-iconline { margin: 0; display: flex; gap: 10px; font-size: 15px; line-height: 22px; }

/* ---------- Buttons, pills, inputs ---------- */
.dp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 48px; padding: 0 24px; border-radius: 6px; border: 0; font-weight: 600; font-size: 15px; text-decoration: none; cursor: pointer; white-space: nowrap; transition: background .15s, color .15s; }
.dp-btn--primary { background: var(--dp-primary); color: #FFF; }
.dp-btn--primary:hover { background: var(--dp-primary-dark); color: #FFF; }
.dp-btn--white { background: #FFF; color: var(--dp-primary); }
.dp-btn--white:hover { background: var(--dp-tint); color: var(--dp-primary-dark); }
.dp-btn--ghost-light { border: 1.5px solid #FFF; color: #FFF; background: transparent; }
.dp-btn--ghost-light:hover { background: rgba(255,255,255,.12); color: #FFF; }
.dp-btn--outline { border: 1.5px solid var(--dp-outline); color: var(--dp-primary); background: #FFF; }
.dp-btn--outline:hover { background: var(--dp-tint); }
.dp-more { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; font-weight: 600; font-size: 15px; text-decoration: none; }

.dp-pill { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; border-radius: 999px; font-size: 12px; line-height: 16px; font-weight: 600; white-space: nowrap; }
.dp-pill--ok { background: var(--dp-ok); color: var(--dp-ink); }
.dp-pill--off { background: var(--dp-grey); color: var(--dp-muted); }
.dp-pill--soft { background: var(--dp-tint); color: var(--dp-primary); }
.dp-pill--amber { background: var(--dp-amber); color: var(--dp-ink); }

.dp-input { width: 100%; min-height: 48px; padding: 0 14px; border: 1.5px solid var(--dp-outline); border-radius: 6px; font-size: 15px; color: var(--dp-ink); background: #FFF; }
textarea.dp-input { padding: 12px 14px; resize: vertical; }
select.dp-input { padding: 0 12px; }
.dp-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.dp-field label { font-size: 12px; line-height: 16px; font-weight: 500; color: var(--dp-muted); }

.dp-notice { margin: 0 0 16px; padding: 12px 16px; border-radius: 6px; font-size: 14px; line-height: 20px; }
.dp-notice--ok { background: #E8FFF2; color: #0B6B3A; border: 1px solid #7BE8AE; }
.dp-notice--err { background: #FDECEC; color: var(--dp-err); border: 1px solid #F3B4B4; }

.dp-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.dp-chips a { display: inline-flex; align-items: center; height: 40px; padding: 0 16px; border-radius: 999px; background: var(--dp-tint); color: var(--dp-primary); font-size: 14px; font-weight: 600; text-decoration: none; }
.dp-chips a[aria-current], .dp-chips a:hover { background: var(--dp-primary); color: #FFF; }

.dp-crumbs { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; color: var(--dp-muted); }
.dp-crumbs a { text-decoration: none; }
.dp-crumbs--light { color: #DBCCF7; }
.dp-crumbs--light a { color: #FFF; }
.dp-breadcrumb { padding: 20px 0; }

/* ---------- Header ---------- */
.dp-header { background: #FFF; border-bottom: 1px solid var(--dp-border); position: relative; z-index: 50; }
.dp-topbar { background: var(--dp-primary-dark); color: #FFF; }
.dp-topbar__inner { padding-top: 8px; padding-bottom: 8px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; font-size: 13px; line-height: 20px; }
.dp-topbar p { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 20px; }
.dp-topbar .dp-topbar__note { gap: 8px; }
.dp-topbar a { color: #FFF; font-weight: 600; }
.dp-topbar a.dp-topbar__muted { color: var(--dp-border); font-weight: 400; }
.dp-header__main { padding-top: 12px; padding-bottom: 12px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.dp-logo { display: inline-flex; align-items: center; flex: none; }
.dp-logo img { width: 140px; height: auto; max-height: 48px; object-fit: contain; }
.dp-logo--white img { width: 160px; filter: brightness(0) invert(1); }
.dp-nav { flex: 0 1 auto; min-width: 0; }
.dp-nav__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: nowrap; gap: 2px; white-space: nowrap; }
.dp-nav__list li { position: relative; }
.dp-nav__list a { display: inline-flex; align-items: center; height: 44px; padding: 0 12px; border-radius: 6px; color: var(--dp-ink); font-weight: 500; font-size: 15px; text-decoration: none; }
.dp-nav__list a:hover, .dp-nav__list .current-menu-item > a { background: var(--dp-tint); color: var(--dp-primary); }
.dp-nav__list .sub-menu { display: none; position: absolute; top: 100%; left: 0; min-width: 220px; list-style: none; margin: 0; padding: 8px; background: #FFF; border: 1px solid var(--dp-border); border-radius: 12px; box-shadow: var(--dp-shadow-lg); }
.dp-nav__list li:hover > .sub-menu, .dp-nav__list li:focus-within > .sub-menu { display: block; }
.dp-nav__list .sub-menu a { display: flex; height: 40px; }
.dp-menu-toggle { display: none; width: 44px; height: 44px; margin-left: auto; border: 1.5px solid var(--dp-border); border-radius: 6px; background: #FFF; color: var(--dp-primary); align-items: center; justify-content: center; cursor: pointer; }
.dp-search { flex: 1 1 220px; max-width: 320px; margin-left: auto; min-width: 180px; display: flex; align-items: center; gap: 8px; height: 44px; padding: 0 6px 0 14px; border: 1.5px solid var(--dp-outline); border-radius: 6px; background: #FFF; }
.dp-search input { flex: 1; min-width: 0; border: 0; outline: none; font-size: 15px; color: var(--dp-ink); background: transparent; }
.dp-search button { width: 36px; height: 36px; border: 0; border-radius: 6px; background: var(--dp-primary); color: #FFF; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; flex: none; }
.dp-search--block { max-width: 420px; margin: 24px 0; }
.dp-cart-link { display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 16px; border-radius: 999px; background: var(--dp-tint); color: var(--dp-primary); font-weight: 600; font-size: 15px; text-decoration: none; }
.dp-cart-count { min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: var(--dp-primary); color: #FFF; font-size: 12px; display: inline-flex; align-items: center; justify-content: center; }

/* ---------- Footer ---------- */
.dp-footer { color: #FFF; background: var(--dp-primary); }
.dp-footer__main { padding-top: 64px; padding-bottom: 40px; display: flex; flex-wrap: wrap; gap: 40px; }
.dp-footer__brand { flex: 1 1 300px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.dp-footer__col { flex: 1 1 160px; min-width: 0; font-style: normal; }
.dp-footer__contact { flex-basis: 260px; }
.dp-footer__title { margin: 0 0 16px; font-family: var(--dp-head); font-size: 16px; font-weight: 700; }
.dp-footer__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; font-size: 14px; }
.dp-footer__links a { display: inline-flex; min-height: 32px; align-items: center; color: #F1EBFB; text-decoration: none; }
.dp-footer__links a:hover { color: #FFF; text-decoration: underline; }
.dp-footer__contact ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; font-size: 14px; line-height: 20px; color: #F1EBFB; }
.dp-footer__contact li { display: flex; gap: 10px; }
.dp-footer__contact a { color: #FFF; font-weight: 600; }
.dp-footer__bottom { border-top: 1px solid rgba(255,255,255,0.2); }
.dp-footer__bottom-inner { padding-top: 20px; padding-bottom: 20px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; font-size: 13px; line-height: 20px; color: #DBCCF7; }
.dp-footer__legal { margin: 0; display: flex; flex-wrap: wrap; gap: 4px 20px; }
.dp-footer__legal a { color: #DBCCF7; }

/* ---------- Home ---------- */
.dp-hero { background: linear-gradient(90deg, var(--dp-primary), var(--dp-violet)); border-radius: 20px; padding: clamp(32px, 6vw, 72px); display: flex; flex-wrap: wrap; align-items: center; gap: 40px; color: #FFF; overflow: hidden; }
.dp-hero__media { flex: 1 1 340px; min-width: 0; margin: 0; height: 380px; border-radius: 12px; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.28); display: flex; align-items: center; justify-content: center; color: #DBCCF7; overflow: hidden; }
.dp-hero__media img { width: 100%; height: 100%; object-fit: contain; }
.dp-trust { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.dp-trust li { display: flex; gap: 16px; align-items: center; padding: 20px 24px; background: var(--dp-tint); border-radius: 12px; }
.dp-trust .dp-icon { flex: none; }
.dp-trust__title { margin: 0; font-family: var(--dp-head); font-weight: 700; font-size: 16px; }
.dp-section__head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.dp-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 24px; }
.dp-grid--auto-fit { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.dp-grid--products { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.dp-grid--shop { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.dp-cat-card { display: flex; flex-direction: column; gap: 16px; padding: 24px; border: 1px solid var(--dp-border); border-radius: 12px; text-decoration: none; color: var(--dp-ink); box-shadow: var(--dp-shadow); height: 100%; transition: box-shadow .15s, transform .15s; }
.dp-cat-card:hover { box-shadow: var(--dp-shadow-lg); transform: translateY(-2px); color: var(--dp-ink); }
.dp-cat-card__media { height: 160px; border-radius: 12px; background: var(--dp-white); display: flex; align-items: center; justify-content: center; color: var(--dp-primary); overflow: hidden; }
.dp-cat-card__media img { width: 100%; height: 100%; object-fit: contain; }

/* Product card */
.dp-card { display: flex; flex-direction: column; border: 1px solid var(--dp-border); border-radius: 12px; overflow: hidden; background: #FFF; box-shadow: var(--dp-shadow); transition: box-shadow .15s; }
.dp-card:hover { box-shadow: var(--dp-shadow-lg); }
.dp-card__link { display: flex; flex-direction: column; text-decoration: none; color: var(--dp-ink); }
.dp-card__link:hover { color: var(--dp-ink); }
.dp-card__media { position: relative; background: var(--dp-); display: flex; align-items: center; justify-content: center; color: var(--dp-outline); overflow: hidden; }
.dp-card__media img { width: 100%; height: 100%; object-fit: cover; }
.dp-badge { position: absolute; top: 12px; left: 12px; padding: 4px 8px; border-radius: 6px; background: var(--dp-amber); color: var(--dp-ink); font-size: 12px; line-height: 16px; font-weight: 600; }
.dp-card__body { padding: 16px 16px 0; display: flex; flex-direction: column; gap: 6px; }
.dp-card__spec { font-size: 12px; line-height: 16px; font-weight: 500; color: var(--dp-muted); }
.dp-card__title { margin: 0; font-family: var(--dp-head); font-size: 16px; line-height: 22px; font-weight: 600; }
.dp-card__foot { margin-top: auto; padding: 12px 16px 16px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.dp-card__foot--stack { flex-direction: column; align-items: stretch; gap: 12px; }
.dp-price, .dp-price .amount { font-family: var(--dp-head); font-size: 20px; font-weight: 700; color: var(--dp-primary); }
.dp-price del, .dp-price del .amount { font-size: 14px; font-weight: 500; color: var(--dp-muted); }
.dp-price ins { text-decoration: none; }
.dp-card a[data-dp-variant="round"] { flex: none; width: 44px; height: 44px; padding: 0; border-radius: 999px; background: var(--dp-primary); color: #FFF; display: inline-flex; align-items: center; justify-content: center; border: 0; }
.dp-card a[data-dp-variant="round"]:hover { background: var(--dp-primary-dark); }
.dp-card a[data-dp-variant="outline"] { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 44px; border-radius: 6px; border: 1.5px solid var(--dp-outline); color: var(--dp-primary); background: #FFF; font-weight: 600; font-size: 14px; text-decoration: none; }
.dp-card a[data-dp-variant="outline"]:hover { background: var(--dp-tint); }
.dp-card a.loading { opacity: .6; pointer-events: none; }
.dp-card a.added::after { content: '✓'; margin-left: 4px; font-weight: 700; }
.dp-card .added_to_cart { display: none; }

.dp-tech { background: linear-gradient(90deg, var(--dp-primary-dark), var(--dp-blue)); border-radius: 20px; padding: clamp(32px, 5vw, 64px); color: #FFF; display: flex; flex-direction: column; gap: 32px; }
.dp-tech__stats { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; }
.dp-tech__stats > div { padding: 24px; border-radius: 12px; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.22); }
.dp-tech__stats dt { font-size: 40px; line-height: 1; }
.dp-tech__stats dd { margin: 8px 0 0; font-size: 14px; line-height: 20px; color: #F1EBFB; }
.dp-pillars { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.dp-pillars article { padding: 32px; border-radius: 12px; background: var(--dp-grey); display: flex; flex-direction: column; gap: 12px; }
.dp-pillars article > p:last-child { margin: 0; font-size: 16px; line-height: 24px; color: var(--dp-muted); }
.dp-pillars__tag { margin: 0; font-size: 14px; letter-spacing: 0.08em; color: var(--dp-primary); }
.dp-buy { display: flex; flex-wrap: wrap; gap: 32px; align-items: center; padding: clamp(24px, 4vw, 48px); border-radius: 20px; background: var(--dp-tint); }
.dp-buy__list { flex: 1 1 420px; min-width: 0; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }
.dp-buy__list li { padding: 20px; border-radius: 12px; background: #FFF; display: flex; flex-direction: column; gap: 8px; }
.dp-buy__list strong { font-family: var(--dp-head); font-size: 16px; }

/* FAQ (details) */
.dp-faq { display: flex; flex-direction: column; gap: 12px; }
.dp-faq details { border: 1px solid var(--dp-border); border-radius: 12px; padding: 0 24px; background: #FFF; }
.dp-faq summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 60px; padding: 12px 0; font-family: var(--dp-head); font-size: 17px; font-weight: 600; }
.dp-faq summary .dp-icon { flex: none; transition: transform .2s; }
.dp-faq details[open] summary .dp-icon { transform: rotate(180deg); }
.dp-faq details > p { margin: 0 0 20px; font-size: 16px; line-height: 24px; color: var(--dp-muted); }
.dp-faq--white details { border: 0; padding: 0 20px; }
.dp-faq--white summary { min-height: 56px; font-size: 16px; }
.dp-faq--white details > p { font-size: 15px; line-height: 22px; margin-bottom: 16px; }

/* Blog */
.dp-posts { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.dp-post-card { display: flex; flex-direction: column; gap: 12px; }
.dp-post-card__media { aspect-ratio: 16 / 9; border-radius: 12px; background: var(--dp-grey); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.dp-post-card__media img { width: 100%; height: 100%; object-fit: cover; }
.dp-post-card__meta { margin: 0; font-size: 12px; line-height: 16px; font-weight: 500; color: var(--dp-muted); }
.dp-archive-head { padding: 32px 0 24px; }
.dp-archive-head .dp-h1 { margin: 0 0 8px; }
.dp-article { max-width: 820px; margin: 0 auto; }
.dp-article__cover { margin: 0 0 32px; border-radius: 20px; overflow: hidden; }

/* ---------- Prose (editor content) ---------- */
.dp-prose { font-size: 16px; line-height: 26px; }
.dp-prose > *:first-child { margin-top: 0; }
.dp-prose h2 { font-family: var(--dp-head); font-size: 28px; line-height: 34px; margin: 40px 0 16px; }
.dp-prose h3 { font-family: var(--dp-head); font-size: 20px; line-height: 26px; font-weight: 500; margin: 32px 0 8px; }
.dp-prose img { border-radius: 12px; }
.dp-prose table { width: 100%; border-collapse: collapse; }
.dp-prose th, .dp-prose td { padding: 12px 16px; border: 1px solid var(--dp-border); text-align: left; }
.dp-prose blockquote { margin: 24px 0; padding: 16px 24px; border-left: 4px solid var(--dp-primary); background: var(--dp-tint); border-radius: 0 12px 12px 0; }

/* ---------- Shop / category ---------- */
.dp-shop__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 16px 40px; padding-bottom: 24px; }
.dp-shop__body { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; }
.dp-shop__filters { flex: 1 1 240px; max-width: 100%; min-width: 0; border: 1px solid var(--dp-border); border-radius: 12px; padding: 8px 24px; }
.dp-shop__list { flex: 999 1 560px; min-width: 0; }
.dp-filter { border-bottom: 1px solid var(--dp-border); padding: 8px 0 16px; }
.dp-filter:last-child { border-bottom: 0; }
.dp-filter summary, .dp-filter__title { display: flex; justify-content: space-between; align-items: center; min-height: 44px; margin: 0; font-family: var(--dp-head); font-size: 16px; font-weight: 700; }
.dp-filter__list, .dp-filter ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; font-size: 15px; }
.dp-filter ul a { color: var(--dp-ink); text-decoration: none; }
.dp-check { display: flex; align-items: center; gap: 10px; min-height: 36px; }
.dp-check__box { width: 18px; height: 18px; flex: none; border: 1.5px solid var(--dp-outline); border-radius: 4px; background: #FFF; }
.dp-check[aria-current] { font-weight: 600; }
.dp-check[aria-current] .dp-check__box { background: var(--dp-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / 14px no-repeat; border-color: var(--dp-primary); }
.dp-shop__toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 20px; }
.dp-shop__toolbar .woocommerce-result-count { margin: 0; font-size: 15px; color: var(--dp-muted); float: none; }
.dp-shop__toolbar .woocommerce-ordering { margin: 0; float: none; }
.dp-shop__toolbar select { height: 44px; padding: 0 12px; border: 1.5px solid var(--dp-outline); border-radius: 6px; font-size: 15px; background: #FFF; color: var(--dp-ink); }
.dp-shop ul.products::before, .dp-shop ul.products::after { display: none !important; }
.dp-shop ul.products li.dp-card { width: auto !important; margin: 0 !important; float: none !important; padding: 0 !important; }
.woocommerce-pagination, .dp-pagination { padding-top: 40px; display: flex; justify-content: center; }
.woocommerce nav.woocommerce-pagination ul, .dp-pagination .nav-links { list-style: none; margin: 0; padding: 0; border: 0 !important; display: flex; flex-wrap: wrap; gap: 8px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0 !important; overflow: visible; }
.woocommerce-pagination .page-numbers, .dp-pagination .page-numbers { display: inline-flex !important; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 8px !important; border-radius: 999px; background: var(--dp-tint) !important; color: var(--dp-primary) !important; font-weight: 600; text-decoration: none; }
.woocommerce-pagination .page-numbers.current, .dp-pagination .page-numbers.current { background: var(--dp-primary) !important; color: #FFF !important; }
.dp-empty { padding: 48px 24px; border: 1px dashed var(--dp-border); border-radius: 12px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 12px; color: var(--dp-muted); }
.dp-seo { display: flex; flex-wrap: wrap; gap: 40px; margin-top: 64px; padding: clamp(24px, 4vw, 48px); border-radius: 20px; background: var(--dp-grey); }

/* ---------- Product ---------- */
.dp-product__top { display: flex; flex-wrap: wrap; gap: 48px; align-items: flex-start; }
.dp-gallery { flex: 1 1 460px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.dp-gallery__main { margin: 0; aspect-ratio: 1 / 1; border-radius: 20px; background: linear-gradient(90deg, var(--dp-primary), var(--dp-violet)); display: flex; align-items: center; justify-content: center; color: #DBCCF7; overflow: hidden; }
.dp-gallery__main img { width: 100%; height: 100%; object-fit: contain; background: var(--dp-white); }
.dp-gallery__thumbs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.dp-gallery__thumbs button { width: 100%; aspect-ratio: 1 / 1; padding: 0; border-radius: 12px; border: 1px solid var(--dp-border); background: var(--dp-tint); cursor: pointer; overflow: hidden; }
.dp-gallery__thumbs button[aria-pressed="true"] { border: 2px solid var(--dp-primary); }
.dp-gallery__thumbs img { width: 100%; height: 100%; object-fit: cover; }
.dp-buybox { flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.dp-buybox .dp-lead, .dp-buybox .dp-lead p { font-size: 18px; line-height: 28px; }
.dp-buybox__price { margin: 0; font-family: var(--dp-head); font-size: 36px; line-height: 40px; font-weight: 700; color: var(--dp-primary); }
.dp-buybox__price del { font-size: 20px; color: var(--dp-muted); font-weight: 500; margin-right: 8px; }
.dp-buybox__price ins { text-decoration: none; }
.dp-highlights { list-style: none; margin: 0; padding: 20px; border-radius: 12px; background: var(--dp-tint); display: flex; flex-direction: column; gap: 12px; font-size: 15px; line-height: 22px; }
.dp-highlights li { display: flex; gap: 12px; }
.dp-buybox__cart form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 0 !important; }
.dp-buybox__cart form.cart::before, .dp-buybox__cart form.cart::after { display: none !important; }
.dp-buybox__cart form.variations_form { display: block; }
.dp-buybox__cart .single_variation_wrap .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.dp-buybox__cart table.variations { width: 100%; margin-bottom: 12px; }
.dp-buybox__cart table.variations select { min-height: 44px; padding: 0 12px; border: 1.5px solid var(--dp-outline); border-radius: 6px; background: #FFF; }
.dp-buybox__cart .single_add_to_cart_button, .dp-buybox__cart .dp-buy-now { flex: 1 1 160px; height: 48px; border-radius: 6px !important; font-weight: 600 !important; font-size: 15px !important; float: none !important; margin: 0 !important; }
.dp-buybox__cart .single_add_to_cart_button { background: #FFF !important; color: var(--dp-primary) !important; border: 1.5px solid var(--dp-outline) !important; }
.dp-buybox__cart .single_add_to_cart_button:hover { background: var(--dp-tint) !important; }
.dp-buybox__cart .single_add_to_cart_button.disabled { opacity: .5; }
.dp-buybox__help { display: flex; flex-wrap: wrap; gap: 0 24px; font-size: 14px; line-height: 20px; color: var(--dp-muted); border-top: 1px solid var(--dp-border); }
.dp-buybox__help p { margin: 12px 0 0; }
.dp-buybox__help a { font-weight: 600; }
.dp-buybox .stock { display: none; }

.quantity { display: inline-flex !important; align-items: center; border: 1.5px solid var(--dp-outline); border-radius: 6px; height: 48px; background: #FFF; float: none !important; margin: 0 !important; }
.quantity .qty { width: 48px !important; height: 44px; border: 0 !important; text-align: center; font-size: 16px; font-weight: 600; color: var(--dp-ink); background: transparent; -moz-appearance: textfield; padding: 0 !important; }
.quantity .qty::-webkit-outer-spin-button, .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.dp-qty__btn { width: 44px; height: 44px; border: 0; background: transparent; color: var(--dp-primary); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.dp-qty__btn:hover { color: var(--dp-primary-dark); }

.dp-product__info { display: flex; flex-wrap: wrap; gap: 32px; margin-top: 64px; }
.dp-summary { flex: 1 1 340px; min-width: 0; padding: 32px; border-radius: 12px; border: 1px solid var(--dp-border); background: #FFF; box-shadow: var(--dp-shadow); }
.dp-summary dl { margin: 0; display: flex; flex-direction: column; gap: 16px; font-size: 15px; line-height: 22px; }
.dp-summary dt { font-weight: 600; }
.dp-summary dd { margin: 2px 0 0; color: var(--dp-muted); }
.dp-specs { flex: 2 1 520px; min-width: 0; }
.dp-specs__table { overflow-x: auto; border: 1px solid var(--dp-border); border-radius: 12px; }
.dp-specs table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 22px; }
.dp-specs th { text-align: left; padding: 14px 20px; width: 40%; font-weight: 600; }
.dp-specs td { padding: 14px 20px; }
.dp-specs tr:nth-child(odd) { background: var(--dp-tint); }
.dp-specs tr + tr th, .dp-specs tr + tr td { border-top: 1px solid var(--dp-border); }
.dp-product__desc, .dp-product__faq, .dp-product__related, .dp-product__reviews { margin-top: 64px; }
.dp-product__faq { max-width: 880px; }

/* ---------- Cart / checkout (classic shortcodes) ---------- */
.dp-checkout-bg { background: var(--dp-grey); }
.dp-shopflow { padding-top: 32px; }
.dp-steps { list-style: none; margin: 0 0 32px; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: 14px; font-weight: 600; }
.dp-steps__item { display: flex; align-items: center; gap: 8px; color: var(--dp-muted); }
.dp-steps__item.is-current, .dp-steps__item.is-done { color: var(--dp-primary); }
.dp-steps__item a { text-decoration: none; }
.dp-steps__dot { width: 28px; height: 28px; border-radius: 999px; border: 1.5px solid var(--dp-outline); display: inline-flex; align-items: center; justify-content: center; }
.is-current .dp-steps__dot { background: var(--dp-primary); border-color: var(--dp-primary); color: #FFF; }
.is-done .dp-steps__dot { background: var(--dp-tint); border-color: var(--dp-tint); }
.dp-steps__bar { width: 40px; height: 2px; background: var(--dp-border); }
.dp-steps__bar.is-done { background: var(--dp-primary); }

.dp-main .woocommerce-message, .dp-main .woocommerce-info, .dp-main .woocommerce-error { border-top: 0; border-radius: 12px; background: var(--dp-tint); color: var(--dp-ink); padding: 16px 20px 16px 52px; margin: 0 0 24px; list-style: none; }
.dp-main .woocommerce-error { background: #FDECEC; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--dp-primary) !important; }
.dp-main .woocommerce-message .button, .dp-main .woocommerce-info .button { float: right; background: var(--dp-primary); color: #FFF; border-radius: 6px; }

.dp-wc .button, .dp-wc button.button, .dp-wc a.button, .dp-wc input.button { background: #FFF; color: var(--dp-primary); border: 1.5px solid var(--dp-outline); border-radius: 6px; min-height: 44px; padding: 0 16px; font-weight: 600; font-size: 14px; line-height: 41px; }
.dp-wc .button:hover { background: var(--dp-tint); color: var(--dp-primary); }
.dp-wc .button.alt, .dp-wc .checkout-button, .dp-wc #place_order { background: var(--dp-primary) !important; color: #FFF !important; border: 0 !important; min-height: 52px; width: 100%; font-size: 16px !important; border-radius: 6px !important; display: flex !important; align-items: center; justify-content: center; }
.dp-wc .button.alt:hover, .dp-wc .checkout-button:hover, .dp-wc #place_order:hover { background: var(--dp-primary-dark) !important; }
.dp-wc .input-text, .dp-wc select, .dp-wc textarea, .dp-wc .select2-container .select2-selection--single { min-height: 48px; padding: 10px 14px; border: 1.5px solid var(--dp-outline) !important; border-radius: 6px !important; background: #FFF; font-size: 15px; }
.dp-wc .select2-container .select2-selection--single .select2-selection__rendered { line-height: 26px; padding: 0; }
.dp-wc .select2-container .select2-selection--single .select2-selection__arrow { top: 10px; right: 8px; }
.dp-wc .woocommerce-invalid .input-text, .dp-wc .woocommerce-invalid select { border-color: var(--dp-err) !important; }
.dp-wc .form-row label { font-size: 12px; line-height: 16px; font-weight: 500; color: var(--dp-muted); }
.dp-wc .form-row { margin: 0 0 16px; }

/* Cart */
.woocommerce-cart .dp-wc .woocommerce { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; }
.dp-wc .woocommerce-form-coupon-toggle .woocommerce-info { background: #FFF; }
.dp-wc form.checkout_coupon { background: #FFF; border: 1px solid var(--dp-border) !important; border-radius: 12px; padding: 20px !important; margin: 0 0 24px !important; }
.dp-wc .woocommerce > .woocommerce-notices-wrapper { flex: 1 1 100%; }
.dp-wc .woocommerce-cart-form { flex: 999 1 560px; min-width: 0; }
.dp-wc .cart-collaterals { flex: 1 1 340px; min-width: 0; width: auto !important; }
.dp-wc .cart-collaterals .cart_totals { float: none; width: 100%; padding: 24px; border-radius: 12px; border: 1px solid var(--dp-border); box-shadow: var(--dp-shadow-lg); background: #FFF; }
.dp-wc .cart_totals h2 { margin: 0 0 16px; font-family: var(--dp-head); font-size: 20px; line-height: 26px; }
.dp-wc .cart_totals table { border: 0 !important; }
.dp-wc .cart_totals th, .dp-wc .cart_totals td { border: 0 !important; border-top: 1px solid var(--dp-border) !important; padding: 12px 0 !important; font-size: 15px; background: transparent !important; }
.dp-wc .cart_totals th { color: var(--dp-muted); font-weight: 500; }
.dp-wc .order-total .amount { font-family: var(--dp-head); font-size: 28px; color: var(--dp-primary); }
.dp-wc table.shop_table { border: 0; border-collapse: separate; border-spacing: 0 12px; margin: 0; }
.dp-wc table.shop_table.cart thead { display: none; }
.dp-wc table.cart td { border: 0; padding: 16px 12px; background: #FFF; border-top: 1px solid var(--dp-border); border-bottom: 1px solid var(--dp-border); vertical-align: middle; }
.dp-wc table.cart tr.cart_item td:first-child { border-left: 1px solid var(--dp-border); border-radius: 12px 0 0 12px; }
.dp-wc table.cart tr.cart_item td:last-child { border-right: 1px solid var(--dp-border); border-radius: 0 12px 12px 0; }
.dp-wc table.cart td.product-thumbnail img { width: 96px !important; height: 96px; object-fit: cover; border-radius: 12px; background: var(--dp-tint); }
.dp-wc table.cart td.product-name a { font-family: var(--dp-head); font-size: 17px; font-weight: 600; color: var(--dp-ink); text-decoration: none; }
.dp-wc table.cart td.product-subtotal { font-family: var(--dp-head); font-size: 18px; font-weight: 700; }
.dp-wc table.cart a.remove { color: var(--dp-muted) !important; font-size: 24px; width: 44px; height: 44px; line-height: 44px; border-radius: 6px; }
.dp-wc table.cart a.remove:hover { background: var(--dp-tint) !important; color: var(--dp-err) !important; }
.dp-wc table.cart td.actions { border: 0; background: transparent; padding: 8px 0; }
.dp-wc table.cart td.actions .coupon { display: flex; gap: 8px; flex-wrap: wrap; }
.dp-wc table.cart td.actions .coupon .input-text { width: 200px !important; }
.dp-trust-list { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 13px; line-height: 18px; color: var(--dp-muted); }
.dp-trust-list li { display: flex; gap: 8px; align-items: center; }
.dp-wc .cross-sells { padding: 24px; border-radius: 12px; background: var(--dp-tint); margin-top: 16px; }
.dp-wc .cross-sells h2 { margin: 0 0 16px; font-family: var(--dp-head); font-size: 20px; }
.dp-wc .cart-empty, .dp-wc .return-to-shop { width: 100%; }
.dp-wc .return-to-shop .button { background: var(--dp-primary); color: #FFF; border: 0; }

/* Checkout */
.dp-wc form.checkout { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; width: 100%; }
.dp-wc form.checkout > .woocommerce-NoticeGroup { flex: 1 1 100%; }
.dp-wc form.checkout #customer_details { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.dp-wc form.checkout #customer_details::before, .dp-wc form.checkout #customer_details::after { display: none; }
.dp-wc form.checkout #customer_details .col-1, .dp-wc form.checkout #customer_details .col-2 { float: none; width: 100%; padding: 24px; border-radius: 12px; background: #FFF; box-shadow: var(--dp-shadow); }
.dp-wc form.checkout #order_review_heading { display: none; }
.dp-wc form.checkout #order_review { flex: 1 1 340px; min-width: 0; padding: 24px; border-radius: 12px; background: #FFF; box-shadow: var(--dp-shadow-lg); }
.dp-wc form.checkout #order_review::before { content: 'Đơn hàng'; display: block; margin-bottom: 8px; font-family: var(--dp-head); font-size: 20px; font-weight: 700; }
.dp-wc form.checkout h3 { margin: 0 0 20px; font-family: var(--dp-head); font-size: 20px; line-height: 26px; }
.dp-wc .woocommerce-checkout-review-order-table { border-spacing: 0 !important; }
.dp-wc .woocommerce-checkout-review-order-table th, .dp-wc .woocommerce-checkout-review-order-table td { border: 0 !important; border-top: 1px solid var(--dp-border) !important; padding: 10px 0 !important; font-size: 14px; background: transparent !important; }
.dp-wc .woocommerce-checkout-review-order-table thead { display: none; }
.dp-wc #payment { background: transparent !important; border-radius: 0; }
.dp-wc #payment ul.payment_methods { padding: 0 !important; border: 0 !important; display: flex; flex-direction: column; gap: 12px; }
.dp-wc #payment ul.payment_methods li { padding: 16px; border: 1.5px solid var(--dp-border); border-radius: 12px; list-style: none; }
.dp-wc #payment ul.payment_methods li:has(input:checked) { border: 2px solid var(--dp-primary); background: var(--dp-tint); }
.dp-wc #payment ul.payment_methods li label { font-size: 15px; font-weight: 600; color: var(--dp-ink); }
.dp-wc #payment div.payment_box { background: #FFF !important; border-radius: 6px; margin-top: 8px !important; font-size: 13px; color: var(--dp-muted); }
.dp-wc #payment div.payment_box::before { display: none; }
.dp-wc #payment div.form-row { padding: 16px 0 0 !important; }
.dp-secure-note { margin: 12px 0 0; display: flex; gap: 8px; align-items: center; font-size: 13px; line-height: 18px; color: var(--dp-muted); }
.dp-wc #payment .place-order { display: flex; flex-direction: column; gap: 4px; }
.dp-wc #payment .place-order > * { width: 100%; }
.dp-wc .woocommerce-privacy-policy-text p { font-size: 13px; line-height: 18px; color: var(--dp-muted); }
.dp-wc .woocommerce-order { width: 100%; padding: 32px; border-radius: 12px; background: #FFF; box-shadow: var(--dp-shadow); }

/* ---------- Info pages (Bảo hành / Liên hệ / Đại lý) ---------- */
.dp-hero-band { background: var(--dp-primary); color: #FFF; }
.dp-info__body { padding-top: 40px; padding-bottom: 64px; display: flex; flex-wrap: wrap; gap: 40px; align-items: flex-start; }
.dp-info__content { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; }
.dp-support-nav { flex: 1 1 220px; min-width: 0; }
.dp-support-nav ul { list-style: none; margin: 0; padding: 8px; border-radius: 12px; background: var(--dp-grey); display: flex; flex-direction: column; gap: 4px; }
.dp-support-nav a { display: flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 6px; color: var(--dp-ink); text-decoration: none; font-weight: 500; }
.dp-support-nav a:hover { background: #FFF; }
.dp-support-nav a[aria-current] { background: var(--dp-primary); color: #FFF; font-weight: 600; }
.dp-stat-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; }
.dp-stat-tiles > div { padding: 24px; border-radius: 12px; background: var(--dp-tint); }
.dp-stat-tiles__value { margin: 0 0 4px; font-family: var(--dp-head); font-size: 28px; font-weight: 700; color: var(--dp-primary); }
.dp-box { flex: 1 1 280px; min-width: 0; padding: 24px; border: 1px solid var(--dp-border); border-radius: 12px; }
.dp-box__title { margin: 0 0 12px; display: flex; align-items: center; gap: 8px; font-family: var(--dp-head); font-size: 18px; font-weight: 600; }
.dp-box ul { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; font-size: 15px; line-height: 22px; }
.dp-dot { width: 28px; height: 28px; border-radius: 999px; color: var(--dp-ink); display: inline-flex; align-items: center; justify-content: center; flex: none; }
.dp-dot--ok { background: var(--dp-ok); }
.dp-dot--warn { background: var(--dp-amber); }
.dp-steps-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; }
.dp-steps-grid li { padding: 24px; border-radius: 12px; background: var(--dp-grey); display: flex; flex-direction: column; gap: 8px; }
.dp-steps-grid .dp-display { font-size: 32px; line-height: 1; color: var(--dp-primary); }
.dp-steps-grid strong { font-family: var(--dp-head); font-size: 17px; }
.dp-steps-grid li > span:last-child { font-size: 14px; line-height: 20px; color: var(--dp-muted); }
.dp-band { display: flex; flex-wrap: wrap; gap: 24px; padding: clamp(24px, 4vw, 48px); border-radius: 20px; color: #FFF; scroll-margin-top: 24px; }
.dp-band--blue { background: linear-gradient(90deg, var(--dp-primary-dark), var(--dp-blue)); }
.dp-band--purple { background: linear-gradient(90deg, var(--dp-primary), var(--dp-violet)); }
.dp-band .dp-notice { margin: 8px 0 0; }
.dp-map { border-radius: 12px; overflow: hidden; background: var(--dp-tint); }
.dp-map iframe { width: 100%; height: 100%; min-height: inherit; border: 0; display: block; }
.dp-contact-cards { font-style: normal; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.dp-contact-card { display: flex; flex-direction: column; gap: 12px; padding: 24px; border: 1px solid var(--dp-border); border-radius: 12px; text-decoration: none; color: var(--dp-ink); box-shadow: var(--dp-shadow); }
.dp-contact-card:hover { box-shadow: var(--dp-shadow-lg); color: var(--dp-ink); }
.dp-contact-card__icon { width: 48px; height: 48px; border-radius: 12px; background: var(--dp-tint); color: var(--dp-primary); display: inline-flex; align-items: center; justify-content: center; }
.dp-contact-card strong { font-family: var(--dp-head); font-size: 24px; color: var(--dp-primary); word-break: break-word; }
.dp-channels { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.dp-channels li { padding: 24px; border: 1px solid var(--dp-border); border-radius: 12px; display: flex; flex-direction: column; gap: 10px; box-shadow: var(--dp-shadow); }
.dp-channels .dp-more { margin-top: auto; font-size: 14px; }
.dp-dealer-search { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; padding: 20px; border-radius: 12px; background: var(--dp-grey); margin-bottom: 24px; }
.dp-dealers { flex: 1 1 320px; min-width: 0; list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.dp-dealers > li { padding: 20px; border: 1px solid var(--dp-border); border-radius: 12px; display: flex; flex-direction: column; gap: 6px; }
.dp-dealers > li[hidden] { display: none; }
.dp-dealers h3 { margin: 0; font-family: var(--dp-head); font-size: 17px; line-height: 24px; font-weight: 600; }
.dp-dealers__links { margin: 0; display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: 14px; line-height: 20px; }
.dp-dealers__links a { font-weight: 600; }
.dp-dealers__empty { color: var(--dp-muted); font-size: 14px; }
.dp-checklist { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; font-size: 15px; line-height: 22px; color: #F1EBFB; }
.dp-checklist li { display: flex; gap: 10px; }
.dp-join-form { flex: 1 1 320px; min-width: 0; padding: 24px; border-radius: 12px; background: #FFF; color: var(--dp-ink); display: flex; flex-direction: column; gap: 14px; }
.dp-join-form .dp-input { min-height: 44px; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	.dp-menu-toggle { display: inline-flex; order: 3; margin-left: 0; }
	.dp-logo { margin-right: auto; }
	.dp-cart-link { order: 2; }
	.dp-header__main { gap: 12px; }
	.dp-nav { display: none; flex: 1 1 100%; order: 5; }
	.dp-nav.is-open { display: block; }
	.dp-nav__list { flex-direction: column; white-space: normal; }
	.dp-nav__list a { width: 100%; }
	.dp-nav__list .sub-menu { position: static; display: block; box-shadow: none; border: 0; padding: 0 0 0 16px; }
	.dp-search { flex: 1 1 100%; max-width: none; margin-left: 0; order: 4; }
}
@media (max-width: 640px) {
	.dp-cart-link__label { display: none; }
	.dp-cart-link { padding: 0 12px; }
}
@media (max-width: 640px) {
	.dp-section { padding-top: 48px; }
	.dp-topbar .dp-topbar__note { display: none; }
	.dp-hero__media { height: 240px; }
	.dp-h2 { font-size: 24px; line-height: 30px; }
	.dp-grid--products, .dp-grid--shop { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.dp-card__body { padding: 12px 12px 0; }
	.dp-card__foot { padding: 8px 12px 12px; }
	.dp-card__title { font-size: 14px; line-height: 20px; }
	.dp-price, .dp-price .amount { font-size: 16px; }
	.dp-buybox__price { font-size: 28px; line-height: 34px; }
	.dp-gallery__thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.dp-faq details { padding: 0 16px; }
	.dp-wc table.cart td.product-thumbnail img { width: 64px !important; height: 64px; }
	.dp-summary { padding: 24px; }
}
@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; }
}
