.san-pham-template-default .suki-content-inner.suki-section-inner, .single-product .suki-content-inner.suki-section-inner {
    padding-top: 0;
}

/* Reset inner wrapper padding to prevent double-indent on product pages */
.single-product .suki-content-inner.suki-section-inner .suki-wrapper,
.san-pham-template-default .suki-content-inner.suki-section-inner .suki-wrapper {
    padding: 0 !important;
    margin: 0 auto !important;
    max-width: 100% !important;
    width: 100% !important;
}
.single-product .suki-content-row,
.san-pham-template-default .suki-content-row {
    padding: 0 !important;
}


/* =====================================================
   AKT Product Details Page Layout Customization Styles
   ===================================================== */

body {
    overflow-x: hidden;
}

/* Full-width breadcrumbs wrapper bar */
.dk-breadcrumb-wrapper {
    background-color: #f1f5f9 !important; /* light grayish blue like contact page */
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    padding: 8px 0 !important; /* thin padding */
    margin-bottom: 1.5rem !important;
    box-sizing: border-box;
}
.dk-breadcrumb-wrapper .dk-breadcrumb {
    margin: 0;
    font-size: 13px !important;
    color: black !important;
    font-weight: normal !important;
}
.dk-breadcrumb-wrapper .dk-breadcrumb a {
    color: black !important;
    text-decoration: none !important;
    font-weight: normal !important;
}
.dk-breadcrumb-wrapper .dk-breadcrumb a:hover {
    color: #007BA7 !important;
    text-decoration: none !important;
}
.dk-breadcrumb-wrapper .dk-breadcrumb-current,
.dk-breadcrumb-wrapper .dk-breadcrumb span {
    color: black !important;
    font-weight: 500 !important;
}

/* Category label above product title */
.dk-product-category-label {
    font-size: 15px;
    color: black;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
}

/* Product title matching mockup sizes */
.dk-product__summary .dk-product__title {
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #191c1e !important;
    line-height: 1.3 !important;
    margin: 0 0 10px 0 !important;
}

/* Custom pricing layout (sale and regular price side-by-side) */
.dk-product__summary .dk-product__price .price {
    display: flex !important;
    align-items: baseline !important;
    gap: 12px !important;
    margin: 16px 0 !important;
}
.dk-product__summary .dk-product__price ins, .dk-product__summary .dk-product__price .woocommerce-Price-amount {
    color: #005877 !important;
    font-size: 46px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}
.dk-product__summary .dk-product__price del, .dk-product__summary .dk-product__price del .woocommerce-Price-amount {
    color: black !important;
    font-size: 26px !important;
    font-weight: 400 !important;
}

/* WooCommerce vertical product gallery thumbnails on the left side of main slider */
@media (min-width: 769px) {
    .dk-product__media .woocommerce-product-gallery {
        display: flex !important;
        flex-direction: row !important;
        align-items: stretch !important;
        gap: 16px !important;
        width: 100% !important;
    }
    .dk-product__media .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
        flex: 1 !important;
        order: 2 !important;
        border-radius: 15px !important;
        overflow: hidden !important;
        min-height: 420px !important;
        padding-top: 0 !important;
        box-sizing: border-box !important;
    }
    /* Before JS wraps thumbs: bare flex-control-thumbs gets basic vertical layout */
    .dk-product__media .woocommerce-product-gallery > .flex-control-thumbs {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        width: 72px !important;
        order: 1 !important;
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
        max-height: 440px !important;
        overflow: hidden !important;
        flex-shrink: 0 !important;
    }
    .dk-product__media .woocommerce-product-gallery > .flex-control-thumbs li {
        width: 100% !important;
        margin: 0 !important;
        float: none !important;
    }
}
.dk-product__media .woocommerce-product-gallery .flex-control-thumbs li img {
    width: 100% !important;
    height: auto !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    transition: border-color 0.2s, opacity 0.2s !important;
    opacity: 0.6 !important;
}
.dk-product__media .woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
    border-color: #005877 !important;
    opacity: 1 !important;
}

/* Customized Add to Cart block: quantity selectors and split CTA buttons */
.dk-product__cta form.cart {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 14px !important;
    margin-top: 20px !important;
}
/* Style WooCommerce default variation selectors clean */
.dk-product__cta form.cart .variations {
    width: 100% !important;
    margin-bottom: 12px !important;
    border: none !important;
}
.dk-product__cta form.cart .variations td.label {
    padding: 0 0 6px 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #73777a !important;
    text-transform: uppercase !important;
}
.dk-product__cta form.cart .variations td.value select {
    border: 1px solid #c3c7ca !important;
    border-radius: 4px !important;
    padding: 8px 12px !important;
    font-size: 14px !important;
    color: #191c1e !important;
    background-color: #ffffff !important;
    outline: none !important;
    width: auto !important;
    min-width: 160px !important;
}

