/**
 * Dakhli — WooCommerce.
 *
 * WooCommerce's own stylesheets are dequeued in inc/assets.php, so everything
 * the shop needs is here. Class names follow WooCommerce's markup where the
 * template is core's, and the dk- prefix where the markup is this theme's.
 */

/* ===============================================================
 * Product grid
 * ============================================================= */

ul.products {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--dk-s4);
	list-style: none;
	margin: 0;
	padding: 0;
}
ul.products::before,
ul.products::after { content: none; }

@media (max-width: 1080px) { ul.products { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 820px) { ul.products { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 420px) { ul.products { grid-template-columns: 1fr; } }

ul.products li.product {
	display: flex;
	flex-direction: column;
	background: var(--dk-white);
	border: var(--dk-border);
	border-radius: var(--dk-radius);
	overflow: hidden;
	transition: border-color var(--dk-dur) var(--dk-ease),
		transform var(--dk-dur) var(--dk-ease);
}
ul.products li.product:hover {
	border-color: var(--dk-ink);
	transform: translateY(-3px);
}

/* --- media --- */

.dk-card__media {
	position: relative;
	display: block;
	background: var(--dk-paper-2);
	overflow: hidden;
	aspect-ratio: 1 / 1;
}
.dk-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--dk-dur-slow) var(--dk-ease);
}
li.product:hover .dk-card__media img { transform: scale(1.05); }

.dk-card__flags {
	position: absolute;
	top: var(--dk-s3);
	left: var(--dk-s3);
	display: flex;
	flex-direction: column;
	gap: var(--dk-s1);
	align-items: flex-start;
	z-index: 1;
}

/* --- body --- */

.dk-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: var(--dk-s4);
	gap: var(--dk-s1);
}
.dk-card__cat {
	font-family: var(--dk-font-mono);
	font-size: var(--dk-t-2xs);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--dk-text-faint);
	margin: 0;
}
.dk-card__title {
	font-family: var(--dk-font-sans);
	font-size: var(--dk-t-base);
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0;
	text-transform: none;
	margin: 0;
}
.dk-card__title a { text-decoration: none; }
.dk-card__title a:hover { color: var(--dk-yellow-700); }
.dk-card__body .dk-ref { margin: 0; }

/* Pushes price and button to the bottom so cards align on a row. */
.dk-card__foot {
	margin-top: auto;
	padding-top: var(--dk-s3);
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--dk-s2);
}

.dk-card__price { line-height: 1.2; }
.dk-card__price .woocommerce-Price-amount {
	font-family: var(--dk-font-display);
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: var(--dk-ls-tight);
	white-space: nowrap;
}
/* Struck-through original price on a promo. */
.dk-card__price del {
	display: block;
	opacity: 1;
	margin-bottom: 1px;
}
.dk-card__price del .woocommerce-Price-amount {
	font-size: var(--dk-t-sm);
	font-weight: 500;
	color: var(--dk-text-faint);
	text-decoration: line-through;
}
.dk-card__price ins { text-decoration: none; background: none; }
.dk-card__price ins .woocommerce-Price-amount { color: var(--dk-red); }

.dk-card__stock {
	display: flex;
	align-items: center;
	gap: 0.4em;
	margin: 0;
	font-size: var(--dk-t-xs);
	color: var(--dk-green);
	white-space: nowrap;
}
.dk-card__stock.is-out { color: var(--dk-text-faint); }
.dk-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
	flex: none;
}

.dk-card__cta,
li.product .add_to_cart_button,
li.product .button {
	margin-top: var(--dk-s4);
	width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--dk-s2);
	padding: 0.6em 1em;
	background: transparent;
	color: var(--dk-ink);
	border: 1.5px solid var(--dk-ink);
	border-radius: var(--dk-radius);
	font-family: var(--dk-font-display);
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	text-decoration: none;
	line-height: 1.1;
	transition: background var(--dk-dur) var(--dk-ease), color var(--dk-dur) var(--dk-ease);
}
li.product .button:hover {
	background: var(--dk-yellow);
	border-color: var(--dk-yellow);
	color: var(--dk-ink);
}
li.product .button.loading { opacity: 0.6; pointer-events: none; }
li.product .button.added::after {
	content: '';
	width: 14px;
	height: 8px;
	border-left: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(-45deg) translateY(-2px);
}
li.product .added_to_cart { display: none; }

