/* ============================================================
 * Vectordose — homepage-only styles (front-page.php)
 * Uses shared tokens/classes from style.css:
 *   .vd-container, .vd-card, .vd-section__title,
 *   --vd-black, --vd-gray, --vd-footer, --vd-radius, --vd-font
 * ============================================================ */

/* ---- HERO ---- */
.vd-hero {
	padding: 96px 0 74px;
	text-align: center;
}

.vd-hero__inner {
	max-width: 960px;
}

.vd-hero__title {
	margin: 0 auto 38px;
	max-width: 930px;
	font-size: clamp(44px, 7vw, 78px);
	font-weight: 700;
	line-height: 1.18;
	letter-spacing: -0.065em;
}

.vd-hero__title span {
	display: block;
}
.vd-hero__title .vd-slot {
	display: inline-grid;
}

.vd-hero__intro {
	max-width: 620px;
	margin: 0 auto 38px;
	font-size: clamp(17px, 2vw, 20px);
	line-height: 1.7;
	color: #656565;
}

/* Hero search form (demo-styled, functional) */
.vd-hero-search {
	position: relative;
	display: flex;
	align-items: center;
	background: #ffffff;
	border: 1px solid #dedede;
	box-shadow: 0 16px 48px rgba(17, 17, 17, .08);
	width: min(760px, 100%);
	margin: 0 auto;
	border-radius: 999px;
	padding: 0 0 0 10px;
	overflow: hidden;
}

.vd-hero-search:focus-within {
	border-color: #111111;
}

.vd-hero-search > svg {
	width: 23px;
	height: 23px;
	margin-left: 10px;
	flex: 0 0 auto;
	color: #656565;
}

.vd-hero-search input[type="search"] {
	width: 100%;
	border: 0;
	outline: 0;
	background: transparent;
	color: #111111;
	font-size: 18px;
	padding: 14px 12px;
}

.vd-hero-search input[type="search"]::placeholder {
	color: #656565;
}

.vd-search-submit {
	align-self: stretch;
	background: #111;
	color: #fff;
	border: 0;
	border-left: 1px solid #111;
	border-radius: 0 999px 999px 0;
	padding: 14px 26px;
	white-space: nowrap;
	font-weight: 800;
	font-size: 15px;
	cursor: pointer;
}

.vd-search-submit:hover,
.vd-search-submit:focus-visible {
	background: #292929;
}

/* ---- CATEGORY TAG PILLS ---- */
.vd-tags {
	display: flex;
	justify-content: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 18px;
}

.vd-tag {
	border: 0;
	background: #f0f0f0;
	color: #111;
	padding: 8px 13px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.18s ease;
}

.vd-tag:hover,
.vd-tag:focus-visible {
	background: #e2e2e2;
}

/* ---- HOME SECTIONS ---- */
.vd-section {
	padding: 72px 0;
	border-top: 1px solid #dedede;
}

/* Second showcase (Recently Added): tighter top, no border, more bottom space */
.vd-section--tight {
	padding-top: 6px;
	padding-bottom: 96px;
	border-top: 0;
}

.vd-section__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 24px;
}

/* "View all logos" — plain text link, underline on hover */
.vd-section__link {
	border: 0;
	background: transparent;
	color: var(--vd-black, #111);
	font-weight: 800;
	padding: 8px 0;
	white-space: nowrap;
	text-decoration: none;
	cursor: pointer;
}

.vd-section__link:hover,
.vd-section__link:focus-visible {
	text-decoration: underline;
	text-underline-offset: 5px;
}

/* ---- HOME LOGO GRID (card-logo partials render inside) ---- */
.vd-home-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}

/* ---- CATEGORY PACKS ("Browse Logo Categories") ---- */
.vd-packs {
	background: #f7f7f7;
	padding: 78px 0 90px;
}

.vd-packs-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
}

