/*
Theme Name: Dharma Tantra
Theme URI: https://example.com/dharma-tantra
Author: Vishal
Author URI: https://example.com
Description: A fully animated, automated spiritual e-commerce WordPress theme for Dharma Tantra (धर्म तंत्र) - built for puja items, astrology consultations, spiritual books & courses. Deep maroon & gold palette matched to the Dharma Tantra logo. WooCommerce ready.
Version: 1.2.1
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dharma-tantra
Tags: e-commerce, custom-colors, custom-logo, custom-menu, featured-images, full-width-template, threaded-comments, translation-ready, one-column, two-columns, right-sidebar

Dharma Tantra WordPress Theme, Copyright 2026
Dharma Tantra is distributed under the terms of the GNU GPL.
*/

/* ==========================================================================
   Design tokens - colour palette sampled directly from the Dharma Tantra logo
   ========================================================================== */

:root{
	/* Maroon / deep red - background family, sampled from logo backdrop */
	--dt-maroon-950:#1c0407;
	--dt-maroon-900:#2c0509;
	--dt-maroon-800:#3d060c;
	--dt-maroon-700:#520a13;
	--dt-maroon-600:#6b0f1c;
	--dt-maroon-500:#8a1626;

	/* Gold / bronze - sampled from the logo lettering & trishul */
	--dt-gold-800:#8a5a12;
	--dt-gold-700:#a8680c;
	--dt-gold-600:#c1861f;
	--dt-gold-500:#d4a437;
	--dt-gold-400:#e6bd5c;
	--dt-gold-300:#f0d38a;
	--dt-gold-200:#f7e6bd;

	/* Neutrals */
	--dt-cream:#fbf3e3;
	--dt-cream-dark:#f1e3c6;
	--dt-ink:#241008;
	--dt-white:#ffffff;

	/* Semantic */
	--dt-bg:var(--dt-maroon-900);
	--dt-bg-alt:var(--dt-maroon-800);
	--dt-surface:var(--dt-cream);
	--dt-text-on-dark:var(--dt-gold-200);
	--dt-text-on-light:var(--dt-ink);
	--dt-accent:var(--dt-gold-500);
	--dt-accent-light:var(--dt-gold-400);
	--dt-accent-deep:var(--dt-gold-700);
	--dt-border:rgba(212,164,55,.35);
	--dt-shadow:0 20px 60px rgba(28,4,7,.45);

	--dt-font-display:'Cormorant Garamond','Noto Serif Devanagari',Georgia,serif;
	--dt-font-body:'Mulish','Noto Sans Devanagari',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;

	--dt-radius:14px;
	--dt-container:1240px;
	--dt-speed:.45s;
	--dt-ease:cubic-bezier(.22,.9,.32,1);
}

/* ==========================================================================
   Reset & base
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
	margin:0;
	background:var(--dt-bg);
	background-image:
		radial-gradient(ellipse 80% 50% at 50% -10%, rgba(212,164,55,.14), transparent),
		repeating-linear-gradient(45deg, rgba(255,255,255,.015) 0 2px, transparent 2px 6px);
	color:var(--dt-text-on-dark);
	font-family:var(--dt-font-body);
	font-size:16px;
	line-height:1.7;
	-webkit-font-smoothing:antialiased;
	overflow-x:hidden;
}
body.admin-bar{margin-top:0}
img{max-width:100%;height:auto;display:block}
a{color:var(--dt-accent-light);text-decoration:none;transition:color var(--dt-speed) var(--dt-ease)}
a:hover{color:var(--dt-gold-200)}
h1,h2,h3,h4,h5,h6{
	font-family:var(--dt-font-display);
	color:var(--dt-gold-200);
	font-weight:600;
	line-height:1.2;
	margin:0 0 .5em;
	letter-spacing:.01em;
}
h1{font-size:clamp(2.4rem,5vw,4.2rem)}
h2{font-size:clamp(1.9rem,3.6vw,2.8rem)}
h3{font-size:clamp(1.3rem,2.4vw,1.7rem)}
p{margin:0 0 1.2em}
ul{margin:0;padding:0;list-style:none}
button{font-family:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--dt-accent-light);outline-offset:3px}
::selection{background:var(--dt-gold-500);color:var(--dt-maroon-950)}

.dt-container{max-width:var(--dt-container);margin:0 auto;padding:0 24px}
.dt-surface{background:var(--dt-surface);color:var(--dt-text-on-light);border-radius:var(--dt-radius)}
.dt-surface h1,.dt-surface h2,.dt-surface h3,.dt-surface h4{color:var(--dt-maroon-800)}
.dt-eyebrow{
	display:inline-flex;align-items:center;gap:10px;
	font-family:var(--dt-font-body);font-weight:800;letter-spacing:.22em;text-transform:uppercase;
	font-size:.72rem;color:var(--dt-accent-light);margin-bottom:14px;
}
.dt-eyebrow::before,.dt-eyebrow::after{content:"";width:26px;height:1px;background:var(--dt-accent);opacity:.7}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);overflow:hidden;height:1px;width:1px}

/* Buttons */
.dt-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:10px;
	padding:15px 34px;border-radius:999px;border:1px solid transparent;
	font-weight:700;font-size:.95rem;letter-spacing:.03em;
	background:linear-gradient(135deg,var(--dt-gold-400),var(--dt-gold-700));
	color:var(--dt-maroon-950);box-shadow:0 10px 26px rgba(168,104,12,.35);
	transition:transform var(--dt-speed) var(--dt-ease),box-shadow var(--dt-speed) var(--dt-ease);
}
.dt-btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 16px 34px rgba(168,104,12,.5);color:var(--dt-maroon-950)}
.dt-btn.dt-btn-outline{
	background:transparent;color:var(--dt-gold-300);border-color:var(--dt-border);box-shadow:none;
}
.dt-btn.dt-btn-outline:hover{background:rgba(212,164,55,.12);color:var(--dt-gold-200)}
.dt-btn.dt-btn-dark{background:var(--dt-maroon-800);color:var(--dt-gold-300);box-shadow:none;border-color:var(--dt-border)}

