.nobex-my-bookings-page__wrap {
	max-width: 720px;
	margin: 0 auto;
	padding: 32px 16px 48px;
}

.nobex-my-bookings,
body.nobex-my-bookings-page {
	direction: rtl;
	font-family: var(--nobex-font, 'IRANYekan', Tahoma, Arial, sans-serif);
}

body.nobex-page-my-bookings .entry-header,
body.nobex-page-my-bookings .page-header,
body.nobex-page-my-bookings .wp-block-post-title,
body.nobex-page-my-bookings h1.entry-title,
body.nobex-page-my-bookings .nobex-page__header,
.nobex-page__article:has([data-nobex-my-bookings]) > .nobex-page__header {
	display: none !important;
}

.nobex-my-bookings--embedded {
	font-family: inherit;
	color: inherit;
	max-width: 720px;
	margin: 0 auto;
	padding: 24px 16px 28px;
	box-sizing: border-box;
}

body.nobex-page-my-bookings .entry-content,
body.nobex-page-my-bookings .site-content .content-area {
	padding-inline: max(12px, env(safe-area-inset-left)) max(12px, env(safe-area-inset-right));
}

.nobex-my-bookings__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: nowrap;
	gap: 12px;
	margin-top: 4px;
	margin-bottom: 18px;
	padding-top: 8px;
	padding-bottom: 14px;
	border-bottom: 1px solid #e2e8f0;
	min-width: 0;
}

.nobex-my-bookings__title {
	margin: 0;
	flex: 1 1 auto;
	min-width: 0;
	font-size: clamp(1.2rem, 2.4vw, 1.55rem);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: inherit;
	color: #0f172a;
}

.nobex-my-bookings--embedded .nobex-my-bookings__title {
	font-family: inherit;
	font-size: clamp(1.125rem, 2.8vw, var(--wp--preset--font-size--x-large, 1.5rem));
	font-weight: 700;
	line-height: 1.25;
	color: inherit;
}

.nobex-my-bookings__new {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	flex: 0 0 auto;
	padding: 7px 13px;
	border-radius: 999px;
	border: 1px solid #dbeafe;
	background: #f8fbff;
	color: #1d4ed8;
	text-decoration: none;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	box-shadow: 0 1px 2px rgba(37, 99, 235, 0.08);
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

.nobex-my-bookings__new:hover {
	background: #eff6ff;
	border-color: #93c5fd;
	color: #1e40af;
	box-shadow: 0 2px 8px rgba(37, 99, 235, 0.12);
}

.nobex-my-bookings__new:active {
	transform: translateY(1px);
}

.nobex-my-bookings__new-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	border-radius: 999px;
	background: rgba(37, 99, 235, 0.12);
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
}

.nobex-my-bookings__new-label {
	font-family: inherit;
}

.nobex-my-bookings__notice {
	margin-bottom: 16px;
	padding: 14px 16px;
	border-radius: 10px;
	font-size: 14px;
	line-height: 1.7;
}

.nobex-my-bookings__notice--success {
	background: #f0fdf4;
	color: #166534;
	border: 1px solid #bbf7d0;
}

.nobex-my-bookings__notice--error {
	background: #fef2f2;
	color: #b91c1c;
	border: 1px solid #fecaca;
}

.nobex-my-bookings__auth-hint {
	margin: 0 0 12px;
	color: #64748b;
	font-size: 14px;
}

.nobex-my-bookings__loading,
.nobex-my-bookings__empty {
	color: #64748b;
	font-size: 14px;
}

.nobex-my-bookings__list {
	display: grid;
	gap: 14px;
}

.nobex-my-bookings__card {
	padding: 18px;
	border: 1px solid #e8edf3;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);
}

.nobex-my-bookings__card--highlight {
	border-color: #86efac;
	box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.2);
}

.nobex-my-bookings__card-top,
.nobex-my-bookings__card-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 14px;
}

.nobex-my-bookings__service {
	margin: 0;
	flex: 1 1 auto;
	min-width: 0;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.35;
	color: #0f172a;
}

