/* =========================================================================
   DecantQ — thank-you page (.dq-ty), My account (.dq-acc), order details
   (shared by both) and the 404 page (.dq-404).
   Tokens: tokens.css. Buttons, cards, drawn vials and the kit reset: catalog.css.
   ====================================================================== */

/* Hello boxes plain pages at 1140px; these pages set their own width. */
body.dq-thankyou-page #content.site-main,
body.dq-account-page #content.site-main,
body.dq-404-page #content.site-main,
body.dq-404-page .site-main {
	max-width: none;
}

.dq-ty,
.dq-acc,
.dq-404 {
	--dq-gutter: clamp(16px, 3vw, 32px);
	box-sizing: border-box;
	max-width: 1240px;
	margin-inline: auto;
	padding: clamp(20px, 3vw, 44px) var(--dq-gutter) clamp(56px, 8vw, 104px);
	color: var(--dq-ink);
	font-size: 16px;
	line-height: 1.55;
}

/* The site kit uppercases and letter-spaces labels, buttons and fields; catalog.css
   resets headings and links, this covers the form elements on these pages. */
.dq-ty.dq-ty :where(label, button, input, select, textarea, th, td, strong, time, small, address, dt, dd, legend),
.dq-acc.dq-acc :where(label, button, input, select, textarea, th, td, strong, time, small, address, dt, dd, legend),
.dq-404.dq-404 :where(label, button, input, select, textarea, th, td, strong, time, small, address, dt, dd, legend) {
	text-transform: none;
	letter-spacing: normal;
	font-family: inherit;
}

.dq-ty :where(h1, h2, h3),
.dq-acc :where(h1, h2, h3),
.dq-404 :where(h1, h2, h3) {
	color: var(--dq-ink);
}

.dq-ty.dq-ty .dq-ty__h2,
.dq-acc.dq-acc .dq-acc__h2,
.dq-404.dq-404 .dq-404__h2 {
	margin: 0 0 16px;
	font-family: var(--dq-display);
	font-size: clamp(1.4rem, 1.2rem + 0.7vw, 1.8rem);
	font-weight: 500;
	line-height: 1.15;
}
.dq-acc.dq-acc .dq-acc__h3 {
	margin: 28px 0 14px;
	font-family: var(--dq-display);
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.2;
}
.dq-ty.dq-ty .dq-ty__text,
.dq-acc.dq-acc .dq-acc__text {
	margin: 0 0 4px;
	font-size: 16px;
	line-height: 1.6;
	color: var(--dq-muted);
}

/* Notices on these pages */
.dq-ty :is(.woocommerce-message, .woocommerce-info, .woocommerce-error),
.dq-acc :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
	margin: 0 0 22px;
	padding: 14px 18px 14px 50px;
	border: 0;
	border-radius: var(--dq-radius);
	background: var(--dq-panel);
	color: var(--dq-ink);
	list-style: none;
}
.dq-ty :is(.woocommerce-message, .woocommerce-info)::before,
.dq-acc :is(.woocommerce-message, .woocommerce-info)::before {
	top: 50%;
	left: 18px;
	transform: translateY(-50%);
	color: var(--dq-amber);
}
.dq-acc .woocommerce-error {
	background: #fbefec;
}
.dq-acc .woocommerce-error::before {
	top: 50%;
	left: 18px;
	transform: translateY(-50%);
	color: #a4321d;
}
.dq-ty .woocommerce-notices-wrapper:empty,
.dq-acc .woocommerce-notices-wrapper:empty {
	display: none;
}

/* =========================================================================
   Thank you
   ====================================================================== */

.dq-ty__head {
	max-width: 640px;
	margin: 0 0 clamp(28px, 4vw, 44px);
}
.dq-ty__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	margin-bottom: 20px;
	border-radius: 50%;
	background: var(--dq-amber-tint);
	color: var(--dq-amber);
}
.dq-ty.dq-ty .dq-ty__title {
	margin: 0 0 12px;
	padding: 0;
	border: 0;
	background: none;
	font-family: var(--dq-display);
	font-size: clamp(2rem, 1.4rem + 2.2vw, 3rem);
	font-weight: 500;
	line-height: 1.06;
	color: var(--dq-ink);
	text-wrap: balance;
}
html:not([dir="rtl"]) .dq-ty.dq-ty .dq-ty__title {
	letter-spacing: -0.018em;
}
.dq-ty.dq-ty .dq-ty__title::before {
	content: none;
}

