/*!
Theme Name: DS Themes
Theme URI: https://mekoong.com/
Author: ALPHAS Co., Ltd
Author URI: https://mekoong.com/
Description: Custom WooCommerce theme for Mekoong – an e-commerce store specializing in ceramics, glassware, and hospitality supplies.
Version: 1.0.0
Tested up to: 6.7
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: ds-themes
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, e-commerce, woocommerce

This theme, like WordPress, is licensed under the GPL.

DS Themes is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: 700;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: var(--ds-text);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: var(--ds-border);
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted var(--ds-text-muted);
	cursor: help;
}

mark,
ins {
	background: var(--ds-warning-light);
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: var(--ds-bg);
}

hr {
	background-color: var(--ds-border);
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li>ul,
li>ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: var(--ds-primary);
}

a:visited {
	color: unset
}

a:hover,
a:focus,
a:active {
	color: var(--ds-secondary);
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	background: var(--ds-border);
	color: var(--ds-text);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: var(--ds-border);
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: var(--ds-border);
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: var(--ds-text-muted);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: var(--ds-text);
}

select {
	border: 1px solid var(--ds-border);
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/* Full Width Template
--------------------------------------------- */
.site-main--full-width {
	max-width: 100%;
	width: 100%;
	padding: 0;
	margin: 0;
}

