/* File Ledge — shared front-end base styles for all variations. */

.fled {
	font-family: inherit;
	line-height: 1.4;
	color: inherit;
	box-sizing: border-box;
}

.fled *,
.fled *::before,
.fled *::after {
	box-sizing: inherit;
}

.fled--error {
	border: 1px dashed #c92a2a;
	background: #fff5f5;
	color: #5d2020;
	padding: 0.5em 1em;
	margin: 0.5em 0;
	border-radius: 4px;
}

.fled__button,
.fled__link {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	text-decoration: none;
}

.fled__button:focus-visible,
.fled__link:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.fled__button::before {
	content: "";
	display: inline-block;
	width: 0.9em;
	height: 0.9em;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 3v12m0 0l-5-5m5 5l5-5M5 21h14' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center / contain;
	        mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 3v12m0 0l-5-5m5 5l5-5M5 21h14' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center / contain;
	flex-shrink: 0;
}

/* ── Bundle structure (variation styles refine in their own files) ── */

.fled--bundle {
	display: block;
}

.fled-bundle__header {
	display: flex;
	gap: 1em;
	align-items: flex-start;
	margin-bottom: 0.5em;
}

.fled-bundle__preview img {
	max-width: 100%;
	height: auto;
	display: block;
	border-radius: 4px;
}

.fled-bundle__head-body {
	flex: 1 1 auto;
	min-width: 0;
}

.fled-bundle__title {
	margin: 0 0 0.25em;
	font-size: 1.1em;
	line-height: 1.25;
}

.fled-bundle__desc {
	margin: 0.25em 0;
	color: #444;
}

.fled-bundle__desc p {
	margin: 0.25em 0;
}

.fled-bundle__summary {
	margin: 0.25em 0 0;
	color: #666;
	font-size: 0.9em;
}

.fled-bundle__items {
	list-style: none;
	margin: 0.5em 0;
	padding: 0;
}

.fled-bundle__item {
	border-bottom: 1px solid #f0f0f1;
}

.fled-bundle__item:last-child {
	border-bottom: 0;
}

.fled-bundle__item-link {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1em;
	padding: 0.5em 0;
	text-decoration: none;
	color: inherit;
}

.fled-bundle__item-link:hover {
	text-decoration: underline;
}

.fled-bundle__item-title {
	flex: 1 1 auto;
	min-width: 0;
}

.fled-bundle__item-size {
	color: #777;
	font-size: 0.85em;
	white-space: nowrap;
}

.fled-bundle__zip {
	margin-top: 0.75em;
}