/* Quantity input box wrapper styling */
.dk-product__cta form.cart .quantity {
    display: flex !important;
    align-items: center !important;
    border: 1px solid #c3c7ca !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
}
.dk-product__cta form.cart .quantity input.qty {
    width: 44px !important;
    height: 100% !important;
    border: none !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #191c1e !important;
    background: #ffffff !important;
    padding: 0 !important;
    margin: 0 !important;
    outline: none !important;
}

/* MUA NGAY button: Pill shape blue button */
.buy-now-pill-btn {
    flex-grow: 1 !important;
    max-width: 380px !important;
    height: 68px !important;
    border-radius: 35px !important;
    background-color: #007ba7 !important;
    color: #ffffff !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    padding: 0 36px !important;
    border: none !important;
    cursor: pointer !important;
    transition: background-color 0.2s, transform 0.15s !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 8px rgba(0, 123, 167, 0.25) !important;
}
.buy-now-pill-btn:hover {
    background-color: #008cc0 !important;
}
.buy-now-pill-btn:active {
    transform: scale(0.98) !important;
}

/* Square Cart Icon Button */
.square-cart-btn {
    width: 68px !important;
    height: 68px !important;
    border-radius: 16px !important;
    background-color: #ffffff !important;
    border: 1px solid #0089bd !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin: 0 !important;
    transition: background-color 0.2s, border-color 0.2s !important;
    flex-shrink: 0 !important;
}
.square-cart-btn:hover {
    background-color: #f2f9fc !important;
    border-color: #0089bd !important;
}
.square-cart-btn svg,
.square-cart-btn img {
    display: block !important;
}
.square-cart-btn img {
    width: 28px !important;
    height: 28px !important;
    object-fit: contain !important;
    filter: none !important;
    transition: transform 0.2s !important;
}
.square-cart-btn:hover img {
    filter: none !important;
    transform: scale(1.05) !important;
}

/* Hide added_to_cart link next to cart buttons */
.added_to_cart.wc-forward {
    display: none !important;
}

/* Layout Wrappers matching mockup */
.dk-quantity-wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin-bottom: 16px !important;
    width: 100% !important;
}
.dk-quantity-label {
    font-size: 15px !important;
    color: black !important;
    font-weight: 600 !important;
}
.dk-buttons-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
}
.dk-product__cta form.cart {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
    margin-top: 20px !important;
    width: 100% !important;
}
.dk-product__cta form.cart .quantity {
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid #c3c7ca !important;
    border-radius: 4px !important;
    width: 120px !important;
    height: 40px !important;
}

/* Accordion sections content spacing */
.dk-accordion__item {
    border-bottom: 1px solid #e2e8f0 !important;
    margin-bottom: 1rem !important;
}
.dk-accordion__toggle {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #191c1e !important;
    padding: 16px 0 !important;
    border-bottom: 2px solid #005877 !important; /* Add thin blue border under header as template */
    width: 100% !important;
    text-align: left !important;
    background: none !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    cursor: pointer !important;
}
/* White/transparent background for content panel */
.dk-accordion__panel {
    background-color: transparent !important;
    color: #191c1e !important;
    padding: 24px 0 !important;
    margin-top: 12px !important;
    margin-bottom: 12px !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}
.dk-accordion__panel p,
.dk-accordion__panel div,
.dk-accordion__panel span,
.dk-accordion__panel li {
    color: #475569 !important;
}
.dk-accordion__panel h1,
.dk-accordion__panel h2,
.dk-accordion__panel h3,
.dk-accordion__panel h4,
.dk-accordion__panel h5,
.dk-accordion__panel h6 {
    color: #191c1e !important;
    font-weight: 700 !important;
    margin-top: 1.5rem !important;
    margin-bottom: 0.5rem !important;
}
/* Style specifications attributes table cleanly matching screenshot */
.dk-accordion__panel table.shop_attributes {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-top: 16px !important;
    border: 1px solid #e2e8f0 !important;
}
.dk-accordion__panel table.shop_attributes tr {
    border-bottom: 1px solid #e2e8f0 !important;
}
.dk-accordion__panel table.shop_attributes tr:nth-child(even) {
    background-color: #f8fafc !important;
}
.dk-accordion__panel table.shop_attributes th {
    font-weight: 600 !important;
    color: #191c1e !important;
    padding: 12px 16px !important;
    text-align: left !important;
    width: 250px !important;
    background-color: #f1f5f9 !important;
    border-right: 1px solid #e2e8f0 !important;
    border-top: none !important;
    border-left: none !important;
    border-bottom: none !important;
}
.dk-accordion__panel table.shop_attributes td {
    padding: 12px 16px !important;
    color: #475569 !important;
    border: none !important;
}

/* Hide WooCommerce native breadcrumbs and duplicate sale badges */
.single-product .woocommerce-breadcrumb,
.single-product span.onsale {
    display: none !important;
}

/* Fix main gallery padding and alignment */
.dk-product__media {
    padding-top: 0 !important;
}

