/**
 * Component — entry content and long-form prose
 * ==========================================================================
 * Styles the output of the block editor, which the theme does not control:
 * WordPress alignment classes are matched here rather than in base/, so the
 * measure and rhythm apply only inside `.prose`.
 *
 * @package Preloved
 * @since   1.0.0
 * ========================================================================== */

.entry__title {
	margin-block-end: var(--pl-space-3);
	font-size: var(--pl-h1);
}

.entry-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--pl-space-2);
	font-size: var(--pl-caption);
	color: var(--pl-text-muted);
}

.entry-meta a { color: inherit; }
.entry-meta a:hover { color: var(--pl-primary); }

.entry__media { margin: 0 0 var(--pl-space-7); }

.entry__image {
	inline-size: 100%;
	border-radius: var(--pl-radius-lg);
	object-fit: cover;
}

.entry__caption {
	margin-block-start: var(--pl-space-2);
	font-size: var(--pl-caption);
	color: var(--pl-text-muted);
	text-align: center;
}

.prose {
	font-size: var(--pl-body);
	line-height: var(--pl-leading-body);
	max-inline-size: 70ch;
}

.prose > * + * { margin-block-start: var(--pl-space-4); }

.prose :is(h2, h3, h4) { margin-block-start: var(--pl-space-7); }

.prose :is(ul, ol) {
	margin-block: var(--pl-space-4);
	padding-inline-start: var(--pl-space-5);
}

.prose li + li { margin-block-start: var(--pl-space-2); }

.prose :is(img, figure) { border-radius: var(--pl-radius); }
.prose figure { margin-inline: 0; }

.prose figcaption {
	margin-block-start: var(--pl-space-2);
	font-size: var(--pl-caption);
	color: var(--pl-text-muted);
	text-align: center;
}


/* Editor alignment classes ------------------------------------------------ */

.alignleft {
	float: inline-start;
	margin-inline-end: var(--pl-space-5);
	margin-block-end: var(--pl-space-4);
}

.alignright {
	float: inline-end;
	margin-inline-start: var(--pl-space-5);
	margin-block-end: var(--pl-space-4);
}

.aligncenter { display: block; margin-inline: auto; }

.alignwide {
	inline-size: min(100vw - var(--pl-gutter) * 2, 1100px);
	max-inline-size: none;
	margin-inline: calc(50% - min(100vw - var(--pl-gutter) * 2, 1100px) / 2);
}

.alignfull {
	inline-size: 100vw;
	max-inline-size: none;
	margin-inline: calc(50% - 50vw);
}


/* Entry footer ------------------------------------------------------------ */

.entry__tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--pl-space-2);
	margin-block-start: var(--pl-space-7);
	padding-block-start: var(--pl-space-5);
	border-block-start: 1px solid var(--pl-line-soft);
	font-size: var(--pl-caption);
	color: var(--pl-text-muted);
}

.entry__tags a {
	padding: var(--pl-space-1) var(--pl-space-3);
	background-color: var(--pl-bg-sunken);
	border-radius: var(--pl-radius-pill);
	color: var(--pl-text-secondary);
	text-decoration: none;
}

.entry__tags a:hover {
	background-color: var(--pl-peach-100);
	color: var(--pl-orange-900);
}

.page-links {
	display: flex;
	align-items: center;
	gap: var(--pl-space-2);
	margin-block-start: var(--pl-space-6);
}


/* ==========================================================================
   Policy rate table — [preloved_shipping_rates]
   ==========================================================================
   Rendered inside prose on the Shipping Policy, from the same settings the
   checkout charges from. Styled here rather than in the plugin: the plugin owns
   the data, the theme owns how it looks.
   ========================================================================== */

.policy-rates {
	margin-block: var(--pl-space-6);
}

.policy-rates__table {
	inline-size: 100%;
	border-collapse: collapse;
	font-size: var(--pl-body-sm);
	font-variant-numeric: tabular-nums;
}

.policy-rates__table th,
.policy-rates__table td {
	padding: var(--pl-space-3) var(--pl-space-4);
	text-align: start;
	border-block-end: 1px solid var(--pl-line-soft);
}

.policy-rates__table thead th {
	background-color: var(--pl-peach-50);
	font-size: var(--pl-caption);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: var(--pl-tracking-wide);
	color: var(--pl-text-secondary);
	border-block-end-color: var(--pl-border);
}

.policy-rates__table tbody th {
	font-weight: 600;
	color: var(--pl-text);
}

/* The default row is the baseline every other row is read against. */
.policy-rates__table tbody tr:first-child {
	background-color: var(--pl-bg-sunken);
}

.policy-rates__note {
	margin-block-start: var(--pl-space-3);
	font-size: var(--pl-caption);
	color: var(--pl-text-muted);
}

/* Narrow screens: the table scrolls in its own box rather than the page. */
@media (max-width: 599px) {
	.policy-rates {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.policy-rates__table { min-inline-size: 30rem; }
}
