/* Dudjom Treasures Design 1.0 — loaded only when the design is active (body.dtd). */

/* ------------------------------------------------------------ tokens */
body.dtd {
	--dt-ground: #F5EFE3;
	--dt-paper: #FBF8F1;
	--dt-sand: #E9DFCC;
	--dt-tile: #E6DCCB;
	--dt-line: #E2D6C1;
	--dt-line-2: #D8CAB2;
	--dt-ink: #2B211B;
	--dt-text: #3B3029;
	--dt-muted: #5E5048;
	--dt-maroon: #7B2D26;
	--dt-maroon-dark: #5A1F1A;
	--dt-gold: #8A5A12;       /* gold for text on light grounds (AA) */
	--dt-gold-light: #D9AE5F; /* gold for text on dark grounds */
	--dt-deep: #2A1A16;
	--dt-on-deep: #EADFC9;
	--dt-on-deep-muted: #CDBFA8;
	--dt-serif: "Cormorant Garamond", Georgia, serif;
	--dt-sans: "Figtree", system-ui, -apple-system, sans-serif;
	--dt-gutter: clamp(16px, 4vw, 40px);

	/* Re-point Astra's palette so every theme component follows.
	   Colour 5 stays white: Astra uses it for text on buttons. */
	--ast-global-color-0: var(--dt-maroon);
	--ast-global-color-1: var(--dt-maroon-dark);
	--ast-global-color-2: var(--dt-ink);
	--ast-global-color-3: var(--dt-text);
	--ast-global-color-4: var(--dt-ground);
	--ast-global-color-6: var(--dt-sand);
	--ast-global-color-7: var(--dt-deep);
	--ast-global-color-8: var(--dt-ink);

	/* Same for the Elementor kit, so the inner Elementor pages pick up the palette and type. */
	--e-global-color-primary: var(--dt-ink);
	--e-global-color-secondary: var(--dt-maroon);
	--e-global-color-text: var(--dt-text);
	--e-global-color-accent: var(--dt-maroon);
	--e-global-typography-primary-font-family: "Cormorant Garamond";
	--e-global-typography-secondary-font-family: "Cormorant Garamond";
	--e-global-typography-text-font-family: "Figtree";
	--e-global-typography-accent-font-family: "Figtree";

	background: var(--dt-ground);
	color: var(--dt-text);
	-webkit-font-smoothing: antialiased;
}
.dtd .site-content,
.dtd #content,
.dtd .ast-separate-container,
.dtd.ast-separate-container .ast-article-single,
.dtd.ast-separate-container .ast-article-post { background: var(--dt-ground); }

/* ------------------------------------------------------------ type */
body.dtd,
.dtd button,
.dtd input,
.dtd select,
.dtd textarea,
.dtd .main-header-menu,
.dtd .ast-builder-menu-1 .menu-item > .menu-link {
	font-family: var(--dt-sans);
}
.dtd h1, .dtd h2, .dtd h3,
.dtd .entry-content :where(h1, h2, h3),
.dtd .entry-title,
.dtd .elementor-heading-title {
	font-family: var(--dt-serif) !important;
	font-weight: 500;
	color: var(--dt-ink);
	letter-spacing: -0.005em;
	line-height: 1.1;
}
.dtd h4, .dtd h5, .dtd h6 { font-family: var(--dt-sans); color: var(--dt-ink); }
.dtd a { color: var(--dt-maroon); }
.dtd a:hover, .dtd a:focus { color: var(--dt-maroon-dark); }
/* Elementor text pasted with inline fonts (Geist) follows the site type instead. */
.dtd .elementor :is(p, span, li, div)[style*="font-family"] { font-family: var(--dt-sans) !important; }
.dtd .elementor :is(h1, h2, h3, h4)[style*="font-family"],
.dtd .elementor :is(h1, h2, h3, h4) [style*="font-family"] { font-family: var(--dt-serif) !important; }
/* Product titles: Astra Pro paints them with global colour 5 (white) — keep them readable. */
.dtd .single-product .product_title.entry-title,
.dtd.single-product .product_title { color: var(--dt-ink) !important; }

/* ------------------------------------------------------------ buttons */
.dtd .button,
.dtd button.button,
.dtd a.button,
.dtd .single_add_to_cart_button,
.dtd .wp-block-button__link,
.dtd input[type="submit"],
.dtd #place_order,
.dtd .checkout-button,
.dtd .elementor-button,
.dtd .woocommerce-mini-cart__buttons .button {
	background: var(--dt-maroon) !important;
	border: 1px solid var(--dt-maroon) !important;
	color: #FBF8F1 !important;
	border-radius: 999px !important;
	font-family: var(--dt-sans) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: 0.02em !important;
	text-transform: none !important;
	padding: 15px 30px !important;
	line-height: 1.3 !important;
	box-shadow: none !important;
	transition: background-color 0.2s, border-color 0.2s;
}
.dtd .button:hover,
.dtd .single_add_to_cart_button:hover,
.dtd .wp-block-button__link:hover,
.dtd input[type="submit"]:hover,
.dtd #place_order:hover,
.dtd .checkout-button:hover,
.dtd .elementor-button:hover {
	background: var(--dt-maroon-dark) !important;
	border-color: var(--dt-maroon-dark) !important;
	color: #FBF8F1 !important;
}
.dtd .wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent !important;
	color: var(--dt-ink) !important;
	border-color: var(--dt-ink) !important;
}
.dtd .wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--dt-ink) !important;
	color: var(--dt-ground) !important;
}

