/**
 * Dakhli — site furniture: header, navigation, drawer, footer.
 */

/* ===============================================================
 * Logo lockup
 * ============================================================= */

.dk-logo {
	display: inline-flex;
	align-items: center;
	gap: var(--dk-s3);
	text-decoration: none;
	color: inherit;
	flex: none;
}
.dk-logo .dk-mark { flex: none; }
.dk-logo__wm { display: flex; flex-direction: column; line-height: 1; }
.dk-logo__l1 {
	font-family: var(--dk-font-display);
	font-weight: 700;
	font-size: 1.75rem;
	letter-spacing: var(--dk-ls-tight);
	text-transform: uppercase;
}
/* "Sté" is a legal prefix, not part of the name — set smaller and raised. */
.dk-logo__l1 em {
	font-style: normal;
	font-size: 0.6em;
	font-weight: 600;
	letter-spacing: 0.02em;
	margin-right: 0.26em;
	vertical-align: 0.2em;
	color: var(--dk-text-muted);
}
.dk-logo__l2 {
	font-family: var(--dk-font-mono);
	font-weight: 500;
	font-size: 0.625rem;
	letter-spacing: var(--dk-ls-wide);
	text-transform: uppercase;
	color: var(--dk-text-muted);
	margin-top: 3px;
}

/* ===============================================================
 * Header
 * ============================================================= */

.dk-header {
	position: sticky;
	top: 0;
	z-index: var(--dk-z-header);
	background: var(--dk-white);
	border-bottom: var(--dk-border);
}

/* --- utility bar --- */

.dk-topbar {
	font-size: var(--dk-t-xs);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.dk-topbar__inner {
	display: flex;
	align-items: center;
	gap: var(--dk-s4);
	min-height: var(--dk-topbar-h);
}
.dk-topbar__item {
	display: inline-flex;
	align-items: center;
	gap: var(--dk-s2);
	margin: 0;
	color: var(--dk-ink-300);
	white-space: nowrap;
}
.dk-topbar__item .dk-icon { color: var(--dk-yellow); flex: none; }
.dk-topbar__divider {
	width: 1px;
	height: 15px;
	background: rgba(255, 255, 255, 0.18);
}
.dk-topbar__tagline {
	margin: 0 0 0 auto;
	font-family: var(--dk-font-mono);
	font-size: var(--dk-t-2xs);
	letter-spacing: var(--dk-ls-label);
	text-transform: uppercase;
	color: var(--dk-yellow);
	white-space: nowrap;
}
.dk-topbar__phone {
	display: inline-flex;
	align-items: center;
	gap: var(--dk-s2);
	margin-left: var(--dk-s4);
	color: var(--dk-white);
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	transition: color var(--dk-dur) var(--dk-ease);
}
.dk-topbar__phone .dk-icon { color: var(--dk-yellow); flex: none; }
.dk-topbar__phone:hover { color: var(--dk-yellow); }
.dk-topbar__social { display: flex; gap: var(--dk-s1); margin-left: var(--dk-s4); }
.dk-topbar__social a {
	display: grid;
	place-items: center;
	width: 26px; height: 26px;
	color: var(--dk-ink-300);
	border-radius: var(--dk-radius);
	transition: color var(--dk-dur) var(--dk-ease), background var(--dk-dur) var(--dk-ease);
}
.dk-topbar__social a:hover { color: var(--dk-ink); background: var(--dk-yellow); }

@media (max-width: 899px) {
	.dk-topbar__tagline, .dk-topbar__divider, .dk-topbar__social { display: none; }
	/* The tagline goes, so the phone takes over pushing the bar's right end. */
	.dk-topbar__item:nth-child(3) { margin-left: 0; }
	.dk-topbar__phone { margin-left: auto; }
}
@media (max-width: 520px) {
	.dk-topbar__item:nth-child(3) { display: none; }
}

/* --- masthead --- */

.dk-masthead { background: var(--dk-white); }
.dk-masthead__inner {
	display: flex;
	align-items: center;
	gap: var(--dk-s5);
	min-height: var(--dk-header-h);
	padding-block: var(--dk-s3);
}
/* min-width:0 lets the field actually shrink inside the flex row; without it
   the input's intrinsic width wins and pushes the actions off-screen. */
.dk-masthead__search { flex: 1 1 auto; min-width: 0; max-width: 560px; }
.dk-masthead__actions {
	display: flex;
	align-items: center;
	gap: var(--dk-s1);
	margin-left: auto;
	flex: none;
}

/* Below the nav breakpoint the inline field is replaced by the search toggle
   and the slide-down panel, so it must not occupy the row at all. */
@media (max-width: 899px) {
	.dk-masthead__search { display: none; }
	.dk-masthead__inner { gap: var(--dk-s3); }
}

/* Phone block — a hardware shop takes a lot of orders by voice, so the
   number gets real estate rather than hiding in the utility bar. */
.dk-callbox {
	display: inline-flex;
	align-items: center;
	gap: var(--dk-s3);
	padding: var(--dk-s2) var(--dk-s4) var(--dk-s2) var(--dk-s3);
	margin-right: var(--dk-s2);
	border-left: 1px solid var(--dk-line);
	text-decoration: none;
	color: inherit;
}
.dk-callbox__icon { color: var(--dk-yellow-700); flex: none; }
.dk-callbox__text { display: flex; flex-direction: column; line-height: 1.2; }
.dk-callbox__label {
	font-family: var(--dk-font-mono);
	font-size: var(--dk-t-2xs);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--dk-text-faint);
}
.dk-callbox__num {
	font-family: var(--dk-font-display);
	font-weight: 700;
	font-size: 1.125rem;
	letter-spacing: 0.01em;
}
.dk-callbox:hover .dk-callbox__num { color: var(--dk-yellow-700); }