/* Hide WooCommerce native breadcrumbs, sale badges, and zoom trigger */
.single-product .woocommerce-breadcrumb,
.single-product .suki-breadcrumb-native,
.single-product span.onsale,
.single-product .woocommerce-product-gallery__trigger {
    display: none !important;
}

/* Quantity increment/decrement buttons */
.dk-product__cta form.cart .quantity .qty-btn {
    width: 32px !important;
    height: 100% !important;
    background-color: #ffffff !important;
    color: #73777a !important;
    border: none !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    user-select: none !important;
    transition: background-color 0.2s !important;
}
.dk-product__cta form.cart .quantity .qty-btn:hover {
    background-color: #f1f5f9 !important;
}

/* Fix WooCommerce Flexslider slides and layout sizing */
.woocommerce-product-gallery__wrapper {
    margin: 0 !important;
    padding: 0 !important;
}
.woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image {
    width: 100% !important;
}
.woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    border-radius: 15px !important;
}

/* Price sale and regular order reverse flex */
.dk-product__summary .dk-product__price .price {
    display: flex !important;
    flex-direction: row-reverse !important;
    justify-content: flex-end !important;
    align-items: baseline !important;
    gap: 12px !important;
    margin: 16px 0 !important;
}
.dk-product__summary .dk-product-category-label {
    text-transform: capitalize !important;
    font-weight: 500 !important;
}


/* =====================================================
   AKT Single Product - Flat Description Content
   ===================================================== */

/* Media 60% / Summary 40% tỉ lệ */
.single-product .dk-product__media {
    flex: 0 0 60% !important;
    max-width: 60% !important;
    padding-top: 0 !important;
}

.single-product .dk-product__summary {
    flex: 0 0 calc(40% - 2.5rem) !important;
    max-width: calc(40% - 2.5rem) !important;
    padding-top: 10px !important;
}

@media (max-width: 900px) {
    .single-product .dk-product__media,
    .single-product .dk-product__summary {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
    /* Remove alignment padding on mobile — Up button is hidden */
    .single-product .dk-product__summary {
        padding-top: 0 !important;
    }
    .dk-product__media .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
        padding-top: 0 !important;
    }
}

.single-product .dk-product__content {
    margin-top: 0 !important;
}

/* ── Accordion ─────────────────────────────────────────────────── */
.single-product .dk-product__accordion {
    width: 100% !important;
    margin: 36px 0 0 0 !important;
}

.single-product .dk-acc__item {
    border-top: 1px solid #0089bd !important;
}

.single-product .dk-acc__item:last-child {
    border-bottom: 1px solid #0089bd !important;
}

.single-product .dk-acc__header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding: 16px 0 !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #191c1e !important;
    text-align: left !important;
    outline: none !important;
}

.single-product .dk-acc__header:hover {
    color: #005877 !important;
}

.single-product .dk-acc__chevron {
    width: 20px !important;
    height: 20px !important;
    flex-shrink: 0 !important;
    color: #0089bd !important;
    transition: transform 0.25s ease !important;
    transform: rotate(0deg) !important;
}

.single-product .dk-acc__item.is-open .dk-acc__chevron {
    transform: rotate(180deg) !important;
}

.single-product .dk-acc__panel {
    overflow: hidden !important;
}

.single-product .dk-acc__panel[hidden] {
    display: none !important;
}

.single-product .dk-acc__body {
    padding: 0 0 28px 0 !important;
}

/* Vùng mô tả sản phẩm phẳng */
.single-product .dk-product-description,
.single-product .dk-product-specs {
    width: 100% !important;
    max-width: 100% !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Nội dung accordion body (dùng chung cho cả mô tả lẫn thông số) */
.single-product .dk-acc__body {
    width: 100% !important;
    max-width: 100% !important;
    color: #191c1e !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
}

.single-product .dk-acc__body h1,
.single-product .dk-acc__body h2,
.single-product .dk-acc__body h3 {
    color: #191c1e !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    margin: 0 0 16px 0 !important;
}

.single-product .dk-acc__body h2 {
    font-size: 24px !important;
    margin-top: 28px !important;
}

.single-product .dk-acc__body h3 {
    font-size: 18px !important;
    margin-top: 20px !important;
}

.single-product .dk-acc__body h2:first-child,
.single-product .dk-acc__body h3:first-child {
    margin-top: 0 !important;
}

.single-product .dk-acc__body p {
    color: #191c1e !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
    margin: 0 0 18px 0 !important;
}

.single-product .dk-acc__body ul,
.single-product .dk-acc__body ol {
    margin: 0 0 20px 22px !important;
    padding: 0 !important;
}

.single-product .dk-acc__body li {
    color: #191c1e !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    margin-bottom: 6px !important;
}

.single-product .dk-product-description__image {
    width: 100% !important;
    margin: 28px 0 32px 0 !important;
    padding: 0 !important;
}

.single-product .dk-product-description__image img,
.single-product .dk-acc__body img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    border-radius: 6px !important;
    object-fit: cover !important;
}