/* ===============================================================
 * Shop layout
 * ============================================================= */

.dk-shop { padding-block: var(--dk-s7) var(--dk-section); }

.dk-shop__layout {
	display: grid;
	grid-template-columns: 268px 1fr;
	gap: var(--dk-s7);
	align-items: start;
}
body.dk-no-sidebar .dk-shop__layout { grid-template-columns: 1fr; }

@media (max-width: 980px) {
	.dk-shop__layout { grid-template-columns: 1fr; }
}

/* --- toolbar --- */

.dk-shop__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--dk-s4);
	padding-bottom: var(--dk-s4);
	margin-bottom: var(--dk-s5);
	border-bottom: var(--dk-border);
	flex-wrap: wrap;
}
.woocommerce-result-count {
	margin: 0;
	font-family: var(--dk-font-mono);
	font-size: var(--dk-t-2xs);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--dk-text-faint);
}
.woocommerce-ordering { margin: 0; }
.woocommerce-ordering select { min-width: 220px; padding-block: 0.5em; }

/* --- sidebar --- */

.dk-widget {
	background: var(--dk-white);
	border: var(--dk-border);
	border-radius: var(--dk-radius);
	padding: var(--dk-s4);
	margin-bottom: var(--dk-s4);
}
.dk-widget__title {
	font-size: 1.0625rem;
	margin: 0 0 var(--dk-s3);
	padding-bottom: var(--dk-s2);
	border-bottom: var(--dk-border);
}
.dk-widget ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--dk-s1); }
.dk-widget li a {
	display: flex;
	justify-content: space-between;
	gap: var(--dk-s2);
	padding: 0.28rem 0;
	font-size: var(--dk-t-sm);
	color: var(--dk-text-muted);
	text-decoration: none;
}
.dk-widget li a:hover { color: var(--dk-ink); }
.dk-widget .count {
	font-family: var(--dk-font-mono);
	font-size: var(--dk-t-2xs);
	color: var(--dk-ink-300);
}
.dk-widget li.current-cat > a { color: var(--dk-ink); font-weight: 600; }

/* Category nav rendered by the theme rather than a widget. */
.dk-catnav__list { list-style: none; margin: 0; padding: 0; }
.dk-catnav__list a {
	display: flex;
	align-items: center;
	gap: var(--dk-s2);
	padding: 0.42rem 0;
	font-size: var(--dk-t-sm);
	text-decoration: none;
	color: var(--dk-text-muted);
	border-bottom: var(--dk-border);
}
.dk-catnav__list a:hover { color: var(--dk-ink); }
.dk-catnav__list .is-active > a { color: var(--dk-ink); font-weight: 600; }
.dk-catnav__list .dk-icon { color: var(--dk-yellow-700); flex: none; }
.dk-catnav__count { margin-left: auto; font-family: var(--dk-font-mono); font-size: var(--dk-t-2xs); color: var(--dk-ink-300); }
.dk-catnav__sub { list-style: none; margin: 0; padding-left: var(--dk-s5); }
.dk-catnav__sub a { border-bottom: 0; padding: 0.28rem 0; }

/* ===============================================================
 * Single product
 * ============================================================= */

.dk-single { padding-block: var(--dk-s6) var(--dk-section); }

div.product {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: var(--dk-s9);
	align-items: start;
}
@media (max-width: 900px) {
	div.product { grid-template-columns: 1fr; gap: var(--dk-s6); }
}

/* --- gallery --- */

.woocommerce-product-gallery {
	position: relative;
	border: var(--dk-border);
	background: var(--dk-white);
}
.woocommerce-product-gallery img { width: 100%; display: block; }
.woocommerce-product-gallery__trigger {
	position: absolute;
	top: var(--dk-s3);
	right: var(--dk-s3);
	z-index: 2;
	width: 40px;
	height: 40px;
	display: grid;
	place-items: center;
	background: var(--dk-white);
	border: var(--dk-border);
	border-radius: var(--dk-radius);
	font-size: 0;
	text-decoration: none;
}
.woocommerce-product-gallery__trigger::before {
	content: '';
	width: 14px; height: 14px;
	border: 2px solid var(--dk-ink);
	border-radius: 50%;
}
.woocommerce-product-gallery__trigger::after {
	content: '';
	position: absolute;
	width: 2px; height: 8px;
	background: var(--dk-ink);
	transform: rotate(-45deg) translate(6px, 4px);
}
.flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: var(--dk-s2);
	list-style: none;
	margin: var(--dk-s2);
	padding: 0;
}
.flex-control-thumbs img { border: var(--dk-border); cursor: pointer; opacity: 0.66; }
.flex-control-thumbs img.flex-active,
.flex-control-thumbs img:hover { opacity: 1; border-color: var(--dk-ink); }