@media (max-width: 1140px) { .dk-callbox { display: none; } }

/* --- search --- */

.dk-search {
	position: relative;
	display: flex;
	align-items: center;
	background: var(--dk-paper-2);
	border: 1px solid var(--dk-line-strong);
	border-radius: var(--dk-radius);
	transition: border-color var(--dk-dur) var(--dk-ease), background var(--dk-dur) var(--dk-ease);
}
.dk-search:focus-within {
	background: var(--dk-white);
	border-color: var(--dk-ink);
	box-shadow: var(--dk-ring);
}
.dk-search__icon {
	position: absolute;
	left: var(--dk-s3);
	color: var(--dk-ink-400);
	pointer-events: none;
}
/* Attribute selector, not just the class: the generic `input[type='search']`
   rule in ui.css scores 0,1,1 and would otherwise win on padding, dropping the
   placeholder underneath the magnifier. */
.dk-search input[type='search'].dk-search__input {
	flex: 1;
	width: 100%;
	min-width: 0;
	border: 0;
	background: transparent;
	padding: 0.72em 0.9em 0.72em 2.75rem;
	font-size: var(--dk-t-base);
}
.dk-search input[type='search'].dk-search__input:focus {
	outline: none;
	box-shadow: none;
}
.dk-search__submit {
	display: grid;
	place-items: center;
	width: 46px;
	align-self: stretch;
	background: var(--dk-yellow);
	color: var(--dk-ink);
	border-radius: 0 1px 1px 0;
	transition: background var(--dk-dur) var(--dk-ease);
}
.dk-search__submit:hover { background: var(--dk-yellow-600); }

.dk-mobile-search {
	border-top: var(--dk-border);
	padding: var(--dk-s3) 0;
	background: var(--dk-paper);
}

/* ===============================================================
 * Primary navigation
 * ============================================================= */

.dk-navbar { border-top: var(--dk-border); background: var(--dk-white); }
.dk-navbar__inner { display: flex; align-items: center; gap: var(--dk-s5); }

.dk-nav {
	display: flex;
	align-items: stretch;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}
.dk-nav__item { position: relative; display: flex; }
.dk-nav__link {
	display: inline-flex;
	align-items: center;
	gap: var(--dk-s2);
	padding: 0.95rem var(--dk-s4);
	font-family: var(--dk-font-display);
	font-size: 1.0625rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--dk-ink-700);
	position: relative;
	transition: color var(--dk-dur) var(--dk-ease);
}
.dk-nav__link:first-child { padding-left: 0; }

/* Yellow underline that grows from the left on hover and for the current
   page. Anchored to the text, not the padding box. */