/* Order facts */
.dq-ty.dq-ty .dq-ty__facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 1px;
	margin: 0 0 clamp(32px, 4vw, 48px);
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--dq-line);
	border-radius: 18px;
	background: var(--dq-line);
	list-style: none;
}
.dq-ty.dq-ty .dq-ty__facts li {
	display: flex;
	flex-direction: column;
	gap: 5px;
	margin: 0;
	padding: 18px 20px;
	border: 0;
	background: #fff;
	font-size: 15px;
}
.dq-ty.dq-ty .dq-ty__facts li::before {
	content: none;
}
.dq-ty .dq-ty__facts span {
	font-size: 13px;
	color: var(--dq-muted);
}
.dq-ty .dq-ty__facts strong {
	font-size: 16px;
	font-weight: 600;
	color: var(--dq-ink);
	word-break: break-word;
}

/* What happens next */
.dq-ty__next {
	margin: 0 0 clamp(32px, 4vw, 48px);
	padding: clamp(22px, 3vw, 32px);
	border-radius: 20px;
	background: var(--dq-panel);
}
.dq-ty.dq-ty .dq-ty__steps {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}
.dq-ty.dq-ty .dq-ty__steps li {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin: 0;
	font-size: 15.5px;
	line-height: 1.55;
	color: var(--dq-ink);
}
.dq-ty.dq-ty .dq-ty__steps li::before {
	content: none;
}
.dq-ty .dq-ty__step-num {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 1px solid var(--dq-gold);
	border-radius: 50%;
	font-family: var(--dq-display);
	font-size: 14px;
	color: var(--dq-amber);
	font-variant-numeric: tabular-nums;
}

.dq-ty__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: clamp(28px, 4vw, 40px);
}
.dq-ty__head--failed .dq-ty__text {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

/* =========================================================================
   Order details (thank-you page and "View order")
   ====================================================================== */

.dq-odetails {
	margin: 0 0 clamp(28px, 4vw, 40px);
}
.dq-odetails__box {
	border: 1px solid var(--dq-line);
	border-radius: 20px;
	background: #fff;
	overflow: hidden;
}
.dq-orows {
	margin: 0;
	padding: 0;
	list-style: none;
}
.dq-orow {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) auto;
	gap: 16px;
	align-items: center;
	margin: 0;
	padding: 16px 20px;
	border-bottom: 1px solid var(--dq-line);
}
.dq-orow::before {
	content: none;
}
.dq-orow__media {
	position: relative;
	width: 64px;
	height: 64px;
	border-radius: 12px;
	background: var(--dq-panel);
}
.dq-orow__media img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	border-radius: 12px;
	object-fit: cover;
	mix-blend-mode: multiply;
}
.dq-orow__qty {
	position: absolute;
	top: -7px;
	right: -7px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border: 2px solid #fff;
	border-radius: 999px;
	background: var(--dq-ink);
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	color: #fff;
	font-variant-numeric: tabular-nums;
}
.dq-orow__info {
	display: block;
	min-width: 0;
}
.dq-ty .dq-orow__brand,
.dq-acc .dq-orow__brand {
	display: block;
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--dq-amber);
}
.dq-ty .dq-orow__name,
.dq-acc .dq-orow__name {
	display: block;
	font-family: var(--dq-display);
	font-size: 1.1rem;
	font-weight: 500;
	line-height: 1.2;
	color: var(--dq-ink);
}
.dq-ty .dq-orow__name a,
.dq-acc .dq-orow__name a {
	color: var(--dq-ink);
}
.dq-ty .dq-orow__name a:hover,
.dq-acc .dq-orow__name a:hover {
	text-decoration: underline;
	text-underline-offset: 4px;
}
.dq-orow__size {
	display: flex;
	align-items: flex-end;
	gap: 7px;
	margin-top: 5px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.1;
	color: var(--dq-ink);
	font-variant-numeric: tabular-nums;
}
.dq-orow__total {
	font-size: 15.5px;
	font-weight: 600;
	color: var(--dq-ink);
	text-align: end;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}