/* ==========================================================================
   Header
   ========================================================================== */
.dt-topbar{background:var(--dt-maroon-950);border-bottom:1px solid var(--dt-border);font-size:.8rem}
.dt-topbar .dt-container{display:flex;justify-content:space-between;align-items:center;padding-top:8px;padding-bottom:8px;color:var(--dt-gold-300);gap:16px;flex-wrap:wrap}
.dt-topbar a{color:var(--dt-gold-300)}
.dt-topbar-marquee{overflow:hidden;flex:1;max-width:520px}
.dt-topbar-marquee span{display:inline-block;white-space:nowrap;animation:dt-marquee 22s linear infinite}

.dt-header{
	position:sticky;top:0;z-index:100;
	/* Same solid maroon as the logo's own backdrop, so the logo sits flush
	   with the header instead of appearing boxed on a different tone. */
	background:var(--dt-maroon-900);
	border-bottom:1px solid var(--dt-border);
	transition:background var(--dt-speed) var(--dt-ease),box-shadow var(--dt-speed) var(--dt-ease);
}
.dt-header.is-scrolled{box-shadow:0 12px 30px rgba(0,0,0,.35);background:var(--dt-maroon-950)}
.dt-header-inner{display:flex;align-items:center;justify-content:space-between;padding:10px 0;gap:24px}
.dt-logo{display:flex;align-items:center;gap:12px;flex-shrink:0}
.dt-logo img{max-height:84px;width:auto}
.dt-logo .custom-logo-link{display:flex;align-items:center}

.dt-nav{display:flex;align-items:center;gap:34px}
.dt-nav ul{display:flex;gap:30px}
.dt-nav a{
	font-weight:700;font-size:.86rem;letter-spacing:.03em;text-transform:uppercase;color:var(--dt-gold-100,#f7e6bd);
	position:relative;padding:6px 0;
}
.dt-nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--dt-accent);transition:width var(--dt-speed) var(--dt-ease)}
.dt-nav a:hover::after,.dt-nav .current-menu-item>a::after{width:100%}
.dt-nav .menu-item-has-children{position:relative}
.dt-nav .sub-menu{
	position:absolute;top:100%;left:-16px;min-width:220px;background:var(--dt-maroon-950);
	border:1px solid var(--dt-border);border-radius:10px;padding:10px;opacity:0;visibility:hidden;
	transform:translateY(8px);transition:all var(--dt-speed) var(--dt-ease);box-shadow:var(--dt-shadow);
}
.dt-nav .menu-item-has-children:hover>.sub-menu{opacity:1;visibility:visible;transform:translateY(4px)}
.dt-nav .sub-menu a{display:block;padding:9px 12px;border-radius:6px;text-transform:none;font-size:.86rem}
.dt-nav .sub-menu a:hover{background:rgba(212,164,55,.1)}

