/* ==========================================================================
   DORIC · Support and legal
   --------------------------------------------------------------------------
   Contact, FAQ, size guide, track order, and every policy document. Reading
   pages: an index beside one measured column, hairlines for structure.
   ========================================================================== */

/* ── Document layout ────────────────────────────────────────────────────── */

.d-doc {
	display: grid;
	gap: var(--d-s9);
	padding-bottom: var(--d-s12);
}

@media (min-width: 1024px) {
	.d-doc {
		grid-template-columns: 250px minmax(0, 1fr);
		gap: clamp(48px, 6vw, 120px);
		align-items: start;
	}

	.d-doc__aside { position: sticky; top: calc(var(--d-chrome-h) + var(--d-s6)); }
}

@media (max-width: 1023px) {
	.d-doc__aside { order: 2; }
	.d-doc__toc { display: none; }
}

.d-doc__aside { display: grid; align-content: start; gap: var(--d-s8); }
.d-doc__asidetitle { margin-bottom: var(--d-s3); }

.d-doc__toclist { display: grid; }

.d-doc__toclist a {
	display: flex;
	align-items: baseline;
	gap: var(--d-s3);
	min-height: 36px;
	padding-block: var(--d-s2);
	font-size: var(--d-fs-small);
	line-height: 1.4;
	color: var(--d-text-muted);
	transition: color var(--d-dur-fast) var(--d-ease-out);
}

.d-doc__toclist a:hover { color: var(--d-text); }

.d-doc__tocnum {
	flex: none;
	font-size: var(--d-fs-micro);
	letter-spacing: .12em;
	color: var(--d-accent);
	font-variant-numeric: tabular-nums;
}

.d-doc__related ul { display: grid; border-top: var(--d-hairline) solid var(--d-border); }
.d-doc__related li { border-bottom: var(--d-hairline) solid var(--d-border); }

.d-doc__related a {
	display: flex;
	align-items: center;
	min-height: 44px;
	font-size: var(--d-fs-small);
	color: var(--d-text-muted);
	transition: color var(--d-dur-fast) var(--d-ease-out);
}

.d-doc__related a:hover { color: var(--d-text); }
.d-doc__related a[aria-current="page"] { color: var(--d-text); box-shadow: inset 2px 0 0 var(--d-accent); padding-left: var(--d-s4); }

.d-doc__body { max-width: 740px; min-width: 0; }

.d-doc__section {
	padding-block: var(--d-s8);
	border-top: var(--d-hairline) solid var(--d-border);
	scroll-margin-top: calc(var(--d-chrome-h) + var(--d-s6));
}

.d-doc__section:first-child { padding-top: 0; border-top: 0; }

.d-doc__title {
	display: flex;
	align-items: baseline;
	gap: var(--d-s4);
	margin-bottom: var(--d-s5);
	font-family: var(--d-font-display);
	font-size: var(--d-fs-h2);
	font-weight: 400;
	line-height: 1.2;
}

.d-doc__num { font-size: var(--d-fs-small); letter-spacing: .2em; color: var(--d-accent); }

.d-doc__p {
	max-width: 64ch;
	font-size: var(--d-fs-body-l);
	line-height: 1.85;
	color: var(--d-text-2);
}

.d-doc__p + .d-doc__p,
.d-doc__list + .d-doc__p,
.d-doc__steps + .d-doc__p { margin-top: var(--d-s4); }

.d-doc__p a,
.d-doc__list a,
.d-doc__steps a { color: var(--d-accent); text-decoration: underline; text-underline-offset: .2em; }

.d-doc__p strong,
.d-doc__list strong,
.d-doc__steps strong { font-weight: 500; color: var(--d-text); }

.d-doc__list,
.d-doc__steps {
	display: grid;
	gap: var(--d-s3);
	margin-top: var(--d-s4);
	max-width: 64ch;
	font-size: var(--d-fs-body);
	line-height: 1.75;
	color: var(--d-text-2);
}

.d-doc__list li { position: relative; padding-left: var(--d-s6); }

.d-doc__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .85em;
	width: 10px;
	height: 1px;
	background: var(--d-accent);
}

.d-doc__steps { counter-reset: d-step; }

.d-doc__steps li {
	position: relative;
	padding-left: var(--d-s9);
	counter-increment: d-step;
}

.d-doc__steps li::before {
	content: counter(d-step, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: .1em;
	font-family: var(--d-font-display);
	font-size: var(--d-fs-small);
	letter-spacing: .12em;
	color: var(--d-accent);
}

.d-doc__help {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--d-s5);
	margin-top: var(--d-s10);
	padding: var(--d-s7);
	background: var(--d-surface-1);
	border: var(--d-hairline) solid var(--d-border);
}

.d-doc__helptext { font-family: var(--d-font-display); font-size: 1.25rem; line-height: 1.35; }

/* ── FAQ ────────────────────────────────────────────────────────────────── */