/* Ẩn các block placeholder xanh còn sót nếu content cũ có Gutenberg Cover */
.single-product .dk-acc__body .wp-block-cover:has(.wp-block-cover__inner-container),
.single-product .dk-acc__body .wp-block-cover {
    display: none !important;
}

.single-product .dk-acc__body .dk-empty {
    color: #64748b !important;
    font-style: italic !important;
}

/* Bảng thông số kỹ thuật phẳng giống phối cảnh */
.single-product .dk-product-specs {
    margin-top: 28px !important;
}

.single-product .dk-product-specs table,
.single-product .dk-product-specs table.shop_attributes {
    width: 100% !important;
    border-collapse: collapse !important;
    border: none !important;
    margin: 8px 0 0 0 !important;
    font-size: 15px !important;
}

.single-product .dk-product-specs table tr,
.single-product .dk-product-specs table.shop_attributes tr {
    border-bottom: 1px solid #e2e8f0 !important;
    background: transparent !important;
}

.single-product .dk-product-specs table th,
.single-product .dk-product-specs table.shop_attributes th {
    width: 46% !important;
    padding: 9px 12px !important;
    color: #191c1e !important;
    font-weight: 500 !important;
    text-align: left !important;
    background: transparent !important;
    border: none !important;
    vertical-align: top !important;
}

.single-product .dk-product-specs table td,
.single-product .dk-product-specs table.shop_attributes td {
    width: 54% !important;
    padding: 9px 12px !important;
    color: #191c1e !important;
    text-align: left !important;
    background: transparent !important;
    border: none !important;
    vertical-align: top !important;
}

.single-product .dk-product-specs table td p,
.single-product .dk-product-specs table.shop_attributes td p {
    margin: 0 !important;
    padding: 0 !important;
    color: #191c1e !important;
}

/* Tắt style accordion cũ trong trang sản phẩm */
.single-product .dk-accordion,
.single-product .dk-accordion__item,
.single-product .dk-accordion__toggle,
.single-product .dk-accordion__panel {
    all: unset;
}

/* Mobile */
@media (max-width: 767px) {
    .single-product .dk-product-detail-tabs {
        margin-top: 28px !important;
    }

    .single-product .dk-product__content {
        margin-top: 0 !important;
    }

    .single-product .dk-product-description__body h2,
    .single-product .dk-product-specs h2 {
        font-size: 22px !important;
    }

    .single-product .dk-product-description__body,
    .single-product .dk-product-description__body p,
    .single-product .dk-product-description__body li {
        font-size: 15px !important;
    }

    .single-product .dk-product-specs table th,
    .single-product .dk-product-specs table td,
    .single-product .dk-product-specs table.shop_attributes th,
    .single-product .dk-product-specs table.shop_attributes td {
        display: block !important;
        width: 100% !important;
        padding: 8px 0 !important;
    }

    .single-product .dk-product-specs table th,
    .single-product .dk-product-specs table.shop_attributes th {
        padding-bottom: 2px !important;
        font-weight: 700 !important;
    }

    .single-product .dk-product-specs table td,
    .single-product .dk-product-specs table.shop_attributes td {
        padding-top: 0 !important;
    }
}

/* Custom styling for Single Product Page quantity selector using Suki's native increment buttons */
.dk-product__cta form.cart .dk-quantity-wrapper .quantity {
	display: inline-flex !important;
	align-items: stretch !important;
	border: 1px solid #7ea1c4 !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	width: 140px !important;
	height: 40px !important;
	padding: 0 !important;
	position: relative !important;
}

.dk-product__cta form.cart .dk-quantity-wrapper .quantity .suki-qty-minus,
.dk-product__cta form.cart .dk-quantity-wrapper .quantity .suki-qty-plus {
	position: static !important;
	transform: none !important;
	opacity: 1 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 40px !important;
	height: 100% !important;
	cursor: pointer !important;
	margin: 0 !important;
	background: #f5f5f5 !important;
	color: #333 !important;
	font-size: 20px !important;
	flex-shrink: 0 !important;
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
}

.dk-product__cta form.cart .dk-quantity-wrapper .quantity .suki-qty-increment:hover {
	background-color: #e8e8e8 !important;
}

.dk-product__cta form.cart .dk-quantity-wrapper .quantity .suki-qty-minus {
	order: 1 !important;
	border-right: 1px solid #7ea1c4 !important;
}

.dk-product__cta form.cart .dk-quantity-wrapper .quantity input.qty {
	order: 2 !important;
	display: block !important;
	width: 60px !important;
	height: 100% !important;
	border: none !important;
	border-right: 1px solid #7ea1c4 !important;
	border-radius: 0 !important;
	text-align: center !important;
	padding: 0 !important;
	margin: 0 !important;
	background: none !important;
	position: static !important;
	flex-shrink: 0 !important;
	box-shadow: none !important;
	outline: none !important;
}