.nobex-my-bookings__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	flex-shrink: 0;
}

.nobex-my-bookings__badge {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;
	white-space: nowrap;
}

.nobex-my-bookings__schedule {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.nobex-my-bookings__schedule-item {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 10px 12px;
	border-radius: 12px;
	background: #f8fafc;
	border: 1px solid #eef2f7;
	min-width: 0;
}

.nobex-my-bookings__schedule-label {
	font-size: 11px;
	font-weight: 600;
	color: #94a3b8;
	letter-spacing: 0.01em;
}

.nobex-my-bookings__schedule-value {
	font-size: 14px;
	font-weight: 600;
	color: #1e293b;
	line-height: 1.4;
}

.nobex-my-bookings__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}

.nobex-my-bookings__fact {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	border-radius: 999px;
	background: #f1f5f9;
	border: 1px solid #e2e8f0;
	font-size: 12px;
	line-height: 1.35;
	max-width: 100%;
}

.nobex-my-bookings__fact-label {
	color: #64748b;
	flex-shrink: 0;
}

.nobex-my-bookings__fact-label::after {
	content: '·';
	margin-inline-start: 6px;
	color: #cbd5e1;
}

.nobex-my-bookings__fact-value {
	color: #334155;
	font-weight: 600;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}

.nobex-my-bookings__amounts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-top: 12px;
	padding: 12px;
	border-radius: 12px;
	background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
	border: 1px solid #e2e8f0;
}

.nobex-my-bookings__amount-item {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.nobex-my-bookings__amount-item.is-highlight {
	grid-column: 1 / -1;
	padding: 10px 12px;
	border-radius: 10px;
	background: #fff;
	border: 1px dashed #cbd5e1;
}

.nobex-my-bookings__amount-label {
	font-size: 11px;
	font-weight: 600;
	color: #64748b;
}

.nobex-my-bookings__amount-value {
	font-size: 14px;
	font-weight: 700;
	color: #0f172a;
	line-height: 1.35;
}

.nobex-my-bookings__amount-item.is-highlight .nobex-my-bookings__amount-value {
	color: #b45309;
}

.nobex-my-bookings__note {
	margin-top: 12px;
	padding: 10px 12px;
	border-radius: 10px;
	background: #fffbeb;
	border: 1px solid #fde68a;
}

.nobex-my-bookings__note-label {
	display: block;
	margin-bottom: 4px;
	font-size: 11px;
	font-weight: 700;
	color: #92400e;
}

.nobex-my-bookings__note p {
	margin: 0;
	font-size: 13px;
	line-height: 1.6;
	color: #78350f;
	white-space: pre-wrap;
}

.nobex-my-bookings__badge--status-pending,
.nobex-my-bookings__badge--payment-unpaid {
	background: #fef3c7;
	color: #92400e;
}

.nobex-my-bookings__badge--status-confirmed,
.nobex-my-bookings__badge--payment-paid {
	background: #dcfce7;
	color: #15803d;
}

.nobex-my-bookings__badge--status-cancelled,
.nobex-my-bookings__badge--payment-refunded {
	background: #fee2e2;
	color: #b91c1c;
}

.nobex-my-bookings__badge--payment-partial {
	background: #dbeafe;
	color: #1d4ed8;
}

.nobex-my-bookings__meta {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 10px 16px;
	margin: 0;
}

.nobex-my-bookings__meta dt {
	margin: 0;
	font-size: 12px;
	color: #94a3b8;
}

.nobex-my-bookings__meta dd {
	margin: 2px 0 0;
	font-size: 14px;
	color: #334155;
}

.nobex-my-bookings__notes {
	grid-column: 1 / -1;
}

.nobex-my-bookings__class-link,
.nobex-my-bookings__class-instructions {
	grid-column: 1 / -1;
}

.nobex-my-bookings__class-link dd.nobex-booking-class-link-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.nobex-my-bookings__class-link a {
	color: #2563eb;
	font-weight: 600;
	text-decoration: none;
	word-break: break-all;
}

.nobex-my-bookings__class-link a:hover {
	text-decoration: underline;
}

.nobex-my-bookings__class-instructions dd {
	white-space: pre-wrap;
	line-height: 1.6;
}

.nobex-my-bookings__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid #eef2f7;
}

