/*
Theme Name:   D2O Jewelry
Theme URI:    https://www.d2o.cn/
Description:  Blocksy child theme for D2O — minimal jewelry aesthetic, pure white canvas, refined WooCommerce. Parent: Blocksy.
Author:       D2O
Template:     blocksy
Version:      1.0.49
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:  d2o-jewelry
*/

/* -------------------------------------------------------------------------
   Design tokens — strict white base, luxury-quiet typography
   References: list/cards (breathing grid), product (gallery + calm summary)
   ------------------------------------------------------------------------- */
:root {
	--d2o-bg: #ffffff;
	--d2o-text: #141414;
	--d2o-muted: #5a5a5a;
	--d2o-faint: #8a8a8a;
	--d2o-border: #e6e6e6;
	--d2o-accent: #6b5b45;
	--d2o-radius: 2px;
	--d2o-product-frame-radius: 10px;
	--d2o-header-h: 4.25rem;
	--d2o-content-max: 1280px;
	--d2o-narrow: 680px;
}

/* Blocksy demo used white as “text color” (palette 8) — restore readable body copy */
:root {
	--theme-text-color: var(--d2o-text);
}

/* Strict white shell (overrides tinted Blocksy / Woo wrappers) */
html {
	background-color: var(--d2o-bg) !important;
	scroll-behavior: smooth;
}

body {
	background-color: var(--d2o-bg) !important;
	color: var(--d2o-text);
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
	font-size: 1rem;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body.boxed,
.site,
#wrapper,
.ct-root,
#main,
main,
.wp-site-blocks,
.woocommerce,
.woocommerce-page .woocommerce,
.woocommerce-page #content,
.woocommerce-cart,
.woocommerce-checkout,
.woocommerce-account {
	background-color: var(--d2o-bg) !important;
}

/* Headings: quiet luxury — not heavy */
h1, h2, h3, h4,
.wp-block-heading,
.woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-weight: 400;
	letter-spacing: 0.06em;
	text-transform: none;
	color: var(--d2o-text);
}

a {
	color: var(--d2o-text);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
	transition: color 0.15s ease, opacity 0.15s ease;
}

a:hover {
	color: var(--d2o-accent);
}

/* Skip link — SEO / accessibility */
.d2o-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 99999;
	padding: 0.75rem 1rem;
	background: var(--d2o-text);
	color: var(--d2o-bg) !important;
	text-decoration: none;
	font-size: 0.875rem;
}

.d2o-skip-link:focus {
	left: 0.5rem;
	top: 0.5rem;
	outline: 2px solid var(--d2o-accent);
	outline-offset: 2px;
}

/* -------------------------------------------------------------------------
   Header & dropdown — Blocksy 2.1.x (from www.d2o.cn live HTML)
   #header.ct-header · #header-menu-1.menu-container · data-dropdown="type-1:simple"
   · .ct-menu-link · .ct-toggle-dropdown-desktop · ul.sub-menu
   · mega: .ct-mega-menu-content-width / [class*="ct-mega-menu"]
   · mobile: #offcanvas.ct-panel · .mobile-menu.menu-container
   ------------------------------------------------------------------------- */

#header.ct-header,
#header.ct-header[data-id="type-1"] {
	background-color: var(--d2o-bg) !important;
	border-bottom: 1px solid var(--d2o-border);
	box-shadow: none;
}

/* Inner pages + blog — solid header in normal document flow (no overlap) */
body.page,
body.blog,
body.archive {
	--has-transparent-header: 0 !important;
}

body.page #header [data-device="desktop"][data-transparent],
body.page #header [data-device="mobile"][data-transparent],
body.blog #header [data-device="desktop"][data-transparent],
body.blog #header [data-device="mobile"][data-transparent],
body.archive #header [data-device="desktop"][data-transparent],
body.archive #header [data-device="mobile"][data-transparent] {
	position: relative !important;
	top: auto !important;
	inset-inline: auto !important;
}

body.page #header.ct-header [data-row="middle"],
body.page #header.ct-header [data-row="bottom"],
body.blog #header.ct-header [data-row="middle"],
body.blog #header.ct-header [data-row="bottom"],
body.single-product #header.ct-header [data-row="middle"],
body.single-product #header.ct-header [data-row="bottom"] {
	background-color: var(--d2o-bg) !important;
}

body.page #main.site-main > .ct-container-full[data-content="normal"],
body.page #main.site-main > .ct-container[data-content="normal"] {
	padding-top: 0;
}

body.page .hero-section[data-type="type-1"] {
	padding-top: clamp(1.25rem, 3vw, 2rem);
	padding-bottom: 0.75rem;
	margin-bottom: 1.25rem;
}

body.page .hero-section .page-title {
	font-size: clamp(1.2rem, 2vw, 1.45rem);
	margin-bottom: 0;
}

body.page .entry-content.is-layout-constrained {
	margin-top: 0;
	padding-top: 0.25rem;
}

#header.ct-header .site-branding a,
#header.ct-header .site-logo-container {
	opacity: 1;
}

/* Desktop primary nav */
#header.ct-header nav.menu-container[data-menu="type-1"] .ct-menu-link,
#header.ct-header #header-menu-1 .ct-menu-link {
	font-size: 0.8125rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--d2o-text);
}

#header.ct-header nav.menu-container[data-menu="type-1"] .ct-menu-link:hover,
#header.ct-header #header-menu-1 .ct-menu-link:hover {
	color: var(--d2o-accent);
}

#header.ct-header .ct-toggle-dropdown-desktop {
	opacity: 0.55;
	margin-inline-start: 0.25em;
	vertical-align: middle;
}

#header.ct-header .ct-toggle-dropdown-desktop .ct-icon {
	display: inline-block;
	vertical-align: middle;
}