.site-main--full-width .entry-content {
	max-width: 100%;
	margin: 0;
	padding: 0;
}

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover>ul,
.main-navigation ul ul li.focus>ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover>ul,
.main-navigation ul li.focus>ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 0;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: var(--ds-bg-white);
	border-radius: 3px;
	box-shadow: 0 0 2px 2px var(--ds-shadow);
	clip: auto !important;
	clip-path: none;
	color: var(--ds-primary);
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/*--------------------------------------------------------------
DS Themes CSS
--------------------------------------------------------------*/
:root {
	--ds-primary: #890011;
	--ds-primary-hover: #b91c1c;
	--ds-primary-light: #fde8e8;
	--ds-secondary: #d60922;
	--ds-secondary-hover: #475569;
	--ds-success: #10b981;
	--ds-success-light: #d1fae5;
	--ds-danger: #ef4444;
	--ds-danger-light: #fee2e2;
	--ds-warning: #f59e0b;
	--ds-text: #1e293b;
	--ds-text-muted: #64748b;
	--ds-border: #e2e8f0;
	--ds-bg: #edf2fa;
	--ds-bg-qty: #e3eeff;
	--ds-bg-white: #ffffff;
	--ds-primary-gradient: linear-gradient(to right, #890011, #d60922);
	--ds-radius: 8px;
	--ds-radius-lg: 12px;
	--ds-shadow: 0 4px 30px rgba(0, 0, 0, 0.03);
	--ds-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
	--ds-filter-active-bg: #fdf2f8;
	--ds-filter-selected-bg: #fff1f2;
	--ds-transition: 0.2s ease;
	--ds-bg-light: #f9f9f9;
	--ds-warning-light: #fff9c0;
	--ds-container-width: 1230px;
}

.entry-content {
	max-width: var(--ds-container-width);
	padding: 0 15px;
	margin-left: auto;
	margin-right: auto;
}

@media screen and (max-width: 767px) {
	.entry-content {
		margin-top: 15px;
	}
}

.ds-products-section {
	max-width: var(--ds-container-width);
	margin-left: auto;
	margin-right: auto;
	padding: 0 15px
}

.ds-products-list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Responsive Grid */
@media screen and (max-width: 1024px) {
	.ds-products-list {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media screen and (max-width: 768px) {
	.ds-products-list {
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
	}
}

@media screen and (max-width: 480px) {
	/* .ds-products-list {
		grid-template-columns: 1fr;
	} */
}

/* Product Card Styling */
.ds-product-card {
	background: var(--ds-bg-white);
	border-radius: 12px;
	display: flex;
	flex-direction: column;
	transition: all 0.3s ease;
	position: relative;
	overflow: hidden;
	box-shadow: var(--ds-shadow);
}

.ds-product-card__image {
	position: relative;
	border-radius: 8px;
	overflow: hidden;
	background: var(--ds-bg-light);
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
}

.ds-product-card__image>a {
	display: flex;
}

.ds-product-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.ds-product-card__badge.onsale {
	position: absolute;
	top: 10px;
	left: 10px;
	background: var(--ds-danger);
	color: var(--ds-bg-white);
	font-size: 12px;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: 20px;
	z-index: 2;
}

.ds-product-card__content {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 12px;
}

.ds-product-card__cats {
	font-size: 12px;
	color: var(--ds-text-muted);
	margin-bottom: 6px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.ds-product-card__cats a {
	color: inherit;
	text-decoration: none;
}

.ds-product-card__cats a:hover {
	color: var(--ds-primary);
}

.ds-product-card__title-link {
	text-decoration: none;
	color: var(--ds-text);
}

.ds-product-card__title-link:hover {
	color: var(--ds-primary) !important;
}

.ds-product-card:hover .ds-product-card__title-link {
	color: var(--ds-primary) !important;
}

.ds-product-card__title-link:visited {
	color: var(--ds-text);
}

.ds-product-card__title {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	margin: 0 0 10px;
	line-clamp: 2;
	-webkit-line-clamp: 2;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 40px;
}

.ds-product-card__title a {
	color: var(--ds-text);
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	transition: color 0.2s;
}

.ds-product-card__title a:hover {
	color: var(--ds-primary);
}

.ds-product-card__price {
	font-size: 16px;
	font-weight: 700;
	color: var(--ds-primary);
	display: flex;
	align-items: center;
	gap: 6px;
}

.ds-product-card__price del {
	color: var(--ds-text-muted);
	font-size: 14px;
	font-weight: 500;
}

.ds-product-card__price ins {
	text-decoration: none;
}

/*--------------------------------------------------------------
# WooCommerce Custom Shop Header
--------------------------------------------------------------*/
.ds-shop-header {
	margin-bottom: 30px;
	padding: 24px 15px 0;
	border-radius: 12px;
	max-width: var(--ds-container-width);
	margin-left: auto;
	margin-right: auto;
}

.ds-shop-header__top {
	font-size: 13px;
	margin-bottom: 12px;
}

.ds-shop-header__top .woocommerce-breadcrumb {
	margin: 0;
	padding: 0;
	color: var(--ds-text-muted);
}

.ds-shop-header__top .woocommerce-breadcrumb a {
	color: var(--ds-text);
	text-decoration: none;
	font-weight: 500;
}

.ds-shop-header__top .woocommerce-breadcrumb a:hover {
	color: var(--ds-primary);
}

.ds-shop-header__main {
	margin-bottom: 20px;
}

.ds-shop-header__main .page-title {
	font-size: 24px;
	font-weight: 700;
	color: var(--ds-text);
	margin: 0 0 10px;
}

.ds-shop-header__desc {
	font-size: 14px;
	color: var(--ds-text-muted);
	line-height: 1.6;
}

.ds-shop-header__desc p:last-child {
	margin-bottom: 0;
}

.ds-shop-header__filters {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
}

.ds-shop-header__result-count {
	font-size: 14px;
	color: var(--ds-text-muted);
	margin: 0 !important;
}

.ds-shop-header__ordering form {
	margin: 0;
}

.ds-shop-header__ordering select {
	padding: 8px 36px 8px 16px;
	font-size: 14px;
	border: 1px solid var(--ds-border);
	border-radius: 8px;
	background-color: var(--ds-bg-light);
	color: var(--ds-text);
	cursor: pointer;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 16px;
}

.ds-shop-header__ordering select:focus {
	outline: none;
	border-color: var(--ds-primary);
	box-shadow: 0 0 0 3px var(--ds-primary-light);
}

.ds-qty-input {
	border-left: none !important;
	border-right: none !important;
}

/*--------------------------------------------------------------
# Subfooter Banner
--------------------------------------------------------------*/
.ds-subfooter-banner {
	color: var(--ds-text);
	padding: 40px 15px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 30px;
	flex-wrap: wrap;
	max-width: var(--ds-container-width);
	margin-left: auto;
	margin-right: auto;
	border-bottom: 1px solid #e3e3e3;
}

.ds-subfooter-banner__left {
	flex: 1;
	min-width: 300px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 15px;
}

.ds-subfooter-banner__feedback-title {
	font-size: 24px;
	font-weight: 800;
	color: var(--ds-primary);
	margin: 0;
}

.ds-subfooter-banner__feedback-desc {
	font-size: 14px;
	color: #a4767a;
	margin: 0;
	line-height: 1.5;
	max-width: 500px;
}

.ds-subfooter-banner__feedback-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--ds-primary);
	color: #fff !important;
	padding: 12px 28px;
	border-radius: 30px;
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
	transition: background-color 0.3s;
	margin-bottom: 20px;
}

.ds-subfooter-banner__feedback-btn:hover {
	background: #73000e;
	color: #fff;
}

.ds-subfooter-banner__feedback-btn svg {
	width: 16px;
	height: 16px;
}

.ds-subfooter-banner__socials {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.ds-subfooter-banner__social {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid #f2e6e8;
	border-radius: 8px;
	color: var(--ds-primary);
	background: #fff;
	text-decoration: none;
	transition: all 0.3s;
}

.ds-subfooter-banner__social:visited {
	color: var(--ds-primary);
}

.ds-subfooter-banner__social:hover,
.ds-subfooter-banner__social:focus {
	background-color: var(--ds-primary);
	color: #fff;
	border-color: var(--ds-primary);
	outline: none;
}

.ds-subfooter-banner__social svg {
	width: 20px;
	height: 20px;
}

.ds-subfooter-banner__social--text {
	font-size: 14px;
	font-weight: 700;
	width: auto;
	padding: 0 12px;
}

.ds-subfooter-banner__right {
	display: flex;
	flex-direction: column;
	gap: 25px;
	min-width: 280px;
}

.ds-subfooter-banner__contact {
	display: flex;
	align-items: center;
	gap: 15px;
}

.ds-subfooter-banner__contact-icon {
	color: var(--ds-primary);
	background: #fdf2f2;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.ds-subfooter-banner__contact-text {
	display: flex;
	flex-direction: column;
}

.ds-subfooter-banner__contact-label {
	font-size: 11px;
	font-weight: 700;
	color: #a4767a;
	text-transform: uppercase;
	margin-bottom: 2px;
	letter-spacing: 0.5px;
}

.ds-subfooter-banner__contact-value {
	font-size: 18px;
	font-weight: 800;
	color: var(--ds-primary);
}

@media screen and (max-width: 1024px) {
	.ds-subfooter-banner {
		flex-direction: column;
		align-items: flex-start;
		gap: 30px;
	}
}

@media screen and (max-width: 768px) {
	.ds-subfooter-banner {
		padding: 20px;
	}

	.ds-subfooter-banner__socials {
		flex-wrap: wrap;
	}
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.site-footer {
	padding: 3rem 0 0;
}

.ds-footer-sub {
	background-color: white;
}

.ds-footer-main {
	background: white;
	padding: 30px 0;
}

.ds-footer-main-inner {
	max-width: var(--ds-container-width);
	margin-left: auto;
	margin-right: auto;
	padding: 0 15px;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 30px;
}


.ds-footer-copyright__right__logo {
	height: 50px !important;
	width: auto;
}

@media screen and (max-width: 1024px) {
	.ds-footer-main {
		grid-template-columns: repeat(2, 1fr);
	}

	.ds-footer-main-inner {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media screen and (max-width: 767px) {
	.ds-footer-main {
		grid-template-columns: 1fr;
	}

	.ds-footer-main-inner {
		grid-template-columns: 1fr;
	}
}

.ds-footer-widget-area {
	font-size: 14px;
}

.ds-footer-widget-area .widget {
	margin-bottom: 0;
	color: var(--ds-primary);
}

.contact-info-subtitle {
	font-weight: 700;
	font-style: italic;
	text-decoration: underline;
	margin-bottom: 10px;
}

.ds-footer-widget-area .widget:not(:last-child) {
	margin-bottom: 30px;
}

.ds-footer-widget-area .widget-title {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 20px;
	color: var(--ds-text);
}

.ds-footer-widget-area .widget ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.ds-footer-widget-area .widget ul li {
	margin-bottom: 10px;
}

.ds-footer-widget-area .widget ul li a {
	color: var(--ds-text-muted);
	text-decoration: none;
	transition: var(--ds-transition);
}

.ds-footer-widget-area .widget ul li a:hover {
	color: var(--ds-primary);
}

.ds-footer-copyright {
	background: white;
}

.ds-footer-copyright-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-top: 1px solid var(--ds-border);
	color: var(--ds-text-muted);
	font-size: 14px;
	max-width: var(--ds-container-width);
	margin-left: auto;
	margin-right: auto;
	padding: 20px 15px;
}

@media screen and (max-width: 768px) {
	.ds-footer-copyright {
		flex-direction: column;
		gap: 10px;
		text-align: center;
	}
}

/* .ds-footer-copyright__right {
	font-weight: 500;
	color: var(--ds-text);
} */

.ds-footer-copyright a {
	color: var(--ds-text);
	text-decoration: none;
	font-weight: 500;
}

.ds-footer-copyright a:hover {
	color: var(--ds-primary);
}

.ds-footer-widget-area h3 {
	margin-top: 0;
	color: var(--ds-primary);
}

.ds-footer-widget-area ul>li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.ds-footer-widget-area ul>li svg {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	color: var(--ds-primary);
	margin-top: 4px;
}

.ds-footer-widget-area ul>li a {
	color: var(--ds-primary) !important;
	text-decoration: none;
	transition: var(--ds-transition);
}

.ds-footer-widget-area ul>li a:hover {
	color: var(--ds-text) !important;
}

.ds-partner-logos {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex-wrap: wrap;
}

.ds-partner-logos a {
	width: calc((100% - 32px) / 5);
}

.ds-partner-logos a img {
	width: 100%;
	height: auto;
}

/*--------------------------------------------------------------
# Category
--------------------------------------------------------------*/
.site-main .entry-header {
	max-width: var(--ds-container-width);
	padding: 0 15px;
	margin: 0 auto;
}

h1.entry-title {
	text-align: center;
	background: var(--ds-primary-gradient);
	-webkit-text-fill-color: transparent;
	background-clip: text;
	font-size: 36px;
	text-transform: capitalize;
}

.woocommerce nav.woocommerce-pagination ul {
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 2rem;
}

.woocommerce nav.woocommerce-pagination ul li {
	float: unset;
	border: none;
	width: 40px;
	height: 40px;
	display: inline-grid !important;
	place-items: center;
	border-radius: 6px;
	background: transparent !important;
	color: var(--ds-text);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s;
	box-shadow: var(--ds-shadow);
}

.woocommerce nav.woocommerce-pagination ul li:hover {
	background: var(--ds-primary-gradient) !important;
	color: var(--ds-bg-white) !important;
}

.woocommerce nav.woocommerce-pagination ul li>span {
	display: flex;
	padding: 0;
	justify-content: center;
	align-items: center;
	background: var(--ds-primary-gradient) !important;
	font-size: 16px;
	font-weight: 600;
	color: var(--ds-bg-white) !important;
	width: 100%;
	height: 100%;
}

.woocommerce nav.woocommerce-pagination ul li:hover>span {
	color: white !important;
}

.woocommerce nav.woocommerce-pagination ul li>a {
	color: var(--ds-text) !important;
	font-weight: 600;
	font-size: 16px;
	background: white !important;
	display: inline-grid;
	place-items: center;
	width: 100%;
	height: 100%;
}

.woocommerce nav.woocommerce-pagination ul li>a:hover {
	color: white !important;
	background: var(--ds-primary-gradient) !important;
}

/* Back to Top */
.ds-back-to-top {
	position: fixed;
	bottom: 30px;
	right: 30px;
	width: 44px;
	height: 44px;
	background: var(--ds-primary-gradient);
	color: var(--ds-bg-white);
	border: none;
	border-radius: 8px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: var(--ds-transition);
	z-index: 999;
	box-shadow: var(--ds-shadow-lg);
	padding: 0;
}

.ds-back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
}

.ds-back-to-top:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 25px rgba(137, 0, 17, 0.4);
}

.ds-back-to-top svg {
	width: 24px;
	height: 24px;
	margin-left: 2px;
}

/* Shop Header Subcategories */
.ds-shop-header__sub {
	margin-top: 16px;
	margin-bottom: 24px;
}

.ds-subcats-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.ds-subcats-item {
	margin: 0;
}

.ds-subcats-link {
	display: inline-block;
	padding: 8px 16px;
	background-color: var(--ds-bg-white);
	border-radius: 20px;
	color: var(--ds-text);
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	transition: all 0.2s ease;
	box-shadow: var(--ds-shadow);
}

.ds-subcats-link:hover {
	background-color: var(--ds-primary);
	color: var(--ds-bg-white) !important;
	box-shadow: var(--ds-shadow-lg);
}

/* ==========================================================================
   Custom Cart & Checkout (Template Override styling)
   ========================================================================== */

/* --- Cart Page --- */
.ds-cart-page-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 24px;
}

.ds-cart-title {
	font-size: 28px;
	font-weight: 700;
	margin: 0;
}

.ds-page-cart-count {
	color: #6b7280;
	font-size: 14px;
	font-weight: 600;
}

.ds-cart-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin-bottom: 40px;
}

.ds-cart-main {
	flex: 1 1 65%;
	min-width: 0;
}

.ds-cart-sidebar {
	flex: 1 1 30%;
	min-width: 300px;
}

/* Cart Items */
.ds-cart-items-list {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.ds-cart-item {
	display: flex;
	align-items: stretch;
	padding: 16px;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
	border: 1px solid #f3f4f6;
	gap: 20px;
}

.ds-item-thumb {
	flex: 0 0 80px;
}

.ds-item-thumb>a {
	display: flex;
}

.ds-item-thumb img {
	width: 100%;
	height: auto;
	border-radius: 8px;
	object-fit: cover;
}

.ds-item-details {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.ds-item-name {
	font-size: 16px;
	font-weight: 700;
	margin: 0;
}

.ds-item-name a {
	color: #111827;
	text-decoration: none;
}

.ds-item-meta {
	font-size: 13px;
	color: #6b7280;
}

.ds-item-meta dl {
	margin: 0;
	display: flex;
	gap: 5px;
}

.ds-item-meta p {
	margin: 0;
}

.ds-item-badges {
	margin-top: 4px;
	margin-bottom: 8px;
}

.ds-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 10px;
	font-weight: 700;
	padding: 4px 8px;
	border-radius: 12px;
	text-transform: uppercase;
}

.ds-badge-success {
	background: #ecfdf5;
	color: #10b981;
}

.ds-badge-warning {
	background: #fffbeb;
	color: #f59e0b;
}

/* Quantity Adjuster */
.ds-item-qty {
	margin-top: auto;
}

.ds-item-qty .quantity {
	display: inline-flex;
	align-items: center;
	border: 1px solid #e5e7eb;
	border-radius: 6px;
	overflow: hidden;
}

.ds-item-qty .quantity input {
	width: 40px;
	text-align: center;
	border: none;
	padding: 6px 0;
	font-size: 14px;
	font-weight: 600;
	appearance: none;
	-moz-appearance: textfield;
}

.ds-item-qty .quantity input::-webkit-outer-spin-button,
.ds-item-qty .quantity input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.ds-qty-btn {
	background: #f9fafb;
	border: none;
	padding: 6px 12px;
	cursor: pointer;
	color: #4b5563;
	font-weight: 600;
	transition: background 0.2s;
}

.ds-qty-btn:hover {
	background: #e5e7eb;
}

/* Item Actions (Price & Remove) */
.ds-item-actions {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: space-between;
	align-self: stretch;
}

.ds-item-price {
	font-size: 16px;
	font-weight: 700;
	color: var(--ds-primary);
}

.ds-item-price del {
	font-size: 13px;
	color: #9ca3af;
	font-weight: 500;
	display: block;
	text-align: right;
}

.ds-item-price ins {
	text-decoration: none;
}

.ds-item-remove-wrapper {
	margin-top: auto;
}

.ds-remove-btn {
	display: flex;
	align-items: center;
	gap: 4px;
	color: #9ca3af;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	transition: color 0.2s;
}

.ds-remove-btn:hover {
	color: #ef4444;
}

/* Cart Footer Actions */
.ds-cart-footer-actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 20px;
	padding-top: 20px;
}

.ds-continue-shopping {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #4b5563;
	font-weight: 600;
	text-decoration: none;
	font-size: 14px;
}

.ds-clear-all-items {
	color: #6b7280;
	font-size: 14px;
	text-decoration: none;
	font-weight: 500;
}

.ds-continue-shopping:hover,
.ds-clear-all-items:hover {
	color: #111827;
}

/* Sidebar Summary */
.ds-cart-sidebar .cart-collaterals {
	width: 100%;
	position: sticky;
	top: 30px;
}

.ds-cart-sidebar .cart_totals {
	width: 100% !important;
	float: none !important;
	background: #fff;
	padding: 25px;
	border-radius: 12px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
	border: 1px solid #f3f4f6;
	margin-bottom: 20px;
}

.ds-cart-sidebar .cart_totals h2 {
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 0;
	padding-bottom: 16px;
	border-bottom: 1px solid #f3f4f6;
	margin-top: 0;
}

.ds-cart-sidebar .cart_totals table {
	width: 100%;
	border: none;
	border-collapse: collapse;
}

.ds-cart-sidebar .cart_totals table th {
	text-align: left;
	font-weight: 500;
	color: var(--ds-text);
	padding: 10px 0;
	background: transparent;
	border: none;
	text-transform: none;
	font-size: 16px;
}

.ds-cart-sidebar .cart_totals table td {
	text-align: right;
	font-weight: 700;
	color: #111827;
	padding: 10px 0;
	border: none;
	font-size: 16px;
}

.woocommerce-cart-form .cart-discount th {
	color: #10b981 !important;
}

.woocommerce-cart-form .cart-discount td,
.woocommerce-cart-form .cart-discount td .amount {
	color: #10b981 !important;
}

.ds-cart-sidebar .cart_totals .order-total th {
	padding-top: 20px;
	margin-top: 10px;
	font-size: 16px;
	font-weight: 700;
	color: #111827;
}

.ds-cart-sidebar .cart_totals .order-total td {
	padding-top: 20px;
	margin-top: 10px;
}

.ds-cart-sidebar .cart_totals .order-total td strong {
	color: #1d4ed8;
	font-size: 16px;
	font-weight: 700;
}

.ds-cart-sidebar .wc-proceed-to-checkout {
	padding: 20px 0 0;
}

.ds-cart-sidebar .checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	padding: 16px;
	font-size: 16px;
	font-weight: 700;
	border-radius: var(--ds-radius) !important;
	color: #fff;
	transition: background 0.2s;
	text-decoration: none;
	margin-bottom: 0 !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	background: var(--ds-primary-gradient) !important;
}

