.oneclub-app.oc-login-page {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(420px, 0.92fr);
	min-height: 100dvh;
}

.oneclub-app .oc-application-review {
	display: grid;
	gap: 18px;
}

.oneclub-app .oc-application-review__event {
	align-items: center;
	border-bottom: 1px solid var(--oc-color-border, #ddd8cc);
	display: flex;
	gap: var(--oc-space-5);
	justify-content: space-between;
	padding-bottom: 16px;
}

.oneclub-app .oc-application-review__event h2,
.oneclub-app .oc-application-review__event p {
	margin: 0;
}

.oneclub-app .oc-application-review__event h2 {
	font-size: 19px;
	font-weight: 600;
}

.oneclub-app .oc-application-review__event p {
	color: var(--oc-color-text-secondary);
	font-size: 12px;
	margin-top: 4px;
}

.oneclub-app .oc-application-review__event > strong {
	font-size: 16px;
	white-space: nowrap;
}

.oneclub-app .oc-application-review__total {
	align-items: baseline;
	border-top: 1px solid var(--oc-color-border, #ddd8cc);
	display: flex;
	justify-content: space-between;
	padding-top: 16px;
}

.oneclub-app .oc-application-review__total strong {
	font-size: 24px;
}

.oneclub-app .oc-application-review__actions,
.oneclub-app .oc-payment-result__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.oneclub-app .oc-payment-result {
	background: #fff;
	border: 12px solid #f1f3f5;
	display: grid;
	gap: 14px;
	justify-items: start;
	padding: clamp(22px, 4vw, 44px);
}

.oneclub-app .oc-payment-result > span {
	color: #786331;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.oneclub-app .oc-payment-result h2,
.oneclub-app .oc-payment-result p {
	margin: 0;
}

.oneclub-app .oc-payment-result__notice {
	color: #db0606;
}

.oneclub-app .oc-payment-result__icon {
	align-items: center;
	background: #22211e;
	color: #fff;
	display: inline-flex;
	height: 48px;
	justify-content: center;
	width: 48px;
}

.oneclub-app .oc-payment-result--failed .oc-payment-result__icon {
	background: #8b2f2f;
}

.oneclub-app .oc-payment-result__spinner {
	animation: oc-payment-spin .9s linear infinite;
	border: 3px solid #ded8c9;
	border-top-color: #6f5720;
	border-radius: 50%;
	height: 38px;
	width: 38px;
}

@keyframes oc-payment-spin {
	to { transform: rotate(360deg); }
}

@media (max-width: 600px) {
	.oneclub-app .oc-application-review__event {
		align-items: flex-start;
		gap: 10px;
	}

	.oneclub-app .oc-application-review__actions,
	.oneclub-app .oc-payment-result__actions {
		align-items: stretch;
		flex-direction: column;
		width: 100%;
	}

	.oneclub-app .oc-application-review__actions .oc-button,
	.oneclub-app .oc-payment-result__actions .oc-button {
		justify-content: center;
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.oneclub-app .oc-payment-result__spinner {
		animation: none;
	}
}

/* Happy Trips experience */

.oneclub-app .oc-application-list__locked {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.25rem;
	border: 1px solid var(--oc-border, #d8d8d4);
	border-radius: 12px;
	background: #f2f2ef;
	color: #777772;
	filter: grayscale(1);
	opacity: .78;
}
.oneclub-app .oc-state--locked {
	border-color: var(--oc-border, #d8d8d4);
	background: #f2f2ef;
	color: #686863;
}

.oneclub-app .oc-state--locked .oc-state__icon {
	background: #deded8;
	color: #686863;
}
.oneclub-app .oc-trip-index-header {
	align-items: end;
	border-bottom: 1px solid var(--oc-color-border);
	padding-bottom: var(--oc-space-8);
}

.oneclub-app .oc-trip-filter {
	display: flex;
	gap: var(--oc-space-2);
	margin: var(--oc-space-8) 0 var(--oc-space-6);
	overflow-x: auto;
	scrollbar-width: none;
}

.oneclub-app .oc-trip-filter button {
	background: transparent;
	border: 1px solid var(--oc-color-border);
	border-radius: var(--oc-radius-pill);
	color: var(--oc-color-text-secondary);
	cursor: pointer;
	flex: 0 0 auto;
	font: inherit;
	font-size: 13px;
	font-weight: 600;
	min-height: 44px;
	padding: 0 var(--oc-space-5);
}

.oneclub-app .oc-trip-filter button.is-active {
	background: var(--oc-color-ink);
	border-color: var(--oc-color-ink);
	color: #fff;
}

.oneclub-app .oc-trip-grid {
	display: grid;
	gap: clamp(24px, 3vw, 40px);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.oneclub-app .oc-trip-card {
	min-width: 0;
}

.oneclub-app .oc-trip-card[hidden] {
	display: none;
}

.oneclub-app .oc-trip-card__media {
	aspect-ratio: 3 / 2;
	background: #e6e3db;
	border-radius: var(--oc-radius-xl);
	display: block;
	overflow: hidden;
	position: relative;
}

.oneclub-app .oc-trip-card__media > img {
	height: 100%;
	object-fit: cover;
	transition: transform var(--oc-motion-slow) var(--oc-ease-standard);
	width: 100%;
}

.oneclub-app .oc-trip-card:hover .oc-trip-card__media > img {
	transform: scale(1.025);
}

.oneclub-app .oc-trip-card__status {
	left: var(--oc-space-4);
	position: absolute;
	top: var(--oc-space-4);
}

.oneclub-app .oc-trip-card__placeholder {
	align-items: center;
	background: linear-gradient(145deg, #e9e7df, #d9d6cc);
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: center;
}

.oneclub-app .oc-trip-card__placeholder img {
	opacity: .18;
	width: 82px;
}

.oneclub-app .oc-trip-card__placeholder span {
	color: #77736b;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	margin-top: var(--oc-space-3);
	text-transform: uppercase;
}

.oneclub-app .oc-trip-card__body {
	padding: var(--oc-space-5) var(--oc-space-1) var(--oc-space-6);
}

.oneclub-app .oc-trip-card__region {
	align-items: center;
	color: var(--oc-color-text-secondary);
	display: flex;
	font-size: 12px;
	font-weight: 600;
	gap: var(--oc-space-2);
}

.oneclub-app .oc-trip-card__region .oc-icon {
	height: 16px;
	width: 16px;
}

.oneclub-app .oc-trip-card h2 {
	font-size: clamp(22px, 2.4vw, 30px);
	line-height: 1.35;
	margin-top: var(--oc-space-3);
}

.oneclub-app .oc-trip-card h2 a {
	color: inherit;
	text-decoration: none;
}

.oneclub-app .oc-trip-card__body > p {
	margin-top: var(--oc-space-3);
}

.oneclub-app .oc-trip-card__facts {
	border-bottom: 1px solid var(--oc-color-border);
	border-top: 1px solid var(--oc-color-border);
	display: grid;
	gap: var(--oc-space-5);
	grid-template-columns: 1fr 1fr;
	margin: var(--oc-space-5) 0;
	padding: var(--oc-space-4) 0;
}

.oneclub-app .oc-trip-card__facts dt {
	color: var(--oc-color-text-secondary);
	font-size: 10px;
	font-weight: 600;
}

.oneclub-app .oc-trip-card__facts dd {
	font-size: 13px;
	font-weight: 700;
	margin-top: 3px;
}

.oneclub-app .oc-trip-back {
	align-items: center;
	color: var(--oc-color-text-secondary);
	display: inline-flex;
	font-size: 12px;
	font-weight: 600;
	gap: var(--oc-space-2);
	margin-bottom: var(--oc-space-6);
	text-decoration: none;
}

.oneclub-app .oc-trip-back .oc-icon {
	--oc-icon-stroke-width: 2.6;
	height: 16px;
	width: 16px;
}

.oneclub-app .oc-trip-key-data {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.oneclub-app .oc-trip-key-data > div:nth-child(3) {
	border-left: 0;
	padding-left: 0;
}

.oneclub-app .oc-trip-key-data > div:nth-child(n+3) {
	border-top: 1px solid var(--oc-color-border);
	padding-top: var(--oc-space-4);
}

.oneclub-app .oc-trip-intro {
	border-left: 3px solid var(--oc-color-brand);
	font-size: 17px;
	line-height: 1.9;
	margin-bottom: var(--oc-space-12);
	padding: var(--oc-space-2) 0 var(--oc-space-2) var(--oc-space-6);
}

.oneclub-app .oc-trip-highlights {
	display: grid;
	gap: 0;
}

.oneclub-app .oc-trip-highlights article {
	align-items: start;
	border-top: 1px solid var(--oc-color-border);
	display: grid;
	gap: var(--oc-space-5);
	grid-template-columns: 44px minmax(0, 1fr);
	padding: var(--oc-space-6) 0;
}

.oneclub-app .oc-trip-highlights article:last-child {
	border-bottom: 1px solid var(--oc-color-border);
}

.oneclub-app .oc-trip-highlights article > span {
	color: var(--oc-color-brand-strong);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
}

.oneclub-app .oc-trip-highlights h3,
.oneclub-app .oc-itinerary h3,
.oneclub-app .oc-trip-notice-block h3 {
	font-size: 18px;
	line-height: 1.5;
}

.oneclub-app .oc-trip-highlights p,
.oneclub-app .oc-itinerary p {
	margin-top: var(--oc-space-2);
}

.oneclub-app .oc-itinerary p {
	white-space: pre-line;
}

.oneclub-app .oc-itinerary li {
	grid-template-columns: 92px minmax(0, 1fr);
	padding: var(--oc-space-6) 0;
}

.oneclub-app .oc-itinerary li > strong {
	color: var(--oc-color-brand-strong);
}

.oneclub-app .oc-itinerary li div > span {
	align-items: center;
	color: var(--oc-color-text-secondary);
	display: flex;
	font-size: 12px;
	gap: var(--oc-space-2);
	margin-top: var(--oc-space-3);
}

.oneclub-app .oc-itinerary li div > span .oc-icon {
	height: 16px;
	width: 16px;
}

.oneclub-app .oc-trip-footnote {
	background: var(--oc-color-surface-subtle);
	border-radius: var(--oc-radius-md);
	font-size: 12px;
	margin-top: var(--oc-space-4);
	padding: var(--oc-space-4);
}

.oneclub-app .oc-trip-price-panel {
	background: #fff;
	border: 1px solid var(--oc-color-accent-border);
	border-radius: var(--oc-radius-lg);
	color: var(--oc-color-ink);
	display: grid;
	grid-template-columns: minmax(116px, .3fr) minmax(0, 1fr);
	margin-bottom: var(--oc-space-6);
	padding: 0;
	position: relative;
}

.oneclub-app .oc-trip-price-panel__stub {
	align-items: center;
	background: var(--oc-color-accent);
	border-radius: calc(var(--oc-radius-lg) - 1px) 0 0 calc(var(--oc-radius-lg) - 1px);
	display: flex;
	flex-direction: column;
	gap: 5px;
	justify-content: center;
	min-width: 0;
	padding: var(--oc-space-5) var(--oc-space-4);
	position: relative;
	text-align: center;
}

.oneclub-app .oc-trip-price-panel__stub::before,
.oneclub-app .oc-trip-price-panel__stub::after {
	background: #fff;
	border-radius: 50%;
	content: "";
	height: 16px;
	position: absolute;
	right: -8px;
	width: 16px;
	z-index: 1;
}

.oneclub-app .oc-trip-price-panel__stub::before {
	top: -8px;
}

.oneclub-app .oc-trip-price-panel__stub::after {
	bottom: -8px;
}

.oneclub-app .oc-trip-price-panel__stub-brand,
.oneclub-app .oc-trip-price-panel__stub-title {
	display: block;
	line-height: 1.3;
}

.oneclub-app .oc-trip-price-panel__stub-brand {
	color: var(--oc-color-ink);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .13em;
}

.oneclub-app .oc-trip-price-panel__stub-title {
	color: var(--oc-color-ink);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
}

.oneclub-app .oc-trip-price-panel__amount {
	align-items: end;
	border-left: 1px dashed var(--oc-color-accent-border);
	display: flex;
	gap: var(--oc-space-5);
	justify-content: space-between;
	min-width: 0;
	padding: var(--oc-space-6);
}

.oneclub-app .oc-trip-price-panel__label {
	color: var(--oc-color-text-secondary);
	font-size: 12px;
	line-height: 1.6;
}

.oneclub-app .oc-trip-price-panel__amount strong {
	color: var(--oc-color-ink);
	font-family: var(--oc-font-display);
	font-size: clamp(24px, 4vw, 34px);
	font-weight: 500;
	letter-spacing: .02em;
	line-height: 1.15;
	white-space: nowrap;
}

.oneclub-app .oc-trip-prose {
	color: var(--oc-color-text-secondary);
	line-height: 1.9;
}

.oneclub-app .oc-trip-prose > * + * {
	margin-top: var(--oc-space-3);
}

.oneclub-app .oc-trip-prose ul {
	list-style: disc;
	padding-left: 1.4em;
}

.oneclub-app .oc-trip-notice-block {
	background: #fffaf0;
	border-left: 3px solid var(--oc-color-warning);
	padding: var(--oc-space-5) var(--oc-space-6);
}

.oneclub-app .oc-trip-notice-block + .oc-trip-notice-block {
	margin-top: var(--oc-space-4);
}

.oneclub-app .oc-trip-booking__kicker {
	color: var(--oc-color-brand-strong);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .14em;
}

.oneclub-app .oc-trip-apply-form,
.oneclub-app .oc-trip-payment-form {
	display: grid;
	gap: var(--oc-space-6);
	margin: 0 auto;
	max-width: 920px;
}

.oneclub-app .oc-trip-application-summary,
.oneclub-app .oc-payment-event {
	align-items: end;
	background: var(--oc-color-ink);
	border-radius: var(--oc-radius-lg);
	color: #fff;
	display: flex;
	gap: var(--oc-space-6);
	justify-content: space-between;
	padding: var(--oc-space-6);
}

.oneclub-app .oc-trip-apply-form .oc-trip-application-summary {
	padding: 14px 18px;
}

.oneclub-app .oc-trip-apply-form .oc-trip-application-summary > div {
	margin-top: -5px;
}

.oneclub-app .oc-trip-application-summary h2,
.oneclub-app .oc-payment-event h2 {
	color: #fff;
	font-size: 22px;
	margin-top: var(--oc-space-1);
}

.oneclub-app .oc-trip-apply-form .oc-trip-application-summary h2 {
	margin-top: -1px;
}

.oneclub-app .oc-trip-application-summary p,
.oneclub-app .oc-payment-event p,
.oneclub-app .oc-trip-application-summary > div > span,
.oneclub-app .oc-payment-event > span {
	color: rgba(255, 255, 255, .7);
	font-size: 12px;
}

.oneclub-app .oc-trip-application-summary label {
	color: #fff;
	display: grid;
	font-size: 12px;
	gap: var(--oc-space-2);
	min-width: 140px;
}

.oneclub-app .oc-trip-application-summary select {
	background: #fff;
	border: 0;
	border-radius: var(--oc-radius-sm);
	color: var(--oc-color-ink);
	margin-top: -5px;
	min-height: 44px;
	padding: 0 var(--oc-space-3);
}

.oneclub-app .oc-trip-apply-form [hidden] {
	display: none !important;
}

.oneclub-app .oc-trip-apply-form .oc-required {
	color: var(--oc-color-danger);
	font-size: 10px;
	font-weight: 400;
	margin-left: 6px;
}

.oneclub-app .oc-party-size-picker {
	border: 0;
	margin: 0;
	min-width: 0;
	padding: 0;
}

.oneclub-app .oc-party-size-picker > legend {
	color: var(--oc-color-ink);
	font-size: 15px;
	font-weight: 700;
	padding: 0;
}

.oneclub-app .oc-party-size-picker > p {
	color: var(--oc-color-text-secondary);
	font-size: 12px;
	margin: 4px 0 10px;
}

.oneclub-app .oc-party-size-picker > select {
	background: var(--oc-color-surface);
	border: 1px solid var(--oc-color-border-strong);
	border-radius: var(--oc-radius-sm);
	color: var(--oc-color-ink);
	font: inherit;
	min-height: 46px;
	padding: 0 var(--oc-space-3);
	width: min(100%, 280px);
}

.oneclub-app .oc-party-size-picker__rule {
	color: var(--oc-color-text-secondary);
	display: block;
	font-size: 12px;
	line-height: 1.6;
	margin-top: 8px;
}

.oneclub-app .oc-party-size-picker__error {
	display: block;
	line-height: 1.6;
	margin-top: 6px;
	max-width: 720px;
}

.oneclub-app .oc-birth-date {
	border: 0;
	margin: 0;
	min-width: 0;
	padding: 0;
}

.oneclub-app .oc-participant-card .oc-birth-date > legend {
	font-size: 13px;
	margin-bottom: var(--oc-space-2);
	padding: 0;
}

.oneclub-app .oc-birth-date__controls {
	display: grid;
	gap: 8px;
	grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, 1fr));
}

.oneclub-app .oc-birth-date__controls select {
	min-width: 0;
	width: 100%;
}

.oneclub-app .oc-participant-list {
	display: grid;
	gap: var(--oc-space-4);
}

.oneclub-app .oc-participant-card,
.oneclub-app .oc-detail-section,
.oneclub-app .oc-payment-breakdown {
	background: var(--oc-color-surface);
	border: 1px solid var(--oc-color-border);
	border-radius: var(--oc-radius-lg);
	padding: var(--oc-space-6);
}

.oneclub-app .oc-participant-card legend {
	background: var(--oc-color-surface);
	color: var(--oc-color-ink);
	font-size: 15px;
	font-weight: 700;
	padding: 0 var(--oc-space-2);
}

.oneclub-app .oc-trip-apply-form .oc-participant-card {
	padding-bottom: 19px;
	padding-top: 7px;
}

.oneclub-app .oc-form-grid {
	display: grid;
	gap: var(--oc-space-5);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.oneclub-app .oc-form-grid label,
.oneclub-app .oc-payment-breakdown label {
	color: var(--oc-color-ink);
	display: grid;
	font-size: 13px;
	font-weight: 600;
	gap: var(--oc-space-2);
}

.oneclub-app .oc-form-grid label > span {
	color: var(--oc-color-danger);
	font-size: 10px;
}

.oneclub-app .oc-trip-apply-form .oc-form-grid label {
	column-gap: 6px;
	grid-template-columns: auto minmax(0, 1fr);
	row-gap: var(--oc-space-2);
}

.oneclub-app .oc-trip-apply-form .oc-form-grid label > span {
	align-self: center;
	justify-self: start;
}

.oneclub-app .oc-trip-apply-form .oc-form-grid label > input,
.oneclub-app .oc-trip-apply-form .oc-form-grid label > select,
.oneclub-app .oc-trip-apply-form .oc-form-grid label > small {
	grid-column: 1 / -1;
}

.oneclub-app .oc-form-grid input,
.oneclub-app .oc-form-grid select,
.oneclub-app .oc-payment-breakdown input {
	background: var(--oc-color-surface);
	border: 1px solid var(--oc-color-border-strong);
	border-radius: var(--oc-radius-sm);
	font: inherit;
	min-height: 46px;
	padding: 0 var(--oc-space-3);
}

.oneclub-app .oc-form-grid small,
.oneclub-app .oc-payment-breakdown small {
	color: var(--oc-color-text-secondary);
	font-size: 11px;
	font-weight: 400;
}

.oneclub-app .oc-form-grid__wide {
	grid-column: 1 / -1;
}

.oneclub-app .oc-gender-picker {
	border: 0;
	margin: 0;
	min-width: 0;
	padding: 0;
}

.oneclub-app .oc-participant-card .oc-gender-picker > legend {
	font-size: 13px;
	margin-bottom: var(--oc-space-2);
	padding: 0;
}

.oneclub-app .oc-gender-picker__options {
	display: flex;
	flex-wrap: wrap;
	gap: var(--oc-space-6);
}

.oneclub-app .oc-trip-apply-form .oc-gender-picker label {
	align-items: center;
	cursor: pointer;
	display: inline-flex;
	font-weight: 400;
	gap: var(--oc-space-2);
	min-height: 46px;
}

.oneclub-app .oc-trip-apply-form .oc-gender-picker input[type="radio"] {
	accent-color: var(--oc-color-ink);
	flex: 0 0 auto;
	height: 16px;
	margin: 0;
	min-height: 0;
	padding: 0;
	width: 16px;
}

.oneclub-app .oc-trip-application-confirm {
	align-items: center;
	background: var(--oc-color-surface-subtle);
	border-radius: var(--oc-radius-lg);
	display: grid;
	gap: var(--oc-space-5);
	grid-template-columns: minmax(0, 1fr) auto;
	padding: var(--oc-space-6);
}

.oneclub-app .oc-trip-apply-form .oc-trip-application-confirm {
	padding: 18px 20px;
}

.oneclub-app .oc-trip-application-next,
.oneclub-app .oc-trip-application-next .oc-button {
	width: 100%;
}

.oneclub-app .oc-trip-application-confirm > div {
	display: grid;
	gap: var(--oc-space-1);
}

.oneclub-app .oc-trip-application-confirm > div > span,
.oneclub-app .oc-trip-application-confirm > div > small {
	color: var(--oc-color-text-secondary);
	font-size: 12px;
}

.oneclub-app .oc-trip-apply-form .oc-trip-application-confirm > div > span,
.oneclub-app .oc-trip-apply-form .oc-trip-application-confirm > div > small {
	color: #333;
}

.oneclub-app .oc-trip-application-confirm > div > strong {
	font-size: 26px;
}

.oneclub-app .oc-trip-apply-form .oc-trip-application-confirm > div > strong {
	margin-top: -4px;
}

.oneclub-app .oc-trip-application-confirm .oc-check-row {
	grid-column: 1 / -1;
}

.oneclub-app .oc-check-row {
	align-items: start;
	display: flex;
	font-size: 12px;
	gap: var(--oc-space-3);
}

.oneclub-app .oc-check-row input {
	margin-top: 3px;
}

.oneclub-app .oc-application-status-panel {
	align-items: center;
	background: #fff;
	border: 1px solid var(--oc-color-border);
	border-radius: 10px;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	padding: 18px 20px;
}

.oneclub-app .oc-application-status-panel__body {
	display: grid;
	gap: 9px;
	min-width: 0;
}

.oneclub-app .oc-application-status-panel__meta {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 14px;
}

.oneclub-app .oc-application-status-panel__meta .oc-status {
	flex: 0 0 auto;
	width: auto;
}

.oneclub-app .oc-application-status-panel__number {
	color: var(--oc-color-text-secondary);
	font-size: 11px;
}

.oneclub-app .oc-application-status-panel h2 {
	font-size: 22px;
	line-height: 1.4;
	margin: 0;
}

.oneclub-app .oc-application-detail-grid {
	display: grid;
	gap: var(--oc-space-6);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: var(--oc-space-6);
}

.oneclub-app .oc-detail-section h2 {
	font-size: 18px;
	margin-bottom: var(--oc-space-5);
}

.oneclub-app .oc-cancellation-support {
	margin-top: var(--oc-space-6);
}

.oneclub-app .oc-cancellation-support h2 {
	margin-bottom: 9px;
}

.oneclub-app .oc-cancellation-support > p {
	margin: 0;
}

.oneclub-app .oc-cancellation-support .oc-button {
	margin-top: var(--oc-space-2);
}

.oneclub-app[data-oc-ui="v2"][data-oc-route="member-event-apply"] .oc-page-header h1,
.oneclub-app[data-oc-ui="v2"][data-oc-route="trip-application"] .oc-page-header h1,
.oneclub-app[data-oc-ui="v2"][data-oc-route="event-application"] .oc-page-header h1 {
	font-size: 26px;
}

.oneclub-app[data-oc-ui="v2"][data-oc-route="member-event-apply"] .oc-page-header h1 {
	margin-bottom: -10px;
	margin-top: -9px;
}

.oneclub-app .oc-application-facts {
	display: grid;
}

.oneclub-app .oc-application-facts > div {
	align-items: center;
	border-top: 1px solid var(--oc-color-border);
	display: flex;
	gap: var(--oc-space-4);
	justify-content: space-between;
	padding: var(--oc-space-3) 0;
}

.oneclub-app .oc-application-facts dt {
	color: var(--oc-color-text-secondary);
	font-size: 12px;
}

.oneclub-app .oc-application-facts dd {
	font-size: 13px;
	font-weight: 600;
	text-align: right;
}

.oneclub-app .oc-participant-summary-list {
	display: grid;
	gap: var(--oc-space-4);
}

.oneclub-app .oc-participant-summary-list article {
	border-top: 1px solid var(--oc-color-border);
	padding-top: var(--oc-space-4);
}

.oneclub-app .oc-participant-summary-list article > div {
	align-items: center;
	display: flex;
	gap: var(--oc-space-3);
}

.oneclub-app .oc-participant-summary-list article > div span,
.oneclub-app .oc-participant-summary-list article > span,
.oneclub-app .oc-participant-summary-list p {
	color: var(--oc-color-text-secondary);
	font-size: 11px;
}

.oneclub-app[data-oc-ui="v2"][data-oc-route="trip-apply-confirm"] .oc-trip-application-summary,
.oneclub-app[data-oc-ui="v2"][data-oc-route="member-event-apply-confirm"] .oc-trip-application-summary {
	padding: 14px 24px;
}

.oneclub-app[data-oc-ui="v2"][data-oc-route="trip-apply-confirm"] .oc-application-review,
.oneclub-app[data-oc-ui="v2"][data-oc-route="member-event-apply-confirm"] .oc-application-review {
	gap: 18px;
	margin: 19px 0;
	padding: 13px 24px;
}

.oneclub-app[data-oc-ui="v2"][data-oc-route="trip-apply-confirm"] .oc-application-review > h2,
.oneclub-app[data-oc-ui="v2"][data-oc-route="member-event-apply-confirm"] .oc-application-review > h2 {
	font-size: 16px;
	font-weight: 600;
	margin: -3px 0 -7px;
}

.oneclub-app[data-oc-ui="v2"][data-oc-route="trip-apply-confirm"] .oc-participant-summary-list article,
.oneclub-app[data-oc-ui="v2"][data-oc-route="member-event-apply-confirm"] .oc-participant-summary-list article {
	padding-top: 10px;
}

.oneclub-app[data-oc-ui="v2"][data-oc-route="trip-apply-confirm"] .oc-participant-summary-list article:first-child,
.oneclub-app[data-oc-ui="v2"][data-oc-route="member-event-apply-confirm"] .oc-participant-summary-list article:first-child {
	padding-top: 12px;
}

.oneclub-app[data-oc-ui="v2"][data-oc-route="trip-apply-confirm"] .oc-application-review__total,
.oneclub-app[data-oc-ui="v2"][data-oc-route="member-event-apply-confirm"] .oc-application-review__total {
	padding-top: 6px;
}

.oneclub-app[data-oc-ui="v2"][data-oc-route="trip-apply-confirm"] .oc-trip-application-confirm,
.oneclub-app[data-oc-ui="v2"][data-oc-route="member-event-apply-confirm"] .oc-trip-application-confirm {
	grid-template-columns: minmax(0, 1fr);
	padding: 17px 24px;
}

.oneclub-app[data-oc-ui="v2"][data-oc-route="trip-apply-confirm"] .oc-trip-application-confirm > div > strong,
.oneclub-app[data-oc-ui="v2"][data-oc-route="member-event-apply-confirm"] .oc-trip-application-confirm > div > strong {
	font-size: 20px;
}

.oneclub-app[data-oc-ui="v2"][data-oc-route="trip-apply-confirm"] .oc-application-review__actions,
.oneclub-app[data-oc-ui="v2"][data-oc-route="member-event-apply-confirm"] .oc-application-review__actions {
	display: grid;
	gap: 12px;
	grid-column: 1 / -1;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	width: 100%;
}

.oneclub-app[data-oc-ui="v2"][data-oc-route="trip-apply-confirm"] .oc-application-review__actions .oc-button,
.oneclub-app[data-oc-ui="v2"][data-oc-route="member-event-apply-confirm"] .oc-application-review__actions .oc-button {
	width: 100%;
}

.oneclub-app .oc-payment-breakdown {
	display: grid;
	gap: var(--oc-space-5);
}

.oneclub-app .oc-payment-breakdown > div {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.oneclub-app .oc-payment-breakdown > div > span,
.oneclub-app .oc-payment-breakdown > p {
	color: var(--oc-color-text-secondary);
	font-size: 12px;
}

.oneclub-app .oc-payment-breakdown > div > strong {
	font-size: 22px;
}

.oneclub-app .oc-payment-breakdown__total {
	border-top: 1px solid var(--oc-color-border);
	padding-top: var(--oc-space-5);
}

.oneclub-app .oc-payment-breakdown__total > strong {
	font-size: 30px !important;
}

.oneclub-app .oc-payment-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--oc-space-4);
	justify-content: flex-end;
}

.oneclub-app .oc-payment-actions p {
	color: var(--oc-color-text-secondary);
	font-size: 12px;
	margin-right: auto;
}

.oneclub-app .oc-payment-actions > a {
	font-size: 12px;
	text-decoration: underline;
}

.oneclub-app .oc-application-list,
.oneclub-app .oc-notification-list {
	border-top: 1px solid var(--oc-color-border);
}

.oneclub-app .oc-application-list > a,
.oneclub-app .oc-notification-list form button {
	align-items: center;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--oc-color-border);
	color: inherit;
	display: flex;
	font: inherit;
	gap: var(--oc-space-5);
	justify-content: space-between;
	padding: var(--oc-space-5) var(--oc-space-2);
	text-align: left;
	width: 100%;
}

.oneclub-app .oc-application-list h2 {
	font-size: 17px;
	margin: var(--oc-space-1) 0;
}

.oneclub-app .oc-application-list span,
.oneclub-app .oc-application-list p,
.oneclub-app .oc-notification-list small,
.oneclub-app .oc-notification-list time {
	color: var(--oc-color-text-secondary);
	font-size: 11px;
}

.oneclub-app .oc-notification-list form button {
	cursor: pointer;
	display: grid;
	grid-template-columns: 8px minmax(0, 1fr) auto 20px;
}

.oneclub-app .oc-notification-list form.is-unread button {
	background: var(--oc-color-surface-subtle);
}

.oneclub-app .oc-notification-list form button > span:nth-child(2) {
	display: grid;
	gap: var(--oc-space-1);
}

@media (max-width: 760px) {
	.oneclub-app .oc-trip-grid {
		grid-template-columns: 1fr;
	}

	.oneclub-app .oc-trip-filter {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-top: var(--oc-space-6);
		overflow: visible;
	}

	.oneclub-app .oc-trip-filter button {
		padding-left: var(--oc-space-3);
		padding-right: var(--oc-space-3);
		width: 100%;
	}

	.oneclub-app .oc-trip-card__media {
		border-radius: var(--oc-radius-lg);
	}

	.oneclub-app .oc-trip-card__facts {
		gap: var(--oc-space-3);
	}

	.oneclub-app .oc-trip-back {
		margin-bottom: var(--oc-space-4);
	}

	.oneclub-app .oc-trip-key-data {
		grid-template-columns: 1fr;
	}

	.oneclub-app .oc-trip-key-data > div:nth-child(n+2) {
		border-left: 0;
		border-top: 1px solid var(--oc-color-border);
		padding-left: 0;
		padding-top: var(--oc-space-4);
	}

	.oneclub-app .oc-trip-intro {
		font-size: 15px;
		margin-bottom: var(--oc-space-8);
		padding-left: var(--oc-space-4);
	}

	.oneclub-app .oc-trip-highlights article {
		gap: var(--oc-space-3);
		grid-template-columns: 32px minmax(0, 1fr);
		padding: var(--oc-space-5) 0;
	}

	.oneclub-app .oc-trip-price-panel {
		grid-template-columns: 1fr;
	}

	.oneclub-app .oc-trip-price-panel__stub {
		align-items: baseline;
		border-radius: calc(var(--oc-radius-lg) - 1px) calc(var(--oc-radius-lg) - 1px) 0 0;
		flex-direction: row;
		gap: 9px;
		justify-content: flex-start;
		padding: 13px var(--oc-space-5);
		text-align: left;
	}

	.oneclub-app .oc-trip-price-panel__stub::before,
	.oneclub-app .oc-trip-price-panel__stub::after {
		bottom: -8px;
		top: auto;
	}

	.oneclub-app .oc-trip-price-panel__stub::before {
		left: -8px;
		right: auto;
	}

	.oneclub-app .oc-trip-price-panel__stub::after {
		right: -8px;
	}

	.oneclub-app .oc-trip-price-panel__amount {
		align-items: start;
		border-left: 0;
		border-top: 1px dashed var(--oc-color-accent-border);
		flex-direction: column;
		gap: var(--oc-space-2);
		padding: var(--oc-space-5);
	}

	.oneclub-app .oc-trip-notice-block {
		padding: var(--oc-space-5);
	}

	.oneclub-app .oc-trip-application-summary,
	.oneclub-app .oc-payment-event,
	.oneclub-app .oc-application-status-panel {
		align-items: stretch;
		flex-direction: column;
	}

	.oneclub-app .oc-form-grid,
	.oneclub-app .oc-application-detail-grid {
		grid-template-columns: 1fr;
	}

	.oneclub-app .oc-trip-application-confirm {
		grid-template-columns: 1fr;
	}

	.oneclub-app[data-oc-ui="v2"][data-oc-route="trip-apply-confirm"] .oc-application-review__actions,
	.oneclub-app[data-oc-ui="v2"][data-oc-route="member-event-apply-confirm"] .oc-application-review__actions {
		grid-template-columns: 1fr;
	}

	.oneclub-app .oc-trip-application-confirm .oc-check-row {
		grid-column: auto;
	}

	.oneclub-app .oc-trip-application-confirm .oc-button,
	.oneclub-app .oc-application-status-panel .oc-button {
		width: 100%;
	}

	.oneclub-app .oc-payment-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.oneclub-app .oc-payment-actions .oc-button {
		width: 100%;
	}

	.oneclub-app .oc-notification-list form button {
		grid-template-columns: 8px minmax(0, 1fr) 18px;
	}

	.oneclub-app .oc-notification-list time {
		display: none;
	}
}

.oneclub-app .oc-login-intro {
	background: #efefea;
	display: flex;
	min-height: 100dvh;
	overflow: hidden;
	padding: clamp(40px, 7vw, 104px);
	position: relative;
}

.oneclub-app .oc-login-intro__glow {
	background: radial-gradient(circle at center, rgba(255, 212, 0, 0.42) 0, rgba(255, 173, 0, 0.2) 28%, rgba(255, 122, 112, 0.08) 48%, transparent 70%);
	height: min(66vw, 780px);
	left: -15%;
	opacity: 0.72;
	pointer-events: none;
	position: absolute;
	top: -26%;
	width: min(66vw, 780px);
}

.oneclub-app .oc-login-intro__symbol {
	bottom: -14%;
	height: auto;
	opacity: 0.055;
	position: absolute;
	right: -12%;
	transform: rotate(-8deg);
	width: min(48vw, 620px);
}

.oneclub-app .oc-login-intro__copy {
	align-self: flex-end;
	max-width: 650px;
	position: relative;
	z-index: 1;
}

.oneclub-app .oc-login-intro__copy h1 {
	font-size: clamp(38px, 4.6vw, 68px);
	letter-spacing: -0.055em;
	line-height: 1.18;
}

.oneclub-app .oc-login-intro__copy p {
	font-size: 16px;
	margin-top: var(--oc-space-6);
	max-width: 560px;
}

.oneclub-app .oc-login-panel {
	align-items: center;
	background: var(--oc-color-surface);
	display: flex;
	justify-content: center;
	min-height: 100dvh;
	padding: var(--oc-space-10);
}

.oneclub-app .oc-login-form-wrap {
	max-width: 420px;
	width: 100%;
}

.oneclub-app .oc-login-logo {
	margin-bottom: var(--oc-space-12);
	width: 148px;
}

.oneclub-app .oc-login-heading h2 {
	font-size: 28px;
}

.oneclub-app .oc-login-heading p {
	font-size: 14px;
	margin-top: var(--oc-space-2);
}

.oneclub-app .oc-login-form-wrap .oc-banner {
	margin-top: var(--oc-space-5);
}

.oneclub-app .oc-login-form {
	display: grid;
	gap: var(--oc-space-5);
	margin-top: var(--oc-space-8);
}

.oneclub-app .oc-login-help {
	color: var(--oc-color-text-secondary);
	display: block;
	font-size: 13px;
	font-weight: 600;
	margin-top: var(--oc-space-5);
	min-height: 44px;
	padding-top: var(--oc-space-3);
	text-align: center;
	text-decoration: underline;
	text-decoration-color: var(--oc-color-border-strong);
	text-underline-offset: 3px;
}

.oneclub-app .oc-membership-strip {
	align-items: center;
	background: var(--oc-color-surface);
	border: 1px solid var(--oc-color-border);
	border-radius: var(--oc-radius-lg);
	display: grid;
	gap: var(--oc-space-6);
	grid-template-columns: minmax(160px, 0.8fr) auto minmax(320px, 1.4fr) auto;
	margin-top: var(--oc-space-4);
	padding: var(--oc-space-5) var(--oc-space-6);
}

.oneclub-app .oc-membership-strip__label {
	color: var(--oc-color-text-secondary);
	display: block;
	font-size: 11px;
	font-weight: 600;
	margin-bottom: 2px;
}

.oneclub-app .oc-membership-strip h2 {
	font-size: 17px;
}

.oneclub-app .oc-inline-data {
	display: grid;
	gap: var(--oc-space-5);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.oneclub-app .oc-inline-data div {
	display: grid;
	gap: 1px;
}

.oneclub-app .oc-inline-data dt {
	color: var(--oc-color-text-secondary);
	font-size: 11px;
}

.oneclub-app .oc-inline-data dd {
	color: var(--oc-color-ink);
	font-size: 13px;
	font-weight: 600;
}

.oneclub-app .oc-data-list {
	border-bottom: 1px solid var(--oc-color-border);
	border-top: 1px solid var(--oc-color-border);
}

.oneclub-app .oc-data-list li + li {
	border-top: 1px solid var(--oc-color-border);
}

.oneclub-app .oc-data-list a {
	align-items: center;
	display: grid;
	gap: var(--oc-space-3);
	grid-template-columns: 8px minmax(0, 1fr) auto 20px;
	min-height: 62px;
	padding: var(--oc-space-2) var(--oc-space-1);
}

.oneclub-app .oc-data-list a:hover {
	background: var(--oc-color-surface-subtle);
}

.oneclub-app .oc-data-list strong {
	font-size: 14px;
	font-weight: 600;
}

.oneclub-app .oc-data-list time {
	color: var(--oc-color-text-secondary);
	font-size: 12px;
}

.oneclub-app .oc-unread-marker {
	background: transparent;
	border-radius: 50%;
	height: 7px;
	width: 7px;
}

.oneclub-app .oc-unread-marker.is-unread {
	background: var(--oc-color-info);
}

.oneclub-app .oc-learning-resume {
	align-items: center;
	background: var(--oc-color-ink);
	border-radius: var(--oc-radius-lg);
	color: #fff;
	display: grid;
	gap: var(--oc-space-6);
	grid-template-columns: minmax(0, 1fr) auto;
	padding: var(--oc-space-6);
}

.oneclub-app .oc-learning-resume__progress {
	align-items: flex-start;
	display: flex;
	gap: var(--oc-space-4);
}

.oneclub-app .oc-learning-resume__icon {
	align-items: center;
	background: rgba(255, 255, 255, 0.11);
	border-radius: 50%;
	display: flex;
	flex: 0 0 auto;
	height: 48px;
	justify-content: center;
	width: 48px;
}

.oneclub-app .oc-learning-resume__progress > div > span {
	color: rgba(255, 255, 255, 0.68);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.08em;
}

.oneclub-app .oc-learning-resume h2 {
	color: #fff;
	margin-top: 2px;
}

.oneclub-app .oc-learning-resume p {
	color: rgba(255, 255, 255, 0.72);
	font-size: 13px;
	margin-top: var(--oc-space-1);
}

.oneclub-app .oc-learning-resume .oc-button {
	background: #fff;
	color: var(--oc-color-ink);
}

.oneclub-app .oc-progress-wrap {
	margin-top: var(--oc-space-6);
}

.oneclub-app .oc-progress-label {
	align-items: center;
	display: flex;
	font-size: 12px;
	justify-content: space-between;
	margin-bottom: var(--oc-space-2);
}

.oneclub-app .oc-progress-label span {
	color: var(--oc-color-text-secondary);
}

.oneclub-app .oc-progress {
	background: var(--oc-color-surface-subtle);
	border-radius: var(--oc-radius-pill);
	height: 6px;
	overflow: hidden;
}

.oneclub-app .oc-progress > span {
	animation: oc-progress-in var(--oc-motion-slow) var(--oc-ease-emphasized) both;
	background: var(--oc-brand-gradient);
	border-radius: inherit;
	display: block;
	height: 100%;
	width: var(--oc-progress-value);
}

@keyframes oc-progress-in {
	from { transform: scaleX(0); transform-origin: left; }
	to { transform: scaleX(1); transform-origin: left; }
}

.oneclub-app .oc-section-heading--filters {
	align-items: center;
}

.oneclub-app .oc-filter-group {
	background: var(--oc-color-surface-subtle);
	border-radius: var(--oc-radius-pill);
	display: flex;
	gap: var(--oc-space-1);
	padding: var(--oc-space-1);
}

.oneclub-app .oc-filter {
	background: transparent;
	border: 0;
	border-radius: var(--oc-radius-pill);
	cursor: pointer;
	font-size: 12px;
	font-weight: 600;
	min-height: 44px;
	padding: 0 var(--oc-space-4);
}

.oneclub-app .oc-filter.is-active {
	background: var(--oc-color-surface);
	box-shadow: var(--oc-shadow-sm);
}

.oneclub-app .oc-lecture-list {
	border-top: 1px solid var(--oc-color-border);
}

.oneclub-app .oc-lecture-row {
	border-bottom: 1px solid var(--oc-color-border);
}

.oneclub-app .oc-lecture-row > a {
	align-items: center;
	display: grid;
	gap: var(--oc-space-5);
	grid-template-columns: minmax(0, 1fr) auto;
	min-height: 126px;
	padding: var(--oc-space-5) var(--oc-space-2);
	transition: background var(--oc-motion-fast);
}

.oneclub-app .oc-lecture-row > a:hover {
	background: var(--oc-color-surface-subtle);
}

.oneclub-app .oc-lecture-row__category {
	color: var(--oc-color-text-secondary);
	display: block;
	font-size: 11px;
	font-weight: 600;
	margin-bottom: var(--oc-space-1);
}

.oneclub-app .oc-lecture-row__main p {
	font-size: 13px;
	margin-top: var(--oc-space-1);
	max-width: 680px;
}

.oneclub-app .oc-lecture-row__meta {
	align-items: center;
	display: grid;
	gap: var(--oc-space-2);
	grid-template-columns: auto minmax(120px, auto) 20px;
}

.oneclub-app .oc-lecture-row__date {
	color: var(--oc-color-text-secondary);
	font-size: 12px;
	text-align: right;
}

.oneclub-app .oc-learning-filter-empty {
	background: var(--oc-color-surface-subtle);
	border-radius: var(--oc-radius-md);
	color: var(--oc-color-text-secondary);
	margin-top: var(--oc-space-5);
	padding: var(--oc-space-6);
	text-align: center;
}

.oneclub-app .oc-learning-category-filter {
	align-items: center;
	display: flex;
	font-size: 12px;
	font-weight: 600;
	gap: var(--oc-space-3);
	justify-content: flex-end;
	margin-bottom: var(--oc-space-4);
}

.oneclub-app .oc-learning-category-filter select {
	background: var(--oc-color-surface);
	border: 1px solid var(--oc-color-border-strong);
	border-radius: var(--oc-radius-sm);
	color: var(--oc-color-ink);
	min-height: 40px;
	padding: 0 36px 0 var(--oc-space-3);
}

.oneclub-app .oc-breadcrumb {
	align-items: center;
	color: var(--oc-color-text-secondary);
	display: flex;
	font-size: 12px;
	gap: var(--oc-space-2);
	margin-bottom: var(--oc-space-5);
}

.oneclub-app .oc-breadcrumb a {
	color: var(--oc-color-ink);
	font-weight: 600;
}

.oneclub-app .oc-breadcrumb .oc-icon {
	height: 14px;
	width: 14px;
}

.oneclub-app .oc-lecture-detail > .oc-banner {
	margin-bottom: var(--oc-space-5);
}

.oneclub-app .oc-lecture-player {
	aspect-ratio: 16 / 9;
	background: var(--oc-color-ink);
	border-radius: var(--oc-radius-xl);
	box-shadow: var(--oc-shadow-md);
	overflow: hidden;
	width: 100%;
}

.oneclub-app .oc-lecture-player video,
.oneclub-app .oc-lecture-player iframe {
	border: 0;
	height: 100%;
	width: 100%;
}

.oneclub-app .oc-lecture-player video {
	background: #111;
	display: block;
	object-fit: contain;
}

.oneclub-app .oc-lecture-player__link {
	align-items: center;
	color: #fff;
	display: flex;
	flex-direction: column;
	gap: var(--oc-space-4);
	height: 100%;
	justify-content: center;
	padding: var(--oc-space-6);
	text-align: center;
}

.oneclub-app .oc-lecture-player__link > .oc-icon {
	height: 42px;
	opacity: 0.7;
	width: 42px;
}

.oneclub-app .oc-lecture-player__link h2 {
	color: #fff;
}

.oneclub-app .oc-lecture-player__link .oc-button {
	background: #fff;
	color: var(--oc-color-ink);
}

.oneclub-app .oc-lecture-player > .oc-state {
	background: var(--oc-color-surface);
	height: 100%;
	justify-content: center;
	margin: 0;
}

.oneclub-app .oc-lecture-detail__layout {
	display: grid;
	gap: clamp(32px, 5vw, 72px);
	grid-template-columns: minmax(0, 1fr) minmax(260px, 0.36fr);
	padding: var(--oc-space-8) 0 var(--oc-space-10);
}

.oneclub-app .oc-lecture-detail__main h1 {
	font-size: clamp(28px, 4vw, 44px);
	line-height: 1.25;
	margin-top: var(--oc-space-2);
}

.oneclub-app[data-oc-route="lecture-detail"] .oc-lecture-detail__main h1 {
	font-size: 22px;
}

.oneclub-app .oc-lecture-copy {
	color: var(--oc-color-text-secondary);
	font-size: 15px;
	line-height: 1.9;
	margin-top: var(--oc-space-6);
}

.oneclub-app .oc-lecture-copy > * + * {
	margin-top: var(--oc-space-4);
}

.oneclub-app .oc-lecture-copy a {
	color: var(--oc-color-ink);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.oneclub-app .oc-lecture-completion {
	align-self: start;
	background: var(--oc-color-surface-subtle);
	border: 1px solid var(--oc-color-border);
	border-radius: var(--oc-radius-lg);
	display: grid;
	gap: var(--oc-space-4);
	padding: var(--oc-space-5);
}

.oneclub-app .oc-lecture-completion > span:first-child {
	color: var(--oc-color-text-secondary);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.oneclub-app .oc-lecture-completion p {
	font-size: 13px;
}

.oneclub-app .oc-lecture-completion .oc-button {
	width: 100%;
}

.oneclub-app .oc-lecture-pagination {
	border-top: 1px solid var(--oc-color-border);
	display: grid;
	gap: var(--oc-space-5);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding-top: var(--oc-space-6);
}

.oneclub-app .oc-lecture-pagination a {
	display: grid;
	gap: var(--oc-space-1);
	min-width: 0;
	padding: var(--oc-space-3) 0;
}

.oneclub-app .oc-lecture-pagination a.is-next {
	text-align: right;
}

.oneclub-app .oc-lecture-pagination span {
	color: var(--oc-color-text-secondary);
	font-size: 11px;
}

.oneclub-app .oc-lecture-pagination strong {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.oneclub-app .oc-trip-detail {
	padding-bottom: var(--oc-space-10);
}

.oneclub-app .oc-trip-hero {
	display: grid;
	gap: clamp(28px, 4vw, 56px);
	grid-template-columns: minmax(0, 1.35fr) minmax(340px, 0.8fr);
	margin-bottom: var(--oc-space-8);
}

.oneclub-app .oc-trip-hero__media {
	aspect-ratio: 3 / 2;
	background: #e6e3db;
	border-radius: var(--oc-radius-xl);
	overflow: hidden;
	position: relative;
}

.oneclub-app .oc-trip-hero__media > img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.oneclub-app .oc-trip-hero__placeholder {
	align-items: center;
	background: linear-gradient(145deg, #e9e7df, #d9d6cc);
	color: #77736b;
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: center;
	padding: var(--oc-space-8);
	text-align: center;
}

.oneclub-app .oc-trip-hero__placeholder img {
	margin-bottom: var(--oc-space-4);
	opacity: 0.18;
	width: clamp(92px, 12vw, 150px);
}

.oneclub-app .oc-trip-hero__placeholder span {
	font-size: 12px;
	font-weight: 600;
}

.oneclub-app .oc-trip-hero__signature {
	background: rgba(17, 17, 17, 0.86);
	border-radius: var(--oc-radius-pill);
	bottom: var(--oc-space-4);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.14em;
	padding: var(--oc-space-2) var(--oc-space-3);
	position: absolute;
	right: var(--oc-space-4);
}

.oneclub-app .oc-trip-hero__content {
	align-self: center;
}

.oneclub-app .oc-trip-hero__status {
	margin-bottom: var(--oc-space-5);
}

.oneclub-app .oc-trip-hero h1 {
	font-size: clamp(32px, 3.8vw, 52px);
	line-height: 1.18;
}

.oneclub-app .oc-trip-hero__lead {
	margin-top: var(--oc-space-4);
}

.oneclub-app .oc-trip-key-data {
	border-bottom: 1px solid var(--oc-color-border);
	border-top: 1px solid var(--oc-color-border);
	display: grid;
	gap: var(--oc-space-4);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: var(--oc-space-6);
	padding: var(--oc-space-4) 0;
}

.oneclub-app .oc-trip-key-data > div {
	align-items: center;
	display: flex;
	gap: var(--oc-space-3);
	min-width: 0;
}

.oneclub-app .oc-trip-key-data > div + div {
	border-left: 1px solid var(--oc-color-border);
	padding-left: var(--oc-space-4);
}

.oneclub-app .oc-trip-key-data span {
	display: grid;
	min-width: 0;
}

.oneclub-app .oc-trip-key-data small {
	color: var(--oc-color-text-secondary);
}

.oneclub-app .oc-trip-key-data strong {
	font-size: 13px;
	overflow-wrap: anywhere;
}

.oneclub-app .oc-trip-price {
	display: grid;
	gap: 1px;
	margin-top: var(--oc-space-5);
}

.oneclub-app .oc-trip-price span {
	color: var(--oc-color-text-secondary);
	font-size: 12px;
}

.oneclub-app .oc-trip-price strong {
	color: var(--oc-color-ink);
	font-size: 25px;
}

.oneclub-app .oc-trip-layout {
	display: grid;
	gap: clamp(32px, 5vw, 64px);
	grid-template-columns: minmax(0, 1fr) 320px;
	margin-top: var(--oc-space-12);
}

.oneclub-app .oc-trip-main {
	min-width: 0;
}

.oneclub-app .oc-trip-section {
	padding-bottom: var(--oc-space-12);
}

.oneclub-app .oc-trip-section + .oc-trip-section {
	border-top: 1px solid var(--oc-color-border);
	padding-top: var(--oc-space-12);
}

.oneclub-app .oc-trip-section h2 {
	margin-bottom: var(--oc-space-6);
}

.oneclub-app .oc-trip-points {
	display: grid;
	gap: var(--oc-space-3);
}

.oneclub-app .oc-trip-points li {
	align-items: flex-start;
	display: flex;
	gap: var(--oc-space-3);
}

.oneclub-app .oc-trip-points .oc-icon {
	color: var(--oc-color-success);
	margin-top: 3px;
}

.oneclub-app .oc-itinerary {
	counter-reset: item;
	display: grid;
}

.oneclub-app .oc-itinerary li {
	display: grid;
	gap: var(--oc-space-4);
	grid-template-columns: 80px minmax(0, 1fr);
	padding: var(--oc-space-4) 0;
	position: relative;
}

.oneclub-app .oc-itinerary li + li {
	border-top: 1px solid var(--oc-color-border);
}

.oneclub-app .oc-itinerary strong {
	font-size: 13px;
}

.oneclub-app .oc-detail-list {
	border-top: 1px solid var(--oc-color-border);
}

.oneclub-app .oc-detail-list > div {
	border-bottom: 1px solid var(--oc-color-border);
	display: grid;
	gap: var(--oc-space-4);
	grid-template-columns: 180px minmax(0, 1fr);
	padding: var(--oc-space-4) 0;
}

.oneclub-app .oc-detail-list dt {
	color: var(--oc-color-text-secondary);
	font-size: 13px;
}

.oneclub-app .oc-detail-list dd {
	font-size: 14px;
	font-weight: 600;
}

.oneclub-app .oc-trip-aside {
	min-width: 0;
}

.oneclub-app .oc-trip-booking {
	background: var(--oc-color-surface);
	border: 1px solid var(--oc-color-border);
	border-radius: var(--oc-radius-lg);
	padding: var(--oc-space-5);
	position: sticky;
	top: 96px;
}

.oneclub-app .oc-trip-booking dl {
	margin: var(--oc-space-5) 0;
}

.oneclub-app .oc-trip-booking dl > div {
	display: grid;
	gap: var(--oc-space-1);
	padding: var(--oc-space-3) 0;
}

.oneclub-app .oc-trip-booking dl > div + div {
	border-top: 1px solid var(--oc-color-border);
}

.oneclub-app .oc-trip-booking dt {
	color: var(--oc-color-text-secondary);
	font-size: 11px;
}

.oneclub-app .oc-trip-booking dd {
	font-size: 13px;
	font-weight: 600;
}

.oneclub-app .oc-trip-booking .oc-button {
	width: 100%;
}

.oneclub-app .oc-disabled-reason {
	font-size: 12px;
	line-height: 1.5;
	margin-top: var(--oc-space-3);
}

.oneclub-app .oc-sticky-action {
	display: none;
}

.oneclub-app .oc-membership-detail {
	background: var(--oc-color-surface);
	border: 1px solid var(--oc-color-border);
	border-radius: var(--oc-radius-lg);
	display: grid;
	gap: var(--oc-space-8);
	grid-template-columns: minmax(240px, 0.7fr) minmax(0, 1.3fr);
	margin-top: var(--oc-space-6);
	padding: var(--oc-space-8);
}

.oneclub-app .oc-membership-detail__primary {
	align-self: start;
	border-right: 1px solid var(--oc-color-border);
	padding-right: var(--oc-space-8);
}

.oneclub-app .oc-membership-detail__primary > span {
	color: var(--oc-color-text-secondary);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.oneclub-app .oc-membership-detail__primary h2 {
	font-size: 28px;
	margin-top: var(--oc-space-2);
}

.oneclub-app .oc-membership-detail__primary p {
	font-size: 13px;
	margin-top: var(--oc-space-4);
}

.oneclub-app .oc-membership-data {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.oneclub-app .oc-membership-data > div {
	border-bottom: 1px solid var(--oc-color-border);
	display: grid;
	gap: var(--oc-space-1);
	padding: var(--oc-space-4);
}

.oneclub-app .oc-membership-data > div:nth-last-child(-n+2) {
	border-bottom: 0;
}

.oneclub-app .oc-membership-data dt,
.oneclub-app .oc-account-data dt {
	color: var(--oc-color-text-secondary);
	font-size: 12px;
}

.oneclub-app .oc-membership-data dd,
.oneclub-app .oc-account-data dd {
	color: var(--oc-color-ink);
	font-size: 14px;
	font-weight: 600;
	overflow-wrap: anywhere;
}

.oneclub-app .oc-membership-help {
	align-items: center;
	border-top: 1px solid var(--oc-color-border);
	display: flex;
	gap: var(--oc-space-8);
	justify-content: space-between;
	margin-top: var(--oc-space-10);
	padding: var(--oc-space-8) 0;
}

.oneclub-app .oc-membership-help p {
	font-size: 13px;
	margin-top: var(--oc-space-2);
	max-width: 660px;
}

.oneclub-app .oc-account-layout {
	display: grid;
	gap: var(--oc-space-6);
	grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
}

.oneclub-app .oc-account-section {
	background: var(--oc-color-surface);
	border: 1px solid var(--oc-color-border);
	border-radius: var(--oc-radius-lg);
	padding: var(--oc-space-6);
}

.oneclub-app .oc-account-section > header {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: var(--oc-space-5);
}

.oneclub-app .oc-account-data {
	border-top: 1px solid var(--oc-color-border);
	margin-bottom: var(--oc-space-5);
}

.oneclub-app .oc-account-data > div {
	border-bottom: 1px solid var(--oc-color-border);
	display: grid;
	gap: var(--oc-space-5);
	grid-template-columns: minmax(120px, 0.7fr) minmax(0, 1.3fr);
	padding: var(--oc-space-4) 0;
}

.oneclub-app .oc-account-actions {
	border-top: 1px solid var(--oc-color-border);
}

.oneclub-app .oc-account-actions > a {
	align-items: center;
	border-bottom: 1px solid var(--oc-color-border);
	display: grid;
	gap: var(--oc-space-3);
	grid-template-columns: 40px minmax(0, 1fr) 20px;
	min-height: 76px;
	padding: var(--oc-space-3) 0;
}

.oneclub-app .oc-account-actions__icon {
	align-items: center;
	background: var(--oc-color-surface-subtle);
	border-radius: 50%;
	display: flex;
	height: 38px;
	justify-content: center;
	width: 38px;
}

.oneclub-app .oc-account-actions__icon .oc-icon {
	height: 18px;
	width: 18px;
}

.oneclub-app .oc-account-actions > a > span:nth-child(2) {
	display: grid;
	gap: 2px;
}

.oneclub-app .oc-account-actions strong {
	font-size: 14px;
}

.oneclub-app .oc-account-actions small {
	font-size: 11px;
}

.oneclub-app .oc-account-actions > a:hover strong {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.oneclub-app .oc-cp-wallet {
	align-items: center;
	background: var(--oc-color-ink);
	border-radius: var(--oc-radius-lg);
	color: #fff;
	display: grid;
	gap: var(--oc-space-6);
	grid-template-columns: 48px minmax(220px, 1fr) minmax(220px, 0.8fr);
	overflow: hidden;
	padding: var(--oc-space-7);
	position: relative;
}

.oneclub-app .oc-cp-wallet::after {
	background: var(--oc-brand-gradient);
	bottom: 0;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	right: 0;
}

.oneclub-app .oc-cp-wallet__mark {
	align-items: center;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 50%;
	display: flex;
	height: 48px;
	justify-content: center;
	width: 48px;
}

.oneclub-app .oc-cp-wallet__mark .oc-icon {
	height: 22px;
	width: 22px;
}

.oneclub-app .oc-cp-wallet__balance > span,
.oneclub-app .oc-cp-wallet__expiry > span {
	color: rgba(255, 255, 255, 0.62);
	display: block;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
}

.oneclub-app .oc-cp-wallet__balance strong {
	font-size: clamp(38px, 5vw, 58px);
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.045em;
	line-height: 1.05;
}

.oneclub-app .oc-cp-wallet__balance small {
	color: rgba(255, 255, 255, 0.72);
	font-size: 13px;
	font-weight: 700;
	margin-left: var(--oc-space-2);
}

.oneclub-app .oc-cp-wallet__expiry {
	border-left: 1px solid rgba(255, 255, 255, 0.14);
	padding-left: var(--oc-space-6);
}

.oneclub-app .oc-cp-wallet__expiry strong {
	display: block;
	font-size: 20px;
	margin-top: var(--oc-space-1);
}

.oneclub-app .oc-cp-wallet__expiry p {
	color: rgba(255, 255, 255, 0.72);
	font-size: 12px;
	margin-top: 3px;
}

.oneclub-app .oc-cp-rules {
	border-bottom: 1px solid var(--oc-color-border);
	margin-top: var(--oc-space-3);
	padding: var(--oc-space-3) var(--oc-space-1);
}

.oneclub-app .oc-cp-rules summary {
	cursor: pointer;
	font-size: 12px;
	font-weight: 600;
	width: fit-content;
}

.oneclub-app .oc-cp-rules ul {
	color: var(--oc-color-text-secondary);
	display: grid;
	font-size: 12px;
	gap: var(--oc-space-2);
	list-style: disc;
	margin: var(--oc-space-3) 0 var(--oc-space-2) var(--oc-space-5);
}

.oneclub-app .oc-cp-tabs {
	border-bottom: 1px solid var(--oc-color-border);
	display: flex;
	gap: var(--oc-space-7);
	margin-top: var(--oc-space-8);
}

.oneclub-app .oc-cp-tabs a {
	color: var(--oc-color-text-secondary);
	font-size: 14px;
	font-weight: 600;
	min-height: 46px;
	padding: var(--oc-space-3) var(--oc-space-1);
	position: relative;
}

.oneclub-app .oc-cp-tabs a.is-active {
	color: var(--oc-color-ink);
}

.oneclub-app .oc-cp-tabs a.is-active::after {
	background: var(--oc-color-ink);
	bottom: -1px;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	right: 0;
}

.oneclub-app .oc-cp-panel {
	padding-top: var(--oc-space-7);
}

.oneclub-app .oc-cp-panel > .oc-filter-group {
	margin-bottom: var(--oc-space-5);
	margin-top: var(--oc-space-4);
	width: fit-content;
}

.oneclub-app .oc-cp-history {
	border-top: 1px solid var(--oc-color-border);
}

.oneclub-app .oc-cp-history li {
	align-items: center;
	border-bottom: 1px solid var(--oc-color-border);
	display: grid;
	gap: var(--oc-space-5);
	grid-template-columns: 92px minmax(0, 1fr) auto;
	min-height: 88px;
	padding: var(--oc-space-4) var(--oc-space-1);
}

.oneclub-app .oc-cp-history__date time {
	color: var(--oc-color-text-secondary);
	font-size: 12px;
	font-variant-numeric: tabular-nums;
}

.oneclub-app .oc-cp-history__body {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: var(--oc-space-2);
	min-width: 0;
}

.oneclub-app .oc-cp-history__body strong {
	font-size: 13px;
	overflow-wrap: anywhere;
}

.oneclub-app .oc-cp-history__amount {
	display: grid;
	gap: 2px;
	text-align: right;
}

.oneclub-app .oc-cp-history__amount strong {
	font-size: 16px;
	font-variant-numeric: tabular-nums;
}

.oneclub-app .oc-cp-history__amount.is-positive strong {
	color: var(--oc-color-success);
}

.oneclub-app .oc-cp-history__amount span {
	color: var(--oc-color-text-secondary);
	font-size: 11px;
	font-variant-numeric: tabular-nums;
}

.oneclub-app .oc-cp-lots {
	display: grid;
	gap: var(--oc-space-3);
}

.oneclub-app .oc-cp-lots li {
	border-bottom: 1px solid var(--oc-color-border);
	padding: var(--oc-space-5) var(--oc-space-1);
}

.oneclub-app .oc-cp-lot__top {
	align-items: end;
	display: grid;
	gap: var(--oc-space-5);
	grid-template-columns: minmax(0, 1fr) auto;
}

.oneclub-app .oc-cp-lot__top > div {
	display: grid;
	gap: 2px;
}

.oneclub-app .oc-cp-lot__top > div:last-child {
	text-align: right;
}

.oneclub-app .oc-cp-lot__top span,
.oneclub-app .oc-cp-lot__top small,
.oneclub-app .oc-cp-lots li > p {
	color: var(--oc-color-text-secondary);
	font-size: 11px;
}

.oneclub-app .oc-cp-lot__top strong {
	font-size: 18px;
	font-variant-numeric: tabular-nums;
}

.oneclub-app .oc-cp-lot__bar {
	background: var(--oc-color-surface-subtle);
	border-radius: var(--oc-radius-pill);
	height: 6px;
	margin: var(--oc-space-4) 0 var(--oc-space-2);
	overflow: hidden;
}

.oneclub-app .oc-cp-lot__bar span {
	background: var(--oc-brand-gradient);
	border-radius: inherit;
	display: block;
	height: 100%;
}

.oneclub-app .oc-pagination {
	margin-top: var(--oc-space-6);
	text-align: center;
}

@media (max-width: 1100px) {
	.oneclub-app .oc-membership-strip {
		grid-template-columns: minmax(150px, 1fr) auto;
	}

	.oneclub-app .oc-membership-strip .oc-inline-data {
		grid-column: 1 / -1;
	}

	.oneclub-app .oc-membership-strip > .oc-text-link {
		grid-column: 1 / -1;
	}

	.oneclub-app .oc-trip-hero {
		grid-template-columns: 1fr;
	}

	.oneclub-app .oc-trip-hero__content {
		max-width: 780px;
	}
}

@media (max-width: 900px) {
	.oneclub-app.oc-login-page {
		grid-template-columns: 1fr;
	}

	.oneclub-app .oc-login-intro {
		min-height: 42vh;
		padding: var(--oc-space-10);
	}

	.oneclub-app .oc-login-panel {
		min-height: 58vh;
	}

	.oneclub-app .oc-trip-layout {
		grid-template-columns: 1fr;
	}

	.oneclub-app .oc-trip-booking {
		position: static;
	}

	.oneclub-app .oc-membership-detail,
	.oneclub-app .oc-account-layout {
		grid-template-columns: 1fr;
	}

	.oneclub-app .oc-membership-detail__primary {
		border-bottom: 1px solid var(--oc-color-border);
		border-right: 0;
		padding-bottom: var(--oc-space-6);
		padding-right: 0;
	}
}

@media (max-width: 767px) {
	.oneclub-app.oc-login-page {
		display: block;
		padding-bottom: 0;
	}

	.oneclub-app .oc-login-intro {
		min-height: 230px;
		padding: var(--oc-space-8) var(--oc-space-6);
	}

	.oneclub-app .oc-login-intro__glow {
		height: 380px;
		left: -120px;
		top: -180px;
		width: 380px;
	}

	.oneclub-app .oc-login-intro__symbol {
		bottom: -74px;
		right: -58px;
		width: 250px;
	}

	.oneclub-app .oc-login-intro__copy h1 {
		font-size: 31px;
	}

	.oneclub-app .oc-login-intro__copy p {
		display: none;
	}

	.oneclub-app .oc-login-panel {
		align-items: flex-start;
		min-height: calc(100dvh - 230px);
		padding: var(--oc-space-8) var(--oc-space-4) var(--oc-space-10);
	}

	.oneclub-app .oc-login-logo {
		margin-bottom: var(--oc-space-8);
		width: 132px;
	}

	.oneclub-app .oc-membership-strip {
		align-items: start;
		gap: var(--oc-space-4);
		grid-template-columns: minmax(0, 1fr) auto;
		padding: var(--oc-space-5);
	}

	.oneclub-app .oc-inline-data {
		gap: var(--oc-space-3);
		grid-template-columns: 1fr;
	}

	.oneclub-app .oc-data-list a {
		grid-template-columns: 8px minmax(0, 1fr) 18px;
		padding: var(--oc-space-3) var(--oc-space-1);
	}

	.oneclub-app .oc-data-list time {
		grid-column: 2;
		grid-row: 2;
	}

	.oneclub-app .oc-data-list .oc-icon {
		grid-column: 3;
		grid-row: 1 / span 2;
	}

	.oneclub-app .oc-learning-resume {
		align-items: stretch;
		grid-template-columns: 1fr;
		padding: var(--oc-space-5);
	}

	.oneclub-app .oc-learning-resume .oc-button {
		width: 100%;
	}

	.oneclub-app .oc-section-heading--filters {
		align-items: stretch;
		flex-direction: column;
		gap: var(--oc-space-4);
	}

	.oneclub-app .oc-filter-group {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
	}

	.oneclub-app .oc-filter {
		padding: 0 var(--oc-space-2);
	}

	.oneclub-app[data-oc-route="cp-index"] .oc-filter-group {
		display: flex;
		max-width: 100%;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.oneclub-app[data-oc-route="cp-index"] .oc-filter {
		flex: 0 0 auto;
		padding: 0 var(--oc-space-3);
	}

	.oneclub-app .oc-cp-wallet {
		gap: var(--oc-space-4);
		grid-template-columns: 42px minmax(0, 1fr);
		padding: var(--oc-space-5);
	}

	.oneclub-app .oc-cp-wallet__mark {
		height: 42px;
		width: 42px;
	}

	.oneclub-app .oc-cp-wallet__balance strong {
		font-size: 40px;
	}

	.oneclub-app .oc-cp-wallet__expiry {
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.14);
		grid-column: 1 / -1;
		padding-left: 0;
		padding-top: var(--oc-space-4);
	}

	.oneclub-app .oc-cp-tabs {
		margin-top: var(--oc-space-6);
	}

	.oneclub-app .oc-cp-history li {
		gap: var(--oc-space-2) var(--oc-space-3);
		grid-template-columns: minmax(0, 1fr) auto;
		padding: var(--oc-space-4) 0;
	}

	.oneclub-app .oc-cp-history__date {
		grid-column: 1 / -1;
	}

	.oneclub-app .oc-cp-history__amount {
		align-self: end;
	}

	.oneclub-app .oc-lecture-row > a {
		align-items: stretch;
		grid-template-columns: 1fr;
		min-height: 0;
		padding: var(--oc-space-5) var(--oc-space-1);
	}

	.oneclub-app .oc-lecture-row__meta {
		grid-template-columns: auto minmax(0, 1fr) 20px;
	}

	.oneclub-app .oc-lecture-row__date {
		overflow: hidden;
		text-align: right;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.oneclub-app .oc-lecture-player {
		border-radius: var(--oc-radius-md);
	}

	.oneclub-app .oc-learning-category-filter {
		align-items: stretch;
		flex-direction: column;
		gap: var(--oc-space-2);
	}

	.oneclub-app .oc-learning-category-filter select {
		width: 100%;
	}

	.oneclub-app .oc-lecture-detail__layout {
		gap: var(--oc-space-6);
		grid-template-columns: 1fr;
		padding: var(--oc-space-6) 0 var(--oc-space-8);
	}

	.oneclub-app .oc-lecture-detail__main h1 {
		font-size: 28px;
	}

	.oneclub-app .oc-lecture-completion {
		padding: var(--oc-space-5);
	}

	.oneclub-app .oc-lecture-pagination {
		gap: var(--oc-space-4);
		grid-template-columns: 1fr;
	}

	.oneclub-app .oc-lecture-pagination a.is-next {
		border-top: 1px solid var(--oc-color-border);
		text-align: left;
	}

	.oneclub-app[data-oc-surface="event-detail"] {
		padding-bottom: calc(94px + env(safe-area-inset-bottom));
	}

	.oneclub-app[data-oc-surface="event-detail"] .oc-mobile-nav {
		display: none;
	}

	.oneclub-app .oc-trip-hero {
		gap: var(--oc-space-6);
		margin: 0 calc(-1 * var(--oc-space-4)) var(--oc-space-8);
	}

	.oneclub-app .oc-trip-hero__media {
		border-radius: 0;
	}

	.oneclub-app .oc-trip-hero__content {
		padding: 0 var(--oc-space-4);
	}

	.oneclub-app .oc-trip-hero h1 {
		font-size: 32px;
	}

	.oneclub-app .oc-trip-key-data {
		grid-template-columns: 1fr;
	}

	.oneclub-app .oc-trip-key-data > div + div {
		border-left: 0;
		border-top: 1px solid var(--oc-color-border);
		padding-left: 0;
		padding-top: var(--oc-space-4);
	}

	.oneclub-app .oc-trip-layout {
		margin-top: var(--oc-space-10);
	}

	.oneclub-app .oc-trip-aside {
		display: none;
	}

	.oneclub-app .oc-itinerary li {
		gap: var(--oc-space-2);
		grid-template-columns: 64px minmax(0, 1fr);
	}

	.oneclub-app .oc-detail-list > div {
		gap: var(--oc-space-1);
		grid-template-columns: 1fr;
	}

	.oneclub-app .oc-sticky-action {
		align-items: center;
		border-top: 1px solid var(--oc-color-border);
		bottom: 0;
		display: grid;
		gap: var(--oc-space-3);
		grid-template-columns: minmax(80px, 0.55fr) minmax(0, 1.45fr);
		left: 0;
		min-height: calc(82px + env(safe-area-inset-bottom));
		padding: var(--oc-space-3) var(--oc-space-4) calc(var(--oc-space-3) + env(safe-area-inset-bottom));
		position: fixed;
		right: 0;
		z-index: 45;
	}

	.oneclub-app .oc-sticky-action > div {
		display: grid;
	}

	.oneclub-app .oc-sticky-action span {
		color: var(--oc-color-text-secondary);
		font-size: 10px;
	}

	.oneclub-app .oc-sticky-action strong {
		font-size: 14px;
	}

	.oneclub-app .oc-sticky-action .oc-button {
		font-size: 13px;
		padding-left: var(--oc-space-3);
		padding-right: var(--oc-space-3);
		width: 100%;
	}

	.oneclub-app .oc-membership-detail {
		gap: var(--oc-space-5);
		padding: var(--oc-space-5);
	}

	.oneclub-app .oc-membership-detail__primary h2 {
		font-size: 24px;
	}

	.oneclub-app .oc-membership-data {
		grid-template-columns: 1fr;
	}

	.oneclub-app .oc-membership-data > div,
	.oneclub-app .oc-membership-data > div:nth-last-child(-n+2) {
		border-bottom: 1px solid var(--oc-color-border);
		padding: var(--oc-space-3) 0;
	}

	.oneclub-app .oc-membership-data > div:last-child {
		border-bottom: 0;
	}

	.oneclub-app .oc-membership-help {
		align-items: stretch;
		flex-direction: column;
		gap: var(--oc-space-5);
	}

	.oneclub-app .oc-membership-help .oc-button {
		width: 100%;
	}

	.oneclub-app .oc-account-section {
		padding: var(--oc-space-5);
	}

	.oneclub-app .oc-account-data > div {
		gap: var(--oc-space-2);
		grid-template-columns: 1fr;
	}
}
/* Event-owned room pricing: uses the existing form shell and native controls. */
.oc-room-picker { min-width: 0; margin: 0; padding: 0; border: 0; }
.oc-room-picker legend { font-weight: 700; padding: 0; }
.oc-room-option { display: flex; align-items: flex-start; gap: 12px; padding: 16px; margin-top: 12px; border: 1px solid var(--oc-border, #d5d9d5); border-radius: 10px; cursor: pointer; }
.oc-room-option > input { flex: 0 0 auto; width: auto; margin-top: 4px; }
.oc-room-option > span { min-width: 0; display: grid; gap: 6px; overflow-wrap: anywhere; }
.oc-room-option:has(input:checked:not(:disabled)) { outline: 2px solid var(--oc-color-primary, #365e4d); }
.oc-room-option:focus-within { outline: 2px solid var(--oc-color-primary, #365e4d); outline-offset: 3px; }
.oc-room-option.is-unavailable { opacity: .65; cursor: default; }
.oc-room-summary { margin: 16px 0 24px; padding: 16px; border: 1px solid var(--oc-border, #d5d9d5); border-radius: 10px; overflow-wrap: anywhere; }
.oc-room-summary summary { cursor: pointer; }
.oneclub-app .oc-room-summary--compact { margin: 0 0 24px; padding: 0; border: 0; border-radius: 0; }
.oneclub-app .oc-room-summary--compact h3 { margin: 0 0 8px; font-size: 16px; }
.oneclub-app .oc-room-summary__stay { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; margin: 0 0 12px; font-size: 14px; }
.oneclub-app .oc-room-summary__stay strong { color: var(--oc-color-ink); font-weight: 600; }
.oneclub-app .oc-room-summary__charges { display: grid; gap: 8px; margin: 0; }
.oneclub-app .oc-room-summary__charges > div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 24px; font-size: 14px; }
.oneclub-app .oc-room-summary__charges dt { color: var(--oc-color-ink); font-weight: 400; }
.oneclub-app .oc-room-summary__charges dd { display: flex; flex: 1 1 240px; flex-wrap: wrap; align-items: baseline; justify-content: flex-end; gap: 4px 12px; min-width: 0; margin: 0; text-align: right; }
.oneclub-app .oc-room-summary__calculation { color: var(--oc-color-text-secondary); }
.oneclub-app .oc-room-summary__charges dd > strong { color: var(--oc-color-ink); font-size: 16px; font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
.oc-room-rates { display: grid; gap: 16px; }
.oc-room-rates article { border-bottom: 1px solid var(--oc-border, #d5d9d5); padding-bottom: 16px; }
.oc-room-rates dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 12px; }
.oc-room-rates dd { margin: 4px 0 0; font-weight: 700; }

/* iOS zooms focused form controls below 16px. Keep pinch zoom available. */
@media (max-width: 767px) {
	.oneclub-app :is(
		input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="hidden"]),
		select,
		textarea
	) {
		font-size: 16px !important;
	}
}