#header.ct-header .ct-toggle-dropdown-desktop-ghost {
	background: transparent;
	border: 0;
	padding: 0;
}

/* Shared submenu shell (simple flyout + mega wrapper) */
#header.ct-header .menu-container ul.sub-menu {
	background-color: var(--d2o-bg) !important;
	border: 1px solid var(--d2o-border) !important;
	border-radius: var(--d2o-radius);
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.07);
	padding: 0.5rem 0 !important;
	margin: 0 !important;
	list-style: none;
}

/* Classic nested flyout (no Blocksy mega classes on parent LI) */
#header.ct-header .menu-item-has-children:not([class*="ct-mega-menu"]) > ul.sub-menu {
	min-width: 14rem;
}

/* Blocksy Companion mega panel — one wide column with block content */
#header.ct-header .menu-item[class*="ct-mega-menu"] > ul.sub-menu {
	min-width: min(100vw - 2rem, var(--d2o-content-max));
	max-width: var(--d2o-content-max);
	padding: 1rem 0 !important;
}

#header.ct-header .menu-item[class*="ct-mega-menu"] > ul.sub-menu > li {
	padding: 0;
	margin: 0;
}

#header.ct-header .menu-item[class*="ct-mega-menu"] .sub-menu .entry-content {
	padding: 0 1rem;
	max-width: 100%;
}

#header.ct-header .menu-container ul.sub-menu li {
	border: none;
}

/* Text links inside dropdown (simple submenu items) */
#header.ct-header .menu-container ul.sub-menu a.ct-menu-link {
	display: block;
	padding: 0.55rem 1.25rem !important;
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	line-height: 1.4;
	white-space: nowrap;
}

#header.ct-header .menu-container ul.sub-menu a.ct-menu-link:hover {
	background: rgba(0, 0, 0, 0.03);
	color: var(--d2o-accent);
}

/* -------------------------------------------------------------------------
   Mobile drawer — #offcanvas.ct-panel
   ------------------------------------------------------------------------- */
#offcanvas.ct-panel,
#offcanvas.ct-panel .ct-panel-inner {
	background-color: var(--d2o-bg) !important;
}

#offcanvas.ct-panel .mobile-menu .ct-menu-link {
	font-size: 0.8125rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--d2o-text);
}

#offcanvas.ct-panel .mobile-menu ul.sub-menu {
	background: transparent !important;
	border-inline-start: 2px solid var(--d2o-border);
	padding: 0.25rem 0 0.25rem 0.75rem !important;
	margin: 0.35rem 0 0.5rem !important;
	box-shadow: none;
	border-top: 0;
	border-right: 0;
	border-bottom: 0;
}

#offcanvas.ct-panel .mobile-menu ul.sub-menu a.ct-menu-link {
	white-space: normal;
}

/* Mobile header — visible menu/cart icons on white bar (Blocksy transparent = white icons) */
@media (max-width: 999.98px) {
	#header.ct-header [data-device="mobile"],
	#header.ct-header [data-device="mobile"] [data-row="middle"] {
		background-color: var(--d2o-bg) !important;
	}

	#header.ct-header [data-device="mobile"] [data-row="middle"] > .ct-container {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: 0.75rem;
	}

	#header.ct-header [data-device="mobile"] [data-column="start"] {
		min-width: 0;
	}

	#header.ct-header [data-device="mobile"] [data-column="end"] {
		display: flex !important;
		align-items: center;
		justify-content: flex-end;
		gap: 0.35rem;
		flex-shrink: 0;
	}

	#header.ct-header [data-device="mobile"] .site-title,
	#header.ct-header [data-device="mobile"] .site-branding .site-title {
		font-size: clamp(0.78rem, 3.6vw, 0.95rem);
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	#header.ct-header [data-device="mobile"] .ct-header-trigger,
	#header.ct-header [data-device="mobile"] .ct-cart-item,
	#header.ct-header [data-device="mobile"] .ct-account-item,
	#header.ct-header [data-device="mobile"] .ct-header-search {
		color: var(--d2o-text) !important;
		--theme-icon-color: var(--d2o-text) !important;
		opacity: 1 !important;
		visibility: visible !important;
	}

	#header.ct-header [data-device="mobile"] .ct-header-trigger .ct-icon-container,
	#header.ct-header [data-device="mobile"] .ct-cart-item .ct-icon-container,
	#header.ct-header [data-device="mobile"] .ct-account-item .ct-icon-container {
		color: var(--d2o-text) !important;
		--theme-icon-color: var(--d2o-text) !important;
	}

	#header.ct-header [data-device="mobile"] .ct-header-trigger svg,
	#header.ct-header [data-device="mobile"] .ct-cart-item svg,
	#header.ct-header [data-device="mobile"] .ct-account-item svg {
		fill: currentColor !important;
		color: currentColor !important;
	}

	#header.ct-header [data-device="mobile"] .ct-header-trigger {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		min-width: 2.25rem;
		min-height: 2.25rem;
	}
}

/* Search modal */
#search-modal.ct-panel .ct-panel-content,
#search-modal.ct-panel {
	background-color: var(--d2o-bg) !important;
}

/* Other Blocksy panels / drawer canvas */
.ct-drawer-canvas .ct-panel .ct-panel-content-inner {
	background-color: transparent;
}

/* -------------------------------------------------------------------------
   Footer — white canvas (no dark band)
   ------------------------------------------------------------------------- */
#footer.ct-footer,
#footer.ct-footer [data-row="top"],
#footer.ct-footer [data-row="middle"],
#footer.ct-footer [data-row="bottom"] {
	background-color: var(--d2o-bg) !important;
	color: var(--d2o-text) !important;
	border-top: 1px solid var(--d2o-border);
}

