/**
 * Best Mount Kinabalu — Single Package structural CSS.
 *
 * Stage 3.1. Structural rules only for the 16 template-parts/package/
 * sections — spacing, borders, and basic grid/list layout so the
 * foundation is legible while real content is entered. No final
 * design, no animations, no JavaScript-dependent styling (no slider/
 * carousel/accordion states) — see docs/ARCHITECTURE.md. Reads only
 * the existing design-system.css custom properties; defines no new
 * colour, spacing, or typography values of its own.
 *
 * Conditionally enqueued only on a single Package (is_singular
 * 'package') by inc/Assets/Asset_Manager.php.
 */

/* -------------------------------------------------------------------- */
/* Section rhythm                                                       */
/* -------------------------------------------------------------------- */

.bmk-package-section {
	padding-block: var( --bmk-space-lg );
	border-bottom: 1px solid var( --bmk-color-border );
}

.bmk-package-section:last-child {
	border-bottom: none;
}

.bmk-package-section__heading {
	margin-block-end: var( --bmk-space-md );
}

.bmk-package__title {
	margin-block-end: 0;
}

/* -------------------------------------------------------------------- */
/* Hero                                                                 */
/* -------------------------------------------------------------------- */

.bmk-package-section--hero .bmk-container {
	display: flex;
	flex-direction: column;
	gap: var( --bmk-space-md );
}

.bmk-package-hero__image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var( --bmk-radius-lg );
}

.bmk-package-hero__summary {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var( --bmk-space-md );
}

/* -------------------------------------------------------------------- */
/* Overview                                                             */
/* -------------------------------------------------------------------- */

.bmk-package-overview__badge {
	display: inline-block;
	padding: var( --bmk-space-2xs ) var( --bmk-space-sm );
	border-radius: var( --bmk-radius-pill );
	background-color: var( --bmk-color-primary-light );
	color: var( --bmk-color-primary-dark );
	font-size: var( --bmk-font-size-sm );
	margin-block-end: var( --bmk-space-sm );
}

/* -------------------------------------------------------------------- */
/* Gallery                                                              */
/* -------------------------------------------------------------------- */

.bmk-package-gallery__grid {
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax( 220px, 1fr ) );
	gap: var( --bmk-space-md );
	list-style: none;
	margin: 0;
	padding: 0;
}

.bmk-package-gallery__item img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var( --bmk-radius-md );
}

.bmk-package-gallery__caption {
	display: block;
	font-size: var( --bmk-font-size-sm );
	color: var( --bmk-color-text-muted );
	margin-block-start: var( --bmk-space-2xs );
}

/* -------------------------------------------------------------------- */
/* Highlights / Included / Excluded / Things To Bring lists             */
/* -------------------------------------------------------------------- */

.bmk-package-highlights__list,
.bmk-package-included__list,
.bmk-package-excluded__list,
.bmk-package-ttb__packing-list,
.bmk-package-guide__certifications,
.bmk-package-guide__co-guides {
	list-style: disc;
	margin: 0;
	padding-inline-start: var( --bmk-space-md );
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( 220px, 1fr ) );
	gap: var( --bmk-space-xs ) var( --bmk-space-md );
}

/* -------------------------------------------------------------------- */
/* Itinerary                                                            */
/* -------------------------------------------------------------------- */

.bmk-package-itinerary__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var( --bmk-space-md );
}

.bmk-package-itinerary__day {
	border: 1px solid var( --bmk-color-border );
	border-radius: var( --bmk-radius-md );
	padding: var( --bmk-space-md );
}

.bmk-package-itinerary__day-heading {
	margin-block-start: 0;
}

.bmk-package-itinerary__meta {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var( --bmk-space-sm );
	color: var( --bmk-color-text-muted );
	font-size: var( --bmk-font-size-sm );
}

/* -------------------------------------------------------------------- */
/* Accommodation                                                        */
/* -------------------------------------------------------------------- */

.bmk-package-accommodation__photo {
	display: block;
	width: 100%;
	max-width: var( --bmk-container-width-narrow );
	height: auto;
	border-radius: var( --bmk-radius-lg );
	margin-block-end: var( --bmk-space-sm );
}

/* -------------------------------------------------------------------- */
/* Weather                                                              */
/* -------------------------------------------------------------------- */

.bmk-package-weather__location {
	font-weight: var( --bmk-font-weight-medium );
	margin-block-end: var( --bmk-space-2xs );
}

/* -------------------------------------------------------------------- */
/* Guide                                                                */
/* -------------------------------------------------------------------- */

.bmk-package-guide__primary {
	display: flex;
	flex-direction: column;
	gap: var( --bmk-space-sm );
	margin-block-end: var( --bmk-space-md );
}

.bmk-package-guide__stats {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var( --bmk-space-sm );
	color: var( --bmk-color-text-muted );
	font-size: var( --bmk-font-size-sm );
}

/* -------------------------------------------------------------------- */
/* Testimonials                                                         */
/* -------------------------------------------------------------------- */

.bmk-package-testimonials__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( 260px, 1fr ) );
	gap: var( --bmk-space-md );
}

.bmk-package-testimonials__item {
	border: 1px solid var( --bmk-color-border );
	border-radius: var( --bmk-radius-md );
	padding: var( --bmk-space-md );
}

.bmk-package-testimonials__quote {
	margin: 0 0 var( --bmk-space-sm );
}

.bmk-package-testimonials__attribution {
	margin: 0;
	color: var( --bmk-color-text-muted );
	font-size: var( --bmk-font-size-sm );
}

/* -------------------------------------------------------------------- */
/* FAQ — native <details>/<summary>, no JS                              */
/* -------------------------------------------------------------------- */

.bmk-package-faq__list {
	display: flex;
	flex-direction: column;
	gap: var( --bmk-space-sm );
}

.bmk-package-faq__item {
	border: 1px solid var( --bmk-color-border );
	border-radius: var( --bmk-radius-md );
	padding: var( --bmk-space-sm ) var( --bmk-space-md );
}

.bmk-package-faq__question {
	cursor: pointer;
	font-weight: var( --bmk-font-weight-medium );
}

.bmk-package-faq__answer {
	margin-block-start: var( --bmk-space-sm );
}

/* -------------------------------------------------------------------- */
/* Downloads                                                            */
/* -------------------------------------------------------------------- */

.bmk-package-downloads__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var( --bmk-space-sm );
}

.bmk-package-downloads__item {
	border: 1px solid var( --bmk-color-border );
	border-radius: var( --bmk-radius-md );
	padding: var( --bmk-space-sm ) var( --bmk-space-md );
}

.bmk-package-downloads__description {
	margin: var( --bmk-space-2xs ) 0 0;
	color: var( --bmk-color-text-muted );
	font-size: var( --bmk-font-size-sm );
}

/* -------------------------------------------------------------------- */
/* Booking CTA                                                          */
/* -------------------------------------------------------------------- */

.bmk-package-section--booking .bmk-container {
	display: flex;
	justify-content: center;
}