.dk-product__cta form.cart .dk-quantity-wrapper .quantity .suki-qty-plus {
	order: 3 !important;
}

/* Remove default browser styling */
.quantity input.qty::-webkit-outer-spin-button,
.quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}
.quantity input[type=number] {
    -moz-appearance: textfield !important;
}

/* Shimmer Effect for Add to Cart and Buy Now loading states */
@keyframes futureShimmer {
    0% {
        background-position: -200% 0;
    }
    100% {
        background-position: 200% 0;
    }
}

/* Hide default loading wheel icons */
.single_add_to_cart_button.loading::after,
.buy-now-pill-btn.loading::after,
.square-cart-btn.loading::after,
.button.loading::after {
    display: none !important;
    content: "" !important;
}

/* Blue Shimmer for Buy Now / Main Button loading state */
.buy-now-pill-btn.loading {
    position: relative !important;
    overflow: hidden !important;
    background: linear-gradient(90deg, #005877 25%, #007ba7 50%, #005877 75%) !important;
    background-size: 200% 100% !important;
    animation: futureShimmer 1.5s infinite linear !important;
    color: transparent !important;
    pointer-events: none !important;
}

/* White Shimmer for Cart Icon Button loading state */
.square-cart-btn.loading {
    position: relative !important;
    overflow: hidden !important;
    background: linear-gradient(90deg, #ffffff 25%, #f1f5f9 50%, #ffffff 75%) !important;
    background-size: 200% 100% !important;
    animation: futureShimmer 1.5s infinite linear !important;
    color: transparent !important;
    border-color: #cbd5e1 !important;
    pointer-events: none !important;
}
/*.square-cart-btn.loading svg,*/
.square-cart-btn.loading svg,
.square-cart-btn.loading img {
    visibility: hidden !important;
}

/* Custom enhancements */
.dk-color-label {
    font-size: 15px;
    color: black;
    margin-bottom: 8px;
    font-weight: 500;
}

span.dk-color-swatch-circle {
    display: inline-block;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: #000000;
    border: 2px solid #ffffff;
    box-shadow: 0 0 0 2px #005877;
    cursor: pointer;
    margin-right: 8px;
}

.dk-product__cta form.cart .dk-quantity-wrapper .quantity .suki-qty-minus, 
.dk-product__cta form.cart .dk-quantity-wrapper .quantity .suki-qty-plus {
    background: transparent !important;
}

.single-product .dk-acc__item:first-child {
    margin-top: 40px;
}

.single-product .site-content > .suki-content-inner.suki-section-inner {
    padding: 0 !important;
}

/* WooCommerce Category Archive enhancements */
.akt-category-shop-wrap {
	max-width: 1280px;
	margin: 0 auto;
	padding: 20px 20px 0px;
}

.akt-category-header {
	text-align: center;
	margin-bottom: 24px;
	padding: 0px 0 16px !important;
}

.akt-category-icon-wrap {
	display: flex;
	justify-content: center;
	margin-bottom: 10px;
}

.akt-category-icon {
	width: 84px;
	height: 84px;
	object-fit: cover;
	border-radius: 50%;
	box-shadow: 0 6px 18px rgba(0,0,0,.08);
}

.akt-subcat-tabs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 22px 0 28px;
	overflow-x: auto;
	padding-bottom: 4px;
}

.akt-subcat-tab {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	border: 1px solid #e5e7eb;
	border-radius: 999px;
	background: #fff;
	color: #111827;
	text-decoration: none;
	transition: all .2s ease;
	white-space: nowrap;
}

.akt-subcat-tab:hover,
.akt-subcat-tab.is-active {
	border-color: #111827;
	background: #111827;
	color: #fff;
}

.akt-tab-icon img {
	width: 24px;
	height: 24px;
	object-fit: cover;
	border-radius: 50%;
}

.akt-category-grid-shell {
	margin-top: 55px !important;
}

.akt-category-grid-shell.is-loading {
	opacity: .65;
	pointer-events: none;
	transition: opacity .2s ease;
}

.akt-category-products ul.products {
	margin-top: 0;
}

.akt-category-products ul.products li.product {
	border-radius: 16px;
	transition: transform .2s ease, box-shadow .2s ease;
}

.akt-category-products ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 28px rgba(0,0,0,.08);
}

.akt-category-pagination {
	margin-top: 24px;
	text-align: center;
}

.akt-category-pagination .page-numbers {
	display: inline-flex;
	justify-content: center;
	gap: 6px;
}

.akt-category-pagination .page-numbers li {
	display: inline-block;
}

.akt-category-pagination .page-numbers a,
.akt-category-pagination .page-numbers span {
	display: inline-flex;
	min-width: 40px;
	height: 40px;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	padding: 0 12px;
	border: 1px solid #e5e7eb;
	background: #fff;
	text-decoration: none;
}