#footer.ct-footer .ct-footer-copyright,
#footer.ct-footer .ct-footer-copyright p {
	color: var(--d2o-muted) !important;
}

.ct-footer [data-row="bottom"] > .ct-container {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-block: 0.85rem 1rem;
}

.ct-footer-copyright .d2o-footer-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.35rem 0.65rem;
	text-align: center;
	font-size: 0.6875rem;
	line-height: 1.5;
	color: var(--d2o-muted);
}

.d2o-footer-meta__sep {
	color: var(--d2o-faint);
}

.d2o-footer-meta__payments {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

a.d2o-pay-badge--airwallex {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.2rem 0.5rem;
	border: 1px solid var(--d2o-border);
	border-radius: var(--d2o-radius);
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--d2o-text);
	background: var(--d2o-bg);
	line-height: 1;
	text-decoration: none;
	transition: color 0.2s ease, border-color 0.2s ease;
}

a.d2o-pay-badge--airwallex:hover {
	color: var(--d2o-accent);
	border-color: var(--d2o-accent);
}

[data-footer*="type-1"] .ct-footer [data-row="top"] li.menu-item > a,
[data-footer*="type-1"] .ct-footer [data-row="top"] li.menu-item > a:visited {
	color: var(--d2o-text) !important;
}

.ct-footer [data-row="top"] .ct-social-box a {
	color: var(--d2o-text) !important;
	--theme-icon-color: var(--d2o-text);
}

/* -------------------------------------------------------------------------
   Footer — single centered row (legal + company + socials), no wrap
   ------------------------------------------------------------------------- */
.ct-footer [data-row="top"] > .ct-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: clamp(0.45rem, 1.2vw, 1rem) clamp(0.65rem, 1.8vw, 1.35rem);
	overflow-x: visible;
	row-gap: 0.45rem;
}

.ct-footer [data-row="top"] > .ct-container::-webkit-scrollbar {
	display: none;
}

/* Flatten Blocksy two-column grid into one flex row */
.ct-footer [data-row="top"] [data-column],
.ct-footer [data-row="top"] nav.footer-menu-inline,
.ct-footer [data-row="top"] ul.menu {
	display: contents;
}

.ct-footer [data-row="top"] li.menu-item {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
}

[data-footer*="type-1"] .ct-footer [data-row="top"] li.menu-item > a,
[data-footer*="type-1"] .ct-footer [data-row="top"] li.menu-item > a:visited {
	font-weight: 600;
	text-transform: uppercase;
	font-size: 11px;
	line-height: 1.3;
	white-space: nowrap;
	color: var(--theme-text-color);
	text-decoration: none;
	padding: 0.1rem 0;
}

.ct-footer [data-row="top"] .ct-footer-socials {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	gap: var(--items-spacing, 15px);
}

.ct-footer [data-row="top"] .ct-footer-socials .ct-social-box {
	display: flex;
	align-items: center;
	gap: var(--items-spacing, 15px);
	margin: 0;
	padding: 0;
}

.ct-footer [data-row="top"] .ct-social-box a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	color: var(--theme-text-color);
	--theme-icon-color: var(--theme-text-color);
	--theme-icon-hover-color: var(--theme-palette-color-1);
}

.ct-footer [data-row="top"] .ct-icon-container {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

.ct-footer [data-row="top"] .ct-icon-container svg {
	fill: currentColor;
}

/* Visual order: legal links → Cookie Policy → About / Contact → socials */
.ct-footer [data-row="top"] #menu-item-1071 { order: 1; }
.ct-footer [data-row="top"] #menu-item-1072 { order: 2; }
.ct-footer [data-row="top"] #menu-item-1073 { order: 3; }
.ct-footer [data-row="top"] #menu-item-1074 { order: 4; }
.ct-footer [data-row="top"] #menu-item-1075 { order: 5; }
.ct-footer [data-row="top"] #menu-item-1076 { order: 6; }
.ct-footer [data-row="top"] #menu-item-1116 { order: 7; }
.ct-footer [data-row="top"] #menu-item-1117 { order: 8; }
.ct-footer [data-row="top"] .ct-footer-socials { order: 9; }

@media (min-width: 1000px) {
	.ct-footer [data-row="top"] > .ct-container {
		overflow-x: visible;
	}
}

/* -------------------------------------------------------------------------
   Content width & vertical rhythm (homepage / editorial blocks)
   ------------------------------------------------------------------------- */
.ct-container,
.alignwide {
	max-width: var(--d2o-content-max);
}

.entry-content > * + *,
.wp-block-post-content > * + * {
	margin-top: 1.25em;
}

.wp-block-group.has-background {
	background-color: var(--d2o-bg) !important;
}

/* -------------------------------------------------------------------------
   WooCommerce — category / shop archives (readable on white)
   ------------------------------------------------------------------------- */
body.tax-product_cat #main,
body.woocommerce-shop #main,
body.tax-product_cat .ct-container[data-sidebar],
body.woocommerce-shop .ct-container[data-sidebar] {
	color: var(--d2o-text);
	--theme-text-color: var(--d2o-text);
	--theme-link-initial-color: var(--d2o-text);
}

body.tax-product_cat .woo-listing-top,
body.woocommerce-shop .woo-listing-top {
	color: var(--d2o-text);
}

body.tax-product_cat .woocommerce-result-count,
body.tax-product_cat .woocommerce-ordering,
body.tax-product_cat .woocommerce-ordering select.orderby,
body.woocommerce-shop .woocommerce-result-count,
body.woocommerce-shop .woocommerce-ordering select.orderby {
	color: var(--d2o-text) !important;
	background-color: var(--d2o-bg) !important;
}

body.tax-product_cat [data-products] .product .entry-meta,
body.tax-product_cat [data-products] .product .entry-meta a,
body.tax-product_cat [data-products] .product .meta-categories a,
body.tax-product_cat [data-products] .product .woocommerce-loop-product__title,
body.tax-product_cat [data-products] .product .woocommerce-loop-product__title a,
body.woocommerce-shop [data-products] .product .entry-meta a,
body.woocommerce-shop [data-products] .product .woocommerce-loop-product__title a {
	color: var(--d2o-text) !important;
	background-color: transparent !important;
}

/* Greenshift “Shop Categories” hero block — white, no pottery demo image */
#gspb_row-id-gsbp-f829157 {
	background-color: var(--d2o-bg) !important;
	background-image: none !important;
	padding-top: clamp(2rem, 5vw, 3.5rem) !important;
	padding-bottom: 1.5rem !important;
}

