/*
 * Single training event page (body.sodk-training-event).
 * The hero comes from the site's hero-banner component; this styles what is under it.
 */

/* Let the hero run edge to edge: TEC pads and narrows its page wrapper */
body.sodk-training-event #tribe-events-pg-template {
	max-width: none;
	margin: 0;
	padding: 0;
}

/* Hero: dates and venue under the title */
.sodk-training-event .hero-banner .ts-hero-meta {
	display: block;
}

.sodk-training-event .hero-banner .ts-hero-dates,
.sodk-training-event .hero-banner .ts-hero-venue {
	display: block;
}

.sodk-training-event .hero-banner .ts-hero-dates {
	font-size: 28px;
	font-weight: 300;
	line-height: 1.3;
}

.sodk-training-event .hero-banner .ts-hero-venue {
	margin-top: 6px;
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: #85be00;
}

.sodk-training-event .hero-banner.component {
	margin-bottom: 64px;
}

/* Content column */
body.sodk-training-event #tribe-events-content.sodk-training-single {
	box-sizing: border-box;
	max-width: 1170px;
	margin: 0 auto 96px;
	padding: 0 24px;
	color: #282828;
}

body.sodk-training-event #tribe-events-content.sodk-training-single .wp-block-columns {
	align-items: flex-start;
	margin-bottom: 48px;
}

/* Description + agenda */
/* "Included with machine purchase." is a plain bold line, not a button */
body.sodk-training-event #tribe-events-content.sodk-training-single .wp-block-column:first-child > p:first-child {
	margin: 0 0 16px;
}

body.sodk-training-event #tribe-events-content.sodk-training-single .wp-block-column:first-child p {
	font-size: 18px;
	line-height: 1.6;
}

body.sodk-training-event #tribe-events-content.sodk-training-single .wp-block-column:first-child p strong {
	font-weight: 700;
}

body.sodk-training-event #tribe-events-content.sodk-training-single .wp-block-column:first-child ul {
	margin: 0 0 28px;
	padding: 0;
	list-style: none;
}

body.sodk-training-event #tribe-events-content.sodk-training-single .wp-block-column:first-child li {
	position: relative;
	margin: 0;
	padding: 8px 0 8px 28px;
	border-bottom: 1px solid #ececec;
	font-size: 17px;
	line-height: 1.4;
}

body.sodk-training-event #tribe-events-content.sodk-training-single .wp-block-column:first-child li::before {
	content: "";
	position: absolute;
	top: 16px;
	left: 4px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #48a345;
}

/* Numbered lists (e.g. setup steps inside a bullet) keep their numbers, not the green dot */
body.sodk-training-event #tribe-events-content.sodk-training-single .wp-block-column:first-child ol {
	margin: 8px 0 4px;
	padding: 0 0 0 24px;
	list-style: decimal;
}

body.sodk-training-event #tribe-events-content.sodk-training-single .wp-block-column:first-child ol li {
	padding: 4px 0 4px 6px;
	border-bottom: 0;
	font-size: 16px;
}

body.sodk-training-event #tribe-events-content.sodk-training-single .wp-block-column:first-child ol li::before {
	content: none;
}

body.sodk-training-event #tribe-events-content.sodk-training-single .wp-block-column:first-child ol li::marker {
	color: #48a345;
	font-weight: 700;
}

/* Day headings in the agenda */
body.sodk-training-event #tribe-events-content.sodk-training-single .wp-block-column:first-child p > strong:only-child {
	display: block;
	margin-top: 8px;
	color: #48a345;
	font-size: 15px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Details + request-a-seat card */
/* The hero button scrolls to the card; keep its top clear of the fixed header */
body.sodk-training-event #training-seat {
	scroll-margin-top: 140px;
}

body.sodk-training-event #tribe-events-content.sodk-training-single .tribe-events-event-meta,
body.sodk-training-event #tribe-events-content.sodk-training-single .tribe-events-meta-group {
	float: none;
	width: 100%;
	margin-left: 0;
	margin-right: 0;
}

body.sodk-training-event #tribe-events-content.sodk-training-single .tribe-events-event-meta .tribe-events-meta-group-details {
	box-sizing: border-box;
	margin-bottom: 24px;
	padding: 24px 28px;
	border-top: 4px solid #48a345;
	border-radius: 0 0 8px 8px;
	background: #f5f7f5;
}

body.sodk-training-event #tribe-events-content.sodk-training-single .tribe-events-single-section-title {
	margin: 0 0 12px;
	font-size: 22px;
	font-weight: 400;
}

body.sodk-training-event #tribe-events-content.sodk-training-single .tribe-events-meta-item {
	margin: 0 0 10px;
}

body.sodk-training-event #tribe-events-content.sodk-training-single .tribe-events-meta-label {
	display: block;
	color: #636363;
	font-size: 13px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

body.sodk-training-event #tribe-events-content.sodk-training-single .tribe-events-meta-value,
body.sodk-training-event #tribe-events-content.sodk-training-single .tribe-events-meta-value abbr {
	font-size: 17px;
	text-decoration: none;
}