.akt-category-pagination .page-numbers .current {
	background: #111827;
	color: #fff;
	border-color: #111827;
}

.akt-bottom-hooks {
	margin-top: 36px;
}

@media (max-width: 768px) {
	.akt-category-shop-wrap { padding-left: 0 !important; padding-right: 0 !important; padding-inline: 0 !important; }
	.akt-category-icon { width: 64px; height: 64px; }
	.akt-subcat-tabs {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		-webkit-overflow-scrolling: touch !important;
		scrollbar-width: none !important;
		justify-content: flex-start !important;
		gap: 8px !important;
		padding: 0 16px !important;
	}
	.akt-subcat-tab {
		flex: 0 0 auto !important;
		padding: 9px 12px !important;
		white-space: nowrap !important;
	}
	.akt-category-products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Center-align child icon grids when only one child icon exists */
.akt-subcat-tabs:has(.akt-subcat-tab:nth-child(2):last-child) {
	justify-content: center;
}

.akt-category-shop-wrap .woocommerce-info {
	text-align: center;
	padding: 24px;
}

/* Force 4-column grid layout for Shop/Category archives */
.akt-category-shop-wrap ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 24px !important;
}

.akt-category-shop-wrap ul.products::before,
.akt-category-shop-wrap ul.products::after {
	display: none !important;
}

.akt-category-shop-wrap ul.products li.product {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
}

@media (max-width: 900px) {
	.akt-category-shop-wrap ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 16px !important;
	}
}

@media (max-width: 480px) {
	.akt-category-shop-wrap ul.products {
		grid-template-columns: 1fr !important;
	}
}

/* Hide duplicate Suki posts pagination on WooCommerce pages */
.woocommerce-page nav.navigation.pagination {
	display: none !important;
}

/* Custom positioning for SweetAlert2 toast notifications to avoid overlapping header/topbar */
.swal2-container.swal2-top-end {
    top: 80px !important;
    right: 20px !important;
    z-index: 999999 !important; /* Ensure it floats above header elements */
}

@media (max-width: 767px) {
    .swal2-container.swal2-top-end {
        top: 60px !important;
        right: 10px !important;
    }
}

/* Custom styling for products with no price layout */
.dk-product__cta form.no-price-cart {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
    margin-top: 20px !important;
    width: 100% !important;
}
.dk-product__cta form.no-price-cart .dk-quantity-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}
.dk-product__cta form.no-price-cart .dk-quantity-wrapper .quantity {
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    background-color: #f8fafc !important;
    height: 52px !important;
    padding: 0 4px !important;
}
.dk-product__cta form.no-price-cart .dk-quantity-wrapper .quantity .suki-qty-minus,
.dk-product__cta form.no-price-cart .dk-quantity-wrapper .quantity .suki-qty-plus {
    width: 44px !important;
    height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
    background: transparent !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    color: #475569 !important;
    cursor: pointer !important;
    transition: background-color 0.2s, color 0.2s !important;
    border-radius: 8px !important;
}
.dk-product__cta form.no-price-cart .dk-quantity-wrapper .quantity .suki-qty-minus:hover,
.dk-product__cta form.no-price-cart .dk-quantity-wrapper .quantity .suki-qty-plus:hover {
    background-color: #e2e8f0 !important;
    color: #0f172a !important;
}
.dk-product__cta form.no-price-cart .dk-quantity-wrapper .quantity input.qty {
    width: 50px !important;
    border: none !important;
    background: transparent !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    padding: 0 !important;
}
.dk-product__cta form.no-price-cart .buy-now-pill-btn {
    text-decoration: none !important;
}
.dk-product__cta form.no-price-cart .square-cart-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
}

/* Custom vertical thumbnail slider scrollbar and container controls */