.dq-orow__note {
	margin: 0;
	padding: 12px 20px;
	border-bottom: 1px solid var(--dq-line);
	background: var(--dq-panel);
	font-size: 14px;
	color: var(--dq-muted);
}
.dq-orow__info .wc-item-meta {
	margin: 6px 0 0;
	padding: 0;
	font-size: 13px;
	color: var(--dq-muted);
	list-style: none;
}
.dq-orow__info .wc-item-meta li,
.dq-orow__info .wc-item-meta p {
	margin: 0;
	display: inline;
}

/* Totals */
.dq-ototals {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
}
.dq-ototals__row th,
.dq-ototals__row td {
	padding: 10px 20px;
	border: 0;
	font-size: 15px;
	line-height: 1.4;
	vertical-align: baseline;
}
.dq-ototals__row th {
	font-weight: 400;
	color: var(--dq-muted);
	text-align: start;
}
.dq-ototals__row td {
	font-weight: 600;
	color: var(--dq-ink);
	text-align: end;
	font-variant-numeric: tabular-nums;
}
.dq-ototals__row--order_total th,
.dq-ototals__row--order_total td {
	padding-top: 14px;
	border-top: 1px solid var(--dq-line);
}
.dq-ototals__row--order_total th {
	font-weight: 600;
	color: var(--dq-ink);
}
.dq-ototals__row--order_total td {
	font-size: 1.3rem;
}
.dq-onote {
	padding: 14px 20px;
	border-top: 1px solid var(--dq-line);
	font-size: 14.5px;
	color: var(--dq-muted);
}

/* Customer addresses block (WooCommerce markup) */
.dq-ty .woocommerce-customer-details,
.dq-acc .woocommerce-customer-details {
	margin: 0 0 clamp(28px, 4vw, 40px);
}
.dq-ty .woocommerce-customer-details h2,
.dq-acc .woocommerce-customer-details h2,
.dq-acc .woocommerce-column__title {
	margin: 0 0 12px;
	font-family: var(--dq-display);
	font-size: 1.25rem;
	font-weight: 500;
	color: var(--dq-ink);
}
.dq-ty .woocommerce-columns,
.dq-acc .woocommerce-columns {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 20px;
}
.dq-ty .woocommerce-columns .col-1,
.dq-ty .woocommerce-columns .col-2,
.dq-acc .woocommerce-columns .col-1,
.dq-acc .woocommerce-columns .col-2 {
	float: none;
	width: auto;
	padding: 20px;
	border: 1px solid var(--dq-line);
	border-radius: 18px;
}
.dq-ty address,
.dq-acc address {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 15px;
	font-style: normal;
	line-height: 1.7;
	color: var(--dq-muted);
}

/* =========================================================================
   My account
   ====================================================================== */

.dq-acc .woocommerce {
	max-width: none;
}
.dq-acc__layout,
.dq-acc .woocommerce-MyAccount-navigation + .woocommerce-MyAccount-content {
	min-width: 0;
}
/* Two columns: menu, then content */
.dq-acc .woocommerce > .woocommerce-notices-wrapper {
	margin-bottom: 18px;
}
.dq-acc .woocommerce-MyAccount-navigation {
	float: none;
	width: auto;
}
.dq-acc .woocommerce-MyAccount-content {
	float: none;
	width: auto;
	min-width: 0;
}
@media (min-width: 900px) {
	.dq-acc .woocommerce {
		display: grid;
		grid-template-columns: minmax(230px, 260px) minmax(0, 1fr);
		gap: clamp(28px, 4vw, 56px);
		align-items: start;
	}
	.dq-acc .woocommerce > .woocommerce-notices-wrapper {
		grid-column: 1 / -1;
	}
	/* Place both columns explicitly: WooCommerce's own CSS can reorder them */
	.dq-acc .woocommerce > .woocommerce-MyAccount-navigation {
		grid-column: 1;
		grid-row: 2;
	}
	.dq-acc .woocommerce > .woocommerce-MyAccount-content {
		grid-column: 2;
		grid-row: 2;
	}
}