#gspb_row-id-gsbp-f829157 > .gspb_backgroundOverlay {
	display: none !important;
}

#gspb_row-id-gsbp-f829157 .ct-breadcrumbs,
#gspb_row-id-gsbp-f829157 .ct-breadcrumbs a,
#gspb_row-id-gsbp-f829157 .page-title,
#gspb_row-id-gsbp-f829157 h1,
#gspb_row-id-gsbp-f829157 h2 {
	color: var(--d2o-text) !important;
	--theme-text-color: var(--d2o-text) !important;
	--theme-link-initial-color: var(--d2o-text) !important;
}

#gspb_row-id-gsbp-f829157 .ct-breadcrumbs .last-item {
	color: var(--d2o-muted) !important;
}

/* -------------------------------------------------------------------------
   WooCommerce — shop archive (Graff-like breathing grid)
   ------------------------------------------------------------------------- */
.woocommerce ul.products {
	margin: 0 -0.75rem 2rem;
}

.woocommerce ul.products li.product {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 0.75rem 2.5rem;
	text-align: center;
}

/* Shop / category grids — square frame; image adapts inside (contain, no crop) */
.woocommerce ul.products li.product a.ct-media-container,
.woocommerce ul.products li.product .ct-media-container {
	display: block;
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1 !important;
	min-height: 0 !important;
	height: auto !important;
	overflow: hidden;
	background: #fafafa;
	border: 1px solid var(--d2o-border);
	border-radius: var(--d2o-product-frame-radius);
}

.woocommerce ul.products li.product .ct-media-container img,
.woocommerce ul.products li.product a.ct-media-container img,
.woocommerce ul.products li.product a img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	margin: auto !important;
	padding: 0 !important;
	aspect-ratio: unset !important;
	object-fit: contain !important;
	object-position: center center;
	box-sizing: border-box;
	transform: none !important;
	transition: opacity 0.25s ease;
}

.woocommerce ul.products li.product a:hover .ct-media-container img,
.woocommerce ul.products li.product a:hover img {
	opacity: 0.92;
}

.woocommerce ul.products li.product a img {
	border-radius: 0;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 0.8125rem;
	line-height: 1.5;
	margin-top: 1rem !important;
	padding: 0 0.25rem;
	color: var(--d2o-text);
}

.woocommerce ul.products li.product .price {
	color: var(--d2o-muted) !important;
	font-size: 0.8125rem;
	font-weight: 400;
	margin-top: 0.35rem !important;
}

.woocommerce ul.products li.product .price del {
	opacity: 0.55;
}

[data-products] .product .ct-woo-card-actions,
.woocommerce ul.products li.product .ct-woo-card-actions,
.related.products .ct-woo-card-actions,
.up-sells .ct-woo-card-actions {
	display: none !important;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .add_to_cart_button {
	display: none !important;
}

/* -------------------------------------------------------------------------
   WooCommerce — single product (gallery left, summary right)
   ------------------------------------------------------------------------- */
.single-product .product {
	max-width: var(--d2o-content-max);
	margin-left: auto;
	margin-right: auto;
}

.single-product .product-entry-wrapper {
	position: relative;
}

@media (min-width: 1000px) {
	.single-product .product-entry-wrapper {
		display: flex;
		align-items: flex-start;
	}

	.single-product .product-entry-wrapper > .woocommerce-product-gallery {
		flex: 0 0 var(--product-gallery-width, 50%);
		width: var(--product-gallery-width, 50%);
		max-width: 50%;
	}

	.single-product .product-entry-wrapper > .summary.entry-summary {
		flex: 1 1 auto;
		width: calc(100% - var(--product-gallery-width, 50%));
		margin-inline-start: 40px;
		padding-left: 0;
	}
}

.single-product .woocommerce-product-gallery {
	background: var(--d2o-bg);
}

.single-product .woocommerce-product-gallery .ct-media-container,
.single-product .woocommerce-product-gallery .ct-media-container img {
	aspect-ratio: 1 / 1 !important;
}

.single-product .woocommerce-product-gallery .ct-media-container img {
	object-fit: contain;
	width: 100%;
	height: 100%;
	background: var(--d2o-bg);
}

.single-product .woocommerce-product-gallery__wrapper img {
	border-radius: var(--d2o-radius);
}

.single-product .summary.entry-summary {
	padding-top: 0.5rem;
}

.single-product .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.single-product .woocommerce-variation-price {
	margin: 0.75rem 0 1.25rem;
	color: var(--d2o-text);
}

.single-product .woocommerce-variation-price .price {
	font-size: 1.125rem !important;
	font-weight: 400 !important;
	color: var(--d2o-text) !important;
}

.single-product .product_title {
	font-size: clamp(1.35rem, 2.2vw, 1.85rem);
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.35;
	margin-bottom: 1rem;
	border: none;
	padding: 0;
}

.single-product p.price {
	color: var(--d2o-muted) !important;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	margin-bottom: 1.25rem !important;
}

.single-product .woocommerce-product-details__short-description {
	color: var(--d2o-muted);
	font-size: 0.9375rem;
	line-height: 1.75;
	max-width: 36rem;
}

.single-product form.cart .button,
.single-product .single_add_to_cart_button {
	background: var(--d2o-text) !important;
	color: var(--d2o-bg) !important;
	border: none !important;
	border-radius: var(--d2o-radius);
	font-size: 0.6875rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	padding: 0.95rem 2rem !important;
}

.single-product form.cart .button:hover,
.single-product .single_add_to_cart_button:hover {
	opacity: 0.88;
}

/* Jewelry — hide quantity box; always add 1 piece */
.single-product .ct-cart-actions .quantity,
.single-product form.cart .quantity,
.single-product .ct-floating-bar .quantity {
	display: none !important;
}

.single-product .ct-cart-actions,
.single-product .woocommerce-variation-add-to-cart.variations_button {
	display: block;
}

.single-product .single_add_to_cart_button {
	width: 100%;
	text-align: center;
}

/* Diamond variation — two clickable options, not a dropdown */
.single-product form.variations_form table.variations {
	border: none;
	margin-bottom: 0.5rem;
}

.single-product form.variations_form table.variations tr {
	display: block;
}

.single-product form.variations_form table.variations th.label {
	padding: 0 0 0.65rem;
	text-align: left;
	font-weight: 400;
	font-size: 0.8125rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--d2o-muted);
	border: none;
}