@media (min-width: 769px) {
    /*
     * .dk-thumbnail-controls-column is injected by JS INSIDE .woocommerce-product-gallery
     * The parent is display:flex align-items:stretch, so the column gets the SAME height
     * as the main image wrapper automatically via align-self: stretch.
     * We then use display:flex column + flex:1 on the scroll wrapper so it fills
     * all available height between the Up and Down buttons.
     */
    .dk-thumbnail-controls-column {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 72px !important;
        order: 1 !important;
        flex-shrink: 0 !important;
        align-self: stretch !important;
        min-height: 300px !important;
        margin-top: -35px !important; /* Pull Up button above the image/summary baseline */
    }

    .dk-thumbs-scroll-wrapper {
        flex: 1 1 0 !important;          /* Stretch to fill space between Up/Down buttons */
        overflow-y: auto !important;      /* Native touchpad/mousewheel scrolling */
        overflow-x: hidden !important;
        width: 100% !important;
        scroll-behavior: smooth !important;
        /* Must have a real height (inherited via flex:1) for scrolling to work */
        min-height: 0 !important;         /* Critical: prevents flex item from overflowing */
        
        /* Hide scrollbar for Firefox */
        scrollbar-width: none !important;
        /* Hide scrollbar for IE/Edge */
        -ms-overflow-style: none !important;
    }

    /* Hide scrollbar for WebKit (Chrome, Safari, Opera) */
    .dk-thumbs-scroll-wrapper::-webkit-scrollbar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
    }

    .dk-thumbnail-controls-column .flex-control-thumbs {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        width: 100% !important;
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
        /* No max-height — the scroll wrapper provides the constraint */
        max-height: none !important;
        overflow: visible !important;
        position: static !important;
    }

    .dk-thumbnail-controls-column .flex-control-thumbs li {
        width: 100% !important;
        margin: 0 !important;
        float: none !important;
    }

    .dk-thumb-nav {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-height: 32px !important;
        height: 32px !important;
        background: transparent !important;
        border: none !important;
        cursor: pointer !important;
        z-index: 10 !important;
        padding: 0 !important;
        margin: 0 !important;
        flex-shrink: 0 !important; /* Never collapse buttons */
    }
    .dk-thumb-nav svg path {
        stroke: #73777a !important;
        transition: stroke 0.2s ease, stroke-width 0.2s ease !important;
    }
    .dk-thumb-nav:hover svg path {
        stroke: #007ba7 !important;
        stroke-width: 2px !important;
    }
    .dk-thumb-nav.disabled {
        opacity: 0.15 !important;
        cursor: not-allowed !important;
        pointer-events: none !important;
    }

    .dk-thumb-nav-up {
        margin-bottom: 6px !important;
    }
    .dk-thumb-nav-down {
        margin-top: 6px !important;
    }
}