.dt-header-actions{display:flex;align-items:center;gap:18px}
.dt-icon-btn{
	position:relative;display:inline-flex;align-items:center;justify-content:center;
	width:42px;height:42px;border-radius:50%;color:var(--dt-gold-200);border:1px solid var(--dt-border);
	transition:all var(--dt-speed) var(--dt-ease);
}
.dt-icon-btn:hover{background:rgba(212,164,55,.14);color:var(--dt-gold-100,#f7e6bd);transform:translateY(-2px)}
.dt-icon-btn svg{width:19px;height:19px}
.dt-cart-count{
	position:absolute;top:-6px;right:-6px;background:var(--dt-accent);color:var(--dt-maroon-950);
	font-size:.66rem;font-weight:800;width:19px;height:19px;border-radius:50%;
	display:flex;align-items:center;justify-content:center;animation:dt-pop .3s var(--dt-ease);
}
.dt-menu-toggle{display:none;flex-direction:column;gap:5px;width:30px;background:none;border:0}
.dt-menu-toggle span{height:2px;background:var(--dt-gold-200);border-radius:2px;transition:all var(--dt-speed) var(--dt-ease)}

/* ==========================================================================
   Footer
   ========================================================================== */
.dt-footer{background:var(--dt-maroon-950);border-top:1px solid var(--dt-border);padding:70px 0 0;position:relative;overflow:hidden}
.dt-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:44px;padding-bottom:50px}
.dt-footer h4{color:var(--dt-gold-300);font-size:1rem;text-transform:uppercase;letter-spacing:.1em;font-family:var(--dt-font-body);margin-bottom:18px}
.dt-footer ul li{margin-bottom:10px}
.dt-footer a{color:var(--dt-gold-300);opacity:.85;font-size:.92rem}
.dt-footer a:hover{opacity:1}
.dt-footer-about p{color:var(--dt-gold-300);opacity:.85;font-size:.92rem}
.dt-social{display:flex;gap:10px;margin-top:16px}
.dt-newsletter-form{display:flex;gap:0;margin-top:8px;border:1px solid var(--dt-border);border-radius:999px;padding:5px;background:rgba(255,255,255,.03)}
.dt-newsletter-form input{flex:1;background:transparent;border:0;padding:10px 16px;color:var(--dt-gold-100,#f7e6bd);font-size:.9rem}
.dt-newsletter-form input::placeholder{color:rgba(247,230,189,.5)}
.dt-newsletter-form button{border-radius:999px;padding:10px 20px;border:0;background:var(--dt-accent);color:var(--dt-maroon-950);font-weight:800}
.dt-newsletter-note{font-size:.78rem;opacity:.6;margin-top:10px}
.dt-bottom-bar{border-top:1px solid var(--dt-border);padding:22px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:.82rem;color:var(--dt-gold-300);opacity:.75}
.dt-payment-icons{display:flex;gap:10px;opacity:.85}
.dt-payment-icons span{border:1px solid var(--dt-border);border-radius:6px;padding:4px 10px;font-size:.72rem;letter-spacing:.05em}

@media (max-width:900px){
	.dt-nav{position:fixed;inset:0 0 0 auto;width:min(340px,84vw);height:100vh;background:var(--dt-maroon-950);
		flex-direction:column;align-items:flex-start;padding:100px 30px 30px;transform:translateX(100%);
		transition:transform var(--dt-speed) var(--dt-ease);z-index:99;overflow-y:auto;box-shadow:var(--dt-shadow);}
	.dt-nav.is-open{transform:translateX(0)}
	.dt-nav ul{flex-direction:column;gap:6px;width:100%}
	.dt-nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;display:none;border:0;background:rgba(255,255,255,.03);margin-top:4px}
	.dt-nav .menu-item-has-children.is-open>.sub-menu{display:block}
	.dt-menu-toggle{display:flex}
	.dt-footer-grid{grid-template-columns:1fr 1fr;gap:36px}
}
@media (max-width:560px){
	.dt-footer-grid{grid-template-columns:1fr}
	.dt-topbar-marquee{display:none}
}

/* ==========================================================================
   Hero
   ========================================================================== */
.dt-hero{position:relative;padding:110px 0 130px;overflow:hidden;isolation:isolate}
.dt-hero::before{
	content:"";position:absolute;inset:0;z-index:-2;
	background:radial-gradient(ellipse 70% 60% at 50% 0%, rgba(212,164,55,.22), transparent 70%);
}
.dt-hero-mandala{
	position:absolute;top:50%;left:50%;width:1100px;height:1100px;
	transform:translate(-50%,-50%);z-index:-1;opacity:.08;
	background:conic-gradient(from 0deg,var(--dt-gold-500),transparent 20%,var(--dt-gold-500) 40%,transparent 60%,var(--dt-gold-500) 80%,transparent 100%);
	border-radius:50%;animation:dt-spin 90s linear infinite;
}
.dt-hero-content{position:relative;text-align:center;max-width:800px;margin:0 auto}
.dt-hero-content h1{opacity:0;animation:dt-fade-up .9s var(--dt-ease) .15s forwards}
.dt-hero-content .dt-eyebrow{opacity:0;animation:dt-fade-up .8s var(--dt-ease) 0s forwards;justify-content:center}
.dt-hero-content p{opacity:0;animation:dt-fade-up .9s var(--dt-ease) .3s forwards;font-size:1.12rem;color:var(--dt-gold-300)}
.dt-hero-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;opacity:0;animation:dt-fade-up .9s var(--dt-ease) .45s forwards}
.dt-hero-badges{display:flex;gap:34px;justify-content:center;margin-top:56px;flex-wrap:wrap;opacity:0;animation:dt-fade-up .9s var(--dt-ease) .6s forwards}
.dt-hero-badge{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--dt-gold-300);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.dt-hero-badge svg{width:28px;height:28px;color:var(--dt-accent)}
.dt-floaters span{position:absolute;font-size:2rem;opacity:.35;animation:dt-float 7s ease-in-out infinite}
.dt-floaters span:nth-child(1){top:18%;left:8%;animation-delay:0s}
.dt-floaters span:nth-child(2){top:65%;left:14%;animation-delay:1.4s;font-size:1.4rem}
.dt-floaters span:nth-child(3){top:24%;right:10%;animation-delay:.7s}
.dt-floaters span:nth-child(4){top:70%;right:15%;animation-delay:2.1s;font-size:1.6rem}

/* Section framing */
.dt-section{padding:96px 0}
.dt-section-head{text-align:center;max-width:640px;margin:0 auto 56px}
.dt-section.dt-alt{background:var(--dt-maroon-950)}

/* Category / feature cards */
.dt-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.dt-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.dt-cat-card{
	position:relative;border-radius:var(--dt-radius);overflow:hidden;aspect-ratio:4/5;
	border:1px solid var(--dt-border);
}
.dt-cat-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--dt-ease)}
.dt-cat-card:hover img{transform:scale(1.08)}
.dt-cat-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(28,4,7,.92) 5%,rgba(28,4,7,.15) 60%)}
.dt-cat-card-label{position:absolute;left:0;right:0;bottom:0;padding:24px;z-index:2}
.dt-cat-card-label h3{margin:0 0 4px;color:var(--dt-gold-100,#f7e6bd)}
.dt-cat-card-label span{color:var(--dt-gold-400);font-size:.82rem}

.dt-feature-card{
	background:rgba(212,164,55,.05);border:1px solid var(--dt-border);border-radius:var(--dt-radius);
	padding:36px 28px;text-align:center;transition:transform var(--dt-speed) var(--dt-ease),background var(--dt-speed) var(--dt-ease);
}
.dt-feature-card:hover{transform:translateY(-8px);background:rgba(212,164,55,.1)}
.dt-feature-icon{
	width:64px;height:64px;margin:0 auto 20px;border-radius:50%;display:flex;align-items:center;justify-content:center;
	background:linear-gradient(135deg,var(--dt-gold-500),var(--dt-gold-800));color:var(--dt-maroon-950);
	box-shadow:0 10px 24px rgba(168,104,12,.35);
}
.dt-feature-icon svg{width:28px;height:28px}

/* Product cards (also used to style WooCommerce loop) */
.dt-product-card{
	background:var(--dt-surface);border-radius:var(--dt-radius);overflow:hidden;position:relative;
	box-shadow:0 14px 34px rgba(28,4,7,.25);transition:transform var(--dt-speed) var(--dt-ease),box-shadow var(--dt-speed) var(--dt-ease);
	border:1px solid rgba(0,0,0,.04);
}
.dt-product-card:hover{transform:translateY(-8px);box-shadow:0 22px 44px rgba(28,4,7,.35)}
.dt-product-thumb{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--dt-cream-dark)}
.dt-product-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--dt-ease)}
.dt-product-card:hover .dt-product-thumb img{transform:scale(1.07)}
.dt-product-badge{position:absolute;top:12px;left:12px;background:var(--dt-maroon-700);color:var(--dt-gold-200);font-size:.68rem;font-weight:800;letter-spacing:.05em;padding:5px 12px;border-radius:999px;text-transform:uppercase;z-index:2}
.dt-product-wishlist{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(-6px);transition:all var(--dt-speed) var(--dt-ease);z-index:2}
.dt-product-card:hover .dt-product-wishlist{opacity:1;transform:translateY(0)}
.dt-product-info{padding:20px}
.dt-product-info .dt-product-cat{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dt-gold-700);font-weight:800}
.dt-product-info h3,.dt-product-info .woocommerce-loop-product__title{font-size:1.05rem;margin:6px 0;color:var(--dt-ink);font-family:var(--dt-font-display)}
.dt-product-price{color:var(--dt-maroon-700);font-weight:800;font-size:1.1rem}
.dt-product-price del{opacity:.5;font-weight:500;margin-right:8px;font-size:.9rem}
.dt-product-price ins{text-decoration:none}
.dt-product-rating{display:flex;gap:2px;color:var(--dt-gold-600);margin-bottom:6px;font-size:.8rem}
.dt-quick-add{
	position:absolute;left:14px;right:14px;bottom:14px;text-align:center;padding:11px;border-radius:999px;
	background:var(--dt-maroon-800);color:var(--dt-gold-200);font-weight:700;font-size:.84rem;
	opacity:0;transform:translateY(10px);transition:all var(--dt-speed) var(--dt-ease);z-index:2;border:0;width:calc(100% - 28px);
}
.dt-product-card:hover .dt-quick-add{opacity:1;transform:translateY(0)}
.dt-quick-add:hover{background:var(--dt-maroon-950)}