/* --- summary --- */

.entry-summary .product_title {
	font-size: var(--dk-d-lg);
	margin-bottom: var(--dk-s3);
}
.dk-single__meta {
	display: flex;
	align-items: center;
	gap: var(--dk-s3);
	flex-wrap: wrap;
	margin-bottom: var(--dk-s3);
}
.dk-single__cat {
	font-family: var(--dk-font-mono);
	font-size: var(--dk-t-2xs);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--dk-ink-600);
	text-decoration: none;
	padding: 0.25em 0.55em;
	background: var(--dk-paper-2);
	border-radius: var(--dk-radius);
}
.dk-single__cat:hover { background: var(--dk-yellow); }

.entry-summary p.price {
	display: flex;
	align-items: baseline;
	gap: var(--dk-s3);
	flex-wrap: wrap;
	margin: var(--dk-s5) 0;
	padding: var(--dk-s4) 0;
	border-block: var(--dk-border);
}
.entry-summary p.price .woocommerce-Price-amount {
	font-family: var(--dk-font-display);
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: var(--dk-ls-tight);
}
.entry-summary p.price del { opacity: 1; }
.entry-summary p.price del .woocommerce-Price-amount {
	font-size: 1.375rem;
	color: var(--dk-text-faint);
	text-decoration: line-through;
}
.entry-summary p.price ins { text-decoration: none; background: none; }
.entry-summary p.price ins .woocommerce-Price-amount { color: var(--dk-red); }

.woocommerce-product-details__short-description {
	font-size: var(--dk-t-md);
	line-height: var(--dk-lh-relaxed);
	color: var(--dk-ink-600);
	margin-bottom: var(--dk-s5);
}

.stock { font-size: var(--dk-t-sm); font-weight: 600; margin-bottom: var(--dk-s4); }
.stock.in-stock { color: var(--dk-green); }
.stock.out-of-stock { color: var(--dk-red); }

form.cart {
	display: flex;
	align-items: stretch;
	gap: var(--dk-s3);
	margin-bottom: var(--dk-s5);
	flex-wrap: wrap;
}
form.cart .quantity { flex: none; }
form.cart .single_add_to_cart_button {
	flex: 1;
	min-width: 200px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--dk-s2);
	padding: 0.9em 1.8em;
	background: var(--dk-yellow);
	color: var(--dk-ink);
	border: 1.5px solid var(--dk-yellow);
	border-radius: var(--dk-radius);
	font-family: var(--dk-font-display);
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	transition: background var(--dk-dur) var(--dk-ease);
}
form.cart .single_add_to_cart_button:hover {
	background: var(--dk-yellow-600);
	border-color: var(--dk-yellow-600);
}
form.cart .single_add_to_cart_button:disabled { opacity: 0.5; cursor: not-allowed; }

.dk-single__reassure {
	list-style: none;
	margin: 0 0 var(--dk-s5);
	padding: var(--dk-s4);
	border: var(--dk-border);
	border-radius: var(--dk-radius);
	background: var(--dk-paper-2);
	display: grid;
	gap: var(--dk-s3);
}
.dk-single__reassure li {
	display: flex;
	align-items: center;
	gap: var(--dk-s3);
	font-size: var(--dk-t-sm);
}
.dk-single__reassure .dk-icon { color: var(--dk-yellow-700); flex: none; }

/* --- tabs --- */