.dq-acc__nav {
	padding: 18px;
	border: 1px solid var(--dq-line);
	border-radius: 20px;
	background: #fff;
}
.dq-acc.dq-acc .dq-acc__nav-title {
	margin: 0 0 12px;
	padding: 0 10px;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--dq-muted);
}
.dq-acc .dq-acc__nav ul {
	display: grid;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.dq-acc .dq-acc__nav li {
	margin: 0;
}
.dq-acc .dq-acc__nav li::before {
	content: none;
}
.dq-acc.dq-acc .dq-acc__nav a {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 11px 12px;
	border-radius: 12px;
	font-size: 15px;
	font-weight: 500;
	color: var(--dq-ink);
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}
.dq-acc.dq-acc .dq-acc__nav a:hover {
	background: var(--dq-panel);
}
.dq-acc .dq-acc__nav .dq-icon {
	flex: none;
	color: var(--dq-muted);
	transition: color 0.2s ease;
}
.dq-acc.dq-acc .dq-acc__nav .is-active > a {
	background: var(--dq-ink);
	color: #fff;
}
.dq-acc .dq-acc__nav .is-active .dq-icon {
	color: var(--dq-gold);
}
.dq-acc .dq-acc__nav a:focus-visible {
	outline: 2px solid var(--dq-amber);
	outline-offset: 2px;
}

/* Order cards */
.dq-acc.dq-acc .dq-acc__orders {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.dq-acc .dq-ocard {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 18px 20px;
	border: 1px solid var(--dq-line);
	border-radius: 18px;
	background: #fff;
}
.dq-acc .dq-ocard::before {
	content: none;
}
.dq-ocard__top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}
.dq-acc.dq-acc .dq-ocard__num {
	font-family: var(--dq-display);
	font-size: 1.2rem;
	font-weight: 500;
	color: var(--dq-ink);
	font-variant-numeric: tabular-nums;
}
.dq-acc.dq-acc .dq-ocard__meta {
	font-size: 14px;
	color: var(--dq-muted);
}
.dq-ocard__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: 4px;
}
.dq-acc.dq-acc .dq-ocard__total {
	font-size: 16px;
	font-weight: 600;
	color: var(--dq-ink);
	font-variant-numeric: tabular-nums;
}
.dq-ocard__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.dq-acc.dq-acc :is(.dq-ocard__view, .dq-ocard__action) {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 0 16px;
	border: 1px solid var(--dq-line);
	border-radius: 999px;
	font-size: 14px;
	font-weight: 600;
	color: var(--dq-ink);
	text-decoration: none;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}
.dq-acc.dq-acc :is(.dq-ocard__view, .dq-ocard__action):hover {
	border-color: var(--dq-ink);
	background: var(--dq-panel);
}

.dq-pill-status {
	display: inline-flex;
	align-items: center;
	padding: 4px 11px;
	border-radius: 999px;
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.3;
}
.dq-pill-status.is-open {
	background: var(--dq-amber-tint);
	color: var(--dq-amber);
}
.dq-pill-status.is-done {
	background: #e8f0e4;
	color: #40663a;
}
.dq-pill-status.is-stopped {
	background: #f4ece9;
	color: #8a4a38;
}

.dq-acc__empty {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(26px, 4vw, 40px);
	border: 1px solid var(--dq-line);
	border-radius: 20px;
	background: #fff;
}
.dq-acc__empty-vial {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 96px;
	height: 96px;
	margin-bottom: 8px;
	border-radius: 50%;
	background: var(--dq-panel);
}
.dq-acc__empty .dq-btn {
	margin-top: 18px;
}
.dq-acc__pagination {
	display: flex;
	gap: 10px;
	margin-top: 20px;
}

/* Sign in / register */
.dq-login__cols {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(20px, 3vw, 32px);
	max-width: 960px;
}
.dq-login--two .dq-login__cols {
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}
.dq-login__col {
	float: none;
	width: auto;
	padding: clamp(24px, 3vw, 34px);
	border: 1px solid var(--dq-line);
	border-radius: 20px;
	background: #fff;
}
.dq-login__col--register {
	background: var(--dq-panel);
	border-color: transparent;
}