/* Testimonials */
.dt-testimonial-track{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}
.dt-testimonial{scroll-snap-align:start;flex:0 0 min(380px,86vw);background:rgba(212,164,55,.05);border:1px solid var(--dt-border);border-radius:var(--dt-radius);padding:30px}
.dt-testimonial-stars{color:var(--dt-gold-500);margin-bottom:14px;letter-spacing:2px}
.dt-testimonial-author{display:flex;align-items:center;gap:12px;margin-top:18px}
.dt-testimonial-author img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.dt-testimonial-author strong{color:var(--dt-gold-200);display:block;font-size:.92rem}
.dt-testimonial-author span{font-size:.78rem;color:var(--dt-gold-400)}

/* Quote of the day / Panchang automation widget */
.dt-quote-band{
	position:relative;padding:70px 0;text-align:center;background:var(--dt-maroon-950);
	border-top:1px solid var(--dt-border);border-bottom:1px solid var(--dt-border);overflow:hidden;
}
.dt-quote-band blockquote{font-family:var(--dt-font-display);font-size:clamp(1.3rem,2.6vw,2rem);color:var(--dt-gold-200);max-width:820px;margin:0 auto 14px;font-style:italic}
.dt-quote-band cite{color:var(--dt-gold-500);font-style:normal;font-weight:700;letter-spacing:.05em;font-size:.85rem;text-transform:uppercase}
.dt-panchang-strip{display:flex;justify-content:center;gap:36px;flex-wrap:wrap;margin-top:34px}
.dt-panchang-item{text-align:center}
.dt-panchang-item .num{display:block;font-family:var(--dt-font-display);font-size:1.6rem;color:var(--dt-accent-light)}
.dt-panchang-item .lbl{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--dt-gold-400)}