.woocommerce-tabs {
	grid-column: 1 / -1;
	margin-top: var(--dk-s8);
	border-top: var(--dk-border);
	padding-top: var(--dk-s6);
}
ul.wc-tabs {
	display: flex;
	gap: var(--dk-s1);
	list-style: none;
	margin: 0 0 var(--dk-s5);
	padding: 0;
	border-bottom: var(--dk-border);
	flex-wrap: wrap;
}
ul.wc-tabs li a {
	display: block;
	padding: 0.7rem var(--dk-s4);
	font-family: var(--dk-font-display);
	font-size: 1.0625rem;
	font-weight: 600;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--dk-text-muted);
	border-bottom: 3px solid transparent;
	margin-bottom: -1px;
}
ul.wc-tabs li.active a { color: var(--dk-ink); border-bottom-color: var(--dk-yellow); }
.woocommerce-Tabs-panel { max-width: 76ch; }
.woocommerce-Tabs-panel h2 { font-size: var(--dk-d-sm); }
.woocommerce-Tabs-panel p { color: var(--dk-ink-600); line-height: var(--dk-lh-relaxed); }

table.shop_attributes th,
table.shop_attributes td {
	padding: 0.7rem var(--dk-s3);
	border-bottom: var(--dk-border);
	text-align: left;
	font-size: var(--dk-t-sm);
}
table.shop_attributes th {
	font-family: var(--dk-font-mono);
	font-size: var(--dk-t-2xs);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--dk-text-faint);
	font-weight: 500;
	width: 34%;
}
table.shop_attributes p { margin: 0; }

.related.products,
.upsells.products {
	grid-column: 1 / -1;
	margin-top: var(--dk-s9);
	padding-top: var(--dk-s7);
	border-top: var(--dk-border);
}
.related.products > h2,
.upsells.products > h2 { font-size: var(--dk-d-md); margin-bottom: var(--dk-s5); }

/* ===============================================================
 * Cart
 * ============================================================= */

.dk-shop .woocommerce { display: block; }

table.shop_table {
	width: 100%;
	background: var(--dk-white);
	border: var(--dk-border);
	border-radius: var(--dk-radius);
	margin-bottom: var(--dk-s5);
}
table.shop_table th {
	text-align: left;
	padding: var(--dk-s4);
	border-bottom: var(--dk-border);
	font-family: var(--dk-font-mono);
	font-size: var(--dk-t-2xs);
	font-weight: 500;
	letter-spacing: var(--dk-ls-label);
	text-transform: uppercase;
	color: var(--dk-text-faint);
}
table.shop_table td {
	padding: var(--dk-s4);
	border-bottom: var(--dk-border);
	vertical-align: middle;
}
table.shop_table tr:last-child td { border-bottom: 0; }

td.product-thumbnail { width: 88px; }
td.product-thumbnail img { width: 72px; height: 72px; object-fit: cover; border: var(--dk-border); }
td.product-name a { text-decoration: none; font-weight: 600; }
td.product-name a:hover { color: var(--dk-yellow-700); }
.product-price, .product-subtotal { font-family: var(--dk-font-mono); font-weight: 500; white-space: nowrap; }