.dk-nav__link::after {
	content: '';
	position: absolute;
	left: var(--dk-s4);
	right: var(--dk-s4);
	bottom: 0.55rem;
	height: 3px;
	background: var(--dk-yellow);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--dk-dur) var(--dk-ease);
}
.dk-nav__item:first-child .dk-nav__link::after { left: 0; }
.dk-nav__link:hover { color: var(--dk-ink); }
.dk-nav__link:hover::after,
.dk-nav__item.is-current .dk-nav__link::after { transform: scaleX(1); }
.dk-nav__chev { transition: transform var(--dk-dur) var(--dk-ease); }
.dk-nav__item--mega:hover .dk-nav__chev,
.dk-nav__item--mega:focus-within .dk-nav__chev { transform: rotate(180deg); }

.dk-navbar__note {
	display: inline-flex;
	align-items: center;
	gap: var(--dk-s2);
	margin: 0 0 0 auto;
	font-family: var(--dk-font-mono);
	font-size: var(--dk-t-2xs);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--dk-ink-600);
	white-space: nowrap;
}
.dk-navbar__note .dk-icon { color: var(--dk-yellow-700); }

/* --- mega menu --- */

.dk-mega {
	position: absolute;
	top: 100%;
	left: 0;
	width: min(1100px, calc(100vw - 2 * var(--dk-gutter)));
	background: var(--dk-white);
	border: var(--dk-border);
	border-top: 3px solid var(--dk-yellow);
	box-shadow: var(--dk-shadow-pop);
	z-index: var(--dk-z-dropdown);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity var(--dk-dur) var(--dk-ease),
		transform var(--dk-dur) var(--dk-ease),
		visibility 0s linear var(--dk-dur);
}
.dk-nav__item--mega:hover .dk-mega,
.dk-nav__item--mega:focus-within .dk-mega {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	transition-delay: 0s;
}
.dk-mega__inner { display: grid; grid-template-columns: 1fr 250px; }
.dk-mega__cols {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--dk-s5) var(--dk-s6);
	list-style: none;
	margin: 0;
	padding: var(--dk-s6);
}
.dk-mega__head {
	display: flex;
	align-items: center;
	gap: var(--dk-s2);
	font-family: var(--dk-font-display);
	font-size: 1.0625rem;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
	padding-bottom: var(--dk-s2);
	margin-bottom: var(--dk-s2);
	border-bottom: var(--dk-border);
}
.dk-mega__icon { color: var(--dk-yellow-700); flex: none; }
.dk-mega__head:hover { color: var(--dk-yellow-700); }
.dk-mega__sub { list-style: none; margin: 0; padding: 0; }
.dk-mega__sub a {
	display: block;
	padding: 0.2rem 0;
	font-size: var(--dk-t-sm);
	color: var(--dk-text-muted);
	text-decoration: none;
}
.dk-mega__sub a:hover { color: var(--dk-ink); }
.dk-mega__aside {
	background: var(--dk-paper-2);
	border-left: var(--dk-border);
	padding: var(--dk-s6);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.dk-mega__note {
	font-size: var(--dk-t-sm);
	color: var(--dk-text-muted);
	margin-bottom: var(--dk-s4);
}

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

.dk-drawer { position: fixed; inset: 0; z-index: var(--dk-z-drawer); }
.dk-drawer[hidden] { display: none; }
.dk-drawer__scrim {
	position: absolute;
	inset: 0;
	background: rgba(18, 20, 26, 0.5);
	animation: dk-fade var(--dk-dur) var(--dk-ease);
}
.dk-drawer__panel {
	position: absolute;
	inset-block: 0;
	right: 0;
	width: min(400px, 88vw);
	background: var(--dk-paper);
	display: flex;
	flex-direction: column;
	animation: dk-slide var(--dk-dur-slow) var(--dk-ease);
}
@keyframes dk-fade { from { opacity: 0; } }
@keyframes dk-slide { from { transform: translateX(100%); } }

.dk-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: var(--dk-s4);
	border-bottom: var(--dk-border);
	background: var(--dk-white);
}
.dk-drawer__body { flex: 1; overflow-y: auto; padding: var(--dk-s5) var(--dk-s4); }
.dk-drawer__body .dk-eyebrow { margin-top: var(--dk-s6); }