.ds-cart-sidebar .checkout-button:hover {
	background: #1e40af;
	transform: none;
	box-shadow: none;
}

/* Trust Badges under summary */
.ds-trust-badges {
	margin-top: 25px;
	padding-top: 25px;
	border-top: 1px solid #f3f4f6;
}

.ds-trust-badge {
	display: flex;
	gap: 15px;
	margin-bottom: 20px;
	align-items: flex-start;
}

.ds-trust-icon {
	color: #6b7280;
	padding-top: 2px;
}

.ds-trust-text strong {
	display: block;
	font-size: 14px;
	color: #111827;
	margin-bottom: 2px;
}

.ds-trust-text span {
	font-size: 12px;
	color: #9ca3af;
}

/* Promo Code Box */
.ds-promo-code-box {
	background: #f9fafb;
	padding: 20px;
	border-radius: 12px;
	border: 1px solid #e5e7eb;
}

.ds-promo-title {
	font-size: 12px;
	font-weight: 700;
	color: #1d4ed8;
	letter-spacing: 1px;
	margin-bottom: 12px;
	text-transform: uppercase;
}

.ds-promo-inner {
	display: flex;
	gap: 10px;
}

.ds-promo-inner input {
	flex: 1;
	padding: 12px 15px;
	border: 1px solid #d1d5db;
	border-radius: 6px;
	font-size: 14px;
	min-width: 0;
}