a.remove {
	display: grid;
	place-items: center;
	width: 28px; height: 28px;
	border: var(--dk-border);
	border-radius: var(--dk-radius);
	color: var(--dk-ink-500);
	text-decoration: none;
	font-size: 18px;
	line-height: 1;
}
a.remove:hover { background: var(--dk-red); border-color: var(--dk-red); color: #fff; }

.cart-collaterals { display: grid; grid-template-columns: 1fr; gap: var(--dk-s5); }
.cart_totals { max-width: 460px; margin-left: auto; width: 100%; }
.cart_totals h2 { font-size: var(--dk-d-sm); }
.cart_totals table { width: 100%; }
.cart_totals th { width: 45%; }
.cart_totals .order-total td { font-size: 1.375rem; font-family: var(--dk-font-display); font-weight: 700; }
.wc-proceed-to-checkout { margin-top: var(--dk-s4); }
.wc-proceed-to-checkout .checkout-button {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: center;
	padding: 0.92em 2em;
	background: var(--dk-yellow);
	color: var(--dk-ink);
	border: 1.5px solid var(--dk-yellow);
	border-radius: var(--dk-radius);
	font-family: var(--dk-font-display);
	font-size: 1.1875rem;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
}
.wc-proceed-to-checkout .checkout-button:hover { background: var(--dk-yellow-600); }

.coupon { display: flex; gap: var(--dk-s2); align-items: stretch; flex-wrap: wrap; }
.coupon input { max-width: 240px; }

.actions { padding: var(--dk-s4) !important; }
.actions .button {
	padding: 0.7em 1.3em;
	border: 1.5px solid var(--dk-ink);
	border-radius: var(--dk-radius);
	background: transparent;
	font-family: var(--dk-font-display);
	font-weight: 700;
	text-transform: uppercase;
	font-size: 0.9375rem;
}
.actions .button:hover { background: var(--dk-ink); color: var(--dk-white); }
.actions .button:disabled { opacity: 0.45; }

.cart-empty,
.return-to-shop { text-align: center; }
.wc-empty-cart-message { padding-block: var(--dk-s8) var(--dk-s4); }

/* ===============================================================
 * Checkout
 * ============================================================= */

.woocommerce-checkout .dk-shop__layout { grid-template-columns: 1fr; }

form.checkout {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: var(--dk-s7);
	align-items: start;
}
@media (max-width: 900px) {
	form.checkout { grid-template-columns: 1fr; }
}

#customer_details { min-width: 0; }
#order_review_heading { margin-top: 0; font-size: var(--dk-d-sm); }

.woocommerce-billing-fields h3,
.woocommerce-additional-fields h3 { font-size: var(--dk-d-sm); margin-bottom: var(--dk-s4); }

.woocommerce-billing-fields__field-wrapper { display: grid; gap: 0; }

p.form-row { margin-bottom: var(--dk-s4); }
p.form-row label {
	display: block;
	font-family: var(--dk-font-mono);
	font-size: var(--dk-t-2xs);
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--dk-ink-600);
	margin-bottom: var(--dk-s2);
}
p.form-row .required { color: var(--dk-red); text-decoration: none; }
p.form-row .description {
	display: block;
	margin-top: var(--dk-s1);
	font-family: var(--dk-font-sans);
	font-size: var(--dk-t-xs);
	letter-spacing: 0;
	text-transform: none;
	color: var(--dk-text-faint);
}
.form-row-first, .form-row-last { width: calc(50% - var(--dk-s2)); float: left; }
.form-row-last { float: right; }
.form-row-wide, .form-row-full { clear: both; width: 100%; }
.woocommerce-billing-fields__field-wrapper::after { content: ''; display: table; clear: both; }

@media (max-width: 520px) {
	.form-row-first, .form-row-last { width: 100%; float: none; }
}

/* Order review panel — sticky so the total stays visible while the customer
   works through the address fields. */
.woocommerce-checkout-review-order {
	position: sticky;
	top: calc(var(--dk-header-h) + var(--dk-s4));
	background: var(--dk-white);
	border: var(--dk-border);
	border-top: 3px solid var(--dk-yellow);
	border-radius: var(--dk-radius);
	padding: var(--dk-s5);
}
.woocommerce-checkout-review-order table.shop_table { border: 0; margin-bottom: var(--dk-s4); }
.woocommerce-checkout-review-order table.shop_table th,
.woocommerce-checkout-review-order table.shop_table td { padding: var(--dk-s3) 0; }
.woocommerce-checkout-review-order .order-total td,
.woocommerce-checkout-review-order .order-total th { font-size: 1.25rem; }

#payment { background: transparent; }
#payment ul.payment_methods {
	list-style: none;
	margin: 0 0 var(--dk-s4);
	padding: 0;
	border: var(--dk-border);
	border-radius: var(--dk-radius);
}
#payment ul.payment_methods li { padding: var(--dk-s4); }
#payment ul.payment_methods label {
	display: inline-flex;
	align-items: center;
	gap: var(--dk-s2);
	font-family: var(--dk-font-display);
	font-size: 1.125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0;
	color: var(--dk-ink);
	margin: 0;
	cursor: pointer;
}
#payment .payment_box {
	background: var(--dk-yellow-050);
	border: 1px solid var(--dk-yellow);
	border-radius: var(--dk-radius);
	padding: var(--dk-s3) var(--dk-s4);
	margin-top: var(--dk-s3);
	font-size: var(--dk-t-sm);
	color: var(--dk-ink-700);
}
#payment .payment_box p { margin: 0; }

#place_order {
	width: 100%;
	padding: 0.95em 2em;
	background: var(--dk-ink);
	color: var(--dk-white);
	border: 1.5px solid var(--dk-ink);
	border-radius: var(--dk-radius);
	font-family: var(--dk-font-display);
	font-size: 1.1875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}
