/*
Theme Name: DK Harvest
Theme URI: https://dkharvest.com
Author: DevTran
Author URI: https://dkharvest.com
Description: Theme bán hàng cho DK Harvest — hạt dinh dưỡng thuần tự nhiên. Header & footer theo bộ nhận diện DK Harvest.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dk-harvest
*/

/* ============================================================
   0. BIẾN & RESET
   ============================================================ */
:root {
    --dk-cream:      #FBF4E4;   /* nền header */
    --dk-cream-2:    #FCF8EE;
    --dk-orange:     #E4A02A;   /* màu thương hiệu */
    --dk-orange-d:   #C9861A;
    --dk-brown:      #3A2A1B;   /* nền footer */
    --dk-brown-2:    #2C2013;
    --dk-brown-line: #55402c;
    --dk-ink:        #2B2622;   /* chữ chính */
    --dk-muted:      #7d7266;
    --dk-cream-soft: #efe2c8;   /* chữ mờ trên nền nâu */
    --dk-radius:     12px;
    --dk-maxw:       1200px;
    --dk-font:       'Be Vietnam Pro', -apple-system, 'Segoe UI', Roboto, sans-serif;
    --dk-serif:      'Playfair Display', Georgia, serif;
}

*, *::before, *::after { box-sizing: border-box; }

