/**
 * Trip details — Accommodation/Meals/Transport, Safety/Sustainability,
 * Dates & Availability, and Local Expert. Added in 1.23.0 alongside the
 * new theme-side fields in inc/tour-extra-fields.php.
 *
 * @package AAAtrails
 */

/* ---- Accommodation / Meals / Transportation, Safety / Sustainability --- */
.tripdetails {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
	margin: 18px 0 30px;
}
.tripdetails__col {
	background: var(--paper);
	border: 1px solid var(--line);
	border-radius: var(--radius-sm);
	padding: 18px 20px;
	box-shadow: var(--aaa-elev-1, var(--shadow-sm));
}
.tripdetails__col h3 {
	margin: 0 0 10px;
	font-size: 1.05rem;
}
.tripdetails__col ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.tripdetails__col li {
	position: relative;
	padding: 4px 0 4px 20px;
	line-height: 1.4;
}
.tripdetails__col li::before {
	content: "•";
	position: absolute;
	left: 2px;
	color: var(--gold-deep, var(--forest));
	font-weight: 800;
}
.tripdetails__col--sustainability { background: linear-gradient(180deg, #f6fbf6, var(--card)); }
.tripdetails__col--safety { background: linear-gradient(180deg, #fdf6f3, var(--card)); }

/* ---- Dates & Availability ---- */
.tour-availability {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	padding: 10px 16px;
	border-radius: 999px;
	background: var(--paper);
	border: 1px solid var(--line);
	margin: 0 0 26px;
}
.tour-availability::before {
	content: "";
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #2c9c69;
	flex: 0 0 auto;
}
.tour-availability--limited::before { background: #dba617; }
.tour-availability--out_of_stock::before { background: #b0553f; }
.tour-availability--flexible::before { background: #72777c; }

/* ---- Local Expert ---- */
.local-expert {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 22px;
	margin: 18px 0 30px;
	box-shadow: var(--aaa-elev-1, var(--shadow-sm));
}
.local-expert__photo {
	width: 96px;
	height: 96px;
	border-radius: 50%;
	object-fit: cover;
	flex: 0 0 auto;
	border: 3px solid var(--paper-2);
}
.local-expert__body { min-width: 0; }
.local-expert__name {
	margin: 0 0 4px;
	font-family: var(--font-display);
	font-size: 1.25rem;
}
.local-expert__name a { color: inherit; text-decoration: none; }
.local-expert__meta,
.local-expert__langs {
	margin: 2px 0;
	color: var(--ink-soft);
	font-size: 0.92rem;
}
.local-expert__bio {
	margin: 10px 0 12px;
	line-height: 1.5;
}
.local-expert__link {
	font-weight: 700;
	color: var(--forest);
	text-decoration: none;
}
.local-expert__link:hover { text-decoration: underline; }

/* Full profile page variant (single-guide.php). */
.local-expert--full {
	align-items: center;
	margin-top: 8px;
}
.local-expert__photo--full {
	width: 140px;
	height: 140px;
	border-radius: 50%;
	object-fit: cover;
	border: 4px solid var(--paper-2);
}

@media (max-width: 640px) {
	.local-expert,
	.local-expert--full { flex-direction: column; align-items: flex-start; }
}