.single-product form.variations_form table.variations td.value {
	padding: 0 0 1.25rem;
	border: none;
}

.single-product .ct-variation-swatches[data-swatches-type="button"] {
	--swatches-gap: 0.65rem;
	--swatch-size: 35px;
	gap: 0.65rem;
}

.single-product .ct-variation-swatches[data-swatches-type="button"] select {
	display: none !important;
}

.single-product .ct-variation-swatches[data-swatches-type="button"] .ct-swatch {
	height: auto;
	min-height: 2.75rem;
	padding: 0.65rem 1.15rem !important;
	font-size: 0.8125rem !important;
	font-weight: 400 !important;
	letter-spacing: 0.03em;
	line-height: 1.35;
	border-radius: var(--d2o-radius) !important;
	border: 1px solid var(--d2o-border) !important;
	background: var(--d2o-bg) !important;
	color: var(--d2o-text) !important;
	--swatch-button-text-color: var(--d2o-text);
	--swatch-button-border-color: var(--d2o-border);
	--swatch-button-background-color: var(--d2o-bg);
}

.single-product .ct-variation-swatches[data-swatches-type="button"] .ct-swatch-container.active .ct-swatch,
.single-product .ct-variation-swatches[data-swatches-type="button"] .ct-swatch-container:not(.ct-out-of-stock):hover .ct-swatch {
	background: var(--d2o-text) !important;
	color: var(--d2o-bg) !important;
	border-color: var(--d2o-text) !important;
}

.single-product .ct-variation-swatches[data-swatches-type="button"] .ct-tooltip {
	display: none;
}

.single-product form.variations_form .reset_variations {
	display: none;
}

.single-product .woocommerce-tabs,
.single-product #reviews {
	border-color: var(--d2o-border);
}

.single-product .woocommerce-tabs ul.tabs li a {
	color: var(--d2o-muted);
	font-size: 0.75rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* Product Description / Additional info tabs — compact prose */
.single-product .woocommerce-Tabs-panel.panel,
.single-product .woocommerce-tabs .panel {
	padding-top: 1.25rem;
	font-size: 0.9375rem;
	line-height: 1.7;
	color: var(--d2o-muted);
}

.single-product .woocommerce-Tabs-panel.panel h2,
.single-product .woocommerce-tabs .panel h2 {
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.03em;
	margin: 1.35rem 0 0.55rem;
	color: var(--d2o-text);
}

.single-product .woocommerce-Tabs-panel.panel h3,
.single-product .woocommerce-tabs .panel h3 {
	font-size: 0.9375rem;
	font-weight: 500;
	margin: 1rem 0 0.4rem;
	color: var(--d2o-text);
}

.single-product .woocommerce-Tabs-panel.panel p,
.single-product .woocommerce-Tabs-panel.panel li,
.single-product .woocommerce-tabs .panel p,
.single-product .woocommerce-tabs .panel li {
	font-size: 0.9375rem;
	line-height: 1.7;
	margin-bottom: 0.75rem;
}

.single-product .woocommerce-Tabs-panel.panel ul,
.single-product .woocommerce-tabs .panel ul {
	padding-left: 1.15rem;
	margin: 0 0 0.85rem;
}

.single-product .woocommerce-Tabs-panel.panel table,
.single-product .woocommerce-tabs .panel table {
	font-size: 0.875rem;
}

/* Blog archive — JEWELRY NEWS, clean white hero (no demo dark image) */
body.blog .hero-section[data-type="type-2"] figure,
body.blog .hero-section[data-type="type-2"] .ct-media-container,
[data-prefix="blog"] .hero-section[data-type="type-2"] figure,
[data-prefix="blog"] .hero-section[data-type="type-2"] .ct-media-container {
	display: none !important;
}

body.blog .hero-section,
[data-prefix="blog"] .hero-section {
	background: var(--d2o-bg) !important;
	min-height: 0 !important;
	padding: clamp(1.25rem, 3vw, 2rem) 1.5rem 1.25rem !important;
	border-bottom: 1px solid var(--d2o-border);
	margin-bottom: 1.5rem;
}

body.blog .hero-section .entry-header,
[data-prefix="blog"] .hero-section .entry-header {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 0.65rem;
}

/* Breadcrumb duplicates page title — hide current item */
body.blog .hero-section .ct-breadcrumbs .last-item,
[data-prefix="blog"] .hero-section .ct-breadcrumbs .last-item {
	display: none !important;
}

body.blog .hero-section .ct-breadcrumbs .ct-separator:last-of-type,
[data-prefix="blog"] .hero-section .ct-breadcrumbs .ct-separator:last-of-type {
	display: none !important;
}

body.blog .hero-section .ct-breadcrumbs,
[data-prefix="blog"] .hero-section .ct-breadcrumbs {
	margin: 0;
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--d2o-muted);
}