#place_order:hover { background: var(--dk-yellow); border-color: var(--dk-yellow); color: var(--dk-ink); }

.woocommerce-terms-and-conditions-wrapper { margin-bottom: var(--dk-s4); font-size: var(--dk-t-sm); }
.woocommerce-privacy-policy-text { font-size: var(--dk-t-xs); color: var(--dk-text-faint); }

/* ===============================================================
 * Notices
 * ============================================================= */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice {
	display: flex;
	align-items: center;
	gap: var(--dk-s3);
	flex-wrap: wrap;
	padding: var(--dk-s4);
	margin: 0 0 var(--dk-s5);
	border: 1px solid var(--dk-line-strong);
	border-left: 3px solid var(--dk-ink);
	border-radius: var(--dk-radius);
	background: var(--dk-white);
	list-style: none;
	font-size: var(--dk-t-base);
}
.woocommerce-message { border-left-color: var(--dk-green); background: var(--dk-green-tint); }
.woocommerce-info { border-left-color: var(--dk-yellow-600); background: var(--dk-yellow-050); }
.woocommerce-error { border-left-color: var(--dk-red); background: var(--dk-red-tint); flex-direction: column; align-items: flex-start; }
.woocommerce-error li { margin: 0; }
.woocommerce-message .button,
.woocommerce-info .button {
	margin-left: auto;
	padding: 0.5em 1.1em;
	border: 1.5px solid var(--dk-ink);
	border-radius: var(--dk-radius);
	font-family: var(--dk-font-display);
	font-weight: 700;
	font-size: 0.875rem;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
}
.woocommerce-message .button:hover { background: var(--dk-ink); color: var(--dk-white); }

/* ===============================================================
 * Account
 * ============================================================= */

.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-MyAccount-navigation a {
	display: block;
	padding: 0.65rem var(--dk-s3);
	border-bottom: var(--dk-border);
	text-decoration: none;
	font-size: var(--dk-t-sm);
	color: var(--dk-text-muted);
}
.woocommerce-MyAccount-navigation a:hover { color: var(--dk-ink); }
.woocommerce-MyAccount-navigation .is-active a {
	color: var(--dk-ink);
	font-weight: 600;
	border-bottom-color: var(--dk-yellow);
}

.woocommerce-form {
	max-width: 440px;
	background: var(--dk-white);
	border: var(--dk-border);
	border-radius: var(--dk-radius);
	padding: var(--dk-s5);
}
.woocommerce-form .button,
.woocommerce-Button {
	padding: 0.78em 1.5em;
	background: var(--dk-ink);
	color: var(--dk-white);
	border: 1.5px solid var(--dk-ink);
	border-radius: var(--dk-radius);
	font-family: var(--dk-font-display);
	font-weight: 700;
	text-transform: uppercase;
	font-size: 1rem;
}
.woocommerce-form .button:hover { background: var(--dk-yellow); border-color: var(--dk-yellow); color: var(--dk-ink); }

/* ===============================================================
 * Order confirmation
 * ============================================================= */

.woocommerce-order { max-width: 760px; }
.woocommerce-thankyou-order-received {
	font-family: var(--dk-font-display);
	font-size: var(--dk-d-md);
	font-weight: 700;
	text-transform: uppercase;
	color: var(--dk-ink);
	padding: var(--dk-s5);
	border: var(--dk-border);
	border-left: 4px solid var(--dk-green);
	background: var(--dk-green-tint);
	border-radius: var(--dk-radius);
}
ul.woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 0;
	list-style: none;
	margin: var(--dk-s5) 0;
	padding: 0;
	border: var(--dk-border);
	border-radius: var(--dk-radius);
	background: var(--dk-white);
}
ul.woocommerce-order-overview li {
	padding: var(--dk-s4);
	border-right: var(--dk-border);
	font-family: var(--dk-font-mono);
	font-size: var(--dk-t-2xs);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--dk-text-faint);
}
ul.woocommerce-order-overview li:last-child { border-right: 0; }
ul.woocommerce-order-overview li strong {
	display: block;
	margin-top: var(--dk-s2);
	font-family: var(--dk-font-display);
	font-size: 1.25rem;
	letter-spacing: 0;
	color: var(--dk-ink);
}