/* ------------------------------------------------------------ announcement bar */
.dtd-announce {
	background: var(--dt-deep);
	color: var(--dt-on-deep);
	font-family: var(--dt-sans);
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-align: center;
	padding: 10px 16px;
	line-height: 1.5;
}

/* ------------------------------------------------------------ header */
.dtd #masthead,
.dtd .ast-primary-header-bar,
.dtd .main-header-bar,
.dtd .site-above-header-wrap,
.dtd .ast-mobile-header-wrap .ast-primary-header-bar {
	background: var(--dt-ground) !important;
	background-image: none !important;
}
.dtd .ast-primary-header-bar { border-bottom: 1px solid var(--dt-line) !important; }
.dtd.ast-theme-transparent-header #masthead { position: relative; }
.dtd .main-header-menu .menu-item > .menu-link,
.dtd .ast-builder-menu-1 .menu-item > .menu-link {
	color: var(--dt-ink) !important;
	font-size: 15px;
	font-weight: 400;
}
.dtd .main-header-menu .menu-item:hover > .menu-link,
.dtd .main-header-menu .current-menu-item > .menu-link {
	color: var(--dt-maroon) !important;
}
.dtd .main-header-menu .sub-menu {
	background: var(--dt-paper);
	border: 1px solid var(--dt-line);
	box-shadow: 0 12px 30px rgba(42, 26, 22, 0.08);
}
.dtd .ast-header-account-wrap .ast-header-account-link,
.dtd .ast-site-header-cart .astra-icon,
.dtd .ast-header-account svg,
.dtd .ast-site-header-cart svg { color: var(--dt-ink) !important; fill: var(--dt-ink); }
.dtd .ast-site-header-cart .ast-addon-cart-wrap { border-color: transparent !important; }
.dtd .ast-site-header-cart .ast-addon-cart-wrap .count,
.dtd .ast-site-header-cart .astra-icon:after {
	background: var(--dt-maroon) !important;
	color: #FBF8F1 !important;
	border-color: var(--dt-maroon) !important;
}
/* logo + site name (left), like DharmaGifts */
.dtd .site-branding .custom-logo-link img,
.dtd .ast-site-identity .custom-logo { max-height: 76px !important; max-width: none !important; width: auto !important; }
.dtd .ast-site-identity { gap: 12px; align-items: center; }
.dtd .site-title,
.dtd .site-title a {
	font-family: var(--dt-serif) !important;
	font-size: 28px !important;
	font-weight: 500 !important;
	line-height: 1.1 !important;
	color: var(--dt-ink) !important;
	letter-spacing: 0.01em;
	text-transform: none !important;
}
.dtd .site-header .site-description { display: none !important; }
/* break the name between words only ("Dudjom / Treasures"), never mid-word */
.dtd .site-title,
.dtd .site-title a { word-break: normal !important; overflow-wrap: normal !important; hyphens: none !important; }
@media (max-width: 921px) {
	.dtd .ast-site-identity .custom-logo { max-height: 60px !important; }
}
@media (max-width: 544px) {
	.dtd .site-title, .dtd .site-title a { font-size: 21px !important; }
	.dtd .ast-site-identity .custom-logo { max-height: 52px !important; }
	.dtd .ast-mobile-header-wrap .site-header-primary-section-right { gap: 2px; }
}
/* horizontal main menu (centre) */
.dtd .ast-builder-menu-1 .main-header-menu { gap: 4px; align-items: center; }
.dtd .ast-builder-menu-1 .menu-item > .menu-link { padding: 0 14px !important; }