body.blog .hero-section .ct-breadcrumbs a,
[data-prefix="blog"] .hero-section .ct-breadcrumbs a {
	color: var(--d2o-muted) !important;
}

body.blog .hero-section[data-type="type-2"]::before,
body.blog .hero-section[data-type="type-2"]::after,
[data-prefix="blog"] .hero-section[data-type="type-2"]::before,
[data-prefix="blog"] .hero-section[data-type="type-2"]::after {
	display: none !important;
}

body.blog .hero-section .page-title,
body.blog .hero-section h1.page-title,
body.blog .hero-section h2.page-title,
[data-prefix="blog"] .hero-section .page-title {
	font-size: clamp(0.95rem, 1.8vw, 1.15rem) !important;
	font-weight: 400;
	letter-spacing: 0.38em;
	text-transform: uppercase;
	color: var(--d2o-text) !important;
	margin: 0 !important;
	line-height: 1.4;
	position: relative;
	z-index: 1;
}

body.blog .hero-section[data-type="type-2"] .ct-breadcrumbs,
[data-prefix="blog"] .hero-section .ct-breadcrumbs {
	font-size: 0.75rem;
	letter-spacing: 0.06em;
}

body.blog .hero-section[data-type="type-2"] .ct-breadcrumbs a,
body.blog .hero-section[data-type="type-2"] .ct-breadcrumbs .last-item,
[data-prefix="blog"] .hero-section .ct-breadcrumbs a,
[data-prefix="blog"] .hero-section .ct-breadcrumbs .last-item {
	color: var(--d2o-muted) !important;
}

body.blog .hero-section[data-type="type-2"] .ct-breadcrumbs .last-item,
[data-prefix="blog"] .hero-section .ct-breadcrumbs .last-item {
	text-transform: uppercase;
	letter-spacing: 0.28em;
}

/* Static / legal pages — compact readable prose */
.page .entry-header .page-title,
[data-prefix="single_page"] .entry-header .page-title {
	font-size: clamp(1.2rem, 2vw, 1.45rem);
	line-height: 1.35;
	margin-bottom: 0.5rem;
}

.page .entry-content,
[data-prefix="single_page"] .entry-content {
	font-size: 0.9375rem;
	line-height: 1.7;
	color: var(--d2o-muted);
	max-width: var(--d2o-narrow);
	margin-inline: auto;
	padding-inline: clamp(1rem, 4vw, 0);
}

.page .entry-content > h1:first-child,
[data-prefix="single_page"] .entry-content > h1:first-child {
	display: block;
	font-size: clamp(1.75rem, 4vw, 2.35rem);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.02em;
	color: var(--d2o-text);
	margin: 0 0 1.15rem;
	text-align: center;
}

.page .entry-content h2,
[data-prefix="single_page"] .entry-content h2 {
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.03em;
	margin: 1.35rem 0 0.55rem;
	color: var(--d2o-text);
}

.page .entry-content h3,
[data-prefix="single_page"] .entry-content h3 {
	font-size: 0.9375rem;
	font-weight: 500;
	margin: 1rem 0 0.4rem;
	color: var(--d2o-text);
}

.page .entry-content p,
.page .entry-content li,
[data-prefix="single_page"] .entry-content p,
[data-prefix="single_page"] .entry-content li {
	font-size: 0.9375rem;
	line-height: 1.7;
	margin-bottom: 0.75rem;
}

.page .entry-content ul,
.page .entry-content ol,
[data-prefix="single_page"] .entry-content ul,
[data-prefix="single_page"] .entry-content ol {
	padding-left: 1.15rem;
	margin: 0 0 0.85rem;
}

.page .entry-content hr,
[data-prefix="single_page"] .entry-content hr {
	margin: 1rem 0;
	border: none;
	border-top: 1px solid var(--d2o-border);
}

.d2o-legal-entity {
	font-size: 0.8125rem !important;
	line-height: 1.6 !important;
	padding: 0.85rem 1rem !important;
	margin: 0 0 1.25rem !important;
	border: 1px solid var(--d2o-border);
	background: #fafafa;
}

.d2o-legal-entity p {
	margin: 0 0 0.65rem !important;
	font-size: inherit !important;
}

.d2o-legal-entity p:last-child {
	margin-bottom: 0 !important;
}

/* Breadcrumbs — subtle, still crawlable in markup */
.woocommerce .woocommerce-breadcrumb {
	font-size: 0.6875rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--d2o-faint) !important;
	margin-bottom: 1.5rem !important;
}

