/* ============================================================
   BACKWOODS — Static pages
   Mobile-first
   ============================================================ */

/* ----------------------------------------------------------
   PAGE SHELL
   ---------------------------------------------------------- */
.bw-page-head {
	padding-block: 64px 40px;
}

@media (min-width: 769px) {
	.bw-page-head {
		padding-block: 80px 48px;
	}
}

.bw-page-title.wp-block-post-title {
	font-family: var(--bw-display);
	font-weight: 600;
	font-stretch: 125%;
	font-size: clamp(1.75rem, 5vw, 3rem);
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--bw-pitch);
	margin-bottom: 32px;
}

.bw-page-rule.wp-block-separator {
	border: none;
	border-top: 1px solid rgba(125, 118, 108, 0.3);
	margin: 0;
	height: 0;
	max-width: none;
	background: none !important;
}

.bw-page-body {
	padding-bottom: 160px;
}

/* ----------------------------------------------------------
   BODY TEXT — Newsreader editorial register
   ---------------------------------------------------------- */
.bw-page-body p,
.bw-page-body li {
	font-family: var(--bw-body);
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--bw-pitch);
}

/* ----------------------------------------------------------
   PAGE SUBHEADINGS
   ---------------------------------------------------------- */
.bw-page-subheading.wp-block-heading {
	font-family: var(--bw-display);
	font-weight: 600;
	font-stretch: 125%;
	font-size: clamp(1rem, 2.5vw, 1.25rem);
	line-height: 1.1;
	letter-spacing: -0.01em;
	color: var(--bw-pitch);
	margin-top: 48px;
	margin-bottom: 16px;
}

/* ----------------------------------------------------------
   FAQ — wp:details accordion
   ---------------------------------------------------------- */
.bw-faq-item.wp-block-details {
	border-bottom: 1px solid rgba(125, 118, 108, 0.25);
	padding-block: 20px;
}

.bw-faq-item summary.wp-block-details__summary,
.bw-faq-item > summary {
	font-family: var(--bw-display);
	font-weight: 600;
	font-stretch: 125%;
	font-size: 1.0625rem;
	letter-spacing: -0.01em;
	color: var(--bw-pitch);
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	user-select: none;
}

.bw-faq-item summary::-webkit-details-marker {
	display: none;
}

/* Chevron indicator */
.bw-faq-item summary::after {
	content: '+';
	font-family: var(--bw-mono);
	font-size: 1rem;
	font-weight: 500;
	color: var(--bw-ash);
	flex-shrink: 0;
	transition: transform 150ms ease;
}

.bw-faq-item[open] summary::after {
	content: '−';
}

.bw-faq-item summary:focus-visible {
	outline: 2px solid var(--bw-brass);
	outline-offset: 3px;
}

/* Answer text */
.bw-faq-item p {
	font-family: var(--bw-body);
	font-size: 1rem;
	line-height: 1.7;
	color: var(--bw-ash);
	margin-top: 16px;
	margin-bottom: 0;
}

/* First FAQ item needs a rule above */
.bw-faq-item:first-of-type {
	border-top: 1px solid rgba(125, 118, 108, 0.25);
}

/* ----------------------------------------------------------
   DATA TABLES — registration, shipping delivery
   ---------------------------------------------------------- */
.bw-reg-table table,
.bw-shipping-table table,
.bw-contact-info-table table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.8125rem;
}

.bw-reg-table td,
.bw-shipping-table td,
.bw-shipping-table th,
.bw-contact-info-table td {
	padding: 12px 0;
	border-bottom: 1px solid rgba(125, 118, 108, 0.2);
	vertical-align: top;
}

/* First column — label (mono ash) */
.bw-reg-table td:first-child,
.bw-shipping-table th,
.bw-contact-info-table td:first-child {
	font-family: var(--bw-mono);
	font-weight: 500;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--bw-ash);
	width: 40%;
	padding-right: 24px;
}

/* Second column — value (mono bone) */
.bw-reg-table td:last-child,
.bw-shipping-table td,
.bw-contact-info-table td:last-child {
	font-family: var(--bw-mono);
	font-weight: 500;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--bw-pitch);
}

/* Shipping table header row */
.bw-shipping-table thead th {
	font-family: var(--bw-mono);
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--bw-ash);
	border-bottom: 1px solid rgba(125, 118, 108, 0.4);
	padding-bottom: 10px;
}

/* ----------------------------------------------------------
   CONTACT FORM SCAFFOLD
   Replace with form plugin output when configured.
   ---------------------------------------------------------- */
.bw-contact-form {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin-top: 40px;
}

.bw-form-field {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.bw-form-label {
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--bw-ash);
}

.bw-form-input {
	font-family: var(--bw-body);
	font-size: 1rem;
	background-color: var(--bw-card);
	border: 1px solid rgba(125, 118, 108, 0.35);
	color: var(--bw-pitch);
	padding: 12px 16px;
	border-radius: 0;
	width: 100%;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color 150ms ease;
}

.bw-form-input:focus-visible {
	outline: 2px solid var(--bw-brass);
	outline-offset: 2px;
	border-color: var(--bw-brass);
}

.bw-form-textarea {
	resize: vertical;
	min-height: 160px;
	line-height: 1.6;
}

.bw-form-submit {
	background-color: var(--bw-kraft);
	color: var(--bw-pitch);
	font-family: var(--bw-mono);
	font-size: 0.75rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	padding: 14px 28px;
	border: none;
	border-radius: 0;
	cursor: pointer;
	align-self: flex-start;
	transition: background-color 150ms ease;
}

.bw-form-submit:hover {
	background-color: var(--bw-pitch);
}

.bw-form-submit:focus-visible {
	outline: 2px solid var(--bw-brass);
	outline-offset: 3px;
}