/* "Subscribe" pill added to the end of the main menu */
.dtd .main-header-menu .dtd-menu-cta { display: flex; align-items: center; margin-left: 12px; }
.dtd .main-header-menu .dtd-menu-cta > .menu-link {
	background: var(--dt-maroon);
	color: #FBF8F1 !important;
	border-radius: 999px;
	padding: 10px 22px !important;
	line-height: 1.3 !important;
	font-weight: 600 !important;
	font-size: 14px !important;
}
.dtd .main-header-menu .dtd-menu-cta > .menu-link:hover { background: var(--dt-maroon-dark); color: #FBF8F1 !important; }

/* mobile menu drawer: light panel, dark links */
.dtd #ast-mobile-popup .ast-mobile-popup-inner,
.dtd #ast-mobile-popup .ast-mobile-popup-content,
.dtd #ast-mobile-popup .ast-mobile-popup-header,
.dtd .ast-mobile-header-content { background: var(--dt-paper) !important; }
.dtd #ast-mobile-popup .main-header-menu,
.dtd .ast-mobile-header-content .main-header-menu { background: transparent !important; border: 0 !important; }
.dtd #ast-mobile-popup .menu-item > .menu-link,
.dtd .ast-mobile-header-content .menu-item > .menu-link {
	color: var(--dt-ink) !important;
	font-size: 18px !important;
	padding: 14px 20px !important;
	border-bottom: 1px solid var(--dt-line) !important;
	background: transparent !important;
}
.dtd #ast-mobile-popup .dtd-menu-cta,
.dtd .ast-mobile-header-content .dtd-menu-cta { margin: 20px; }
.dtd #ast-mobile-popup .dtd-menu-cta > .menu-link,
.dtd .ast-mobile-header-content .dtd-menu-cta > .menu-link {
	background: var(--dt-maroon) !important;
	color: #FBF8F1 !important;
	border-radius: 999px;
	text-align: center;
	border: 0 !important;
}
.dtd #ast-mobile-popup .menu-toggle-close,
.dtd #ast-mobile-popup .ast-mobile-popup-header svg,
.dtd .ast-mobile-menu-trigger-minimal svg,
.dtd .menu-toggle svg { color: var(--dt-ink) !important; fill: var(--dt-ink) !important; }

/* ------------------------------------------------------------ cart, checkout, account */
.dtd.woocommerce-cart .site-content,
.dtd.woocommerce-checkout .site-content,
.dtd.woocommerce-account .site-content { padding-top: 24px; }
.dtd .woocommerce table.shop_table,
.dtd .woocommerce-checkout-review-order,
.dtd .cart_totals,
.dtd #order_review,
.dtd .woocommerce-MyAccount-navigation {
	background: var(--dt-paper);
	border: 1px solid var(--dt-line) !important;
	border-radius: 12px;
}
.dtd .woocommerce table.shop_table th,
.dtd .woocommerce table.shop_table td { border-color: var(--dt-line) !important; }
.dtd .woocommerce form .form-row input.input-text,
.dtd .woocommerce form .form-row textarea,
.dtd .woocommerce form .form-row select,
.dtd .select2-container .select2-selection,
.dtd .coupon input.input-text {
	background: #FFFDF8 !important;
	border: 1px solid #C9B9A0 !important;
	border-radius: 8px !important;
	min-height: 48px;
	color: var(--dt-ink);
}
.dtd .woocommerce form .form-row textarea { min-height: 120px; }
.dtd .woocommerce form .form-row label { color: var(--dt-ink); font-weight: 500; }
.dtd .woocommerce-checkout h3,
.dtd .cart_totals h2 { font-size: 28px !important; }
.dtd .woocommerce-info,
.dtd .woocommerce-message {
	background: var(--dt-paper) !important;
	border-top-color: var(--dt-maroon) !important;
	color: var(--dt-text);
}
.dtd .woocommerce-info::before,
.dtd .woocommerce-message::before { color: var(--dt-maroon) !important; }
.dtd .woocommerce-MyAccount-navigation ul { padding: 8px 0; margin: 0; }
.dtd .woocommerce-MyAccount-navigation ul li a { color: var(--dt-ink); padding: 10px 20px; display: block; }
.dtd .woocommerce-MyAccount-navigation ul li.is-active a { color: var(--dt-maroon); font-weight: 600; }

/* single product (the three subscription products) */
.dtd.single-product div.product .price,
.dtd.single-product div.product .subscription-details { color: var(--dt-ink) !important; }
.dtd.single-product div.product .woocommerce-product-gallery__wrapper { border-radius: 12px; overflow: hidden; background: var(--dt-tile); }

/* ------------------------------------------------------------ footer */
.dtd .site-primary-footer-wrap,
.dtd .site-below-footer-wrap,
.dtd .site-above-footer-wrap { background: var(--dt-deep) !important; color: var(--dt-on-deep-muted); }
.dtd .site-primary-footer-wrap { padding: 72px 0 48px !important; }
.dtd .site-primary-footer-wrap .ast-builder-grid-row {
	max-width: 1200px;
	margin: 0 auto;
	padding-inline: var(--dt-gutter);
	box-sizing: border-box;
	align-items: start !important;
	gap: 40px;
}
.dtd .site-footer-primary-section-1,
.dtd .site-footer-primary-section-1 .footer-widget-area,
.dtd .site-footer-primary-section-1 * { text-align: left !important; justify-content: flex-start !important; }
.dtd .site-footer-primary-section-1 .widget { margin-bottom: 14px; }
.dtd .site-footer .widget .wp-block-heading,
.dtd .site-footer-primary-section-1 h2 {
	font-family: var(--dt-serif) !important;
	font-size: 30px !important;
	font-weight: 600 !important;
	letter-spacing: 0.01em;
	text-transform: none;
	color: #FBF8F1 !important;
	margin: 0 !important;
}
.dtd .site-footer-primary-section-1 p { max-width: 440px; font-size: 15px; line-height: 1.65; margin: 0; }
.dtd .site-footer-primary-section-2 {
	display: flex !important;
	flex-direction: column;
	align-items: flex-end !important;
	gap: 24px;
}
.dtd .site-footer-primary-section-2 > * { margin: 0 !important; }
.dtd .site-footer .footer-nav-wrap ul,
.dtd #astra-footer-menu { display: flex; flex-wrap: wrap; gap: 8px 28px; justify-content: flex-end; margin: 0; padding: 0; }
.dtd #astra-footer-menu .menu-link { padding: 0 !important; font-size: 15px; color: var(--dt-on-deep) !important; }
.dtd #astra-footer-menu .menu-link:hover { color: var(--dt-gold-light) !important; }
/* logo above the name in footer column 1 (image block in the first footer widget) */
.dtd .site-footer .dtd-footer-logo { margin: 0 0 6px !important; }
.dtd .site-footer .dtd-footer-logo img { width: 72px; height: auto; display: block; }

/* social icons line up with the footer links (right on desktop, left on phones) */
.dtd .site-footer-primary-section-2 > .ast-builder-layout-element,
.dtd .site-footer-primary-section-2 .ast-footer-social-wrap { width: auto !important; align-self: flex-end; }
.dtd .site-footer-primary-section-2 .footer-social-inner-wrap { display: flex; justify-content: flex-end; gap: 10px; }
/* links inside the footer text (e.g. DharmaGifts.shop) in light gold, readable on the dark footer */
.dtd .site-footer .footer-widget-area p a,
.dtd .site-footer .dtd-footer-sister a {
	color: var(--dt-gold-light) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-color: rgba(217, 174, 95, 0.45);
}

/* social icons: hide any icon with no link set; style the rest as gold outline circles */
.dtd .footer-social-item[href=""],
.dtd .footer-social-item:not([href]) { display: none !important; }
.dtd .ast-footer-social-wrap:not(:has(.footer-social-item:not([href=""]))) { display: none !important; }
.dtd .footer-social-item {
	width: 40px; height: 40px;
	display: inline-flex !important; align-items: center; justify-content: center;
	border: 1px solid #5A433B !important;
	border-radius: 50% !important;
	background: transparent !important;
}
.dtd .footer-social-item svg { fill: var(--dt-on-deep) !important; width: 16px; height: 16px; }
.dtd .footer-social-item:hover { border-color: var(--dt-gold-light) !important; }
.dtd .site-below-footer-wrap { border-top: 1px solid #5A433B !important; padding: 20px 0 !important; }
.dtd .site-below-footer-wrap .ast-builder-grid-row { max-width: 1200px; margin: 0 auto; padding-inline: var(--dt-gutter); box-sizing: border-box; }
.dtd .ast-footer-copyright,
.dtd .ast-footer-copyright p {
	font-size: 13px !important;
	line-height: 1.6;
	color: var(--dt-on-deep-muted) !important;
	margin: 0 !important;
	text-align: center;
}
.dtd .ast-footer-copyright a,
.dtd .ast-footer-copyright span { color: var(--dt-on-deep) !important; }
.dtd .ast-footer-copyright a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #5A433B; }
.dtd .site-footer a:hover { color: var(--dt-gold-light) !important; }
@media (max-width: 921px) {
	.dtd .site-primary-footer-wrap .ast-builder-grid-row { gap: 28px; }
	.dtd .site-primary-footer-wrap .site-footer-section { margin-bottom: 0 !important; }
	.dtd .site-footer-primary-section-2 { align-items: flex-start !important; gap: 0; }
	.dtd .site-footer-primary-section-2 > .ast-builder-layout-element,
	.dtd .site-footer-primary-section-2 .ast-footer-social-wrap { align-self: flex-start; margin-top: 20px !important; }
	.dtd .site-footer-primary-section-2 .footer-social-inner-wrap { justify-content: flex-start; }
	.dtd #astra-footer-menu { justify-content: flex-start; flex-direction: row !important; }
}

/* ------------------------------------------------------------ header menu toggle + dropdown (desktop uses Astra's toggle menu) */
.dtd .menu-toggle.main-header-menu-toggle {
	background: transparent !important;
	border: 1px solid var(--dt-line-2) !important;
	border-radius: 999px !important;
	width: 44px !important; height: 44px !important;
	min-width: 44px;
	padding: 0 !important;
	display: inline-flex !important; align-items: center; justify-content: center;
}
.dtd .ast-button-wrap:has(> .main-header-menu-toggle) { width: auto !important; }
.dtd .menu-toggle.main-header-menu-toggle svg { fill: var(--dt-ink) !important; color: var(--dt-ink) !important; }
.dtd #ast-desktop-toggle-menu {
	background: var(--dt-paper) !important;
	border-top: 1px solid var(--dt-line) !important;
	border-bottom: 1px solid var(--dt-line) !important;
	padding: 20px 0 32px !important;
	box-shadow: 0 24px 40px -28px rgba(42, 26, 22, 0.35);
}
.dtd #ast-desktop-toggle-menu > .menu-item { border: 0 !important; display: flex; justify-content: center; }
.dtd #ast-desktop-toggle-menu > .menu-item > .menu-link {
	font-family: var(--dt-serif) !important;
	font-size: 26px !important;
	font-weight: 500 !important;
	color: var(--dt-ink) !important;
	padding: 8px 24px !important;
	border: 0 !important;
	background: transparent !important;
	text-align: center;
}
.dtd #ast-desktop-toggle-menu > .menu-item > .menu-link:hover,
.dtd #ast-desktop-toggle-menu > .current-menu-item > .menu-link { color: var(--dt-maroon) !important; }
.dtd #ast-desktop-toggle-menu > .dtd-menu-cta { margin: 16px 0 0 !important; }
.dtd #ast-desktop-toggle-menu > .dtd-menu-cta > .menu-link {
	display: inline-block !important;
	width: auto !important;
	font-family: var(--dt-sans) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	background: var(--dt-maroon) !important;
	color: #FBF8F1 !important;
	border-radius: 999px !important;
	padding: 13px 34px !important;
}
.dtd #ast-desktop-toggle-menu > .dtd-menu-cta > .menu-link:hover { background: var(--dt-maroon-dark) !important; color: #FBF8F1 !important; }