.dk-drawer__nav { list-style: none; margin: 0 0 var(--dk-s5); padding: 0; }
.dk-drawer__nav a {
	display: block;
	padding: 0.7rem 0;
	border-bottom: var(--dk-border);
	font-family: var(--dk-font-display);
	font-size: 1.25rem;
	font-weight: 600;
	text-transform: uppercase;
	text-decoration: none;
}
.dk-drawer__cats { list-style: none; margin: 0; padding: 0; }
.dk-drawer__cats a {
	display: flex;
	align-items: center;
	gap: var(--dk-s3);
	padding: 0.7rem 0;
	border-bottom: var(--dk-border);
	text-decoration: none;
	font-weight: 500;
}
.dk-drawer__cats .dk-icon:first-child { color: var(--dk-yellow-700); flex: none; }
.dk-drawer__go { margin-left: auto; color: var(--dk-ink-300); }

.dk-drawer__foot {
	padding: var(--dk-s4);
	border-top: var(--dk-border);
	background: var(--dk-white);
}
.dk-drawer__note {
	margin: var(--dk-s2) 0 0;
	text-align: center;
	font-size: var(--dk-t-xs);
	color: var(--dk-text-faint);
}

body.dk-drawer-open { overflow: hidden; }

/* ===============================================================
 * Page header
 * ============================================================= */

.dk-pagehead {
	background: var(--dk-paper-2);
	border-bottom: var(--dk-border);
	padding-bottom: var(--dk-s7);
}
.dk-pagehead .dk-crumbs { padding-top: var(--dk-s4); }
.dk-pagehead__title { margin: 0 0 var(--dk-s3); }

/* ===============================================================
 * Help strip
 * ============================================================= */

.dk-helpstrip {
	background: var(--dk-yellow);
	color: var(--dk-ink);
	border-top: 2px solid var(--dk-ink);
}
.dk-helpstrip__inner {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: var(--dk-s6);
	align-items: center;
	padding-block: var(--dk-s8);
}
.dk-helpstrip .dk-eyebrow { color: var(--dk-ink-700); }
.dk-helpstrip .dk-eyebrow::before { background: var(--dk-ink); }
.dk-helpstrip__title {
	font-size: var(--dk-d-lg);
	margin: 0 0 var(--dk-s3);
}
.dk-helpstrip__text { max-width: 54ch; color: var(--dk-ink-700); margin: 0; }
.dk-helpstrip__actions { display: flex; gap: var(--dk-s3); flex-wrap: wrap; }
.dk-helpstrip .dk-btn--primary {
	--btn-bg: var(--dk-ink);
	--btn-fg: var(--dk-white);
	--btn-bd: var(--dk-ink);
}
.dk-helpstrip .dk-btn--primary:hover { --btn-bg: var(--dk-ink-700); --btn-bd: var(--dk-ink-700); }

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

/* ===============================================================
 * Footer
 * ============================================================= */

.dk-footer { padding-top: var(--dk-s7); }
.dk-footer__grid {
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr 1.1fr;
	gap: var(--dk-s5) var(--dk-s6);
	padding-bottom: var(--dk-s6);
}
.dk-footer__brand .dk-logo { margin-bottom: var(--dk-s3); }
.dk-footer__blurb {
	color: var(--dk-ink-300);
	font-size: var(--dk-t-sm);
	max-width: 42ch;
	margin-bottom: var(--dk-s4);
}
.dk-footer__contact { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--dk-s3); }
.dk-footer__contact li {
	display: flex;
	gap: var(--dk-s3);
	align-items: flex-start;
	font-size: var(--dk-t-sm);
	color: var(--dk-ink-300);
}
.dk-footer__contact .dk-icon { color: var(--dk-yellow); flex: none; margin-top: 2px; }
.dk-footer__contact a { text-decoration: none; }
.dk-footer__contact a:hover { color: var(--dk-yellow); }

.dk-footer__title {
	font-size: 1rem;
	margin-bottom: var(--dk-s3);
	padding-bottom: var(--dk-s2);
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
	color: var(--dk-white);
}
.dk-footer__list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--dk-s2); }
.dk-footer__list a {
	font-size: var(--dk-t-sm);
	color: var(--dk-ink-300);
	text-decoration: none;
}
.dk-footer__list a:hover { color: var(--dk-yellow); }

.dk-hours { font-size: var(--dk-t-sm); }
.dk-hours th {
	text-align: left;
	font-weight: 500;
	color: var(--dk-ink-300);
	padding: 0.28rem 0;
}
.dk-hours td {
	text-align: right;
	font-family: var(--dk-font-mono);
	font-size: var(--dk-t-xs);
	color: var(--dk-white);
	padding: 0.28rem 0;
}
.dk-hours td.is-closed { color: var(--dk-ink-400); }