body.sodk-training-event #tribe-events-content.sodk-training-single #rsvp-now .tribe-tickets__rsvp-wrapper {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	border: 1px solid #e3e3e3;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.06);
}

/* Seat card: text on top, one-line button underneath (side by side it wraps "Request a Seat") */
body.sodk-training-event #training-seat .tribe-tickets__rsvp {
	box-sizing: border-box;
	flex-direction: column;
	flex-wrap: nowrap;
	width: 100%;
	margin: 0;
	padding: 32px 28px;
}

body.sodk-training-event #training-seat .tribe-tickets__rsvp-details-wrapper,
body.sodk-training-event #training-seat .tribe-tickets__rsvp-actions-wrapper {
	flex: 0 0 auto;
	width: 100%;
	max-width: 100%;
	padding: 0;
	border: 0;
}

body.sodk-training-event #training-seat .tribe-tickets__rsvp-actions-wrapper {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px dashed #d4d4d4;
}

body.sodk-training-event #training-seat .tribe-tickets__rsvp-actions,
body.sodk-training-event #training-seat .tribe-tickets__rsvp-actions-rsvp,
body.sodk-training-event #training-seat .tribe-tickets__rsvp-actions-rsvp-going {
	width: 100%;
}

body.sodk-training-event #training-seat .tribe-tickets__rsvp-actions-rsvp-going .tribe-common-c-btn.tribe-tickets__rsvp-actions-button-going {
	display: block;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	padding: 12px 24px;
	white-space: nowrap;
	text-align: center;
}

body.sodk-training-event #tribe-events-content.sodk-training-single #rsvp-now .tribe-common-c-btn {
	border: 0;
	border-radius: 30px;
	background: linear-gradient(135deg, #48a345 0%, #85be00 100%);
	color: #fff;
	font-weight: 700;
	transition: filter 0.2s ease;
}

body.sodk-training-event #tribe-events-content.sodk-training-single #rsvp-now .tribe-common-c-btn:hover,
body.sodk-training-event #tribe-events-content.sodk-training-single #rsvp-now .tribe-common-c-btn:focus {
	background: linear-gradient(135deg, #398236 0%, #70a100 100%);
	filter: none;
}

/* Opened "Request a Seat" form: one stacked column inside the card */
body.sodk-training-event #training-seat .tribe-tickets__rsvp-ar {
	box-sizing: border-box;
	flex-direction: column;
	flex-wrap: nowrap;
	width: 100%;
	margin: 0;
	padding: 0;
}

body.sodk-training-event #training-seat .tribe-tickets__rsvp-ar-sidebar-wrapper,
body.sodk-training-event #training-seat .tribe-tickets__rsvp-ar-form-wrapper {
	flex: 0 0 auto;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin: 0;
}

body.sodk-training-event #training-seat .tribe-tickets__rsvp-ar-sidebar-wrapper {
	padding: 28px 28px 20px;
	border: 0;
	border-bottom: 1px dashed #d4d4d4;
}

body.sodk-training-event #training-seat .tribe-tickets__rsvp-ar-sidebar {
	width: 100%;
	max-width: 100%;
	padding: 0;
}

body.sodk-training-event #training-seat .tribe-tickets__rsvp-ar-sidebar h3 {
	margin: 0 0 16px;
	font-size: 22px;
	font-weight: 400;
	line-height: 1.2;
	text-align: left;
	word-break: normal;
	overflow-wrap: normal;
}

body.sodk-training-event #training-seat .tribe-tickets__rsvp-ar-quantity {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0;
}

body.sodk-training-event #training-seat .tribe-tickets__rsvp-ar-quantity > span {
	color: #636363;
	font-size: 13px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

body.sodk-training-event #training-seat .tribe-tickets__rsvp-ar-quantity-input {
	margin: 0;
}

body.sodk-training-event #training-seat .tribe-tickets__rsvp-ar-guest-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

body.sodk-training-event #training-seat .tribe-tickets__rsvp-ar-guest-list-item {
	margin: 0;
	padding: 0;
}

body.sodk-training-event #training-seat .tribe-tickets__rsvp-ar-guest-list-item-button {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 14px;
	border: 1px solid #48a345;
	border-radius: 30px;
	background: #48a345;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
}

/* TEC hides the guest name on small screens, leaving an empty pill */
body.sodk-training-event #training-seat .tribe-tickets__rsvp-ar-guest-list-item-title {
	position: static;
	display: inline;
	width: auto;
	height: auto;
	margin: 0;
	clip: auto;
	overflow: visible;
}

body.sodk-training-event #training-seat .tribe-tickets__rsvp-ar-guest-list-item-button svg path {
	fill: currentColor;
}

body.sodk-training-event #training-seat .tribe-tickets__rsvp-ar-guest-list-item-button--inactive {
	background: #fff;
	color: #48a345;
}

body.sodk-training-event #training-seat .tribe-tickets__rsvp-ar-form-wrapper {
	padding: 24px 28px 28px;
	border-radius: 0 0 8px 8px;
	background: #f5f7f5;
}

body.sodk-training-event #training-seat .tribe-tickets__rsvp-ar-form,
body.sodk-training-event #training-seat .tribe-tickets__rsvp-ar-form-guest {
	width: 100%;
	max-width: 100%;
	padding: 0;
}