/* ------------------------------------------------------------ the design's own footer (dtd_footer) */
.dtd .dtd-footer { background: var(--dt-deep); color: var(--dt-on-deep-muted); font-size: 15px; }
.dtd .dtd-footer__main {
	max-width: 1200px;
	margin: 0 auto;
	padding: 72px var(--dt-gutter) 48px;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 0.8fr);
	gap: 48px;
	align-items: start;
}
.dtd .dtd-footer__brand .widget { margin: 0 0 14px; }
.dtd .dtd-footer__brand .widget:last-child { margin-bottom: 0; }
.dtd .dtd-footer__brand h2 {
	font-family: var(--dt-serif) !important;
	font-size: 30px !important;
	font-weight: 600 !important;
	color: #FBF8F1 !important;
	margin: 0 !important;
	text-align: left !important;
}
.dtd .dtd-footer__brand p { max-width: 440px; margin: 0 0 8px; line-height: 1.65; color: var(--dt-on-deep-muted); text-align: left; }
.dtd .dtd-footer__title {
	margin: 0 0 16px !important;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--dt-gold-light);
}
.dtd .dtd-footer__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.dtd .dtd-footer__col li { margin: 0; }
.dtd .dtd-footer__col a { color: var(--dt-on-deep) !important; text-decoration: none; }
.dtd .dtd-footer__col a:hover { color: var(--dt-gold-light) !important; }
.dtd .dtd-footer__col a span { color: var(--dt-gold-light); font-size: 13px; }
.dtd .dtd-footer__bottom {
	border-top: 1px solid #5A433B;
	padding: 28px var(--dt-gutter) 32px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	text-align: center;
}
.dtd .dtd-footer__bottom p { margin: 0; font-size: 13px; line-height: 1.6; color: var(--dt-on-deep-muted); }
.dtd .dtd-footer__bottom p a { color: var(--dt-on-deep) !important; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #5A433B; }
.dtd .dtd-footer__social {
	width: 44px; height: 44px;
	display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid #5A433B;
	border-radius: 50%;
	color: var(--dt-on-deep) !important;
	transition: border-color 0.2s, color 0.2s;
}
.dtd .dtd-footer__social:hover { border-color: var(--dt-gold-light); color: var(--dt-gold-light) !important; }
@media (max-width: 921px) {
	.dtd .dtd-footer__main { grid-template-columns: 1fr 1fr; gap: 36px; }
	.dtd .dtd-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 544px) {
	.dtd .dtd-footer__main { grid-template-columns: 1fr; padding-top: 56px; }
}

/* ================================================================
   Homepage (page "home-new"), built from blocks with dt-* classes
   ================================================================ */
.dtd .dt-home { color: var(--dt-text); font-size: 17px; line-height: 1.6; }
.dtd .entry-content .dt-home > *,
.dtd .dt-home .wp-block-group,
.dtd .dt-home .wp-block-columns,
.dtd .dt-home .wp-block-image { margin-block-start: 0; margin-block-end: 0; }
.dtd .dt-home p { margin: 0; }
.dtd.dtd-home .entry-header { display: none; }
.dtd.dtd-home .site-content > .ast-container { max-width: none; padding: 0; }
.dtd .dt-wrap {
	max-width: 1200px;
	margin-inline: auto !important;
	padding-inline: var(--dt-gutter);
	box-sizing: border-box;
}
.dtd .dt-section { padding-block: clamp(64px, 9vw, 112px); }
.dtd .dt-center { text-align: center; }
.dtd .dt-eyebrow {
	font-size: 13px !important;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--dt-gold) !important;
	font-weight: 600;
}
.dtd .dt-lede { font-size: 19px; color: var(--dt-muted); max-width: 520px; }
.dtd .dt-muted { color: var(--dt-muted); }
.dtd .dt-small { font-size: 14px; color: var(--dt-muted); }
.dtd .dt-home h2 { font-size: clamp(36px, 4vw, 52px); margin: 0; line-height: 1.08; }
.dtd .dt-home h3 { font-size: 30px; font-weight: 600; margin: 0; }
.dtd .dt-link a {
	font-weight: 600;
	text-decoration: none !important;
	border-bottom: 1px solid currentColor;
	padding-bottom: 2px;
}

