/* LALCAT Style Stories – inherits the theme font, adds brand colours */
.lcs-wall, .lcs-box {
	--lcs-maroon: #881020;
	--lcs-gold: #e89828;
	--lcs-ink: #2a1a1c;
	--lcs-muted: #7a6a6c;
	--lcs-line: #eadfdc;
	--lcs-paper: #ffffff;
	--lcs-blush: #fbf3f1;
	color: var(--lcs-ink);
}

/* Wall */
.lcs-wall__bar { display: flex; justify-content: flex-end; margin: 0 0 20px; }
.lcs-sort { display: inline-flex; border: 1px solid var(--lcs-line); border-radius: 999px; overflow: hidden; }
.lcs-sort a { padding: 8px 18px; font-size: 14px; color: var(--lcs-ink); text-decoration: none; }
.lcs-sort a[aria-current="true"] { background: var(--lcs-maroon); color: #fff; }
.lcs-sort a:focus-visible { outline: 2px solid var(--lcs-gold); outline-offset: -2px; }

.lcs-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 24px;
	align-items: start;
}

.lcs-card { background: var(--lcs-paper); border: 1px solid var(--lcs-line); border-radius: 12px; overflow: hidden; }
.lcs-card__media { background: #000; }
.lcs-card__media video { display: block; width: 100%; aspect-ratio: 9 / 16; object-fit: cover; background: #000; }
.lcs-card[data-kind="instagram"] .lcs-card__media { background: var(--lcs-blush); }
.lcs-card .instagram-media,
.lcs-card iframe.instagram-media {
	min-width: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.lcs-card__body { padding: 14px 16px 16px; }
.lcs-card__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.lcs-card__author { font-weight: 600; font-size: 15px; }
.lcs-card__views { font-size: 13px; color: var(--lcs-muted); }
.lcs-card__caption { margin: 8px 0 12px; font-size: 14px; line-height: 1.5; color: var(--lcs-ink); }

/* The like button is the one bold element */
.lcs-like {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 7px 14px; border-radius: 999px;
	border: 1px solid var(--lcs-maroon); background: #fff; color: var(--lcs-maroon);
	font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; line-height: 1;
	transition: background-color .15s ease, color .15s ease;
}
.lcs-like .lcs-heart { font-size: 16px; }
.lcs-like.is-liked { background: var(--lcs-maroon); color: #fff; }
.lcs-like.is-liked .lcs-heart { color: var(--lcs-gold); }
.lcs-like:focus-visible { outline: 2px solid var(--lcs-gold); outline-offset: 2px; }
.lcs-like--own { cursor: default; border-style: dashed; opacity: .8; }
@media (prefers-reduced-motion: no-preference) {
	.lcs-like.is-liked .lcs-heart { animation: lcs-pop .3s ease; }
	@keyframes lcs-pop { 50% { transform: scale(1.35); } }
}

.lcs-shop { font-size: 14px; font-weight: 600; color: var(--lcs-maroon); text-decoration: underline; text-underline-offset: 3px; }

.lcs-pages { margin-top: 28px; display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
.lcs-pages .page-numbers { padding: 6px 12px; border: 1px solid var(--lcs-line); border-radius: 6px; text-decoration: none; color: var(--lcs-ink); }
.lcs-pages .current { background: var(--lcs-maroon); border-color: var(--lcs-maroon); color: #fff; }
.lcs-empty { text-align: center; color: var(--lcs-muted); padding: 40px 0; }

/* Forms and rewards panel */
.lcs-box { background: var(--lcs-paper); border: 1px solid var(--lcs-line); border-radius: 12px; padding: 24px; margin: 0 0 24px; max-width: 680px; }
.lcs-title { margin: 0 0 16px; }
.lcs-box h4 { margin: 24px 0 8px; }
.lcs-type { border: 0; padding: 0; margin: 0 0 16px; display: flex; flex-wrap: wrap; gap: 8px 20px; }
.lcs-type legend { font-weight: 600; margin-bottom: 8px; }
.lcs-field { margin: 0 0 16px; }
.lcs-field label { display: block; font-weight: 600; margin-bottom: 6px; }
.lcs-field input[type="url"], .lcs-field input[type="file"], .lcs-field textarea, .lcs-field select,
.lcs-redeem input[type="number"] {
	width: 100%; max-width: 100%; padding: 10px 12px; border: 1px solid var(--lcs-line); border-radius: 8px; font: inherit; background: #fff;
}
.lcs-field small, .lcs-small, .lcs-redeem small { display: block; margin-top: 6px; font-size: 13px; color: var(--lcs-muted); }
.lcs-consent label { font-weight: 400; display: flex; gap: 8px; align-items: flex-start; }
.lcs-consent input { margin-top: 4px; }

.lcs-btn {
	display: inline-block; padding: 12px 26px; border: 0; border-radius: 6px;
	background: var(--lcs-maroon); color: #fff !important; font: inherit; font-weight: 600;
	cursor: pointer; text-decoration: none;
}
.lcs-btn:hover { background: #6c0c19; }
.lcs-btn:focus-visible { outline: 2px solid var(--lcs-gold); outline-offset: 2px; }
.lcs-btn[disabled] { opacity: .6; cursor: wait; }

.lcs-balance { font-size: 18px; margin: 0 0 16px; }
.lcs-balance strong { font-size: 32px; color: var(--lcs-maroon); margin-right: 4px; }
.lcs-redeem { display: grid; gap: 8px; max-width: 360px; }
.lcs-redeem label { font-weight: 600; }
.lcs-progress { height: 10px; background: var(--lcs-blush); border-radius: 999px; overflow: hidden; }
.lcs-progress span { display: block; height: 100%; background: var(--lcs-gold); }
.lcs-earn { margin: 0 0 8px 18px; padding: 0; }
.lcs-earn li { margin-bottom: 4px; }

.lcs-table-wrap { overflow-x: auto; }
.lcs-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.lcs-table th, .lcs-table td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--lcs-line); white-space: nowrap; }
.lcs-table code { font-size: 14px; font-weight: 600; color: var(--lcs-maroon); background: var(--lcs-blush); padding: 2px 6px; border-radius: 4px; }

.lcs-notice { max-width: 680px; padding: 12px 16px; border-radius: 8px; margin: 0 0 16px; font-size: 14px; }
.lcs-notice--ok { background: #eef7ee; border: 1px solid #b9dcb9; color: #1f5a1f; }
.lcs-notice--err { background: #fdf0f1; border: 1px solid #efc2c8; color: #881020; }

@media (max-width: 600px) {
	.lcs-grid { grid-template-columns: 1fr; gap: 18px; }
	.lcs-box { padding: 18px; }
	.lcs-wall__bar { justify-content: center; }
}