/* Countdown / festival sale automation */
.dt-countdown-banner{
	background:linear-gradient(120deg,var(--dt-maroon-700),var(--dt-maroon-900));
	border:1px solid var(--dt-border);border-radius:var(--dt-radius);
	padding:34px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
}
.dt-countdown-banner h3{margin:0 0 4px}
.dt-countdown-banner p{margin:0;color:var(--dt-gold-300);opacity:.85}
.dt-countdown-timer{display:flex;gap:14px}
.dt-countdown-timer div{text-align:center;background:rgba(0,0,0,.25);border:1px solid var(--dt-border);border-radius:10px;padding:12px 16px;min-width:66px}
.dt-countdown-timer .n{display:block;font-family:var(--dt-font-display);font-size:1.6rem;color:var(--dt-gold-200)}
.dt-countdown-timer .l{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--dt-gold-400)}

@media (max-width:980px){
	.dt-grid-3{grid-template-columns:repeat(2,1fr)}
	.dt-grid-4{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
	.dt-grid-3,.dt-grid-4{grid-template-columns:1fr 1fr;gap:16px}
	.dt-hero{padding:80px 0 90px}
	.dt-section{padding:64px 0}
}

/* ==========================================================================
   WooCommerce overrides
   ========================================================================== */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;list-style:none;margin:0}
.woocommerce ul.products li.product{margin:0}
.woocommerce ul.products li.product,
.woocommerce div.product{background:transparent}
.woocommerce span.onsale{
	position:absolute;top:12px;left:12px;background:var(--dt-maroon-700)!important;color:var(--dt-gold-200)!important;
	font-size:.68rem;font-weight:800;letter-spacing:.05em;padding:5px 12px;border-radius:999px;text-transform:uppercase;
	min-height:0;min-width:0;line-height:1.4;z-index:2;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{color:var(--dt-ink);font-family:var(--dt-font-display)}
.woocommerce ul.products li.product .price{color:var(--dt-maroon-700);font-weight:800}
.woocommerce ul.products li.product .star-rating{color:var(--dt-gold-600)}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce-page a.button{
	background:linear-gradient(135deg,var(--dt-gold-400),var(--dt-gold-700));
	color:var(--dt-maroon-950)!important;border-radius:999px;border:0;font-weight:700;padding:13px 28px;
	transition:transform var(--dt-speed) var(--dt-ease),box-shadow var(--dt-speed) var(--dt-ease);
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce #respond input#submit:hover{
	transform:translateY(-3px);box-shadow:0 14px 28px rgba(168,104,12,.4);
}
.woocommerce nav.woocommerce-pagination ul{border:0;gap:8px;display:flex}
.woocommerce nav.woocommerce-pagination ul li{border:1px solid var(--dt-border);border-radius:8px;overflow:hidden}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{
	color:var(--dt-gold-200);border:0;padding:8px 14px;background:transparent;
}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--dt-accent);color:var(--dt-maroon-950)}

.woocommerce div.product div.images{border-radius:var(--dt-radius);overflow:hidden}
.woocommerce div.product div.summary{padding-left:10px}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--dt-maroon-700);font-size:1.6rem;font-weight:800;font-family:var(--dt-font-display)}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--dt-text-on-light);opacity:.85}
.woocommerce div.product form.cart{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:26px 0}
.woocommerce div.product form.cart .quantity{border:1px solid rgba(0,0,0,.15);border-radius:999px;overflow:hidden}
.woocommerce div.product form.cart .quantity input{border:0;width:64px;text-align:center;padding:14px 0}
.woocommerce .woocommerce-tabs ul.tabs{border-bottom:1px solid rgba(0,0,0,.1);display:flex;gap:6px}
.woocommerce .woocommerce-tabs ul.tabs li{border:0;background:transparent;margin:0}
.woocommerce .woocommerce-tabs ul.tabs li a{padding:12px 20px;color:var(--dt-text-on-light);font-weight:700}
.woocommerce .woocommerce-tabs ul.tabs li.active a{color:var(--dt-maroon-700);border-bottom:2px solid var(--dt-maroon-700)}
.woocommerce-tabs{background:var(--dt-surface);border-radius:var(--dt-radius);padding:34px;margin-top:50px}
.woocommerce table.shop_table{border-radius:var(--dt-radius);overflow:hidden;border-color:rgba(0,0,0,.08)}
.woocommerce #reviews #comments ol.commentlist li img.avatar{border-radius:50%}

.woocommerce-cart table.cart img,.woocommerce-checkout-review-order-table img{border-radius:10px}
.woocommerce-checkout #payment{background:var(--dt-cream-dark);border-radius:var(--dt-radius)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce-checkout select{
	border-radius:10px;border:1px solid rgba(0,0,0,.15);padding:12px 14px;background:#fff;
}
.woocommerce-message,.woocommerce-info,.woocommerce-error{
	border-top-color:var(--dt-accent-deep)!important;border-radius:10px;background:#fff8e9;
}
.woocommerce-message::before,.woocommerce-info::before{color:var(--dt-accent-deep)!important}

