/* ==========================================================================
   ux.css (1.16.0) — shop bar, instant search & domain finder, plan cards,
   product tabs, header account button and the whole My Account area.
   Built on the theme tokens in style.css (ember, ink, paper, the mono
   "terminal" voice) so it reads as one design.
   ========================================================================== */

:root {
	--sdz-glow: 0 0 0 1px rgba(242, 96, 12, 0.35), 0 18px 50px -18px rgba(242, 96, 12, 0.55);
	--sdz-ink-line: rgba(245, 235, 223, 0.10);
	--sdz-ink-line-2: rgba(245, 235, 223, 0.18);
	--sdz-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* -- Shared bits ------------------------------------------------------------ */
.sdz-path {
	display: inline-flex;
	align-items: center;
	gap: 0.55em;
	margin: 0 0 0.85rem;
	font-family: var(--font-mono);
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	color: var(--ember-dark);
}
.sdz-path--dark { color: var(--gold); }
.sdz-path-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--signal);
	box-shadow: 0 0 0 0 rgba(46, 158, 109, 0.55);
	animation: sdz-pulse 2.4s ease-out infinite;
	flex-shrink: 0;
}
@keyframes sdz-pulse {
	0% { box-shadow: 0 0 0 0 rgba(46, 158, 109, 0.55); }
	70% { box-shadow: 0 0 0 8px rgba(46, 158, 109, 0); }
	100% { box-shadow: 0 0 0 0 rgba(46, 158, 109, 0); }
}

.sdz-kbd {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.6em;
	height: 1.6em;
	padding: 0 0.4em;
	border-radius: 6px;
	border: 1px solid currentColor;
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 600;
	line-height: 1;
	opacity: 0.7;
}

.sdz-cents { font-size: 0.55em; font-weight: 700; vertical-align: 0.55em; margin-left: 0.04em; letter-spacing: 0; }

.sdz-chip-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.45em;
	padding: 0.55em 1em;
	border-radius: var(--radius-pill);
	border: 1.5px solid var(--border);
	background: var(--white);
	color: var(--heading);
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 0.88rem;
	line-height: 1.1;
	cursor: pointer;
	transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}
.sdz-chip-btn .icon { width: 1.05em; height: 1.05em; }
.sdz-chip-btn:hover { border-color: var(--ember); color: var(--ember-dark); transform: translateY(-1px); }
.sdz-chip-btn--solid { background: linear-gradient(135deg, var(--ember), var(--ember-dark)); border-color: transparent; color: var(--white); }
.sdz-chip-btn--solid:hover { color: var(--white); box-shadow: 0 10px 24px -10px rgba(242, 96, 12, 0.7); }

.sdz-pills { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.sdz-pill {
	display: inline-flex;
	align-items: center;
	padding: 0.45em 0.95em;
	border-radius: var(--radius-pill);
	border: 1px solid var(--border);
	background: var(--white);
	color: var(--heading);
	font-family: var(--font-body);
	font-size: 0.86rem;
	font-weight: 600;
	cursor: pointer;
	transition: border-color 0.18s ease, color 0.18s ease, background 0.18s ease;
}
.sdz-pill:hover { border-color: var(--ember); color: var(--ember-dark); background: var(--paper-tint); }

.sdz-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--ember), var(--ember-dark));
	color: var(--white);
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 0.85rem;
	letter-spacing: 0.02em;
	flex-shrink: 0;
	box-shadow: 0 0 0 3px rgba(242, 96, 12, 0.18);
}
.sdz-avatar--lg { width: 46px; height: 46px; font-size: 1rem; }
.sdz-avatar--xl { width: 72px; height: 72px; font-size: 1.5rem; box-shadow: 0 0 0 4px rgba(242, 96, 12, 0.25), 0 0 40px -6px rgba(242, 96, 12, 0.7); }

.sdz-link-arrow {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 0.92rem;
	color: var(--ember-dark);
}
.sdz-link-arrow .icon { width: 1em; height: 1em; transition: transform 0.2s ease; }
.sdz-link-arrow:hover .icon { transform: translateX(3px); }