/* bands (full-width coloured sections) */
.dtd .dt-band--paper { background: var(--dt-paper); border-block: 1px solid var(--dt-line); }
.dtd .dt-band--sand { background: var(--dt-sand); }
.dtd .dt-band--dark { background: var(--dt-deep); color: var(--dt-on-deep); }
.dtd .dt-band--dark h2,
.dtd .dt-band--dark strong { color: #FBF8F1 !important; }
.dtd .dt-band--dark .dt-eyebrow { color: var(--dt-gold-light) !important; }
.dtd .dt-band--dark .dt-muted,
.dtd .dt-band--dark p { color: var(--dt-on-deep-muted); }

/* section headers */
.dtd .dt-head { display: flex; flex-direction: column; gap: 16px; margin-bottom: 56px !important; max-width: 700px; }
.dtd .dt-head.dt-center { margin-inline: auto !important; align-items: center; }

/* hero */
.dtd .dt-hero { padding-block: clamp(40px, 6vw, 80px); }
.dtd .dt-hero .wp-block-columns { gap: 56px; align-items: center !important; }
.dtd .dt-hero .wp-block-column:first-child { display: flex; flex-direction: column; gap: 22px; }
.dtd .dt-hero h1 {
	font-size: clamp(40px, 4.8vw, 64px) !important;
	line-height: 1.04 !important;
	margin: 0 !important;
}
.dtd .dt-hero h1 em { color: var(--dt-maroon); font-style: italic; }
.dtd .dt-hero .wp-block-buttons { gap: 12px; margin-top: 6px; }
/* arch-topped photo that keeps the photo's own proportions, so nothing is cropped off the sides */
.dtd .dt-arch img {
	width: 100%;
	height: auto !important;
	aspect-ratio: auto !important;
	object-fit: contain;
	border-radius: 400px 400px 12px 12px;
	display: block;
}

/* trust strip */
.dtd .dt-trust { background: var(--dt-paper); border-block: 1px solid var(--dt-line); }
.dtd .dt-trust__list {
	list-style: none;
	margin: 0 auto !important;
	padding-block: 28px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 24px;
}
.dtd .dt-trust__list li { display: flex; gap: 14px; align-items: center; margin: 0; }
.dtd .dt-trust__list svg { color: var(--dt-gold); flex: none; }
.dtd .dt-trust__list strong { display: block; color: var(--dt-ink); font-weight: 600; }
.dtd .dt-trust__list span { display: block; font-size: 14px; color: var(--dt-muted); }

/* endless knot divider between sections */
.dtd .dt-knot {
	display: flex;
	align-items: center;
	gap: 20px;
	max-width: 1200px;
	margin: 0 auto;
	padding: clamp(56px, 7vw, 80px) var(--dt-gutter) 0;
	box-sizing: border-box;
	color: var(--dt-gold);
}
.dtd .dt-knot span { flex: 1 1 auto; height: 1px; background: var(--dt-line-2); }
.dtd .dt-knot svg { flex: none; display: block; }
.dtd .dt-knot + .dt-section { padding-top: clamp(40px, 5vw, 56px); }

/* how it works */
.dtd .dt-steps { gap: 48px !important; }
.dtd .dt-steps .wp-block-column {
	display: flex;
	flex-direction: column;
	gap: 12px;
	border-top: 1px solid var(--dt-line-2);
	padding-top: 28px;
}
.dtd .dt-num { font-family: var(--dt-serif); font-style: italic; font-size: 24px; color: var(--dt-gold); }

/* plans */
.dtd .dt-plans__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
	gap: 24px;
	align-items: stretch;
}
.dtd .dt-plan {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 40px 32px 32px;
	background: var(--dt-ground);
	border: 1px solid var(--dt-line);
	border-radius: 16px;
}
.dtd .dt-plan--popular {
	background: #FFFDF8;
	border: 2px solid var(--dt-maroon);
	box-shadow: 0 18px 40px -24px rgba(42, 26, 22, 0.45);
}
.dtd .dt-plan__badge {
	position: absolute;
	top: -14px;
	left: 32px;
	background: var(--dt-deep);
	color: var(--dt-on-deep);
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 6px 14px;
	border-radius: 999px;
}
.dtd .dt-plan h3 { font-size: 32px !important; }
.dtd .dt-plan__price { color: var(--dt-muted); font-size: 15px; }
.dtd .dt-plan__price span { font-family: var(--dt-serif); font-size: 54px; line-height: 1; color: var(--dt-ink); margin-right: 4px; }
.dtd .dt-plan ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; flex-grow: 1; }
.dtd .dt-plan li { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; margin: 0; }
.dtd .dt-plan li svg { color: var(--dt-gold); flex: none; margin-top: 3px; }
.dtd .dt-plan__line { font-family: var(--dt-serif); font-style: italic; font-size: 20px; color: var(--dt-muted); }
.dtd a.dt-plan__btn {
	display: block;
	text-align: center;
	text-decoration: none;
	font-weight: 600;
	font-size: 15px;
	padding: 14px 20px;
	border-radius: 999px;
	border: 1px solid var(--dt-ink);
	color: var(--dt-ink);
	transition: background-color 0.2s, color 0.2s;
}
.dtd a.dt-plan__btn:hover { background: var(--dt-ink); color: var(--dt-ground); }
.dtd .dt-plan--popular a.dt-plan__btn { background: var(--dt-maroon); border-color: var(--dt-maroon); color: #FBF8F1; }
.dtd .dt-plan--popular a.dt-plan__btn:hover { background: var(--dt-maroon-dark); border-color: var(--dt-maroon-dark); }
.dtd .dt-plans > .dt-small { margin-top: 28px; max-width: 640px; margin-inline: auto; }

/* the incense */
.dtd .dt-incense .wp-block-columns,
.dtd .dt-guide .wp-block-columns { gap: 64px; align-items: center !important; }
.dtd .dt-incense .wp-block-column:last-child,
.dtd .dt-guide .wp-block-column:last-child { display: flex; flex-direction: column; gap: 22px; }
.dtd .dt-lineage { max-width: 860px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 22px; }
.dtd .dt-rounded img { width: 100%; border-radius: 12px; display: block; aspect-ratio: 1 / 1; object-fit: cover; }
.dtd .dt-tall img { aspect-ratio: 4 / 5; object-position: 45% 50%; }
.dtd .dt-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--dt-line); }
.dtd .dt-list li { display: flex; gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--dt-line); margin: 0; }
.dtd .dt-list li > span { font-family: var(--dt-serif); font-size: 22px; color: var(--dt-gold); width: 28px; flex: none; }
.dtd .dt-list strong { color: var(--dt-ink); font-weight: 600; }
.dtd .dt-list p { font-size: 15px; color: var(--dt-muted); }