.woocommerce .woocommerce-breadcrumb a {
	color: var(--d2o-muted) !important;
	text-decoration: none;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul {
	border: none;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	border: 1px solid var(--d2o-border);
	color: var(--d2o-text);
	min-width: 2.25rem;
}

/* Cart / checkout — keep white, simple borders */
.woocommerce table.shop_table,
.woocommerce-checkout #payment,
.woocommerce .cart-collaterals .cart_totals {
	border-color: var(--d2o-border) !important;
	background: var(--d2o-bg) !important;
}

/* Block-based Woo (if used) */
.wc-block-grid__product {
	background: transparent !important;
}

.wc-block-grid__product-title {
	font-weight: 400;
	letter-spacing: 0.05em;
	font-size: 0.875rem;
}

/* -------------------------------------------------------------------------
   Forms & focus — accessibility
   ------------------------------------------------------------------------- */
input[type="text"],
input[type="email"],
input[type="search"],
input[type="tel"],
input[type="url"],
textarea,
select {
	border-color: var(--d2o-border);
	border-radius: var(--d2o-radius);
	background: var(--d2o-bg);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 2px solid var(--d2o-accent);
	outline-offset: 2px;
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
	* {
		transition: none !important;
	}
}

/* -------------------------------------------------------------------------
   Homepage landing (.d2o-landing) — jewelry hero, trust, categories
   ------------------------------------------------------------------------- */
.d2o-landing {
	max-width: none;
	margin: 0;
	padding: 0;
}

/* Homepage hero carousel — wide product shots, white canvas, no text */
.d2o-hero-carousel,
.d2o-landing .d2o-hero-carousel {
	position: relative;
	margin: 0 calc(50% - 50vw) 0;
	width: 100vw;
	max-width: 100vw;
	background: #fff;
	overflow: hidden;
}

.d2o-hero-carousel__viewport {
	position: relative;
	width: 100%;
	aspect-ratio: 2.5 / 1;
	max-height: min(44vh, 440px);
	min-height: clamp(180px, 32vw, 320px);
}

.d2o-hero-carousel__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 0.85s ease;
	pointer-events: none;
}

.d2o-hero-carousel__slide.is-active {
	opacity: 1;
	pointer-events: auto;
	z-index: 1;
}

.d2o-hero-carousel__slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center center;
}

.d2o-hero-carousel__dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 1rem;
	z-index: 2;
	display: flex;
	justify-content: center;
	gap: 0.5rem;
}

.d2o-hero-carousel__dots button {
	width: 8px;
	height: 8px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(20, 20, 20, 0.22);
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
}

.d2o-hero-carousel__dots button[aria-selected="true"] {
	background: var(--d2o-text);
	transform: scale(1.15);
}

.d2o-hero-carousel__dots button:focus-visible {
	outline: 2px solid var(--d2o-accent);
	outline-offset: 2px;
}

/* Legacy static hero (hidden if carousel present) */
.d2o-landing .d2o-hero {
	display: none;
}

.d2o-landing .d2o-btn {
	display: inline-block;
	padding: 0.85rem 1.75rem;
	font-size: 0.8rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: var(--d2o-radius);
	border: 1px solid transparent;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.d2o-landing .d2o-btn--primary {
	background: var(--d2o-text);
	color: #fff !important;
	border-color: var(--d2o-text);
}

.d2o-landing .d2o-btn--primary:hover {
	background: #333;
	border-color: #333;
	color: #fff !important;
}

.d2o-landing .d2o-btn--outline {
	background: transparent;
	color: var(--d2o-text) !important;
	border-color: var(--d2o-text);
}

.d2o-landing .d2o-btn--outline:hover {
	background: var(--d2o-text);
	color: #fff !important;
	border-color: var(--d2o-text);
}

.d2o-landing .d2o-btn--ghost {
	background: transparent;
	color: #fff !important;
	border-color: rgba(255, 255, 255, 0.55);
}

.d2o-landing .d2o-btn--ghost:hover {
	border-color: #fff;
	color: #fff !important;
}

.d2o-landing .d2o-trust {
	max-width: var(--d2o-content-max);
	margin: 0 auto;
	padding: 2.5rem 1.5rem;
}

.d2o-landing .d2o-trust__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
}

.d2o-landing .d2o-trust__item h3 {
	font-size: 0.95rem;
	letter-spacing: 0.06em;
	margin: 0.5rem 0 0.35rem;
}

.d2o-landing .d2o-trust__item p {
	font-size: 0.875rem;
	color: var(--d2o-muted);
	margin: 0;
	line-height: 1.55;
}

.d2o-landing .d2o-trust__icon {
	color: var(--d2o-accent);
	font-size: 0.75rem;
}

.d2o-landing .d2o-section,
.d2o-landing .d2o-categories {
	max-width: var(--d2o-content-max);
	margin: 0 auto;
	padding: 1.5rem 1.5rem 2.5rem;
}

.d2o-landing .d2o-split {
	max-width: none;
	margin: 0;
	padding: 3rem 1.5rem;
	background: var(--d2o-bg);
	border-block: 1px solid var(--d2o-border);
}

.d2o-landing .d2o-split .d2o-split__text {
	max-width: var(--d2o-narrow);
	margin: 0 auto;
	text-align: center;
}

.d2o-landing .d2o-split .d2o-btn--primary {
	background: transparent;
	color: var(--d2o-text) !important;
	border-color: var(--d2o-text);
}

.d2o-landing .d2o-split .d2o-btn--primary:hover {
	background: var(--d2o-text);
	color: #fff !important;
	border-color: var(--d2o-text);
}

.d2o-landing .d2o-section__head {
	text-align: center;
	margin-bottom: 1.25rem;
}

.d2o-landing .d2o-section__head h2 {
	font-size: clamp(1.85rem, 3.2vw, 2.35rem);
	letter-spacing: 0.1em;
	margin: 0 0 0.5rem;
}

.d2o-landing .d2o-section__head p {
	color: var(--d2o-muted);
	margin: 0;
	font-size: 0.95rem;
}

/* Homepage featured products — editorial 2-up grid, larger jewelry photos */
body.home .entry-content .woocommerce,
body.page-id-16 .entry-content .woocommerce {
	max-width: 920px;
	margin: 0 auto 1rem;
	padding: 0 1.5rem;
}

body.home .woocommerce ul.products,
body.page-id-16 .woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 2.5rem 2rem !important;
	margin: 0 0 1.5rem !important;
}