.sdz-status {
	display: inline-flex;
	align-items: center;
	gap: 0.45em;
	padding: 0.32em 0.8em;
	border-radius: var(--radius-pill);
	font-family: var(--font-mono);
	font-size: 0.74rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: lowercase;
	white-space: nowrap;
	color: var(--text);
	background: var(--paper-tint);
	border: 1px solid var(--border);
}
.sdz-status-dot { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.sdz-status--completed { color: #1e7a52; background: var(--signal-dim); border-color: rgba(46, 158, 109, 0.35); }
.sdz-status--processing { color: #0f5fa8; background: #e6f0fb; border-color: rgba(15, 95, 168, 0.25); }
.sdz-status--on-hold, .sdz-status--pending { color: #8a5a00; background: #fdf3dc; border-color: rgba(232, 163, 61, 0.45); }
.sdz-status--cancelled, .sdz-status--failed, .sdz-status--refunded { color: var(--ember-darker); background: rgba(242, 96, 12, 0.08); border-color: rgba(242, 96, 12, 0.3); }

@media (max-width: 599px) { .sdz-hide-sm { display: none; } }

/* -- Header: search button, account button and menu -------------------------- */
.site-header-actions { gap: 0.6rem; }
.sdz-find-btn,
.sdz-acc-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	height: 44px;
	min-width: 44px;
	padding: 0;
	border-radius: var(--radius-pill);
	border: 1px solid var(--border);
	background: var(--white);
	color: var(--heading);
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 0.92rem;
	white-space: nowrap;
	flex: none;
	cursor: pointer;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}
.sdz-find-btn:hover,
.sdz-acc-btn:hover { border-color: var(--ember); box-shadow: 0 8px 20px -12px rgba(242, 96, 12, 0.6); color: var(--ember-dark); }
.sdz-find-btn .icon,
.sdz-acc-btn > .icon { width: 1.2em; height: 1.2em; }
.sdz-find-btn-label,
.sdz-find-btn .sdz-kbd,
.sdz-acc-btn-label,
.sdz-acc-caret { display: none; }
.sdz-acc-btn--out { display: none; }
.sdz-acc { position: relative; display: none; }
.sdz-acc-btn--in { border-color: transparent; background: transparent; padding: 0; }
.sdz-acc-btn--in:hover { box-shadow: none; }

@media (min-width: 768px) {
	.sdz-acc-btn--out { display: inline-flex; }
	.sdz-acc { display: block; }
}
@media (min-width: 1100px) {
	.sdz-find-btn { justify-content: flex-start; padding: 0 0.6rem 0 1rem; width: 168px; color: var(--text-light); font-family: var(--font-body); font-weight: 500; }
	.sdz-find-btn .icon { color: var(--ember); }
	.sdz-find-btn-label { display: inline; flex: 1; text-align: left; }
	.sdz-find-btn .sdz-kbd { display: inline-flex; }
	.sdz-acc-btn--out { padding: 0 1.1rem 0 0.85rem; }
	.sdz-acc-btn--out .sdz-acc-btn-label { display: inline; }
	.sdz-acc-btn--in { gap: 0.6rem; padding: 0 0.3rem 0 0; }
	.sdz-acc-btn--in .sdz-acc-btn-label { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.15; font-size: 0.92rem; }
	.sdz-acc-btn--in .sdz-acc-btn-label small { font-family: var(--font-mono); font-size: 0.66rem; font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; color: var(--text-light); }
	.sdz-acc-caret { display: inline-flex; color: var(--text-light); transition: transform 0.25s var(--sdz-ease); }
	.sdz-acc-caret .icon { width: 1em; height: 1em; }
	.sdz-acc.is-open .sdz-acc-caret { transform: rotate(180deg); color: var(--ember); }
}
.main-navigation .nav-menu > li > a { white-space: nowrap; }

.sdz-acc-menu {
	position: absolute;
	top: calc(100% + 12px);
	right: -6px;
	z-index: 80;
	width: 300px;
	padding: 0.5rem;
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-lg);
	opacity: 0;
	transform: translateY(-8px) scale(0.98);
	transform-origin: top right;
	transition: opacity 0.18s ease, transform 0.25s var(--sdz-ease);
}
.sdz-acc.is-open .sdz-acc-menu { opacity: 1; transform: none; }
.sdz-acc-menu::before {
	content: "";
	position: absolute;
	top: -7px;
	right: 22px;
	width: 12px;
	height: 12px;
	background: var(--white);
	border-left: 1px solid var(--border);
	border-top: 1px solid var(--border);
	transform: rotate(45deg);
}
.sdz-acc-menu-head {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.85rem 0.8rem 0.95rem;
	margin-bottom: 0.35rem;
	border-radius: var(--radius-sm);
	background: linear-gradient(135deg, var(--paper-tint), #ffe4cc);
}
.sdz-acc-menu-who { min-width: 0; }
.sdz-acc-menu-who strong { display: block; font-family: var(--font-display); color: var(--heading); line-height: 1.25; }
.sdz-acc-menu-who small { display: block; font-size: 0.78rem; color: var(--text-light); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sdz-acc-menu ul { list-style: none; margin: 0; padding: 0; }
.sdz-acc-menu li a,
.sdz-acc-menu-out {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.62rem 0.8rem;
	border-radius: var(--radius-sm);
	color: var(--heading);
	font-weight: 600;
	font-size: 0.93rem;
	transition: background 0.15s ease, color 0.15s ease;
}
.sdz-acc-menu li a .icon { width: 1.15em; height: 1.15em; color: var(--ember); }
.sdz-acc-menu li a:hover { background: var(--paper-tint); color: var(--ember-dark); }
.sdz-acc-menu-out { margin-top: 0.35rem; border-top: 1px solid var(--border); border-radius: 0 0 var(--radius-sm) var(--radius-sm); color: var(--text-light); }
.sdz-acc-menu-out .icon { width: 1.15em; height: 1.15em; }
.sdz-acc-menu-out:hover { color: var(--ember-darker); background: rgba(242, 96, 12, 0.07); }

/* Phone menu account block */
.sdz-macc {
	margin: var(--space-md) var(--space-md) 0;
	padding: 1rem;
	border-radius: var(--radius-md);
	background:
		radial-gradient(120% 140% at 100% 0%, rgba(242, 96, 12, 0.35), transparent 60%),
		var(--ink);
	color: var(--on-dark);
}
.sdz-macc-title { margin: 0 0 0.7rem; font-family: var(--font-mono); font-size: 0.78rem; color: var(--gold); }
.sdz-macc-btns { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; }
.sdz-macc-btns .btn { padding-inline: 0.6rem; }
.sdz-macc-btns .btn-outline { border-color: var(--sdz-ink-line-2) !important; color: var(--on-dark) !important; }
.sdz-macc-who { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; }
.sdz-macc-who strong { display: block; font-family: var(--font-display); color: var(--white); }
.sdz-macc-who small { display: block; color: var(--on-dark-muted); font-size: 0.8rem; word-break: break-all; }
.sdz-macc-links { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem; }
.sdz-macc-links a {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.6rem 0.7rem;
	border-radius: var(--radius-sm);
	background: rgba(245, 235, 223, 0.06);
	border: 1px solid var(--sdz-ink-line);
	color: var(--on-dark);
	font-size: 0.86rem;
	font-weight: 600;
}
.sdz-macc-links a .icon { width: 1.05em; height: 1.05em; color: var(--ember); flex-shrink: 0; }
.mobile-menu > .sdz-macc + nav { padding-top: var(--space-sm); }

/* -- Terminal window --------------------------------------------------------- */
.sdz-term {
	position: relative;
	background:
		radial-gradient(120% 90% at 100% 0%, rgba(242, 96, 12, 0.20), transparent 55%),
		var(--ink);
	border: 1px solid var(--ink-border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-lg);
	color: var(--on-dark);
}
.sdz-term::after {
	content: "";
	position: absolute;
	inset: -1px;
	border-radius: inherit;
	padding: 1px;
	background: linear-gradient(120deg, rgba(242, 96, 12, 0.0), rgba(242, 96, 12, 0.65), rgba(232, 163, 61, 0.0) 60%);
	background-size: 220% 100%;
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	animation: sdz-sheen 6s linear infinite;
	pointer-events: none;
}
@keyframes sdz-sheen { from { background-position: 120% 0; } to { background-position: -120% 0; } }
.sdz-term-bar {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.8rem 1.1rem;
	border-bottom: 1px solid var(--ink-border);
	background: rgba(43, 32, 25, 0.6);
	border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}
.sdz-term-dot { width: 11px; height: 11px; border-radius: 50%; display: inline-block; flex-shrink: 0; }
.sdz-term-dot.is-red { background: #E8574A; }
.sdz-term-dot.is-amber { background: #E8B23D; }
.sdz-term-dot.is-green { background: var(--signal); }
.sdz-term-title {
	margin-left: 0.5rem;
	flex: 1;
	min-width: 0;
	font-family: var(--font-mono);
	font-size: 0.78rem;
	color: var(--on-dark-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.sdz-term-bar .sdz-kbd { color: var(--on-dark-muted); }
.sdz-term-hint {
	margin: 0;
	padding: 0 1.25rem 1.1rem;
	font-family: var(--font-mono);
	font-size: 0.76rem;
	color: var(--on-dark-muted);
}

/* -- Search box ---------------------------------------------------------------- */
.sdz-search {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 1rem 1.1rem;
	padding: 0.3rem 0.3rem 0.3rem 1rem;
	background: rgba(245, 235, 223, 0.06);
	border: 1px solid var(--ink-border);
	border-radius: var(--radius-pill);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.sdz-search:focus-within {
	border-color: var(--ember);
	background: rgba(245, 235, 223, 0.09);
	box-shadow: 0 0 0 4px rgba(242, 96, 12, 0.18), 0 0 34px -8px rgba(242, 96, 12, 0.65);
}
.sdz-search-prompt { font-family: var(--font-mono); font-weight: 600; color: var(--signal); flex-shrink: 0; }
.sdz-search-input {
	flex: 1;
	min-width: 0;
	height: 46px;
	padding: 0;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--on-dark) !important;
	font-family: var(--font-mono);
	font-size: 1rem !important;
	caret-color: var(--signal);
	outline: none;
}
.sdz-search-input::placeholder { color: var(--on-dark-muted); opacity: 0.85; }
.sdz-search-input::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
	width: 18px;
	height: 18px;
	margin: 0 4px;
	cursor: pointer;
	opacity: 0.75;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23BBA894' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") center / 14px no-repeat;
}
.sdz-search-go {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	height: 46px;
	padding: 0 1.25rem;
	border: 0;
	border-radius: var(--radius-pill);
	background: linear-gradient(135deg, var(--ember), var(--ember-dark));
	color: var(--white);
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 0.95rem;
	cursor: pointer;
	flex-shrink: 0;
	box-shadow: 0 8px 22px -10px rgba(242, 96, 12, 0.9);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.sdz-search-go:hover { transform: translateY(-1px); box-shadow: 0 12px 26px -10px rgba(242, 96, 12, 1); }
.sdz-search-go .icon { width: 1.05em; height: 1.05em; }
@media (max-width: 599px) {
	.sdz-search { margin: 0.8rem; }
	.sdz-search-go { width: 46px; padding: 0; }
	.sdz-search-go-text { display: none; }
	.sdz-search-input { font-size: 16px !important; }
}

/* Results dropdown */
.sdz-search-panel {
	position: absolute;
	top: calc(100% + 10px);
	left: -0.6rem;
	right: -0.6rem;
	z-index: 70;
	max-height: min(70vh, 560px);
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 0.6rem;
	background: var(--white);
	color: var(--text);
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-lg), 0 0 0 1px rgba(242, 96, 12, 0.06);
	animation: sdz-drop 0.22s var(--sdz-ease);
}
@keyframes sdz-drop { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.sdz-sr-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	padding: 0.35rem 0.6rem 0.5rem;
	font-family: var(--font-mono);
	font-size: 0.74rem;
	color: var(--text-light);
	text-transform: lowercase;
}
.sdz-sr-head .sdz-kbd { color: var(--text-light); }
.sdz-sr-label {
	margin: 0.6rem 0.6rem 0.4rem;
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ember-dark);
}
.sdz-sr-list { list-style: none; margin: 0; padding: 0; }
.sdz-sr-opt { margin: 0; border-radius: var(--radius-sm); }
.sdz-sr-item {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.8rem;
	padding: 0.55rem 0.6rem;
	border-radius: var(--radius-sm);
	color: var(--heading);
	transition: background 0.12s ease;
}
.sdz-sr-opt.is-active .sdz-sr-item,
.sdz-sr-item:hover { background: var(--paper-tint); }
.sdz-sr-opt.is-active .sdz-sr-item { box-shadow: inset 3px 0 0 var(--ember); }
.sdz-sr-thumb {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	overflow: hidden;
	background: var(--paper-tint);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--ember-dark);
}
.sdz-sr-thumb img { width: 100%; height: 100%; object-fit: cover; }
.sdz-sr-thumb.is-icon { background: linear-gradient(135deg, var(--ember), var(--ember-dark)); color: var(--white); }
.sdz-sr-item.is-option .sdz-sr-thumb.is-icon { background: var(--ink); color: var(--gold); }
.sdz-sr-thumb .icon { width: 1.3em; height: 1.3em; }
.sdz-sr-body { min-width: 0; display: flex; flex-direction: column; gap: 0.1rem; }
.sdz-sr-title { font-family: var(--font-display); font-weight: 600; font-size: 0.98rem; line-height: 1.25; display: flex; align-items: center; gap: 0.45rem; flex-wrap: wrap; }
.sdz-sr-item.is-option .sdz-sr-title { font-family: var(--font-mono); font-size: 0.95rem; }
.sdz-sr-title mark { background: rgba(242, 96, 12, 0.16); color: var(--ember-darker); border-radius: 4px; padding: 0 2px; }
.sdz-sr-badge { font-family: var(--font-mono); font-size: 0.64rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: var(--white); background: linear-gradient(135deg, var(--ember), var(--gold)); padding: 0.15em 0.55em; border-radius: var(--radius-pill); }
.sdz-sr-meta { font-size: 0.8rem; color: var(--text-light); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sdz-sr-meta em { color: var(--ember-darker); font-style: normal; }
.sdz-sr-price { font-family: var(--font-mono); font-weight: 700; font-size: 0.95rem; color: var(--ember-dark); text-align: right; white-space: nowrap; }
.sdz-sr-price small { font-size: 0.72em; font-weight: 600; color: var(--text-light); margin-left: 1px; }
.sdz-sr-all {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	margin: 0.5rem 0.2rem 0.2rem;
	padding: 0.8rem;
	border-radius: var(--radius-sm);
	background: var(--ink);
	color: var(--on-dark);
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 0.93rem;
	transition: background 0.2s ease;
}
.sdz-sr-all .icon { width: 1em; height: 1em; color: var(--ember); transition: transform 0.2s ease; }
.sdz-sr-all:hover { background: var(--ink-soft); color: var(--white); }
.sdz-sr-all:hover .icon { transform: translateX(3px); }
.sdz-sr-start { padding: 0.2rem 0.2rem 0.4rem; }
.sdz-sr-start .sdz-pills { padding: 0 0.5rem 0.3rem; }
.sdz-sr-cats { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 0.45rem; padding: 0 0.4rem; }
.sdz-sr-cat {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	padding: 0.65rem 0.75rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	color: var(--heading);
	transition: border-color 0.15s ease, background 0.15s ease, transform 0.15s ease;
}
.sdz-sr-cat:hover { border-color: var(--ember); background: var(--paper-tint); transform: translateY(-1px); }
.sdz-sr-cat-icon { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 10px; background: linear-gradient(135deg, var(--ember), var(--ember-dark)); color: var(--white); flex-shrink: 0; }
.sdz-sr-cat-icon .icon { width: 1.15em; height: 1.15em; }
.sdz-sr-cat-text { display: flex; flex-direction: column; min-width: 0; }
.sdz-sr-cat-name { font-family: var(--font-display); font-weight: 600; font-size: 0.92rem; line-height: 1.2; }
.sdz-sr-cat-meta { font-family: var(--font-mono); font-size: 0.74rem; color: var(--text-light); }
.sdz-sr-none { padding: 0.9rem 0.8rem 0.4rem; }
.sdz-sr-none p { margin: 0 0 0.6rem; color: var(--text-light); font-size: 0.92rem; }
.sdz-sr-none .sdz-sr-none-title { color: var(--heading); font-family: var(--font-display); font-weight: 600; font-size: 1.02rem; }
.sdz-sr-loading { display: flex; align-items: center; gap: 0.6rem; margin: 0; padding: 1rem; font-family: var(--font-mono); font-size: 0.85rem; color: var(--text-light); }
.sdz-spinner { width: 16px; height: 16px; border: 2px solid var(--ember); border-right-color: transparent; border-radius: 50%; animation: sadomainz-spin 0.7s linear infinite; }

/* The domain you typed */
.sdz-dom { padding: 0.35rem 0.25rem 0.5rem; }
.sdz-dom-note { margin: 0.2rem 0.4rem 0.6rem; font-size: 0.86rem; color: var(--ember-darker); }
.sdz-dom-main {
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr) auto;
	grid-template-areas: "icon body price" "icon body cta";
	align-items: center;
	gap: 0.2rem 0.9rem;
	padding: 0.95rem 1rem;
	border-radius: var(--radius-md);
	background:
		radial-gradient(120% 140% at 100% 0%, rgba(242, 96, 12, 0.35), transparent 60%),
		var(--ink);
	color: var(--on-dark);
	box-shadow: 0 16px 36px -18px rgba(126, 39, 8, 0.8);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.sdz-dom-main:hover, .sdz-dom-main.is-active { transform: translateY(-1px); color: var(--on-dark); box-shadow: var(--sdz-glow); }
.sdz-dom-icon { grid-area: icon; display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 12px; background: rgba(46, 158, 109, 0.16); color: var(--signal); }
.sdz-dom-icon .icon { width: 1.4em; height: 1.4em; }
.sdz-dom-body { grid-area: body; min-width: 0; display: flex; flex-direction: column; }
.sdz-dom-label { font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--gold); }
.sdz-dom-name { font-family: var(--font-mono); font-weight: 600; font-size: 1.12rem; color: var(--white); overflow-wrap: anywhere; }
.sdz-dom-name b { color: var(--ember); font-weight: 700; }
.sdz-dom-price { grid-area: price; justify-self: end; font-family: var(--font-mono); font-weight: 700; color: var(--white); }
.sdz-dom-price small { color: var(--on-dark-muted); font-size: 0.75em; margin-left: 1px; }
.sdz-dom-cta { grid-area: cta; justify-self: end; display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.35rem 0.8rem; border-radius: var(--radius-pill); background: linear-gradient(135deg, var(--ember), var(--ember-dark)); color: var(--white); font-family: var(--font-display); font-weight: 600; font-size: 0.86rem; }
.sdz-dom-cta .icon { width: 1em; height: 1em; }
.sdz-dom-alts { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin: 0.65rem 0.25rem 0.1rem; }
.sdz-dom-alts-label { font-family: var(--font-mono); font-size: 0.72rem; color: var(--text-light); margin-right: 0.2rem; }
.sdz-dom-alt { display: inline-flex; align-items: baseline; gap: 0.1rem; padding: 0.38rem 0.7rem; border-radius: var(--radius-pill); border: 1px dashed rgba(242, 96, 12, 0.45); font-family: var(--font-mono); font-size: 0.82rem; color: var(--heading); background: var(--white); transition: background 0.15s ease, border-color 0.15s ease; }
.sdz-dom-alt b { color: var(--ember-dark); }
.sdz-dom-alt small { margin-left: 0.4rem; color: var(--text-light); font-size: 0.75rem; }
.sdz-dom-alt:hover { background: var(--paper-tint); border-style: solid; color: var(--heading); }
@media (max-width: 479px) {
	.sdz-dom-main { grid-template-columns: 40px minmax(0, 1fr); grid-template-areas: "icon body" "price cta"; }
	.sdz-dom-icon { width: 40px; height: 40px; }
	.sdz-dom-price { justify-self: start; }
}

/* -- Header finder (overlay) ------------------------------------------------- */
.sdz-finder { position: fixed; inset: 0; z-index: 10000; display: flex; justify-content: center; align-items: flex-start; padding: clamp(0.75rem, 8vh, 6rem) 1rem 1rem; }
.sdz-finder[hidden] { display: none; }
.sdz-finder-backdrop { position: absolute; inset: 0; background: rgba(15, 12, 9, 0.55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); opacity: 0; transition: opacity 0.2s ease; }
.sdz-finder-panel { position: relative; width: min(760px, 100%); opacity: 0; transform: translateY(-12px) scale(0.98); transition: opacity 0.2s ease, transform 0.3s var(--sdz-ease); }
.sdz-finder.is-open .sdz-finder-backdrop { opacity: 1; }
.sdz-finder.is-open .sdz-finder-panel { opacity: 1; transform: none; }
body.sdz-finder-open { overflow: hidden; }
.sdz-finder-close { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.3rem 0.4rem 0.3rem 0.5rem; border-radius: var(--radius-pill); border: 1px solid var(--ink-border); background: transparent; color: var(--on-dark-muted); cursor: pointer; flex-shrink: 0; }
.sdz-finder-close:hover { color: var(--white); border-color: var(--ember); }
.sdz-finder-close .icon { width: 1.05em; height: 1.05em; }
/* In the finder the results sit under the box, inside the window: the box's
   pill is drawn by ::before on the first grid row only, so the glow never
   wraps the results. */
.sdz-search--overlay {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 0.5rem;
	background: none;
	border: 0;
	box-shadow: none;
	isolation: isolate;
}
.sdz-search--overlay::before {
	content: "";
	grid-row: 1;
	grid-column: 1 / -1;
	align-self: stretch;
	margin: -0.3rem -0.3rem -0.3rem -1rem;
	border-radius: var(--radius-pill);
	background: rgba(245, 235, 223, 0.06);
	border: 1px solid var(--ink-border);
	z-index: -1;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.sdz-search--overlay:focus-within { background: none; box-shadow: none; }
.sdz-search--overlay:focus-within::before { border-color: var(--ember); background: rgba(245, 235, 223, 0.09); box-shadow: 0 0 0 4px rgba(242, 96, 12, 0.18), 0 0 34px -8px rgba(242, 96, 12, 0.65); }
/* Every first-row part gets its own column on purpose: grid only lets the
   ::before pill overlap them when they are all placed explicitly. */
.sdz-search--overlay .sdz-search-prompt { grid-row: 1; grid-column: 1; }
.sdz-search--overlay .sdz-search-input { grid-row: 1; grid-column: 2; }
.sdz-search--overlay .sdz-search-go { grid-row: 1; grid-column: 3; }
.sdz-search--overlay .sdz-search-panel { position: static; grid-row: 2; grid-column: 1 / -1; margin: 1rem -0.3rem -0.3rem -1rem; max-height: min(64vh, 560px); animation: none; }
@media (max-width: 599px) {
	.sdz-finder { padding: 0; align-items: stretch; }
	.sdz-finder-panel { width: 100%; }
	.sdz-finder .sdz-term { border-radius: 0 0 var(--radius-lg) var(--radius-lg); max-height: 100dvh; overflow-y: auto; }
	.sdz-finder .sdz-term-bar { border-radius: 0; }
	.sdz-search--overlay .sdz-search-panel { max-height: none; }
}

/* -- Shop bar ----------------------------------------------------------------- */
.sdz-catalog .woocommerce-breadcrumb { margin-bottom: var(--space-md); }
.sdz-shopbar { margin-bottom: var(--space-lg); }
.sdz-shopbar-grid {
	position: relative;
	display: grid;
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
	padding: clamp(1.5rem, 4vw, 2.75rem);
	border-radius: var(--radius-lg);
	background:
		radial-gradient(ellipse 60% 90% at 0% 0%, rgba(242, 96, 12, 0.14), transparent 60%),
		radial-gradient(ellipse 50% 80% at 100% 100%, rgba(232, 163, 61, 0.16), transparent 60%),
		var(--white);
	border: 1px solid var(--border);
	box-shadow: var(--shadow-sm);
}
.sdz-shopbar-grid { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 960px) { .sdz-shopbar-grid { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); } }
.sdz-shopbar-copy { min-width: 0; }
.sdz-shopbar-title { font-size: clamp(2rem, 4.4vw, 3.1rem); letter-spacing: -0.02em; margin-bottom: 0.6rem; }
.sdz-shopbar-intro { font-size: 1.05rem; color: var(--text); max-width: 46ch; margin-bottom: 1.1rem; }
.sdz-facts { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.sdz-facts li { padding: 0.4em 0.85em; border-radius: var(--radius-pill); background: var(--paper-tint); border: 1px solid rgba(242, 96, 12, 0.2); font-size: 0.86rem; color: var(--text); }
.sdz-facts strong { font-family: var(--font-mono); color: var(--ember-dark); }
.sdz-shopbar .sdz-term { z-index: 5; }

.sdz-cats { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0.7rem; margin-top: 1rem; }
.sdz-cat {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.8rem;
	padding: 0.8rem 1rem;
	border-radius: var(--radius-md);
	border: 1px solid var(--border);
	background: var(--white);
	color: var(--heading);
	overflow: hidden;
	transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.sdz-cat::after { content: ""; position: absolute; left: 1rem; right: 1rem; bottom: -1px; height: 3px; border-radius: 3px 3px 0 0; background: linear-gradient(90deg, var(--ember), var(--gold)); transform: scaleX(0); transform-origin: left; transition: transform 0.3s ease; }
.sdz-cat:hover { transform: translateY(-2px); border-color: rgba(242, 96, 12, 0.35); box-shadow: 0 14px 30px -18px rgba(242, 96, 12, 0.55); color: var(--heading); }
.sdz-cat:hover::after, .sdz-cat.is-active::after { transform: scaleX(1); }
.sdz-cat.is-active { border-color: var(--ember); background: linear-gradient(135deg, #fff, var(--paper-tint)); box-shadow: 0 14px 30px -18px rgba(242, 96, 12, 0.6); }
.sdz-cat-icon { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 12px; background: var(--paper-tint); color: var(--ember-dark); flex-shrink: 0; transition: background 0.2s ease, color 0.2s ease; }
.sdz-cat-icon .icon { width: 1.3em; height: 1.3em; }
.sdz-cat.is-active .sdz-cat-icon, .sdz-cat:hover .sdz-cat-icon { background: linear-gradient(135deg, var(--ember), var(--ember-dark)); color: var(--white); }
.sdz-cat-text { display: flex; flex-direction: column; min-width: 0; }
.sdz-cat-name { font-family: var(--font-display); font-weight: 600; font-size: 0.98rem; line-height: 1.2; }
.sdz-cat-meta { font-family: var(--font-mono); font-size: 0.76rem; color: var(--text-light); }
@media (max-width: 599px) {
	.sdz-cats { grid-template-columns: 1fr 1fr; gap: 0.5rem; }
	.sdz-cats .sdz-cat:first-child { grid-column: 1 / -1; }
	.sdz-cat { padding: 0.7rem 0.75rem; gap: 0.6rem; }
	.sdz-cat-icon { width: 36px; height: 36px; }
	.sdz-cat-name { font-size: 0.9rem; }
}

.sdz-exts { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 1rem; margin-top: 0.9rem; padding: 0.85rem 1rem; border-radius: var(--radius-md); background: var(--ink); }
.sdz-exts-label { display: inline-flex; align-items: center; gap: 0.45rem; font-family: var(--font-mono); font-size: 0.78rem; color: var(--gold); white-space: nowrap; }
.sdz-exts-label .icon { width: 1.1em; height: 1.1em; }
.sdz-exts-list { display: flex; flex-wrap: wrap; gap: 0.45rem; }
.sdz-ext { display: inline-flex; align-items: baseline; gap: 0.5rem; padding: 0.45rem 0.85rem; border-radius: var(--radius-pill); border: 1px solid var(--ink-border); background: rgba(245, 235, 223, 0.05); color: var(--on-dark); font-family: var(--font-mono); transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease; }
.sdz-ext-name { font-weight: 700; color: var(--white); }
.sdz-ext-price { font-size: 0.82rem; color: var(--on-dark-muted); }
.sdz-ext-price small { font-size: 0.85em; }
.sdz-ext:hover { border-color: var(--ember); background: rgba(242, 96, 12, 0.14); transform: translateY(-1px); color: var(--white); box-shadow: 0 0 22px -6px rgba(242, 96, 12, 0.7); }
.sdz-ext:hover .sdz-ext-price { color: var(--gold); }
@media (max-width: 599px) {
	.sdz-exts { padding: 0.85rem; }
	.sdz-exts-list { display: grid; grid-template-columns: 1fr 1fr; width: 100%; gap: 0.4rem; }
	.sdz-ext { justify-content: space-between; padding: 0.5rem 0.75rem; }
	.sdz-ext-price { font-size: 0.76rem; }
}

.sdz-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem; margin: 0 0 0.25rem; }
.sdz-toolbar .woocommerce-result-count { margin: 0 !important; float: none !important; font-family: var(--font-mono); font-size: 0.8rem; color: var(--text-light); }
.sdz-toolbar .woocommerce-ordering { margin: 0 !important; float: none !important; }
.sdz-toolbar .woocommerce-ordering select { padding: 0.6rem 2.2rem 0.6rem 1rem; border-radius: var(--radius-pill); border: 1px solid var(--border); background-color: var(--white); font-size: 0.9rem; color: var(--heading); }

.sdz-desc-below .woocommerce-products-header { display: none; }
.sdz-catalog ul.products { margin-top: var(--space-md) !important; }

.sdz-about {
	position: relative;
	margin-top: var(--space-2xl);
	padding: clamp(1.5rem, 4vw, 2.75rem);
	border-radius: var(--radius-lg);
	background: var(--white);
	border: 1px solid var(--border);
}
.sdz-about::before { content: ""; position: absolute; left: clamp(1.5rem, 4vw, 2.75rem); top: -1px; width: 90px; height: 4px; border-radius: 0 0 4px 4px; background: linear-gradient(90deg, var(--ember), var(--gold)); }
.sdz-about .page-description, .sdz-about .term-description { max-width: 78ch; }
.sdz-about h2 { font-size: clamp(1.35rem, 2.4vw, 1.75rem); margin-top: 1.6rem; }
.sdz-about h2:first-child { margin-top: 0; }
.sdz-about p, .sdz-about li { font-size: 1.02rem; line-height: 1.75; color: var(--text); }
.sdz-about ul { list-style: none; padding: 0; display: grid; gap: 0.45rem; }
.sdz-about ul li { position: relative; padding-left: 1.8rem; }
.sdz-about ul li::before { content: "\2713"; position: absolute; left: 0; top: 0.3em; width: 1.2rem; height: 1.2rem; display: inline-flex; align-items: center; justify-content: center; font-size: 0.72rem; font-weight: 800; color: #fff; background: linear-gradient(135deg, var(--ember), var(--ember-dark)); border-radius: 50%; }

/* -- Plan cards --------------------------------------------------------------- */
.sdz-plan .pricing-card-body { gap: 0.9rem; padding: 1.4rem 1.4rem 1.3rem; }
.sdz-plan-head { display: flex; align-items: center; gap: 0.85rem; color: var(--heading); }
.sdz-plan-head:hover { color: var(--heading); }
.sdz-plan-thumb, .sdz-plan-icon { flex-shrink: 0; width: 58px; height: 58px; border-radius: 16px; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; }
.sdz-plan-thumb { background: var(--paper-tint); box-shadow: inset 0 0 0 1px var(--border); }
.sdz-plan-thumb img { width: 100%; height: 100%; object-fit: cover; }
.sdz-plan-icon { background: linear-gradient(135deg, var(--ember), var(--ember-dark)); color: var(--white); box-shadow: 0 10px 22px -10px rgba(242, 96, 12, 0.8); }
.sdz-plan-icon .icon { width: 1.6em; height: 1.6em; }
.sdz-plan-heading { display: flex; flex-direction: column; min-width: 0; }
.sdz-plan-kicker { font-family: var(--font-mono); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ember-dark); }
.sdz-plan-title { font-size: 1.22rem !important; line-height: 1.2; margin: 0.1rem 0 0 !important; }
.sdz-plan-head:hover .sdz-plan-title { color: var(--ember-dark); }
.sdz-plan-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.15rem 0.45rem; padding: 0.9rem 1rem; border-radius: var(--radius-md); background: linear-gradient(135deg, var(--paper), var(--paper-tint)); border: 1px dashed rgba(242, 96, 12, 0.3); }
.sdz-plan-from { font-family: var(--font-mono); font-size: 0.78rem; font-weight: 600; color: var(--text-light); }
.sdz-plan-amount, .sdz-plan-amount .woocommerce-Price-amount, .sdz-plan-amount bdi { font-family: var(--font-mono); font-size: 2.05rem; font-weight: 800; color: var(--ember-dark); line-height: 1; letter-spacing: -0.02em; }
.sdz-plan-amount .woocommerce-Price-currencySymbol { font-size: 0.6em; font-weight: 700; vertical-align: 0.38em; margin-right: 0.05em; }
.sdz-plan-period { font-size: 0.86rem; font-weight: 600; color: var(--text-light); }
.sdz-plan-features { margin: 0 !important; }
.sdz-plan .pricing-card-action { display: flex; flex-direction: column; gap: 0.55rem; padding-top: 0.25rem; }
.sdz-plan-more { display: inline-flex !important; align-items: center; justify-content: center; gap: 0.35em; width: auto !important; padding: 0.2rem !important; border: 0 !important; background: none !important; color: var(--text-light) !important; font-size: 0.86rem !important; font-weight: 600; }
.sdz-plan-more .icon { width: 1em; height: 1em; transition: transform 0.2s ease; }
.sdz-plan-more:hover { color: var(--ember-dark) !important; }
.sdz-plan-more:hover .icon { transform: translateX(3px); }
.sdz-plan-badge { display: inline-flex !important; align-items: center; gap: 0.3em; background: linear-gradient(135deg, var(--ember), var(--gold)) !important; box-shadow: 0 8px 18px -8px rgba(242, 96, 12, 0.8); }
.sdz-plan-badge .icon { width: 1em; height: 1em; }
.sdz-plan.is-featured { box-shadow: var(--shadow-md), 0 0 0 1px var(--ember); }
.sdz-plan.is-featured .sdz-plan-price { background: linear-gradient(135deg, #fff3e6, #ffe2c7); border-style: solid; }
.sdz-plan--photos-large .pricing-card-media-link img { aspect-ratio: 16 / 9; }
.sdz-plan--domain .sdz-plan-icon, .sdz-plan--domain .sdz-plan-thumb { box-shadow: inset 0 0 0 1px var(--border), 0 0 0 3px rgba(46, 158, 109, 0.15); }

/* Empty state extras */
.sadomainz-shop-empty .sdz-pills { justify-content: center; margin: 0 0 1.25rem; }
.sadomainz-shop-empty-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem; }

/* -- Product page: tabs and description --------------------------------------- */
.single-product .woocommerce-tabs { margin-top: var(--space-2xl); }
.woocommerce div.product .woocommerce-tabs ul.tabs,
.woocommerce-tabs ul.tabs {
	display: inline-flex !important;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin: 0 0 1.25rem !important;
	padding: 0.35rem !important;
	border: 1px solid var(--border) !important;
	border-radius: var(--radius-pill);
	background: var(--white);
	box-shadow: var(--shadow-sm);
	overflow: visible;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; content: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: var(--radius-pill) !important;
	background: transparent !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.woocommerce-tabs ul.tabs li a {
	display: inline-flex !important;
	align-items: center;
	gap: 0.45rem;
	padding: 0.65rem 1.25rem !important;
	border: 0 !important;
	border-radius: var(--radius-pill);
	font-family: var(--font-display);
	font-weight: 600 !important;
	font-size: 0.95rem;
	color: var(--text) !important;
	transition: background 0.2s ease, color 0.2s ease;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--ember-dark) !important; background: var(--paper-tint); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	background: linear-gradient(135deg, var(--ember), var(--ember-dark));
	color: var(--white) !important;
	box-shadow: 0 10px 22px -10px rgba(242, 96, 12, 0.8);
}
.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce-tabs .woocommerce-Tabs-panel {
	margin: 0 !important;
	padding: clamp(1.5rem, 4vw, 2.75rem) !important;
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-sm);
}
.woocommerce-Tabs-panel > h2:first-child { display: none; }
.woocommerce-Tabs-panel--description { max-width: none; }
.woocommerce-Tabs-panel--description > * { max-width: 78ch; }
.woocommerce-Tabs-panel h2 { font-size: clamp(1.4rem, 2.6vw, 1.9rem); margin-top: 2rem; }
.woocommerce-Tabs-panel h3 { font-size: 1.25rem; margin-top: 1.75rem; padding-left: 0.85rem; border-left: 3px solid var(--ember); }
.woocommerce-Tabs-panel p, .woocommerce-Tabs-panel li { font-size: 1.03rem; line-height: 1.78; color: var(--text); }
.woocommerce-Tabs-panel ul { padding-left: 0; list-style: none; display: grid; gap: 0.4rem; }
.woocommerce-Tabs-panel ul li { position: relative; padding-left: 1.8rem; }
.woocommerce-Tabs-panel ul li::before { content: "\2713"; position: absolute; left: 0; top: 0.32em; width: 1.2rem; height: 1.2rem; display: inline-flex; align-items: center; justify-content: center; font-size: 0.72rem; font-weight: 800; color: #fff; background: linear-gradient(135deg, var(--ember), var(--ember-dark)); border-radius: 50%; }
.woocommerce-Tabs-panel table:not(.woocommerce-product-attributes) {
	width: 100%;
	max-width: 760px;
	margin: 1.25rem 0;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	overflow: hidden;
	font-size: 0.97rem;
}
.woocommerce-Tabs-panel table:not(.woocommerce-product-attributes) th,
.woocommerce-Tabs-panel table:not(.woocommerce-product-attributes) thead td { background: var(--ink); color: var(--gold); font-family: var(--font-mono); font-size: 0.76rem; letter-spacing: 0.06em; text-transform: uppercase; text-align: left; padding: 0.85rem 1rem; }
.woocommerce-Tabs-panel table:not(.woocommerce-product-attributes) td { padding: 0.8rem 1rem; border-top: 1px solid var(--border); color: var(--text); }
.woocommerce-Tabs-panel table:not(.woocommerce-product-attributes) tbody tr:nth-child(even) td { background: #FFFCF8; }
.woocommerce-Tabs-panel table:not(.woocommerce-product-attributes) tbody tr:hover td { background: var(--paper-tint); }
.woocommerce-Tabs-panel table:not(.woocommerce-product-attributes) td:first-child { font-family: var(--font-display); font-weight: 600; color: var(--heading); }
.woocommerce-Tabs-panel .wp-block-table { overflow-x: auto; }
table.woocommerce-product-attributes { border: 0 !important; }
table.woocommerce-product-attributes th { width: 200px; font-family: var(--font-mono); font-size: 0.8rem; color: var(--ember-dark); background: var(--paper-tint) !important; border-radius: var(--radius-sm) 0 0 var(--radius-sm); }
table.woocommerce-product-attributes td { font-family: var(--font-mono); font-size: 0.85rem; line-height: 1.8; }
.product_meta { font-size: 0.85rem; }
.product_meta .tagged_as { display: block; max-height: 4.6em; overflow: hidden; position: relative; -webkit-mask-image: linear-gradient(180deg, #000 60%, transparent); mask-image: linear-gradient(180deg, #000 60%, transparent); }
.product_meta .tagged_as:hover, .product_meta .tagged_as:focus-within { max-height: none; -webkit-mask-image: none; mask-image: none; }
/* Nothing inside the product layout may widen it past the screen. */
.single-product div.product > * { min-width: 0; }
@media (max-width: 599px) {
	.woocommerce-Tabs-panel table:not(.woocommerce-product-attributes) { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; font-size: 0.9rem; }
	.woocommerce-Tabs-panel table:not(.woocommerce-product-attributes) th,
	.woocommerce-Tabs-panel table:not(.woocommerce-product-attributes) td { padding: 0.65rem 0.7rem; white-space: nowrap; }
	.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex !important; flex-wrap: nowrap; overflow-x: auto; border-radius: var(--radius-md); }
	.woocommerce div.product .woocommerce-tabs ul.tabs li a { white-space: nowrap; padding: 0.6rem 1rem !important; }
	table.woocommerce-product-attributes th { width: auto; }
}

/* ==========================================================================
   My Account
   ========================================================================== */
.sdz-account-main { padding-block: clamp(1.5rem, 4vw, 3rem) clamp(2.5rem, 6vw, 4.5rem); }
.sdz-account-main .entry-content { font-size: 1rem; }
.sdz-account-main .entry-content > * + * { margin-top: 0; }
.sdz-account-main .wp-block-breadcrumbs {
	display: inline-flex;
	margin: 0 0 var(--space-md);
	padding: 0.55em 1.2em;
	font-family: var(--font-mono);
	font-size: 0.8rem;
	border-radius: var(--radius-pill);
	background: linear-gradient(135deg, var(--paper-tint), #ffe4cc);
	border: 1.5px solid rgba(242, 96, 12, 0.3);
	color: var(--ember-darker);
}
.sdz-account-main .wp-block-breadcrumbs ol { display: inline-flex; flex-wrap: wrap; gap: 0.45rem; list-style: none; margin: 0; padding: 0; }
.sdz-account-main .wp-block-breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: 0.45rem; opacity: 0.55; }
.sdz-account-main .wp-block-breadcrumbs a { color: var(--ember); font-weight: 700; text-decoration: none; }
.sdz-account-plain-head .entry-title { font-size: clamp(1.7rem, 3.4vw, 2.4rem); }
.sdz-account-main .woocommerce { width: 100%; }

/* Inputs everywhere in the account area */
.sdz-account-main .woocommerce form .input-text,
.sdz-account-main .woocommerce form select,
.sdz-account-main .woocommerce form textarea,
.sdz-account-main .woocommerce form input[type="email"],
.sdz-account-main .woocommerce form input[type="password"],
.sdz-account-main .woocommerce form input[type="text"],
.sdz-account-main .woocommerce form input[type="tel"] {
	width: 100%;
	min-height: 50px;
	padding: 0.8rem 1rem;
	border: 1.5px solid var(--border);
	border-radius: var(--radius-sm);
	background: #FFFDFB;
	font-size: 1rem;
	color: var(--heading);
	transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}
.sdz-account-main .woocommerce form .input-text:focus,
.sdz-account-main .woocommerce form select:focus,
.sdz-account-main .woocommerce form textarea:focus,
.sdz-account-main .woocommerce form input:focus { outline: none; border-color: var(--ember); background: var(--white); box-shadow: 0 0 0 4px rgba(242, 96, 12, 0.14); }
.sdz-account-main .woocommerce form .form-row { margin: 0 0 1rem; padding: 0; }
.sdz-account-main .woocommerce form .form-row label { display: block; margin-bottom: 0.4rem; font-weight: 700; font-size: 0.9rem; color: var(--heading); }
.sdz-account-main .woocommerce form .form-row .required { color: var(--ember); text-decoration: none; }
.sdz-account-main .woocommerce button.button,
.sdz-account-main .woocommerce .button.alt {
	background: linear-gradient(135deg, var(--ember), var(--ember-dark));
	border-color: transparent;
	color: var(--white);
	box-shadow: 0 10px 24px -12px rgba(242, 96, 12, 0.9);
}
.sdz-account-main .woocommerce button.button:hover { background: linear-gradient(135deg, var(--ember), var(--ember-darker)); color: var(--white); transform: translateY(-1px); }

/* WooCommerce core floats */
.sdz-account-main .woocommerce-MyAccount-navigation,
.sdz-account-main .woocommerce-MyAccount-content { float: none !important; width: auto !important; }

/* -- Sign-in gate ---------------------------------------------------------------- */
.sdz-gate { display: grid; gap: clamp(1.25rem, 3vw, 2rem); align-items: start; }
@media (min-width: 960px) { .sdz-gate { grid-template-columns: minmax(0, 1fr) minmax(0, 0.92fr); } }
.sdz-gate-card {
	position: relative;
	padding: clamp(1.4rem, 4vw, 2.5rem);
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-md);
	overflow: hidden;
}
.sdz-gate-card::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 5px; background: linear-gradient(90deg, var(--ember), var(--gold), var(--ember)); background-size: 200% 100%; animation: sdz-bar 5s linear infinite; }
@keyframes sdz-bar { from { background-position: 0 0; } to { background-position: 200% 0; } }
.sdz-gate-head { margin-bottom: 1.4rem; }
.sdz-gate-title { font-size: clamp(1.7rem, 3.4vw, 2.35rem); letter-spacing: -0.02em; margin-bottom: 0.5rem; }
.sdz-gate-intro { color: var(--text); font-size: 1.04rem; margin: 0; max-width: 48ch; }

.sdz-tabs { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 0; padding: 5px; margin-bottom: 1.4rem; border-radius: var(--radius-pill); background: var(--paper-tint); border: 1px solid rgba(242, 96, 12, 0.18); }
.sdz-tabs button { position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; min-height: 48px; padding: 0 0.8rem; border: 0; border-radius: var(--radius-pill); background: transparent; color: var(--text); font-family: var(--font-display); font-weight: 600; font-size: 0.98rem; cursor: pointer; transition: color 0.25s ease; }
.sdz-tabs button .icon { width: 1.15em; height: 1.15em; }
.sdz-tabs button[aria-selected="true"] { color: var(--white); }
.sdz-tabs-glider { position: absolute; z-index: 0; top: 5px; bottom: 5px; left: 5px; width: calc(50% - 5px); border-radius: var(--radius-pill); background: linear-gradient(135deg, var(--ember), var(--ember-dark)); box-shadow: 0 10px 24px -10px rgba(242, 96, 12, 0.9); transition: transform 0.35s var(--sdz-ease); }
.sdz-tabs[data-active="register"] .sdz-tabs-glider { transform: translateX(100%); }
@media (max-width: 420px) { .sdz-tabs button .icon { display: none; } }

.sdz-gate-panel[data-sdz-hidden] { display: none; }
.sdz-gate-panel { animation: sdz-fade 0.3s ease; }
@keyframes sdz-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.sdz-account-main .sdz-gate form.login,
.sdz-account-main .sdz-gate form.register { max-width: none; margin: 0; padding: 0; border: 0; background: none; border-radius: 0; }
.sdz-login-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem; margin: 0.25rem 0 1.1rem; }
.sdz-login-row .woocommerce-form-login__rememberme { display: inline-flex !important; align-items: center; gap: 0.5rem; margin: 0 !important; font-weight: 600 !important; font-size: 0.92rem !important; color: var(--text) !important; }
.sdz-login-row .woocommerce-form-login__rememberme { flex: none; white-space: nowrap; }
.woocommerce .sdz-gate form.woocommerce-form-login .sdz-login-row input[type="checkbox"] { flex: none; width: 18px !important; height: 18px; margin: 0 !important; padding: 0 !important; accent-color: var(--ember); }

/* Links inside the account components are buttons and tiles, not text links. */
.sdz-account-main .entry-content a.btn,
.sdz-account-main .entry-content .sdz-gate-side a,
.sdz-account-main .entry-content .sdz-acc-page a,
.sdz-account-main .entry-content .sdz-popular a,
.sdz-account-main .entry-content .sdz-forgot,
.sdz-account-main .entry-content .wp-block-breadcrumbs a { text-decoration: none; }
.sdz-forgot { font-weight: 700; font-size: 0.9rem; color: var(--ember-dark); }
.sdz-account-main .sdz-login-submit { margin: 0 !important; }
.sdz-account-main .sdz-login-submit .button {
	display: flex !important;
	width: 100%;
	min-height: 54px;
	justify-content: center;
	gap: 0.5rem;
	font-size: 1.05rem !important;
	border-radius: var(--radius-pill) !important;
}
.sdz-login-submit .button .icon { width: 1.1em; height: 1.1em; transition: transform 0.2s ease; }
.sdz-login-submit .button:hover .icon { transform: translateX(4px); }
.sdz-gate-note { display: flex; gap: 0.6rem; align-items: flex-start; padding: 0.85rem 1rem; border-radius: var(--radius-sm); background: var(--signal-dim); color: #1e5c40; font-size: 0.93rem; }
.sdz-gate-note .icon { width: 1.2em; height: 1.2em; flex-shrink: 0; margin-top: 0.1em; color: var(--signal); }
.sdz-gate-switch { margin: 1.1rem 0 0; text-align: center; font-size: 0.95rem; color: var(--text-light); }
.sdz-gate-switch a { font-weight: 700; color: var(--ember-dark); }
.sdz-gate .woocommerce-privacy-policy-text p { font-size: 0.82rem; color: var(--text-light); line-height: 1.55; }

/* Login Security PRO pieces, recoloured to the brand */
.sdz-gate .dflsp-math { background: var(--paper) !important; border: 1px dashed rgba(242, 96, 12, 0.4) !important; border-radius: var(--radius-sm) !important; }
.sdz-gate .dflsp-math-label { color: var(--heading) !important; font-family: var(--font-display); }
.sdz-gate .dflsp-math-eq { background: linear-gradient(135deg, var(--ember), var(--ember-dark)) !important; box-shadow: 0 6px 14px -7px rgba(242, 96, 12, 0.9) !important; font-family: var(--font-mono); }
.sdz-account-main .sdz-gate .dflsp-math input { border-color: var(--border) !important; border-radius: var(--radius-sm) !important; background: var(--white); }
.sdz-account-main .sdz-gate .dflsp-math input:focus { border-color: var(--ember) !important; box-shadow: 0 0 0 4px rgba(242, 96, 12, 0.14) !important; }
.sdz-login-alt { margin-top: 0.9rem; }
.sdz-gate .dflsp-pk-login-wrap, .sdz-gate .dflsp-magic-wrap { margin: 0.6rem 0 0 !important; }
.sdz-account-main .sdz-gate #dflsp-pk-login,
.sdz-account-main .sdz-gate #dflsp-magic-btn {
	width: 100%;
	min-height: 48px;
	padding: 0.7rem 1rem !important;
	border-radius: var(--radius-pill) !important;
	border: 1.5px solid var(--border) !important;
	background: var(--white) !important;
	color: var(--heading) !important;
	box-shadow: none !important;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 0.95rem;
	transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}
.sdz-account-main .sdz-gate #dflsp-pk-login:hover,
.sdz-account-main .sdz-gate #dflsp-magic-btn:hover { border-color: var(--ember) !important; color: var(--ember-dark) !important; background: var(--paper) !important; transform: none; }
.sdz-gate .dflsp-magic-or { font-family: var(--font-mono); }

.sdz-gate-trust { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.4rem 1.2rem; margin: 1.5rem 0 0; padding: 1.1rem 0 0; border-top: 1px dashed var(--border); }
.sdz-gate-trust li { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.82rem; font-weight: 600; color: var(--text-light); }
.sdz-gate-trust .icon { width: 1.05em; height: 1.05em; color: var(--signal); }

/* Side column */
.sdz-gate-side { display: grid; gap: 1rem; min-width: 0; }
.sdz-console {
	position: relative;
	border-radius: var(--radius-lg);
	background:
		radial-gradient(110% 100% at 100% 0%, rgba(242, 96, 12, 0.28), transparent 55%),
		radial-gradient(90% 90% at 0% 100%, rgba(46, 158, 109, 0.14), transparent 60%),
		var(--ink);
	border: 1px solid var(--ink-border);
	box-shadow: var(--shadow-lg);
	color: var(--on-dark);
	overflow: hidden;
}
.sdz-console-body { padding: 1.2rem 1.3rem 1.3rem; }
.sdz-console-head { margin: 0 0 0.9rem; font-family: var(--font-display); font-weight: 700; font-size: 1.15rem; color: var(--white); }
.sdz-console-lines { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.75rem; }
.sdz-console-lines li { display: grid; gap: 0.2rem; opacity: 0; transform: translateY(6px); animation: sdz-line 0.5s var(--sdz-ease) forwards; animation-delay: calc(0.15s + var(--i, 0) * 0.18s); }
@keyframes sdz-line { to { opacity: 1; transform: none; } }
.sdz-console-lines code { font-family: var(--font-mono); font-size: 0.86rem; color: var(--on-dark-muted); background: none; padding: 0; }
.sdz-console-prompt { color: var(--signal); font-weight: 700; }
.sdz-console-out { display: flex; align-items: flex-start; gap: 0.5rem; font-size: 0.97rem; font-weight: 600; color: var(--on-dark); }
.sdz-console-out .icon { width: 1.1em; height: 1.1em; flex-shrink: 0; margin-top: 0.15em; color: var(--signal); }
.sdz-console-cursor { margin: 0.9rem 0 0; font-family: var(--font-mono); font-size: 0.86rem; color: var(--on-dark-muted); }
.sdz-caret { display: inline-block; width: 0.55em; height: 1.05em; vertical-align: -0.15em; background: var(--signal); animation: sdz-blink 1.1s steps(1) infinite; }
@keyframes sdz-blink { 50% { opacity: 0; } }

.sdz-offer {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.4rem 1rem;
	align-items: center;
	padding: 1.3rem 1.4rem;
	border-radius: var(--radius-lg);
	background: linear-gradient(135deg, var(--ember-dark) 0%, var(--ember) 55%, var(--gold) 120%);
	color: var(--white);
	overflow: hidden;
	box-shadow: 0 24px 50px -24px rgba(184, 56, 10, 0.75);
}
.sdz-offer-glow { position: absolute; width: 240px; height: 240px; right: -70px; top: -110px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 255, 255, 0.35), transparent 65%); animation: sdz-float 7s ease-in-out infinite; pointer-events: none; }
@keyframes sdz-float { 50% { transform: translate(-24px, 18px); } }
.sdz-offer-icon { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 16px; background: rgba(255, 255, 255, 0.18); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35); align-self: start; }
.sdz-offer-icon .icon { width: 1.5em; height: 1.5em; }
.sdz-offer-copy { position: relative; min-width: 0; }
.sdz-offer-kicker { margin: 0 0 0.2rem; font-family: var(--font-mono); font-size: 0.74rem; letter-spacing: 0.06em; text-transform: uppercase; opacity: 0.9; }
.sdz-offer-title { margin: 0 0 0.35rem; color: var(--white); font-size: 1.35rem; }
.sdz-offer-text { margin: 0; font-size: 0.95rem; color: rgba(255, 255, 255, 0.92); }
.sdz-offer-btn { position: relative; grid-column: 2; justify-self: start; margin-top: 0.4rem; }
.sdz-offer-btn .icon { width: 1em; height: 1em; }

.sdz-quick { display: grid; grid-template-columns: 1fr 1fr; gap: 0.7rem; }
.sdz-quick-tile {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	padding: 1rem;
	border-radius: var(--radius-md);
	background: var(--white);
	border: 1px solid var(--border);
	color: var(--heading);
	transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.sdz-quick-tile:hover { transform: translateY(-3px); border-color: rgba(242, 96, 12, 0.35); box-shadow: 0 16px 34px -20px rgba(242, 96, 12, 0.6); color: var(--heading); }
.sdz-quick-icon { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 12px; background: var(--paper-tint); color: var(--ember-dark); transition: background 0.2s ease, color 0.2s ease; }
.sdz-quick-icon .icon { width: 1.3em; height: 1.3em; }
.sdz-quick-tile:hover .sdz-quick-icon { background: linear-gradient(135deg, var(--ember), var(--ember-dark)); color: var(--white); }
.sdz-quick-text strong { display: block; font-family: var(--font-display); font-size: 0.98rem; line-height: 1.25; }
.sdz-quick-text small { display: block; font-family: var(--font-mono); font-size: 0.74rem; color: var(--text-light); margin-top: 0.15rem; }
.sdz-quick-go { position: absolute; top: 1rem; right: 1rem; color: var(--ember); opacity: 0; transform: translateX(-4px); transition: opacity 0.2s ease, transform 0.2s ease; }
.sdz-quick-go .icon { width: 1em; height: 1em; }
.sdz-quick-tile:hover .sdz-quick-go { opacity: 1; transform: none; }

.sdz-tip { display: flex; gap: 0.75rem; align-items: flex-start; margin: 0; padding: 1rem 1.1rem; border-radius: var(--radius-md); background: #FFFCF8; border: 1px dashed rgba(232, 163, 61, 0.6); font-size: 0.92rem; color: var(--text); }
.sdz-tip-icon { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 10px; background: rgba(232, 163, 61, 0.18); color: #9a6514; flex-shrink: 0; }
.sdz-tip-icon .icon { width: 1.1em; height: 1.1em; }

/* Popular plans (sign-in page and dashboard) */
.sdz-popular { margin-top: clamp(2.5rem, 6vw, 4rem); }
.sdz-popular-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 0.25rem; }
.sdz-popular-head h2 { margin: 0; font-size: clamp(1.4rem, 2.6vw, 1.9rem); }
.sdz-popular ul.products { margin-top: var(--space-md) !important; }

/* Lost / reset password */
.sdz-account-out .woocommerce-ResetPassword,
.sdz-account-out form.lost_reset_password {
	max-width: 560px;
	padding: clamp(1.4rem, 4vw, 2.25rem);
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-md);
}
.sdz-account-out .woocommerce-ResetPassword .form-row-first,
.sdz-account-out .woocommerce-ResetPassword .form-row-last { float: none; width: 100%; }

/* -- Signed in: welcome bar -------------------------------------------------------- */
.sdz-welcome {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 1rem 1.25rem;
	align-items: center;
	padding: clamp(1.25rem, 3.5vw, 2.1rem);
	margin-bottom: clamp(1rem, 3vw, 1.75rem);
	border-radius: var(--radius-lg);
	background:
		radial-gradient(70% 140% at 100% 0%, rgba(242, 96, 12, 0.32), transparent 60%),
		radial-gradient(60% 120% at 0% 100%, rgba(232, 163, 61, 0.16), transparent 60%),
		var(--ink);
	border: 1px solid var(--ink-border);
	box-shadow: var(--shadow-lg);
	color: var(--on-dark);
	overflow: hidden;
}
.sdz-welcome-glow { position: absolute; width: 360px; height: 360px; right: -120px; top: -180px; border-radius: 50%; background: radial-gradient(circle, rgba(242, 96, 12, 0.35), transparent 65%); animation: sdz-float 9s ease-in-out infinite; pointer-events: none; }
.sdz-welcome > *:not(.sdz-welcome-glow) { position: relative; }
.sdz-welcome-text { min-width: 0; }
.sdz-welcome-text h1 { margin: 0; color: var(--white); font-size: clamp(1.6rem, 3.6vw, 2.4rem); letter-spacing: -0.02em; }
.sdz-welcome .sdz-path { margin-bottom: 0.45rem; }
.sdz-welcome-mail { margin: 0.25rem 0 0; color: var(--on-dark-muted); font-size: 0.92rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sdz-welcome-stats { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 0.6rem; }
.sdz-stat { display: flex; flex-direction: column; gap: 0.1rem; padding: 0.75rem 1rem; border-radius: var(--radius-md); background: rgba(245, 235, 223, 0.06); border: 1px solid var(--sdz-ink-line); color: var(--on-dark); transition: border-color 0.2s ease, background 0.2s ease; }
a.sdz-stat:hover { border-color: rgba(242, 96, 12, 0.6); background: rgba(242, 96, 12, 0.1); color: var(--white); }
.sdz-stat strong { font-family: var(--font-mono); font-size: 1.25rem; font-weight: 700; color: var(--white); }
.sdz-stat span { font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--gold); }
.sdz-welcome-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.sdz-welcome-actions .btn .icon { width: 1em; height: 1em; }
@media (min-width: 1024px) {
	.sdz-welcome { grid-template-columns: auto minmax(0, 1fr) auto auto; }
	.sdz-welcome-stats { grid-column: auto; display: flex; }
	.sdz-stat { min-width: 120px; }
	.sdz-welcome-actions { grid-column: auto; flex-direction: column; }
}

/* Layout: menu + page */
.sdz-acc-layout { display: grid; gap: clamp(1rem, 3vw, 1.75rem); align-items: start; }
@media (min-width: 1024px) { .sdz-acc-layout { grid-template-columns: 270px minmax(0, 1fr); } }
.sdz-acc-aside { display: grid; gap: 1rem; min-width: 0; }
.sdz-acc-aside-help { display: none; }
@media (min-width: 1024px) {
	.sdz-acc-aside { position: sticky; top: 96px; }
	.sdz-acc-aside-help { display: block; }
	.sdz-dash-help { display: none; }
}

.sdz-acc-nav.woocommerce-MyAccount-navigation { width: auto; padding: 0; background: none; border: 0; border-radius: 0; }
.sdz-acc-nav ul { display: flex !important; flex-wrap: nowrap !important; gap: 0.45rem !important; overflow-x: auto; margin: 0 -1rem !important; padding: 0.2rem 1rem 0.5rem !important; scrollbar-width: none; }
.sdz-acc-nav ul::-webkit-scrollbar { display: none; }
.sdz-acc-nav li { flex: none; }
.sdz-acc-nav li a {
	display: inline-flex !important;
	align-items: center;
	gap: 0.55rem !important;
	padding: 0.5rem 0.95rem 0.5rem 0.5rem !important;
	border-radius: var(--radius-pill) !important;
	background: var(--white);
	border: 1px solid var(--border);
	color: var(--heading) !important;
	font-weight: 700 !important;
	font-size: 0.9rem !important;
	white-space: nowrap;
	transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}
.sdz-acc-nav .account-nav-icon { width: 32px !important; height: 32px !important; border-radius: 50% !important; background: var(--paper-tint) !important; color: var(--ember-dark) !important; }
.sdz-acc-nav .account-nav-icon .icon { width: 1.05em; height: 1.05em; }
.sdz-acc-nav li a:hover { border-color: rgba(242, 96, 12, 0.4); background: var(--paper) !important; }
.sdz-acc-nav li.is-active a { background: var(--ink) !important; border-color: var(--ink); color: var(--white) !important; box-shadow: 0 10px 22px -14px rgba(27, 20, 15, 0.9); }
.sdz-acc-nav li.is-active .account-nav-icon { background: linear-gradient(135deg, var(--ember), var(--ember-dark)) !important; color: var(--white) !important; }
.sdz-acc-nav li.woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--text-light) !important; }
@media (min-width: 1024px) {
	.sdz-acc-nav { padding: 0.6rem !important; background: var(--white) !important; border: 1px solid var(--border) !important; border-radius: var(--radius-md) !important; box-shadow: var(--shadow-sm); }
	.sdz-acc-nav ul { flex-direction: column; overflow: visible; margin: 0 !important; padding: 0 !important; gap: 0.2rem !important; }
	.sdz-acc-nav li a { display: flex !important; width: 100%; border-color: transparent; border-radius: var(--radius-sm) !important; background: transparent; padding: 0.45rem 0.7rem 0.45rem 0.45rem !important; }
	.sdz-acc-nav li.is-active a { box-shadow: none; }
	.sdz-acc-nav li.woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 0.35rem; padding-top: 0.35rem; border-top: 1px dashed var(--border); }
}

.sdz-acc-page .woocommerce-MyAccount-content {
	min-width: 0;
	padding: clamp(1.25rem, 3.5vw, 2.1rem);
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-sm);
}
.sdz-acc-page .woocommerce-MyAccount-content > p:first-child { display: block; padding: 0; margin: 0 0 1rem !important; border: 0; font-size: 1rem; }
.sdz-acc-page .woocommerce-MyAccount-content > p:first-child::before { content: none; }
.sdz-acc-page .woocommerce-MyAccount-content > p.screen-reader-text:first-child { margin: -1px !important; }
.sdz-acc-title { display: flex; align-items: center; gap: 0.75rem; margin: 0 0 1.25rem; font-size: clamp(1.35rem, 2.6vw, 1.8rem); }
.sdz-acc-title-icon { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 14px; background: linear-gradient(135deg, var(--ember), var(--ember-dark)); color: var(--white); box-shadow: 0 10px 22px -10px rgba(242, 96, 12, 0.85); flex-shrink: 0; }
.sdz-acc-title-icon .icon { width: 1.3em; height: 1.3em; }
.sdz-acc-lead { color: var(--text-light); margin-bottom: 1.25rem; }

/* Dashboard */
.sdz-tiles { display: grid; grid-template-columns: 1fr; gap: 0.6rem; }
@media (min-width: 600px) { .sdz-tiles { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1280px) { .sdz-tiles { grid-template-columns: repeat(3, 1fr); } }
.sdz-tile {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.85rem;
	padding: 0.95rem 1rem;
	border-radius: var(--radius-md);
	border: 1px solid var(--border);
	background: linear-gradient(180deg, #fff, #FFFCF8);
	color: var(--heading);
	transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.sdz-tile:hover { transform: translateY(-2px); border-color: rgba(242, 96, 12, 0.4); box-shadow: 0 16px 32px -20px rgba(242, 96, 12, 0.6); color: var(--heading); }
.sdz-tile-icon { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 14px; background: var(--paper-tint); color: var(--ember-dark); transition: background 0.2s ease, color 0.2s ease; }
.sdz-tile-icon .icon { width: 1.35em; height: 1.35em; }
.sdz-tile:hover .sdz-tile-icon { background: linear-gradient(135deg, var(--ember), var(--ember-dark)); color: var(--white); }
.sdz-tile-body { min-width: 0; }
.sdz-tile-body strong { display: block; font-family: var(--font-display); font-size: 1.02rem; line-height: 1.25; }
.sdz-tile-body small { display: block; font-size: 0.82rem; color: var(--text-light); margin-top: 0.1rem; }
.sdz-tile-go { color: var(--ember); transition: transform 0.2s ease; }
.sdz-tile-go .icon { width: 1.05em; height: 1.05em; }
.sdz-tile:hover .sdz-tile-go { transform: translateX(3px); }
.sdz-tile--accent { background: linear-gradient(135deg, var(--ember), var(--ember-dark)); border-color: transparent; color: var(--white); }
.sdz-tile--accent:hover { color: var(--white); }
.sdz-tile--accent .sdz-tile-icon { background: rgba(255, 255, 255, 0.18); color: var(--white); }
.sdz-tile--accent .sdz-tile-body small, .sdz-tile--accent .sdz-tile-go { color: rgba(255, 255, 255, 0.9); }

.sdz-dash-grid { display: grid; gap: 1rem; margin-top: 1.25rem; }
@media (min-width: 900px) { .sdz-dash-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.sdz-card { padding: 1.25rem 1.3rem; border-radius: var(--radius-md); border: 1px solid var(--border); background: var(--white); min-width: 0; }
.sdz-card-head { margin-bottom: 0.9rem; }
.sdz-card-head .sdz-path { margin-bottom: 0.35rem; }
.sdz-card-head h3 { margin: 0; font-size: 1.3rem; }
.sdz-card-title { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; }
.sdz-card-text { color: var(--text); margin-bottom: 1rem; }
.sdz-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 0.5rem; margin: 0 0 1rem; }
.sdz-meta > div { padding: 0.6rem 0.75rem; border-radius: var(--radius-sm); background: var(--paper); border: 1px solid var(--border); }
.sdz-meta dt { font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-light); }
.sdz-meta dd { margin: 0.1rem 0 0; font-family: var(--font-display); font-weight: 600; color: var(--heading); }
.sdz-order-items { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: 0.3rem; }
.sdz-order-items li { display: flex; align-items: center; gap: 0.45rem; font-size: 0.92rem; color: var(--text); }
.sdz-order-items .icon { width: 1em; height: 1em; color: var(--signal); }
.sdz-card-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; }
.sdz-card-actions .sdz-link-arrow { margin-left: auto; }
.sdz-renewal { background: linear-gradient(135deg, #fff, var(--paper-tint)); border-color: rgba(242, 96, 12, 0.3); }
.sdz-dash-offer .sdz-offer { height: 100%; }
.sdz-dash-offer--wide { margin-top: 1rem; }
.sdz-dash-help { margin-top: 1rem; }

/* Help card */
.sdz-help { display: flex; gap: 0.9rem; align-items: flex-start; padding: 1.1rem 1.15rem; border-radius: var(--radius-md); background: var(--white); border: 1px solid var(--border); }
.sdz-help-icon { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 12px; background: var(--signal-dim); color: var(--signal); flex-shrink: 0; }
.sdz-help-icon .icon { width: 1.3em; height: 1.3em; }
.sdz-help-body { min-width: 0; }
.sdz-help-body strong { font-family: var(--font-display); color: var(--heading); font-size: 1.02rem; }
.sdz-help-body p { margin: 0.2rem 0 0.75rem; font-size: 0.9rem; color: var(--text-light); }
.sdz-help-actions { display: flex; flex-wrap: wrap; gap: 0.45rem; }
.sdz-help .sdz-reveal-btn { padding: 0.5em 0.95em; font-size: 0.82rem; }

/* Orders table: clean rows on desktop, cards on phones */
.sdz-acc-page .woocommerce-orders-table,
.sdz-acc-page table.shop_table { width: 100%; border: 0 !important; border-collapse: separate !important; border-spacing: 0 !important; margin: 0 !important; }
.sdz-acc-page .woocommerce-orders-table th { padding: 0.75rem 0.85rem !important; font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--gold) !important; background: var(--ink) !important; border: 0 !important; }
.sdz-acc-page .woocommerce-orders-table thead th:first-child { border-radius: var(--radius-sm) 0 0 var(--radius-sm); }
.sdz-acc-page .woocommerce-orders-table thead th:last-child { border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.sdz-acc-page .woocommerce-orders-table td { padding: 0.95rem 0.85rem !important; border: 0 !important; border-bottom: 1px solid var(--border) !important; vertical-align: middle; color: var(--text); }
.sdz-acc-page .woocommerce-orders-table tbody tr:hover td { background: var(--paper); }
.sdz-acc-page .woocommerce-orders-table__cell-order-number a { font-family: var(--font-mono); font-weight: 700; color: var(--ember-dark); }
.sdz-acc-page .woocommerce-orders-table__cell-order-actions .button { padding: 0.55em 1.1em !important; font-size: 0.85rem !important; margin: 0.15rem 0.25rem 0.15rem 0 !important; }
@media (max-width: 767px) {
	.sdz-acc-page .woocommerce-orders-table thead { display: none; }
	.sdz-acc-page .woocommerce-orders-table tbody,
	.sdz-acc-page .woocommerce-orders-table tr { display: block; }
	.sdz-acc-page .woocommerce-orders-table tr { margin-bottom: 0.75rem; padding: 0.6rem 0.9rem; border: 1px solid var(--border); border-radius: var(--radius-md); background: #FFFCF8; }
	.sdz-acc-page .woocommerce-orders-table td { display: flex !important; justify-content: space-between; align-items: center; gap: 0.75rem; padding: 0.55rem 0 !important; text-align: right !important; border-bottom: 1px dashed var(--border) !important; }
	.sdz-acc-page .woocommerce-orders-table td:last-child { border-bottom: 0 !important; }
	.sdz-acc-page .woocommerce-orders-table td::before { content: attr(data-title); font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.05em; text-transform: uppercase; color: var(--text-light); text-align: left; }
	.sdz-acc-page .woocommerce-orders-table__cell-order-actions { flex-wrap: wrap; justify-content: flex-end !important; }
}
.sdz-acc-page .woocommerce-pagination { display: flex; gap: 0.5rem; justify-content: center; margin-top: 1rem; }

/* Addresses */
.sdz-addresses { display: grid !important; gap: 1rem !important; grid-template-columns: 1fr !important; }
@media (min-width: 720px) { .sdz-addresses.col2-set { grid-template-columns: 1fr 1fr !important; } }
.sdz-address { display: flex !important; flex-direction: column; gap: 0.9rem; padding: 1.2rem !important; border-radius: var(--radius-md) !important; border: 1px solid var(--border) !important; background: #FFFCF8 !important; }
.sdz-address.is-empty { border-style: dashed !important; }
.sdz-address .woocommerce-Address-title { justify-content: flex-start !important; gap: 0.7rem !important; margin: 0 !important; }
.sdz-address .woocommerce-Address-title h2 { font-size: 1.1rem !important; }
.sdz-address-icon { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 12px; background: var(--paper-tint); color: var(--ember-dark); }
.sdz-address-icon .icon { width: 1.2em; height: 1.2em; }
.sdz-address address { font-style: normal; line-height: 1.7; color: var(--text); flex: 1; }
.sdz-address .edit { align-self: flex-start; }

/* Edit forms */
.sdz-acc-page form.edit-account,
.sdz-acc-page .woocommerce-address-fields { max-width: none; padding: 0; border: 0; background: none; }
.sdz-acc-page form.edit-account fieldset { margin: 1.5rem 0 1rem; padding: 1.1rem 1.2rem; border: 1px dashed var(--border); border-radius: var(--radius-md); }
.sdz-acc-page form.edit-account legend { padding: 0 0.5rem; font-family: var(--font-display); font-weight: 700; color: var(--heading); }
@media (min-width: 720px) {
	.sdz-acc-page .woocommerce-address-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
	.sdz-acc-page .woocommerce-address-fields__field-wrapper .form-row-wide { grid-column: 1 / -1; }
	.sdz-acc-page form.edit-account .form-row-first,
	.sdz-acc-page form.edit-account .form-row-last { width: 49%; }
}
.sdz-acc-page .woocommerce-address-fields__field-wrapper .form-row { width: 100% !important; float: none !important; }
.sdz-acc-page .select2-container .select2-selection--single { height: 50px; border: 1.5px solid var(--border); border-radius: var(--radius-sm); background: #FFFDFB; }
.sdz-acc-page .select2-container .select2-selection--single .select2-selection__rendered { line-height: 48px; padding-left: 1rem; color: var(--heading); }
.sdz-acc-page .select2-container .select2-selection--single .select2-selection__arrow { height: 48px; right: 8px; }

/* View order */
.sdz-acc-page .woocommerce-order-details,
.sdz-acc-page .woocommerce-customer-details { margin-top: 1.5rem; }
.sdz-acc-page .woocommerce-order-details__title,
.sdz-acc-page .woocommerce-column__title { font-size: 1.2rem; }
.sdz-acc-page .order_details td, .sdz-acc-page .order_details th { padding: 0.85rem 0.9rem !important; border-color: var(--border) !important; }
.sdz-acc-page .order_details thead th { background: var(--paper-tint); font-family: var(--font-mono); font-size: 0.74rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ember-dark); }
.sdz-acc-page .order_details tfoot th { color: var(--text-light); font-weight: 600; }
.sdz-acc-page .order_details tfoot tr:last-child td { font-family: var(--font-mono); font-weight: 800; color: var(--ember-dark); }
.sdz-acc-page .woocommerce-customer-details address { padding: 1rem 1.1rem; border: 1px solid var(--border) !important; border-radius: var(--radius-md); background: #FFFCF8; font-style: normal; }
.sdz-acc-page mark.order-number, .sdz-acc-page mark.order-date, .sdz-acc-page mark.order-status { background: var(--paper-tint); color: var(--ember-darker); padding: 0.1em 0.45em; border-radius: 6px; font-weight: 700; }

/* Notices inside the account area */
.sdz-account-main .woocommerce-message,
.sdz-account-main .woocommerce-info,
.sdz-account-main .woocommerce-error { border-radius: var(--radius-md); }

/* DadsFam Recurring Billing (Renewals tab) in the brand colours */
.sdz-acc-page .dfam-renewals .dfam-r-card { border-radius: var(--radius-md); border-color: var(--border); box-shadow: none; }
.sdz-acc-page .dfam-renewals .dfam-r-btn--primary { background: linear-gradient(135deg, var(--ember), var(--ember-dark)) !important; border-color: transparent !important; color: var(--white) !important; border-radius: var(--radius-pill); }
.sdz-acc-page .dfam-renewals .dfam-r-btn--quiet { border-radius: var(--radius-pill); }
.sdz-acc-page .dfam-renewals__empty { border-radius: var(--radius-md); }

/* Phones */
@media (max-width: 599px) {
	.sdz-quick { grid-template-columns: 1fr 1fr; gap: 0.55rem; }
	.sdz-quick-tile { padding: 0.85rem; }
	.sdz-offer { grid-template-columns: 1fr; padding: 1.15rem; }
	.sdz-offer-btn { grid-column: 1; }
	.sdz-offer-icon { width: 44px; height: 44px; }
	.sdz-welcome { grid-template-columns: auto minmax(0, 1fr); }
	.sdz-avatar--xl { width: 56px; height: 56px; font-size: 1.15rem; }
	.sdz-welcome-actions .btn { flex: 1; }
	.sdz-acc-page .woocommerce-MyAccount-content { padding: 1.1rem; }
	.sdz-card-actions .sdz-link-arrow { margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.sdz-term::after, .sdz-gate-card::before, .sdz-offer-glow, .sdz-welcome-glow, .sdz-path-dot, .sdz-caret { animation: none !important; }
	.sdz-console-lines li { opacity: 1; transform: none; animation: none; }
}