/* Mobile responsive fixes to restore normal horizontal layout */
@media (max-width: 768px) {
    .dk-thumb-nav {
        display: none !important;
    }
    .dk-thumbs-scroll-wrapper {
        max-height: none !important;
        overflow: visible !important;
    }
    .dk-thumbnail-controls-column {
        width: 100% !important;
        position: static !important;
        display: block !important;
        min-height: 0 !important;
    }

    /* Product detail: side padding & header gap on mobile */
    .single-product .suki-content-inner.suki-section-inner {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .dk-product__header {
        gap: 10px !important;
    }

    .dk-quantity-label {
        text-align: left !important;
    }

    /* ============================================================
       Mobile: Compact feature rows, crawled content & acc body
       (inline styles from scraped content need !important overrides)
       ============================================================ */

    /* Feature rows: reduce gap and padding */
    .feature-row {
        gap: 10px !important;
        padding-bottom: 10px !important;
    }

    /* Stack image above text on mobile */
    .feature-row .feature-image,
    .feature-row .feature-text {
        flex: 1 1 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    /* Reduce roborock crawled content container gaps */
    .roborock-crawled-content,
    .product-features-container {
        gap: 10px !important;
        padding: 0 !important;
    }

    /* Heading font-size and margin-top override for feature text on mobile */
    .single-product .roborock-crawled-content .feature-row .feature-text h3 {
        font-size: 24px !important;
        margin-top: 10px !important;
    }

    /* Collapse empty p tags (scraped content artifacts) */
    .single-product .dk-acc__body p:empty,
    .single-product .roborock-crawled-content p:empty,
    .single-product .feature-row p:empty,
    .single-product .feature-text p:empty {
        display: none !important;
        margin: 0 !important;
        padding: 0 !important;
        height: 0 !important;
        line-height: 0 !important;
    }

    /* Tighten margin on all p inside accordion body & feature text */
    .single-product .dk-acc__body p,
    .single-product .feature-text p {
        margin-top: 6px !important;
        margin-bottom: 6px !important;
    }

    .single-product .dk-acc__body p:first-child,
    .single-product .feature-text p:first-child {
        margin-top: 0 !important;
    }

    .single-product .dk-acc__body p:last-child,
    .single-product .feature-text p:last-child {
        margin-bottom: 0 !important;
    }

    /* ======================================================
       Related Products Carousel: Mobile Nav Below Products
       ====================================================== */

    /* Hide the header-right nav (counter + prev/next) on top on mobile */
    html body.single-product .recommended-products .dkt-tab-carousel__header-right,
    html body.single-product #dkt-tc-product-single .dkt-tab-carousel__header-right,
    html body.single-product .dkt-tab-carousel__header .dkt-tab-carousel__header-right {
        display: none !important;
    }

    /* Show mobile footer nav */
    .dkt-tc-mobile-footer {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 16px !important;
        margin-top: 16px !important;
        padding: 4px 0 !important;
    }

    .dkt-tc-bottom-counter {
        font-size: 14px !important;
        color: #64748b !important;
        font-weight: 600 !important;
    }

    .dkt-tc-mobile-nav-btns {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
    }
}

/* Desktop: hide mobile footer nav */
@media (min-width: 769px) {
    .dkt-tc-mobile-footer {
        display: none !important;
    }
}

@media (max-width: 768px) {
    /* ===================================================
       Mobile Product Gallery: Horizontal Thumb Strip
       Convert Suki's left-column layout to
       horizontal scrollable strip BELOW main image
       =================================================== */

    /* 1. Switch the gallery from flex-row (desktop) to block so thumbs fall below */
    /*    height: auto is CRITICAL — Flexslider JS sets a fixed height (e.g. 310px)
          which causes the thumb strip to overflow and overlap product title below */
    .suki-woocommerce-single-gallery,
    .suki-woocommerce-single-gallery-layout-left,
    .woocommerce-product-gallery,
    .dk-product__media .woocommerce-product-gallery {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        overflow: visible !important;
    }

    /* Ensure media column height doesn't get capped */
    .single-product .dk-product__media {
        height: auto !important;
        overflow: visible !important;
    }

    /* Flexslider viewport — let it auto-size */
    .woocommerce-product-gallery .flexslider,
    .woocommerce-product-gallery .flex-viewport {
        height: auto !important;
        overflow: visible !important;
    }

    /* 2. Main image wrapper: full width, fixed aspect ratio */
    .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
    .dk-product__media .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
        width: 100% !important;
        order: 1 !important;
        float: none !important;
        padding-top: 0 !important;
        border-radius: 12px !important;
        overflow: hidden !important;
        margin-bottom: 0 !important;
        height: auto !important;
    }

    /* 3. Thumbnail strip: horizontal scrollable row BELOW main image */
    .woocommerce-product-gallery > ol.flex-control-nav.flex-control-thumbs,
    .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs,
    .dk-product__media .woocommerce-product-gallery > .flex-control-thumbs,
    .dk-product__media .woocommerce-product-gallery .flex-control-thumbs {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
        gap: 8px !important;
        padding: 10px 4px 6px 4px !important;
        margin: 0 !important;
        width: 100% !important;
        height: auto !important;
        max-height: 100px !important;
        min-height: 72px !important;
        list-style: none !important;
        order: 2 !important;
        box-sizing: border-box !important;
        max-width: 100% !important;
    }

    .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar,
    .dk-product__media .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
    }

    /* 4. Each thumbnail item: fixed small square */
    .woocommerce-product-gallery .flex-control-thumbs li,
    .dk-product__media .woocommerce-product-gallery .flex-control-thumbs li {
        flex: 0 0 72px !important;
        width: 72px !important;
        height: 72px !important;
        min-width: 72px !important;
        max-width: 72px !important;
        margin: 0 !important;
        float: none !important;
        padding: 0 !important;
        overflow: hidden !important;
        border-radius: 8px !important;
    }

    /* 5. Thumb images: fill the square container */
    .woocommerce-product-gallery .flex-control-thumbs li img,
    .dk-product__media .woocommerce-product-gallery .flex-control-thumbs li img {
        width: 72px !important;
        height: 72px !important;
        max-width: 72px !important;
        max-height: 72px !important;
        min-width: 72px !important;
        min-height: 72px !important;
        object-fit: cover !important;
        border-radius: 8px !important;
        display: block !important;
    }

    /* 6. Active thumb highlight */
    .woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
    .dk-product__media .woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
        border: 2px solid #007ba7 !important;
        opacity: 1 !important;
    }

    /* 7. Main product image slide: full width, auto height */
    .woocommerce-product-gallery__image,
    .woocommerce-product-gallery .woocommerce-product-gallery__image {
        width: 100% !important;
        height: auto !important;
    }

    .woocommerce-product-gallery__image a img,
    .woocommerce-product-gallery .woocommerce-product-gallery__image a img {
        width: 100% !important;
        height: auto !important;
        max-height: 380px !important;
        object-fit: contain !important;
        display: block !important;
    }
}

/* Scoped override for all headings inside crawled Roborock features list (Desktop) */
@media (min-width: 769px) {
    .single-product .roborock-crawled-content .feature-row .feature-text h3 {
        margin-top: 0 !important;
        font-size: 46px !important;
        font-weight: 500 !important;
        line-height: 1.25 !important;
        opacity: 1 !important;
        transform: none !important;
    }
}

.single-product .roborock-crawled-content .feature-row .feature-text h3 .dk-word-wrap {
    display: inline-block !important;
    overflow: hidden !important;
    vertical-align: bottom !important;
    line-height: 1.25 !important;
}

.single-product .roborock-crawled-content .feature-row .feature-text h3 .dk-word {
    display: inline-block !important;
    opacity: 0 !important;
    transform: translateY(105%) !important;
    transition: transform 0.7s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.7s cubic-bezier(0.25, 1, 0.5, 1) !important;
    will-change: transform, opacity;
}

.single-product .roborock-crawled-content .feature-row .feature-text h3.slide-in-up-active .dk-word {
    opacity: 1 !important;
    transform: translateY(0) !important;
}