/* five-minute practice */
.dtd .dt-practice__head { gap: 48px !important; align-items: flex-end !important; margin-bottom: 56px !important; }
.dtd .dt-practice__head .wp-block-column:first-child { display: flex; flex-direction: column; gap: 16px; flex-basis: 60% !important; }
.dtd .dt-practice__steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	border-top: 1px solid #5A433B;
}
.dtd .dt-practice__steps li { display: flex; flex-direction: column; gap: 10px; padding: 28px 24px 8px 0; margin: 0; }
.dtd .dt-practice__steps span { font-family: var(--dt-serif); font-size: 40px; line-height: 1; color: var(--dt-gold-light); }
.dtd .dt-practice__steps p { font-size: 15px; }

/* spiritual guide */
.dtd .dt-quote { margin: 0; display: flex; flex-direction: column; gap: 20px; }
.dtd .dt-quote blockquote { margin: 0; padding: 0; border: 0; display: flex; flex-direction: column; gap: 14px; }
.dtd .dt-quote blockquote p {
	font-family: var(--dt-serif);
	font-style: italic;
	font-size: clamp(21px, 2vw, 25px);
	line-height: 1.4;
	color: var(--dt-ink);
}
.dtd .dt-quote figcaption { font-size: 15px; color: var(--dt-muted); }