.dk-footer__pay {
	display: flex;
	align-items: center;
	gap: var(--dk-s2);
	margin-top: var(--dk-s4);
	padding: var(--dk-s2) var(--dk-s3);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: var(--dk-radius);
	font-size: var(--dk-t-xs);
	color: var(--dk-ink-300);
}
.dk-footer__pay .dk-icon { color: var(--dk-yellow); flex: none; }

.dk-footer__bottom {
	display: flex;
	align-items: center;
	gap: var(--dk-s5);
	flex-wrap: wrap;
	padding-block: var(--dk-s4);
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.dk-footer__copy { margin: 0; font-size: var(--dk-t-xs); color: var(--dk-ink-400); }
.dk-footer__legal {
	list-style: none;
	display: flex;
	gap: var(--dk-s4);
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
}
.dk-footer__legal a {
	font-size: var(--dk-t-xs);
	color: var(--dk-ink-400);
	text-decoration: none;
}
.dk-footer__legal a:hover { color: var(--dk-yellow); }
.dk-footer__social { display: flex; gap: var(--dk-s2); margin-left: auto; }
.dk-footer__social a {
	display: grid;
	place-items: center;
	width: 34px; height: 34px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: var(--dk-radius);
	color: var(--dk-ink-300);
	transition: all var(--dk-dur) var(--dk-ease);
}
.dk-footer__social a:hover {
	background: var(--dk-yellow);
	border-color: var(--dk-yellow);
	color: var(--dk-ink);
}

@media (max-width: 1080px) {
	.dk-footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
	.dk-footer__grid { grid-template-columns: 1fr; gap: var(--dk-s5); }
	.dk-footer__social { margin-left: 0; }
}

/* ===============================================================
 * Editorial cards (blog, archives, search)
 * ============================================================= */

.dk-postgrid,
.dk-searchgrid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
	gap: var(--dk-s5);
}

.dk-postcard {
	background: var(--dk-white);
	border: var(--dk-border);
	border-radius: var(--dk-radius);
	transition: border-color var(--dk-dur) var(--dk-ease), transform var(--dk-dur) var(--dk-ease);
}
.dk-postcard:hover { border-color: var(--dk-line-strong); transform: translateY(-2px); }
.dk-postcard__link { display: block; text-decoration: none; color: inherit; height: 100%; }
.dk-postcard__media { overflow: hidden; border-bottom: var(--dk-border); }
.dk-postcard__media img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform var(--dk-dur-slow) var(--dk-ease);
}
.dk-postcard:hover .dk-postcard__media img { transform: scale(1.03); }
.dk-postcard__body { padding: var(--dk-s5); }
.dk-postcard__title {
	font-size: var(--dk-d-sm);
	margin: var(--dk-s2) 0 var(--dk-s3);
}
.dk-postcard__excerpt {
	font-size: var(--dk-t-sm);
	color: var(--dk-text-muted);
	margin-bottom: var(--dk-s4);
}
.dk-postcard__more {
	display: inline-flex;
	align-items: center;
	gap: var(--dk-s2);
	font-family: var(--dk-font-mono);
	font-size: var(--dk-t-2xs);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--dk-ink);
	border-bottom: 2px solid var(--dk-yellow);
	padding-bottom: 2px;
}
.dk-postcard__more .dk-icon { transition: transform var(--dk-dur) var(--dk-ease); }
.dk-postcard:hover .dk-postcard__more .dk-icon { transform: translateX(3px); }

/* WordPress renders paginate_links( type => list ) as a ul. */
.dk-main ul.page-numbers {
	display: flex;
	justify-content: center;
	gap: var(--dk-s2);
	list-style: none;
	margin: var(--dk-s8) 0 0;
	padding: 0;
	flex-wrap: wrap;
}
.dk-main ul.page-numbers a,
.dk-main ul.page-numbers span {
	min-width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	padding: 0 var(--dk-s3);
	border: 1px solid var(--dk-line-strong);
	border-radius: var(--dk-radius);
	font-family: var(--dk-font-mono);
	font-size: var(--dk-t-sm);
	text-decoration: none;
	background: var(--dk-white);
	transition: border-color var(--dk-dur) var(--dk-ease);
}
.dk-main ul.page-numbers a:hover { border-color: var(--dk-ink); }
.dk-main ul.page-numbers .current {
	background: var(--dk-ink);
	border-color: var(--dk-ink);
	color: var(--dk-white);
}