.ds-promo-inner button {
	background: #111827;
	color: #fff;
	border: none;
	padding: 0 20px;
	border-radius: 6px;
	font-weight: 700;
	cursor: pointer;
	transition: background 0.2s;
}

.ds-promo-inner button:hover {
	background: #374151;
}

/* Responsive Cart Updates */
@media (max-width: 767px) {
	.ds-cart-item {
		flex-direction: column;
		align-items: flex-start;
	}

	.ds-item-actions {
		flex-direction: row;
		align-items: center;
		width: 100%;
		margin-top: 10px;
		padding-top: 15px;
		border-top: 1px solid #f3f4f6;
	}

	.ds-item-remove-wrapper {
		margin-top: 0;
	}

	.ds-cart-page-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
}

/* --- Checkout Page --- */
.ds-checkout-billing {
	flex: 1 1 55%;
	min-width: 0;
}

.ds-checkout-order {
	flex: 1 1 35%;
	min-width: 320px;
}

.ds-checkout-billing .col2-set .col-1,
.ds-checkout-billing .col2-set .col-2 {
	width: 100%;
	float: none;
	margin-bottom: 0;
}

.ds-checkout-billing h3 {
	font-size: 22px;
	font-weight: 600;
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 2px solid #eee;
}

.woocommerce-checkout .form-row {
	margin-bottom: 15px;
}

.woocommerce-checkout .form-row label {
	font-weight: 500;
	color: #555;
	margin-bottom: 8px;
	display: block;
}

.woocommerce-checkout .input-text,
.woocommerce-checkout select {
	width: 100%;
	padding: 12px 15px;
	border: 1px solid #ddd;
	border-radius: 8px;
	background: #fcfcfc;
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.woocommerce-checkout .input-text:focus,
.woocommerce-checkout select:focus {
	border-color: var(--ds-primary, #e63946);
	background: #fff;
	box-shadow: 0 0 0 3px rgba(230, 57, 70, 0.1);
	outline: none;
}

.ds-checkout-order {
	padding: 0;
	border-radius: 12px;
	position: sticky;
	top: 100px;
	align-self: flex-start;
}

#order_review_heading {
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 20px;
	padding-bottom: 15px;
	border-bottom: 1px solid #eee;
	margin-top: 0;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding: 15px 10px;
	border-bottom: 1px solid #f0f0f0;
}

.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td {
	border-bottom: 1px dashed #e0e0e0;
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
	border-bottom: none;
	font-size: 18px;
	color: var(--ds-primary, #e63946);
}

#payment {
	background: transparent !important;
	border-radius: 0 !important;
	padding: 0;
	margin-top: 20px;
}

#payment ul.payment_methods {
	border-bottom: 1px solid #e0e0e0;
	margin: 0;
	padding: 0 !important;
}

#payment ul.payment_methods li {
	list-style: none;
	margin-bottom: 15px;
}

#payment .payment_box {
	background: #fff;
	padding: 15px;
	border-radius: 8px;
	margin-top: 10px;
	font-size: 14px;
	color: #666;
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.02);
}

#payment .place-order {
	padding: 20px 0 0;
}