/* ------------------------------------------------------------ inner pages (Incense, Subscription, Monastery, Mission) */
.dtd .dt-page-hero { padding-block: clamp(40px, 6vw, 80px); }
.dtd .dt-page-hero--center {
	max-width: 860px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	padding-bottom: clamp(32px, 4vw, 48px);
}
.dtd .dt-page-hero--center h1 { font-size: clamp(42px, 5vw, 66px) !important; line-height: 1.04 !important; margin: 0 !important; }
.dtd .dt-page-hero--center .dt-lede { max-width: 640px; }
.dtd .dt-page-hero--center .wp-block-buttons { justify-content: center; }
.dtd .dt-banner { padding-bottom: clamp(24px, 4vw, 40px); }
.dtd .dt-banner__img img { width: 100%; aspect-ratio: 21 / 9; object-fit: cover; border-radius: 16px; display: block; }

/* text + photo rows */
.dtd .dt-split .wp-block-columns { gap: clamp(36px, 6vw, 72px); align-items: center !important; }
.dtd .dt-split .wp-block-column { display: flex; flex-direction: column; gap: 20px; }
.dtd .dt-split h2 { font-size: clamp(34px, 3.6vw, 46px) !important; }

/* info cards */
.dtd .dt-info-cards {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 20px;
}
.dtd .dt-info-cards--3 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.dtd .dt-info-cards li {
	margin: 0;
	padding: 28px 26px;
	background: var(--dt-ground);
	border: 1px solid var(--dt-line);
	border-top: 3px solid var(--dt-gold);
	border-radius: 14px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.dtd .dt-band--paper .dt-info-cards li { background: #FFFDF8; }
.dtd .dt-info-cards h3 { font-size: 26px !important; margin: 0 !important; }
.dtd .dt-info-cards p { margin: 0; color: var(--dt-muted); font-size: 16px; }

/* five cards: 3 on the first row, 2 wider ones on the second (desktop); 2 + 2 + 1 full-width (tablet) */
@media (min-width: 960px) {
	.dtd .dt-info-cards--5 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.dtd .dt-info-cards--5 li { grid-column: span 2; }
	.dtd .dt-info-cards--5 li:nth-child(n+4) { grid-column: span 3; }
}
@media (min-width: 600px) and (max-width: 959px) {
	.dtd .dt-info-cards--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dtd .dt-info-cards--5 li:last-child { grid-column: 1 / -1; }
}
@media (max-width: 599px) {
	.dtd .dt-info-cards--5 { grid-template-columns: 1fr; }
}

/* photos shown whole, in their own proportions (no cropping) */
.dtd .dt-natural img { aspect-ratio: auto !important; height: auto !important; object-fit: contain !important; }

/* Zangdok Palri: wide aerial photo above two text columns */
.dtd .dt-zangdok { display: flex; flex-direction: column; gap: clamp(28px, 4vw, 48px); }
.dtd .dt-zangdok__img img { border-radius: 16px; }
.dtd .dt-zangdok__text { gap: clamp(28px, 5vw, 64px) !important; }
.dtd .dt-zangdok__text .wp-block-column { display: flex; flex-direction: column; gap: 18px; }
.dtd .dt-zangdok__text h2 { font-size: clamp(34px, 3.6vw, 46px) !important; }

/* check lists */
.dtd .dt-check { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.dtd .dt-check li { position: relative; padding-left: 30px; margin: 0; line-height: 1.5; }
.dtd .dt-check li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 0.35em;
	width: 14px;
	height: 8px;
	border-left: 2px solid var(--dt-gold);
	border-bottom: 2px solid var(--dt-gold);
	transform: rotate(-45deg);
}

/* call-to-action band */
.dtd .dt-cta { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 18px; max-width: 760px; }
.dtd .dt-cta .wp-block-buttons { justify-content: center; margin-top: 6px; }
.dtd .dt-band--dark .dt-small { color: var(--dt-on-deep-muted); }

/* subscription tiers */
.dtd .dt-tiers { display: flex; flex-direction: column; gap: clamp(24px, 4vw, 40px); padding-bottom: clamp(64px, 8vw, 104px); }
.dtd .dt-tier {
	padding: clamp(24px, 4vw, 48px);
	background: var(--dt-paper);
	border: 1px solid var(--dt-line);
	border-radius: 20px;
}
.dtd .dt-tier--popular { border: 2px solid var(--dt-maroon); box-shadow: 0 18px 40px -26px rgba(42, 26, 22, 0.45); }
.dtd .dt-tier .wp-block-columns { gap: clamp(28px, 5vw, 56px); align-items: center !important; }
.dtd .dt-tier .wp-block-column { display: flex; flex-direction: column; gap: 14px; }
.dtd .dt-tier__img img { aspect-ratio: 4 / 3 !important; }
.dtd .dt-tier__head { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.dtd .dt-tier__head .dt-plan__badge { position: static; margin-bottom: 6px; }
.dtd .dt-tier__head h2 { font-size: clamp(34px, 3.4vw, 44px) !important; margin: 0 !important; }
.dtd .dt-tier__tagline { font-family: var(--dt-serif); font-style: italic; font-size: 21px; color: var(--dt-muted); margin: 0; }
.dtd .dt-tier .dt-plan__price { margin: 4px 0 0; }
.dtd .dt-tier__label {
	font-family: var(--dt-sans) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--dt-gold) !important;
	margin: 10px 0 0 !important;
}
.dtd .dt-tier .wp-block-buttons { margin-top: 8px; }
@media (max-width: 781px) {
	.dtd .dt-tier--reverse .wp-block-columns { flex-direction: column-reverse; }
}

/* quote card (Mission) */
.dtd .dt-quote--card {
	padding: clamp(28px, 4vw, 44px);
	background: var(--dt-deep);
	border-radius: 20px;
}
.dtd .dt-quote--card blockquote p { color: #FBF8F1 !important; font-size: clamp(22px, 2.2vw, 28px); }
.dtd .dt-quote--card figcaption { color: var(--dt-gold-light); font-weight: 600; letter-spacing: 0.06em; }

/* stewardship list (Mission) */
.dtd .dt-stewardship { max-width: 860px; }
.dtd .dt-stewardship .dt-check { max-width: 640px; margin: 0 auto; font-size: 17px; }
.dtd .dt-stewardship__close {
	margin-top: 32px !important;
	text-align: center;
	font-family: var(--dt-serif);
	font-style: italic;
	font-size: 24px;
	color: var(--dt-ink);
}
.dtd .dt-faq__more { margin-top: 28px !important; }

/* contact form ([dtd_contact_form]) */
.dtd .dt-form-card {
	max-width: 820px;
	margin: 0 auto 56px !important;
	padding: clamp(28px, 4vw, 48px);
	background: var(--dt-paper);
	border: 1px solid var(--dt-line);
	border-radius: 16px;
	box-shadow: 0 18px 40px -30px rgba(42, 26, 22, 0.45);
}
.dtd .dt-form-card > h2 { font-size: 32px !important; margin: 0 0 20px !important; }
.dtd .dtd-form { display: flex; flex-direction: column; gap: 18px; margin: 0; }
.dtd .dtd-form__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; }
.dtd .dtd-form__field { display: flex; flex-direction: column; gap: 6px; margin: 0 !important; }
.dtd .dtd-form label { font-size: 14px; font-weight: 600; color: var(--dt-ink); }
.dtd .dtd-form label span { font-weight: 400; color: var(--dt-muted); }
.dtd .dtd-form input[type="text"],
.dtd .dtd-form input[type="email"],
.dtd .dtd-form select,
.dtd .dtd-form textarea {
	width: 100%;
	box-sizing: border-box;
	min-height: 50px;
	padding: 12px 16px;
	background: #FFFDF8;
	border: 1px solid #C9B9A0;
	border-radius: 10px;
	font: inherit;
	font-size: 16px;
	color: var(--dt-ink);
}
.dtd .dtd-form textarea { min-height: 160px; resize: vertical; }
.dtd .dtd-form :is(input, select, textarea):focus { outline: 2px solid var(--dt-maroon); outline-offset: 1px; border-color: var(--dt-maroon); }
.dtd .dtd-form__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.dtd .dtd-form__submit { margin: 4px 0 0 !important; }
.dtd .dtd-form__notice { margin: 0 !important; padding: 14px 18px; border-radius: 10px; font-weight: 500; }
.dtd .dtd-form__notice.is-success { background: #EAF1E4; color: #2E4A22; border: 1px solid #C5D6B8; }
.dtd .dtd-form__notice.is-error { background: #F6E4E1; color: #6E211B; border: 1px solid #E3C1BB; }

/* cards (Contact page) */
.dtd .dt-cards { gap: 24px !important; }
.dtd .dt-cards > .wp-block-column { display: flex; }
.dtd .dt-card {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 36px 32px 32px;
	background: var(--dt-paper);
	border: 1px solid var(--dt-line);
	border-radius: 16px;
}
.dtd .dt-card .dt-muted { flex-grow: 1; overflow-wrap: anywhere; }
.dtd .dt-card__icon { color: var(--dt-gold); display: block; }
.dtd .dt-card .wp-block-buttons { margin-top: 6px; }
.dtd .dt-contact h1 { font-size: clamp(40px, 4.6vw, 60px) !important; margin: 0 !important; }
.dtd .dt-contact .dt-head { margin-bottom: 48px !important; }
.dtd .dt-contact__more { padding-block: 32px 96px !important; }

/* FAQ */
.dtd .dt-faq { max-width: 860px; }
.dtd .dt-faq > h2 { margin-bottom: 40px !important; }
.dtd .dt-faq__list { border-top: 1px solid var(--dt-line-2); }
.dtd .dt-faq__list details { border-bottom: 1px solid var(--dt-line-2); }
.dtd .dt-faq__list summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	min-height: 64px;
	padding: 18px 0;
	font-size: 18px;
	font-weight: 500;
	color: var(--dt-ink);
}
.dtd .dt-faq__list summary::-webkit-details-marker { display: none; }
.dtd .dt-faq__list summary::after {
	content: "+";
	font-family: var(--dt-serif);
	font-size: 30px;
	line-height: 1;
	color: var(--dt-gold);
	flex: none;
}
.dtd .dt-faq__list details[open] summary::after { content: "\2212"; }
.dtd .dt-faq__list details p { padding: 0 48px 24px 0; color: var(--dt-muted); }

/* ------------------------------------------------------------ responsive */
@media (max-width: 781px) {
	.dtd .dt-hero .wp-block-columns { flex-direction: column-reverse; }
	.dtd .dt-arch img { border-radius: 240px 240px 12px 12px; }
	.dtd .dt-incense .wp-block-columns,
	.dtd .dt-guide .wp-block-columns,
	.dtd .dt-hero .wp-block-columns { gap: 36px; }
	.dtd .dt-practice__head { gap: 16px !important; margin-bottom: 32px !important; }
	.dtd .dt-faq__list details p { padding-right: 0; }
	.dtd .main-header-menu .dtd-menu-cta { margin-left: 0; }
}