/* Mini-cart drawer */
.dt-cart-drawer{
	position:fixed;top:0;right:0;height:100vh;width:min(420px,92vw);background:var(--dt-surface);
	z-index:200;transform:translateX(100%);transition:transform .5s var(--dt-ease);box-shadow:var(--dt-shadow);
	display:flex;flex-direction:column;
}
.dt-cart-drawer.is-open{transform:translateX(0)}
.dt-cart-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid rgba(0,0,0,.08)}
.dt-cart-drawer-head h3{margin:0;color:var(--dt-maroon-800)}
.dt-cart-drawer-body{flex:1;overflow-y:auto;padding:20px 24px}
.dt-cart-drawer-foot{padding:22px 24px;border-top:1px solid rgba(0,0,0,.08)}
.dt-cart-overlay{position:fixed;inset:0;background:rgba(28,4,7,.55);z-index:199;opacity:0;visibility:hidden;transition:all var(--dt-speed) var(--dt-ease)}
.dt-cart-overlay.is-open{opacity:1;visibility:visible}
.dt-cart-drawer .widget_shopping_cart_content .cart_list li{
	display:flex;gap:12px;padding:14px 0;border-bottom:1px solid rgba(0,0,0,.06);position:relative;
}
.dt-cart-drawer .widget_shopping_cart_content img{width:60px;height:60px;object-fit:cover;border-radius:8px}
.dt-cart-drawer .widget_shopping_cart_content .remove{position:absolute;top:14px;right:0;color:var(--dt-maroon-700)!important}
.dt-cart-drawer .total{font-size:1.15rem;font-weight:800;color:var(--dt-maroon-800)}

@media (max-width:980px){.woocommerce ul.products{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.woocommerce div.product form.cart{flex-direction:column;align-items:flex-start}}

/* ==========================================================================
   Blog / content
   ========================================================================== */
.dt-post-card{background:var(--dt-surface);border-radius:var(--dt-radius);overflow:hidden;box-shadow:0 14px 34px rgba(28,4,7,.2)}
.dt-post-card img{aspect-ratio:16/10;object-fit:cover}
.dt-post-card .dt-post-body{padding:24px}
.dt-post-card .dt-post-meta{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--dt-gold-700);font-weight:800;margin-bottom:8px}
.dt-post-card h3{color:var(--dt-ink)}
.dt-post-card p{color:var(--dt-text-on-light);opacity:.8;font-size:.92rem}
.dt-content-area{padding:70px 0}
.dt-content-area article{background:var(--dt-surface);border-radius:var(--dt-radius);padding:44px;color:var(--dt-text-on-light)}
.dt-content-area article h1,.dt-content-area article h2,.dt-content-area article h3{color:var(--dt-maroon-800)}
.dt-content-area .entry-meta{color:var(--dt-gold-700);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px}
.dt-sidebar .widget{background:var(--dt-surface);border-radius:var(--dt-radius);padding:26px;margin-bottom:26px;color:var(--dt-text-on-light)}
.dt-sidebar .widget h2,.dt-sidebar .widget-title{color:var(--dt-maroon-800);font-size:1.1rem;margin-bottom:16px}
.dt-comments{background:var(--dt-surface);border-radius:var(--dt-radius);padding:36px;margin-top:40px;color:var(--dt-text-on-light)}

/* Astrology consultation booking card */
.dt-booking-card{background:var(--dt-surface);border-radius:var(--dt-radius);padding:40px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;color:var(--dt-text-on-light)}
.dt-booking-card h2{color:var(--dt-maroon-800)}
.dt-booking-list li{display:flex;gap:12px;margin-bottom:12px;align-items:flex-start}
.dt-booking-list svg{width:20px;height:20px;color:var(--dt-gold-700);flex-shrink:0;margin-top:2px}
@media (max-width:780px){.dt-booking-card{grid-template-columns:1fr}}

/* Trust bar */
.dt-trustbar{display:flex;justify-content:center;gap:60px;flex-wrap:wrap;padding:34px 0;border-bottom:1px solid var(--dt-border)}
.dt-trustbar div{text-align:center}
.dt-trustbar .n{display:block;font-family:var(--dt-font-display);font-size:2rem;color:var(--dt-accent-light)}
.dt-trustbar .l{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--dt-gold-400)}

/* Back to top */
.dt-to-top{
	position:fixed;bottom:26px;right:26px;width:48px;height:48px;border-radius:50%;z-index:150;
	background:var(--dt-accent);color:var(--dt-maroon-950);display:flex;align-items:center;justify-content:center;
	box-shadow:0 12px 28px rgba(0,0,0,.35);opacity:0;visibility:hidden;transform:translateY(10px);
	transition:all var(--dt-speed) var(--dt-ease);border:0;
}
.dt-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.dt-to-top:hover{transform:translateY(-4px)}

/* ==========================================================================
   Knowledge platform: Deity / Mantra / Festival / Temple hub pages
   ========================================================================== */
.dt-emblem{width:100%;height:100%;color:var(--dt-gold-600)}
.dt-emblem-badge{width:64px;height:64px;flex-shrink:0}
.dt-emblem-badge.lg{width:120px;height:120px}