/* ===============================================================
 * Misc
 * ============================================================= */

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.woocommerce-breadcrumb { display: none; }

/* The gallery slider needs these before flexslider's own CSS would have. */
.woocommerce-product-gallery .flex-viewport { overflow: hidden; }
.woocommerce-product-gallery ol.flex-control-nav { padding: 0; }

/* ===============================================================
 * Branded plate (product awaiting a real photograph)
 * ============================================================= */

.dk-card__media--plate { background: var(--dk-paper-2); }
.dk-plate {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--dk-s3);
	background-color: var(--dk-paper-2);
}
.dk-plate__icon {
	display: grid;
	place-items: center;
	width: 78px;
	height: 78px;
	background: var(--dk-yellow);
	color: var(--dk-ink);
	clip-path: polygon(25% 2%, 75% 2%, 100% 50%, 75% 98%, 25% 98%, 0% 50%);
}
.dk-plate__ref {
	font-family: var(--dk-font-mono);
	font-size: var(--dk-t-2xs);
	font-weight: 500;
	letter-spacing: var(--dk-ls-label);
	text-transform: uppercase;
	color: var(--dk-ink-500);
}
li.product:hover .dk-plate__icon { background: var(--dk-yellow-600); }

/* ===============================================================
 * Sidebar widgets
 * ============================================================= */

.dk-widget__text {
	font-size: var(--dk-t-sm);
	color: var(--dk-text-muted);
	margin-bottom: var(--dk-s3);
}
.dk-widget__contact { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--dk-s2); }
.dk-widget__contact li {
	display: flex;
	align-items: center;
	gap: var(--dk-s2);
	font-size: var(--dk-t-sm);
}
.dk-widget__contact .dk-icon { color: var(--dk-yellow-700); flex: none; }
.dk-widget__contact a { text-decoration: none; font-weight: 600; }
.dk-widget__contact a:hover { color: var(--dk-yellow-700); }

.dk-widget--promo { border-top: 3px solid var(--dk-red); }
.dk-widget--help { background: var(--dk-paper-2); }

.dk-widget--ship {
	display: flex;
	gap: var(--dk-s3);
	align-items: flex-start;
	background: var(--dk-ink);
	color: var(--dk-white);
	border-color: var(--dk-ink);
}
.dk-widget--ship .dk-icon { color: var(--dk-yellow); flex: none; margin-top: 2px; }
.dk-widget--ship strong {
	display: block;
	font-family: var(--dk-font-display);
	font-size: 1.125rem;
	text-transform: uppercase;
	margin-bottom: 2px;
}
.dk-widget--ship span { font-size: var(--dk-t-xs); color: var(--dk-ink-300); }

/* On narrow screens the rayon nav goes above the grid; the support panels
   are noise there, so they drop away. */
@media (max-width: 980px) {
	.dk-widget--help,
	.dk-widget--ship { display: none; }
}

/* ===============================================================
 * Single product: sale badge and missing-photo plate
 * ============================================================= */

/* WooCommerce prints the sale flash as a direct child of div.product, which
   made it a grid item and gave it a whole row of its own above the photo.
   Pinned over the gallery's corner instead. */
div.product { position: relative; }
div.product > .onsale {
	position: absolute;
	top: var(--dk-s3);
	left: var(--dk-s3);
	z-index: 5;
	margin: 0;
	font-size: 0.9375rem;
	padding: 5px 10px;
}

.dk-single__plate {
	position: relative;
	aspect-ratio: 1 / 1;
	border: var(--dk-border);
	border-radius: var(--dk-radius);
	overflow: hidden;
}
.dk-single__plate .dk-plate__icon svg { width: 64px; height: 64px; }

/* Checkbox labels (login "Se souvenir de moi", create account, terms) read as
   a sentence, not in the uppercase mono style used for field labels above
   inputs. Applies everywhere WooCommerce prints one. */
label.woocommerce-form__label-for-checkbox,
p.form-row label.woocommerce-form__label-for-checkbox {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--dk-font-sans);
	font-size: var(--dk-t-base);
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	color: var(--dk-ink);
	cursor: pointer;
}
label.woocommerce-form__label-for-checkbox input[type='checkbox'] {
	width: 20px;
	height: 20px;
	margin: 0;
	accent-color: var(--dk-ink);
	flex: none;
}