/* Forms across the account pages */
.dq-acc .form-row,
.dq-acc .woocommerce-form-row {
	display: block;
	float: none;
	width: auto;
	margin: 0 0 16px;
	padding: 0;
}
.dq-acc.dq-acc .form-row > label:not(.checkbox):not(.woocommerce-form__label-for-checkbox) {
	display: block;
	margin: 0 0 6px;
	font-size: 14px;
	font-weight: 600;
	color: var(--dq-ink);
}
.dq-acc .form-row .required {
	color: var(--dq-amber);
	text-decoration: none;
	border: 0;
}
.dq-acc.dq-acc :is(.input-text, input[type="text"], input[type="email"], input[type="tel"], input[type="password"], select, textarea) {
	display: block;
	width: 100%;
	height: 50px;
	margin: 0;
	padding: 0 14px;
	border: 1px solid var(--dq-line);
	border-radius: 12px;
	background: #fff;
	box-shadow: none;
	font-family: inherit;
	font-size: 15px;
	color: var(--dq-ink);
}
.dq-acc.dq-acc textarea {
	height: auto;
	min-height: 110px;
	padding: 12px 14px;
}
.dq-acc.dq-acc :is(.input-text, select, textarea):focus {
	border-color: var(--dq-ink);
	outline: none;
	box-shadow: 0 0 0 3px rgba(147, 70, 26, 0.14);
}
.dq-acc.dq-acc input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin: 0 8px 0 0;
	accent-color: var(--dq-amber);
	vertical-align: middle;
}
.dq-acc.dq-acc .woocommerce-form__label-for-checkbox {
	display: inline-flex;
	align-items: center;
	font-size: 15px;
	color: var(--dq-ink);
}
.dq-login__submit {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	margin-top: 20px !important;
}
.dq-acc.dq-acc .lost_password a,
.dq-acc.dq-acc .woocommerce-LostPassword a {
	font-size: 14.5px;
	color: var(--dq-amber);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.dq-acc .woocommerce-privacy-policy-text p {
	font-size: 13px;
	color: var(--dq-muted);
}

/* Addresses */
.dq-acc .woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 16px;
	margin: 0;
}
.dq-acc .woocommerce-Address {
	float: none;
	width: auto;
	padding: 22px;
	border: 1px solid var(--dq-line);
	border-radius: 18px;
	background: #fff;
}
.dq-acc .woocommerce-Address-title {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 10px;
}
.dq-acc.dq-acc .woocommerce-Address-title h2,
.dq-acc.dq-acc .woocommerce-Address-title h3 {
	margin: 0;
	font-family: var(--dq-display);
	font-size: 1.2rem;
	font-weight: 500;
}
.dq-acc.dq-acc .woocommerce-Address-title .edit {
	font-size: 14px;
	font-weight: 600;
	color: var(--dq-amber);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* WooCommerce buttons inside the account keep the site's button look */
.dq-acc.dq-acc :is(button.button, input.button, a.button, button.woocommerce-Button) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 26px;
	border: 0;
	border-radius: 12px;
	background: var(--dq-amber);
	font-family: inherit;
	font-size: 15.5px;
	font-weight: 600;
	line-height: 1.2;
	color: #fff;
	text-decoration: none;
	text-transform: none;
	letter-spacing: normal;
	cursor: pointer;
	transition: background-color 0.2s ease;
}
.dq-acc.dq-acc :is(button.button, input.button, a.button, button.woocommerce-Button):hover {
	background: var(--dq-amber-hover);
	color: #fff;
}
.dq-acc.dq-acc :is(.dq-ocard__view, .dq-ocard__action, .woocommerce-Address-title .edit) {
	min-height: 38px;
	background: none;
	color: var(--dq-ink);
}

/* =========================================================================
   404
   ====================================================================== */