/* Knowledge hero: emblem + title + focus line + quick facts */
.dt-hub-hero{position:relative;padding:70px 0 50px;overflow:hidden;isolation:isolate}
.dt-hub-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 70% 60% at 50% 0%, rgba(212,164,55,.18), transparent 70%)}
.dt-hub-hero-inner{display:flex;gap:34px;align-items:center;flex-wrap:wrap}
.dt-hub-hero-text{flex:1;min-width:280px}
.dt-hub-hero-text h1{margin-bottom:6px}
.dt-hub-focus{color:var(--dt-gold-300);font-size:1.05rem;opacity:.9}
.dt-hub-facts{display:flex;gap:26px;flex-wrap:wrap;margin-top:22px}
.dt-hub-fact{font-size:.8rem;color:var(--dt-gold-300)}
.dt-hub-fact strong{display:block;color:var(--dt-gold-100,#f7e6bd);font-family:var(--dt-font-display);font-size:1.05rem}
.dt-hub-breadcrumb{font-size:.78rem;color:var(--dt-gold-500);margin-bottom:18px}
.dt-hub-breadcrumb a{color:var(--dt-gold-400)}
.dt-hub-breadcrumb span{opacity:.5;margin:0 6px}

/* Body layout: sticky TOC + article */
.dt-hub-layout{display:grid;grid-template-columns:260px 1fr;gap:44px;align-items:start;padding:50px 0 90px}
.dt-toc{position:sticky;top:128px;background:rgba(212,164,55,.06);border:1px solid var(--dt-border);border-radius:var(--dt-radius);padding:22px}
.dt-toc h4{margin:0 0 12px;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--dt-gold-500)}
.dt-toc ul{margin:0;padding:0}
.dt-toc > ul > li{margin-bottom:4px}
.dt-toc a{display:block;padding:6px 10px;border-radius:8px;font-size:.86rem;color:var(--dt-gold-200);opacity:.85}
.dt-toc a:hover{background:rgba(212,164,55,.1);opacity:1}
.dt-toc ul ul{margin-left:12px;border-left:1px solid var(--dt-border);padding-left:2px}
.dt-toc ul ul a{font-size:.8rem;opacity:.7}

.dt-hub-article{background:var(--dt-surface);border-radius:var(--dt-radius);padding:48px;color:var(--dt-text-on-light)}
.dt-hub-article h2{color:var(--dt-maroon-800);font-size:1.7rem;margin-top:2.2em;padding-top:.3em;border-top:1px solid rgba(0,0,0,.08);scroll-margin-top:128px}
.dt-hub-article h2:first-child{margin-top:0;padding-top:0;border-top:0}
.dt-hub-article h3{color:var(--dt-maroon-700);font-size:1.2rem;margin-top:1.6em;scroll-margin-top:128px}
.dt-hub-article p{color:var(--dt-text-on-light);opacity:.88}
.dt-hub-article ul{list-style:none;margin:0 0 1.2em;padding:0}
.dt-hub-article ul li{position:relative;padding-left:22px;margin-bottom:8px;opacity:.9}
.dt-hub-article ul li::before{content:"◆";position:absolute;left:0;top:2px;color:var(--dt-gold-600);font-size:.7em}
.dt-hub-article table{width:100%;border-collapse:collapse;margin:1.4em 0;border-radius:10px;overflow:hidden;box-shadow:0 4px 18px rgba(0,0,0,.06)}
.dt-hub-article table th{background:var(--dt-maroon-800);color:var(--dt-gold-200);text-align:left;padding:12px 16px;font-size:.86rem}
.dt-hub-article table td{padding:11px 16px;border-bottom:1px solid rgba(0,0,0,.06);font-size:.92rem}
.dt-hub-article table tr:nth-child(even) td{background:var(--dt-cream-dark)}
.dt-hub-article blockquote{border-left:3px solid var(--dt-gold-500);margin:1.6em 0;padding:.4em 1.4em;font-style:italic;color:var(--dt-maroon-700);background:rgba(212,164,55,.06);border-radius:0 10px 10px 0}
.dt-hub-article strong{color:var(--dt-maroon-800)}
.dt-hub-article a{color:var(--dt-maroon-700);text-decoration:underline;text-decoration-color:var(--dt-gold-500)}

/* Mantra box: highlighted devanagari + transliteration + meaning */
.dt-mantra-box{background:linear-gradient(135deg,var(--dt-maroon-800),var(--dt-maroon-950));border-radius:14px;padding:32px;margin:1.6em 0;color:var(--dt-gold-100,#f7e6bd);text-align:center}
.dt-mantra-box .sanskrit{font-family:var(--dt-font-display);font-size:1.5rem;color:var(--dt-gold-200);margin-bottom:8px;line-height:1.6}
.dt-mantra-box .translit{font-style:italic;color:var(--dt-gold-400);font-size:.95rem;margin-bottom:4px}
.dt-mantra-box .meta{display:flex;gap:20px;justify-content:center;margin-top:16px;flex-wrap:wrap;font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:var(--dt-gold-500)}

/* Do / don't twin columns (offerings, vrat guidance) */
.dt-dodont{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:1.4em 0}
.dt-dodont > div{border-radius:12px;padding:20px 22px}
.dt-dodont .do{background:rgba(90,140,70,.08);border:1px solid rgba(90,140,70,.3)}
.dt-dodont .dont{background:rgba(168,20,20,.06);border:1px solid rgba(168,20,20,.25)}
.dt-dodont h4{margin:0 0 10px;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}
.dt-dodont .do h4{color:#3d7a2e}
.dt-dodont .dont h4{color:#a81414}
.dt-dodont ul li::before{display:none}
.dt-dodont ul li{padding-left:0}
@media (max-width:640px){.dt-dodont{grid-template-columns:1fr}}

/* FAQ accordion */
.dt-faq-item{border-bottom:1px solid rgba(0,0,0,.08)}
.dt-faq-item:first-child{border-top:1px solid rgba(0,0,0,.08)}
.dt-faq-q{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 4px;cursor:pointer;font-weight:700;color:var(--dt-maroon-800)}
.dt-faq-q .plus{flex-shrink:0;width:22px;height:22px;border-radius:50%;border:1px solid var(--dt-maroon-700);display:flex;align-items:center;justify-content:center;color:var(--dt-maroon-700);font-size:.9rem;transition:transform .3s var(--dt-ease)}
.dt-faq-item.is-open .dt-faq-q .plus{transform:rotate(45deg)}
.dt-faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--dt-ease)}
.dt-faq-a p{padding:0 4px 18px;opacity:.85}

/* Internal linking row (related mantras/temples/festivals/products) */
.dt-related-row{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px}
.dt-related-chip{flex:0 0 auto;background:var(--dt-cream-dark);border-radius:999px;padding:10px 20px;font-size:.85rem;font-weight:700;color:var(--dt-maroon-800);white-space:nowrap}
.dt-related-chip:hover{background:var(--dt-gold-300)}

/* Archive/hub grid cards for Deity/Mantra/Festival/Temple */
.dt-hub-card{background:var(--dt-surface);border-radius:14px;overflow:hidden;padding:28px 22px;text-align:center;transition:transform .35s var(--dt-ease),box-shadow .35s var(--dt-ease);box-shadow:0 10px 26px rgba(28,4,7,.18)}
.dt-hub-card:hover{transform:translateY(-6px);box-shadow:0 18px 36px rgba(28,4,7,.28)}
.dt-hub-card .dt-emblem-badge{margin:0 auto 16px}
.dt-hub-card h3{color:var(--dt-ink);font-size:1.1rem;margin-bottom:4px}
.dt-hub-card p{color:var(--dt-text-on-light);opacity:.7;font-size:.82rem;margin:0}
.dt-hub-filter{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:44px}
.dt-hub-filter a{padding:9px 18px;border-radius:999px;border:1px solid var(--dt-border);font-size:.82rem;font-weight:700;color:var(--dt-gold-300)}
.dt-hub-filter a.is-active,.dt-hub-filter a:hover{background:var(--dt-gold-500);color:var(--dt-maroon-950);border-color:transparent}

/* Panchang / Muhurat page */
.dt-panchang-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:30px 0}
.dt-panchang-card{background:var(--dt-surface);border-radius:12px;padding:22px;text-align:center}
.dt-panchang-card .lbl{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--dt-gold-700);font-weight:800}
.dt-panchang-card .val{font-family:var(--dt-font-display);font-size:1.3rem;color:var(--dt-maroon-800);margin-top:6px}
.dt-rahukaal-banner{background:linear-gradient(120deg,var(--dt-maroon-700),var(--dt-maroon-900));border-radius:14px;padding:26px 32px;text-align:center;margin:30px 0}
.dt-rahukaal-banner .time{font-family:var(--dt-font-display);font-size:1.8rem;color:var(--dt-gold-200)}
.dt-api-note{background:#fff8e9;border:1px dashed var(--dt-gold-600);border-radius:12px;padding:18px 22px;font-size:.86rem;color:var(--dt-ink);opacity:.9;margin:24px 0}

@media (max-width:980px){
	.dt-hub-layout{grid-template-columns:1fr}
	.dt-toc{position:static;margin-bottom:20px}
	.dt-hub-article{padding:30px 24px}
	.dt-panchang-grid{grid-template-columns:repeat(2,1fr)}
}

/* Fine mobile pass - knowledge hub pages on small phones */
@media (max-width:560px){
	.dt-hub-hero{padding:40px 0 30px}
	.dt-hub-hero-inner{text-align:center;justify-content:center}
	.dt-hub-hero-text{min-width:0}
	.dt-hub-facts{justify-content:center}
	.dt-emblem-badge.lg{width:88px;height:88px}
	.dt-hub-article{padding:24px 16px}
	.dt-hub-article h2{font-size:1.35rem}
	.dt-hub-article h3{font-size:1.05rem}
	.dt-hub-article table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
	.dt-hub-article table th,.dt-hub-article table td{white-space:normal}
	.dt-mantra-box{padding:22px 18px}
	.dt-mantra-box .sanskrit{font-size:1.2rem}
	.dt-mantra-box .meta{gap:10px 16px}
	.dt-panchang-grid{grid-template-columns:1fr 1fr;gap:12px}
	.dt-toc{padding:16px}
	.dt-related-chip{padding:9px 16px;font-size:.8rem}
	.dt-hub-card{padding:22px 14px}
}
