/*
 * meditations-management 2.1.0 · skin for the meditation library, single meditation,
 * meditation_type archive, [meditation_archive] and [meditation_sidebar].
 * Black and gold, Heebo, RTL first. Reads the beahava theme tokens when they exist
 * and falls back to the same values, so it also works without the theme.
 */

.meditation-archive-page,
.meditation-taxonomy-archive,
.single-meditation-page,
.meditation-archive-wrapper,
.meditation-sidebar-widget {
	--m-bg: var(--color-surface, #0F0E0C);
	--m-card: var(--color-surface-subtle, #151310);
	--m-raised: var(--color-surface-raised, #1F1B16);
	--m-ink: var(--color-ink, #F2EAD8);
	--m-muted: var(--color-ink-muted, #A89F8C);
	--m-line: var(--color-line, #2A2622);
	--m-line-strong: var(--color-line-strong, #756B5B);
	--m-brand: var(--color-brand, #C9A24A);
	--m-brand-deep: var(--color-brand-deep, #E6C97A);
	--m-on-brand: var(--color-on-brand, #0F0E0C);
	--m-tint: var(--color-brand-tint, #2A2316);
	--m-font: var(--font-body, "Heebo", Arial, sans-serif);
	font-family: var(--m-font);
	color: var(--m-ink);
}

.meditation-archive-page *, .meditation-archive-page *::before, .meditation-archive-page *::after,
.meditation-taxonomy-archive *, .meditation-taxonomy-archive *::before, .meditation-taxonomy-archive *::after,
.single-meditation-page *, .single-meditation-page *::before, .single-meditation-page *::after,
.meditation-archive-wrapper *, .meditation-sidebar-widget * { box-sizing: border-box; }

/* ---------- page frame ---------- */
.meditation-archive-page,
.meditation-taxonomy-archive,
.single-meditation-page {
	background: var(--m-bg);
	padding: clamp(40px, 6vw, 88px) 20px clamp(56px, 7vw, 104px);
	min-block-size: 60vh;
}
.archive-container,
.taxonomy-container,
.meditation-container { max-inline-size: 1200px; margin-inline: auto; inline-size: 100%; }

/* main column, sidebar on the start side (right in RTL) at 25% */
.archive-layout,
.taxonomy-layout,
.meditation-layout {
	display: grid;
	grid-template-columns: 25% minmax(0, 1fr);
	gap: 40px;
	align-items: start;
}
.meditation-main-content { min-inline-size: 0; }
.meditation-sidebar-wrap {
	position: sticky;
	inset-block-start: 110px;
	background: var(--m-card);
	border: 1px solid var(--m-line);
	border-block-start: 2px solid var(--m-brand);
	padding: 24px;
	border-radius: 0;
	box-shadow: none;
}
/* sidebar first column = the start side (right in RTL, left in LTR) */
.archive-layout > .meditation-sidebar-wrap,
.taxonomy-layout > .meditation-sidebar-wrap,
.meditation-layout > .meditation-sidebar-wrap { grid-column: 1; grid-row: 1; }
.archive-layout > .meditation-main-content,
.taxonomy-layout > .meditation-main-content,
.meditation-layout > .meditation-main-content { grid-column: 2; grid-row: 1; }

/* ---------- headers ---------- */
.archive-header,
.taxonomy-header { text-align: start; margin-block-end: 40px; padding-block-end: 32px; border-block-end: 1px solid var(--m-line); }
.archive-header::before,
.taxonomy-header::before {
	content: "ספריית המדיטציות";
	display: flex; align-items: center; gap: 12px;
	margin-block-end: 16px;
	color: var(--m-brand);
	font-size: 13px; font-weight: 500; letter-spacing: .16em;
}
.archive-header::after,
.taxonomy-header::after { content: none; }
.archive-header::before { content: "באהבה · מדיטציות"; }
body :is(h1, h2).archive-title,
body h1.taxonomy-title,
body h1.meditation-page-title {
	font-family: var(--m-font);
	font-weight: 500;
	font-size: clamp(2rem, 4vw, 2.875rem);
	line-height: 1.15;
	color: var(--m-ink);
	margin: 0 0 12px;
}
body .meditation-archive-wrapper h2.archive-title { font-size: clamp(1.5rem, 3vw, 2.125rem); }
.archive-subtitle,
.taxonomy-description,
.archive-description { color: var(--m-muted); font-size: 1.0625rem; line-height: 1.7; margin: 0 0 24px; max-inline-size: 62ch; }
.taxonomy-description p, .archive-description p { margin: 0 0 .6em; }

/* ---------- subscription prompts ---------- */
.subscription-cta,
.more-meditations-notice {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px;
	max-inline-size: none;
	margin: 0;
	padding: 20px 24px;
	background: var(--m-tint);
	border: 0;
	border-inline-start: 2px solid var(--m-brand);
	border-radius: 0;
	text-align: start;
}
.more-meditations-notice { margin-block-start: 40px; }
.cta-text,
.more-meditations-notice p { margin: 0; color: var(--m-ink); font-size: 1rem; }
.subscription-btn,
.blocked-subscribe-btn,
.meditation-search-btn {
	display: inline-flex; align-items: center; justify-content: center;
	min-block-size: 48px; padding: 12px 28px;
	background: var(--m-brand); color: var(--m-on-brand) !important;
	border: 1px solid var(--m-brand); border-radius: 0;
	font-family: var(--m-font); font-weight: 500; font-size: 1rem; letter-spacing: .02em;
	text-decoration: none; box-shadow: none; transform: none;
	transition: background-color .2s ease, color .2s ease;
}
.subscription-btn:hover, .subscription-btn:focus-visible,
.blocked-subscribe-btn:hover, .blocked-subscribe-btn:focus-visible {
	background: transparent; color: var(--m-brand-deep) !important; box-shadow: none; transform: none;
}

/* ---------- cards ---------- */
.meditation-grid,
.related-meditations-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 24px;
	margin-block-end: 40px;
}
.meditation-card {
	display: flex; flex-direction: column;
	background: var(--m-card);
	border: 0; border-block-start: 2px solid var(--m-brand);
	border-radius: 0; overflow: hidden; box-shadow: none;
	transition: background-color .2s ease;
}
.meditation-card:hover { background: var(--m-raised); transform: none; box-shadow: none; }
.meditation-thumbnail { overflow: hidden; }
.meditation-thumbnail img {
	display: block; inline-size: 100%; block-size: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 0;
	transition: transform .4s ease;
}
.meditation-card:hover .meditation-thumbnail img { transform: scale(1.03); }
.meditation-content { display: flex; flex-direction: column; gap: 12px; flex: 1; padding: 20px 20px 16px; text-align: start; }
body :is(h3, h4).meditation-title { font-family: var(--m-font); font-size: 1.125rem; font-weight: 500; line-height: 1.35; margin: 0; }
body .meditation-title a { color: var(--m-ink); text-decoration: none; }
body .meditation-title a:hover, body .meditation-title a:focus-visible { color: var(--m-brand-deep); }
.meditation-link {
	display: inline-flex; align-items: center; gap: .4em; align-self: flex-start;
	min-block-size: 44px; margin-block-start: auto; padding: 0;
	background: none; border: 0; border-radius: 0; box-shadow: none;
	color: var(--m-brand-deep) !important; font-weight: 500; font-size: .9375rem; text-decoration: none;
}
.meditation-link::after { content: "←"; transition: transform .2s ease; }
html[dir="ltr"] .meditation-link::after { content: "→"; }
.meditation-link:hover { background: none; color: var(--m-ink) !important; transform: none; }
.meditation-link:hover::after { transform: translateX(-3px); }

.no-meditations-message,
.no-meditations { grid-column: 1 / -1; padding: 32px; background: var(--m-card); color: var(--m-muted); text-align: start; }
.no-meditations-message .subscription-btn { margin-block-start: 16px; }

/* pagination (the_posts_pagination) */
.meditation-grid .navigation.pagination,
.meditation-grid .nav-links { grid-column: 1 / -1; }
.meditation-grid .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-block-start: 16px; }
.meditation-grid .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-inline-size: 44px; min-block-size: 44px; padding: 0 12px;
	border: 1px solid var(--m-line-strong); border-radius: 0; background: transparent;
	color: var(--m-ink); text-decoration: none;
}
.meditation-grid .page-numbers.current,
.meditation-grid .page-numbers:hover { background: var(--m-brand); border-color: var(--m-brand); color: var(--m-on-brand); }
.meditation-grid .screen-reader-text { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- single meditation ---------- */
.meditation-header { margin-block-end: 32px; }
.meditation-types-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-block: 0 16px; }
body a.type-badge {
	display: inline-flex; align-items: center; min-block-size: 32px; padding: 4px 12px;
	background: transparent; border: 1px solid var(--m-line-strong); border-radius: 0;
	color: var(--m-brand-deep); font-size: .8125rem; font-weight: 500; letter-spacing: .04em; text-decoration: none;
}
body a.type-badge:hover { border-color: var(--m-brand); background: var(--m-tint); color: var(--m-ink); }
.meditation-duration { display: inline-flex; align-items: center; gap: 8px; color: var(--m-muted); font-size: .9375rem; }
.meditation-duration svg { color: var(--m-brand); }

.meditation-video-wrapper,
.meditation-featured-image { margin-block-end: 32px; background: #000; border: 1px solid var(--m-line); }
.meditation-video { position: relative; aspect-ratio: 16 / 9; }
.meditation-video iframe,
.meditation-video video,
.meditation-video object,
.meditation-video embed { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; border: 0; }
.meditation-video .wp-video, .meditation-video .mejs-container { inline-size: 100% !important; block-size: 100% !important; }
.meditation-featured-image img { display: block; inline-size: 100%; block-size: auto; }

.meditation-info { margin-block-end: 32px; padding: 24px; background: var(--m-card); border-inline-start: 2px solid var(--m-brand); }
body h2.video-title { margin: 0 0 8px; font-size: 1.375rem; font-weight: 500; color: var(--m-ink); }
.video-description { margin: 0; color: var(--m-muted); line-height: 1.7; }

.meditation-post-content { color: var(--m-ink); font-size: 1.125rem; line-height: 1.75; font-weight: 300; max-inline-size: 70ch; }
body .meditation-post-content :is(h2, h3) { color: var(--m-ink); font-weight: 500; margin-block: 1.6em .6em; }
body .meditation-post-content a { color: var(--m-brand-deep); text-underline-offset: 3px; }
.meditation-post-content img { max-inline-size: 100%; block-size: auto; }

.related-meditations-section { margin-block-start: 56px; padding-block-start: 40px; border-block-start: 1px solid var(--m-line); }
body h3.related-title { margin: 0 0 24px; font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 500; color: var(--m-ink); }

.meditation-blocked-content {
	padding: clamp(28px, 4vw, 48px);
	background: var(--m-card);
	border: 1px solid var(--m-line);
	border-block-start: 2px solid var(--m-brand);
	text-align: start;
}
body .meditation-blocked-content h2 { margin: 0 0 12px; font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 500; color: var(--m-ink); }
.meditation-blocked-content p { margin: 0 0 24px; color: var(--m-muted); font-size: 1.0625rem; line-height: 1.7; }

/* ---------- sidebar ([meditation_sidebar]) ---------- */
.meditation-sidebar-widget { display: flex; flex-direction: column; gap: 24px; }
.meditation-search-box form { margin: 0; }
.search-input-wrap { display: flex; align-items: stretch; border: 1px solid var(--m-line-strong); background: var(--m-bg); }
.search-input-wrap:focus-within { border-color: var(--m-brand); }
.meditation-search-input {
	flex: 1; min-inline-size: 0; min-block-size: 48px; padding: 10px 14px;
	background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
	color: var(--m-ink) !important; font-family: var(--m-font); font-size: 1rem;
}
.meditation-search-input::placeholder { color: var(--m-muted); opacity: 1; }
.meditation-search-input:focus { outline: none; }
.meditation-search-btn { min-inline-size: 48px; padding: 0 14px; border: 0; }
.meditation-search-btn:hover { background: var(--m-brand-deep); color: var(--m-on-brand) !important; }

body :is(h4, label).sidebar-title {
	display: block; margin: 0 0 12px;
	color: var(--m-brand); font-family: var(--m-font);
	font-size: 13px; font-weight: 500; letter-spacing: .16em;
}
.meditation-type-links { list-style: none; margin: 0; padding: 0; }
.meditation-type-links li { margin: 0; border-block-end: 1px solid var(--m-line); }
.meditation-type-links li:last-child { border-block-end: 0; }
body .meditation-type-links a {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	min-block-size: 44px; padding: 8px 0;
	color: var(--m-ink); text-decoration: none; font-size: .9375rem; line-height: 1.4;
	background: none; border-radius: 0;
}
body .meditation-type-links a:hover { color: var(--m-brand-deep); background: none; }
body .meditation-type-links .current-type a { color: var(--m-brand-deep); font-weight: 500; }
.meditation-type-links .current-type a::before { content: ""; inline-size: 2px; align-self: stretch; background: var(--m-brand); margin-inline-end: 4px; }
.type-count { color: var(--m-muted); font-size: .8125rem; flex-shrink: 0; }
.no-types { color: var(--m-muted); margin: 0; }

.meditation-type-select {
	inline-size: 100%; min-block-size: 48px; padding: 10px 14px;
	background: var(--m-bg); color: var(--m-ink);
	border: 1px solid var(--m-line-strong); border-radius: 0;
	font-family: var(--m-font); font-size: 1rem;
}
.meditation-type-select:focus { outline: 2px solid var(--m-brand); outline-offset: 2px; }

.mobile-only { display: none; }
.desktop-only { display: block; }

/* ---------- [meditation_archive] inside Elementor pages ---------- */
.meditation-archive-wrapper .archive-header { margin-block-end: 32px; }
.meditation-archive-wrapper .subscription-cta { margin-block-end: 32px; }

/* ---------- focus ---------- */
.meditation-card a:focus-visible,
.meditation-type-links a:focus-visible,
.type-badge:focus-visible,
.subscription-btn:focus-visible,
.blocked-subscribe-btn:focus-visible,
.meditation-search-btn:focus-visible { outline: 2px solid var(--m-brand); outline-offset: 3px; }

/* ---------- responsive ---------- */
@media (max-width: 1024px) {
	.archive-layout, .taxonomy-layout, .meditation-layout { grid-template-columns: 30% minmax(0, 1fr); gap: 28px; }
}
@media (max-width: 767px) {
	.meditation-archive-page, .meditation-taxonomy-archive, .single-meditation-page { padding-inline: 16px; }
	.archive-layout, .taxonomy-layout, .meditation-layout { grid-template-columns: 1fr; gap: 24px; }
	.archive-layout > .meditation-sidebar-wrap,
	.taxonomy-layout > .meditation-sidebar-wrap,
	.meditation-layout > .meditation-sidebar-wrap { grid-column: 1; grid-row: 1; position: static; padding: 16px; }
	.archive-layout > .meditation-main-content,
	.taxonomy-layout > .meditation-main-content,
	.meditation-layout > .meditation-main-content { grid-column: 1; grid-row: 2; }
	.single-meditation-page .meditation-layout > .meditation-sidebar-wrap { grid-row: 2; }
	.single-meditation-page .meditation-layout > .meditation-main-content { grid-row: 1; }
	.mobile-only { display: block; }
	.desktop-only { display: none; }
	.meditation-grid, .related-meditations-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.meditation-content { padding: 14px 12px 10px; gap: 8px; }
	body :is(h3, h4).meditation-title { font-size: 1rem; }
	.subscription-cta, .more-meditations-notice { padding: 16px; }
	.subscription-btn { inline-size: 100%; }
}
@media (max-width: 380px) {
	.meditation-grid, .related-meditations-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	.meditation-thumbnail img, .meditation-link::after { transition: none; }
	.meditation-card:hover .meditation-thumbnail img { transform: none; }
}

/* =====================================================================
 * 2.1.1 · booking box on the product page (treatments and certifications),
 * package choice, waitlist, date picker, subscription popup, locked content,
 * thank-you calendar link. The plugin still prints its own <style> blocks
 * further down the page, so every rule here starts with "body" to win.
 * ===================================================================== */
body .booking-fields {
	--m-bg: var(--color-surface, #0F0E0C); --m-card: var(--color-surface-subtle, #151310); --m-raised: var(--color-surface-raised, #1F1B16);
	--m-ink: var(--color-ink, #F2EAD8); --m-muted: var(--color-ink-muted, #A89F8C); --m-line: var(--color-line, #2A2622); --m-line-strong: var(--color-line-strong, #756B5B);
	--m-brand: var(--color-brand, #C9A24A); --m-brand-deep: var(--color-brand-deep, #E6C97A); --m-on-brand: var(--color-on-brand, #0F0E0C); --m-tint: var(--color-brand-tint, #2A2316);
	background: var(--m-card); color: var(--m-ink);
	border: 1px solid var(--m-line); border-block-start: 2px solid var(--m-brand); border-inline-start: 1px solid var(--m-line);
	border-radius: 0; padding: 24px; margin: 0 0 24px;
	font-family: var(--font-body, "Heebo", Arial, sans-serif);
}
body .booking-type-certification, body .booking-type-treatment { border-inline-start: 1px solid var(--m-line); border-right-width: 1px; }
body .booking-fields h3 { margin: 0 0 16px; padding: 0 0 12px; border-bottom: 1px solid var(--m-line); color: var(--m-ink); font-family: inherit; font-weight: 500; font-size: 1.375rem; }
body .booking-fields label, body .booking-fields .booking-form-container label { color: var(--m-ink); font-weight: 500; font-size: .9375rem; }
body .booking-fields abbr.required, body .booking-fields .required { color: var(--m-brand); text-decoration: none; }
body .booking-info, body .booking-duration, body .package-title, body .date-description, body .package-per-unit { color: var(--m-muted); }
body .package-title { color: var(--m-ink); }
body .booking-no-dates { background: var(--m-tint); color: var(--m-ink); border-inline-start: 2px solid var(--m-brand); border-radius: 0; padding: 16px; }
body .booking-no-dates strong { color: var(--m-brand-deep); }
body .booking-series-info, body .series-note { background: var(--m-tint); border: 0; border-inline-start: 2px solid var(--m-brand); border-radius: 0; color: var(--m-ink); }
body .booking-series-info p, body .series-note { color: var(--m-ink); }

/* inputs */
body .booking-fields input[type="text"], body .booking-fields input[type="email"], body .booking-fields input[type="tel"],
body .booking-fields .booking-datepicker, body .booking-fields .booking-time-select, body .booking-fields select, body .booking-fields textarea,
body .booking-fields .flatpickr-input {
	background: var(--m-bg) !important; color: var(--m-ink) !important;
	border: 1px solid var(--m-line-strong) !important; border-radius: 0 !important;
	min-block-size: 48px; padding: 12px 14px; font-family: inherit; font-size: 1rem; box-shadow: none;
}
body .booking-fields input::placeholder, body .booking-fields textarea::placeholder { color: var(--m-muted); opacity: 1; }
body .booking-fields input:focus, body .booking-fields select:focus, body .booking-fields textarea:focus { outline: 2px solid var(--m-brand); outline-offset: 1px; border-color: var(--m-brand) !important; }

/* package choice (treatment series) */
body .package-options { gap: 12px; }
body .package-option { background: var(--m-bg); border: 1px solid var(--m-line-strong); border-radius: 0; padding: 18px 20px; color: var(--m-ink); }
body .package-option:hover { background: var(--m-raised); border-color: var(--m-brand); }
body .package-option.has-savings { border-color: var(--m-line-strong); }
body .package-option.best-value { background: var(--m-bg); border-color: var(--m-brand); }
body .package-option:has(input:checked) { background: var(--m-tint); border-color: var(--m-brand); box-shadow: inset 0 0 0 1px var(--m-brand); }
body .package-option input[type="radio"], body .certification-date-option input[type="radio"], body .booking-fields input[type="checkbox"] { accent-color: var(--m-brand); }
body .package-option input[type="radio"]:checked ~ .package-content, body .package-option input[type="radio"]:checked ~ .package-content .package-name { color: var(--m-brand-deep); }
body .package-name { color: var(--m-ink); font-weight: 500; }
body .package-price { color: var(--m-brand-deep); font-weight: 500; font-size: 1.375rem; }
body .package-savings { align-self: flex-start; inline-size: fit-content; background: transparent; border: 1px solid var(--m-brand); color: var(--m-brand-deep); border-radius: 0; font-weight: 500; padding: 3px 10px; }
body .package-badge { background: var(--m-brand); color: var(--m-on-brand); border-radius: 0; font-weight: 500; letter-spacing: .04em; inset-inline-start: auto; inset-inline-end: 16px; left: auto; }

/* certification dates */
body .certification-date-option { background: var(--m-bg); border: 1px solid var(--m-line-strong); border-radius: 0; color: var(--m-ink); }
body .certification-date-option:hover { background: var(--m-raised); border-color: var(--m-brand); }
body .certification-date-option.selected, body .certification-date-option:has(input:checked) { background: var(--m-tint); border-color: var(--m-brand); }
body .certification-date-option input[type="radio"]:checked ~ .date-info strong, body .certification-date-option input[type="radio"]:checked + .date-info { color: var(--m-brand-deep); }
body .certification-date-option.low-availability { border-color: var(--m-brand); }
body .certification-date-option.low-availability .availability { color: var(--m-brand-deep); }
body .date-start-time { color: var(--m-brand-deep); }
body .availability { color: var(--m-muted); }

/* waitlist */
body .meditation-waitlist-form { background: transparent; border: 0; padding: 0; margin-block-start: 16px; }
body .meditation-waitlist-form button, body .meditation-waitlist-form [type="submit"] { background: var(--m-brand); color: var(--m-on-brand); border: 1px solid var(--m-brand); border-radius: 0; min-block-size: 48px; padding: 12px 28px; font-weight: 500; }

/* flatpickr (the plugin loads the material_blue theme) */
body .flatpickr-calendar { background: var(--color-surface-raised, #1F1B16); border: 1px solid var(--color-line-strong, #756B5B); border-radius: 0; box-shadow: 0 12px 32px rgba(0,0,0,.5); font-family: var(--font-body, "Heebo", Arial, sans-serif); }
body .flatpickr-calendar.arrowTop::before, body .flatpickr-calendar.arrowTop::after { border-bottom-color: var(--color-line-strong, #756B5B); }
body .flatpickr-months, body .flatpickr-months .flatpickr-month, body .flatpickr-weekdays, body span.flatpickr-weekday, body .flatpickr-current-month .flatpickr-monthDropdown-months { background: var(--color-surface-raised, #1F1B16) !important; color: var(--color-ink, #F2EAD8) !important; fill: var(--color-ink, #F2EAD8); }
body .flatpickr-months .flatpickr-prev-month, body .flatpickr-months .flatpickr-next-month { color: var(--color-brand, #C9A24A); fill: var(--color-brand, #C9A24A); }
body .flatpickr-months .flatpickr-prev-month svg, body .flatpickr-months .flatpickr-next-month svg { fill: var(--color-brand, #C9A24A); }
body span.flatpickr-weekday { color: var(--color-ink-muted, #A89F8C) !important; font-weight: 500; }
body .flatpickr-day { color: var(--color-ink, #F2EAD8); border-radius: 0; border-color: transparent; }
body .flatpickr-day:hover, body .flatpickr-day:focus { background: var(--color-brand-tint, #2A2316); border-color: var(--color-brand, #C9A24A); color: var(--color-ink, #F2EAD8); }
body .flatpickr-day.today { border-color: var(--color-line-strong, #756B5B); }
body .flatpickr-day.selected, body .flatpickr-day.selected:hover { background: var(--color-brand, #C9A24A) !important; border-color: var(--color-brand, #C9A24A) !important; color: var(--color-on-brand, #0F0E0C) !important; }
body .flatpickr-day.flatpickr-disabled, body .flatpickr-day.flatpickr-disabled:hover, body .flatpickr-day.prevMonthDay, body .flatpickr-day.nextMonthDay { color: #4D463C !important; background: transparent !important; }
body .flatpickr-day.available { background: transparent !important; color: var(--color-brand-deep, #E6C97A) !important; font-weight: 500; }
body .flatpickr-day.blocked { background: transparent !important; color: #6B4A3F !important; }

/* subscription popup and locked content */
body .meditation-popup-overlay { background: rgba(15,14,12,.82) !important; }
body .meditation-popup-content { background: var(--color-surface-subtle, #151310) !important; color: var(--color-ink, #F2EAD8) !important; border: 1px solid var(--color-line, #2A2622); border-block-start: 2px solid var(--color-brand, #C9A24A); border-radius: 0 !important; box-shadow: none !important; font-family: var(--font-body, "Heebo", Arial, sans-serif); }
body .meditation-popup-content h2 { color: var(--color-ink, #F2EAD8) !important; font-weight: 500; }
body .meditation-popup-content p { color: var(--color-ink-muted, #A89F8C) !important; }
body .meditation-popup-content strong { color: var(--color-brand-deep, #E6C97A); }
body .popup-subscribe-btn, body .locked-subscribe-btn { background: var(--color-brand, #C9A24A) !important; color: var(--color-on-brand, #0F0E0C) !important; border-radius: 0 !important; box-shadow: none !important; font-weight: 500; }
body .popup-later-btn { background: transparent !important; color: var(--color-ink-muted, #A89F8C) !important; border: 0 !important; text-decoration: underline; text-underline-offset: 3px; }
body .meditation-popup-close { color: var(--color-ink, #F2EAD8) !important; background: transparent !important; }
body .meditation-locked-content { background: var(--color-surface-subtle, #151310) !important; color: var(--color-ink, #F2EAD8) !important; border: 1px solid var(--color-line, #2A2622) !important; border-block-start: 2px solid var(--color-brand, #C9A24A) !important; border-radius: 0 !important; }
body .meditation-locked-content h2 { color: var(--color-ink, #F2EAD8) !important; }
body .meditation-locked-content p { color: var(--color-ink-muted, #A89F8C) !important; }

/* thank-you page: "add to calendar" (inline styles in the plugin) */
body .woocommerce-order .booking-calendar-download { background: var(--color-surface-subtle, #151310) !important; border: 1px solid var(--color-line, #2A2622) !important; border-inline-start: 2px solid var(--color-brand, #C9A24A) !important; border-radius: 0 !important; color: var(--color-ink, #F2EAD8); }
body .woocommerce-order .booking-calendar-download a { background: var(--color-brand, #C9A24A) !important; color: var(--color-on-brand, #0F0E0C) !important; border-radius: 0 !important; }

/* 2.1.2 · my account: "התורים שלי" (my-bookings) and the courses tab */
body .bookings-notice, body .no-cancel-notice { background: var(--color-brand-tint, #2A2316) !important; color: var(--color-ink, #F2EAD8) !important; border: 0; border-inline-start: 2px solid var(--color-brand, #C9A24A); border-radius: 0; }
body .bookings-notice p { color: var(--color-ink, #F2EAD8); }
body .woocommerce-bookings-table { border-color: var(--color-line, #2A2622) !important; }
body .woocommerce-bookings-table th { background: var(--color-surface-raised, #1F1B16) !important; color: var(--color-ink, #F2EAD8) !important; font-weight: 500; }
body .woocommerce-bookings-table td { border-color: var(--color-line, #2A2622) !important; color: var(--color-ink, #F2EAD8); }
body .booking-upcoming, body .booking-upcoming.type-certification { background: transparent !important; }
body .booking-status { background: transparent !important; border: 1px solid var(--color-line-strong, #756B5B); border-radius: 0; color: var(--color-ink, #F2EAD8) !important; }
body .booking-status.status-processing, body .booking-status.status-completed { border-color: var(--color-brand, #C9A24A); color: var(--color-brand-deep, #E6C97A) !important; }
body .booking-status.status-cancelled { border-color: #8A4A40; color: #D9A49A !important; }
body .booking-type-badge, body .booking-type-badge.type-certification, body .booking-type-badge.type-treatment, body .session-badge { background: var(--color-brand-tint, #2A2316) !important; color: var(--color-brand-deep, #E6C97A) !important; border-radius: 0; }
body .booking-time, body .cancel-deadline, body .past-notice, body .cancelled-label { color: var(--color-ink-muted, #A89F8C) !important; }
body .soon-notice { color: var(--color-brand-deep, #E6C97A) !important; }
body .cancel-btn { background: transparent !important; color: var(--color-ink, #F2EAD8) !important; border: 1px solid var(--color-line-strong, #756B5B) !important; border-radius: 0 !important; }
body .cancel-btn:hover { border-color: #C2665A !important; color: #F0C4BC !important; background: transparent !important; }
@media (max-width: 767px) {
	body .woocommerce-bookings-table thead { display: none; }
	body .woocommerce-bookings-table tr { display: block; padding: 14px 0; border-bottom: 1px solid var(--color-line, #2A2622); }
	body .woocommerce-bookings-table td { display: flex; justify-content: space-between; gap: 12px; border: 0 !important; padding: 6px 0 !important; text-align: start; }
	body .woocommerce-bookings-table td::before { content: attr(data-title); color: var(--color-ink-muted, #A89F8C); font-size: .8125rem; }
}
