/* Homepage discovery V3: late-loading, local presentation overrides only. */
.tkl-home-discovery { background: #fff; }
.tkl-home-discovery__purpose, .tkl-home-discovery__category { margin-top: 52px; }
.tkl-home-section-heading--compact { margin-bottom: 20px; }

/* Articles are blue; products are pink. The distinction remains visible before selection. */
.tkl-discovery-search { max-width: 760px; margin: 0 auto; }
.tkl-discovery-search__tabs, .tkl-discovery-tabs { align-items: center; display: flex; gap: 8px; }
.tkl-discovery-search__tabs { margin: 0 0 12px; }
.tkl-discovery-search__tabs button, .tkl-discovery-tabs a {
	appearance: none; background: #fff; border: 1px solid #d9dde5; border-radius: 999px; cursor: pointer;
	font: inherit; font-weight: 700; line-height: 1; padding: 12px 18px; text-decoration: none;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.tkl-discovery-search__tab--articles, .tkl-discovery-tabs [data-tkl-view="articles"] { border-color: #9ec3ef; color: #2477df; }
.tkl-discovery-search__tab--products, .tkl-discovery-tabs [data-tkl-view="products"] { border-color: #f2aac1; color: #dc356d; }
.tkl-discovery-search__tab--articles.is-active, .tkl-discovery-tabs [data-tkl-view="articles"].is-active { background: #2477df; border-color: #2477df; color: #fff; }
.tkl-discovery-search__tab--products.is-active, .tkl-discovery-tabs [data-tkl-view="products"].is-active { background: #eb4f83; border-color: #eb4f83; color: #fff; }

/* One joined control prevents the search input and its action button from drifting apart. */
.tkl-discovery-search__field { align-items: stretch; border: 1px solid #ccd3de; border-radius: 10px; box-sizing: border-box; display: flex; min-height: 56px; overflow: hidden; }
.tkl-discovery-search__field input[type="search"] { background: #fff; border: 0 !important; border-radius: 0 !important; box-sizing: border-box; color: #252a32; flex: 1; font: inherit; height: auto !important; margin: 0 !important; min-width: 0; padding: 0 18px; }
.tkl-discovery-search__field button { align-self: stretch; background: #2477df; border: 0 !important; border-radius: 0 !important; box-sizing: border-box; color: #fff; cursor: pointer; flex: 0 0 136px; font: inherit; font-weight: 700; margin: 0 !important; min-height: 0 !important; padding: 0 20px; }
.tkl-discovery-search[data-tkl-active-type="products"] .tkl-discovery-search__field button { background: #eb4f83; }
.tkl-discovery-search[data-tkl-active-type="articles"] .tkl-discovery-search__field button { background: #2477df; }
.tkl-discovery-search__field button:hover, .tkl-discovery-search__field button:focus-visible { filter: brightness(.9); }

.tkl-home-purpose__grid { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tkl-purpose-card { align-items: center; background: #fff; border: 1px solid #e1e3e8; border-radius: 0; color: #303642; display: flex; gap: 10px; min-height: 66px; padding: 13px 14px; text-decoration: none; }
.tkl-purpose-card:hover, .tkl-purpose-card:focus-visible, .tkl-home-category-card:hover, .tkl-home-category-card:focus-visible { border-color: #82b2ea; box-shadow: 0 6px 18px rgba(37, 90, 158, .10); transform: translateY(-1px); }
.tkl-purpose-card__emoji { font-size: 25px; line-height: 1; }
.tkl-purpose-card__label { flex: 1; font-weight: 700; line-height: 1.35; }
.tkl-purpose-card__arrow { color: #2477df; font-size: 20px; font-weight: 700; }
.tkl-purpose-ad { background: #fff; border: 1px solid #e1e3e8; border-radius: 0; display: block; min-height: 66px; overflow: hidden; text-decoration: none; }
.tkl-purpose-ad picture, .tkl-purpose-ad img { display: block; width: 100%; }
.tkl-purpose-ad img { height: auto; object-fit: contain; }
.tkl-purpose-ad:hover, .tkl-purpose-ad:focus-visible { border-color: #82b2ea; box-shadow: 0 6px 18px rgba(37, 90, 158, .10); transform: translateY(-1px); }

/* The source images are 3:1. Four desktop columns and two mobile columns keep them card-sized. */
.tkl-home-category-cards { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tkl-home-category-card { align-items: center; background: #fff; border: 1px solid #e1e3e8; border-radius: 0; display: flex; justify-content: center; overflow: hidden; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.tkl-home-category-card img { display: block; height: auto; max-width: 100%; width: 100%; }

.tkl-home-section-divider { background: linear-gradient(90deg, #4c5fd4 0 58%, #fbd56a 58% 76%, #050505 76% 100%); height: 3px; margin: 20px auto; max-width: 1160px; width: calc(100% - 40px); }
.tkl-home-featured, .tkl-home-topic-articles { background: #fff !important; }

/* Homepage shelves remain server-rendered; this only softens their JS replacement. */
[data-tkl-article-shuffle-grid] { transition: opacity .18s ease, transform .18s ease; }
[data-tkl-article-shuffle-grid].is-tkl-shuffling { opacity: 0; pointer-events: none; transform: translateY(5px); }
.tkl-home-article-shuffle { display: flex; justify-content: center; margin-top: 26px; }
.tkl-home-article-shuffle__button { background: #fff; border: 2px solid #171717; box-shadow: 4px 4px 0 #fbd56a; color: #171717; cursor: pointer; font: inherit; font-size: 14px; font-weight: 900; padding: 11px 18px; }
.tkl-home-article-shuffle__button:hover, .tkl-home-article-shuffle__button:focus-visible { background: #6d28d9; border-color: #6d28d9; color: #fff; transform: translate(-2px, -2px); }
.tkl-home-article-shuffle__button:disabled { cursor: wait; opacity: .65; transform: none; }

/* BEST30 is an image-only belt. The duplicated half makes the loop continuous. */
.tkl-commerce-select { overflow: hidden; padding: 52px 0; }
.tkl-commerce-select__belt { cursor: grab; overflow: hidden; padding: 12px 0; touch-action: pan-y; user-select: none; }
.tkl-commerce-select__belt.is-dragging { cursor: grabbing; }
.tkl-commerce-select__track { align-items: center; display: flex; gap: 16px; width: max-content; animation: tkl-best30-belt 145s linear infinite; will-change: transform; }
.tkl-commerce-select__belt:hover .tkl-commerce-select__track { animation-play-state: paused; }
.tkl-commerce-select__belt.tkl-belt--interactive .tkl-commerce-select__track { animation: none; }
.tkl-commerce-select__item { align-items: center; background: #fff; border: 1px solid #edf0f4; border-radius: 12px; display: flex; flex: 0 0 228px; height: 228px; justify-content: center; overflow: hidden; }
.tkl-commerce-select__item:hover, .tkl-commerce-select__item:focus-visible { border-color: #8ab8ec; }
.tkl-commerce-select__item img { height: 100%; object-fit: contain; padding: 10px; width: 100%; }
.tkl-commerce-select__fallback { color: #8b94a3; font-size: 12px; font-weight: 700; text-align: center; }
@keyframes tkl-best30-belt { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.tkl-discovery-page { margin: 0 auto; max-width: 1160px; padding: 44px 20px 72px; }
.tkl-discovery-page .tkl-public-category__main { max-width: none; }
.tkl-discovery-search--results { margin: 0 0 34px; }
.tkl-discovery-tabs { margin: 0 0 24px; }
.tkl-discovery-products { display: grid; gap: 18px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tkl-discovery-products .tkl-product-card { border: 1px solid #dfe3ea; border-radius: 12px !important; display: flex; flex-direction: column; margin: 0; min-width: 0; overflow: hidden; }
.tkl-discovery-products .tkl-product-card__media { aspect-ratio: 1 / 1; background: #f7f5ff; border: 0; border-bottom: 1px solid #dfe3ea; min-height: 0; }
.tkl-discovery-products .tkl-product-card__media-link { height: 100%; }
.tkl-discovery-products .tkl-product-card__image { height: 100% !important; object-fit: contain; padding: 12px; width: 100%; }
.tkl-discovery-products .tkl-product-card__fallback { min-height: 0; }
.tkl-discovery-products .tkl-product-card__body { padding: 13px; }
.tkl-discovery-products .tkl-product-card__eyebrow, .tkl-discovery-products .tkl-product-card__metrics, .tkl-discovery-products .tkl-product-card__shipping, .tkl-discovery-products .tkl-product-card__snapshot, .tkl-discovery-products .tkl-product-card__description { display: none; }
.tkl-discovery-products .tkl-product-card__title { display: -webkit-box; font-size: 15px; letter-spacing: -.02em; line-height: 1.4; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.tkl-discovery-products .tkl-product-card__brand { font-size: 12px; line-height: 1.35; margin-top: 5px; }
.tkl-discovery-products .tkl-product-card__price-row { gap: 5px; margin-top: 12px; }
.tkl-discovery-products .tkl-product-card__price { font-size: 20px; }
.tkl-discovery-products .tkl-product-card__original, .tkl-discovery-products .tkl-product-card__discount { font-size: 10px; }
.tkl-discovery-products .tkl-product-card__offers { gap: 7px; margin-top: 13px; }
.tkl-discovery-products .tkl-product-card__pr { font-size: 9px; }
.tkl-discovery-products .tkl-product-card__cta { border: 1px solid #6d28d9 !important; font-size: 12px; min-height: 38px; padding: 8px; }
.tkl-discovery-empty { background: #f7f8fa; border: 1px solid #e6e9ef; border-radius: 10px; color: #5b6471; margin: 20px 0; padding: 22px; }
.tkl-public-category__discovery { margin-top: 26px; }

@media (max-width: 1024px) {
	.tkl-home-purpose__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.tkl-home-category-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tkl-home-category-card { height: 120px; }
	.tkl-home-category-card img { height: 100%; object-fit: contain; }
}
@media (max-width: 640px) {
	.tkl-home-discovery__purpose, .tkl-home-discovery__category { margin-top: 38px; }
	.tkl-home-purpose__grid { gap: 9px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tkl-purpose-card { gap: 8px; min-height: 58px; padding: 10px; }
	.tkl-purpose-card__emoji { font-size: 22px; }
	.tkl-purpose-card__label { font-size: 13px; }
	.tkl-purpose-ad { background: #fff; box-sizing: border-box; grid-column: 1 / -1; height: 58px; justify-self: stretch; min-height: 0; width: 100%; }
	.tkl-purpose-ad picture, .tkl-purpose-ad img { height: 100%; }
	.tkl-purpose-ad img { object-fit: contain; object-position: center; }
	.tkl-home-category-cards { gap: 9px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tkl-home-category-card { height: auto; }
	.tkl-home-category-card img { height: auto; object-fit: initial; }
	.tkl-home-article-shuffle { margin-top: 20px; }
	.tkl-home-article-shuffle__button { font-size: 13px; padding: 10px 14px; }
	.tkl-discovery-search__tabs button, .tkl-discovery-tabs a { font-size: 14px; padding: 11px 14px; }
	.tkl-discovery-search__field { min-height: 52px; }
	.tkl-discovery-search__field input[type="search"] { font-size: 14px; padding: 0 12px; }
	.tkl-discovery-search__field button { flex-basis: 92px; padding: 0 12px; }
	.tkl-commerce-select { padding: 42px 0; }
	.tkl-commerce-select__belt { overflow: hidden; }
	.tkl-commerce-select__track { animation: tkl-best30-belt 72s linear infinite; gap: 13px; }
	.tkl-commerce-select__item { flex-basis: 194px; height: 194px; }
	.tkl-commerce-select__item img { padding: 8px; }
	.tkl-discovery-products { gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tkl-discovery-products .tkl-product-card__body { padding: 10px; }
	.tkl-discovery-products .tkl-product-card__title { font-size: 13px; }
	.tkl-discovery-products .tkl-product-card__brand { font-size: 11px; }
	.tkl-discovery-products .tkl-product-card__price { font-size: 17px; }
}

@media (prefers-reduced-motion: reduce) {
	[data-tkl-article-shuffle-grid] { transition: none; }
}