.d-faq { padding-bottom: var(--d-s9); scroll-margin-top: calc(var(--d-chrome-h) + var(--d-s6)); }
.d-faq + .d-faq { padding-top: var(--d-s9); border-top: var(--d-hairline) solid var(--d-border-strong); }
.d-faq__title { margin-bottom: var(--d-s3); }

/* ── Size guide ─────────────────────────────────────────────────────────── */

.d-size__section { padding-block: var(--d-s10); border-top: var(--d-hairline) solid var(--d-border); }
.d-size__section:first-child { padding-top: 0; border-top: 0; }

.d-size__section:first-child {
	display: grid;
	gap: var(--d-s9);
}

@media (min-width: 1024px) {
	.d-size__section:first-child {
		grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
		gap: clamp(48px, 6vw, 120px);
	}
}

.d-size__title {
	margin-top: var(--d-s4);
	font-family: var(--d-font-display);
	font-size: var(--d-fs-h1);
	font-weight: 400;
	line-height: 1.1;
}

.d-size__text { margin-top: var(--d-s5); max-width: 46ch; color: var(--d-text-2); line-height: 1.8; }

.d-size__tips { display: grid; gap: var(--d-s2); margin-top: var(--d-s6); }

.d-size__tips li {
	position: relative;
	padding-left: var(--d-s6);
	font-size: var(--d-fs-small);
	color: var(--d-text-muted);
}

.d-size__tips li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .8em;
	width: 10px;
	height: 1px;
	background: var(--d-accent);
}

.d-measure {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	border-top: var(--d-hairline) solid var(--d-border-strong);
}

@media (min-width: 600px) {
	.d-measure { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--d-s7); }
}

.d-measure__item { padding-block: var(--d-s6); border-bottom: var(--d-hairline) solid var(--d-border); }

.d-measure__num {
	font-family: var(--d-font-display);
	font-size: var(--d-fs-small);
	letter-spacing: .2em;
	color: var(--d-accent);
}

.d-measure__title {
	margin-top: var(--d-s3);
	font-size: var(--d-fs-label);
	font-weight: 500;
	letter-spacing: var(--d-ls-label);
}

.d-measure__text { margin-top: var(--d-s2); font-size: var(--d-fs-small); line-height: 1.75; color: var(--d-text-muted); }

.d-chart__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: var(--d-s2) var(--d-s5);
	margin-bottom: var(--d-s6);
}

.d-chart__title {
	font-family: var(--d-font-display);
	font-size: var(--d-fs-h2);
	font-weight: 400;
	letter-spacing: .08em;
}

.d-chart__caption { font-size: var(--d-fs-small); color: var(--d-text-muted); }

.d-chart__scroll { overflow-x: auto; border: var(--d-hairline) solid var(--d-border); }
.d-chart__scroll:focus-visible { outline: 2px solid var(--d-focus); outline-offset: 2px; }

.d-chart__table { width: 100%; min-width: 480px; border-collapse: collapse; font-variant-numeric: tabular-nums; }

.d-chart__table th,
.d-chart__table td {
	padding: var(--d-s4) var(--d-s5);
	border-bottom: var(--d-hairline) solid var(--d-border);
	text-align: left;
	font-size: var(--d-fs-small);
	color: var(--d-text-2);
}

.d-chart__table thead th {
	font-size: var(--d-fs-micro);
	font-weight: 500;
	letter-spacing: var(--d-ls-label);
	text-transform: uppercase;
	color: var(--d-text-muted);
}

.d-chart__table tbody th { font-family: var(--d-font-display); color: var(--d-text); }

.d-chart__pending {
	display: grid;
	justify-items: start;
	gap: var(--d-s4);
	padding: var(--d-s8) var(--d-s7);
	background: var(--d-surface-1);
	border: var(--d-hairline) solid var(--d-border);
}

.d-chart__points { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--d-s2) var(--d-s4); }
.d-chart__points span:last-child { font-size: var(--d-fs-small); color: var(--d-text); }
.d-chart__note { max-width: 62ch; font-size: var(--d-fs-small); line-height: 1.8; color: var(--d-text-muted); }

/* ── Contact and track order ────────────────────────────────────────────── */

.d-contact {
	display: grid;
	gap: var(--d-s10);
	padding-bottom: var(--d-s12);
}

@media (min-width: 1024px) {
	.d-contact {
		grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr);
		gap: clamp(48px, 6vw, 120px);
		align-items: start;
	}

	.d-contact__aside { position: sticky; top: calc(var(--d-chrome-h) + var(--d-s6)); }
}

.d-contact__main { min-width: 0; }
.d-contact__aside { display: grid; gap: var(--d-s9); }
.d-contact__block > .d-label { margin-bottom: var(--d-s4); }

/* WooCommerce order tracking form and result. */
.d-trackpage .woocommerce-form-track-order { display: grid; gap: var(--d-s2); max-width: 560px; }
.d-trackpage .woocommerce-form-track-order > p:first-child { color: var(--d-text-2); }
.d-trackpage .form-row-first,
.d-trackpage .form-row-last { width: 100%; }
.d-trackpage .clear { display: none; }