body.dk-body {
    margin: 0;
    font-family: var(--dk-font);
    color: var(--dk-ink);
    background: #fff;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}

.dk-body a { color: inherit; text-decoration: none; }
.dk-body img { max-width: 100%; height: auto; display: block; }
.dk-container { max-width: var(--dk-maxw); margin: 0 auto; padding: 0 24px; }

.dk-skip-link {
    position: absolute; left: -9999px; top: 0; background: #fff; padding: 10px 16px;
    border-radius: 8px; z-index: 1000;
}
.dk-skip-link:focus { left: 12px; top: 12px; }

/* ============================================================
   1. HEADER
   ============================================================ */
.dk-header {
    position: sticky; top: 0; z-index: 500;
    background: var(--dk-cream);
    border-bottom: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 1px 0 rgba(0,0,0,.02);
}
.dk-header__inner {
    display: flex; align-items: center; gap: 28px;
    min-height: 78px;
}

/* --- Logo --- */
.dk-logo { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.dk-logo img { width: 64px; height: 64px; border-radius: 50%; object-fit: contain; }
.dk-logo__text { line-height: 1; }
.dk-logo__text b {
    font-family: var(--dk-serif); font-size: 20px; font-weight: 700;
    letter-spacing: .5px; color: var(--dk-ink); display: block;
}
.dk-logo__text span { font-size: 11px; color: var(--dk-muted); letter-spacing: .3px; }

/* --- Nav --- */
.dk-nav { flex: 1; }
.dk-menu {
    list-style: none; margin: 0; padding: 0;
    display: flex; align-items: center; gap: 30px; justify-content: center;
}
.dk-menu > li { position: relative; }
.dk-menu > li > a {
    display: inline-flex; align-items: center; gap: 5px;
    font-size: 15px; font-weight: 500; color: var(--dk-ink);
    padding: 8px 0; position: relative; transition: color .18s;
}
.dk-menu > li > a::after {
    content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 2px;
    background: var(--dk-orange); transition: right .22s ease;
}
.dk-menu > li:hover > a,
.dk-menu > li.current-menu-item > a,
.dk-menu > li.current_page_item > a { color: var(--dk-orange-d); }
.dk-menu > li:hover > a::after,
.dk-menu > li.current-menu-item > a::after,
.dk-menu > li.current_page_item > a::after { right: 0; }

.dk-menu .dk-caret { width: 10px; height: 10px; opacity: .6; }

/* Dropdown */
.dk-menu .sub-menu,
.dk-menu .dk-submenu {
    position: absolute; top: 100%; left: 50%; transform: translateX(-50%) translateY(8px);
    min-width: 210px; background: #fff; border-radius: 12px; padding: 8px;
    box-shadow: 0 16px 40px rgba(60,40,10,.16); list-style: none; margin: 0;
    opacity: 0; visibility: hidden; transition: .2s; z-index: 10;
}
.dk-menu > li:hover .sub-menu,
.dk-menu > li:hover .dk-submenu,
.dk-menu > li:focus-within .sub-menu,
.dk-menu > li:focus-within .dk-submenu {
    opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0);
}
.dk-menu .sub-menu a,
.dk-menu .dk-submenu a {
    display: block; padding: 10px 14px; border-radius: 8px; font-size: 14px;
    color: var(--dk-ink); transition: background .15s, color .15s; white-space: nowrap;
}
.dk-menu .sub-menu a:hover,
.dk-menu .dk-submenu a:hover { background: var(--dk-cream); color: var(--dk-orange-d); }

/* --- Actions (icons) --- */
.dk-actions { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.dk-icon-btn {
    width: 42px; height: 42px; border: 0; background: transparent; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center; border-radius: 50%;
    color: var(--dk-ink); position: relative; transition: background .16s, color .16s;
}
.dk-icon-btn:hover { background: rgba(228,160,42,.14); color: var(--dk-orange-d); }
.dk-icon-btn svg { width: 22px; height: 22px; }
.dk-cart__badge {
    position: absolute; top: 4px; right: 3px; min-width: 18px; height: 18px; padding: 0 4px;
    background: var(--dk-orange); color: #fff; border-radius: 999px; font-size: 11px;
    font-weight: 700; display: inline-flex; align-items: center; justify-content: center;
}

/* --- Search bar (toggle) --- */
.dk-search { display: none; border-top: 1px solid rgba(0,0,0,.06); background: var(--dk-cream-2); }
.dk-search.is-open { display: block; }
.dk-search form { display: flex; gap: 10px; padding: 14px 0; }
.dk-search input[type="search"] {
    flex: 1; border: 1px solid #e2d7bf; background: #fff; border-radius: 10px;
    padding: 12px 16px; font: inherit; font-size: 15px; outline: none;
}
.dk-search input[type="search"]:focus { border-color: var(--dk-orange); }
.dk-search button {
    border: 0; background: var(--dk-orange); color: #fff; font-weight: 600;
    padding: 0 22px; border-radius: 10px; cursor: pointer;
}

/* --- Hamburger --- */
.dk-burger { display: none; }

/* ============================================================
   2. NEWSLETTER BAND
   ============================================================ */
.dk-newsletter { background: var(--dk-orange); color: #fff; }
.dk-newsletter__inner {
    display: flex; align-items: center; gap: 24px; padding: 24px 0; flex-wrap: wrap;
}
.dk-newsletter__icon {
    width: 48px; height: 48px; border-radius: 12px; background: rgba(255,255,255,.2);
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.dk-newsletter__icon svg { width: 26px; height: 26px; }
.dk-newsletter__text { flex: 1; min-width: 220px; }
.dk-newsletter__text b { font-size: 18px; display: block; }
.dk-newsletter__text span { font-size: 13.5px; opacity: .92; }
.dk-newsletter form { display: flex; gap: 10px; flex: 1; min-width: 280px; max-width: 460px; }
.dk-newsletter input[type="email"] {
    flex: 1; border: 0; border-radius: 10px; padding: 13px 16px; font: inherit; font-size: 14px;
}
.dk-newsletter button {
    border: 0; background: var(--dk-brown); color: #fff; font-weight: 600; font-size: 14px;
    padding: 0 24px; border-radius: 10px; cursor: pointer; white-space: nowrap;
    transition: background .16s;
}
.dk-newsletter button:hover { background: var(--dk-brown-2); }

/* ============================================================
   3. FOOTER
   ============================================================ */
.dk-footer {
    background: var(--dk-brown);
    color: var(--dk-cream-soft);
    font-size: 14px;
}
.dk-footer a { color: var(--dk-cream-soft); transition: color .15s; }
.dk-footer a:hover { color: var(--dk-orange); }

.dk-footer__top {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1.3fr;
    gap: 40px;
    padding: 54px 0 40px;
}
.dk-footer__brand .dk-logo__text b { color: #fff; }
.dk-footer__brand .dk-logo__text span { color: var(--dk-orange); }
.dk-footer__brand .dk-logo img {
    background: var(--dk-orange); padding: 0;
}
.dk-footer__desc { margin: 16px 0 18px; line-height: 1.7; max-width: 320px; opacity: .9; }
.dk-footer__desc img { max-width: 150px; height: auto; margin-top: 10px; border-radius: 4px; }
.dk-footer__desc a { display: inline-block; }

.dk-social { display: flex; gap: 10px; }
.dk-social a {
    width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,.08);
    display: inline-flex; align-items: center; justify-content: center;
    transition: background .18s, transform .18s;
}
.dk-social a:hover { background: var(--dk-orange); transform: translateY(-2px); }
.dk-social svg { width: 18px; height: 18px; fill: #fff; }

.dk-footer__col h4 {
    color: #fff; font-size: 14px; font-weight: 700; letter-spacing: .6px;
    text-transform: uppercase; margin: 4px 0 18px;
}
.dk-footer__col ul { list-style: none; margin: 0; padding: 0; }
.dk-footer__col li { margin-bottom: 11px; }

.dk-contact li { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 14px; line-height: 1.5; }
.dk-contact svg { width: 17px; height: 17px; fill: var(--dk-orange); flex-shrink: 0; margin-top: 3px; }

.dk-footer__bottom {
    border-top: 1px solid var(--dk-brown-line);
    padding: 20px 0; text-align: center; font-size: 13px; color: #bdae99;
}

/* ============================================================
   4. RESPONSIVE
   ============================================================ */
@media (max-width: 980px) {
    .dk-footer__top { grid-template-columns: 1fr 1fr; gap: 34px; }
}
@media (max-width: 900px) {
    .dk-header__inner { min-height: 66px; gap: 14px; }
    .dk-logo img { width: 52px; height: 52px; }
    .dk-burger {
        display: inline-flex; align-items: center; justify-content: center;
        width: 42px; height: 42px; border: 0; background: transparent; cursor: pointer;
        color: var(--dk-ink); order: 3;
    }
    .dk-burger svg { width: 26px; height: 26px; }
    .dk-nav {
        position: absolute; top: 100%; left: 0; right: 0; background: var(--dk-cream);
        border-bottom: 1px solid rgba(0,0,0,.08); box-shadow: 0 18px 30px rgba(0,0,0,.08);
        max-height: 0; overflow: hidden; transition: max-height .28s ease; flex: 0 0 100%;
    }
    .dk-nav.is-open { max-height: 80vh; overflow-y: auto; }
    .dk-menu { flex-direction: column; align-items: stretch; gap: 0; padding: 8px 0; }
    .dk-menu > li > a { padding: 13px 24px; }
    .dk-menu > li > a::after { display: none; }
    .dk-menu .sub-menu, .dk-menu .dk-submenu {
        position: static; transform: none; opacity: 1; visibility: visible; box-shadow: none;
        background: transparent; padding: 0 0 6px 24px; min-width: 0;
    }
    .dk-menu .sub-menu a, .dk-menu .dk-submenu a { padding: 8px 24px; }
    .dk-actions { margin-left: auto; }
}
@media (max-width: 620px) {
    .dk-container { padding: 0 16px; }
    .dk-footer__top { grid-template-columns: 1fr; gap: 28px; padding: 40px 0 30px; }
    .dk-logo__text span { display: none; }
    .dk-newsletter__inner { flex-direction: column; align-items: flex-start; }
}

/* ============================================================
   5. TRANG CHỦ
   ============================================================ */

/* --- Nút chung --- */
.dk-btn {
    display: inline-flex; align-items: center; gap: 8px;
    font-weight: 600; font-size: 15px; border-radius: 10px;
    padding: 13px 26px; cursor: pointer; transition: .18s;
}
.dk-btn--primary { background: var(--dk-orange); color: #fff; }
.dk-btn--primary:hover { background: var(--dk-orange-d); transform: translateY(-1px); }
.dk-btn--outline { background: #fff; color: var(--dk-ink); border: 1.5px solid #d8cbae; }
.dk-btn--outline:hover { border-color: var(--dk-orange); color: var(--dk-orange-d); }

/* --- Placeholder khi chưa upload ảnh --- */
.dk-ph {
    display: flex; align-items: center; justify-content: center;
    width: 100%; height: 100%; min-height: 180px;
    background: linear-gradient(135deg, #f0e3c8 0%, #e2cba0 55%, #cfa96b 100%);
    color: rgba(90,60,20,.55); border-radius: inherit;
}
.dk-ph svg { width: 54px; height: 54px; }

/* --- Tiêu đề section chung --- */
.dk-sec-head {
    display: flex; align-items: baseline; justify-content: space-between;
    gap: 16px; margin-bottom: 26px;
}
.dk-sec-head h2, .dk-story h2, .dk-reviews > .dk-container > h2 {
    font-family: var(--dk-serif); font-size: 30px; font-weight: 700;
    color: var(--dk-ink); margin: 0;
}
.dk-sec-link { font-size: 14px; font-weight: 600; color: var(--dk-orange-d); white-space: nowrap; }
.dk-sec-link:hover { color: var(--dk-brown); }

/* --- 1. Hero --- */
.dk-hero { background: linear-gradient(120deg, #FBF4E4 0%, #F8ECD2 60%, #F3DFB6 100%); }
.dk-hero__grid {
    display: grid; grid-template-columns: 1.05fr 1fr; gap: 44px;
    align-items: center; padding-top: 56px; padding-bottom: 56px;
}
.dk-hero__text h1 {
    font-family: var(--dk-serif); font-size: 46px; line-height: 1.18;
    color: var(--dk-ink); margin: 0 0 18px; font-weight: 700;
}
.dk-hero__text p { font-size: 17px; color: #5d5548; max-width: 460px; margin: 0 0 26px; }
.dk-hero__btns { display: flex; gap: 14px; flex-wrap: wrap; }
.dk-hero__badges {
    list-style: none; display: flex; gap: 26px; flex-wrap: wrap;
    margin: 34px 0 0; padding: 0; font-size: 13.5px; color: #5d5548; font-weight: 500;
}
.dk-hero__badges li { display: flex; align-items: center; gap: 7px; }
.dk-hero__badges svg { width: 18px; height: 18px; color: var(--dk-orange-d); }
.dk-hero__media img, .dk-hero__media .dk-ph {
    border-radius: 18px; width: 100%; aspect-ratio: 7/5; object-fit: cover;
    box-shadow: 0 24px 50px rgba(120,85,20,.18);
}

/* --- 2. Danh mục --- */
.dk-cats { background: var(--dk-cream-2); padding: 44px 0; }
.dk-cats__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.dk-cat {
    position: relative; border-radius: 14px; overflow: hidden; display: block;
    aspect-ratio: 1/0.92; box-shadow: 0 8px 22px rgba(80,55,15,.12);
    transition: transform .2s;
}
.dk-cat:hover { transform: translateY(-4px); }
.dk-cat__img, .dk-cat > .dk-ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.dk-cat__overlay {
    position: absolute; inset: 0; display: flex; flex-direction: column;
    justify-content: flex-end; padding: 18px;
    background: linear-gradient(180deg, rgba(30,18,5,0) 40%, rgba(30,18,5,.78) 100%);
    color: #fff;
}
.dk-cat__overlay b { font-family: var(--dk-serif); font-size: 21px; }
.dk-cat__overlay small { font-size: 12.5px; opacity: .9; margin-top: 3px; }
.dk-cat__arrow {
    position: absolute; right: 14px; bottom: 14px; width: 30px; height: 30px;
    border-radius: 50%; background: var(--dk-orange); color: #fff;
    display: flex; align-items: center; justify-content: center;
}
.dk-cat__arrow svg { width: 15px; height: 15px; }

/* --- 3. Sản phẩm --- */
.dk-products { background: var(--dk-cream-2); padding: 28px 0 56px; }
.dk-products__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.dk-product {
    background: #fff; border-radius: 14px; padding: 16px;
    box-shadow: 0 6px 18px rgba(80,55,15,.08); text-align: center;
    display: flex; flex-direction: column; transition: transform .2s, box-shadow .2s;
}
.dk-product:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(80,55,15,.14); }
.dk-product__media { display: block; border-radius: 10px; overflow: hidden; margin-bottom: 14px; }
.dk-product__media img, .dk-product__media .dk-ph { width: 100%; aspect-ratio: 1/1; object-fit: cover; }
.dk-product h3 { font-size: 15.5px; font-weight: 700; margin: 0 0 4px; color: var(--dk-ink); }
.dk-product h3 a:hover { color: var(--dk-orange-d); }
.dk-product p { font-size: 12.5px; color: var(--dk-muted); margin: 0 0 10px; flex: 1; }
.dk-product__price { font-size: 18px; font-weight: 800; color: var(--dk-ink); margin-bottom: 12px; }
.dk-btn--cart {
    background: var(--dk-orange); color: #fff; justify-content: center;
    font-size: 13.5px; padding: 11px 10px; width: 100%;
}
.dk-btn--cart:hover { background: var(--dk-orange-d); }
.dk-btn--cart svg { width: 16px; height: 16px; }

/* --- 4. Ưu điểm --- */
.dk-usp { background: var(--dk-cream-2); padding: 0 0 52px; }
.dk-usp__grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px;
    background: #fff; border-radius: 16px; padding: 26px 28px;
    box-shadow: 0 6px 18px rgba(80,55,15,.07);
}
.dk-usp__item { display: flex; gap: 13px; align-items: flex-start; }
.dk-usp__icon {
    width: 44px; height: 44px; flex-shrink: 0; border-radius: 12px;
    background: rgba(228,160,42,.14); color: var(--dk-orange-d);
    display: flex; align-items: center; justify-content: center;
}
.dk-usp__icon svg { width: 23px; height: 23px; }
.dk-usp__item b { display: block; font-size: 14.5px; margin-bottom: 3px; }
.dk-usp__item small { font-size: 12px; color: var(--dk-muted); line-height: 1.5; }

/* --- 5. Câu chuyện --- */
.dk-story { background: #fff; padding: 60px 0; }
.dk-story__grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: 46px; align-items: center; }
.dk-story h2 { margin-bottom: 18px; }
.dk-story p { color: #5d5548; font-size: 15px; line-height: 1.75; margin: 0 0 14px; }
.dk-story .dk-btn { margin-top: 10px; }
.dk-story__media img, .dk-story__media .dk-ph {
    border-radius: 18px; width: 100%; aspect-ratio: 8/5; object-fit: cover;
    box-shadow: 0 20px 44px rgba(120,85,20,.16);
}

/* --- 6. Đánh giá & cam kết --- */
.dk-reviews { background: var(--dk-cream-2); padding: 56px 0; }
.dk-reviews h2 { margin-bottom: 26px; }
.dk-reviews__grid { display: grid; grid-template-columns: 1fr 1fr 1fr 0.9fr; gap: 20px; align-items: start; }
.dk-review {
    background: #fff; border-radius: 14px; padding: 22px;
    box-shadow: 0 6px 18px rgba(80,55,15,.07);
}
.dk-review__stars { color: var(--dk-orange); font-size: 16px; letter-spacing: 2px; margin-bottom: 10px; }
.dk-review p { font-size: 13.5px; color: #4d463c; line-height: 1.65; margin: 0 0 14px; }
.dk-review__who { display: flex; align-items: center; gap: 9px; font-size: 13px; font-weight: 600; color: var(--dk-ink); }
.dk-review__avatar {
    width: 30px; height: 30px; border-radius: 50%; background: var(--dk-orange);
    color: #fff; font-size: 13px; display: inline-flex; align-items: center; justify-content: center;
}
.dk-commit {
    background: #fff; border: 1.5px solid rgba(228,160,42,.5); border-radius: 14px;
    padding: 22px; box-shadow: 0 6px 18px rgba(80,55,15,.07);
}
.dk-commit h3 { font-size: 15px; font-weight: 800; margin: 0 0 16px; color: var(--dk-ink); }
.dk-commit__item {
    display: flex; align-items: center; gap: 11px; font-size: 13.5px; font-weight: 500;
    padding: 10px 0; border-bottom: 1px dashed #eee3cc; color: #4d463c;
}
.dk-commit__item:last-child { border-bottom: 0; }
.dk-commit__item svg { width: 21px; height: 21px; color: var(--dk-orange-d); flex-shrink: 0; }

/* --- 7. Bài viết --- */
.dk-blog { background: var(--dk-cream-2); padding: 8px 0 60px; }
.dk-blog__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.dk-post {
    background: #fff; border-radius: 14px; overflow: hidden; display: flex; flex-direction: column;
    box-shadow: 0 6px 18px rgba(80,55,15,.08); transition: transform .2s, box-shadow .2s;
}
.dk-post:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(80,55,15,.14); }
.dk-post__media { position: relative; display: block; }
.dk-post__media img, .dk-post__media .dk-ph { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: 0; }
.dk-post__cat {
    position: absolute; left: 12px; bottom: 12px; background: var(--dk-orange);
    color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .4px;
    text-transform: uppercase; padding: 5px 10px; border-radius: 6px;
}
.dk-post h3 { font-size: 15.5px; font-weight: 700; line-height: 1.45; margin: 0; padding: 16px 18px 6px; color: var(--dk-ink); }
.dk-post:hover h3 { color: var(--dk-orange-d); }
.dk-post__more { font-size: 13px; font-weight: 600; color: var(--dk-orange-d); padding: 0 18px 18px; margin-top: auto; }

/* --- Responsive trang chủ --- */
@media (max-width: 980px) {
    .dk-hero__grid { grid-template-columns: 1fr; gap: 30px; padding-top: 40px; padding-bottom: 40px; }
    .dk-hero__text h1 { font-size: 36px; }
    .dk-cats__grid, .dk-products__grid { grid-template-columns: repeat(2, 1fr); }
    .dk-usp__grid { grid-template-columns: repeat(2, 1fr); }
    .dk-story__grid { grid-template-columns: 1fr; gap: 28px; }
    .dk-reviews__grid { grid-template-columns: 1fr 1fr; }
    .dk-blog__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px) {
    .dk-hero__text h1 { font-size: 30px; }
    .dk-cats__grid, .dk-products__grid, .dk-usp__grid,
    .dk-reviews__grid, .dk-blog__grid { grid-template-columns: 1fr; }
    .dk-sec-head { flex-direction: column; gap: 6px; }
    .dk-sec-head h2 { font-size: 24px; }
}

/* ============================================================
   6. WOOCOMMERCE — DANH MỤC SẢN PHẨM
   ============================================================ */

/* --- Banner --- */
.dk-shop-banner {
    position: relative; background: linear-gradient(120deg, #FBF4E4, #F3DFB6);
    background-size: cover; background-position: center right;
}
.dk-shop-banner__veil {
    position: absolute; inset: 0;
    background: linear-gradient(90deg, rgba(251,244,228,.96) 0%, rgba(251,244,228,.85) 45%, rgba(251,244,228,.1) 100%);
}
.dk-shop-banner__inner { position: relative; padding-top: 40px; padding-bottom: 44px; }
.dk-shop-banner h1 {
    font-family: var(--dk-serif); font-size: 38px; font-weight: 700;
    color: var(--dk-ink); margin: 10px 0 10px;
}
.dk-shop-banner p { font-size: 15px; color: #5d5548; max-width: 430px; margin: 0; }
.dk-breadcrumb { font-size: 12.5px; color: #8a7d68; display: flex; gap: 8px; }
.dk-breadcrumb a:hover { color: var(--dk-orange-d); }
.dk-breadcrumb b { color: var(--dk-ink); font-weight: 600; }

/* --- Layout 2 cột --- */
.dk-shop-layout {
    display: grid; grid-template-columns: 250px 1fr; gap: 28px;
    padding-top: 34px; padding-bottom: 50px;
}

/* --- Sidebar --- */
.dk-fgroup {
    background: #fff; border-radius: 14px; padding: 18px;
    box-shadow: 0 5px 16px rgba(80,55,15,.07); margin-bottom: 18px;
}
.dk-fgroup h4 {
    font-family: var(--dk-serif); font-size: 17px; font-weight: 700;
    color: var(--dk-ink); margin: 0 0 12px;
}
.dk-frow {
    display: flex; justify-content: space-between; align-items: center;
    padding: 6px 0; font-size: 13.5px; color: #4d463c;
}
.dk-frow:hover { color: var(--dk-orange-d); }
.dk-frow > span { display: flex; align-items: center; }
.dk-frow em { font-style: normal; font-size: 12px; color: #a89a80; }
.dk-box {
    width: 17px; height: 17px; border: 1.5px solid #cbbfa4; border-radius: 5px;
    margin-right: 10px; flex-shrink: 0; display: inline-flex;
    align-items: center; justify-content: center; background: #fff;
    transition: .15s; color: #fff;
}
.dk-box svg { width: 11px; height: 11px; }
.dk-frow.is-active { color: var(--dk-orange-d); font-weight: 600; }
.dk-frow.is-active .dk-box { background: var(--dk-orange); border-color: var(--dk-orange); }

.dk-price-form { margin-top: 10px; border-top: 1px dashed #eee3cc; padding-top: 12px; }
.dk-price-inputs { display: flex; align-items: center; gap: 7px; margin-bottom: 9px; }
.dk-price-inputs input {
    width: 100%; min-width: 0; border: 1px solid #e2d7bf; border-radius: 8px;
    padding: 8px 9px; font: inherit; font-size: 13px;
}
.dk-price-inputs input:focus { outline: none; border-color: var(--dk-orange); }
.dk-price-apply { width: 100%; justify-content: center; padding: 9px 10px; font-size: 13px; }

.dk-promo {
    background: #fff; border-radius: 14px; padding: 14px;
    box-shadow: 0 5px 16px rgba(80,55,15,.07); display: flex; gap: 12px; align-items: flex-start;
}
.dk-promo img { width: 64px; height: 64px; border-radius: 10px; object-fit: cover; flex-shrink: 0; }
.dk-promo b { display: block; font-size: 14px; margin-bottom: 3px; }
.dk-promo small { display: block; font-size: 12px; color: var(--dk-muted); margin-bottom: 10px; }
.dk-promo__btn { font-size: 12px; padding: 8px 14px; }

/* --- Đầu danh sách --- */
.dk-shop-head {
    display: flex; justify-content: space-between; align-items: center;
    gap: 14px; flex-wrap: wrap; margin-bottom: 16px;
}
.dk-shop-head h2 {
    font-family: var(--dk-serif); font-size: 26px; font-weight: 700;
    color: var(--dk-ink); margin: 0; display: flex; align-items: baseline; gap: 10px;
}
.dk-shop-head h2 small { font-family: var(--dk-font); font-size: 13px; font-weight: 500; color: var(--dk-muted); }
.dk-shop-tools { display: flex; align-items: center; gap: 12px; }
.dk-sort { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--dk-muted); }
.dk-sort select {
    border: 1px solid #e2d7bf; background: #fff; border-radius: 9px;
    padding: 9px 12px; font: inherit; font-size: 13px; cursor: pointer;
}
.dk-views { display: flex; gap: 4px; }
.dk-view-btn {
    width: 36px; height: 36px; border: 1px solid #e2d7bf; background: #fff; border-radius: 9px;
    cursor: pointer; display: inline-flex; align-items: center; justify-content: center; color: #8a7d68;
}
.dk-view-btn svg { width: 17px; height: 17px; }
.dk-view-btn.is-active { background: var(--dk-orange); border-color: var(--dk-orange); color: #fff; }

/* --- Pill danh mục --- */
.dk-pills { display: flex; gap: 9px; flex-wrap: wrap; margin-bottom: 20px; }
.dk-pills a {
    border: 1.5px solid #e3d5b3; background: #fff; border-radius: 10px;
    padding: 8px 16px; font-size: 13px; font-weight: 600; color: #5d5548; transition: .15s;
}
.dk-pills a:hover { border-color: var(--dk-orange); color: var(--dk-orange-d); }
.dk-pills a.is-active { border-color: var(--dk-orange); color: var(--dk-orange-d); background: #fff7e6; }

/* --- Card sản phẩm trong shop --- */
.dk-shop-grid { grid-template-columns: repeat(4, 1fr); }
.dk-shop-layout .dk-shop-grid { grid-template-columns: repeat(3, 1fr); }
.dk-product__media { position: relative; }
.dk-product__body { display: flex; flex-direction: column; flex: 1; }
.dk-badge {
    position: absolute; top: 10px; left: 10px; z-index: 2;
    background: var(--dk-orange); color: #fff; font-size: 11px; font-weight: 700;
    letter-spacing: .3px; padding: 4px 10px; border-radius: 6px;
}
.dk-badge--new { background: #2e7d32; }
.dk-badge--sale { background: #c62828; }
.dk-product .price { color: var(--dk-ink); }
.dk-product .price del { color: #b3a78f; font-weight: 500; margin-right: 6px; }
.dk-product .price ins { text-decoration: none; }
.dk-product .added_to_cart {
    display: block; margin-top: 8px; font-size: 12.5px; font-weight: 600; color: var(--dk-orange-d);
}

/* Chế độ danh sách */
.dk-shop-grid.is-list { grid-template-columns: 1fr !important; }
.dk-shop-grid.is-list .dk-product { flex-direction: row; text-align: left; align-items: center; gap: 20px; }
.dk-shop-grid.is-list .dk-product__media { width: 190px; flex-shrink: 0; margin-bottom: 0; }
.dk-shop-grid.is-list .dk-product__body { align-items: flex-start; }
.dk-shop-grid.is-list .dk-product p { flex: 0; }
.dk-shop-grid.is-list .dk-btn--cart { width: auto; padding: 11px 22px; }

/* --- Phân trang --- */
.dk-pagination { margin-top: 30px; }
.dk-pagination ul { list-style: none; display: flex; gap: 8px; justify-content: center; margin: 0; padding: 0; }
.dk-pagination .page-numbers {
    min-width: 40px; height: 40px; padding: 0 8px; border-radius: 10px;
    background: #fff; border: 1px solid #e8dcc0; color: #5d5548; font-weight: 600; font-size: 14px;
    display: inline-flex; align-items: center; justify-content: center; transition: .15s;
}
.dk-pagination a.page-numbers:hover { border-color: var(--dk-orange); color: var(--dk-orange-d); }
.dk-pagination .page-numbers.current { background: var(--dk-orange); border-color: var(--dk-orange); color: #fff; }
.dk-pagination .page-numbers.dots { border: 0; background: transparent; }

.dk-shop-empty { background: #fff; border-radius: 14px; padding: 44px; text-align: center; box-shadow: 0 5px 16px rgba(80,55,15,.07); }
.dk-shop-empty p:first-child { font-size: 16px; margin: 0 0 18px; }

.dk-shop-usp { padding: 10px 0 54px; background: transparent; }

/* --- Responsive shop --- */
@media (max-width: 980px) {
    .dk-shop-layout { grid-template-columns: 1fr; }
    .dk-side { order: 2; }
    .dk-shop-main { order: 1; }
    .dk-shop-layout .dk-shop-grid { grid-template-columns: repeat(2, 1fr); }
    .dk-shop-banner h1 { font-size: 30px; }
}
@media (max-width: 620px) {
    .dk-shop-layout .dk-shop-grid { grid-template-columns: 1fr; }
    .dk-shop-head { flex-direction: column; align-items: flex-start; }
    .dk-shop-grid.is-list .dk-product { flex-direction: column; text-align: center; }
    .dk-shop-grid.is-list .dk-product__media { width: 100%; }
}

/* ============================================================
   7. TRANG TIN TỨC (blog)
   ============================================================ */
.dk-blog-layout {
    display: grid; grid-template-columns: 1fr 300px; gap: 28px;
    padding-top: 34px; padding-bottom: 50px;
}
.dk-blog__grid--archive { grid-template-columns: repeat(2, 1fr); }

/* Card bài viết bản đầy đủ (có meta) */
.dk-post--blog .dk-post__body { display: flex; flex-direction: column; flex: 1; }
.dk-post--blog h3 { padding: 16px 18px 8px; font-size: 17px; }
.dk-post--blog .dk-post__body > p {
    font-size: 13px; color: var(--dk-muted); line-height: 1.65;
    margin: 0; padding: 0 18px 14px; flex: 1;
}
.dk-post__meta {
    display: flex; align-items: center; gap: 14px; font-size: 12px; color: #a89a80;
    border-top: 1px dashed #eee3cc; margin: 0 18px; padding: 12px 0 16px;
}
.dk-post__meta span { display: inline-flex; align-items: center; gap: 5px; }
.dk-post__meta svg { width: 14px; height: 14px; }
.dk-post--blog .dk-post__more { margin-left: auto; padding: 0; }

/* Sidebar: tìm kiếm */
.dk-bsearch { display: flex; gap: 8px; }
.dk-bsearch input[type="search"] {
    flex: 1; min-width: 0; border: 1px solid #e2d7bf; border-radius: 9px;
    padding: 10px 12px; font: inherit; font-size: 13px;
}
.dk-bsearch input[type="search"]:focus { outline: none; border-color: var(--dk-orange); }
.dk-bsearch button {
    width: 40px; height: 40px; flex-shrink: 0; border: 0; border-radius: 9px;
    background: var(--dk-orange); color: #fff; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center;
}
.dk-bsearch button:hover { background: var(--dk-orange-d); }
.dk-bsearch button svg { width: 17px; height: 17px; }

/* Sidebar: bài nổi bật */
.dk-feat { display: flex; gap: 11px; padding: 8px 0; align-items: flex-start; }
.dk-feat + .dk-feat { border-top: 1px dashed #eee3cc; }
.dk-feat__thumb {
    width: 56px; height: 56px; border-radius: 9px; overflow: hidden; flex-shrink: 0; display: block;
}
.dk-feat__thumb img, .dk-feat__thumb .dk-ph { width: 100%; height: 100%; object-fit: cover; min-height: 0; }
.dk-feat__body b { display: block; font-size: 13px; line-height: 1.45; color: var(--dk-ink); }
.dk-feat:hover .dk-feat__body b { color: var(--dk-orange-d); }
.dk-feat__body small { font-size: 11.5px; color: #a89a80; }

/* Sidebar: tag */
.dk-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.dk-tags a {
    border: 1px solid #e3d5b3; background: #fff; border-radius: 8px;
    padding: 6px 11px; font-size: 12px; font-weight: 500; color: #5d5548; transition: .15s;
}
.dk-tags a:hover { border-color: var(--dk-orange); color: var(--dk-orange-d); background: #fff7e6; }

/* Sidebar: box đăng ký */
.dk-blog-nl {
    background: var(--dk-cream); border: 1.5px solid rgba(228,160,42,.45);
    border-radius: 14px; padding: 24px 20px; text-align: center;
}
.dk-blog-nl__icon {
    width: 46px; height: 46px; border-radius: 12px; background: var(--dk-orange);
    display: inline-flex; align-items: center; justify-content: center; margin-bottom: 12px;
}
.dk-blog-nl__icon svg { width: 24px; height: 24px; }
.dk-blog-nl b { display: block; font-size: 15.5px; color: var(--dk-ink); margin-bottom: 8px; }
.dk-blog-nl p { font-size: 12.5px; color: var(--dk-muted); line-height: 1.6; margin: 0 0 14px; }
.dk-blog-nl .dk-btn { font-size: 13px; padding: 11px 20px; }

/* Responsive blog */
@media (max-width: 980px) {
    .dk-blog-layout { grid-template-columns: 1fr; }
    .dk-blog-layout .dk-side { order: 2; }
    .dk-blog-main { order: 1; }
}
@media (max-width: 620px) {
    .dk-blog__grid--archive { grid-template-columns: 1fr; }
}

/* ============================================================
   7b. KẾT QUẢ TÌM KIẾM (2 section: sản phẩm + bài viết)
   ============================================================ */
.dk-search-sec { padding: 34px 0; }
.dk-search-sec--products { background: var(--dk-cream-2); }
.dk-search-sec--posts { background: #fff; }
.dk-search-sec .dk-sec-head h2 small { font-family: var(--dk-font); font-size: 14px; font-weight: 600; color: var(--dk-muted); }
.dk-search-sec .dk-products__grid { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 980px) {
    .dk-search-sec .dk-products__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px) {
    .dk-search-sec .dk-products__grid { grid-template-columns: 1fr; }
}

/* ============================================================
   8. TRANG VỀ CHÚNG TÔI
   ============================================================ */

/* --- Hero --- */
.dk-about-hero { background: linear-gradient(120deg, #FBF4E4 0%, #F8ECD2 60%, #F3DFB6 100%); }
.dk-about-hero .dk-breadcrumb { padding-top: 22px; }
.dk-about-hero__grid {
    display: grid; grid-template-columns: 1.05fr 1fr; gap: 44px;
    align-items: center; padding: 28px 0 52px;
}
.dk-eyebrow {
    display: inline-block; font-size: 13px; font-weight: 700; letter-spacing: 1.5px;
    text-transform: uppercase; color: var(--dk-orange-d); margin-bottom: 10px;
}
.dk-about-hero__text h1 {
    font-family: var(--dk-serif); font-size: 46px; font-weight: 700; letter-spacing: .5px;
    text-transform: uppercase; color: #4a2e14; margin: 0 0 4px; line-height: 1.12;
}
.dk-script {
    font-family: 'Dancing Script', cursive; font-size: 30px; font-weight: 600;
    color: var(--dk-orange-d); margin-bottom: 18px;
}
.dk-about-hero__text p { font-size: 15px; color: #5d5548; line-height: 1.8; max-width: 480px; margin: 0; }
.dk-about-hero__media img, .dk-about-hero__media .dk-ph {
    border-radius: 18px; width: 100%; aspect-ratio: 7/5; object-fit: cover;
    box-shadow: 0 24px 50px rgba(120,85,20,.18);
}

/* --- Tiêu đề hành trình --- */
.dk-journey { background: var(--dk-cream-2); padding: 50px 0 60px; }
.dk-journey-head { text-align: center; margin-bottom: 36px; }
.dk-journey-head h2 {
    font-size: 24px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase;
    color: #4a2e14; margin: 0 0 4px; display: inline-flex; align-items: center; gap: 12px;
}
.dk-journey-leaf { color: var(--dk-orange); display: inline-flex; }
.dk-journey-leaf svg { width: 22px; height: 22px; }
.dk-journey-leaf--flip { transform: scaleX(-1); }
.dk-journey-sub {
    display: block; font-size: 19px; font-weight: 700; letter-spacing: 3px;
    text-transform: uppercase; color: var(--dk-ink);
}

/* --- Các bước (story board) --- */
.dk-steps { position: relative; display: flex; flex-direction: column; gap: 26px; }
.dk-steps::before {
    content: ""; position: absolute; top: 10px; bottom: 10px; left: 50%;
    border-left: 2px dashed rgba(228,160,42,.55); transform: translateX(-50%);
}
.dk-step {
    position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 34px;
    align-items: center; background: #fff; border: 1.5px solid rgba(228,160,42,.4);
    border-radius: 16px; padding: 22px 26px; box-shadow: 0 8px 22px rgba(80,55,15,.06);
}
.dk-step__media img, .dk-step__media .dk-ph {
    width: 100%; aspect-ratio: 16/8.5; object-fit: cover; border-radius: 12px;
}
.dk-step--rev .dk-step__media { order: 2; }
.dk-step--rev .dk-step__text { order: 1; }
.dk-step__head { display: flex; align-items: center; gap: 14px; margin-bottom: 10px; }
.dk-step__num {
    width: 46px; height: 46px; flex-shrink: 0; border-radius: 50%;
    background: var(--dk-orange); border: 3px solid #fff; outline: 2px solid var(--dk-orange);
    color: #fff; font-size: 17px; font-weight: 800;
    display: inline-flex; align-items: center; justify-content: center;
}
.dk-step__text h3 {
    font-size: 17px; font-weight: 800; letter-spacing: .8px; text-transform: uppercase;
    color: #4a2e14; margin: 0;
}
.dk-step__text > p { font-size: 13.5px; color: #5d5548; line-height: 1.75; margin: 0 0 16px; }
.dk-chips { display: flex; gap: 10px; flex-wrap: wrap; }
.dk-chip {
    display: inline-flex; align-items: center; gap: 7px;
    border: 1px solid #e8d9b8; background: #fffdf7; border-radius: 999px;
    padding: 7px 13px; font-size: 12px; font-weight: 600; color: #5d5548;
}
.dk-chip__ico {
    width: 22px; height: 22px; border-radius: 50%; background: rgba(228,160,42,.14);
    color: var(--dk-orange-d); display: inline-flex; align-items: center; justify-content: center;
}
.dk-chip__ico svg { width: 13px; height: 13px; }

/* --- Band cam kết --- */
.dk-commitband { background: var(--dk-cream-2); padding: 0 0 60px; }
.dk-commitband__inner {
    display: grid; grid-template-columns: auto 1.3fr 1.7fr; gap: 28px; align-items: center;
    background: #fff; border: 1.5px solid rgba(228,160,42,.4); border-radius: 16px;
    padding: 26px 30px; box-shadow: 0 8px 22px rgba(80,55,15,.06);
}
.dk-commitband__brand img { width: 86px; height: 86px; border-radius: 50%; object-fit: contain; }
.dk-commitband__text h3 {
    font-size: 16px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase;
    color: #4a2e14; margin: 0 0 8px;
}
.dk-commitband__text p { font-size: 13px; color: #5d5548; line-height: 1.7; margin: 0; }
.dk-commitband__items { display: grid; grid-template-columns: repeat(4, 1fr); }
.dk-commitband__item {
    text-align: center; padding: 6px 10px; border-left: 1px solid #eee3cc;
}
.dk-commitband__item:first-child { border-left: 0; }
.dk-commitband__item span {
    width: 44px; height: 44px; margin: 0 auto 8px; border-radius: 12px;
    background: rgba(228,160,42,.14); color: var(--dk-orange-d);
    display: flex; align-items: center; justify-content: center;
}
.dk-commitband__item svg { width: 23px; height: 23px; }
.dk-commitband__item b { display: block; font-size: 12.5px; color: var(--dk-ink); }

/* --- Responsive về chúng tôi --- */
@media (max-width: 980px) {
    .dk-about-hero__grid { grid-template-columns: 1fr; gap: 26px; padding-bottom: 40px; }
    .dk-about-hero__text h1 { font-size: 34px; }
    .dk-script { font-size: 25px; }
    .dk-steps::before { display: none; }
    .dk-step { grid-template-columns: 1fr; gap: 18px; }
    .dk-step--rev .dk-step__media { order: 1; }
    .dk-step--rev .dk-step__text { order: 2; }
    .dk-commitband__inner { grid-template-columns: 1fr; text-align: center; }
    .dk-commitband__brand img { margin: 0 auto; }
    .dk-commitband__items { grid-template-columns: repeat(2, 1fr); gap: 14px 0; }
    .dk-commitband__item:nth-child(3) { border-left: 0; }
}
@media (max-width: 620px) {
    .dk-about-hero__text h1 { font-size: 28px; }
    .dk-journey-head h2 { font-size: 19px; }
    .dk-journey-sub { font-size: 15px; }
    .dk-commitband__items { grid-template-columns: 1fr 1fr; }
}

/* ============================================================
   9. TRANG LIÊN HỆ
   ============================================================ */
.dk-ct-section { background: var(--dk-cream-2); padding: 44px 0 10px; }
.dk-ct-section__grid { display: grid; grid-template-columns: 1fr 1.35fr; gap: 24px; align-items: start; }

.dk-ct-card {
    background: #fff; border: 1.5px solid rgba(228,160,42,.4); border-radius: 16px;
    padding: 26px 24px; box-shadow: 0 8px 22px rgba(80,55,15,.06);
}
.dk-ct-h {
    display: flex; align-items: center; gap: 9px;
    font-size: 16px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase;
    color: #4a2e14; margin: 0 0 18px;
}
.dk-h-leaf { color: var(--dk-orange); display: inline-flex; }
.dk-h-leaf svg { width: 18px; height: 18px; }

/* Hàng thông tin */
.dk-ct-row {
    display: flex; gap: 15px; align-items: flex-start;
    padding: 15px 0; border-bottom: 1px dashed #eee3cc;
}
.dk-ct-row--last { border-bottom: 0; padding-bottom: 4px; }
.dk-ct-ico {
    width: 46px; height: 46px; min-width: 46px; min-height: 46px;
    flex-shrink: 0; border-radius: 50%; box-sizing: border-box; padding: 0;
    background: var(--dk-orange); color: #fff; line-height: 0;
    display: inline-flex; align-items: center; justify-content: center;
}
.dk-ct-ico svg {
    width: 21px !important; height: 21px !important;
    display: block; margin: 0 !important; fill: none !important; flex-shrink: 0;
}
.dk-ct-row b {
    display: block; font-size: 12px; font-weight: 700; letter-spacing: .8px;
    text-transform: uppercase; color: var(--dk-ink); margin-bottom: 4px;
}
.dk-ct-row span, .dk-ct-row small { display: block; font-size: 13px; color: #5d5548; line-height: 1.6; }
.dk-ct-big { display: block; font-size: 17px; font-weight: 800; color: var(--dk-orange-d) !important; margin: 2px 0; }
.dk-ct-link { display: inline-block; font-size: 12.5px; font-weight: 600; color: var(--dk-orange-d); margin-top: 4px; }
.dk-ct-link:hover, .dk-ct-big:hover { text-decoration: underline; }
.dk-ct-social { display: flex !important; gap: 8px; margin-top: 6px; }
.dk-ct-social a {
    width: 32px; height: 32px; border-radius: 50%; background: var(--dk-ink);
    display: inline-flex; align-items: center; justify-content: center;
}
.dk-ct-social a:hover { background: var(--dk-orange); }
.dk-ct-social svg { width: 15px; height: 15px; fill: #fff; }

/* Form */
.dk-ct-form { display: flex; flex-direction: column; gap: 14px; }
.dk-ct-form label { font-size: 13px; font-weight: 600; color: var(--dk-ink); display: block; }
.dk-ct-form label em { color: #c62828; font-style: normal; }
.dk-ct-form input, .dk-ct-form select, .dk-ct-form textarea {
    width: 100%; margin-top: 6px; border: 1px solid #e2d7bf; border-radius: 10px;
    padding: 12px 14px; font: inherit; font-size: 14px; background: #fffdf7; color: var(--dk-ink);
}
.dk-ct-form input:focus, .dk-ct-form select:focus, .dk-ct-form textarea:focus {
    outline: none; border-color: var(--dk-orange); background: #fff;
}
.dk-ct-form textarea { resize: vertical; }
.dk-ct-privacy {
    display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: #8a7d68; margin: 0;
}
.dk-ct-privacy svg { width: 16px; height: 16px; color: var(--dk-orange-d); flex-shrink: 0; }
.dk-ct-submit { justify-content: center; width: 100%; font-size: 15px; letter-spacing: .5px; text-transform: uppercase; }
.dk-ct-submit svg { width: 18px; height: 18px; }
.dk-form-note { border-radius: 10px; padding: 12px 14px; font-size: 13.5px; margin-bottom: 16px; }
.dk-form-note--ok  { background: #e7f5ec; color: #1e7e45; }
.dk-form-note--err { background: #fdecec; color: #b3261e; }

/* Bản đồ */
.dk-map { background: var(--dk-cream-2); padding: 24px 0 10px; }
.dk-map__card {
    display: grid; grid-template-columns: 1fr 1.6fr; gap: 26px; align-items: center;
    background: #fff; border: 1.5px solid rgba(228,160,42,.4); border-radius: 16px;
    padding: 24px 26px; box-shadow: 0 8px 22px rgba(80,55,15,.06);
}
.dk-map__addr { display: flex; gap: 9px; align-items: flex-start; font-size: 13.5px; color: var(--dk-ink); margin: 0 0 10px; }
.dk-map__addr svg { width: 17px; height: 17px; color: var(--dk-orange-d); flex-shrink: 0; margin-top: 2px; }
.dk-map__info > p { font-size: 13px; color: #5d5548; line-height: 1.7; margin: 0 0 16px; }
.dk-map__frame { border-radius: 12px; overflow: hidden; }
.dk-map__frame iframe, .dk-map__frame .dk-ph { width: 100%; height: 300px; border: 0; display: block; }

/* FAQ */
.dk-faq { background: var(--dk-cream-2); padding: 34px 0 20px; }
.dk-faq__title {
    text-align: center; font-size: 22px; font-weight: 800; letter-spacing: 1.5px;
    text-transform: uppercase; color: #4a2e14; margin: 0 0 24px;
    display: flex; align-items: center; justify-content: center; gap: 12px;
}
.dk-faq__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-items: start; }
.dk-faq__item {
    background: #fff; border: 1.5px solid rgba(228,160,42,.4); border-radius: 12px;
    box-shadow: 0 5px 14px rgba(80,55,15,.05);
}
.dk-faq__item summary {
    list-style: none; cursor: pointer; padding: 16px 18px;
    font-size: 14px; font-weight: 700; color: var(--dk-ink);
    display: flex; justify-content: space-between; align-items: center; gap: 12px;
}
.dk-faq__item summary::-webkit-details-marker { display: none; }
.dk-faq__caret { color: var(--dk-orange-d); transition: transform .2s; font-size: 16px; line-height: 1; }
.dk-faq__item[open] .dk-faq__caret { transform: rotate(180deg); }
.dk-faq__item > p {
    margin: 0; padding: 0 18px 16px; font-size: 13px; color: #5d5548; line-height: 1.7;
    border-top: 1px dashed #eee3cc; padding-top: 12px;
}

/* Responsive liên hệ */
@media (max-width: 980px) {
    .dk-ct-section__grid { grid-template-columns: 1fr; }
    .dk-map__card { grid-template-columns: 1fr; }
    .dk-faq__grid { grid-template-columns: 1fr; }
}

/* ============================================================
   10. BÀI VIẾT CHI TIẾT
   ============================================================ */
.dk-single-layout {
    display: grid; grid-template-columns: 1fr 320px; gap: 32px;
    padding-top: 24px; padding-bottom: 40px; align-items: start;
}
.dk-single__crumb { margin-bottom: 20px; }
.dk-single__title {
    font-family: var(--dk-serif); font-size: 34px; font-weight: 700; line-height: 1.3;
    color: var(--dk-ink); margin: 0 0 14px;
}
.dk-single__meta {
    display: flex; gap: 20px; flex-wrap: wrap; align-items: center;
    font-size: 13px; color: #8a7d68; margin-bottom: 20px;
}
.dk-single__meta span, .dk-single__meta a { display: inline-flex; align-items: center; gap: 6px; }
.dk-single__meta a:hover { color: var(--dk-orange-d); }
.dk-single__meta svg { width: 15px; height: 15px; color: var(--dk-orange-d); }
.dk-single__lead { font-size: 15.5px; color: #5d5548; line-height: 1.8; margin: 0 0 20px; }
.dk-single__thumb { margin: 0 0 26px; }
.dk-single__thumb img { border-radius: 14px; width: 100%; height: auto; }

/* Nội dung bài */
.dk-single__content { font-size: 15px; color: #4d463c; line-height: 1.85; }
.dk-single__content h2, .dk-single__content h3 {
    color: #4a2e14; font-weight: 800; line-height: 1.4; margin: 28px 0 10px;
}
.dk-single__content h2 { font-size: 20px; }
.dk-single__content h3 { font-size: 17px; }
.dk-single__content h2 strong:first-child, .dk-single__content h3 strong:first-child { color: var(--dk-orange-d); }
.dk-single__content p { margin: 0 0 16px; }
.dk-single__content a { color: var(--dk-orange-d); text-decoration: underline; }
.dk-single__content ul, .dk-single__content ol { padding-left: 24px; margin: 0 0 16px; }
.dk-single__content li { margin-bottom: 6px; }
.dk-single__content img { border-radius: 12px; }
.dk-single__content strong { color: var(--dk-ink); }
/* Blockquote = box "Gợi ý từ DK Harvest" */
.dk-single__content blockquote {
    background: #fdf3dd; border: 0; border-radius: 12px; margin: 24px 0;
    padding: 18px 20px; font-size: 14px; color: #6b5537; position: relative;
}
.dk-single__content blockquote::before {
    content: "💡"; display: inline-block; margin-right: 8px;
}
.dk-single__content blockquote p { display: inline; margin: 0; }

/* Chia sẻ */
.dk-share {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    margin-top: 30px; padding-top: 20px; border-top: 1px dashed #eee3cc;
}
.dk-share b { font-size: 13.5px; color: var(--dk-ink); margin-right: 4px; }
.dk-share__btn {
    width: 38px; height: 38px; border-radius: 50%; border: 0; cursor: pointer;
    background: var(--dk-cream); color: var(--dk-ink);
    display: inline-flex; align-items: center; justify-content: center; transition: .15s;
}
.dk-share__btn:hover { background: var(--dk-orange); color: #fff; }
.dk-share__btn svg { width: 17px; height: 17px; fill: currentColor; }
.dk-share__btn.copied { background: #2e7d32; color: #fff; }
.dk-share__copied { font-size: 12.5px; color: #2e7d32; font-weight: 600; }

/* Tags */
.dk-single__tags { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; margin-top: 18px; }
.dk-single__tags b { font-size: 13.5px; color: var(--dk-ink); }
.dk-single__tags a {
    border: 1px solid #e3d5b3; background: #fff; border-radius: 999px;
    padding: 6px 14px; font-size: 12px; font-weight: 500; color: #5d5548; transition: .15s;
}
.dk-single__tags a:hover { border-color: var(--dk-orange); color: var(--dk-orange-d); background: #fff7e6; }

/* Sidebar: banner quảng bá */
.dk-sg-promo {
    border-radius: 16px; overflow: hidden; text-align: center;
    background: linear-gradient(160deg, #FBF4E4 0%, #F3DFB6 100%);
    background-size: cover; background-position: center;
    border: 1.5px solid rgba(228,160,42,.45);
}
.dk-sg-promo__inner { padding: 30px 22px; background: rgba(251,244,228,.82); }
.dk-sg-promo img { width: 84px; height: 84px; border-radius: 50%; object-fit: contain; margin: 0 auto 12px; }
.dk-sg-promo b {
    display: block; font-family: var(--dk-serif); font-size: 20px; font-weight: 700;
    letter-spacing: .5px; text-transform: uppercase; color: #4a2e14; line-height: 1.35; margin-bottom: 8px;
}
.dk-sg-promo p { font-size: 13px; color: #5d5548; margin: 0 0 16px; }
.dk-sg-promo .dk-btn { font-size: 13px; letter-spacing: .5px; text-transform: uppercase; }

/* Bài viết khác */
.dk-others { background: var(--dk-cream-2); padding: 36px 0 56px; }
.dk-others h2 {
    font-family: var(--dk-serif); font-size: 26px; font-weight: 700;
    color: var(--dk-ink); margin: 0 0 20px;
}
.dk-others__grid { grid-template-columns: repeat(4, 1fr); }
.dk-others__meta {
    display: flex; gap: 14px; font-size: 11.5px; color: #a89a80;
    padding: 8px 18px 16px; margin-top: auto;
}
.dk-others__meta span { display: inline-flex; align-items: center; gap: 5px; }
.dk-others__meta svg { width: 13px; height: 13px; }

/* Responsive bài viết */
@media (max-width: 980px) {
    .dk-single-layout { grid-template-columns: 1fr; }
    .dk-single__title { font-size: 27px; }
    .dk-others__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px) {
    .dk-others__grid { grid-template-columns: 1fr; }
}

/* ============================================================
   11. CHI TIẾT SẢN PHẨM
   ============================================================ */
.dk-pd { padding-top: 22px; padding-bottom: 56px; }
.dk-pd__crumb { margin-bottom: 22px; }
.dk-pd__grid { display: flex; gap: 40px; align-items: flex-start; }
.dk-pd__gallery, .dk-pd__info { width: 50%; }
/* Cột ảnh "dính" theo khi cuộn, tự dừng khi hết cột thông tin (chỉ desktop) */
@media (min-width: 981px) {
    .dk-pd__gallery {
        position: sticky;
        top: 90px;               /* nằm dưới header dính */
        align-self: flex-start;  /* không kéo dãn full chiều cao → sticky mới chạy */
    }
    body.admin-bar .dk-pd__gallery { top: 122px; } /* chừa admin bar WP */
}

/* Gallery */
.dk-pd__main {
    border-radius: 16px; overflow: hidden; background: #fff;
    box-shadow: 0 10px 28px rgba(80,55,15,.1);
}
.dk-pd__main img, .dk-pd__main .dk-ph { width: 100%; aspect-ratio: 1/0.95; object-fit: cover; display: block; }
.dk-pd__thumbs {
    display: flex; gap: 12px; margin-top: 14px;
    overflow-x: auto; scroll-behavior: smooth; padding-bottom: 6px;
    scrollbar-width: thin; scrollbar-color: #e2d7bf transparent;
}
.dk-pd__thumbs::-webkit-scrollbar { height: 6px; }
.dk-pd__thumbs::-webkit-scrollbar-thumb { background: #e2d7bf; border-radius: 99px; }
.dk-pd-thumb {
    flex: 0 0 104px; border: 2px solid transparent; border-radius: 10px; overflow: hidden;
    padding: 0; cursor: pointer; background: #fff; transition: .15s;
}
.dk-pd-thumb img { width: 100%; aspect-ratio: 1/1; object-fit: cover; display: block; }
.dk-pd-thumb.is-active, .dk-pd-thumb:hover { border-color: var(--dk-orange); }

/* Info */
.dk-pd__info h1 {
    font-family: var(--dk-serif); font-size: 32px; font-weight: 700;
    color: var(--dk-ink); margin: 0 0 10px;
}
.dk-stars span { color: #ddd0b5; font-size: 16px; letter-spacing: 1px; }
.dk-stars span.is-on { color: var(--dk-orange); }
.dk-pd__rating { display: flex; align-items: center; gap: 10px; font-size: 13px; color: #8a7d68; margin-bottom: 14px; flex-wrap: wrap; }
.dk-pd__rcount { color: #8a7d68; text-decoration: underline; }
.dk-pd__rcount:hover { color: var(--dk-orange-d); }
.dk-pd__price {
    display: flex; align-items: center; gap: 12px; margin-bottom: 14px; flex-wrap: wrap;
    font-size: 26px; font-weight: bolder; color: #E4A02A;
}
.dk-pd__price .price { font-size: 26px; font-weight: bolder; color: #E4A02A; }
.dk-pd__price .price del { font-size: 17px; font-weight: 500; color: #b3a78f; }
.dk-pd__price .price ins { text-decoration: none; }
.dk-pd__off {
    background: var(--dk-orange); color: #fff; font-size: 13px; font-weight: 800;
    padding: 5px 10px; border-radius: 8px;
}
.dk-pd__short { font-size: 14px; color: #5d5548; line-height: 1.75; margin-bottom: 16px; }
.dk-pd__benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 18px; margin-bottom: 20px; }
.dk-pd__benefit { display: flex; align-items: center; gap: 9px; font-size: 13.5px; color: #4d463c; font-weight: 500; }
.dk-pd__benefit span {
    width: 34px; height: 34px; flex-shrink: 0; border-radius: 50%;
    border: 1.5px solid rgba(228,160,42,.5); color: var(--dk-orange-d);
    display: inline-flex; align-items: center; justify-content: center;
}
.dk-pd__benefit svg { width: 17px; height: 17px; }

/* Qty + nút mua */
.dk-pd__qty { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.dk-pd__qty label { font-size: 13.5px; font-weight: 600; color: var(--dk-ink); }
.dk-qty { display: inline-flex; align-items: center; border: 1px solid #e2d7bf; border-radius: 10px; overflow: hidden; background: #fff; }
.dk-qty__btn {
    width: 38px; height: 40px; border: 0; background: transparent; cursor: pointer;
    font-size: 18px; color: var(--dk-ink);
}
.dk-qty__btn:hover { background: var(--dk-cream); }
.dk-qty input {
    width: 52px; height: 40px; border: 0; text-align: center; font: inherit; font-size: 15px;
    -moz-appearance: textfield; appearance: textfield;
}
.dk-qty input::-webkit-outer-spin-button, .dk-qty input::-webkit-inner-spin-button { -webkit-appearance: none; }
.dk-qty input:focus { outline: none; }
.dk-pd__btns { display: flex; gap: 12px; }
.dk-pd__add { flex: 1.2; justify-content: center; font-size: 15px; padding: 14px 10px; }
.dk-pd__buy { flex: 1; justify-content: center; background: var(--dk-brown); color: #fff; font-size: 15px; padding: 14px 10px; }
.dk-pd__buy:hover { background: var(--dk-brown-2); }
.dk-pd__trust {
    display: flex; gap: 10px; justify-content: space-between; flex-wrap: wrap;
    border: 1px solid #eee3cc; border-radius: 12px; background: #fff;
    padding: 13px 16px; margin-top: 18px; font-size: 12px; color: #5d5548; font-weight: 500;
}
.dk-pd__trust span { display: inline-flex; align-items: center; gap: 7px; }
.dk-pd__trust svg { width: 17px; height: 17px; color: var(--dk-orange-d); }

/* Form chuẩn Woo (sản phẩm biến thể…) — đồng bộ giao diện theme */
.dk-pd__native-cart form.cart { margin-top: 4px; }
.dk-pd__native-cart table.variations { border-collapse: collapse; width: 100%; margin: 0 0 4px; }
.dk-pd__native-cart table.variations tr { border-bottom: 1px dashed #eee3cc; }
.dk-pd__native-cart table.variations tr:last-child { border-bottom: 0; }
.dk-pd__native-cart table.variations th.label {
    text-align: left; vertical-align: middle; width: 130px;
    font-size: 13.5px; font-weight: 600; color: var(--dk-ink); padding: 12px 14px 12px 0;
}
.dk-pd__native-cart table.variations td.value { padding: 12px 0; }
.dk-pd__native-cart table.variations select {
    border: 1px solid #e2d7bf; border-radius: 10px; background: #fff;
    padding: 11px 34px 11px 14px; font: inherit; font-size: 14px; color: var(--dk-ink);
    min-width: 210px; cursor: pointer;
}
.dk-pd__native-cart table.variations select:focus { outline: none; border-color: var(--dk-orange); }
.dk-pd__native-cart .reset_variations {
    display: inline-block; margin-left: 12px; font-size: 12.5px; font-weight: 600;
    color: var(--dk-orange-d);
}
.dk-pd__native-cart .woocommerce-variation.single_variation { margin: 8px 0 14px; }
.dk-pd__native-cart .woocommerce-variation-price .price { font-size: 26px; font-weight: bolder; color: #E4A02A; }
.dk-pd__native-cart .woocommerce-variation-price .price del { font-size: 16px; font-weight: 500; color: #b3a78f; }
.dk-pd__native-cart .woocommerce-variation-price .price ins { text-decoration: none; }
.dk-pd__native-cart .woocommerce-variation-availability { font-size: 13px; color: var(--dk-muted); }
.dk-pd__native-cart .woocommerce-variation-availability .out-of-stock { color: #c62828; }
.dk-pd__native-cart .woocommerce-variation-add-to-cart,
.dk-pd__native-cart form.cart:not(.variations_form) { display: flex; gap: 12px; align-items: stretch; flex-wrap: wrap; }
.dk-pd__native-cart .quantity { display: flex; align-items: stretch; }
.dk-pd__native-cart .quantity input.qty {
    width: 64px; border: 1px solid #e2d7bf; border-radius: 10px; text-align: center;
    font: inherit; font-size: 15px;
}
.dk-pd__native-cart .quantity .dk-qty input.qty { border: 0; border-radius: 0; width: 52px; }
/* Ép màu thương hiệu — thắng cả CSS mặc định của WooCommerce (button.alt tím) */
.dk-body button.single_add_to_cart_button,
.dk-body button.single_add_to_cart_button.alt,
.dk-body .woocommerce button.button.alt.single_add_to_cart_button,
.dk-pd__native-cart .single_add_to_cart_button {
    flex: 1; min-width: 170px; border: 0; cursor: pointer; border-radius: 10px;
    background: var(--dk-orange) !important; color: #fff !important;
    font: inherit; font-size: 15px; font-weight: 600; line-height: 1.4;
    padding: 13px 22px; transition: .18s; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
}
.dk-body button.single_add_to_cart_button:hover,
.dk-pd__native-cart .single_add_to_cart_button:hover { background: var(--dk-orange-d) !important; }
.dk-body button.single_add_to_cart_button.disabled,
.dk-body button.single_add_to_cart_button:disabled,
.dk-pd__native-cart .single_add_to_cart_button.disabled,
.dk-pd__native-cart .single_add_to_cart_button:disabled { opacity: .55; cursor: not-allowed; }
/* Nút "Mua ngay" trong form chuẩn Woo — nâu thương hiệu */
.dk-body form.cart button.dk-pd__buy {
    background: var(--dk-brown) !important; color: #fff !important; border: 0;
}
.dk-body form.cart button.dk-pd__buy:hover { background: var(--dk-brown-2) !important; }
.dk-pd__native-cart button.dk-pd__buy {
    flex: 1; min-width: 130px; border: 0; cursor: pointer; border-radius: 10px;
    font: inherit; font-size: 15px; font-weight: 600; padding: 13px 22px;
    justify-content: center;
}
.dk-pd__native-cart .woocommerce-variation-description p { font-size: 13.5px; color: #5d5548; }
.dk-pd__native-cart .stock.in-stock { font-size: 13px; color: #2e7d32; }

/* --- Banner quà tặng (trên khu chọn phân loại) --- */
.dk-gift-banner { margin: 4px 0 14px; }
.dk-gift-banner img { width: 100%; height: auto; border-radius: 14px; display: block; }

/* --- Thẻ chọn biến thể (ảnh + tên + giá + Best seller) --- */
.dk-has-swatches table.variations {
    /* Giữ select trong DOM cho JS của Woo, chỉ đưa khỏi vùng nhìn */
    position: absolute; left: -9999px; width: 1px; height: 1px;
    overflow: hidden; opacity: 0; pointer-events: none;
}
.dk-vswatch { margin: 4px 0 14px; }
.dk-vswatch__label { display: block; font-size: 13.5px; font-weight: 600; color: var(--dk-ink); margin-bottom: 10px; }
.dk-vswatch__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); gap: 12px; }
.dk-vcard {
    position: relative; background: #fff; border: 1.5px solid #e4ddcc; border-radius: 12px;
    padding: 12px 8px 10px; cursor: pointer; text-align: center; font: inherit;
    transition: border-color .15s, box-shadow .15s, background .15s;
}
.dk-vcard:hover { border-color: var(--dk-orange); }
.dk-vcard__media { position: relative; display: block; margin-bottom: 8px; }
.dk-vcard img, .dk-vcard .dk-vcard__ph {
    width: 100%; aspect-ratio: 1/1; object-fit: contain; border-radius: 8px;
    display: block; min-height: 0;
}
/* Icon quà tặng — góc dưới phải ảnh */
.dk-vcard__gift {
    position: absolute; right: 2px; bottom: -6px; width: 42px; height: 42px;
    display: block; pointer-events: none; z-index: 2;
}
.dk-vcard__gift img { width: 100%; height: 100%; object-fit: contain; border-radius: 0; aspect-ratio: auto; margin: 0; }
.dk-vcard__name { display: block; font-size: 13px; font-weight: 600; color: var(--dk-ink); line-height: 1.35; margin-bottom: 3px; }
.dk-vcard__price { display: block; font-size: 13.5px; font-weight: 800; color: var(--dk-ink); }
.dk-vcard__price .woocommerce-Price-amount { font-weight: 800; }
/* Nhãn Freeship / phí ship */
.dk-vcard__ship {
    display: inline-block; margin-top: 8px; padding: 5px 12px; border-radius: 8px;
    font-size: 12px; font-weight: 700;
}
.dk-vcard__ship.is-free { background: #e4f4ea; color: #1e8e4e; }
.dk-vcard__ship.is-fee  { background: #fdeaf0; color: #d33b63; }

/* Best seller: viền hồng + nhãn */
.dk-vcard.is-best { border-color: #ef4056; }
.dk-vcard.is-best .dk-vcard__name, .dk-vcard.is-best .dk-vcard__price { color: #ef4056; }
.dk-vcard__badge {
    position: absolute; top: -10px; left: 50%; transform: translateX(-50%);
    background: #ef4056; color: #fff; font-size: 10px; font-weight: 800;
    letter-spacing: .8px; text-transform: uppercase; white-space: nowrap;
    padding: 3px 10px; border-radius: 6px;
}

/* Đang chọn: viền cam + dấu tick góc */
.dk-vcard.is-selected { border-color: var(--dk-orange); border-width: 2px; background: #fff8ea; box-shadow: 0 4px 12px rgba(228,160,42,.2); }
.dk-vcard.is-selected::after {
    content: "✓"; position: absolute; right: 6px; top: 6px;
    width: 18px; height: 18px; border-radius: 50%;
    background: var(--dk-orange); color: #fff; font-size: 11px; font-weight: 800;
    display: flex; align-items: center; justify-content: center;
}
.dk-vcard.is-best.is-selected { border-color: #ef4056; background: #fff5f6; box-shadow: 0 4px 12px rgba(239,64,86,.18); }
.dk-vcard.is-best.is-selected::after { background: #ef4056; }

/* Band ưu điểm trong trang sp */
.dk-pd__usp {
    background: #fff; border-radius: 16px; padding: 22px 26px; margin: 34px 0 0;
    box-shadow: 0 6px 18px rgba(80,55,15,.07);
}

/* Tabs */
.dk-tabs { background: #fff; border-radius: 16px; margin-top: 26px; box-shadow: 0 6px 18px rgba(80,55,15,.07); overflow: hidden; }
.dk-tabs__nav { display: flex; border-bottom: 1px solid #eee3cc; overflow-x: auto; }
.dk-tab {
    border: 0; background: transparent; cursor: pointer; white-space: nowrap;
    padding: 16px 22px; font: inherit; font-size: 14px; font-weight: 600; color: #8a7d68;
    border-bottom: 2.5px solid transparent; transition: .15s;
}
.dk-tab:hover { color: var(--dk-orange-d); }
.dk-tab.is-active { color: var(--dk-orange-d); border-bottom-color: var(--dk-orange); }
.dk-tabs__pane { display: none; padding: 24px 26px; }
.dk-tabs__pane.is-active { display: block; }

.dk-attr-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.dk-attr-table th, .dk-attr-table td { text-align: left; padding: 11px 14px; border-bottom: 1px dashed #eee3cc; }
.dk-attr-table th { color: var(--dk-ink); width: 220px; font-weight: 700; }
.dk-attr-table td { color: #5d5548; }
.dk-usage-list { margin: 0; padding-left: 22px; font-size: 14px; color: #4d463c; line-height: 2; }

/* Band dinh dưỡng */
.dk-nutri {
    background: #fff; border: 1.5px solid rgba(228,160,42,.4); border-radius: 16px;
    padding: 20px 26px; margin-top: 26px; box-shadow: 0 6px 18px rgba(80,55,15,.06);
}
.dk-nutri__title { display: block; font-size: 15px; font-weight: 800; color: var(--dk-ink); margin-bottom: 16px; }
.dk-nutri__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.dk-nutri__item {
    display: flex; align-items: center; gap: 12px; padding: 4px 18px;
    border-left: 1px solid #eee3cc;
}
.dk-nutri__item:first-child { border-left: 0; padding-left: 0; }
.dk-nutri__item > span {
    width: 42px; height: 42px; flex-shrink: 0; border-radius: 12px;
    background: rgba(228,160,42,.14); color: var(--dk-orange-d);
    display: inline-flex; align-items: center; justify-content: center;
}
.dk-nutri__item svg { width: 21px; height: 21px; }
.dk-nutri__item small { display: block; font-size: 12px; color: var(--dk-muted); }
.dk-nutri__item b { font-size: 18px; font-weight: 800; color: var(--dk-ink); }

/* Đánh giá + liên quan */
.dk-pd-reviews { margin-top: 34px; }
.dk-pd-reviews__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.dk-pd-related { margin-top: 34px; }

/* Woo reviews (tab Đánh giá) */
.dk-tabs__pane #reviews .comment-reply-title, .dk-tabs__pane #reviews .woocommerce-Reviews-title { font-size: 16px; font-weight: 700; color: var(--dk-ink); }
.dk-tabs__pane #reviews ol.commentlist { list-style: none; margin: 0 0 20px; padding: 0; }
.dk-tabs__pane #reviews li { border-bottom: 1px dashed #eee3cc; padding: 14px 0; }
.dk-tabs__pane #reviews img.avatar { border-radius: 50%; width: 40px; height: 40px; float: left; margin-right: 12px; }
.dk-tabs__pane #reviews .star-rating { color: var(--dk-orange); }
.dk-tabs__pane #reviews input[type=submit], .dk-tabs__pane #reviews .submit {
    background: var(--dk-orange); color: #fff; border: 0; border-radius: 10px;
    padding: 12px 24px; font-weight: 600; cursor: pointer;
}
.dk-tabs__pane #reviews textarea, .dk-tabs__pane #reviews input[type=text], .dk-tabs__pane #reviews input[type=email] {
    width: 100%; border: 1px solid #e2d7bf; border-radius: 10px; padding: 11px 13px; font: inherit;
}

/* ============================================================
   12. TRANG THƯỜNG + GIỎ HÀNG / THANH TOÁN WOOCOMMERCE
   ============================================================ */
.dk-page-banner .dk-shop-banner__inner { padding-top: 28px; padding-bottom: 30px; }
.dk-page-banner h1 { font-size: 32px; margin-bottom: 0; }
.dk-page { padding-top: 34px; padding-bottom: 56px; }
.dk-page__thumb { margin: 0 0 24px; }
.dk-page__thumb img { border-radius: 14px; }

/* Nút Woo (giỏ hàng, thanh toán, tài khoản) → màu thương hiệu */
.dk-page .woocommerce a.button,
.dk-page .woocommerce button.button,
.dk-page .woocommerce input.button,
.dk-page .woocommerce #respond input#submit,
.dk-page .woocommerce button[name="update_cart"],
.dk-page .woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.dk-page .woocommerce #place_order,
.dk-page .wc-block-components-button,
.dk-page .wc-block-cart__submit-button,
.dk-page .wc-block-components-checkout-place-order-button {
    background: var(--dk-orange) !important; color: #fff !important; border: 0 !important;
    border-radius: 10px !important; font-weight: 600; padding: 12px 22px;
    cursor: pointer; transition: .18s; text-decoration: none;
}
.dk-page .woocommerce a.button:hover,
.dk-page .woocommerce button.button:hover,
.dk-page .woocommerce input.button:hover,
.dk-page .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.dk-page .woocommerce #place_order:hover,
.dk-page .wc-block-components-button:hover {
    background: var(--dk-orange-d) !important; color: #fff !important;
}
.dk-page .woocommerce button.button:disabled,
.dk-page .woocommerce button.button.disabled { opacity: .55; }
.dk-page .woocommerce-cart .wc-proceed-to-checkout a.checkout-button { display: block; text-align: center; font-size: 16px; }

/* Bảng giỏ hàng */
.dk-page .woocommerce table.shop_table {
    border: 1px solid #eee3cc; border-radius: 12px; border-collapse: separate; border-spacing: 0;
    background: #fff; overflow: hidden;
}
.dk-page .woocommerce table.shop_table th,
.dk-page .woocommerce table.shop_table td { border-color: #f2e8d2; padding: 13px 14px; font-size: 14px; }
.dk-page .woocommerce table.shop_table thead th { background: var(--dk-cream); color: var(--dk-ink); }
.dk-page .woocommerce table.shop_table img { width: 64px; border-radius: 8px; }
.dk-page .woocommerce table.shop_table .product-name a { color: var(--dk-ink); font-weight: 600; }
.dk-page .woocommerce table.shop_table .product-name a:hover { color: var(--dk-orange-d); }
.dk-page .woocommerce a.remove { color: #c62828 !important; }
.dk-page .woocommerce a.remove:hover { background: #c62828; color: #fff !important; }
.dk-page .woocommerce .quantity .qty {
    border: 1px solid #e2d7bf; border-radius: 8px; padding: 8px; width: 70px; text-align: center; font: inherit;
}

/* Ô nhập chung (mã giảm giá, form thanh toán, đăng nhập) */
.dk-page .woocommerce input.input-text,
.dk-page .woocommerce #coupon_code,
.dk-page .woocommerce select,
.dk-page .woocommerce textarea {
    border: 1px solid #e2d7bf; border-radius: 10px; padding: 11px 13px; font: inherit; background: #fff;
}
.dk-page .woocommerce input.input-text:focus,
.dk-page .woocommerce #coupon_code:focus { outline: none; border-color: var(--dk-orange); }
.dk-page .woocommerce #coupon_code { width: 160px; padding: 10px 12px; }
.dk-page .woocommerce form .form-row label { font-size: 13px; font-weight: 600; color: var(--dk-ink); }

/* Tổng giỏ hàng + khối thanh toán */
.dk-page .cart_totals h2, .dk-page #order_review_heading, .dk-page .woocommerce-billing-fields h3 {
    font-family: var(--dk-serif); font-size: 20px; color: var(--dk-ink);
}
.dk-page .woocommerce-checkout #payment { background: var(--dk-cream-2); border-radius: 12px; }
.dk-page .woocommerce-checkout #payment div.payment_box { background: #fff; }
.dk-page .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }

/* Thông báo Woo */
.dk-page .woocommerce-message, .dk-page .woocommerce-info, .dk-page .woocommerce-error {
    border-top-color: var(--dk-orange); background: #fff; border-radius: 0 0 10px 10px;
}
.dk-page .woocommerce-message::before, .dk-page .woocommerce-info::before { color: var(--dk-orange-d); }

/* ============================================================
   12b. GIỎ HÀNG — THIẾT KẾ RIÊNG
   ============================================================ */

/* Trang Woo: không gạch chân link; nút thêm giỏ luôn chữ trắng */
.woocommerce-cart .dk-page__content a,
.woocommerce-checkout .dk-page__content a,
.woocommerce-account .dk-page__content a { text-decoration: none; }
.woocommerce-cart .dk-page__content .dk-btn--cart,
.woocommerce-cart .dk-page__content a.add_to_cart_button,
.woocommerce-checkout .dk-page__content .dk-btn--cart,
.woocommerce-account .dk-page__content .dk-btn--cart {
    color: #fff !important; text-decoration: none !important;
}
.dk-btn, a.dk-btn, .dk-cart-checkout, .dk-sec-link { text-decoration: none !important; }
.dk-cart-layout { display: grid; grid-template-columns: 1fr 340px; gap: 24px; align-items: start; }
.dk-cart-card {
    background: #fff; border: 1px solid #f0e6cf; border-radius: 16px;
    padding: 6px 18px 18px; box-shadow: 0 6px 18px rgba(80,55,15,.06);
}

/* Bảng sản phẩm */
.dk-cart-table { width: 100%; border-collapse: collapse; }
.dk-cart-table thead th {
    text-align: left; font-size: 12.5px; font-weight: 700; letter-spacing: .3px;
    color: var(--dk-muted); padding: 14px 10px; border-bottom: 1px solid #f0e6cf;
}
.dk-cart-table thead th.c-del { text-align: center; }
.dk-cart-table td { padding: 16px 10px; border-bottom: 1px solid #f7efdd; vertical-align: middle; font-size: 14px; }
.dk-cart-row:last-child td { border-bottom: 0; }
.dk-cart-prod { display: flex; gap: 14px; align-items: center; }
.dk-cart-thumb { flex: 0 0 76px; }
.dk-cart-thumb img { width: 76px; height: 76px; object-fit: cover; border-radius: 10px; display: block; }
.dk-cart-name { display: block; font-weight: 700; color: var(--dk-ink); font-size: 14.5px; line-height: 1.35; }
.dk-cart-name:hover { color: var(--dk-orange-d); }
.dk-cart-prodinfo small { display: block; font-size: 12px; color: var(--dk-muted); margin-top: 3px; }
.dk-cart-prodinfo .variation { font-size: 12px; color: var(--dk-muted); margin: 3px 0 0; display: flex; gap: 4px; flex-wrap: wrap; }
.dk-cart-prodinfo .variation dt, .dk-cart-prodinfo .variation dd { display: inline; margin: 0; }
.dk-cart-table .c-sub { font-weight: 800; color: var(--dk-ink); white-space: nowrap; }
.dk-cart-table .amount { white-space: nowrap; }
.dk-cart-remove {
    display: inline-flex; align-items: center; justify-content: center;
    width: 34px; height: 34px; border-radius: 9px; color: #b3a78f; transition: .15s;
}
.dk-cart-remove svg { width: 17px; height: 17px; }
.dk-cart-remove:hover { background: #fdecec; color: #c62828; }
.dk-cart-table .dk-qty input { width: 46px; height: 36px; }
.dk-cart-table .dk-qty__btn { width: 32px; height: 36px; }

/* Mã giảm giá + nút hành động */
.dk-cart-actions {
    display: flex; justify-content: space-between; align-items: center; gap: 14px;
    flex-wrap: wrap; padding-top: 16px; border-top: 1px solid #f0e6cf; margin-top: 4px;
}
.dk-cart-coupon { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 260px; position: relative; }
.dk-cart-coupon__ico { width: 17px; height: 17px; color: #b3a78f; position: absolute; left: 12px; }
.dk-cart-coupon input {
    flex: 1; min-width: 0; border: 1px solid #e2d7bf; border-radius: 10px;
    padding: 11px 12px 11px 36px; font: inherit; font-size: 13.5px;
}
.dk-cart-coupon input:focus { outline: none; border-color: var(--dk-orange); }
.dk-cart-coupon__btn { padding: 11px 18px; font-size: 13.5px; }
.dk-cart-btns { display: flex; gap: 10px; flex-wrap: wrap; }
.dk-cart-btns .dk-btn { font-size: 13.5px; padding: 11px 16px; }

/* Tóm tắt đơn hàng */
.dk-cart-summary {
    background: #fff; border: 1px solid #f0e6cf; border-radius: 16px;
    padding: 20px 18px; box-shadow: 0 6px 18px rgba(80,55,15,.06);
}
.dk-cart-summary__title {
    display: flex; align-items: center; gap: 9px; font-family: var(--dk-serif);
    font-size: 19px; font-weight: 700; color: var(--dk-ink); margin: 0 0 14px;
}
.dk-cart-summary__title svg { width: 20px; height: 20px; color: var(--dk-orange-d); }
.dk-cart-summary__row {
    display: flex; justify-content: space-between; align-items: center;
    font-size: 13.5px; color: #5d5548; padding: 7px 0;
}
.dk-cart-summary__row b { font-weight: 700; color: var(--dk-ink); }
.dk-cart-summary__row .is-discount { color: #2e7d32; }
.dk-cart-summary__coupon b a { color: #c62828; font-size: 12px; }
.dk-cart-summary__total {
    display: flex; justify-content: space-between; align-items: center;
    border-top: 1.5px dashed #eee3cc; margin-top: 8px; padding: 13px 0 4px;
    font-size: 15px; font-weight: 700; color: var(--dk-ink);
}
.dk-cart-summary__total b, .dk-cart-summary__total .amount { font-size: 22px; font-weight: 800; color: #E4A02A; }
.dk-cart-freeship {
    display: flex; align-items: center; gap: 10px; background: #fdf3dd;
    border-radius: 10px; padding: 11px 13px; margin: 12px 0 0;
    font-size: 12.5px; font-weight: 600; color: #6b5537;
}
.dk-cart-freeship svg { width: 20px; height: 20px; color: var(--dk-orange-d); flex-shrink: 0; }
.dk-cart-login {
    border: 1px solid #f0e6cf; border-radius: 12px; padding: 14px; margin-top: 12px; text-align: center;
}
.dk-cart-login b { font-size: 13.5px; color: var(--dk-ink); }
.dk-cart-login p { font-size: 12px; color: var(--dk-muted); margin: 5px 0 10px; }
.dk-cart-login .dk-btn { width: 100%; justify-content: center; font-size: 13px; padding: 10px 12px; }
.dk-cart-checkout {
    display: flex; align-items: center; justify-content: center; gap: 9px;
    width: 100%; margin-top: 14px; border-radius: 12px;
    background: var(--dk-orange); color: #fff !important; font-size: 15px; font-weight: 700;
    padding: 14px 12px; transition: .15s;
}
.dk-cart-checkout:hover { background: var(--dk-orange-d); }
.dk-cart-checkout svg { width: 18px; height: 18px; }
.dk-cart-or {
    display: flex; align-items: center; gap: 12px; color: #b3a78f; font-size: 12px; margin: 12px 0;
}
.dk-cart-or::before, .dk-cart-or::after { content: ""; flex: 1; border-top: 1px solid #eee3cc; }
.dk-cart-quick { width: 100%; justify-content: center; }
.dk-cart-trust { list-style: none; margin: 16px 0 0; padding: 0; }
.dk-cart-trust li {
    display: flex; gap: 11px; align-items: flex-start; padding: 9px 0;
    border-top: 1px dashed #f0e6cf;
}
.dk-cart-trust svg { width: 20px; height: 20px; color: var(--dk-orange-d); flex-shrink: 0; margin-top: 2px; }
.dk-cart-trust b { display: block; font-size: 13px; color: var(--dk-ink); }
.dk-cart-trust small { font-size: 11.5px; color: var(--dk-muted); }

/* Band cam kết + gợi ý trong trang giỏ */
.dk-cart-usp {
    background: #fff; border-radius: 16px; padding: 20px 24px; margin-top: 24px;
    box-shadow: 0 6px 18px rgba(80,55,15,.06);
}
.dk-cart-like { margin-top: 30px; }
.dk-cart-like .dk-sec-head h2 { font-size: 24px; }

/* Giỏ trống */
.dk-cart-empty {
    background: #fff; border: 1px solid #f0e6cf; border-radius: 16px;
    text-align: center; padding: 50px 24px; box-shadow: 0 6px 18px rgba(80,55,15,.06);
}
.dk-cart-empty__ico {
    width: 74px; height: 74px; border-radius: 50%; background: var(--dk-cream);
    color: var(--dk-orange-d); display: inline-flex; align-items: center; justify-content: center;
    margin-bottom: 14px;
}
.dk-cart-empty__ico svg { width: 34px; height: 34px; }
.dk-cart-empty h2 { font-family: var(--dk-serif); font-size: 23px; color: var(--dk-ink); margin: 0 0 8px; }
.dk-cart-empty p { font-size: 13.5px; color: var(--dk-muted); margin: 0 0 18px; }

/* Responsive giỏ hàng */
@media (max-width: 980px) {
    .dk-cart-layout { grid-template-columns: 1fr; }
    .dk-cart-usp { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
    .dk-cart-table thead { position: absolute; left: -9999px; }
    .dk-cart-table, .dk-cart-table tbody, .dk-cart-table tr, .dk-cart-table td { display: block; width: 100%; }
    .dk-cart-row { position: relative; border-bottom: 1px solid #f0e6cf; padding: 14px 0 10px; }
    .dk-cart-table td { border: 0; padding: 5px 0; }
    .dk-cart-table td.c-prod { padding-right: 40px; }
    .dk-cart-table td[data-label] {
        display: flex; justify-content: space-between; align-items: center;
    }
    .dk-cart-table td[data-label]::before {
        content: attr(data-label); font-size: 12px; font-weight: 600; color: var(--dk-muted);
    }
    .dk-cart-table .c-del { position: absolute; top: 12px; right: 0; width: auto; }
    .dk-cart-actions { flex-direction: column; align-items: stretch; }
    .dk-cart-btns .dk-btn { flex: 1; justify-content: center; }
    .dk-cart-usp { grid-template-columns: 1fr; }
}

/* ============================================================
   12c. MINI CART (hiện khi thêm vào giỏ)
   ============================================================ */
.dk-minicart {
    position: fixed; inset: 0; z-index: 1000;
    visibility: hidden; pointer-events: none;
}
.dk-minicart.is-open { visibility: visible; pointer-events: auto; }
.dk-minicart__overlay {
    position: absolute; inset: 0; background: rgba(30,18,5,.28);
    opacity: 0; transition: opacity .25s ease;
}
.dk-minicart.is-open .dk-minicart__overlay { opacity: 1; }
.dk-minicart__panel {
    position: absolute; top: 84px; right: 16px; width: min(360px, calc(100vw - 24px));
    max-height: calc(100vh - 100px); display: flex; flex-direction: column;
    background: #fff; border-radius: 16px; box-shadow: 0 24px 60px rgba(60,40,10,.28);
    transform: translateX(24px); opacity: 0;
    transition: transform .3s cubic-bezier(.2,.7,.3,1), opacity .25s ease;
}
.dk-minicart.is-open .dk-minicart__panel { transform: translateX(0); opacity: 1; }
.dk-minicart__head {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 16px; border-bottom: 1px solid #f0e6cf;
}
.dk-minicart__ok { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 14.5px; color: #2e7d32; }
.dk-minicart__ok svg { width: 20px; height: 20px; }
.dk-minicart__close {
    width: 32px; height: 32px; border: 0; background: var(--dk-cream); border-radius: 50%;
    color: var(--dk-ink); font-size: 20px; line-height: 1; cursor: pointer; transition: .15s;
}
.dk-minicart__close:hover { background: var(--dk-orange); color: #fff; }
.dk-minicart__body { overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 6px 16px 16px; }

/* Nội dung mini cart chuẩn Woo */
.dk-minicart .woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; }
.dk-minicart .woocommerce-mini-cart-item {
    display: flex; align-items: center; gap: 12px; position: relative;
    padding: 12px 0; border-bottom: 1px dashed #f0e6cf;
}
.dk-minicart .woocommerce-mini-cart-item img {
    width: 54px; height: 54px; object-fit: cover; border-radius: 9px; order: -1; margin: 0 !important;
}
.dk-minicart .woocommerce-mini-cart-item a:not(.remove) {
    font-size: 13.5px; font-weight: 600; color: var(--dk-ink); line-height: 1.4; text-decoration: none;
}
.dk-minicart .woocommerce-mini-cart-item a:not(.remove):hover { color: var(--dk-orange-d); }
.dk-minicart .quantity { font-size: 12.5px; color: var(--dk-muted); }
.dk-minicart .quantity .amount { color: var(--dk-ink); font-weight: 700; }
.dk-minicart a.remove {
    position: absolute; top: 50%; right: 0; transform: translateY(-50%);
    width: 22px; height: 22px; line-height: 20px; text-align: center;
    border-radius: 50%; color: #c62828 !important; font-size: 16px; background: transparent;
}
.dk-minicart a.remove:hover { background: #c62828; color: #fff !important; }
.dk-minicart .woocommerce-mini-cart__total {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 0 12px; margin-top: 4px; border-top: 1px solid #f0e6cf; font-size: 14px;
}
.dk-minicart .woocommerce-mini-cart__total strong { color: var(--dk-ink); }
.dk-minicart .woocommerce-mini-cart__total .amount { font-size: 18px; font-weight: 800; color: #E4A02A; }
.dk-minicart .woocommerce-mini-cart__buttons { display: flex; gap: 10px; margin: 0; padding: 0; }
.dk-minicart .woocommerce-mini-cart__buttons .button {
    flex: 1; text-align: center; padding: 11px 12px; border-radius: 10px;
    font-size: 13.5px; font-weight: 700; text-decoration: none; transition: .15s; border: 1.5px solid var(--dk-orange);
}
.dk-minicart .woocommerce-mini-cart__buttons .button:not(.checkout) { background: #fff; color: var(--dk-orange-d); }
.dk-minicart .woocommerce-mini-cart__buttons .button:not(.checkout):hover { background: #fff7e6; }
.dk-minicart .woocommerce-mini-cart__buttons .button.checkout { background: var(--dk-orange); color: #fff; }
.dk-minicart .woocommerce-mini-cart__buttons .button.checkout:hover { background: var(--dk-orange-d); }
.dk-minicart .woocommerce-mini-cart__empty-message { text-align: center; color: var(--dk-muted); padding: 20px 0; }

@media (max-width: 620px) {
    .dk-minicart__panel {
        top: 8px; right: 8px; left: 8px; width: auto;
        max-height: calc(100vh - 16px);
    }
}

/* ============================================================
   12d. TRANG TÀI KHOẢN (My Account)
   ============================================================ */
.woocommerce-account .dk-page .woocommerce {
    display: grid; grid-template-columns: 260px 1fr; gap: 24px; align-items: start;
}
/* Sidebar menu */
.woocommerce-MyAccount-navigation ul {
    list-style: none; margin: 0; padding: 0; background: #fff;
    border: 1px solid #f0e6cf; border-radius: 16px; overflow: hidden;
    box-shadow: 0 6px 18px rgba(80,55,15,.06);
}
.woocommerce-MyAccount-navigation li { border-bottom: 1px solid #f7efdd; }
.woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-MyAccount-navigation li a {
    display: block; padding: 14px 18px; font-size: 14.5px; font-weight: 600;
    color: var(--dk-ink); text-decoration: none; transition: .15s; position: relative;
}
.woocommerce-MyAccount-navigation li a:hover { background: var(--dk-cream); color: var(--dk-orange-d); }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--dk-orange); color: #fff; }
/* Mục Cộng tác viên nổi bật */
.woocommerce-MyAccount-navigation-link--dk-affiliate a { color: var(--dk-orange-d); }
.woocommerce-MyAccount-navigation-link--dk-affiliate a::after {
    content: "→"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); opacity: .7;
}

/* Nội dung */
.woocommerce-MyAccount-content {
    background: #fff; border: 1px solid #f0e6cf; border-radius: 16px;
    padding: 26px 28px; box-shadow: 0 6px 18px rgba(80,55,15,.06);
}
.woocommerce-MyAccount-content p { color: #4d463c; line-height: 1.7; }
.woocommerce-MyAccount-content a:not(.button) { color: var(--dk-orange-d); font-weight: 600; }
.woocommerce-MyAccount-content mark { background: var(--dk-cream); color: var(--dk-ink); padding: 0 4px; border-radius: 4px; }
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3 {
    font-family: var(--dk-serif); color: var(--dk-ink); margin: 0 0 14px;
}
.woocommerce-MyAccount-content .woocommerce-Addresses { margin-top: 16px; }
.woocommerce-MyAccount-content form .form-row { margin-bottom: 14px; }
.woocommerce-MyAccount-content label { font-size: 13.5px; font-weight: 600; color: var(--dk-ink); }

@media (max-width: 860px) {
    .woocommerce-account .dk-page .woocommerce { grid-template-columns: 1fr; }
}

/* --- reCAPTCHA trong form đăng nhập/đăng ký --- */
.dk-recaptcha { margin: 6px 0 14px !important; }
.dk-recaptcha .g-recaptcha { display: inline-block; }
@media (max-width: 360px) {
    .dk-recaptcha .g-recaptcha { transform: scale(0.86); transform-origin: 0 0; }
}

/* --- Trang 404 --- */
.dk-404 { background: var(--dk-cream-2); }
.dk-404__inner { text-align: center; padding: 70px 24px 90px; max-width: 520px; }
.dk-404__code {
    font-family: var(--dk-serif); font-size: 96px; font-weight: 700; line-height: 1;
    color: var(--dk-orange); margin-bottom: 8px;
}
.dk-404 h1 { font-family: var(--dk-serif); font-size: 26px; color: var(--dk-ink); margin: 0 0 10px; }
.dk-404 p { font-size: 14px; color: var(--dk-muted); margin: 0 0 22px; }
.dk-404__search { max-width: 360px; margin: 0 auto 22px; }
.dk-404__btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* Responsive chi tiết sp */
@media (max-width: 980px) {
    .dk-pd__grid { flex-direction: column; gap: 26px; }
    .dk-pd__gallery, .dk-pd__info { width: 100%; }
    .dk-pd__info h1 { font-size: 26px; }
    .dk-nutri__grid { grid-template-columns: 1fr 1fr; gap: 14px 0; }
    .dk-nutri__item:nth-child(3) { border-left: 0; padding-left: 0; }
    .dk-pd-reviews__grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
    .dk-pd__benefits { grid-template-columns: 1fr; }
    .dk-pd__btns { flex-direction: column; }
    .dk-nutri__grid { grid-template-columns: 1fr; }
    .dk-nutri__item { border-left: 0; padding-left: 0; }
}

/* ============================================================
   13. RESPONSIVE TOÀN SITE — tinh chỉnh mobile
   ============================================================ */

/* Header dính không bị admin bar WP che khi đăng nhập */
body.admin-bar .dk-header { top: 32px; }
@media (max-width: 782px) {
    body.admin-bar .dk-header { top: 46px; }
}
html { scroll-padding-top: 96px; } /* neo (#...) không bị header dính che */

/* Nội dung nhúng không tràn màn hình nhỏ */
.dk-body img, .dk-body iframe, .dk-body video, .dk-body embed, .dk-body object { max-width: 100%; }
.dk-single__content table { display: block; overflow-x: auto; max-width: 100%; }
.dk-breadcrumb { flex-wrap: wrap; row-gap: 4px; }

@media (max-width: 980px) {
    .dk-pd { padding-top: 16px; }
    .dk-tabs__nav { -webkit-overflow-scrolling: touch; }
    .dk-pd__thumbs { -webkit-overflow-scrolling: touch; }
}

@media (max-width: 620px) {
    /* --- Chặn iOS tự zoom khi focus ô nhập (Safari zoom nếu chữ < 16px) --- */
    .dk-body input[type="text"],
    .dk-body input[type="tel"],
    .dk-body input[type="email"],
    .dk-body input[type="url"],
    .dk-body input[type="number"],
    .dk-body input[type="search"],
    .dk-body input[type="password"],
    .dk-body select,
    .dk-body textarea { font-size: 16px !important; }

    /* --- Header gọn --- */
    .dk-header__inner { gap: 8px; min-height: 58px; }
    .dk-logo img { width: 42px; height: 42px; }
    .dk-logo__text b { font-size: 16px; }
    .dk-icon-btn { width: 38px; height: 38px; }
    .dk-icon-btn svg { width: 20px; height: 20px; }
    .dk-burger { width: 38px; height: 38px; }

    /* --- Band newsletter: form full width --- */
    .dk-newsletter form { min-width: 0; width: 100%; }
    .dk-newsletter input[type="email"] { min-width: 0; }
    .dk-newsletter__inner { padding: 20px 0; }

    /* --- Trang chủ: khoảng thở đều --- */
    .dk-hero__grid { padding-top: 28px; padding-bottom: 30px; gap: 20px; }
    .dk-hero__media img, .dk-hero__media .dk-ph { aspect-ratio: 4/3; }
    .dk-hero__badges { gap: 12px 18px; margin-top: 22px; }
    .dk-cats { padding: 26px 0; }
    .dk-cat { aspect-ratio: 16/10; }
    .dk-products { padding-bottom: 34px; }
    .dk-usp { padding-bottom: 34px; }
    .dk-usp__grid { padding: 18px 16px; }
    .dk-story { padding: 34px 0; }
    .dk-reviews { padding: 34px 0; }
    .dk-blog { padding-bottom: 38px; }
    .dk-footer__top { padding: 30px 0 20px; }

    /* --- Banner các trang con --- */
    .dk-shop-banner__inner { padding-top: 22px; padding-bottom: 24px; }
    .dk-shop-banner h1 { font-size: 25px; }
    .dk-shop-banner p { font-size: 13.5px; }
    .dk-page-banner h1 { font-size: 23px; }

    /* --- Trang danh mục sản phẩm --- */
    .dk-shop-layout { padding-top: 18px; padding-bottom: 28px; gap: 16px; }
    .dk-shop-tools { width: 100%; justify-content: space-between; }
    .dk-fgroup { padding: 15px 14px; }

    /* --- Chi tiết sản phẩm --- */
    .dk-pd__info h1 { font-size: 22px; }
    .dk-pd__price, .dk-pd__price .price { font-size: 22px; }
    .dk-pd__native-cart .woocommerce-variation-price .price { font-size: 22px; }
    .dk-pd-thumb { flex: 0 0 84px; }
    .dk-tabs__pane { padding: 18px 16px; }
    .dk-pd__native-cart table.variations th.label,
    .dk-pd__native-cart table.variations td.value { display: block; width: 100%; padding: 5px 0; }
    .dk-pd__native-cart table.variations select { width: 100%; min-width: 0; }
    .dk-pd__native-cart .single_add_to_cart_button,
    .dk-pd__native-cart button.dk-pd__buy { flex: 1 1 100%; min-width: 0; }
    .dk-pd__trust { gap: 8px; font-size: 11.5px; }

    /* --- Bài viết chi tiết --- */
    .dk-single-layout { padding-top: 14px; padding-bottom: 26px; }
    .dk-single__title { font-size: 23px; }
    .dk-single__meta { gap: 12px; }
    .dk-others { padding: 26px 0 38px; }

    /* --- Về chúng tôi --- */
    .dk-journey { padding: 32px 0 38px; }
    .dk-step { padding: 16px; }
    .dk-commitband__inner { padding: 20px 16px; gap: 18px; }

    /* --- Liên hệ --- */
    .dk-ct-section { padding-top: 28px; }
    .dk-ct-card { padding: 20px 16px; }
    .dk-map__card { padding: 18px 16px; }
    .dk-map__frame iframe, .dk-map__frame .dk-ph { height: 220px; }
    .dk-faq__title { font-size: 18px; }

    /* --- 404 --- */
    .dk-404__inner { padding: 44px 16px 56px; }
    .dk-404__code { font-size: 68px; }

    /* --- Giỏ hàng / thanh toán --- */
    .dk-page { padding-top: 22px; padding-bottom: 34px; }
    .dk-page .woocommerce .coupon { display: flex; flex-direction: column; gap: 8px; width: 100%; }
    .dk-page .woocommerce #coupon_code { width: 100%; }
    .dk-page .woocommerce table.shop_table th,
    .dk-page .woocommerce table.shop_table td { font-size: 13px; padding: 10px 10px; }
    .dk-page .woocommerce a.button,
    .dk-page .woocommerce button.button,
    .dk-page .woocommerce-cart .wc-proceed-to-checkout a.checkout-button { width: 100%; text-align: center; justify-content: center; }
}

/* ============================================================
   14. CHI TIẾT SẢN PHẨM — GIAO DIỆN MOBILE KIỂU LANDING
   ============================================================ */
.dk-mlp { background: var(--dk-cream-2); padding-bottom: 86px; overflow-x: clip; } /* clip: chặn tràn ngang, không phá sticky/fixed */
.dk-mlp, .dk-mlp * { min-width: 0; } /* cho phép flex/grid con co lại, không đẩy rộng trang */

/* Slider ảnh vuốt ngang */
.dk-mlp__slider-wrap { position: relative; background: #fff; }
.dk-mlp__slider {
    display: flex; overflow-x: auto; scroll-snap-type: x mandatory;
    scroll-behavior: smooth; -webkit-overflow-scrolling: touch; scrollbar-width: none;
}
.dk-mlp__slider::-webkit-scrollbar { display: none; }
.dk-mlp__slide { flex: 0 0 100%; scroll-snap-align: center; }
.dk-mlp__slide img { width: 100%; aspect-ratio: 1/1; object-fit: cover; display: block; }
.dk-mlp__dots {
    position: absolute; left: 0; right: 0; bottom: 12px;
    display: flex; gap: 7px; justify-content: center;
}
.dk-mlp__dots button {
    width: 8px; height: 8px; border-radius: 50%; border: 0; padding: 0; cursor: pointer;
    background: rgba(255,255,255,.65); box-shadow: 0 1px 3px rgba(0,0,0,.25); transition: .2s;
}
.dk-mlp__dots button.is-active { background: var(--dk-orange); width: 20px; border-radius: 99px; }

/* Thông tin chính */
.dk-mlp__head { padding-top: 16px; }
.dk-mlp__head h1 {
    font-family: var(--dk-serif); font-size: 21px; font-weight: 700;
    color: var(--dk-ink); margin: 0 0 6px; line-height: 1.35;
}
.dk-mlp__meta { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: #8a7d68; margin-bottom: 8px; flex-wrap: wrap; }
.dk-mlp__price { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.dk-mlp__price .price { font-size: 25px; font-weight: bolder; color: #E4A02A; }
.dk-mlp__price .price del { font-size: 15px; font-weight: 500; color: #b3a78f; }
.dk-mlp__price .price ins { text-decoration: none; }
.dk-mlp__short { font-size: 13.5px; color: #5d5548; line-height: 1.7; margin-bottom: 12px; }
.dk-mlp__short ul { padding-left: 20px; margin: 6px 0; }
.dk-mlp__benefits { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.dk-mlp__benefits span {
    display: inline-flex; align-items: center; gap: 6px;
    border: 1px solid rgba(228,160,42,.5); background: #fff; border-radius: 999px;
    padding: 6px 12px; font-size: 12px; font-weight: 600; color: #6b5537;
}
.dk-mlp__benefits svg { width: 14px; height: 14px; color: var(--dk-orange-d); }
.dk-mlp__form { background: #fff; border: 1.5px solid rgba(228,160,42,.4); border-radius: 14px; padding: 14px; margin-bottom: 12px; }
.dk-mlp__head .dk-pd__trust { margin-top: 0; }

/* Form chốt đơn nhanh (COD) */
.dk-qo {
    background: #fff; border: 1.5px solid rgba(228,160,42,.4); border-radius: 14px;
    padding: 16px 14px; margin-bottom: 12px; position: relative;
}
.dk-qo__badges { display: flex; flex-direction: column; gap: 8px; margin-bottom: 8px; }
.dk-qo__pill {
    display: inline-flex; align-items: center; gap: 8px; align-self: flex-start;
    background: #e2f4f0; color: #0e8f7e; font-size: 13px; font-weight: 600;
    padding: 6px 12px; border-radius: 8px;
}
.dk-qo__pill svg { width: 17px; height: 17px; flex-shrink: 0; }
.dk-qo__top { font-size: 13.5px; font-weight: 700; color: var(--dk-orange-d); margin-bottom: 4px; }
.dk-qo__divider { border-top: 1.5px dashed #e4dcc8; margin: 12px 0; }
.dk-qo__field { display: block; font-size: 13.5px; font-weight: 700; color: var(--dk-ink); margin-bottom: 12px; }
.dk-qo__field input {
    width: 100%; margin-top: 6px; border: 1px solid #e0dcd2; border-radius: 12px;
    padding: 13px 14px; font: inherit; font-size: 14px; background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,.05);
}
.dk-qo__field input:focus { outline: none; border-color: var(--dk-orange); }
.dk-qo__field input::placeholder { color: #b6b0a4; }
.dk-qo__submit {
    width: 100%; border: 0; cursor: pointer; border-radius: 12px;
    background: var(--dk-orange); color: #fff; font: inherit; font-size: 15.5px;
    font-weight: 800; letter-spacing: .5px; padding: 15px 10px; transition: .15s;
}
.dk-qo__submit:active { background: var(--dk-orange-d); }
.dk-qo__note { font-size: 11.5px; color: #8a7d68; text-align: center; margin: 9px 0 0; line-height: 1.5; }

/* Khối mua thống nhất: các phần tử bên trong form chốt đơn */
.dk-vswatch--qo { margin-top: 2px; }
.dk-qo__price { margin: 2px 0 12px; }
.dk-qo__price .price { font-size: 25px; font-weight: bolder; color: #E4A02A; }
.dk-qo__qty { margin: 2px 0 4px; }
.dk-qo__qty label { font-size: 13.5px; font-weight: 700; color: var(--dk-ink); }
.dk-vcard.is-oos { opacity: .45; cursor: not-allowed; }
.dk-qo__add {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    width: 100%; margin-top: 10px; border: 1.5px solid var(--dk-orange); border-radius: 12px;
    background: #fff8ea; color: var(--dk-orange-d); font-size: 15px; font-weight: 700;
    padding: 13px 10px; transition: .15s;
}
.dk-qo__add svg { width: 18px; height: 18px; }
.dk-qo__add:active { background: #fdf0d3; color: var(--dk-orange-d); }
.dk-qo__add.is-disabled { opacity: .55; border-color: #d8cbae; color: #a89a80; background: #faf6ec; }
.dk-qo__add.loading { opacity: .6; pointer-events: none; }
.dk-qo .added_to_cart {
    display: block; text-align: center; margin-top: 8px;
    font-size: 13px; font-weight: 600; color: var(--dk-orange-d); text-decoration: underline;
}
.dk-qo__submit:disabled { opacity: .55; cursor: not-allowed; }

/* Khối đánh giá HTML (dán từ admin) */
.dk-rvbox {
    background: #fff; border: 1.5px solid rgba(228,160,42,.4); border-radius: 14px;
    padding: 16px 14px; margin-bottom: 12px;
}
.dk-rvbox__title { font-size: 16px; font-weight: 800; color: var(--dk-ink); margin: 0 0 12px; }
.dk-rvhtml { font-size: 13.5px; color: #4d463c; line-height: 1.65; overflow-wrap: break-word; }
.dk-rvhtml img { max-width: 100%; height: auto; border-radius: 8px; }
.dk-rvhtml a { color: var(--dk-orange-d); }
.dk-rvhtml table { max-width: 100%; }
/* Mobile: khối đánh giá dài thì cuộn trong khung, không đẩy box mua xuống quá sâu */
.dk-rvbox .dk-rvhtml { max-height: 520px; overflow-y: auto; -webkit-overflow-scrolling: touch; padding-right: 4px; }

/* Section landing */
.dk-mlp__section { padding-top: 26px; }
.dk-mlp__stitle {
    display: flex; align-items: center; justify-content: center; gap: 10px;
    font-size: 16px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase;
    color: #4a2e14; text-align: center; margin: 0 0 14px;
}
.dk-mlp__stitle span { color: var(--dk-orange); display: inline-flex; }
.dk-mlp__stitle svg { width: 18px; height: 18px; }
.dk-mlp__stitle .flip { transform: scaleX(-1); }
.dk-mlp__section .dk-single__content { font-size: 14px; }
.dk-mlp__section .dk-single__content img { border-radius: 12px; width: 100%; }

/* Khối đánh giá trên mobile (đặt trên khối đặt hàng) */
.dk-mlp__reviews {
    margin: 18px 0 8px; padding: 14px 14px 4px;
    background: #fff; border: 1.5px solid rgba(228,160,42,.35); border-radius: 14px;
}
.dk-mlp__reviews .dk-mlp__stitle { font-size: 15px; margin-bottom: 6px; }

/* ===== Danh sách đánh giá dùng chung (helper mobile) + nút "Xem thêm" (PC & mobile) ===== */
.dk-rvlist { list-style: none; margin: 0; padding: 0; }
.dk-rvitem { display: flex; gap: 12px; align-items: flex-start; padding: 16px 0; border-bottom: 1px solid #f0e6cf; }
.dk-rvitem:last-child { border-bottom: 0; }
.dk-rvitem__avatar {
    flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%;
    background: #f1efe8; color: #8a7d68; font-weight: 700; text-transform: uppercase;
    display: flex; align-items: center; justify-content: center;
}
.dk-rvitem__body { flex: 1; min-width: 0; }
.dk-rvitem__stars { display: block; margin: 0 0 4px; font-size: 14px; letter-spacing: 1px; }
.dk-rvitem__author { display: block; font-weight: 700; color: #2b2622; }
.dk-rvitem__date, .dk-rvitem__variation { display: block; font-size: 12.5px; color: #8a7d68; margin-top: 2px; }
.dk-rvitem__text { color: #4d463c; line-height: 1.6; margin: 8px 0 0; white-space: pre-line; word-wrap: break-word; }
.dk-rvitem__images { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.dk-rvitem__images a { display: block; width: 80px; height: 80px; border-radius: 8px; overflow: hidden; border: 1px solid #f0e6cf; }
.dk-rvitem__images img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 600px) { .dk-rvitem__images a { width: 68px; height: 68px; } }
.dk-rvnone { color: #8a7d68; padding: 12px 0; }
.dk-rvmore {
    display: block; width: 100%; margin: 16px 0 4px; padding: 12px;
    background: #fff; border: 1.5px solid var(--dk-orange); border-radius: 10px;
    color: #b4741d; font-weight: 700; font-size: 14px; cursor: pointer; transition: background .15s;
}
.dk-rvmore:hover { background: #fff8ec; }

/* Band dinh dưỡng mobile */
.dk-mlp__nutri { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.dk-mlp__nutri > div {
    background: #fff; border: 1.5px solid rgba(228,160,42,.4); border-radius: 12px;
    padding: 12px 14px; text-align: center;
}
.dk-mlp__nutri small { display: block; font-size: 11.5px; color: var(--dk-muted); }
.dk-mlp__nutri b { font-size: 17px; font-weight: 800; color: var(--dk-ink); }

.dk-mlp__review { margin-bottom: 10px; }

/* Sản phẩm liên quan vuốt ngang */
.dk-mlp__related-wrap .dk-mlp__stitle { padding: 0 16px; }
.dk-mlp__related {
    display: flex; gap: 12px; overflow-x: auto; padding: 4px 16px 12px;
    scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; scrollbar-width: none;
}
.dk-mlp__related::-webkit-scrollbar { display: none; }
.dk-mlp__rcard {
    flex: 0 0 150px; scroll-snap-align: start; background: #fff; border-radius: 12px;
    padding: 10px; box-shadow: 0 5px 14px rgba(80,55,15,.08); text-align: center;
}
.dk-mlp__rcard img, .dk-mlp__rcard .dk-ph { width: 100%; aspect-ratio: 1/1; object-fit: cover; border-radius: 9px; margin-bottom: 8px; }
.dk-mlp__rcard b { display: block; font-size: 12.5px; color: var(--dk-ink); line-height: 1.4; margin-bottom: 4px; }
.dk-mlp__rprice .price, .dk-mlp__rprice { font-size: 13.5px; font-weight: 800; color: #E4A02A; }
.dk-mlp__rprice del { color: #b3a78f; font-weight: 500; margin-right: 4px; }
.dk-mlp__rprice ins { text-decoration: none; }

/* Thanh mua hàng dính đáy — Zalo | Messenger | Mua Ngay (Free Shipping) */
.dk-mlp__bar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 600;
    display: flex; align-items: center; background: #fff;
    box-shadow: 0 -4px 18px rgba(60,40,10,.14);
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
}
.dk-mlp__bar-app {
    flex: 1; position: relative; display: flex; flex-direction: column;
    align-items: center; justify-content: center; gap: 4px; padding: 2px 4px;
}
.dk-mlp__bar-app img { width: 30px; height: 30px; object-fit: contain; display: block; }
.dk-mlp__bar-app small { font-size: 12.5px; font-weight: 700; color: #1d2327; white-space: nowrap; }
.dk-mlp__bar-app + .dk-mlp__bar-app::before {
    content: ""; position: absolute; left: 0; top: 15%; bottom: 15%;
    border-left: 1px solid #dcdcde;
}
.dk-mlp__bar-buy {
    flex: 1.6; margin-left: 10px; border: 0; cursor: pointer; border-radius: 12px;
    background: #ef4056; color: #fff; font: inherit; padding: 8px 10px;
    display: flex; flex-direction: column; align-items: center; line-height: 1.25;
    transition: .15s;
}
.dk-mlp__bar-buy b { font-size: 16.5px; font-weight: 800; }
.dk-mlp__bar-buy small { font-size: 11.5px; font-weight: 700; opacity: .95; }
.dk-mlp__bar-buy:active { background: #d9364b; }

/* Màn hình rất nhỏ (~iPhone SE trở xuống) */
@media (max-width: 380px) {
    .dk-logo__text { display: none; }
    .dk-hero__text h1 { font-size: 26px; }
    .dk-btn { padding: 12px 18px; font-size: 14px; }
    .dk-pills a { padding: 7px 12px; font-size: 12px; }
}
