/**
 * Thrift Weekly Community — 1.8 (client checklist pass).
 *
 * Loaded after theme.css. Reads tokens only, so Finds → Settings →
 * Appearance still restyles everything. Pink = primary action, lime =
 * confirmation, cyan = information, gold = Find of the Week.
 */

/* ==========================================================================
   Overflow guard — nothing may push past the right edge on a phone
   ========================================================================== */

.twc-cols,
.twc-feed,
.twc-find,
.twc-form,
.twc-dash,
.twc-top100,
.twc-stores,
.twc-cattiles,
.twc-welcome {
	max-width: 100%;
	min-width: 0;
	overflow-wrap: anywhere;
}

.twc-find img,
.twc-form img,
.twc-dash img {
	max-width: 100%;
	height: auto;
}

/* ==========================================================================
   Small shared pieces
   ========================================================================== */

.twc-btn--sm { padding: 7px 14px; font-size: var(--twc-fs-small); }
.twc-btn--block { display: flex; width: 100%; }

.twc-btn--primary,
.twc-btn--primary:visited {
	background: var(--twc-brand, #ff2d78);
	color: var(--twc-on-primary, #fff);
	border-color: transparent;
}

.twc-btn--primary:hover,
.twc-btn--primary:focus-visible {
	background: color-mix(in srgb, var(--twc-brand, #ff2d78) 86%, #fff);
	color: var(--twc-on-primary, #fff);
}

.twc-flag--cyan {
	background: var(--twc-cyan-tint, rgba(43, 217, 232, 0.14));
	color: var(--twc-cyan, #2bd9e8);
	border: 1px solid color-mix(in srgb, var(--twc-cyan, #2bd9e8) 45%, transparent);
}

.twc-flag--winner {
	background: var(--twc-gold, #ffd84d);
	color: #111;
}

.twc-vote--horizontal { flex-direction: row; }

/* Tap targets: every like, save, share and comment control is at least
   44px tall, the size a thumb can hit without zooming. */
.twc-vote__btn,
.twc-save,
.twc-card__action,
.twc-find__action,
.twc-cvote__btn {
	min-height: 44px;
	min-width: 44px;
}

/* ==========================================================================
   Community page heading — calmer, and less space on phones
   ========================================================================== */

body.twc-app-page .page-header .entry-title,
body.twc-app-page .page-header h1 {
	font-size: clamp(1.4rem, 3.4vw, 2rem);
	line-height: 1.2;
	margin: 0 0 var(--twc-space-3);
}

@media (max-width: 860px) {
	body.twc-app-page main#content { padding-top: 16px; padding-bottom: 24px; }
	body.twc-app-page .page-header { margin-bottom: 0; }

	/* The bottom bar's centre + is the one pink posting action on phones. */
	.twc-feed__cta { display: none; }
}

/* ==========================================================================
   Three-column community layout (desktop)
   ========================================================================== */

.twc-cols { display: block; }
.twc-cols__left,
.twc-cols__right { display: none; }

@media (min-width: 1100px) {
	.twc-cols {
		display: grid;
		grid-template-columns: 200px minmax(0, 1fr) 300px;
		gap: var(--twc-space-6);
		align-items: start;
	}

	/* Side columns scroll with the page: a sticky, height-capped column
	   showed its own scrollbar and cut the last Explore link off. */
	.twc-cols__left,
	.twc-cols__right {
		display: block;
	}

	.twc-cols__right { display: flex; flex-direction: column; gap: var(--twc-space-4); }
}

.twc-cols__head {
	margin: var(--twc-space-5) 0 var(--twc-space-2);
	font-family: var(--twc-font-body);
	font-size: var(--twc-fs-small);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--twc-ink-subtle);
}

.twc-cols__head:first-child { margin-top: 0; }

.twc-cols__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.twc-cols__list a {
	display: block;
	padding: 7px 10px;
	border-radius: var(--twc-radius);
	font-family: var(--twc-font-display);
	font-size: var(--twc-fs-meta);
	font-weight: 600;
	color: var(--twc-ink-muted);
	text-decoration: none;
}

.twc-cols__list a:hover { color: var(--twc-ink); background: var(--twc-white); }

.twc-cols__list a.is-active {
	color: var(--twc-brand, #ff2d78);
	background: var(--twc-orange-tint);
}

.twc-cols__more {
	display: inline-block;
	margin-top: var(--twc-space-2);
	font-size: var(--twc-fs-small);
	color: var(--twc-cyan, #2bd9e8);
}

.twc-panel--contest {
	display: flex;
	flex-direction: column;
	gap: var(--twc-space-3);
	border-color: color-mix(in srgb, var(--twc-gold, #ffd84d) 40%, var(--twc-gray-border));
}

.twc-panel__eyebrow {
	font-size: var(--twc-fs-small);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--twc-gold, #ffd84d);
}

.twc-panel__lead {
	margin: 0;
	font-family: var(--twc-font-display);
	font-weight: 700;
	font-size: var(--twc-fs-card);
	color: var(--twc-ink);
}

/* ==========================================================================
   Feed: search box, Explore heading, tabs, cards
   ========================================================================== */

.twc-feedsearch {
	position: relative;
	margin: 0 0 var(--twc-space-4);
}

.twc-feedsearch__icon {
	position: absolute;
	top: 50%;
	left: 14px;
	transform: translateY(-50%);
	color: var(--twc-ink-subtle);
	pointer-events: none;
}

.twc-feedsearch__input {
	width: 100%;
	min-height: 46px;
	padding: 10px 14px 10px 42px;
	border: 1px solid var(--twc-gray-border);
	border-radius: var(--twc-radius-pill);
	background: var(--twc-white);
	font-family: var(--twc-font-body);
	font-size: 16px;
	color: var(--twc-ink);
}

.twc-feedsearch__input:focus {
	outline: none;
	border-color: var(--twc-cyan, #2bd9e8);
}

.twc-lens {
	display: grid;
	gap: 4px 12px;
	grid-template-columns: 1fr auto;
	align-items: center;
	margin: 0 0 var(--twc-space-4);
	padding: var(--twc-space-4);
	border: 1px solid var(--twc-gray-border);
	border-left: 4px solid var(--twc-brand, #ff2d78);
	border-radius: var(--twc-radius-lg);
	background: var(--twc-white);
}

.twc-lens--cyan { border-left-color: var(--twc-cyan, #2bd9e8); }
.twc-lens--lime { border-left-color: var(--twc-teal); }
.twc-lens--gold { border-left-color: var(--twc-gold, #ffd84d); }
.twc-lens--search { border-left-color: var(--twc-cyan, #2bd9e8); }

.twc-lens__badge {
	grid-column: 1 / -1;
	justify-self: start;
	padding: 3px 10px;
	border-radius: var(--twc-radius-pill);
	background: var(--twc-brand, #ff2d78);
	font-family: var(--twc-font-display);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--twc-on-primary, #fff);
}

.twc-lens--cyan .twc-lens__badge { background: var(--twc-cyan, #2bd9e8); color: #071316; }
.twc-lens--lime .twc-lens__badge { background: var(--twc-teal); color: var(--twc-on-action, #111); }
.twc-lens--gold .twc-lens__badge { background: var(--twc-gold, #ffd84d); color: #111; }

.twc-lens__title {
	margin: 4px 0 0;
	font-family: var(--twc-font-display);
	font-size: var(--twc-fs-section);
	font-weight: 800;
	color: var(--twc-ink);
}

.twc-lens__text {
	grid-column: 1;
	margin: 0;
	font-size: var(--twc-fs-meta);
	color: var(--twc-ink-muted);
}

.twc-lens__clear {
	grid-column: 2;
	grid-row: 2 / span 2;
	font-size: var(--twc-fs-small);
	font-weight: 600;
	color: var(--twc-cyan, #2bd9e8);
	white-space: nowrap;
}

.twc-lens--search .twc-lens__clear { grid-row: 1; }

/* Tabs: one obvious active tab. */
.twc-feed__tab.is-active,
.twc-feed__tab[aria-current="page"] {
	color: var(--twc-brand, #ff2d78);
	box-shadow: inset 0 -3px 0 var(--twc-brand, #ff2d78);
}

@media (max-width: 860px) {
	.twc-feed__tabs {
		overflow-x: auto;
		flex-wrap: nowrap;
		scrollbar-width: none;
	}

	.twc-feed__tabs::-webkit-scrollbar { display: none; }
	.twc-feed__tab { flex: none; white-space: nowrap; }

	/* Category pills: one swipeable row, never wrapping. */
	.twc-pills {
		max-width: 100%;
		scrollbar-width: none;
	}

	.twc-pills::-webkit-scrollbar { display: none; }
	.twc-pill { white-space: nowrap; min-height: 40px; display: inline-flex; align-items: center; }

	/* Compact, photo-first cards. */
	.twc-card { gap: var(--twc-space-2); padding: var(--twc-space-3); }
	.twc-card__excerpt { display: none; }
	.twc-card__title { font-size: var(--twc-fs-card); }
}

/* Mosaic: one large photo plus thumbnails, consistent crop. */
.twc-strip { aspect-ratio: 16 / 10; max-height: 360px; }
.twc-strip__cell img,
.twc-strip__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.twc-strip[data-count="3"],
.twc-strip[data-count="4"] { grid-template-rows: 1fr 1fr; }

.twc-strip[data-count="3"] .twc-strip__cell:first-child,
.twc-strip[data-count="4"] .twc-strip__cell:first-child { grid-row: span 2; }

.twc-strip[data-count="3"] { grid-template-columns: 2fr 1fr; }
.twc-strip[data-count="4"] { grid-template-columns: 2fr 1fr 1fr; }
.twc-strip[data-count="4"] .twc-strip__cell:nth-child(4) { grid-column: 2 / span 2; }

/* ==========================================================================
   Individual find page
   ========================================================================== */

.twc-singlepage__inner { max-width: 820px; }

.twc-crumbs__back {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 40px;
	font-weight: 600;
	color: var(--twc-cyan, #2bd9e8);
	text-decoration: none;
}

.twc-singlepage__more { margin: var(--twc-space-6) 0 0; text-align: center; }

.twc-find {
	display: flex;
	flex-direction: column;
	gap: var(--twc-space-4);
	padding: var(--twc-space-4);
	border: 1px solid var(--twc-gray-border);
	border-radius: var(--twc-radius-lg);
	background: var(--twc-white);
}

/* One strong photo, consistent shape; the item is never cropped away. */
.twc-find .twc-swiper__main .swiper-slide {
	aspect-ratio: 4 / 3;
	display: flex;
	align-items: center;
	justify-content: center;
	background: color-mix(in srgb, var(--twc-ink) 6%, var(--twc-white));
}

.twc-find .twc-swiper__main .swiper-slide img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.twc-find .twc-swiper { position: relative; }

.twc-find .twc-swiper__counter {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 5;
	margin: 0;
	padding: 3px 10px;
	border-radius: var(--twc-radius-pill);
	background: rgba(0, 0, 0, 0.62);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
}

@media (max-width: 600px) {
	.twc-find { padding: var(--twc-space-3); gap: var(--twc-space-3); border-radius: var(--twc-radius); }

	/* Swipe + counter on phones; the thumbnail strip is for desktop. */
	.twc-find .twc-swiper__thumbs { display: none; }
	.twc-find .swiper-pagination { display: none; }
}

.twc-find__by {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 8px;
	font-size: var(--twc-fs-meta);
	color: var(--twc-ink-muted);
}

.twc-find__author { font-weight: 600; color: var(--twc-ink); }

.twc-find__badges { display: flex; flex-wrap: wrap; gap: 6px; margin: var(--twc-space-2) 0 0; }

.twc-find__title {
	margin: var(--twc-space-2) 0 0;
	font-family: var(--twc-font-display);
	font-size: clamp(1.3rem, 4.6vw, 1.85rem);
	font-weight: 800;
	line-height: 1.2;
	color: var(--twc-ink);
}

.twc-valueline {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;
	margin: var(--twc-space-2) 0 0;
	font-family: var(--twc-font-display);
	font-size: var(--twc-fs-meta);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--twc-ink-muted);
}

.twc-valueline > * {
	padding: 5px 10px;
	border-radius: var(--twc-radius);
	background: color-mix(in srgb, var(--twc-ink) 6%, var(--twc-white));
}

.twc-valueline strong { color: var(--twc-ink); }

.twc-valueline__est strong { color: var(--twc-teal); }

.twc-valueline__ask {
	color: var(--twc-cyan, #2bd9e8);
	text-decoration: none;
	background: var(--twc-cyan-tint, rgba(43, 217, 232, 0.14)) !important;
}

.twc-find__story { font-size: var(--twc-fs-body); line-height: var(--twc-lh-body); color: var(--twc-ink); }
.twc-find__story > :first-child { margin-top: 0; }
.twc-find__story > :last-child { margin-bottom: 0; }

.twc-find__source a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: var(--twc-fs-meta);
	color: var(--twc-cyan, #2bd9e8);
}

.twc-find__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--twc-space-2);
	padding: var(--twc-space-2) 0;
	border-block: 1px solid var(--twc-gray-border);
}

.twc-find__action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 0 12px;
	border: 1px solid var(--twc-gray-border);
	border-radius: var(--twc-radius-pill);
	background: transparent;
	font-family: var(--twc-font-display);
	font-size: var(--twc-fs-meta);
	font-weight: 600;
	color: var(--twc-ink);
	text-decoration: none;
	cursor: pointer;
}

.twc-find__action:hover { border-color: var(--twc-ink-subtle); }

.twc-find__actions .twc-vote {
	border: 1px solid var(--twc-gray-border);
	border-radius: var(--twc-radius-pill);
	padding: 0 4px;
}

.twc-helpid {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--twc-space-2);
	padding: var(--twc-space-3) var(--twc-space-4);
	border-radius: var(--twc-radius);
	background: color-mix(in srgb, var(--twc-ink) 4%, var(--twc-white));
}

.twc-helpid.is-requested {
	background: var(--twc-cyan-tint, rgba(43, 217, 232, 0.14));
	border: 1px solid color-mix(in srgb, var(--twc-cyan, #2bd9e8) 45%, transparent);
}

.twc-helpid__text { margin: 0; font-size: var(--twc-fs-meta); font-weight: 600; color: var(--twc-ink); }

/* Marketplace: eBay first and biggest, member listing apart, disclosure. */
.twc-market { display: flex; flex-direction: column; gap: var(--twc-space-3); }

.twc-market__links { display: flex; flex-wrap: wrap; gap: var(--twc-space-2); }

.twc-market__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 18px;
	border: 1px solid var(--twc-gray-border);
	border-radius: var(--twc-radius-pill);
	font-family: var(--twc-font-display);
	font-size: var(--twc-fs-button);
	font-weight: 700;
	color: var(--twc-ink);
	text-decoration: none;
}

.twc-market__link--primary {
	flex: 1 1 220px;
	background: var(--twc-teal);
	border-color: transparent;
	color: var(--twc-on-action, #111);
}

.twc-market__listing {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: var(--twc-space-3) var(--twc-space-4);
	border: 1px dashed var(--twc-gray-border);
	border-radius: var(--twc-radius);
}

.twc-market__listing-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--twc-ink-subtle);
}

.twc-market__listing-link { font-weight: 600; color: var(--twc-cyan, #2bd9e8); }

.twc-market__disclosure {
	margin: 0;
	font-size: var(--twc-fs-small);
	color: var(--twc-ink-subtle);
}

.twc-find__sharemore summary {
	cursor: pointer;
	font-size: var(--twc-fs-meta);
	font-weight: 600;
	color: var(--twc-ink-muted);
}

.twc-find__sharemore[open] summary { margin-bottom: var(--twc-space-3); }

.twc-similar__title,
.twc-find .twc-about__title {
	margin: 0 0 var(--twc-space-3);
	font-family: var(--twc-font-display);
	font-size: var(--twc-fs-section);
	font-weight: 800;
	color: var(--twc-ink);
}

.twc-similar__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--twc-space-3);
}

.twc-similar__item { display: flex; flex-direction: column; gap: 6px; text-decoration: none; color: var(--twc-ink); }

.twc-similar__img {
	display: block;
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: var(--twc-radius);
	background: color-mix(in srgb, var(--twc-ink) 6%, var(--twc-white));
}

.twc-similar__img img { width: 100%; height: 100%; object-fit: cover; }

.twc-similar__name {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: var(--twc-fs-meta);
	font-weight: 600;
	line-height: 1.3;
}

.twc-similar__price { font-size: var(--twc-fs-small); color: var(--twc-ink-subtle); }

.twc-find__comments { scroll-margin-top: calc(var(--tws-head-h, 72px) + 12px); }

/* ==========================================================================
   Submit form
   ========================================================================== */

.twc-submit-form { max-width: 720px; margin-inline: auto; }

.twc-form__head { margin-bottom: var(--twc-space-4); }

.twc-form__eyebrow {
	display: inline-block;
	margin-bottom: var(--twc-space-2);
	padding: 3px 10px;
	border-radius: var(--twc-radius-pill);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.twc-form__eyebrow--gold { background: var(--twc-gold, #ffd84d); color: #111; }
.twc-form__eyebrow--cyan { background: var(--twc-cyan, #2bd9e8); color: #071316; }

.twc-form__intro { margin: var(--twc-space-2) 0 0; color: var(--twc-ink-muted); }

.twc-form__rules {
	margin: var(--twc-space-3) 0 0;
	padding: var(--twc-space-3);
	border-radius: var(--twc-radius);
	background: var(--twc-gold-tint, rgba(255, 216, 77, 0.12));
	font-size: var(--twc-fs-meta);
	color: var(--twc-ink);
}

/* Photos. */
.twc-photos__input {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.twc-photos__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
	gap: var(--twc-space-2);
	margin: 0 0 var(--twc-space-2);
	padding: 0;
	list-style: none;
}

.twc-photos__tile,
.twc-photos__add-tile {
	position: relative;
	aspect-ratio: 1;
	border-radius: var(--twc-radius);
	overflow: hidden;
	background: color-mix(in srgb, var(--twc-ink) 6%, var(--twc-white));
}

.twc-photos__tile img { width: 100%; height: 100%; object-fit: cover; display: block; }

.twc-photos__tile:first-child::after {
	content: "Cover";
	position: absolute;
	left: 6px;
	bottom: 6px;
	padding: 1px 7px;
	border-radius: var(--twc-radius-pill);
	background: rgba(0, 0, 0, 0.65);
	font-size: 10px;
	font-weight: 700;
	color: #fff;
}

.twc-photos__tile.is-removed img { opacity: 0.25; filter: grayscale(1); }

.twc-photos__x {
	position: absolute;
	top: 5px;
	right: 5px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.72);
	font-size: 20px;
	line-height: 1;
	color: #fff;
	cursor: pointer;
}

.twc-photos__tile.is-removed .twc-photos__x { background: var(--twc-brand, #ff2d78); }

.twc-photos__add-tile[hidden] { display: none !important; }

.twc-photos__add {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	height: 100%;
	border: 2px dashed color-mix(in srgb, var(--twc-brand, #ff2d78) 60%, transparent);
	border-radius: var(--twc-radius);
	font-family: var(--twc-font-display);
	font-size: var(--twc-fs-small);
	font-weight: 700;
	color: var(--twc-brand, #ff2d78);
	cursor: pointer;
	text-align: center;
}

.twc-photos__add:hover { background: var(--twc-orange-tint); }

/* Money inputs with a fixed $ sign. */
.twc-money { position: relative; display: block; }
.twc-money__sym {
	position: absolute;
	top: 50%;
	left: 12px;
	transform: translateY(-50%);
	font-weight: 700;
	color: var(--twc-ink-subtle);
	pointer-events: none;
}
.twc-money .twc-form__input { padding-left: 26px; }

.twc-form__range {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: var(--twc-space-2);
	margin-bottom: var(--twc-space-3);
}

.twc-form__range-sep { color: var(--twc-ink-subtle); }

.twc-check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: var(--twc-space-2) 0;
	min-height: 32px;
	font-size: var(--twc-fs-meta);
	color: var(--twc-ink);
	cursor: pointer;
}

.twc-check input { width: 20px; height: 20px; margin: 1px 0 0; flex: none; accent-color: var(--twc-brand, #ff2d78); }

.twc-form__actions { display: flex; flex-wrap: wrap; gap: var(--twc-space-2); }

@media (max-width: 600px) {
	.twc-form__actions .twc-btn { flex: 1 1 auto; }
	.twc-form__grid { grid-template-columns: 1fr; }
}

/* Preview. */
.twc-preview {
	position: fixed;
	inset: 0;
	z-index: 200;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding: var(--twc-space-4);
	background: rgba(0, 0, 0, 0.7);
}

.twc-preview[hidden] { display: none !important; }

.twc-preview__dialog {
	position: relative;
	width: min(560px, 100%);
	max-height: 88vh;
	overflow-y: auto;
	padding: var(--twc-space-5) var(--twc-space-4) var(--twc-space-4);
	border-radius: var(--twc-radius-lg);
	background: var(--twc-white);
	color: var(--twc-ink);
}

@media (min-width: 700px) { .twc-preview { align-items: center; } }

.twc-preview__close {
	position: absolute;
	top: 8px;
	right: 8px;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 50%;
	background: color-mix(in srgb, var(--twc-ink) 8%, var(--twc-white));
	font-size: 24px;
	color: var(--twc-ink);
	cursor: pointer;
}

.twc-preview__label {
	margin: 0 0 var(--twc-space-3);
	font-size: var(--twc-fs-small);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--twc-ink-subtle);
}

.twc-preview__photos {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 4px;
}

.twc-preview__photos img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--twc-radius-sm); }
.twc-preview__photos img.is-cover { grid-column: 1 / -1; aspect-ratio: 4 / 3; }
.twc-preview__meta { margin: var(--twc-space-3) 0 0; font-size: var(--twc-fs-small); color: var(--twc-ink-subtle); }
.twc-preview__title { margin: 4px 0 0; font-family: var(--twc-font-display); font-size: var(--twc-fs-title); font-weight: 800; }
.twc-preview__story { margin-top: var(--twc-space-3); font-size: var(--twc-fs-body); }

/* ==========================================================================
   Dashboard
   ========================================================================== */

.twc-dash__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--twc-space-3);
	margin-bottom: var(--twc-space-4);
}

.twc-dash__avatar img { width: 56px; height: 56px; border-radius: 50%; display: block; }
.twc-dash__who { flex: 1 1 160px; min-width: 0; }
.twc-dash__name { margin: 0 0 4px; font-family: var(--twc-font-display); font-size: var(--twc-fs-title); font-weight: 800; color: var(--twc-ink); }
.twc-dash__post { min-height: 46px; padding-inline: 22px; }

@media (max-width: 600px) {
	.twc-dash__post { width: 100%; }
}

.twc-dash__stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--twc-space-2);
	margin: 0 0 var(--twc-space-4);
	padding: 0;
	list-style: none;
}

.twc-dash__stats li {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: var(--twc-space-3) var(--twc-space-2);
	border: 1px solid var(--twc-gray-border);
	border-radius: var(--twc-radius);
	background: var(--twc-white);
	text-align: center;
}

.twc-dash__stats strong { font-family: var(--twc-font-display); font-size: var(--twc-fs-title); font-weight: 800; color: var(--twc-ink); }
.twc-dash__stats span { font-size: var(--twc-fs-small); color: var(--twc-ink-muted); }

.twc-dash__nav { overflow-x: auto; scrollbar-width: none; }
.twc-dash__nav::-webkit-scrollbar { display: none; }
.twc-dash__tab { white-space: nowrap; }

.twc-dash__thumb img,
.twc-dash__thumb .twc-thumb-placeholder { width: 64px; height: 64px; object-fit: cover; border-radius: var(--twc-radius-sm); display: block; }

.twc-dash__community { margin-top: var(--twc-space-6); display: flex; flex-direction: column; gap: var(--twc-space-3); }

.twc-dash__rules {
	padding: var(--twc-space-3) var(--twc-space-4);
	border: 1px solid var(--twc-gray-border);
	border-radius: var(--twc-radius);
	background: var(--twc-white);
}

.twc-dash__rules summary { cursor: pointer; font-family: var(--twc-font-display); font-weight: 700; color: var(--twc-ink); }

@media (max-width: 600px) {
	.twc-dash__row { flex-wrap: wrap; }
	.twc-dash__row-actions { width: 100%; display: flex; gap: var(--twc-space-2); }
	.twc-dash__row-actions .twc-btn { flex: 1 1 0; }
}

/* ==========================================================================
   Top 100
   ========================================================================== */

.twc-top100__head { margin-bottom: var(--twc-space-4); }
.twc-top100__title { margin: 0; font-family: var(--twc-font-display); font-size: clamp(1.5rem, 4vw, 2.2rem); font-weight: 900; color: var(--twc-ink); }

.twc-top100__badge {
	display: inline-block;
	margin-top: var(--twc-space-2);
	padding: 3px 10px;
	border-radius: var(--twc-radius-pill);
	background: var(--twc-teal);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--twc-on-action, #111);
}

.twc-top100__intro { margin: var(--twc-space-2) 0 0; color: var(--twc-ink-muted); }

.twc-top100__archive { display: flex; flex-wrap: wrap; align-items: center; gap: var(--twc-space-2); margin-top: var(--twc-space-3); }
.twc-top100__archive label { font-size: var(--twc-fs-small); font-weight: 700; color: var(--twc-ink-muted); }
.twc-top100__archive select { width: auto; min-width: 220px; }

.twc-top100__list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: var(--twc-space-2); }

.twc-top100__item {
	display: grid;
	grid-template-columns: 48px 64px minmax(0, 1fr);
	align-items: center;
	gap: var(--twc-space-3);
	padding: var(--twc-space-2) var(--twc-space-3);
	border: 1px solid var(--twc-gray-border);
	border-radius: var(--twc-radius);
	background: var(--twc-white);
}

.twc-top100__rank { font-family: var(--twc-font-display); font-size: 1.3rem; font-weight: 900; color: var(--twc-brand, #ff2d78); text-align: center; }
.twc-top100__item:nth-child(-n+3) .twc-top100__rank { color: var(--twc-gold, #ffd84d); }

.twc-top100__thumb { display: block; width: 64px; height: 64px; border-radius: var(--twc-radius-sm); overflow: hidden; }
.twc-top100__thumb img,
.twc-top100__thumb .twc-thumb-placeholder { width: 100%; height: 100%; object-fit: cover; display: block; }
.twc-top100__text { display: flex; flex-direction: column; min-width: 0; }
.twc-top100__name { font-weight: 700; color: var(--twc-ink); text-decoration: none; }
.twc-top100__meta { font-size: var(--twc-fs-small); color: var(--twc-ink-subtle); }

/* ==========================================================================
   Store directory
   ========================================================================== */

.twc-stores__search {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	gap: var(--twc-space-2);
	margin-bottom: var(--twc-space-4);
}

@media (max-width: 600px) {
	.twc-stores__search { grid-template-columns: 1fr; }
}

.twc-stores__search { grid-template-columns: minmax(0, 1fr) auto auto auto; }

@media (max-width: 760px) {
	.twc-stores__search { grid-template-columns: 1fr 1fr; }
	.twc-stores__search input[type="search"],
	.twc-stores__search button { grid-column: 1 / -1; }
}

.twc-stores__map {
	height: 420px;
	margin-bottom: var(--twc-space-4);
	border: 1px solid var(--twc-gray-border);
	border-radius: var(--twc-radius-lg);
	overflow: hidden;
	z-index: 0;
}

.twc-stores__map[hidden],
.twc-stores__nearby[hidden],
.twc-stores__count[hidden],
.twc-stores .twc-empty[hidden] { display: none !important; }

@media (max-width: 600px) {
	.twc-stores__map { height: 300px; }
}

.twc-stores__map .leaflet-popup-content { color: #111; font-size: 14px; line-height: 1.4; }
.twc-stores__map .leaflet-popup-content a { color: #b0004a; }

.twc-stores__heading {
	margin: var(--twc-space-5, 28px) 0 var(--twc-space-3);
	font-family: var(--twc-font-display);
	font-size: var(--twc-fs-card);
	font-weight: 800;
	color: var(--twc-ink);
}

.twc-stores__credit { margin-top: var(--twc-space-3); font-size: var(--twc-fs-meta); color: var(--twc-ink-subtle); }
.twc-stores__credit a { color: inherit; text-decoration: underline; }

.twc-stores__count { font-size: var(--twc-fs-small); color: var(--twc-ink-subtle); }

.twc-stores__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--twc-space-3); }

.twc-store {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--twc-gray-border);
	border-radius: var(--twc-radius-lg);
	background: var(--twc-white);
}

.twc-store__img img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.twc-store__body { display: flex; flex-direction: column; gap: 6px; padding: var(--twc-space-4); }
.twc-store__type { font-size: 11px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--twc-cyan, #2bd9e8); }
.twc-store__name { margin: 0; font-family: var(--twc-font-display); font-size: var(--twc-fs-card); font-weight: 800; color: var(--twc-ink); }
.twc-store__name a { color: inherit; text-decoration: none; }
.twc-store__addr,
.twc-store__meta { margin: 0; font-size: var(--twc-fs-meta); color: var(--twc-ink-muted); }
.twc-store__links { display: flex; flex-wrap: wrap; gap: 6px; margin: var(--twc-space-2) 0 0; }

/* ==========================================================================
   Browse Categories, welcome, contest, newsletter
   ========================================================================== */

.twc-cattiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: var(--twc-space-3); }

.twc-cattile { display: flex; flex-direction: column; gap: 4px; text-decoration: none; color: var(--twc-ink); }

.twc-cattile__img {
	display: block;
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: var(--twc-radius-lg);
	background: linear-gradient(135deg, var(--twc-orange-tint), var(--twc-cyan-tint, #0f2c30));
}

.twc-cattile__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform var(--twc-transition); }
.twc-cattile:hover .twc-cattile__img img { transform: scale(1.04); }
.twc-cattile__label { font-family: var(--twc-font-display); font-weight: 800; font-size: var(--twc-fs-meta); }
.twc-cattile__count { font-size: var(--twc-fs-small); color: var(--twc-ink-subtle); }

.twc-welcome {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--twc-space-4);
	max-width: 520px;
	margin: 0 auto;
	padding: var(--twc-space-7) var(--twc-space-4);
	text-align: center;
}

.twc-welcome__logo { margin: 0; font-family: var(--twc-font-display); font-size: 2.4rem; font-weight: 900; font-style: italic; text-transform: uppercase; }
.twc-welcome__logo span:first-child { color: var(--twc-ink); }
.twc-welcome__logo span:last-child { color: var(--twc-teal); }
.twc-welcome__title { margin: 0; font-family: var(--twc-font-display); font-size: var(--twc-fs-title); color: var(--twc-ink); }

.twc-welcome__row { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--twc-space-2); width: 100%; margin: 0; padding: 0; list-style: none; }
.twc-welcome__row li { display: flex; flex-direction: column; align-items: center; gap: 6px; font-size: var(--twc-fs-small); font-weight: 600; color: var(--twc-ink-muted); }
.twc-welcome__icon { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 50%; background: var(--twc-orange-tint); color: var(--twc-brand, #ff2d78); }
.twc-welcome__actions { display: flex; flex-direction: column; gap: var(--twc-space-2); width: 100%; margin: 0; }

.twc-contest__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--twc-space-3); margin-bottom: var(--twc-space-4); }
.twc-contest__title { margin: 0; font-family: var(--twc-font-display); font-weight: 800; }

.twc-news { display: flex; flex-wrap: wrap; gap: var(--twc-space-2); width: 100%; }

.twc-news__input {
	flex: 1 1 200px;
	min-width: 0;
	min-height: 46px;
	padding: 10px 14px;
	border: 1px solid var(--twc-gray-border);
	border-radius: var(--twc-radius-pill);
	background: var(--twc-white);
	font-size: 16px;
	color: var(--twc-ink);
}

.twc-news__note { flex: 1 1 100%; margin: 0; font-size: var(--twc-fs-small); color: var(--twc-ink-subtle); }
.twc-news__note.is-ok { color: var(--twc-teal); font-weight: 600; }
.twc-news__note.is-error { color: var(--twc-brand, #ff2d78); }
.twc-news.is-done .twc-news__input,
.twc-news.is-done button { display: none; }

.twc-hero2__members { color: inherit; text-decoration: none; font-weight: 600; }
.twc-hero2__members:hover { text-decoration: underline; }

/* ==========================================================================
   1.8.1 — fixes from the live QA pass
   ========================================================================== */

/* Hero carousel arrows sat transparent over the card edges; give them a
   solid backing so they read as controls, not as part of a card. */
.twc-deck__nav {
	background: var(--twc-gray-light, #0b0b0e);
	box-shadow: 0 0 0 1px var(--twc-gray-border), 0 4px 14px rgba(0, 0, 0, 0.45);
}

/* Small text links that are really buttons get a thumb-sized target. */
.twc-fc__comments,
.twc-fc__save,
.twc-fc__like { min-height: 40px; }

.twc-lens__clear,
.twc-card__cat,
.twc-comments a.twc-btn,
.twc-comments__login a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
}

/* Find page: the four actions fit one row on a 360px phone. */
@media (max-width: 600px) {
	.twc-find__actions { gap: 6px; }
	.twc-find__action,
	.twc-find__actions .twc-save { padding: 0 10px; }
	.twc-find__actions .twc-save__label,
	.twc-find__action > span:not(.screen-reader-text):not(:first-child) { font-size: 13px; }
	.twc-find__actions .twc-vote__btn { min-width: 40px; }
	.twc-singlepage__inner { padding-block: 4px 32px; }
	body.twc-app-page main#content.twc-singlepage { padding-top: 8px; }
}

/* Explore strip on phones: a compact two-column grid instead of seven
   full-width rows (it was ~900px of scrolling before the For You grid). */
@media (max-width: 600px) {
	.twc-strip2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.twc-strip2__cell {
		padding: 14px 8px !important;
		gap: 4px;
		border-left: 0 !important;
		border-top: 1px solid var(--h-line-soft, rgba(255, 255, 255, 0.06)) !important;
	}
	.twc-strip2__cell:nth-child(even) { border-left: 1px solid var(--h-line-soft, rgba(255, 255, 255, 0.06)) !important; }
	.twc-strip2__cell:nth-child(-n + 2) { border-top: 0 !important; }
	.twc-strip2__cell:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.twc-strip2__icon svg { width: 26px; height: 26px; }
	.twc-strip2__label { font-size: 12px; }
	.twc-strip2__text { font-size: 12px; }
}

/* ==========================================================================
   1.8.2 — buttons and inputs the Elementor kit was restyling
   ==========================================================================
   The kit (.elementor-kit-N button) gives every <button> a pink border and
   pink text, and the theme reset gives inputs 1rem padding. Both are more
   specific than a single class, so the plugin's controls came out as pink
   outlined boxes and the feed search icon sat on top of the placeholder.
   Each rule below adds one element (body) so the intended design wins,
   without !important and without touching Elementor's own widgets.
   ========================================================================== */

/* Neutral controls: soft fill, no outline. */
body :is(button, a).twc-vote__btn,
body :is(button, a).twc-cvote__btn,
body :is(button, a).twc-save,
body :is(button, a).twc-card__action,
body :is(button, a).twc-find__action,
body :is(button, a).twc-fc__like,
body :is(button, a).twc-fc__save,
body :is(button, a).twc-sort,
body :is(button, a).twc-comment__reply,
body :is(button, a).twc-share__link {
	border: 0;
	border-radius: 10px;
	background: color-mix(in srgb, var(--twc-ink) 7%, var(--twc-white));
	color: var(--twc-ink-muted);
	box-shadow: none;
}

body :is(button, a).twc-vote__btn:hover,
body :is(button, a).twc-cvote__btn:hover,
body :is(button, a).twc-save:hover,
body :is(button, a).twc-card__action:hover,
body :is(button, a).twc-find__action:hover,
body :is(button, a).twc-fc__like:hover,
body :is(button, a).twc-fc__save:hover,
body :is(button, a).twc-sort:hover,
body :is(button, a).twc-comment__reply:hover,
body :is(button, a).twc-share__link:hover {
	background: color-mix(in srgb, var(--twc-ink) 13%, var(--twc-white));
	color: var(--twc-ink);
}

/* States carry the colour: a like you gave is pink, a save is lime. */
body button.twc-vote__up.is-active,
body button.twc-cvote__up.is-active,
body button.twc-fc__like.is-active {
	background: var(--twc-brand, #ff2d78);
	color: var(--twc-on-primary, #fff);
}

body button.twc-vote__down.is-active,
body button.twc-cvote__down.is-active {
	background: #5b6170;
	color: #fff;
}

body button.twc-save.is-saved,
body button.twc-fc__save.is-saved {
	background: var(--twc-teal-tint);
	color: var(--twc-teal);
}

body button.twc-sort.is-active {
	background: var(--twc-orange-tint);
	color: var(--twc-brand, #ff2d78);
}

/* Vote buttons are square icon buttons. */
body button.twc-vote__btn,
body button.twc-cvote__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	min-width: 40px;
	min-height: 40px;
	padding: 0;
}

.twc-vote__score { min-width: 2ch; text-align: center; font-weight: 700; color: var(--twc-ink); }

/* Primary and secondary buttons. */
body :is(button, a).twc-btn.twc-btn--primary {
	border: 1px solid transparent;
	background: var(--twc-brand, #ff2d78);
	color: var(--twc-on-primary, #fff);
}

body :is(button, a).twc-btn.twc-btn--primary:hover {
	background: color-mix(in srgb, var(--twc-brand, #ff2d78) 86%, #fff);
	color: var(--twc-on-primary, #fff);
}

body :is(button, a).twc-btn.twc-btn--ghost {
	border: 1px solid var(--twc-gray-border);
	background: color-mix(in srgb, var(--twc-ink) 5%, var(--twc-white));
	color: var(--twc-ink);
}

body :is(button, a).twc-btn.twc-btn--ghost:hover { border-color: var(--twc-ink-subtle); }

body :is(button, a).twc-btn.twc-btn--danger {
	border: 1px solid color-mix(in srgb, var(--twc-danger) 55%, transparent);
	background: transparent;
	color: #ff6b6b;
}

/* Hero carousel arrows: a solid dark circle that reads as a control. */
body button.twc-deck__nav {
	width: 40px;
	height: 40px;
	border: 1px solid var(--twc-gray-border);
	border-radius: 50%;
	background: var(--twc-gray-light, #0b0b0e);
	color: var(--twc-ink);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.5);
}

body button.twc-deck__nav:hover { color: var(--twc-brand, #ff2d78); }

@media (min-width: 861px) {
	.twc-deck__nav--prev { left: -20px; }
	.twc-deck__nav--next { right: -20px; }
}

/* Photo-remove and preview-close buttons. */
body button.twc-photos__x {
	border: 0;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.72);
	color: #fff;
}

body .twc-photos__tile.is-removed button.twc-photos__x { background: var(--twc-brand, #ff2d78); }

body button.twc-preview__close {
	border: 0;
	background: color-mix(in srgb, var(--twc-ink) 8%, var(--twc-white));
	color: var(--twc-ink);
}

/* Inputs the theme reset was re-padding. */
body input.twc-feedsearch__input { padding: 10px 16px 10px 44px; }
body .twc-money input.twc-form__input { padding-left: 28px; }
body input.twc-news__input { padding: 10px 16px; }

/* Form: room between stacked fields inside a section. */
.twc-form__section .twc-form__row { margin: 0; }
.twc-form__section .twc-form__row + .twc-form__row { margin-top: 18px; }
.twc-form__section .twc-form__label { display: block; margin-bottom: 6px; }
.twc-form__section .twc-form__hint { display: block; margin-top: 6px; }
.twc-form__section { padding: 18px 20px 20px; }

@media (max-width: 600px) {
	.twc-form__section { padding: 14px 14px 16px; }
}

/* The homepage card's like button reuses the vote class but carries a
   count, so it stays a pill rather than a square. */
body button.twc-fc__like {
	width: auto;
	min-width: 56px;
	padding: 0 12px;
	gap: 6px;
}

body a.twc-fc__comments { min-height: 40px; padding: 0 6px; }

/* ==========================================================================
   Info pages — About, Contact, legal (content classes used in the pages)
   ========================================================================== */

.twc-info { max-width: 980px; margin: 0 auto; color: var(--twc-ink); }
.twc-info p { color: var(--twc-ink-muted); line-height: 1.65; }
.twc-info h2 { margin: 40px 0 12px; font-family: var(--twc-font-display); font-weight: 800; font-size: clamp(1.25rem, 3vw, 1.6rem); color: var(--twc-ink); }
.twc-info h3 { margin: 0 0 6px; font-family: var(--twc-font-display); font-weight: 700; font-size: 1.05rem; color: var(--twc-ink); }

.twc-info__lead {
	font-size: clamp(1.05rem, 2.4vw, 1.25rem);
	line-height: 1.6;
	color: var(--twc-ink) !important;
}

.twc-info__eyebrow {
	display: inline-block;
	margin-bottom: 10px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--twc-brand, #ff2d78);
}

.twc-info__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 14px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

.twc-info__card {
	padding: 20px;
	border: 1px solid var(--twc-gray-border);
	border-radius: var(--twc-radius-lg);
	background: var(--twc-white);
}

.twc-info__card p { margin: 0; font-size: 0.95rem; }

.twc-info__stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 14px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
	text-align: center;
}

.twc-info__stats strong {
	display: block;
	font-family: var(--twc-font-display);
	font-size: 2rem;
	font-weight: 900;
	color: var(--twc-teal);
}

.twc-info__stats span { font-size: 0.9rem; color: var(--twc-ink-muted); }

.twc-info__team .twc-info__card { text-align: center; }

.twc-info__avatar {
	display: block;
	width: 84px;
	height: 84px;
	margin: 0 auto 12px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--twc-brand, #ff2d78), var(--twc-cyan, #2bd9e8));
}

.twc-info__cta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }

.twc-contactgrid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
	gap: 24px;
	align-items: start;
}

@media (max-width: 860px) {
	.twc-contactgrid { grid-template-columns: 1fr; }
}

.twc-contactlist { margin: 0; padding: 0; list-style: none; }
.twc-contactlist li { padding: 12px 0; border-bottom: 1px solid var(--twc-gray-border); }
.twc-contactlist li:last-child { border-bottom: 0; }
.twc-contactlist span {
	display: block;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--twc-ink-subtle);
}
.twc-contactlist a,
.twc-contactlist strong { font-weight: 600; color: var(--twc-ink); text-decoration: none; }

.twc-legal { max-width: 760px; margin: 0 auto; }
.twc-legal__updated { font-size: 0.9rem; color: var(--twc-ink-subtle) !important; }
.twc-legal h2 { font-size: 1.2rem; margin-top: 32px; }
.twc-legal ul { color: var(--twc-ink-muted); line-height: 1.7; }
.twc-placeholder-note {
	padding: 10px 14px;
	border-left: 3px solid var(--twc-gold, #ffd84d);
	border-radius: 6px;
	background: var(--twc-gold-tint, rgba(255, 216, 77, 0.1));
	font-size: 0.85rem;
	color: var(--twc-ink) !important;
}

/* 1.8.3 — Report link: quiet, never competes with the find. */
body button.twc-report {
	border: 0;
	background: none;
	box-shadow: none;
	padding: 6px 4px;
	min-height: 32px;
	font: 500 13px/1.2 var(--twc-font-body, Inter, sans-serif);
	color: var(--twc-ink-muted);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}
body button.twc-report:hover { color: var(--twc-brand, #ff1e6f); background: none; }
body button.twc-report:disabled { text-decoration: none; cursor: default; opacity: .7; }
.twc-find__report { margin: 8px 0 0; text-align: right; }

/* 1.8.3 — Dashboard tabs: the selected tab and the post button are pink,
   not the action accent, so the strip reads as navigation. */
body .twc-dash__tab.is-active {
	background: color-mix(in srgb, var(--twc-brand) 16%, transparent);
	color: var(--twc-brand);
}
body .twc-dash__tab--cta,
body .twc-dash__tab--cta:hover {
	background: var(--twc-brand);
	color: #fff;
}

/* 1.8.3 — Dashboard on phones: four equal tabs on one row, and a compact
   status strip so the find list starts above the fold. */
@media (max-width: 600px) {
	body .twc-dash__nav {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 6px;
		overflow: visible;
	}
	body .twc-dash__tab {
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 44px;
		padding: 8px 2px;
		font-size: 12.5px;
		text-align: center;
		white-space: normal;
		overflow-wrap: normal;
		word-break: normal;
		hyphens: none;
		line-height: 1.15;
	}
	body .twc-dash__stats { margin-bottom: var(--twc-space-3); }
	body .twc-status__tiles {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 6px;
	}
	body .twc-status__tile {
		flex-direction: row;
		align-items: center;
		gap: 8px;
		padding: 10px 12px;
	}
	body .twc-status__num { font-size: 20px; }
	body .twc-status__label { font-size: 11px; line-height: 1.2; }

	/* Thumb beside the title instead of on its own row; buttons below. */
	body .twc-dash__row {
		grid-template-columns: 64px minmax(0, 1fr);
		gap: 10px 12px;
		padding: 12px;
	}
	body .twc-dash__row-actions { grid-column: 1 / -1; }
	body .twc-dash__row-actions > * { flex: 1 1 0; }
}

/* ==========================================================================
   Card action row (like · comments · save) — 1.8.5
   The three controls plus their gaps were wider than a grid card, so the
   save button spilled past the card edge and was clipped. Tighter gaps, a
   shrinkable like pill and a fixed 40px save square keep all three inside
   the card at every column width. Scoped to .twc-fc__meta only.
   ========================================================================== */

.twc-fc__meta {
	gap: 8px;
	min-width: 0;
	max-width: 100%;
}

body .twc-fc__meta button.twc-fc__like {
	flex: 0 1 auto;
	min-width: 0;
	padding: 0 10px;
}

body .twc-fc__meta a.twc-fc__comments {
	flex: 0 1 auto;
	min-width: 0;
	padding: 0 4px;
}

body .twc-fc__meta button.twc-fc__save {
	flex: 0 0 40px;
	justify-content: center;
	width: 40px;
	min-width: 40px;
	height: 40px;
	min-height: 40px;
	margin-left: auto;
	padding: 0;
}

/* ==========================================================================
   Readable labels on turquoise buttons — 1.8.6
   Elementor's kit link colour (.elementor-kit-6 a, and its :hover) is more
   specific than .twc-btn2--lime / --cyan, so link-buttons on the light
   turquoise fill rendered near-white text (about 1.7:1 contrast). Restate
   the intended dark label with one extra element in the selector. Colour
   only; no layout or shape change.
   ========================================================================== */

body a.twc-btn2--lime,
body a.twc-btn2--lime:hover,
body a.twc-btn2--lime:focus,
body a.twc-btn2--cyan,
body a.twc-btn2--cyan:hover,
body a.twc-btn2--cyan:focus {
	color: #0a0a0c;
}