.nobex-my-bookings__action-buttons {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.nobex-my-bookings__actions .nobex-my-bookings__class-btn {
	width: auto;
	flex: 0 0 auto;
}

.nobex-my-bookings__actions .nobex-booking__btn {
	width: auto;
	flex: 0 0 auto;
}

.nobex-my-bookings__pending {
	font-size: 13px;
	color: #9a3412;
}

.nobex-my-bookings__cancel-note {
	font-size: 13px;
	color: #64748b;
	line-height: 1.6;
}

.nobex-booking__btn--ghost {
	background: #f8fafc;
	color: #475569;
	border: 1px solid #e2e8f0;
}

.nobex-booking__btn--loading {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 38px;
	padding-left: 14px;
	padding-right: 14px;
}

.nobex-booking__spinner {
	width: 16px;
	height: 16px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: nobex-booking-btn-spin 0.7s linear infinite;
}

@keyframes nobex-booking-btn-spin {
	to {
		transform: rotate(360deg);
	}
}

.nobex-my-bookings__tabs {
	display: flex;
	gap: 4px;
	margin-bottom: 20px;
	padding: 5px;
	border-radius: 14px;
	background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
	border: 1px solid #e2e8f0;
	box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
	overflow: hidden;
}

.nobex-my-bookings__tab {
	flex: 1 1 0;
	min-width: 0;
	border: none;
	background: transparent;
	color: #64748b;
	border-radius: 10px;
	padding: 0;
	cursor: pointer;
	font: inherit;
	transition: color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
	overflow: hidden;
}

.nobex-my-bookings__tab-inner {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 11px 14px;
	border-radius: inherit;
}

.nobex-my-bookings__tab-label {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.nobex-my-bookings__tab-icon {
	flex-shrink: 0;
	width: 17px;
	height: 17px;
	background: currentColor;
	opacity: 0.72;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.nobex-my-bookings__tab-icon--bookings {
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E") center / contain no-repeat;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E") center / contain no-repeat;
}

.nobex-my-bookings__tab-icon--discounts {
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/%3E%3Ccircle cx='7' cy='7' r='1.5' fill='black' stroke='none'/%3E%3C/svg%3E") center / contain no-repeat;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/%3E%3Ccircle cx='7' cy='7' r='1.5' fill='black' stroke='none'/%3E%3C/svg%3E") center / contain no-repeat;
}

.nobex-my-bookings__tab-icon--wallet {
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M16 12h2'/%3E%3C/svg%3E") center / contain no-repeat;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M16 12h2'/%3E%3C/svg%3E") center / contain no-repeat;
}

.nobex-my-bookings__tab:hover:not(.is-active) {
	color: #334155;
}

.nobex-my-bookings__tab:hover:not(.is-active) .nobex-my-bookings__tab-inner {
	background: rgba(255, 255, 255, 0.55);
}

.nobex-my-bookings__tab:focus-visible {
	outline: none;
}

.nobex-my-bookings__tab:focus-visible .nobex-my-bookings__tab-inner {
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(37, 99, 235, 0.45);
}

.nobex-my-bookings__tab.is-active {
	color: #1e40af;
}

.nobex-my-bookings__tab.is-active .nobex-my-bookings__tab-inner {
	background: #fff;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

.nobex-my-bookings__tab.is-active .nobex-my-bookings__tab-icon {
	opacity: 1;
}

.nobex-my-bookings__tab-panel[hidden] {
	display: none !important;
}

.nobex-my-bookings__discounts {
	display: grid;
	gap: 12px;
}

/* سفارش منو در رزروهای من */
.nobex-food-order {
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid #e2e8f0;
}

.nobex-food-order__title {
	margin: 0 0 10px;
	font-size: 15px;
	font-weight: 600;
	color: #0f172a;
}

.nobex-food-order__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 8px;
}

.nobex-food-order__item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
}