#payment #place_order {
	width: 100%;
	padding: 18px;
	font-size: 18px;
	font-weight: bold;
	text-transform: uppercase;
	border-radius: 8px;
	background: var(--ds-primary, #e63946);
	color: #fff;
	border: none;
	transition: background 0.3s ease, transform 0.2s ease;
	cursor: pointer;
}

#payment #place_order:hover {
	background: var(--ds-primary-dark, #d62828);
	transform: translateY(-2px);
	box-shadow: 0 4px 15px rgba(230, 57, 70, 0.3);
}

/* Responsive */
@media (max-width: 992px) {

	.ds-cart-wrapper,
	.ds-checkout-wrapper {
		flex-direction: column;
	}

	.ds-cart-main,
	.ds-cart-sidebar,
	.ds-checkout-billing,
	.ds-checkout-order {
		flex: 1 1 100%;
		width: 100%;
	}

	.ds-checkout-order {
		position: static;
	}
}

@media (max-width: 767px) {
	.woocommerce-cart-form .shop_table th {
		display: none;
	}

	.woocommerce-cart-form .shop_table td {
		display: block;
		text-align: right;
		padding: 10px 15px;
		border-bottom: none;
	}

	.woocommerce-cart-form .shop_table td::before {
		content: attr(data-title);
		float: left;
		font-weight: 600;
		text-transform: uppercase;
		font-size: 12px;
	}

	.woocommerce-cart-form .shop_table td.product-remove,
	.woocommerce-cart-form .shop_table td.product-thumbnail {
		text-align: center;
	}

	.woocommerce-cart-form .shop_table td.product-thumbnail::before,
	.woocommerce-cart-form .shop_table td.product-remove::before {
		display: none;
	}

	.woocommerce-cart-form__cart-item {
		display: flex;
		flex-direction: column;
		border-bottom: 2px solid #eee;
		padding: 15px 0;
	}
}

/* Swiper slide */
.swiper-button-prev,
.swiper-button-next {
	color: var(--ds-primary) !important;
	font-size: 16px;
	width: 42px !important;
	height: 42px !important;
	background: #f1d4d482;
	box-shadow: var(--ds-shadow);
	border-radius: var(--ds-radius);
}

.swiper-button-prev::after,
.swiper-button-next::after {
	font-size: 18px !important;
}

.ds-sales-products__title {
	font-size: 22px;
	font-weight: 700;
	color: var(--ds-primary);
}

/* Home Category Sections
--------------------------------------------- */
.ds-home-cat-section {
	padding: 0 0 40px;
}

.ds-home-cat-section__banner {
	margin-bottom: 24px;
	border-radius: 16px;
	overflow: hidden;
	position: relative;
	background: var(--ds-primary-gradient);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	display: flex;
	align-items: center;
	min-height: 280px;
	padding: 40px;
}

.ds-home-cat-section:nth-child(2) .ds-home-cat-section__banner {
	background: linear-gradient(45deg, #3a1180, #280450);
}

.ds-home-cat-section:nth-child(3) .ds-home-cat-section__banner {
	background: linear-gradient(45deg, #c87b07, #ed4203);
}

.ds-home-cat-section__banner-content {
	position: relative;
	z-index: 2;
	max-width: 600px;
}

.ds-home-cat-section__banner-title {
	color: #fff;
	font-size: 36px;
	font-weight: 700;
	margin: 0 0 12px 0;
	line-height: 1.2;
	text-transform: capitalize;
}

.ds-home-cat-section__banner-text {
	color: #e2e8f0;
	font-size: 16px;
	line-height: 1.6;
	margin: 0;
}

.ds-home-cat-section__header {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-bottom: 24px;
}

.ds-home-cat-section__title {
	font-size: 24px;
	font-weight: 700;
	color: #111827;
	margin: 0;
	display: flex;
	align-items: center;
	gap: 12px;
}

.ds-home-cat-section__title-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	background: #890011;
	color: #fff;
	border-radius: 50%;
}

.ds-home-cat-section__title-icon svg {
	width: 18px;
	height: 18px;
}

.ds-home-cat-section__chips {
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	gap: 12px;
	margin-bottom: 24px;
}

.ds-home-cat-section__chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 24px;
	border-radius: 99px;
	border: 1px solid var(--ds-primary);
	font-size: 15px;
	font-weight: 600;
	color: var(--ds-primary);
	text-decoration: none;
	background: #fff;
	transition: all 0.2s ease;
	cursor: pointer;
	white-space: nowrap;
}

.ds-home-cat-section__chip:hover {
	border-color: var(--ds-primary);
	background: var(--ds-primary);
	color: #fff;
}

.ds-home-cat-section__chip--active {
	background: var(--ds-primary);
	color: #fff;
	border-color: var(--ds-primary);
}

.ds-home-cat-section__chip--active:hover {
	background: var(--ds-primary);
	color: #fff;
	border-color: var(--ds-primary);
}

@media screen and (max-width: 768px) {
	.ds-home-cat-section__banner {
		padding: 24px;
		min-height: 200px;
	}

	.ds-home-cat-section__banner-title {
		font-size: 28px;
	}

	.ds-home-cat-section__title {
		font-size: 20px;
	}
}

.ds-home-cat-section__products {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

@media screen and (max-width: 1024px) {
	.ds-home-cat-section__products {
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
	}
}

@media screen and (max-width: 768px) {
	.ds-home-cat-section__products {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}
}

@media screen and (max-width: 480px) {
	.ds-home-cat-section__products {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}
}

.ds-home-cat-section__footer {
	text-align: center;
	margin-top: 32px;
}

.ds-btn-view-all {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 32px;
	font-size: 15px;
	font-weight: 600;
	color: var(--ds-primary);
	background-color: transparent;
	border: 1.5px solid var(--ds-primary);
	border-radius: 99px;
	text-decoration: none;
	transition: all 0.3s ease;
}

.ds-btn-view-all:hover {
	background-color: var(--ds-primary);
	color: #fff;
	box-shadow: 0 4px 12px rgba(238, 91, 43, 0.2);
}

/* Skeleton Loader */
.ds-skeleton-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	width: 100%;
}

.ds-skeleton-card {
	background: #fff;
	border-radius: var(--ds-radius);
	overflow: hidden;
	height: 100%;
}

.ds-skeleton-img {
	width: 100%;
	aspect-ratio: 1/1;
	background: #f1f5f9;
	position: relative;
	overflow: hidden;
}

.ds-skeleton-content {
	padding: 16px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ds-skeleton-line {
	height: 16px;
	background: #f1f5f9;
	border-radius: 4px;
	position: relative;
	overflow: hidden;
}

.ds-skeleton-line.short {
	width: 60%;
}

.ds-skeleton-line.price {
	height: 20px;
	width: 40%;
	margin-top: 8px;
}

.ds-skeleton-loader {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	transform: translateX(-100%);
	background-image: linear-gradient(90deg,
			rgba(255, 255, 255, 0) 0,
			rgba(255, 255, 255, 0.4) 20%,
			rgba(255, 255, 255, 0.7) 60%,
			rgba(255, 255, 255, 0));
	animation: shimmer 1.5s infinite;
}

@keyframes shimmer {
	100% {
		transform: translateX(100%);
	}
}

@media screen and (max-width: 1024px) {
	.ds-skeleton-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
	}
}