body.sodk-training-event #training-seat .tribe-tickets__rsvp-ar-form-title {
	margin: 0 0 18px;
	color: #48a345;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

body.sodk-training-event #training-seat .tribe-tickets__form-field {
	margin: 0 0 16px;
}

body.sodk-training-event #training-seat .tribe-tickets__form-field-label {
	display: block;
	margin: 0 0 6px;
	color: #282828;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
}

body.sodk-training-event #training-seat .tribe-tickets__form-field-label .tribe-required {
	margin-left: 2px;
	color: #c0392b;
}

body.sodk-training-event #training-seat .tribe-tickets__form-field-input-wrapper {
	width: 100%;
}

body.sodk-training-event #training-seat .tribe-tickets__form-field input[type="text"],
body.sodk-training-event #training-seat .tribe-tickets__form-field input[type="email"],
body.sodk-training-event #training-seat .tribe-tickets__form-field input[type="tel"],
body.sodk-training-event #training-seat .tribe-tickets__form-field input[type="url"],
body.sodk-training-event #training-seat .tribe-tickets__form-field input[type="number"],
body.sodk-training-event #training-seat .tribe-tickets__form-field select,
body.sodk-training-event #training-seat .tribe-tickets__form-field textarea {
	box-sizing: border-box;
	width: 100%;
	height: 46px;
	padding: 10px 14px;
	border: 1px solid #cfd4cf;
	border-radius: 6px;
	background-color: #fff;
	color: #282828;
	font-size: 16px;
	line-height: 1.3;
	box-shadow: none;
}

body.sodk-training-event #training-seat .tribe-tickets__form-field textarea {
	height: auto;
	min-height: 96px;
}

body.sodk-training-event #training-seat .tribe-tickets__form-field input::placeholder {
	color: #979797;
}

body.sodk-training-event #training-seat .tribe-tickets__form-field input:focus,
body.sodk-training-event #training-seat .tribe-tickets__form-field select:focus,
body.sodk-training-event #training-seat .tribe-tickets__form-field textarea:focus {
	border-color: #48a345;
	outline: 0;
	box-shadow: 0 0 0 3px rgba(72, 163, 69, 0.2);
}

body.sodk-training-event #training-seat .tribe-tickets__form-field [aria-invalid="true"],
body.sodk-training-event #training-seat .tribe-tickets__form-field input:user-invalid,
body.sodk-training-event #training-seat .tribe-tickets__form-field select:user-invalid {
	border-color: #c0392b;
}

body.sodk-training-event #training-seat .tribe-tickets__rsvp-form-buttons {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 24px 0 0;
}

body.sodk-training-event #training-seat .tribe-tickets__rsvp-form-button--cancel {
	flex: 0 0 auto;
	padding: 0 8px;
	border: 0;
	background: none;
	color: #636363;
	font-size: 15px;
	font-weight: 600;
	white-space: nowrap;
	cursor: pointer;
}

body.sodk-training-event #training-seat .tribe-tickets__rsvp-form-button--cancel:hover,
body.sodk-training-event #training-seat .tribe-tickets__rsvp-form-button--cancel:focus {
	color: #282828;
	text-decoration: underline;
}

body.sodk-training-event #training-seat .tribe-tickets__rsvp-form-button--submit {
	flex: 1 1 auto;
	box-sizing: border-box;
	padding: 12px 24px;
	white-space: nowrap;
	text-align: center;
}

/* Add to calendar, venue card, related events */
body.sodk-training-event #tribe-events-content.sodk-training-single .tribe-block__events-link {
	margin: 0 0 40px;
}

body.sodk-training-event #tribe-events-content.sodk-training-single .tribe-block__venue {
	margin-bottom: 56px;
	padding: 24px;
	border: 1px solid #e3e3e3;
	border-radius: 8px;
	background: #fff;
}

body.sodk-training-event #tribe-events-content.sodk-training-single .tribe-block__related-events__title {
	margin: 0 0 24px;
	font-size: 32px;
	font-weight: 300;
}

body.sodk-training-event #tribe-events-content.sodk-training-single ul.tribe-related-events li {
	overflow: hidden;
	border-radius: 8px;
	box-shadow: 0 2px 14px rgba(0, 0, 0, 0.08);
}

/* Back link */
.sodk-training-event .sodk-training-back {
	margin: 56px 0 0;
	padding-top: 28px;
	border-top: 1px solid #ececec;
}

.sodk-training-event .sodk-training-back a {
	color: #48a345;
	font-weight: 700;
	text-decoration: none;
}

.sodk-training-event .sodk-training-back a::before {
	content: "← ";
}

.sodk-training-event .sodk-training-back a:hover {
	color: #387f36;
}

@media (max-width: 781px) {
	.sodk-training-event .hero-banner .ts-hero-dates {
		font-size: 22px;
	}

	.sodk-training-event .hero-banner.component {
		margin-bottom: 40px;
	}

	body.sodk-training-event #tribe-events-content.sodk-training-single .wp-block-columns {
		gap: 32px;
	}
}