.nobex-food-order__thumb {
	width: 56px;
	height: 56px;
	flex-shrink: 0;
	border-radius: 8px;
	object-fit: cover;
	background: #e2e8f0;
}

.nobex-food-order__thumb--placeholder {
	display: block;
}

.nobex-food-order__body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.nobex-food-order__name {
	font-size: 14px;
	font-weight: 600;
	color: #0f172a;
}

.nobex-food-order__group {
	font-size: 12px;
	color: #64748b;
}

.nobex-food-order__meta {
	font-size: 13px;
	color: #334155;
}

.nobex-food-order__total {
	margin-top: 10px;
	padding-top: 8px;
	border-top: 1px dashed #cbd5e1;
	font-size: 14px;
	font-weight: 600;
	color: #0f172a;
}

@media (max-width: 768px) {
	.nobex-my-bookings-page__wrap {
		padding: 16px 12px 32px;
	}

	.nobex-my-bookings--embedded {
		padding: 18px 14px 24px;
	}

	.nobex-my-bookings {
		min-width: 0;
	}

	.nobex-my-bookings__header {
		margin-bottom: 14px;
		padding-bottom: 12px;
		gap: 10px;
		flex-wrap: nowrap;
	}

	.nobex-my-bookings__title {
		font-size: clamp(1.05rem, 4.5vw, 1.25rem);
	}

	.nobex-my-bookings__new {
		padding: 6px 11px;
		font-size: 11px;
		flex-shrink: 0;
	}

	.nobex-my-bookings__new-icon {
		width: 14px;
		height: 14px;
		font-size: 12px;
	}

	.nobex-my-bookings__tabs {
		display: flex;
		flex-wrap: nowrap;
		gap: 6px;
		margin-bottom: 14px;
		padding: 4px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.nobex-my-bookings__tabs::-webkit-scrollbar {
		display: none;
	}

	.nobex-my-bookings__tab {
		flex: 0 0 auto;
		min-width: 92px;
		max-width: 120px;
	}

	.nobex-my-bookings__tab-inner {
		padding: 9px 10px;
	}

	.nobex-my-bookings__tab-label {
		font-size: 11px;
		line-height: 1.3;
		white-space: normal;
		text-align: center;
	}

	.nobex-my-bookings__card {
		padding: 16px 14px;
	}

	.nobex-my-bookings__card-top,
	.nobex-my-bookings__card-head {
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
	}

	.nobex-my-bookings__service {
		font-size: 16px;
	}

	.nobex-my-bookings__schedule {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 6px;
	}

	.nobex-my-bookings__schedule-item {
		padding: 9px 10px;
	}

	.nobex-my-bookings__amounts {
		padding: 10px;
		gap: 6px;
	}

	.nobex-my-bookings__meta {
		grid-template-columns: minmax(0, 1fr);
		gap: 8px;
	}

	.nobex-my-bookings__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.nobex-my-bookings__action-buttons {
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		gap: 8px;
	}

	.nobex-my-bookings__actions .nobex-booking__btn,
	.nobex-my-bookings__actions .nobex-my-bookings__class-btn {
		flex: 1 1 calc(50% - 4px);
		min-width: 0;
		justify-content: center;
	}

	.nobex-my-bookings__auth .nobex-otp,
	.nobex-my-bookings__auth .nobex-login {
		max-width: 100%;
	}
}

@media (max-width: 480px) {
	.nobex-my-bookings__tab {
		min-width: 84px;
		max-width: 108px;
	}

	.nobex-my-bookings__tab-inner {
		flex-direction: column;
		gap: 4px;
		padding: 8px 6px;
	}

	.nobex-my-bookings__tab-label {
		font-size: 10px;
	}
}