body.home .woocommerce ul.products::before,
body.home .woocommerce ul.products::after,
body.page-id-16 .woocommerce ul.products::before,
body.page-id-16 .woocommerce ul.products::after {
	display: none !important;
}

body.home .woocommerce ul.products li.product,
body.page-id-16 .woocommerce ul.products li.product {
	width: 100% !important;
	max-width: none !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 0 1.5rem !important;
}

body.home .woocommerce ul.products li.product a.ct-media-container,
body.page-id-16 .woocommerce ul.products li.product a.ct-media-container,
body.home .woocommerce ul.products li.product .ct-media-container,
body.page-id-16 .woocommerce ul.products li.product .ct-media-container {
	position: relative;
	aspect-ratio: 1 / 1 !important;
	min-height: 0 !important;
	height: auto !important;
	overflow: hidden;
	background: #fafafa;
	border: 1px solid var(--d2o-border);
	border-radius: var(--d2o-product-frame-radius);
}

body.home .woocommerce ul.products li.product .ct-media-container img,
body.page-id-16 .woocommerce ul.products li.product .ct-media-container img,
body.home .woocommerce ul.products li.product a.ct-media-container img,
body.page-id-16 .woocommerce ul.products li.product a.ct-media-container img,
body.home .woocommerce ul.products li.product a img,
body.page-id-16 .woocommerce ul.products li.product a img {
	position: absolute;
	inset: 0;
	padding: 0 !important;
	object-fit: contain !important;
	object-position: center center;
}

body.home .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.page-id-16 .woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 0.875rem !important;
	margin-top: 1.15rem !important;
	letter-spacing: 0.04em;
}

body.home .woocommerce ul.products li.product .price,
body.page-id-16 .woocommerce ul.products li.product .price {
	font-size: 0.875rem !important;
}

@media (max-width: 640px) {
	body.home .woocommerce ul.products,
	body.page-id-16 .woocommerce ul.products {
		grid-template-columns: 1fr !important;
		gap: 2rem !important;
	}
}

.d2o-landing .d2o-products-wrap {
	margin-bottom: 1.5rem;
}

.d2o-landing .d2o-products-wrap ul.products {
	margin: 0 !important;
}

.d2o-landing .d2o-section__cta,
.d2o-section__cta--solo {
	text-align: center;
	font-size: 0.9rem;
	letter-spacing: 0.06em;
	max-width: var(--d2o-content-max);
	margin: 0 auto 1.25rem;
	padding: 0 1.5rem;
}

.d2o-landing .d2o-categories__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
}

.d2o-landing .d2o-cat-card {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 140px;
	padding: 1.5rem 1.75rem;
	border: 1px solid var(--d2o-border);
	text-decoration: none !important;
	transition: border-color 0.2s ease, background 0.2s ease;
}

.d2o-landing .d2o-cat-card:hover {
	border-color: var(--d2o-accent);
	background: #faf9f7;
}

.d2o-landing .d2o-cat-card span {
	font-size: 1.05rem;
	letter-spacing: 0.12em;
	color: var(--d2o-text);
}

.d2o-landing .d2o-cat-card small {
	margin-top: 0.35rem;
	color: var(--d2o-muted);
	font-size: 0.8rem;
}

.d2o-landing .d2o-split__text {
	max-width: var(--d2o-narrow);
	margin: 0 auto;
	text-align: center;
}

.d2o-landing .d2o-split__text h2 {
	font-size: 1.75rem;
	margin-bottom: 1rem;
}

.d2o-landing .d2o-split__list {
	list-style: none;
	padding: 0;
	margin: 1.5rem 0 2rem;
	color: var(--d2o-muted);
}

.d2o-landing .d2o-split__list li {
	padding: 0.35rem 0;
}

.d2o-landing .d2o-split__list li::before {
	content: "— ";
	color: var(--d2o-accent);
}

.d2o-landing .d2o-cta-band {
	max-width: var(--d2o-content-max);
	margin: 0 auto 3rem;
	padding: 3rem 2rem;
	background: var(--d2o-bg);
	color: var(--d2o-text);
	text-align: center;
	border: 1px solid var(--d2o-border);
}

.d2o-landing .d2o-cta-band h2 {
	color: var(--d2o-text) !important;
	font-size: 1.5rem;
	margin: 0 0 0.75rem;
	letter-spacing: 0.06em;
}

.d2o-landing .d2o-cta-band p {
	color: var(--d2o-muted);
	max-width: 28rem;
	margin: 0 auto 1.5rem;
}

.d2o-landing .d2o-cta-band .d2o-btn--ghost {
	background: var(--d2o-text);
	color: #fff !important;
	border-color: var(--d2o-text);
}

.d2o-landing .d2o-cta-band .d2o-btn--ghost:hover {
	background: #333;
	border-color: #333;
	color: #fff !important;
}

.d2o-landing .d2o-btn--on-dark:hover {
	background: #333;
	color: #fff !important;
}

@media (max-width: 900px) {
	.d2o-landing .d2o-trust__grid,
	.d2o-landing .d2o-categories__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 560px) {
	.d2o-hero-carousel__viewport {
		aspect-ratio: 16 / 10;
		max-height: 36vh;
		min-height: 160px;
	}
	.d2o-landing .d2o-trust__grid,
	.d2o-landing .d2o-categories__grid {
		grid-template-columns: 1fr;
	}
}

/* Checkout — Nextend Google / social login */
.d2o-checkout-social-login {
	margin: 0 0 1.25rem;
	padding: 1rem 0 0;
	border-bottom: 1px solid var(--theme-border-color, #e6e6e6);
}
.d2o-checkout-social-login .nsl-container {
	margin-bottom: 0.75rem;
}