.dq-404__head {
	max-width: 640px;
	margin: 0 auto clamp(48px, 7vw, 88px);
	padding-top: clamp(20px, 4vw, 48px);
	text-align: center;
}
.dq-404__vials {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: 16px;
	margin-bottom: 24px;
}
.dq-404.dq-404 .dq-404__code {
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 600;
	color: var(--dq-amber);
	font-variant-numeric: tabular-nums;
}
.dq-404.dq-404 .dq-404__title {
	margin: 0 0 12px;
	font-family: var(--dq-display);
	font-size: clamp(2rem, 1.4rem + 2.2vw, 3rem);
	font-weight: 500;
	line-height: 1.06;
	color: var(--dq-ink);
	text-wrap: balance;
}
.dq-404.dq-404 .dq-404__text {
	margin: 0 auto;
	max-width: 46ch;
	font-size: 16.5px;
	color: var(--dq-muted);
}
.dq-404__search {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 26px 0 0;
}
.dq-404.dq-404 .dq-404__search input[type="search"] {
	flex: 1 1 260px;
	min-width: 0;
	height: 56px;
	padding: 0 18px;
	border: 1px solid var(--dq-line);
	border-radius: 12px;
	background: #fff;
	font-family: inherit;
	font-size: 16px;
	color: var(--dq-ink);
}
.dq-404.dq-404 .dq-404__search input[type="search"]:focus {
	border-color: var(--dq-ink);
	outline: none;
	box-shadow: 0 0 0 3px rgba(147, 70, 26, 0.14);
}
.dq-404__links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-top: 16px;
}
.dq-404__picks {
	margin-top: clamp(32px, 4vw, 48px);
}
.dq-404.dq-404 .dq-404__h2 {
	margin-bottom: 20px;
	text-align: center;
}

/* =========================================================================
   Mobile
   ====================================================================== */