.dk-page__media {
	margin: 0 0 var(--dk-s7);
	border: var(--dk-border);
}
.dk-page__media img { width: 100%; }

/* ===============================================================
 * Empty states / 404
 * ============================================================= */

.dk-404 { background: var(--dk-paper-2); }
.dk-404__inner {
	max-width: 640px;
	padding-block: var(--dk-section-lg);
	text-align: center;
}
.dk-404__inner .dk-eyebrow { justify-content: center; }
.dk-404__title { font-size: var(--dk-d-xl); }
.dk-404__inner .dk-lead { margin-inline: auto; }
.dk-404__search { margin: var(--dk-s6) 0; }
.dk-404__inner .dk-cluster { justify-content: center; }

.dk-empty {
	text-align: center;
	max-width: 560px;
	margin-inline: auto;
	padding-block: var(--dk-s9);
}
.dk-empty__icon { margin: 0 auto var(--dk-s4); color: var(--dk-ink-300); }
.dk-empty .dk-lead { margin-inline: auto; }

/* ===============================================================
 * Contact page
 * ============================================================= */

.dk-contact {
	display: grid;
	grid-template-columns: 1.3fr 0.7fr;
	gap: var(--dk-s8);
	align-items: start;
}
@media (max-width: 900px) {
	.dk-contact { grid-template-columns: 1fr; gap: var(--dk-s6); }
}

.dk-contact__form h2 { font-size: var(--dk-d-md); margin-bottom: var(--dk-s5); }

.dk-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--dk-s4);
}
@media (max-width: 560px) { .dk-form__row { grid-template-columns: 1fr; } }

/* Honeypot: off-screen rather than display:none, since some bots skip
   hidden fields but happily fill positioned ones. */
.dk-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.dk-contact__aside { display: grid; gap: var(--dk-s4); }
.dk-contact__card { background: var(--dk-ink); color: var(--dk-white); border-color: var(--dk-ink); }
.dk-contact__card .dk-eyebrow { color: var(--dk-ink-300); }
.dk-contact__phone {
	display: block;
	font-family: var(--dk-font-display);
	font-size: 1.875rem;
	font-weight: 700;
	color: var(--dk-yellow);
	text-decoration: none;
	line-height: 1.1;
	margin-bottom: var(--dk-s2);
}
.dk-contact__phone:hover { color: var(--dk-white); }
.dk-contact__hours { font-size: var(--dk-t-sm); color: var(--dk-ink-300); margin: 0; }
.dk-contact__title { font-size: 1.1875rem; margin-bottom: var(--dk-s4); }
.dk-contact__aside .dk-store__facts { margin: 0 0 var(--dk-s5); }

/* Footer hours table re-used on a light panel. */
.dk-hours--light th { color: var(--dk-ink-600); }
.dk-hours--light td { color: var(--dk-ink); }
.dk-hours--light tr { border-bottom: var(--dk-border); }
.dk-hours--light td.is-closed { color: var(--dk-text-faint); }

/* ===============================================================
 * Fact list (store details) — shared by the homepage and contact page
 * ============================================================= */

.dk-store__facts {
	list-style: none;
	margin: var(--dk-s6) 0;
	padding: 0;
	display: grid;
	gap: var(--dk-s4);
}
.dk-store__facts li { display: flex; gap: var(--dk-s3); align-items: flex-start; }
.dk-store__facts .dk-icon { color: var(--dk-yellow-700); flex: none; margin-top: 3px; }
.dk-store__facts span { display: flex; flex-direction: column; font-size: var(--dk-t-base); }
.dk-store__facts strong {
	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);
	margin-bottom: 2px;
}
.dk-store__facts a { text-decoration: none; }
.dk-store__facts a:hover { color: var(--dk-yellow-700); }

/* ===============================================================
 * Tap targets
 *
 * Standalone links in the footer and section headers were 14–22px tall,
 * under the 24px minimum target size (WCAG 2.5.8). Inline links inside a
 * paragraph are exempt and deliberately left alone.
 * ============================================================= */

.dk-footer__list a,
.dk-footer__legal a,
.dk-mega__sub a,
.dk-widget li a {
	display: block;
	padding-block: 0.3rem;
	min-height: 24px;
}
.dk-head__more { padding-block: 0.2rem; min-height: 24px; }
.dk-footer__contact a { display: inline-block; padding-block: 0.15rem; }