/* Linked pack box: category name + mini previews + explore link. Default + hover. */
.vd-pack {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 16px;
	background: #fff;
	border: 1px solid #e2e2e2;
	border-radius: var(--vd-radius, 8px);
	color: var(--vd-black, #111);
	text-decoration: none;
	cursor: pointer;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.vd-pack:focus-visible {
	border-color: var(--vd-black, #111);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.1);
	outline: 2px solid var(--vd-black, #111);
	outline-offset: 2px;
}

.vd-pack__name {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 12px;
}

/* Mini logo previews (3 per pack) */
.vd-pack__minis {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 6px;
	margin-bottom: 13px;
}

.vd-mini {
	min-width: 0;
	background: #fff;
	border: 1px solid #e7e7e7;
	border-radius: 8px;
	overflow: hidden;
	color: #111;
	transition: transform .18s, box-shadow .18s, border-color .18s;
}

.vd-mini:hover,
.vd-mini:focus-visible {
	transform: translateY(-2px) scale(1.01);
	border-color: #111;
	box-shadow: 0 10px 24px rgba(0, 0, 0, .16);
}

.vd-mini__preview {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1.12;
	background: #f5f5f5;
	padding: 10px;
	overflow: hidden;
	transition: background-color .18s;
}

.vd-mini:hover .vd-mini__preview,
.vd-mini:focus-visible .vd-mini__preview {
	background-color: #fafafa;
	background-image:
		linear-gradient(45deg, #efefef 25%, transparent 25%),
		linear-gradient(-45deg, #efefef 25%, transparent 25%),
		linear-gradient(45deg, transparent 75%, #efefef 75%),
		linear-gradient(-45deg, transparent 75%, #efefef 75%);
	background-size: 12px 12px;
	background-position: 0 0, 0 6px, 6px -6px, -6px 0;
}

.vd-mini__preview img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	transition: transform .18s;
}

.vd-mini:hover .vd-mini__preview img,
.vd-mini:focus-visible .vd-mini__preview img {
	transform: scale(1.04);
}

.vd-mini__title {
	display: block;
	padding: 7px 8px 8px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 10px;
	font-weight: 800;
}

/* "Explore category" link */
.vd-pack__link {
	font-weight: 700;
	font-size: 15px;
	color: #111;
}

.vd-pack__link:hover {
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* ---- RESPONSIVE ---- */
@media (max-width: 900px) {
	.vd-home-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.vd-packs-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 640px) {
	.vd-hero {
		padding: 70px 0 52px;
	}

	.vd-hero__title {
		font-size: 45px;
	}

	.vd-hero__intro {
		font-size: 16px;
		margin-bottom: 28px;
	}

	.vd-hero-search input[type="search"] {
		font-size: 16px;
		padding: 11px 8px;
	}

	.vd-search-submit {
		padding: 12px 15px;
	}

	.vd-section {
		padding: 54px 0;
	}

	.vd-section__head {
		align-items: center;
		margin-bottom: 18px;
	}

	.vd-section__link {
		font-size: 13px;
	}

	.vd-home-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 14px;
	}

	.vd-packs {
		padding: 58px 0;
	}

	.vd-packs-grid {
		grid-template-columns: 1fr;
	}

	.vd-pack {
		min-height: 0;
	}

	.vd-pack__name {
		font-size: 15px;
	}
}

/* ---------- Hero rotating logo slots (Variant 1) ---------- */
.vd-slot {
  position: relative;
  display: inline-grid;
  width: 1.18em;
  height: 1.18em;
  overflow: hidden;
  vertical-align: middle;
  margin-top: -0.08em;
}
.vd-slot-item {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  opacity: 0;
  transform: translateY(70%);
  transition: opacity .42s ease, transform .42s ease;
}
.vd-slot-item.is-active { opacity: 1; transform: translateY(0); }
.vd-slot-item.is-leaving { opacity: 0; transform: translateY(-70%); }
.vd-logo-tile {
  width: .88em;
  height: .88em;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: .2em;
  border: 1px solid var(--vd-line, #e5e5e5);
  background: #fff;
  box-shadow: 0 4px 12px rgba(17,17,17,.08);
  overflow: hidden;
  padding: 19%;
  box-sizing: border-box;
}
.vd-logo-tile img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}
@media (prefers-reduced-motion: reduce) {
  .vd-slot-item { transition: none; }
}
body.vd-paused .vd-slot-item { transition: none; }

/* Search ⌘K hint (demo style) */
.vd-search-kbd {
  flex: 0 0 auto;
  margin-right: 12px;
  padding: 4px 10px;
  border: 1px solid var(--vd-line, #e5e5e5);
  border-radius: 6px;
  background: #f5f5f5;
  color: #656565;
  font-size: 12px;
  font-weight: 600;
}
@media (max-width: 640px) { .vd-search-kbd { display: none; } }
