/* Kenya safari package catalog — mock-up layout, homepage chrome */

body.stk-pkg-page .site-main {
	padding-top: 0;
}

body.stk-pkg-page .site-main > .stk-pkg {
	margin-top: 0;
}

.stk-pkg {
	background: #fff;
	color: var(--ugt-ink, #2a1c14);
}

.stk-pkg .wrap {
	width: min(1220px, 94vw);
	max-width: none;
	margin-inline: auto;
	padding-left: 1.15rem;
	padding-right: 1.15rem;
	box-sizing: border-box;
}

.stk-pkg picture {
	display: block;
	width: 100%;
	height: 100%;
}

.stk-pkg picture img,
.stk-pkg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.stk-pkg .btn.btn--home-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	min-height: 43px;
	padding: 0.55rem 1.15rem;
	background: var(--kenya-brown-deep, #302016);
	color: #fff;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	border: 1.5px solid var(--kenya-brown-deep, #302016);
	border-radius: 0;
	line-height: 1.2;
	box-shadow: none;
	cursor: pointer;
}

.stk-pkg .btn.btn--home-primary:hover,
.stk-pkg .btn.btn--home-primary:focus-visible {
	background: var(--kenya-brown-dark, #49301E);
	border-color: var(--kenya-brown-dark, #49301E);
	color: #fff;
}

.stk-pkg .stk-section-link--outline {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	min-height: 43px;
	padding: 0.55rem 1.1rem;
	border: 1.5px solid rgba(255, 255, 255, 0.85);
	border-radius: 0;
	background: #fff;
	color: var(--kenya-brown-deep, #302016);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
}

.stk-pkg .stk-section-link--outline:hover,
.stk-pkg .stk-section-link--outline:focus-visible {
	background: var(--kenya-cream, #FBF8F3);
	color: var(--kenya-brown-dark, #49301E);
}

/* Hero */
.stk-pkg-hero {
	position: relative;
	min-height: clamp(22rem, 42vw, 30rem);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	overflow: hidden;
	color: #fff;
	background: var(--kenya-brown-deep, #302016);
}

.stk-pkg-hero__media {
	position: absolute;
	inset: 0;
}

.stk-pkg-hero__img,
.stk-pkg-hero__img-ph {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 48%;
}

.stk-pkg-hero__img-ph {
	background: linear-gradient(160deg, #c9a56a, #6b4528);
}

.stk-pkg-hero__scrim {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(48, 32, 22, 0.62) 0%, rgba(48, 32, 22, 0.28) 48%, rgba(48, 32, 22, 0.18) 100%),
		linear-gradient(180deg, rgba(48, 32, 22, 0.12) 0%, rgba(48, 32, 22, 0.58) 100%);
}

.stk-pkg-hero__inner {
	position: relative;
	z-index: 1;
	padding-top: 5.5rem;
	padding-bottom: 1.35rem;
}

.stk-pkg-hero__crumbs {
	margin: 0 0 0.85rem;
	font-size: 0.78rem;
	color: rgba(255, 255, 255, 0.82);
}

.stk-pkg-hero__crumbs a {
	color: #fff;
	text-decoration: none;
	font-weight: 600;
}

.stk-pkg-hero__crumbs a:hover,
.stk-pkg-hero__crumbs a:focus-visible {
	color: var(--kenya-gold, #C99455);
}

.stk-pkg-hero__title {
	margin: 0 0 0.4rem;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.2rem, 4.8vw, 3.5rem);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: 0.01em;
	color: #fff;
}

.stk-pkg-hero__tagline {
	margin: 0 0 0.8rem;
	font-size: clamp(1.02rem, 2vw, 1.32rem);
	font-weight: 700;
	color: var(--kenya-gold, #C99455);
}

.stk-pkg-hero__intro {
	margin: 0;
	max-width: 62ch;
	font-size: 0.92rem;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.9);
}

.stk-pkg-hero__bar {
	position: relative;
	z-index: 1;
	background: rgba(32, 20, 12, 0.62);
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.stk-pkg-hero__facts {
	list-style: none;
	margin: 0 auto;
	padding: 0.9rem 1.15rem;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.85rem 1.2rem;
}

.stk-pkg-hero__facts li {
	display: flex;
	align-items: center;
	gap: 0.65rem;
}

.stk-pkg-hero__ico {
	flex: 0 0 auto;
	color: var(--kenya-gold, #C99455);
}

.stk-pkg-hero__facts strong {
	font-size: 0.82rem;
	font-weight: 700;
	color: #fff;
	line-height: 1.3;
}

/* Layout */
.stk-pkg-shell {
	padding-top: 2rem;
	padding-bottom: 2.4rem;
	background: #f4f2ef;
}

.stk-pkg-intro {
	margin: 0 0 1.75rem;
	padding: 1.35rem 1.4rem 1.45rem;
	background: #fff;
	border: 1px solid #e0d9cf;
}

.stk-pkg-intro--after {
	margin: 0;
}

.stk-pkg-layout--more {
	margin-top: 1.75rem;
}

.stk-pkg-layout--more .stk-pkg-aside {
	position: sticky;
	top: 6.25rem;
	align-self: start;
	max-height: calc(100vh - 7.25rem);
	overflow: auto;
}

.stk-pkg-toc {
	padding: 1.15rem 1.05rem 1.25rem;
	background: #eceae6;
	border: 1px solid #e0d9cf;
}

.stk-pkg-toc h2 {
	margin: 0 0 0.7rem;
	font-size: 1.05rem;
	font-weight: 800;
	color: var(--kenya-brown-deep, #302016);
}

.stk-pkg-toc ul {
	list-style: none;
	margin: 0 0 0.95rem;
	padding: 0;
}

.stk-pkg-toc li {
	margin: 0;
}

.stk-pkg-toc a {
	display: block;
	padding: 0.28rem 0;
	color: #3a2c22;
	text-decoration: none;
	font-size: 0.8rem;
	line-height: 1.35;
}

.stk-pkg-toc a:hover,
.stk-pkg-toc a.is-active {
	color: var(--kenya-brown-dark, #49301E);
	font-weight: 700;
}

.stk-pkg-toc .stk-section-link--outline {
	width: 100%;
	border-color: var(--kenya-brown, #6B4528);
	background: transparent;
	color: var(--kenya-brown, #6B4528);
}

.stk-pkg-intro--after .stk-pkg-intro__h,
.stk-pkg-intro--after .section-title {
	scroll-margin-top: 6.5rem;
}

.stk-pkg-intro .stk-section-head {
	margin-bottom: 0.85rem;
}

.stk-pkg-intro .section-title {
	margin: 0;
	font-size: clamp(1.35rem, 2.2vw, 1.75rem);
	font-weight: 800;
	color: var(--kenya-brown-deep, #302016);
	letter-spacing: 0.01em;
}

.stk-pkg-intro p {
	margin: 0 0 0.75rem;
	font-size: 0.98rem;
	line-height: 1.65;
	color: var(--ugt-ink, #2a1c14);
}

.stk-pkg-intro a {
	color: var(--kenya-brown, #6B4528);
	text-decoration: underline;
	text-underline-offset: 0.14em;
	text-decoration-thickness: 1px;
}

.stk-pkg-intro a:hover,
.stk-pkg-intro a:focus-visible {
	color: var(--kenya-brown-deep, #302016);
}

.stk-pkg-intro p:last-of-type {
	margin-bottom: 0;
}

.stk-pkg-intro__h {
	margin: 1.85rem 0 0.7rem;
	font-size: clamp(1.2rem, 1.8vw, 1.45rem);
	font-weight: 800;
	color: var(--kenya-brown-deep, #302016);
}

.stk-pkg-intro h3 {
	margin: 1.2rem 0 0.45rem;
	font-size: 1.02rem;
	font-weight: 800;
	color: var(--kenya-brown-deep, #302016);
}

.stk-pkg-intro h4 {
	margin: 1rem 0 0.4rem;
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--kenya-brown-dark, #49301E);
}

.stk-pkg-intro ul {
	margin: 0 0 0.85rem;
	padding-left: 1.2rem;
	max-width: none;
}

.stk-pkg-intro li {
	margin: 0 0 0.28rem;
	font-size: 0.98rem;
	line-height: 1.55;
	color: var(--ugt-ink, #2a1c14);
}

.stk-pkg-intro__table-wrap {
	margin: 0.35rem 0 1rem;
	overflow-x: auto;
}

.stk-pkg-intro__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.92rem;
}

.stk-pkg-intro__table th,
.stk-pkg-intro__table td {
	padding: 0.55rem 0.7rem;
	border: 1px solid #e0d9cf;
	text-align: left;
	vertical-align: top;
	line-height: 1.45;
}

.stk-pkg-intro__table th {
	background: #f4efe6;
	font-weight: 700;
	color: var(--kenya-brown-deep, #302016);
}

.stk-pkg-intro__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem 1.15rem;
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
}

.stk-pkg-intro__chips li {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.84rem;
	font-weight: 600;
	color: var(--kenya-brown-dark, #49301E);
}

.stk-pkg-intro .stk-section-link--outline {
	border-color: var(--kenya-brown, #6B4528);
	background: transparent;
	color: var(--kenya-brown, #6B4528);
}

.stk-pkg-intro .stk-section-link--outline:hover,
.stk-pkg-intro .stk-section-link--outline:focus-visible {
	background: var(--kenya-brown, #6B4528);
	border-color: var(--kenya-brown, #6B4528);
	color: #fff;
}

.stk-pkg-layout {
	display: grid;
	grid-template-columns: 17.5rem minmax(0, 1fr);
	gap: 1.5rem 1.75rem;
	align-items: start;
}

/* Filters */
.stk-pkg-filters {
	padding: 1.15rem 1.05rem 1.25rem;
	background: #eceae6;
	border: 1px solid #e0d9cf;
}

.stk-pkg-filters__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 0.85rem;
}

.stk-pkg-filters__head h2 {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 800;
	color: var(--kenya-brown-deep, #302016);
}

.stk-pkg-filters__head a {
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--kenya-brown, #6B4528);
	text-decoration: none;
}

.stk-pkg-filters__head a:hover {
	color: var(--kenya-gold, #C99455);
}

.stk-pkg-filters fieldset {
	margin: 0 0 1rem;
	padding: 0 0 0.95rem;
	border: 0;
	border-bottom: 1px solid #ddd6cc;
}

.stk-pkg-filters fieldset:last-of-type {
	border-bottom: 0;
	padding-bottom: 0;
}

.stk-pkg-filters legend {
	padding: 0;
	margin-bottom: 0.55rem;
	font-size: 0.82rem;
	font-weight: 800;
	color: var(--kenya-brown-dark, #49301E);
}

.stk-pkg-filters label {
	display: flex;
	align-items: flex-start;
	gap: 0.45rem;
	margin: 0 0 0.38rem;
	font-size: 0.82rem;
	line-height: 1.35;
	color: #3a2c22;
	cursor: pointer;
}

.stk-pkg-filters input[type="checkbox"] {
	margin-top: 0.15rem;
	accent-color: var(--kenya-brown-dark, #49301E);
}

.stk-pkg-filters__more {
	display: inline-flex;
	align-items: center;
	margin-top: 0.25rem;
	padding: 0;
	border: 0;
	background: none;
	color: var(--kenya-brown, #6B4528);
	font-size: 0.78rem;
	font-weight: 700;
	cursor: pointer;
}

.stk-pkg-filters__more:hover {
	color: var(--kenya-gold, #C99455);
}

.stk-pkg-price {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.55rem;
	margin-bottom: 0.75rem;
}

.stk-pkg-price label {
	display: grid;
	gap: 0.2rem;
	margin: 0;
	font-size: 0.72rem;
	font-weight: 700;
	color: var(--ugt-muted, #6b5b4c);
}

.stk-pkg-price input {
	width: 100%;
	min-height: 2.15rem;
	padding: 0.3rem 0.45rem;
	border: 1px solid #d5cbbd;
	background: #fff;
	font-size: 0.84rem;
	color: var(--kenya-brown-deep, #302016);
}

.stk-pkg-filters .btn.btn--home-primary {
	width: 100%;
}

.stk-pkg-help {
	margin-top: 1.1rem;
	padding: 1rem 0.9rem 1.1rem;
	background: var(--kenya-brown-deep, #302016);
	color: #fff;
}

.stk-pkg-help h3 {
	margin: 0 0 0.4rem;
	font-size: 0.92rem;
	line-height: 1.35;
}

.stk-pkg-help p {
	margin: 0 0 0.85rem;
	font-size: 0.78rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.82);
}

.stk-pkg-help .stk-section-link--outline {
	width: 100%;
}

/* Results */
.stk-pkg-results__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.65rem 1rem;
	margin-bottom: 0.95rem;
}

.stk-pkg-results__head p {
	margin: 0;
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--kenya-brown-dark, #49301E);
}

.stk-pkg-sort {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--ugt-muted, #6b5b4c);
}

.stk-pkg-sort select {
	min-height: 2.15rem;
	padding: 0.25rem 0.5rem;
	border: 1px solid #d5cbbd;
	background: #fff;
	color: var(--kenya-brown-deep, #302016);
	font-weight: 600;
}

/* Same itinerary cards as /kenya-safaris/ (stk_the_pack_card). */
.stk-pkg-results .stk-pack-grid.stk-pkg-pack-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.15rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 700px) {
	.stk-pkg-results .stk-pack-grid.stk-pkg-pack-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1200px) {
	.stk-pkg-results .stk-pack-grid.stk-pkg-pack-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.stk-pkg-card {
	display: grid;
	grid-template-columns: 15.5rem minmax(0, 1fr) 11.25rem;
	background: #fff;
	border: 1px solid #eadfce;
	box-shadow: 0 10px 24px rgba(73, 48, 30, 0.06);
	overflow: hidden;
}

.stk-pkg-card__media {
	position: relative;
	display: block;
	min-height: 11.5rem;
	background: var(--kenya-sand, #E8DAC5);
}

.stk-pkg-card__badge {
	position: absolute;
	top: 0.7rem;
	left: 0;
	padding: 0.28rem 0.7rem 0.28rem 0.55rem;
	background: var(--kenya-brown-dark, #49301E);
	color: #fff;
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.stk-pkg-card__body {
	padding: 1rem 1.05rem 1.05rem;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	min-width: 0;
}

.stk-pkg-card__title {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.18rem;
	font-weight: 700;
	line-height: 1.25;
}

.stk-pkg-card__title a {
	color: var(--kenya-brown-deep, #302016);
	text-decoration: none;
}

.stk-pkg-card__title a:hover {
	color: var(--kenya-brown, #6B4528);
}

.stk-pkg-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 1rem;
	margin: 0;
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--ugt-muted, #6b5b4c);
}

.stk-pkg-card__meta span {
	display: inline-flex;
	align-items: center;
	gap: 0.28rem;
}

.stk-pkg-card__meta .home-icon {
	color: var(--kenya-gold, #C99455);
}

.stk-pkg-card__text {
	margin: 0.15rem 0 0;
	font-size: 0.84rem;
	line-height: 1.5;
	color: #4a3b30;
}

.stk-pkg-card__tags {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin: 0.45rem 0 0;
	padding: 0;
}

.stk-pkg-card__tags li {
	padding: 0.18rem 0.55rem;
	border: 1px solid #eadfce;
	border-radius: 999px;
	background: var(--kenya-cream, #FBF8F3);
	font-size: 0.7rem;
	font-weight: 700;
	color: var(--kenya-brown-dark, #49301E);
}

.stk-pkg-card__aside {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	gap: 0.55rem;
	padding: 1rem 1rem 1.05rem;
	border-left: 1px solid #eadfce;
	text-align: right;
}

.stk-pkg-card__wish {
	position: absolute;
	top: 0.7rem;
	right: 0.75rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.85rem;
	height: 1.85rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--kenya-brown-dark, #49301E);
	cursor: pointer;
}

.stk-pkg-card__wish[aria-pressed="true"] {
	color: var(--kenya-gold, #C99455);
}

.stk-pkg-card__price {
	margin: 1.4rem 0 0.15rem;
	display: grid;
	justify-items: end;
	gap: 0.08rem;
}

.stk-pkg-card__price span,
.stk-pkg-card__price em {
	font-size: 0.72rem;
	font-style: normal;
	font-weight: 600;
	color: var(--ugt-muted, #6b5b4c);
}

.stk-pkg-card__price strong {
	font-size: 1.12rem;
	font-weight: 800;
	color: var(--kenya-brown-deep, #302016);
	letter-spacing: 0.01em;
}

.stk-pkg-card__aside .btn.btn--home-primary {
	width: 100%;
}

.stk-pkg-card__custom {
	display: inline-flex;
	align-items: center;
	gap: 0.28rem;
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--kenya-brown, #6B4528);
	text-decoration: none;
}

.stk-pkg-card__custom:hover {
	color: var(--kenya-gold, #C99455);
}

.stk-pkg-empty {
	margin: 1.5rem 0 0;
	padding: 1.25rem;
	background: #fff;
	border: 1px solid #eadfce;
	color: var(--ugt-muted, #6b5b4c);
}

.stk-pkg-pages {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.35rem;
	margin: 1.5rem 0 0;
}

.stk-pkg-pages a,
.stk-pkg-pages span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.05rem;
	min-height: 2.05rem;
	padding: 0 0.45rem;
	border: 1px solid #eadfce;
	background: #fff;
	color: var(--kenya-brown-deep, #302016);
	font-size: 0.84rem;
	font-weight: 700;
	text-decoration: none;
}

.stk-pkg-pages a:hover {
	border-color: var(--kenya-brown-dark, #49301E);
}

.stk-pkg-pages .is-current {
	background: var(--kenya-brown-deep, #302016);
	border-color: var(--kenya-brown-deep, #302016);
	color: #fff;
}

/* Trust foot */
.stk-pkg-trust {
	background: var(--kenya-cream, #FBF8F3);
	border-top: 1px solid #eadfce;
}

.stk-pkg-trust__list {
	list-style: none;
	margin: 0 auto;
	padding-top: 1.35rem;
	padding-bottom: 1.35rem;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem 1.1rem;
}

.stk-pkg-trust__list li {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 0.7rem;
}

.stk-pkg-trust__ico {
	color: var(--kenya-gold, #C99455);
}

.stk-pkg-trust__copy {
	display: grid;
	gap: 0.1rem;
}

.stk-pkg-trust__copy strong {
	font-size: 0.86rem;
	color: var(--kenya-brown-deep, #302016);
}

.stk-pkg-trust__copy span {
	font-size: 0.74rem;
	line-height: 1.4;
	color: var(--ugt-muted, #6b5b4c);
}

@media (max-width: 980px) {
	.stk-pkg-layout {
		grid-template-columns: 1fr;
	}

	.stk-pkg-hero__facts,
	.stk-pkg-trust__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.stk-pkg-card {
		grid-template-columns: 13.5rem minmax(0, 1fr);
	}

	.stk-pkg-card__aside {
		grid-column: 1 / -1;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		border-left: 0;
		border-top: 1px solid #eadfce;
		text-align: left;
	}

	.stk-pkg-card__wish {
		position: static;
	}

	.stk-pkg-card__price {
		margin: 0;
		justify-items: start;
	}

	.stk-pkg-card__aside .btn.btn--home-primary {
		width: auto;
	}
}

@media (max-width: 700px) {
	.stk-pkg-hero {
		min-height: 18rem;
	}

	.stk-pkg-hero__facts,
	.stk-pkg-trust__list,
	.stk-pkg-price {
		grid-template-columns: 1fr;
	}

	.stk-pkg-card {
		grid-template-columns: 1fr;
	}

	.stk-pkg-card__media {
		min-height: 12rem;
		aspect-ratio: 16 / 10;
	}
}

/* Catalog body figures (intro / more copy) */
.stk-pkg-intro figure.wp-block-image {
	margin: 1.75rem auto;
	text-align: center;
}

.stk-pkg-intro figure.wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto;
	border-radius: 0.75rem;
}