@media screen and (max-width: 768px) {
	.ds-skeleton-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}
}

@media screen and (max-width: 480px) {
	.ds-skeleton-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}

	.ds-skeleton-content {
		padding: 12px;
	}
}

/* Blog Archive
--------------------------------------------- */
.ds-blog-archive {
	max-width: 1280px;
	margin: 0 auto;
	padding: 40px 24px 60px;
}

/* Breadcrumb */
.ds-blog-breadcrumb {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	color: var(--ds-text-muted, #94a3b8);
	margin-bottom: 16px;
}

.ds-blog-breadcrumb a {
	color: var(--ds-text-muted, #94a3b8);
	text-decoration: none;
	transition: color 0.2s ease;
}

.ds-blog-breadcrumb a:hover {
	color: var(--ds-primary, #ee5b2b);
}

.ds-blog-breadcrumb svg {
	flex-shrink: 0;
	color: var(--ds-text-muted, #94a3b8);
}

.ds-blog-breadcrumb__current {
	color: var(--ds-primary, #ee5b2b);
}

/* Blog Header */
.ds-blog-header {
	margin-bottom: 32px;
}

.ds-blog-header__title {
	font-size: 36px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--ds-text, #1e293b);
	margin: 0 0 12px;
	max-width: 720px;
}

.ds-blog-header__desc {
	font-size: 17px;
	color: var(--ds-text-muted, #64748b);
	margin: 0;
	max-width: 600px;
	line-height: 1.6;
}

/* Category Pills */
.ds-blog-categories {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 40px;
	padding-bottom: 32px;
	border-bottom: 1px solid var(--ds-border, #e2e8f0);
}

.ds-blog-categories__item {
	display: inline-block;
	padding: 10px 24px;
	border-radius: 9999px;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.2s ease;
	background: var(--ds-bg-alt, #f1f5f9);
	color: var(--ds-text, #1e293b);
}

.ds-blog-categories__item:hover {
	background: rgba(238, 91, 43, 0.1);
	color: var(--ds-primary, #ee5b2b);
}

.ds-blog-categories__item--active {
	background: var(--ds-primary, #ee5b2b);
	color: #fff;
}

.ds-blog-categories__item--active:hover {
	background: var(--ds-primary, #ee5b2b);
	color: #fff;
	opacity: 0.9;
}

/* Blog Grid */
.ds-blog-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 32px;
}

/* Blog Card */
.ds-blog-card {
	display: flex;
	flex-direction: column;
}

.ds-blog-card__image-link {
	display: block;
	text-decoration: none;
}

.ds-blog-card__image {
	overflow: hidden;
	border-radius: 12px;
	margin-bottom: 16px;
	aspect-ratio: 16 / 9;
	background: var(--ds-bg-alt, #f1f5f9);
}

.ds-blog-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.ds-blog-card:hover .ds-blog-card__img {
	transform: scale(1.08);
}

.ds-blog-card__img-placeholder {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #e2e8f0 0%, #cbd5e1 100%);
}

.ds-blog-card__content {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ds-blog-card__category {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--ds-primary, #ee5b2b);
	text-decoration: none;
	letter-spacing: 0.5px;
}

.ds-blog-card__category:hover {
	opacity: 0.8;
}

.ds-blog-card__title {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
	margin: 0;
}

.ds-blog-card__title a {
	color: var(--ds-text, #1e293b);
	text-decoration: none;
	transition: color 0.2s ease;
}

.ds-blog-card__title a:hover {
	color: var(--ds-primary, #ee5b2b);
}

.ds-blog-card__excerpt {
	font-size: 14px;
	color: var(--ds-text-muted, #64748b);
	line-height: 1.5;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.ds-blog-card__read-more {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 14px;
	font-weight: 700;
	color: var(--ds-text, #1e293b);
	text-decoration: none;
	transition: color 0.2s ease;
}

.ds-blog-card__read-more:hover {
	color: var(--ds-primary, #ee5b2b);
}

/* Blog Pagination */
.ds-blog-pagination {
	margin-top: 48px;
}

.ds-blog-pagination .nav-links {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.ds-blog-pagination .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid var(--ds-border, #e2e8f0);
	font-size: 14px;
	font-weight: 700;
	color: var(--ds-text, #1e293b);
	text-decoration: none;
	transition: all 0.2s ease;
}

.ds-blog-pagination .page-numbers:hover {
	background: rgba(238, 91, 43, 0.1);
	border-color: transparent;
}

.ds-blog-pagination .page-numbers.current {
	background: var(--ds-primary, #ee5b2b);
	color: #fff;
	border-color: var(--ds-primary, #ee5b2b);
}

.ds-blog-pagination .page-numbers.dots {
	border: none;
	pointer-events: none;
}

.ds-blog-pagination .page-numbers.prev,
.ds-blog-pagination .page-numbers.next {
	transition: all 0.2s ease;
}

.ds-blog-pagination .page-numbers.prev:hover,
.ds-blog-pagination .page-numbers.next:hover {
	background: var(--ds-primary, #ee5b2b);
	color: #fff;
	border-color: var(--ds-primary, #ee5b2b);
}

.ds-blog-pagination .page-numbers.prev svg,
.ds-blog-pagination .page-numbers.next svg {
	width: 20px;
	height: 20px;
}

/* Blog Archive Responsive */
@media screen and (max-width: 1024px) {
	.ds-blog-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 24px;
	}

	.ds-blog-header__title {
		font-size: 30px;
	}
}

@media screen and (max-width: 768px) {
	.ds-blog-archive {
		padding: 24px 16px 40px;
	}

	.ds-blog-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}

	.ds-blog-header__title {
		font-size: 26px;
	}

	.ds-blog-categories {
		gap: 8px;
		margin-bottom: 24px;
		padding-bottom: 24px;
	}

	.ds-blog-categories__item {
		padding: 8px 16px;
		font-size: 13px;
	}
}

@media screen and (max-width: 480px) {
	.ds-blog-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.ds-blog-header__title {
		font-size: 24px;
	}
}

/* Single Blog Post
--------------------------------------------- */
.ds-single-blog {
	max-width: 1280px;
	margin: 0 auto;
	padding: 24px 24px 60px;
}

/* Single Blog Breadcrumb */
.ds-single-blog__breadcrumb {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--ds-text-muted, #64748b);
	margin-bottom: 24px;
}

.ds-single-blog__breadcrumb a {
	color: var(--ds-text-muted, #64748b);
	text-decoration: none;
	transition: color 0.2s ease;
}

.ds-single-blog__breadcrumb a:hover {
	color: var(--ds-primary, #ee5b2b);
}

.ds-single-blog__breadcrumb svg {
	flex-shrink: 0;
	color: var(--ds-text-muted, #94a3b8);
	width: 14px;
	height: 14px;
}

.ds-single-blog__breadcrumb-current {
	color: var(--ds-primary, #ee5b2b);
	font-weight: 500;
}

/* 3-Column Grid */
.ds-single-blog__grid {
	display: grid;
	grid-template-columns: 56px 1fr 260px;
	gap: 32px;
}

/* === LEFT SHARE BAR === */
/* (styles already defined in share section below) */

.ds-single-blog__sidebar-title {
	font-size: 16px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin: 0 0 20px;
	padding-left: 14px;
	border-left: 4px solid var(--ds-primary, #ee5b2b);
}

.ds-single-blog__sidebar-cats {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.ds-single-blog__cat-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 14px;
	border-radius: 8px;
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
	color: var(--ds-text, #1e293b);
	transition: all 0.2s ease;
}

.ds-single-blog__cat-item:hover {
	background: rgba(238, 91, 43, 0.08);
	color: var(--ds-primary, #ee5b2b);
}

.ds-single-blog__cat-item--active {
	background: rgba(238, 91, 43, 0.06);
	color: var(--ds-primary, #ee5b2b);
}

.ds-single-blog__cat-count {
	font-size: 12px;
	color: var(--ds-text-muted, #94a3b8);
}

.ds-single-blog__cat-item--active .ds-single-blog__cat-count {
	color: var(--ds-primary, #ee5b2b);
}

/* Latest Posts in Sidebar */
.ds-single-blog__latest-posts {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ds-single-blog__latest-item {
	display: flex;
	gap: 12px;
	text-decoration: none;
}

.ds-single-blog__latest-thumb {
	width: 72px;
	height: 72px;
	flex-shrink: 0;
	border-radius: 8px;
	overflow: hidden;
	background: rgba(238, 91, 43, 0.08);
}

.ds-single-blog__latest-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.ds-single-blog__latest-item:hover .ds-single-blog__latest-img {
	transform: scale(1.1);
}

.ds-single-blog__latest-img-placeholder {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #e2e8f0, #cbd5e1);
}

.ds-single-blog__latest-info {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
}

.ds-single-blog__latest-title {
	font-size: 13px;
	font-weight: 700;
	color: var(--ds-text, #1e293b);
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	transition: color 0.2s ease;
}

.ds-single-blog__latest-item:hover .ds-single-blog__latest-title {
	color: var(--ds-primary, #ee5b2b);
}

.ds-single-blog__latest-date {
	font-size: 12px;
	color: var(--ds-text-muted, #94a3b8);
	margin-top: 4px;
}

/* === MAIN ARTICLE === */
.ds-single-blog__article {
	background: #fff;
	border-radius: 16px;
	border: 1px solid rgba(238, 91, 43, 0.05);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
	padding: 32px 40px;
}

.ds-single-blog__header {
	margin-bottom: 32px;
}

.ds-single-blog__title {
	font-size: 32px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--ds-text, #1e293b);
	margin: 0 0 24px;
}

.ds-single-blog__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 24px;
	font-size: 14px;
	color: var(--ds-text-muted, #64748b);
	padding-bottom: 24px;
	border-bottom: 1px solid rgba(238, 91, 43, 0.1);
}

.ds-single-blog__meta-item {
	display: flex;
	align-items: center;
	gap: 6px;
}

.ds-single-blog__meta-item svg {
	color: var(--ds-primary, #ee5b2b);
}

.ds-single-blog__meta-item strong {
	color: var(--ds-text, #1e293b);
}

/* Featured Image */
.ds-single-blog__featured-img {
	margin-bottom: 32px;
	border-radius: 12px;
	overflow: hidden;
}

.ds-single-blog__featured {
	width: 100%;
	height: auto;
	display: block;
}

/* Content */
.ds-single-blog__content {
	font-size: 16px;
	line-height: 1.8;
	color: var(--ds-text, #334155);
}

.ds-single-blog__content p {
	margin-bottom: 1.5em;
}

.ds-single-blog__content h2 {
	font-size: 24px;
	font-weight: 700;
	color: var(--ds-text, #1e293b);
	margin: 2em 0 0.75em;
}

.ds-single-blog__content h3 {
	font-size: 20px;
	font-weight: 600;
	color: var(--ds-primary, #ee5b2b);
	margin: 1.5em 0 0.5em;
}

.ds-single-blog__content img {
	border-radius: 12px;
	max-width: 100%;
	height: auto;
}

.ds-single-blog__content blockquote {
	border-left: 4px solid var(--ds-primary, #ee5b2b);
	background: rgba(238, 91, 43, 0.04);
	padding: 20px 24px;
	border-radius: 0 12px 12px 0;
	font-style: italic;
	font-weight: 500;
	margin: 2em 0;
	color: var(--ds-text, #334155);
}

.ds-single-blog__content ul,
.ds-single-blog__content ol {
	margin: 1em 0 1.5em 1.5em;
}

.ds-single-blog__content li {
	margin-bottom: 0.5em;
}

/* Tags */
.ds-single-blog__tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 40px;
	padding-top: 32px;
	border-top: 1px solid rgba(238, 91, 43, 0.1);
}

.ds-single-blog__tags-label {
	font-size: 14px;
	font-weight: 700;
	color: var(--ds-text-muted, #64748b);
}

.ds-single-blog__tag {
	display: inline-block;
	padding: 6px 14px;
	background: var(--ds-bg-alt, #f1f5f9);
	border-radius: 9999px;
	font-size: 12px;
	font-weight: 500;
	color: var(--ds-text, #1e293b);
	text-decoration: none;
	transition: all 0.2s ease;
}

.ds-single-blog__tag:hover {
	background: var(--ds-primary, #ee5b2b);
	color: #fff;
}

/* Post Navigation */
.ds-single-blog__nav {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin-top: 32px;
	padding-top: 32px;
	border-top: 1px solid rgba(238, 91, 43, 0.1);
}

.ds-single-blog__nav-item {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	padding: 16px 20px;
	border-radius: 12px;
	border: 1px solid var(--ds-border, #e2e8f0);
	transition: all 0.2s ease;
	flex: 1;
	max-width: 48%;
}

.ds-single-blog__nav-item:hover {
	border-color: var(--ds-primary, #ee5b2b);
	background: rgba(238, 91, 43, 0.03);
}

.ds-single-blog__nav-item svg {
	flex-shrink: 0;
	color: var(--ds-primary, #ee5b2b);
}

.ds-single-blog__nav-next {
	margin-left: auto;
	text-align: right;
}

.ds-single-blog__nav-label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--ds-text-muted, #94a3b8);
	margin-bottom: 4px;
}

.ds-single-blog__nav-title {
	display: block;
	font-size: 14px;
	font-weight: 700;
	color: var(--ds-text, #1e293b);
	display: -webkit-box;
	-webkit-line-clamp: 1;
	line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* === SHARE BAR === */
.ds-single-blog__share-sticky {
	position: sticky;
	top: 120px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

.ds-single-blog__share-label {
	writing-mode: vertical-lr;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--ds-text-muted, #94a3b8);
	margin-bottom: 4px;
}

.ds-single-blog__share-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1px solid rgba(238, 91, 43, 0.2);
	background: transparent;
	color: var(--ds-text, #1e293b);
	text-decoration: none;
	cursor: pointer;
	transition: all 0.2s ease;
	padding: 0;
}

.ds-single-blog__share-btn:hover {
	background: var(--ds-primary, #ee5b2b);
	color: #fff;
	border-color: var(--ds-primary, #ee5b2b);
}

/* Share Tooltip */
.ds-single-blog__share-btn {
	position: relative;
}

.ds-single-blog__share-btn::after {
	content: attr(data-tooltip);
	position: absolute;
	left: calc(100% + 10px);
	top: 50%;
	transform: translateY(-50%) translateX(4px);
	background: var(--ds-text, #1e293b);
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: 6px;
	white-space: nowrap;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.2s ease, transform 0.2s ease;
	z-index: 10;
}

.ds-single-blog__share-btn::before {
	content: '';
	position: absolute;
	left: calc(100% + 4px);
	top: 50%;
	transform: translateY(-50%) translateX(4px);
	border: 5px solid transparent;
	border-right-color: var(--ds-text, #1e293b);
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.2s ease, transform 0.2s ease;
	z-index: 10;
}

.ds-single-blog__share-btn:hover::after,
.ds-single-blog__share-btn:hover::before {
	opacity: 1;
	transform: translateY(-50%) translateX(0);
}

.ds-single-blog__share-divider {
	width: 1px;
	height: 32px;
	background: rgba(238, 91, 43, 0.2);
	margin-top: 4px;
}

/* === RIGHT POPULAR POSTS === */
.ds-single-blog__popular-sticky {
	position: sticky;
	top: 120px;
}

.ds-single-blog__popular-list {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.ds-single-blog__popular-item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 14px 0;
	border-bottom: 1px solid var(--ds-border, #e2e8f0);
	text-decoration: none;
	transition: all 0.2s ease;
}

.ds-single-blog__popular-item:first-child {
	padding-top: 0;
}

.ds-single-blog__popular-item:last-child {
	border-bottom: none;
}

.ds-single-blog__popular-num {
	font-size: 28px;
	font-weight: 700;
	color: rgba(238, 91, 43, 0.15);
	line-height: 1;
	flex-shrink: 0;
	min-width: 36px;
}

.ds-single-blog__popular-item:hover .ds-single-blog__popular-num {
	color: var(--ds-primary, #ee5b2b);
}

.ds-single-blog__popular-info {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.ds-single-blog__popular-title {
	font-size: 13px;
	font-weight: 700;
	color: var(--ds-text, #1e293b);
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	transition: color 0.2s ease;
}

.ds-single-blog__popular-item:hover .ds-single-blog__popular-title {
	color: var(--ds-primary, #ee5b2b);
}

.ds-single-blog__popular-date {
	font-size: 12px;
	color: var(--ds-text-muted, #94a3b8);
}

/* === RELATED POSTS === */
.ds-single-blog__related {
	margin-top: 60px;
}

.ds-single-blog__related-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 32px;
}

.ds-single-blog__related-title {
	font-size: 28px;
	font-weight: 700;
	color: var(--ds-text, #1e293b);
	margin: 0;
}

.ds-single-blog__related-viewall {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	font-weight: 700;
	color: var(--ds-primary, #ee5b2b);
	text-decoration: none;
	transition: gap 0.2s ease;
}

.ds-single-blog__related-viewall:hover {
	gap: 10px;
}

.ds-single-blog__related-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 28px;
}

.ds-single-blog__related-card {
	text-decoration: none;
	display: block;
}

.ds-single-blog__related-img {
	aspect-ratio: 16 / 9;
	border-radius: 16px;
	overflow: hidden;
	margin-bottom: 16px;
	background: var(--ds-bg-alt, #f1f5f9);
}

.ds-single-blog__related-img-el {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.7s ease;
}

.ds-single-blog__related-card:hover .ds-single-blog__related-img-el {
	transform: scale(1.05);
}

.ds-single-blog__related-cat {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	color: var(--ds-primary, #ee5b2b);
}

.ds-single-blog__related-card-title {
	font-size: 18px;
	font-weight: 700;
	color: var(--ds-text, #1e293b);
	margin: 8px 0 0;
	line-height: 1.35;
	transition: color 0.2s ease;
}

.ds-single-blog__related-card:hover .ds-single-blog__related-card-title {
	color: var(--ds-primary, #ee5b2b);
}

.ds-single-blog__related-excerpt {
	font-size: 14px;
	color: var(--ds-text-muted, #64748b);
	margin: 10px 0 0;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* === MOBILE SHARE BAR === */
.ds-single-blog__share-mobile {
	display: none;
}

/* Single Blog Responsive */
@media screen and (max-width: 1024px) {
	.ds-single-blog__grid {
		grid-template-columns: 1fr;
	}

	.ds-single-blog__share {
		display: none;
	}

	.ds-single-blog__share-mobile {
		display: flex;
		flex-direction: column;
		gap: 12px;
		margin-top: 32px;
		padding-top: 24px;
		border-top: 1px solid rgba(238, 91, 43, 0.1);
	}

	.ds-single-blog__share-mobile-label {
		font-size: 13px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 1px;
		color: var(--ds-text-muted, #64748b);
	}

	.ds-single-blog__share-mobile-buttons {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 10px;
	}

	/* Tooltips above buttons on mobile */
	.ds-single-blog__share-mobile .ds-single-blog__share-btn::after {
		left: 50%;
		top: auto;
		bottom: calc(100% + 10px);
		transform: translateX(-50%) translateY(-4px);
	}

	.ds-single-blog__share-mobile .ds-single-blog__share-btn::before {
		left: 50%;
		top: auto;
		bottom: calc(100% + 0px);
		transform: translateX(-50%) translateY(-4px);
		border: 5px solid transparent;
		border-top-color: var(--ds-text, #1e293b);
		border-right-color: transparent;
	}

	.ds-single-blog__share-mobile .ds-single-blog__share-btn:hover::after,
	.ds-single-blog__share-mobile .ds-single-blog__share-btn:hover::before {
		opacity: 1;
		transform: translateX(-50%) translateY(0);
	}

	.ds-single-blog__related-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
}

@media screen and (max-width: 768px) {
	.ds-single-blog {
		padding: 16px 16px 40px;
	}

	.ds-single-blog__article {
		padding: 24px 20px;
	}

	.ds-single-blog__title {
		font-size: 24px;
	}

	.ds-single-blog__meta {
		gap: 12px;
		font-size: 13px;
	}

	.ds-single-blog__related-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.ds-single-blog__related-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.ds-single-blog__related-title {
		font-size: 22px;
	}

	.ds-single-blog__nav {
		flex-direction: column;
	}

	.ds-single-blog__nav-item {
		max-width: 100%;
	}
}

p:empty {
	display: none;
}