.bst-tag {
	display: inline-block;
	padding: 0.35rem 0.85rem;
	font-weight: 600;
	font-size: 0.85rem;
	border-radius: 3px;
}
.bst-tag.food { background: #E64C22; color: #FFEEE6; }
.bst-tag.hotels { background: #2E6FA8; color: #E9F2FA; }
.bst-tag.activities { background: #3F9153; color: #EAF7EA; }
.bst-tag.podcast { background: #4A3C28; color: #FBF7EF; }
.bst-tag.destination { background: #EE7A94; color: #3D0D18; }

.bst-hero {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2.5rem;
	align-items: center;
	padding: 2rem 0 1rem;
}
.bst-hero-photo {
	aspect-ratio: 4/5;
	border-radius: 4px;
	background: #F0AD1E;
	position: relative;
	display: flex;
	align-items: flex-end;
	padding: 1rem;
}
.bst-hero-photo .caption {
	background: #FFFFFF;
	color: #4A3C28;
	font-weight: 700;
	font-size: 1.1rem;
	padding: 0.5rem 0.9rem;
	border-radius: 3px;
}

.bst-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}
.bst-card {
	background: #FFFFFF;
	border-radius: 4px;
	overflow: hidden;
}
.bst-card-img {
	aspect-ratio: 4/3;
	display: flex;
	align-items: flex-end;
	padding: 0.9rem;
}
.bst-card:nth-child(3n+1) .bst-card-img { background: #2E6FA8; }
.bst-card:nth-child(3n+2) .bst-card-img { background: #3F9153; }
.bst-card:nth-child(3n+3) .bst-card-img { background: #EE7A94; }
.bst-card-img .place {
	background: #FFFFFF;
	color: #4A3C28;
	font-weight: 700;
	font-size: 1.05rem;
	padding: 0.4rem 0.75rem;
	border-radius: 3px;
}
.bst-card-body { padding: 1.1rem 1.1rem 1.3rem; }

.bst-destinations { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.bst-dest-badge { padding: 0.6rem 1.1rem; border-radius: 3px; font-weight: 600; font-size: 0.95rem; }
.bst-dest-badge:nth-child(6n+1) { background: #F0AD1E; color: #3D2900; }
.bst-dest-badge:nth-child(6n+2) { background: #E64C22; color: #FFEEE6; }
.bst-dest-badge:nth-child(6n+3) { background: #3F9153; color: #EAF7EA; }
.bst-dest-badge:nth-child(6n+4) { background: #2E6FA8; color: #E9F2FA; }
.bst-dest-badge:nth-child(6n+5) { background: #EE7A94; color: #3D0D18; }
.bst-dest-badge:nth-child(6n+6) { background: #F0AD1E; color: #3D2900; }

.bst-archive { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.bst-continent { background: #FFFFFF; border-radius: 4px; padding: 1.25rem 1.4rem 1.4rem; }
.bst-continent h3 {
	font-family: 'Public Sans', sans-serif;
	font-weight: 700;
	font-size: 1rem;
	padding-bottom: 0.6rem;
	margin: 0 0 0.6rem;
	border-bottom: 2px solid #E64C22;
}
.bst-continent ul { list-style: none; margin: 0; padding: 0; }
.bst-continent li { padding: 0.3rem 0; font-size: 0.9rem; }
.bst-continent li a { color: #8C7C60; }
.bst-continent li a:hover { color: #E64C22; }
.bst-continent .count { color: #8C7C60; opacity: 0.6; font-size: 0.8rem; }

.bst-podcast-strip {
	background: #FFFFFF;
	border-radius: 4px;
	padding: 2rem;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 1.5rem;
}
.bst-ep { border-left: 3px solid #E64C22; padding-left: 0.9rem; }
.bst-ep .len { font-size: 0.75rem; color: #E64C22; font-weight: 700; }

.bst-shop {
	background: #3F9153;
	border-radius: 4px;
	padding: 2.5rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 2rem;
}
.bst-shop h2, .bst-shop p { color: #EAF7EA; }
.bst-shop-btn {
	display: inline-block;
	background: #EAF7EA;
	color: #1F4A28;
	padding: 0.75rem 1.5rem;
	border-radius: 3px;
	font-weight: 600;
	white-space: nowrap;
}

.bst-dash-divider {
	height: 26px;
	width: 100%;
	background-image: repeating-linear-gradient(100deg, #4A3C28 0px, #4A3C28 10px, transparent 10px, transparent 22px);
	background-size: 100% 2px;
	background-position: center;
	background-repeat: repeat-x;
	opacity: 0.4;
}

@media (max-width: 780px) {
	.bst-hero { grid-template-columns: 1fr; }
	.bst-cards { grid-template-columns: 1fr 1fr; }
	.bst-archive { grid-template-columns: 1fr; }
	.bst-podcast-strip { grid-template-columns: 1fr; }
	.bst-shop { flex-direction: column; align-items: flex-start; }
}

/* ---- Full-bleed photo + bold overlay text ---- */
.fb-hero {
	position: relative;
	display: block;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	aspect-ratio: 21/9;
	overflow: hidden;
	background-color: #4A3C28;
	background-size: cover;
	background-position: center;
}
.fb-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.1) 45%, rgba(0,0,0,0.15) 100%);
}
.fb-hero-text {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	z-index: 2;
	padding: 2rem;
}
.fb-hero-text h1 {
	font-family: 'Public Sans', sans-serif;
	font-weight: 800;
	font-size: 3.5rem;
	line-height: 0.95;
	color: #D6F23C;
	margin: 0.4rem 0 0;
	letter-spacing: -0.01em;
	max-width: 16ch;
}
.fb-hero-text p {
	color: #FBF7EF;
	max-width: 42ch;
	margin-top: 0.75rem;
	font-size: 1rem;
}
.fb-eyebrow {
	color: #D6F23C;
	font-weight: 700;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}
.fb-hero.fb-card--noimg { background: #4A3C28; }
.fb-hero.fb-card--noimg::after { background: none; }
.fb-hero.fb-card--noimg .fb-hero-text h1 { color: #FBF7EF; }

.fb-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}
.fb-cards-4 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5rem;
}
.fb-card {
	position: relative;
	display: flex;
	align-items: flex-end;
	aspect-ratio: 4/5;
	border-radius: 4px;
	overflow: hidden;
	background-color: #2E6FA8;
	background-size: cover;
	background-position: center;
}
.fb-card::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.05) 45%, transparent 65%);
}
.fb-card-text {
	position: relative;
	z-index: 2;
	padding: 1.1rem;
}
.fb-card-text h3 {
	font-family: 'Public Sans', sans-serif;
	font-weight: 800;
	font-size: 1.3rem;
	line-height: 1.1;
	color: #FFFFFF;
	margin: 0.3rem 0 0;
}
.fb-card .fb-eyebrow { font-size: 0.75rem; }
.fb-card.fb-card--noimg { background-color: #E9DCC2; }
.fb-card.fb-card--noimg::after { background: none; }
.fb-card.fb-card--noimg .fb-card-text h3 { color: #4A3C28; }
.fb-card.fb-card--noimg .fb-eyebrow { color: #E64C22; }
.fb-empty { color: #8C7C60; font-size: 0.9rem; }

@media (max-width: 780px) {
	.fb-cards { grid-template-columns: 1fr 1fr; }
	.fb-cards-4 { grid-template-columns: 1fr 1fr; }
	.fb-hero-text h1 { font-size: 2.2rem; }
	.fb-hero { aspect-ratio: 4/5; }
}

/* Full-bleed variant for native Query-block loops (archive pages) */
.fb-card-native {
	position: relative;
	aspect-ratio: 4/5;
	border-radius: 4px;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
	background-color: #2E6FA8;
}
.fb-card-native .wp-block-post-featured-image {
	position: absolute; inset: 0; margin: 0;
}
.fb-card-native .wp-block-post-featured-image img {
	width: 100%; height: 100%; object-fit: cover;
}
.fb-card-native::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.05) 45%, transparent 65%);
	pointer-events: none;
}
.fb-card-native .fb-card-text {
	position: relative;
	z-index: 2;
	padding: 1.1rem;
}
.fb-card-native .wp-block-post-title {
	font-family: 'Public Sans', sans-serif;
	font-weight: 800 !important;
	font-size: 1.3rem !important;
	line-height: 1.1;
	color: #FFFFFF !important;
	margin: 0.3rem 0 0;
}
.fb-card-native .wp-block-post-title a { color: #FFFFFF; }
.fb-card-native .wp-block-post-terms {
	color: #D6F23C !important;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
}

/* Full-bleed single post / episode header */
.fb-single-head {
	position: relative;
	aspect-ratio: 21/9;
	border-radius: 4px;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
	background-color: #4A3C28;
	margin-bottom: 1.5rem;
}
.fb-single-head .wp-block-post-featured-image {
	position: absolute; inset: 0; margin: 0;
}
.fb-single-head .wp-block-post-featured-image img {
	width: 100%; height: 100%; object-fit: cover;
}
.fb-single-head::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.05) 45%, transparent 65%);
	pointer-events: none;
}
.fb-single-head .fb-single-text {
	position: relative;
	z-index: 2;
	padding: 2rem;
}
.fb-single-head .wp-block-post-title {
	font-family: 'Public Sans', sans-serif;
	font-weight: 800 !important;
	font-size: 2.6rem !important;
	line-height: 1.02;
	color: #D6F23C !important;
	margin: 0.4rem 0 0 !important;
	max-width: 18ch;
}

@media (max-width: 780px) {
	.fb-single-head { aspect-ratio: 4/5; }
	.fb-single-head .wp-block-post-title { font-size: 2rem !important; }
}

.bst-shop-link {
	background: #E64C22;
	color: #FFEEE6;
	padding: 0.5rem 1.1rem;
	border-radius: 20px;
	font-weight: 700;
	font-size: 0.9rem;
	text-decoration: none;
	display: inline-block;
}