@media (max-width: 599px) {
	.dq-orow {
		grid-template-columns: 56px minmax(0, 1fr);
		padding: 14px 16px;
	}
	.dq-orow__media {
		width: 56px;
		height: 56px;
	}
	.dq-orow__total {
		grid-column: 2;
		text-align: start;
	}
	.dq-ototals__row th,
	.dq-ototals__row td {
		padding: 9px 16px;
	}
	.dq-ty.dq-ty .dq-ty__facts {
		grid-template-columns: minmax(0, 1fr);
	}
	.dq-ty__actions .dq-btn,
	.dq-404__links .dq-btn {
		flex: 1 1 auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dq-ty *,
	.dq-acc *,
	.dq-404 * {
		transition: none !important;
	}
}

/* =========================================================================
   v4.3.2: sign-in page
   The account grid (menu column + content) is for signed-in customers. On the sign-in page a notice
   (e.g. a failed Google sign-in) used to take the first row, and the sign-in card fell into the 260px
   menu column. The sign-in block now always spans the full width, centred.
   ====================================================================== */
@media (min-width: 900px) {
	.dq-acc .woocommerce > .dq-login {
		grid-column: 1 / -1;
	}
}
.dq-acc .woocommerce:has(> .dq-login) {
	display: block;
}
.dq-acc .dq-login {
	width: 100%;
	max-width: 980px;
	margin-inline: auto;
}
.dq-acc .dq-login:not(.dq-login--two) .dq-login__cols {
	max-width: 520px;
	margin-inline: auto;
}
.dq-acc .woocommerce > .woocommerce-notices-wrapper:has(+ .dq-login) {
	max-width: 980px;
	margin-inline: auto;
}
.dq-acc .dq-login:not(.dq-login--two) ~ *,
.dq-acc .woocommerce-notices-wrapper:has(+ .dq-login:not(.dq-login--two)) {
	max-width: 520px;
}

/* Sign-in buttons that other plugins put at the top of the form (Google, Apple, …): centred,
   then a quiet "or" line before the email fields. */
.dq-acc .dq-login form.woocommerce-form-login > :is(div, iframe):not(.form-row):not(.clear) {
	display: flex;
	justify-content: center;
	max-width: 100%;
	margin: 4px auto 0;
}
.dq-acc .dq-login form.woocommerce-form-login > :is(div, iframe):not(.form-row):not(.clear) + .woocommerce-form-row::before {
	content: attr(data-dq-or);
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 18px 0 16px;
	font-size: 13px;
	font-weight: 600;
	color: var(--dq-muted);
	background:
		linear-gradient(var(--dq-line), var(--dq-line)) left center / calc(50% - 44px) 1px no-repeat,
		linear-gradient(var(--dq-line), var(--dq-line)) right center / calc(50% - 44px) 1px no-repeat;
	justify-content: center;
}
/* WooCommerce's own CSS gives these columns 48% width and floats (.woocommerce .col2-set .col-1) */
.dq-acc .woocommerce .col2-set.dq-login__cols > .dq-login__col {
	float: none;
	width: auto;
	max-width: none;
}
/* no box inside the card: WooCommerce draws its own border around these forms */
.dq-acc .dq-login form.woocommerce-form-login,
.dq-acc .dq-login form.woocommerce-form-register {
	margin: 18px 0 0;
	padding: 0;
	border: 0;
	border-radius: 0;
}
/* the notice lines up with the card */
.dq-acc .woocommerce > .woocommerce-notices-wrapper:has(+ .dq-login) > * {
	margin-inline: 0;
}
/* WooCommerce's clearfix adds ::before/::after to .col2-set; in a grid they take real cells and push
   the sign-in card to the second column. */
.dq-acc .dq-login__cols::before,
.dq-acc .dq-login__cols::after {
	content: none;
	display: none;
}

/* =========================================================================
   v4.8.2: account area. A profile block (initial, greeting, email) at the top of the menu on every account page.
   Phones: the profile, then the pages as one row of pills that scrolls sideways, then the content with air
   above it (the greeting used to touch the menu card, and the menu filled the first screen).
   ====================================================================== */
.dq-acc .dq-acc__profile {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 16px;
}
.dq-acc .dq-acc__avatar {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: linear-gradient(135deg, #e8cd93, #9c7630);
	font-family: var(--dq-display, Georgia), serif;
	font-size: 1.35rem;
	line-height: 1;
	color: #2b211b;
}
.dq-acc .dq-acc__who {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.dq-acc.dq-acc .dq-acc__hello {
	overflow: hidden;
	font-family: var(--dq-display, Georgia), serif;
	font-size: 1.25rem;
	line-height: 1.3;
	white-space: nowrap;
	text-overflow: ellipsis;
	letter-spacing: normal;
	text-transform: none;
	color: var(--dq-ink, #2b211b);
}
.dq-acc.dq-acc .dq-acc__email {
	overflow: hidden;
	font-size: 13px;
	white-space: nowrap;
	text-overflow: ellipsis;
	color: var(--dq-muted, #6e6258);
}

@media (max-width: 899px) {
	/* the menu is no longer a tall card: profile + one row of pills */
	.dq-acc.dq-acc .dq-acc__nav {
		margin: 0 0 24px;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: none;
		box-shadow: none;
	}
	.dq-acc .dq-acc__nav-title {
		display: none;
	}
	.dq-acc.dq-acc .dq-acc__nav ul {
		display: flex;
		gap: 8px;
		margin: 0 calc(-1 * var(--dq-gutter, 16px));
		padding: 2px var(--dq-gutter, 16px) 8px;
		overflow-x: auto;
		scroll-padding-inline: var(--dq-gutter, 16px);
		scrollbar-width: none;
		list-style: none;
	}
	.dq-acc .dq-acc__nav ul::-webkit-scrollbar {
		display: none;
	}
	.dq-acc.dq-acc .dq-acc__nav li {
		flex: none;
		margin: 0;
		border: 0;
	}
	.dq-acc.dq-acc .dq-acc__nav li a {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		min-height: 44px;
		padding: 0 16px;
		border: 1px solid var(--dq-line, #e6e0da);
		border-radius: 999px;
		background: #fff;
		font-size: 14.5px;
		font-weight: 600;
		white-space: nowrap;
		color: var(--dq-ink, #2b211b);
		text-decoration: none;
	}
	.dq-acc.dq-acc .dq-acc__nav li a svg,
	.dq-acc.dq-acc .dq-acc__nav li a .dq-icon {
		width: 18px;
		height: 18px;
	}
	.dq-acc.dq-acc .dq-acc__nav li.is-active a,
	.dq-acc.dq-acc .dq-acc__nav li a[aria-current="page"] {
		border-color: var(--dq-ink, #2b211b);
		background: var(--dq-ink, #2b211b);
		color: #fff;
	}
	/* the content starts with air above it */
	.dq-acc .woocommerce-MyAccount-content {
		margin-top: 0;
		padding-top: 4px;
	}
}
/* air between the dashboard's intro line and the card under it */
.dq-acc.dq-acc .dq-acc__dash .dq-acc__text {
	margin-bottom: 24px;
}
