/* =========================================================
   Deedare Sai – design system
   Order: tokens > base > header > intro > video hero > layout utils
          > Elementor bridge > forms > footer > WooCommerce > motion
   ========================================================= */

:root {
	--bg: #14100C;
	--ink: #211912;
	--gold: #D9A441;
	--saf: #E07B22;
	--ivory: #F6EEDC;
	--line: #5A3A24;
	--mut: #BFB29A;
	--err: #E5654D;
	--serif: "Cormorant Garamond", Georgia, serif;
	--sans: Hind, system-ui, sans-serif;
	--dsai-hdr: 64px;
}

/* ---------- Elementor kit ke default (neele/grey) rang hata ke Deedare ke rang ---------- */
body[class*="elementor-kit-"] {
	--e-global-color-primary: #D9A441;
	--e-global-color-secondary: #BFB29A;
	--e-global-color-text: #F6EEDC;
	--e-global-color-accent: #E07B22;
	--e-global-typography-primary-font-family: "Cormorant Garamond";
	--e-global-typography-secondary-font-family: "Cormorant Garamond";
	--e-global-typography-text-font-family: "Hind";
	--e-global-typography-accent-font-family: "Hind";
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
@view-transition { navigation: auto; }
body.dsai {
	margin: 0;
	background: var(--bg);
	color: var(--ivory);
	font: 400 1.0625rem/1.7 var(--sans);
	-webkit-font-smoothing: antialiased;
}
body.dsai *, body.dsai *::before, body.dsai *::after { box-sizing: border-box; }
body.dsai img { max-width: 100%; height: auto; }
body.dsai a { color: var(--gold); }
body.dsai :focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
body.dsai h1, body.dsai h2, body.dsai h3, body.dsai h4 {
	font-family: var(--serif);
	font-weight: 500;
	line-height: 1.1;
	margin: 0 0 .5em;
	letter-spacing: .005em;
	color: var(--ivory);
}
body.dsai h1 { font-size: clamp(2.6rem, 7vw, 5.2rem); }
body.dsai h2 { font-size: clamp(2rem, 4.4vw, 3.2rem); }
body.dsai h3 { font-size: 1.5rem; }
body.dsai p { margin: 0 0 1em; max-width: 62ch; }
body.dsai .gold { color: var(--gold); }
.dsai-skip { position: absolute; left: -999px; top: 8px; background: var(--gold); color: #14100C !important; padding: .6rem 1rem; z-index: 999; }
.dsai-skip:focus { left: 8px; }
.dsai-main { display: block; outline: none; }
.dsai-wrap { width: min(1120px, 92vw); margin-inline: auto; }
.dsai-page { padding-block: clamp(48px, 7vw, 90px); }

.dsai-note {
	color: var(--gold);
	font-size: .95rem;
	letter-spacing: .08em;
	display: flex;
	gap: .7rem;
	align-items: center;
	margin: 0 0 1rem;
}
.dsai-note::before { content: ""; width: 34px; height: 1px; background: var(--gold); flex: none; }
.dsai-note p { margin: 0; }

/* ---------- Buttons ---------- */
body.dsai .dsai-btn,
body.dsai .dsai-btn-el .elementor-button,
body.dsai .woocommerce a.button, body.dsai .woocommerce button.button, body.dsai .woocommerce input.button,
body.dsai .woocommerce #respond input#submit, body.dsai a.button, body.dsai button.button,
body.dsai .wc-block-components-button:not(.is-link) {
	display: inline-block;
	background: var(--saf);
	color: #14100C;
	font: 600 1rem var(--sans);
	padding: .85rem 1.7rem;
	border: 1px solid var(--saf);
	border-radius: 2px;
	text-decoration: none;
	cursor: pointer;
	line-height: 1.4;
	transition: background .2s, transform .2s, color .2s;
}
body.dsai .dsai-btn:hover,
body.dsai .dsai-btn-el .elementor-button:hover,
body.dsai .woocommerce a.button:hover, body.dsai .woocommerce button.button:hover, body.dsai .woocommerce input.button:hover,
body.dsai a.button:hover, body.dsai button.button:hover,
body.dsai .wc-block-components-button:not(.is-link):hover {
	background: #F0902F;
	border-color: #F0902F;
	color: #14100C;
	transform: translateY(-2px);
}
body.dsai .dsai-btn--ghost,
body.dsai .dsai-btn-el--ghost .elementor-button {
	background: none;
	color: var(--gold);
	border: 1px solid var(--gold);
}
body.dsai .dsai-btn--ghost:hover,
body.dsai .dsai-btn-el--ghost .elementor-button:hover {
	background: rgba(217, 164, 65, .12);
	border-color: var(--gold);
	color: var(--gold);
}
body.dsai .woocommerce button.button:disabled, body.dsai .woocommerce a.button.disabled { opacity: .5; cursor: not-allowed; transform: none; }

/* ---------- Header ---------- */
.dsai-hdr {
	position: sticky;
	top: 0;
	z-index: 50;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: .6rem 4vw;
	background: rgba(20, 16, 12, .88);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid #2c2118;
}
body.admin-bar .dsai-hdr { top: var(--wp-admin--admin-bar--height, 32px); }
.dsai-brand { display: flex; align-items: center; gap: .6rem; text-decoration: none; color: var(--gold) !important; font: 500 1.7rem var(--serif); }
.dsai-brand img { width: 44px; height: 44px; }
.dsai-nav { display: flex; gap: 1.4rem; align-items: center; }
.dsai-nav a { color: var(--ivory) !important; text-decoration: none; font-size: .98rem; padding: .3rem 0; border-bottom: 1px solid transparent; }
.dsai-nav a:hover, .dsai-nav a[aria-current] { border-color: var(--gold); color: var(--gold) !important; }
.dsai-nav__cart { display: inline-flex; align-items: center; gap: .4rem; }
.dsai-nav__cart-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.dsai-cart-count {
	min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px;
	background: var(--gold); color: #14100C; font: 600 .75rem/20px var(--sans); text-align: center;
}
.dsai-cart-count[data-count="0"] { display: none; }
.dsai-burger { display: none; background: none; border: 1px solid var(--line); color: var(--gold); width: 46px; height: 46px; border-radius: 2px; font-size: 1.4rem; cursor: pointer; }
@media (max-width: 1080px) {
	.dsai-burger { display: block; }
	.dsai-nav {
		position: absolute; inset: 100% 0 auto; flex-direction: column; align-items: stretch; gap: 0;
		background: var(--bg); padding: 1rem 4vw 1.4rem; display: none; border-bottom: 1px solid var(--line);
	}
	.dsai-nav.open { display: flex; }
	.dsai-nav a { padding: .9rem 0; font-size: 1.1rem; }
	.dsai-nav__cart-label { position: static; width: auto; height: auto; clip-path: none; }
}

/* ---------- Intro (sirf home pe, pehli visit) ---------- */
#dsai-intro {
	display: none; position: fixed; inset: 0; z-index: 9999;
	background: radial-gradient(circle at 50% 50%, #2a1d10, #14100C 70%);
	place-items: center; transition: opacity .9s;
	animation: dsai-intro-out .01s 4.6s forwards; /* JS na chale to bhi hat jaye */
}
.intro-on #dsai-intro { display: grid; }
#dsai-intro.done { opacity: 0; pointer-events: none; }
#dsai-intro svg { position: absolute; width: min(430px, 86vw); fill: none; stroke: var(--gold); stroke-width: .8; }
#dsai-intro circle { stroke-dasharray: 1; stroke-dashoffset: 1; animation: dsai-draw 1.6s .2s ease forwards; }
#dsai-intro img { width: min(290px, 60vw); opacity: 0; animation: dsai-fade 1.2s .9s ease forwards; filter: drop-shadow(0 0 28px rgba(217, 164, 65, .5)); }
#dsai-intro button { position: absolute; bottom: 6vh; background: none; border: 1px solid var(--line); color: var(--mut); padding: .5rem 1.2rem; cursor: pointer; font: inherit; }
@keyframes dsai-draw { to { stroke-dashoffset: 0; } }
@keyframes dsai-fade { to { opacity: 1; } }
@keyframes dsai-intro-out { to { visibility: hidden; opacity: 0; } }

/* ---------- Video hero (har page pe) ---------- */
.dsai-hero {
	position: relative;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	isolation: isolate;
	background: var(--ink) var(--dsai-poster) 50% 20% / cover no-repeat;
}
.dsai-hero--full { min-height: calc(100svh - var(--dsai-hdr)); }
.dsai-hero--medium { min-height: clamp(400px, 62svh, 640px); }
.dsai-hero--compact { min-height: clamp(210px, 32svh, 320px); align-items: center; }
.dsai-hero__media, .dsai-hero__video, .dsai-hero__fx, .dsai-hero__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.dsai-hero__media { z-index: 0; }
.dsai-hero__video { object-fit: cover; object-position: 50% 20%; opacity: 0; transition: opacity 1.1s ease; }
.dsai-hero.is-playing .dsai-hero__video { opacity: 1; }
.dsai-hero__fx { pointer-events: none; }
.dsai-hero__shade {
	z-index: 1;
	background: linear-gradient(0deg, #14100C 4%, rgba(20, 16, 12, .78) 38%, rgba(20, 16, 12, .14) 80%);
}
.dsai-hero--medium .dsai-hero__shade { background: linear-gradient(0deg, #14100C 3%, rgba(20, 16, 12, .72) 42%, rgba(20, 16, 12, .2) 85%); }
.dsai-hero--compact .dsai-hero__shade { background: linear-gradient(0deg, #14100C 0%, rgba(20, 16, 12, .74) 55%, rgba(20, 16, 12, .5) 100%); }
.dsai-hero__body { position: relative; z-index: 2; padding-block: 0 clamp(36px, 7vw, 84px); }
.dsai-hero--compact .dsai-hero__body { padding-block: clamp(28px, 5vw, 56px); }
body.dsai .dsai-hero__title { max-width: 16ch; margin-bottom: .4em; }
body.dsai .dsai-hero--full .dsai-hero__title { max-width: 13ch; font-size: clamp(2.6rem, 7vw, 5.2rem); }
body.dsai .dsai-hero--medium .dsai-hero__title { font-size: clamp(2.4rem, 6vw, 4.4rem); }
body.dsai .dsai-hero--compact .dsai-hero__title { font: 500 clamp(1.9rem, 4.6vw, 3rem)/1.1 var(--serif); max-width: 24ch; }
body.dsai p.dsai-hero__title { color: var(--ivory); }
.dsai-hero__text { font-size: 1.15rem; color: #E9DFC9; }
.dsai-hero--compact .dsai-hero__text { font-size: 1.02rem; }
.dsai-hero__btns { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 1.4rem; }
.dsai-hero__toggle {
	position: absolute; z-index: 3; right: max(4vw, 14px); bottom: 16px; width: 40px; height: 40px;
	display: grid; place-items: center; padding: 0; cursor: pointer;
	background: rgba(20, 16, 12, .6); color: var(--gold); border: 1px solid var(--line); border-radius: 50%;
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.dsai-hero__toggle[hidden] { display: none; }
.dsai-hero__toggle .i-play { display: none; }
.dsai-hero__toggle[aria-pressed="true"] .i-play { display: block; }
.dsai-hero__toggle[aria-pressed="true"] .i-pause { display: none; }
.dsai-hero__scroll { position: absolute; z-index: 3; left: 50%; bottom: 14px; width: 26px; height: 42px; margin-left: -13px; border: 1px solid rgba(217, 164, 65, .7); border-radius: 14px; }
.dsai-hero__scroll span { position: absolute; left: 50%; top: 8px; width: 3px; height: 8px; margin-left: -1.5px; border-radius: 2px; background: var(--gold); animation: dsai-scroll 1.8s ease-in-out infinite; }
/* Elementor widget ke andar hero poori chaudai le */
.dsai-elementor .dsai-hero-el .elementor-widget-dsai_hero, .dsai-elementor .dsai-hero-el .elementor-widget-dsai_hero > .elementor-widget-container { width: 100%; }
@keyframes dsai-scroll { 0% { opacity: 0; transform: translateY(0); } 40% { opacity: 1; } 100% { opacity: 0; transform: translateY(14px); } }
@media (max-width: 800px) {
	.dsai-hero--full { min-height: calc(88svh - var(--dsai-hdr)); }
	.dsai-hero--medium { min-height: 54svh; }
	.dsai-hero__scroll { display: none; }
	.dsai-hero__toggle { bottom: 12px; }
	.dsai-hero__text { font-size: 1.05rem; }
}

/* ---------- Layout utilities ---------- */
.dsai-sec { padding-block: clamp(64px, 10vw, 120px); }
.dsai-alt { background: var(--ink); }
.dsai-grid { display: grid; gap: 1.4rem; }
.dsai-g3 { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.dsai-g4 { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.dsai-split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 6vw, 80px); align-items: center; }
.dsai-split--top { align-items: start; }
@media (max-width: 800px) { .dsai-split { grid-template-columns: 1fr; } }
.dsai-card { background: var(--ink); border: 1px solid var(--line); padding: 1.8rem; }
.dsai-alt .dsai-card { background: var(--bg); }
.dsai-card__title { margin: 0 0 .6rem; font-size: 1.5rem; }
.dsai-card__title a { color: var(--gold); text-decoration: none; }
.dsai-stat { border-top: 1px solid var(--gold); padding-top: 1rem; color: var(--mut); }
body.dsai .dsai-stat__num, body.dsai .dsai-stat__num .elementor-heading-title {
	font: 500 clamp(2rem, 4vw, 2.8rem)/1.1 var(--serif); color: var(--gold); margin: 0;
}
.dsai-frame {
	aspect-ratio: 4 / 5; border: 1px solid var(--gold); display: grid; place-items: center; position: relative;
	background: radial-gradient(circle at 50% 40%, rgba(217, 164, 65, .22), transparent 65%), var(--ink);
}
.dsai-frame::before { content: ""; position: absolute; inset: 10px; border: 1px solid var(--line); pointer-events: none; }
.dsai-frame .elementor-widget-container { display: grid; place-items: center; width: 100%; }
.dsai-frame img, .dsai-logo-img { width: 62%; opacity: .9; margin-inline: auto; }
.dsai-steps { counter-reset: s; position: relative; padding-top: 2rem; }
.dsai-steps::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, var(--gold), #F2D48A, var(--gold)); transform-origin: left; transform: scaleX(0); transition: transform 1.6s cubic-bezier(.2, .7, .2, 1); }
.dsai-steps.in::before { transform: scaleX(1); }
.dsai-step { counter-increment: s; }
.dsai-step::before { content: counter(s, decimal-leading-zero); font: 500 2.4rem var(--serif); color: var(--gold); display: block; }
.dsai-quote { border-top: 1px solid var(--gold); padding-top: 1.6rem; }
body.dsai .dsai-quote__text p { font: italic 400 1.4rem/1.45 var(--serif); }
body.dsai cite { font-style: normal; color: var(--gold); }
.dsai-empty { text-align: center; border: 1px solid var(--line); background: var(--ink); padding: clamp(32px, 6vw, 64px) 1.5rem; }
.dsai-empty img { width: 96px; opacity: .8; margin: 0 auto 1rem; }
.dsai-empty p { margin-inline: auto; color: var(--mut); }

/* ---------- Elementor bridge: Elementor ke containers ko hamare layout me fit karta hai ---------- */
.dsai-elementor { --kit-widget-spacing: .6rem; --widgets-spacing: .6rem; }
.dsai-elementor .e-con { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 1rem; --row-gap: 1rem; --column-gap: 1rem; --widgets-spacing: 1rem; --widgets-spacing-row: 1rem; --widgets-spacing-column: 1rem; --content-width: 100%; }
.dsai-elementor .e-con.dsai-sec { padding: clamp(64px, 10vw, 120px) 4vw; }
.dsai-elementor .e-con.dsai-wrap { width: 100%; max-width: 1120px; margin-inline: auto; }
.dsai-elementor .e-con.dsai-grid { display: grid !important; gap: 1.4rem; }
.dsai-elementor .e-con.dsai-g3 { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.dsai-elementor .e-con.dsai-g4 { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.dsai-elementor .e-con.dsai-split { display: grid !important; grid-template-columns: 1fr 1fr; gap: clamp(28px, 6vw, 80px); align-items: center; }
.dsai-elementor .e-con.dsai-split--top { align-items: start; }
@media (max-width: 800px) { .dsai-elementor .e-con.dsai-split { grid-template-columns: 1fr; } }
.dsai-elementor .e-con.dsai-card { padding: 1.8rem; }
.dsai-elementor .e-con.dsai-stat { padding-top: 1rem; }
.dsai-elementor .e-con.dsai-quote { padding-top: 1.6rem; }
.dsai-elementor .e-con.dsai-steps { padding-top: 2rem; }
.dsai-elementor .e-con.dsai-alt { background: var(--ink); }
.dsai-elementor .e-con.dsai-alt .dsai-card { background: var(--bg); }
body.dsai .elementor-widget-text-editor, body.dsai .elementor-widget-shortcode { color: var(--ivory); font-family: var(--sans); font-size: 1.0625rem; }
body.dsai .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
body.dsai .elementor-widget-heading .elementor-heading-title { color: var(--ivory); font-family: var(--serif); font-weight: 500; line-height: 1.1; }
body.dsai .elementor-widget-heading h1.elementor-heading-title { font-size: clamp(2.6rem, 7vw, 5.2rem); }
body.dsai .elementor-widget-heading h2.elementor-heading-title { font-size: clamp(2rem, 4.4vw, 3.2rem); }
body.dsai .elementor-widget-heading h3.elementor-heading-title { font-size: 1.5rem; }
body.dsai .elementor a:not(.elementor-button):not(.dsai-btn) { color: var(--gold); }
body.dsai .dsai-note.elementor-widget { color: var(--gold); }

/* ---------- Forms ---------- */
.dsai-form { display: grid; gap: 1.1rem; max-width: 560px; }
body.dsai label { display: grid; gap: .4rem; font-weight: 500; }
body.dsai :is(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="search"], input[type="url"], textarea, select) {
	background: var(--ink);
	color: var(--ivory);
	border: 1px solid #7a5a3d;
	border-radius: 2px;
	padding: .85rem 1rem;
	font: inherit;
	max-width: 100%;
}
body.dsai textarea { min-height: 150px; }
body.dsai :is(input, textarea, select)::placeholder { color: #8d826e; }
body.dsai input[type="checkbox"], body.dsai input[type="radio"] { accent-color: var(--saf); }
.dsai-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.dsai-ok { border: 1px solid var(--gold); padding: 1rem 1.2rem; color: var(--gold); margin-bottom: 1.2rem; max-width: 560px; }
.dsai-ok--err { border-color: var(--err); color: var(--err); }

/* ---------- Footer ---------- */
.dsai-ftr { background: #0E0B08; border-top: 1px solid var(--line); padding: 56px 0 28px; color: var(--mut); }
.dsai-ftr__grid { grid-template-columns: 2fr 1fr 1.4fr; }
@media (max-width: 800px) { .dsai-ftr__grid { grid-template-columns: 1fr; } }
body.dsai .dsai-ftr a { color: var(--ivory); display: block; padding: .25rem 0; text-decoration: none; }
body.dsai .dsai-ftr a:hover { color: var(--gold); }
body.dsai .dsai-ftr h3 { font-size: 1.2rem; color: var(--gold); }
.dsai-ftr__copy { margin-top: 2rem; }
.dsai-ftr small { display: block; margin-top: 2rem; letter-spacing: .3em; font-size: .72rem; color: var(--gold); }

/* =========================================================
   WooCommerce
   ========================================================= */
.dsai-woo { padding-block: clamp(32px, 5vw, 64px) clamp(56px, 9vw, 110px); }
.dsai-crumbs { font-size: .92rem; color: var(--mut); margin-bottom: 1.6rem; }
.dsai-crumbs a { color: var(--gold); text-decoration: none; }

/* Notices */
body.dsai .woocommerce-message, body.dsai .woocommerce-info, body.dsai .woocommerce-error {
	background: var(--ink); border: 1px solid var(--gold); border-left-width: 4px; color: var(--ivory);
	padding: 1rem 1.2rem; list-style: none; margin: 0 0 1.5rem; display: flex; gap: 1rem; align-items: center; justify-content: space-between; flex-wrap: wrap;
}
body.dsai .woocommerce-error { border-color: var(--err); }
body.dsai .woocommerce-message .button { order: 2; }

/* Shop / product grid */
body.dsai .woocommerce ul.products { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1.4rem; list-style: none; margin: 0; padding: 0; clear: both; }
body.dsai .woocommerce ul.products.columns-1 { grid-template-columns: 1fr; }
body.dsai .woocommerce ul.products.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.dsai .woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.dsai .woocommerce ul.products.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) { body.dsai .woocommerce ul.products[class*="columns-"] { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { body.dsai .woocommerce ul.products[class*="columns-"] { grid-template-columns: 1fr; } }
body.dsai .woocommerce ul.products::before, body.dsai .woocommerce ul.products::after { content: none !important; display: none !important; }
body.dsai .woocommerce ul.products[class*="columns-"] li.product, body.dsai .woocommerce ul.products li.product {
	width: auto; float: none; margin: 0; padding: 0; position: relative; display: flex; flex-direction: column;
	background: var(--ink); border: 1px solid var(--line); text-align: left; transition: border-color .25s, transform .25s;
}
body.dsai .woocommerce ul.products li.product:hover { border-color: var(--gold); transform: translateY(-3px); }
body.dsai .woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; text-decoration: none; flex: 1; }
body.dsai .woocommerce ul.products li.product img { width: 100%; aspect-ratio: 1; object-fit: cover; margin: 0 0 1.1rem; display: block; }
body.dsai .woocommerce ul.products li.product img.woocommerce-placeholder, body.dsai .woocommerce div.product img.woocommerce-placeholder {
	object-fit: contain; padding: 22%; background: radial-gradient(circle, rgba(217, 164, 65, .2), transparent 70%); opacity: .85;
}
body.dsai .woocommerce ul.products li.product .woocommerce-loop-product__title { font: 500 1.5rem/1.15 var(--serif); color: var(--ivory); padding: 0 1.4rem; margin: 0 0 .3rem; }
body.dsai .woocommerce ul.products li.product .price { color: var(--gold); padding: 0 1.4rem; margin: 0 0 1rem; display: block; font-size: 1.1rem; }
body.dsai .woocommerce ul.products li.product .price del { color: var(--mut); opacity: .8; }
body.dsai .woocommerce ul.products li.product .price ins { text-decoration: none; }
body.dsai .woocommerce ul.products li.product a.button { margin: auto 1.4rem 1.4rem; text-align: center; }
body.dsai .woocommerce ul.products li.product a.added_to_cart { display: block; margin: -.8rem 1.4rem 1.4rem; text-align: center; font-size: .92rem; }
body.dsai .woocommerce .star-rating { color: var(--gold); margin: 0 1.4rem .6rem; }
body.dsai .woocommerce span.onsale {
	position: absolute; top: 12px; left: 12px; z-index: 3; margin: 0; min-height: 0; min-width: 0; line-height: 1.6;
	background: var(--saf); color: #14100C; font-weight: 600; padding: .15rem .7rem; border-radius: 2px;
}
body.dsai .woocommerce-result-count { float: left; margin: 0 0 1.5rem; color: var(--mut); }
body.dsai .woocommerce-ordering { float: right; margin: 0 0 1.5rem; }
body.dsai .woocommerce-pagination ul.page-numbers { display: flex; flex-wrap: wrap; gap: .4rem; justify-content: center; list-style: none; margin: 2.5rem 0 0; padding: 0; border: 0; }
body.dsai .woocommerce-pagination ul.page-numbers li { border: 0; float: none; }
body.dsai .woocommerce-pagination .page-numbers a, body.dsai .woocommerce-pagination .page-numbers span, body.dsai .navigation.pagination .page-numbers {
	display: inline-block; min-width: 42px; padding: .5rem .8rem; border: 1px solid var(--line); text-align: center; color: var(--ivory); text-decoration: none; background: none;
}
body.dsai .woocommerce-pagination .page-numbers .current, body.dsai .navigation.pagination .page-numbers.current { background: var(--gold); color: #14100C; border-color: var(--gold); }
body.dsai .woocommerce-pagination .page-numbers a:hover { border-color: var(--gold); color: var(--gold); }

/* Single product */
body.dsai.single-product .woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 5vw, 64px); align-items: start; position: relative; }
body.dsai.single-product .woocommerce div.product div.images, body.dsai.single-product .woocommerce div.product div.summary { width: auto; float: none; margin: 0; }
body.dsai.single-product .woocommerce div.product .woocommerce-tabs,
body.dsai.single-product .woocommerce div.product .related,
body.dsai.single-product .woocommerce div.product .upsells,
body.dsai.single-product .woocommerce div.product .up-sells { grid-column: 1 / -1; width: 100%; }
@media (max-width: 800px) { body.dsai.single-product .woocommerce div.product { grid-template-columns: 1fr; } }
body.dsai .woocommerce-product-gallery { position: relative; }
body.dsai .woocommerce-product-gallery__wrapper { margin: 0; }
body.dsai .woocommerce-product-gallery__image img { width: 100%; border: 1px solid var(--line); display: block; }
body.dsai .woocommerce-product-gallery__trigger {
	position: absolute; top: 12px; right: 12px; z-index: 5; width: 40px; height: 40px; border-radius: 50%; text-indent: -999px; overflow: hidden;
	background: rgba(20, 16, 12, .7) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D9A441' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E") center / 20px no-repeat; border: 1px solid var(--line);
}
body.dsai .flex-control-thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: .6rem; list-style: none; margin: .6rem 0 0; padding: 0; }
body.dsai .flex-control-thumbs li { margin: 0; }
body.dsai .flex-control-thumbs img { width: 100%; border: 1px solid var(--line); opacity: .6; cursor: pointer; transition: opacity .2s, border-color .2s; }
body.dsai .flex-control-thumbs img.flex-active, body.dsai .flex-control-thumbs img:hover { opacity: 1; border-color: var(--gold); }
body.dsai .woocommerce div.product .product_title { font-size: clamp(2rem, 4vw, 3rem); margin-bottom: .3em; }
body.dsai .woocommerce div.product p.price, body.dsai .woocommerce div.product span.price { color: var(--gold); font: 500 1.8rem var(--serif); margin-bottom: 1rem; }
body.dsai .woocommerce div.product p.price del { color: var(--mut); }
body.dsai .woocommerce div.product p.price ins { text-decoration: none; }
body.dsai .woocommerce-product-details__short-description { color: #E9DFC9; }
body.dsai .woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 1rem; align-items: stretch; margin: 1.6rem 0; }
body.dsai .woocommerce div.product form.cart .variations { width: 100%; border: 0; }
body.dsai .woocommerce div.product form.cart .variations td, body.dsai .woocommerce div.product form.cart .variations th { display: block; padding: .3rem 0; border: 0; text-align: left; }
body.dsai .woocommerce div.product form.cart .single_variation_wrap { width: 100%; }
body.dsai .woocommerce .quantity .qty { width: 5rem; text-align: center; height: 100%; min-height: 48px; padding: .6rem .4rem; }
body.dsai .woocommerce div.product form.cart .single_add_to_cart_button { flex: 1; min-width: 180px; }
body.dsai .woocommerce div.product .product_meta { border-top: 1px solid var(--line); padding-top: 1rem; margin-top: 1.5rem; color: var(--mut); font-size: .92rem; }
body.dsai .woocommerce div.product .product_meta > span { display: block; }
.dsai-trust { list-style: none; margin: 1.4rem 0 0; padding: 1rem 0 0; border-top: 1px solid var(--line); display: grid; gap: .4rem; color: var(--mut); font-size: .95rem; }
.dsai-trust li::before { content: "\2726"; color: var(--gold); margin-right: .6rem; }
body.dsai .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 1.8rem; list-style: none; padding: 0; margin: 0 0 1.6rem; border-bottom: 1px solid var(--line); overflow: visible; }
body.dsai .woocommerce-tabs ul.tabs::before, body.dsai .woocommerce-tabs ul.tabs::after { content: none; display: none; }
body.dsai .woocommerce-tabs ul.tabs li { background: none; border: 0; margin: 0; padding: 0; border-radius: 0; }
body.dsai .woocommerce-tabs ul.tabs li::before, body.dsai .woocommerce-tabs ul.tabs li::after { content: none; display: none; }
body.dsai .woocommerce-tabs ul.tabs li a { display: block; padding: .7rem 0; color: var(--mut); text-decoration: none; border-bottom: 2px solid transparent; margin-bottom: -1px; }
body.dsai .woocommerce-tabs ul.tabs li.active a, body.dsai .woocommerce-tabs ul.tabs li a:hover { color: var(--gold); border-color: var(--gold); }
body.dsai .woocommerce-tabs .panel { margin: 0; }
body.dsai .woocommerce-tabs .panel > h2:first-child { font-size: 1.8rem; }
body.dsai .related.products > h2, body.dsai .upsells.products > h2, body.dsai .up-sells > h2 { margin: 3rem 0 1.4rem; }

/* Cart (classic) */
body.dsai table.shop_table { width: 100%; border-collapse: collapse; border: 1px solid var(--line); background: var(--ink); margin: 0 0 1.5rem; }
body.dsai table.shop_table th, body.dsai table.shop_table td { padding: 1rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
body.dsai table.shop_table th { color: var(--gold); font-weight: 500; }
body.dsai table.shop_table td a { color: var(--ivory); text-decoration: none; }
body.dsai table.shop_table td.product-thumbnail img { width: 72px; }
body.dsai table.shop_table a.remove { color: var(--err) !important; text-decoration: none; font-size: 1.4rem; }
body.dsai table.shop_table .actions { text-align: right; }
body.dsai table.shop_table .coupon { float: left; display: flex; gap: .6rem; flex-wrap: wrap; }
body.dsai .cart-collaterals { display: flex; justify-content: flex-end; }
body.dsai .cart-collaterals .cart_totals { width: min(100%, 480px); float: none; }
body.dsai .wc-proceed-to-checkout a.checkout-button { display: block; text-align: center; margin-top: 1rem; font-size: 1.1rem; }
body.dsai .woocommerce-cart-form__cart-item td.product-name a { color: var(--gold); }

/* Checkout (classic) */
body.dsai form.checkout h3, body.dsai .woocommerce-billing-fields h3, body.dsai #order_review_heading { font-size: 1.8rem; margin-bottom: .8rem; }
body.dsai .form-row { margin: 0 0 1rem; display: grid; gap: .4rem; }
body.dsai .form-row label { display: block; }
body.dsai .form-row input.input-text, body.dsai .form-row textarea, body.dsai .form-row select { width: 100%; }
body.dsai .select2-container--default .select2-selection--single { background: var(--ink); border: 1px solid #7a5a3d; border-radius: 2px; height: 48px; }
body.dsai .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--ivory); line-height: 46px; padding-left: 1rem; }
body.dsai .select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; }
body.dsai .select2-dropdown { background: var(--ink); border: 1px solid var(--gold); color: var(--ivory); }
body.dsai .select2-container--default .select2-results__option--highlighted[aria-selected], body.dsai .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--saf); color: #14100C; }
body.dsai #payment { background: var(--ink); border: 1px solid var(--line); border-radius: 0; }
body.dsai #payment ul.payment_methods { list-style: none; margin: 0; padding: 1rem; border-bottom: 1px solid var(--line); }
body.dsai #payment div.payment_box { background: #2a1f15; color: var(--mut); padding: 1rem; margin: .6rem 0; }
body.dsai #payment div.payment_box::before { display: none; }
body.dsai #payment div.form-row { padding: 1rem; }
body.dsai #place_order { width: 100%; font-size: 1.1rem; }
body.dsai .woocommerce-privacy-policy-text { color: var(--mut); font-size: .92rem; }

/* My account */
body.dsai .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0 0 1.5rem; padding: 0; border: 1px solid var(--line); background: var(--ink); }
body.dsai .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--line); margin: 0; }
body.dsai .woocommerce-MyAccount-navigation li:last-child { border: 0; }
body.dsai .woocommerce-MyAccount-navigation li a { display: block; padding: .85rem 1.1rem; color: var(--ivory); text-decoration: none; }
body.dsai .woocommerce-MyAccount-navigation li.is-active a, body.dsai .woocommerce-MyAccount-navigation li a:hover { color: var(--gold); background: rgba(217, 164, 65, .08); }
body.dsai .woocommerce form.login, body.dsai .woocommerce form.register, body.dsai .woocommerce form.checkout_coupon, body.dsai .woocommerce form.woocommerce-ResetPassword {
	background: var(--ink); border: 1px solid var(--line); padding: 1.6rem; border-radius: 0; margin: 0 0 1.5rem;
}
body.dsai .woocommerce .u-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.4rem; }
body.dsai .woocommerce .u-columns .u-column1, body.dsai .woocommerce .u-columns .u-column2 { width: auto; float: none; }
body.dsai .woocommerce address { font-style: normal; color: var(--mut); }

/* WooCommerce Blocks (Cart / Checkout blocks) */
body.dsai :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-components-sidebar-layout) { color: var(--ivory); }
body.dsai :is(.wc-block-components-totals-wrapper, .wc-block-cart-items, .wc-block-cart-items__row, .wc-block-components-order-summary, .wc-block-components-panel, .wc-block-checkout__sidebar, .wc-block-components-totals-item, .wc-block-components-checkout-step) { border-color: var(--line) !important; }
body.dsai :is(.wc-block-components-product-name, .wc-block-components-title, .wc-block-components-checkout-step__title) { color: var(--gold); text-decoration: none; }
body.dsai :is(.wc-block-components-text-input input, .wc-block-components-textarea, .wc-block-components-combobox .components-combobox-control__input, .wc-blocks-components-select__select, .wc-block-components-address-form select) {
	background: var(--ink) !important; color: var(--ivory) !important; border: 1px solid #7a5a3d !important; border-radius: 2px;
}
body.dsai :is(.wc-block-components-text-input label, .wc-blocks-components-select__label) { color: var(--mut) !important; }
body.dsai :is(.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option, .wc-block-components-radio-control-accordion-content) { color: var(--ivory); border-color: var(--line) !important; }
body.dsai .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option-checked { box-shadow: inset 0 0 0 1px var(--gold) !important; }
body.dsai .wc-block-components-panel__button, body.dsai .wc-block-components-checkbox label, body.dsai .wc-block-components-totals-item__label { color: var(--ivory); }
body.dsai .wc-block-components-notice-banner { background: var(--ink); color: var(--ivory); border-color: var(--gold); }
body.dsai .wc-block-components-quantity-selector { border-color: #7a5a3d; background: var(--ink); }
body.dsai .wc-block-components-quantity-selector input { color: var(--ivory); background: transparent !important; border: 0 !important; }
body.dsai .wc-block-components-button.contained { color: #14100C; }

/* Archive / blog cards */
body.dsai .navigation.pagination { margin-top: 2.5rem; }
body.dsai .nav-links { display: flex; gap: .5rem; flex-wrap: wrap; justify-content: center; }

/* ---------- Motion ---------- */
.js body.dsai:not(.elementor-editor-active) .dsai-rv { opacity: 0; transform: translateY(22px); transition: opacity .9s, transform .9s; }
.js body.dsai:not(.elementor-editor-active) .dsai-rv.in { opacity: 1; transform: none; }
body.dsai .dsai-btn-el .elementor-button { transition: background .2s, transform .2s; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	body.dsai *, body.dsai *::before, body.dsai *::after { animation: none !important; transition: none !important; }
	.dsai-rv { opacity: 1 !important; transform: none !important; }
	.dsai-steps::before { transform: none; }
	.intro-on #dsai-intro { display: none; }
	.dsai-hero__video, .dsai-hero__fx, .dsai-hero__toggle { display: none; }
}
