/**
 * Belcho Hristov — brand layer for the members site.
 *
 * Palette and typography mirrored from belchohristov.com
 * (Elementor global kit 15 + Vamtam "f7" theme):
 *   accent 1 .. 8 -> #A8C93B #191919 #5E5E5E #313131 #FFFFFF #000000 #EDEDED #929292
 *   sticky header highlight -> #D6FB00
 *   display font -> "GROS VENTRE"   body font -> "Manrope"   alt display -> "Kanit"
 *
 * ---------------------------------------------------------------------------
 * SCOPING — read before editing
 * ---------------------------------------------------------------------------
 * The main site is built with Elementor; this site is built with WPBakery
 * (js_composer), whose fixed column grid breaks if you push type sizes around.
 * So this sheet is deliberately conservative:
 *
 *   1. Everything visual is scoped to `body.bh-brand`, which functions.php only
 *      adds on member-facing pages (landing, my-account, "Клубен профил").
 *      Every other page on the site renders exactly as it did before.
 *
 *   2. Inside page content we change ONLY font-family and colour. We never set
 *      font-size, line-height or text-transform on generic headings, because
 *      Bakery rows/columns are laid out against the sizes the theme already
 *      ships. Display sizing is applied only to theme chrome (title bar), which
 *      sits outside the Bakery grid.
 *
 *   3. `.bh-arrow` and the section helpers are unscoped on purpose — they are
 *      opt-in markup, so they can be dropped into any Bakery block or template
 *      without turning on the whole brand layer.
 * ---------------------------------------------------------------------------
 */

/* ------------------------------------------------------------------ *
 * Fonts — declaration only, no page is affected until it is used
 * ------------------------------------------------------------------ */

@font-face {
	font-family: 'GROS VENTRE';
	font-style: normal;
	font-weight: 400 900;
	font-display: swap;
	src: url('../fonts/Gros-Ventre-Bold.ttf') format('truetype');
}

/* Manrope is self-hosted rather than loaded from Google Fonts.
 *
 * Production runs LiteSpeed with CSS combining, which drops the cross-domain
 * fonts.googleapis.com stylesheet when it merges everything into one file —
 * so Manrope silently never arrived and body copy fell back to Helvetica.
 * Self-hosting removes that dependency, is faster (no third-party round trip)
 * and avoids sending visitor IPs to Google.
 *
 * Variable font: one file per subset covers the whole 200–800 weight range.
 * The cyrillic subset is required — the site is in Bulgarian. */
@font-face {
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url('../fonts/manrope-cyrillic.woff2') format('woff2');
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url('../fonts/manrope-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url('../fonts/manrope-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ------------------------------------------------------------------ *
 * Design tokens — variables only, inert until referenced
 * ------------------------------------------------------------------ */

:root {
	/* brand */
	--bh-green: #A8C93B;
	--bh-green-dark: #8FAE2A;
	--bh-green-soft: rgba(168, 201, 59, 0.12);
	--bh-lime: #D6FB00;

	/* neutrals */
	--bh-ink: #191919;
	--bh-ink-soft: #313131;
	--bh-grey: #5E5E5E;
	--bh-grey-mid: #929292;
	--bh-grey-light: #EDEDED;
	--bh-white: #FFFFFF;
	--bh-black: #000000;

	/* type */
	/* No Oswald anywhere in the fallback chain — the brand does not use it,
	   and it would resurface if GROS VENTRE were ever slow or missing. */
	--bh-font-display: "GROS VENTRE", "Kanit", "Helvetica Neue", Arial, sans-serif;
	--bh-font-body: "Manrope", "Helvetica Neue", Helvetica, Arial, sans-serif;
	--bh-font-alt: "Kanit", "Helvetica Neue", Arial, sans-serif;

	/* body text size — theme ships 13px/1.4, belchohristov.com uses 16px/1.375em.
	   Change these two values to tune all member-page body copy at once. */
	--bh-text-size: 16px;
	--bh-text-leading: 1.375em;

	/* geometry — the brand is square-cornered */
	--bh-radius: 0px;
	--bh-border: 2px;
}

/* ================================================================== *
 * MEMBER PAGES ONLY — everything below requires body.bh-brand
 * ================================================================== */

/* ------------------------------------------------------------------ *
 * Base typography
 *
 * font-family + colour only. No font-size / line-height overrides, so
 * Bakery's column heights and line wrapping are untouched.
 * ------------------------------------------------------------------ */

body.bh-brand,
body.bh-brand .page_body,
body.bh-brand .page_body p,
body.bh-brand .page_body li,
body.bh-brand .page_body td,
body.bh-brand .widget,
body.bh-brand .woocommerce {
	font-family: var(--bh-font-body);
	color: var(--bh-ink);
}

body.bh-brand {
	-webkit-font-smoothing: antialiased;
}

/* Headings pick up the display face and ink colour, and nothing else.
   Sizes stay exactly as the theme / Bakery set them. */
body.bh-brand h1,
body.bh-brand h2,
body.bh-brand h3,
body.bh-brand h4,
body.bh-brand h5,
body.bh-brand h6,
body.bh-brand .widget .widget_title {
	font-family: var(--bh-font-display);
	color: var(--bh-ink);
}

/* NOTE: do not add a `font-size: inherit` guard for Bakery headings here.
 * The theme sizes headings in em (h1 2.3em, h2 1.6em, h3 1.1em …), so
 * `inherit` does not mean "leave alone" — it collapses every heading to its
 * container's size and destroys that scale. This sheet simply never sets
 * font-size on generic headings, which is the actual guarantee. */

/* ------------------------------------------------------------------ *
 * Body text size
 *
 * Theme base is `13px/1.4`; belchohristov.com runs `16px/1.375em`. Applied to
 * text-level elements only — never to containers — because the theme's em-based
 * headings would otherwise scale up with their parent and change the layout.
 * Headings therefore keep computing from the theme's own 13px base.
 *
 * Tune with --bh-text-size / --bh-text-leading below.
 * ------------------------------------------------------------------ */

/* Applied to text-level elements ONLY — never to <body> or to any container.
 *
 * This matters: the theme sizes headings in em off the body base (h1 2.3em,
 * h2 1.6em, h3 1.1em …). Raising the base would scale every GROS VENTRE
 * heading up with it. Bumping the text elements directly leaves all display
 * type at exactly the size it is today:
 *
 *     body copy 13 -> 16px      h1 29.9px    h2 20.8px    h3 14.3px  (unchanged)
 *
 * Containers are excluded for the same reason — a heading inside a container
 * with a raised font-size would inherit the larger em base. */
body.bh-brand .page_body p,
body.bh-brand .page_body li,
body.bh-brand .page_body td,
body.bh-brand .page_body dd,
body.bh-brand .page_body address,
body.bh-brand .page_body blockquote,
body.bh-brand .vc_column_text > p,
body.bh-brand .vc_column_text > ul li,
body.bh-brand .vc_column_text > ol li,
body.bh-brand .wpb_text_column p,
body.bh-brand .wpb_text_column li,
body.bh-brand .page_subtitle,
body.bh-brand .woocommerce p,
body.bh-brand .woocommerce li,
body.bh-brand .woocommerce td,
body.bh-brand .woocommerce label,
body.bh-brand .woocommerce-MyAccount-content p,
body.bh-brand .widget p,
body.bh-brand .widget li,
body.bh-brand .widget a,
body.bh-brand .page_footer p,
body.bh-brand .page_footer li {
	font-size: var(--bh-text-size);
	line-height: var(--bh-text-leading);
}

/* Form controls do not inherit font sizing by default */
body.bh-brand input:not([type=button]):not([type=submit]):not([type=checkbox]):not([type=radio]),
body.bh-brand textarea,
body.bh-brand select {
	font-size: var(--bh-text-size);
}

/* ------------------------------------------------------------------ *
 * Oswald eradication
 *
 * The Winner theme hardcodes `font-family: 'Oswald'` on 48 separate rules
 * (winner.css, winner-custom.css, the WooCommerce bridge, and the child
 * style.css). An explicit font-family always beats an inherited one, no matter
 * the specificity — so setting Manrope on <body> alone leaves all of these
 * still rendering in Oswald.
 *
 * Each one is re-pointed below, scoped to member pages: display/heading text
 * to GROS VENTRE, everything smaller to Manrope. Font-family only — no sizes,
 * so nothing reflows.
 * ------------------------------------------------------------------ */

/* --> display face */
body.bh-brand .page_header .page_menu.pages .menu > ul > li > a,
body.bh-brand .page_header .page_menu .menu .sub-menu > li > a,
body.bh-brand .titlebar_slider rs-module .winner_revslider_button,
body.bh-brand .titlebar_slider .rev_slider .winner_revslider_button,
body.bh-brand .sc85_heading.regular .title,
body.bh-brand .sc85_heading.impact .title,
body.bh-brand .sc85_heading.bold .title,
body.bh-brand .sc85_heading2 .title,
body.bh-brand .sc85_pricing_table .entry .head .title,
body.bh-brand .sc85_pricing_table .entry .price .value,
body.bh-brand .sc85_counter .counter_value,
body.bh-brand .sc85_timetable .title,
body.bh-brand .wpt_trainer_archive .trainer_list .entry .caption .name,
body.bh-brand .wpt_trainer_grid_shortcode .entry .caption .name,
body.bh-brand .wpt_trainer_list_shortcode .entry .title .name,
body.bh-brand .wpt_weekly_classes_schedule .classes .class_entry .name,
body.bh-brand .wpt_fitness_calculator .results_section .title,
body.bh-brand .wpt_fitness_calculator_popup.info .heading .title,
body.bh-brand .workoutplan_navigation li,
body.bh-brand .wpt_workoutplan_schedule .title,
body.bh-brand .wpt_nutrition_facts .title,
body.bh-brand .wpt_meal_shortcode .title,
body.bh-brand .wpt_workoutplan_subscription_steps .title,
body.bh-brand .wpt_workoutplan_purchase .payment_step .workoutplan_teaser .title,
body.bh-brand .woocommerce .woocommerce-checkout-review-order-table thead th,
body.bh-brand .woocommerce .order_details thead th,
body.bh-brand .woocommerce .my_account_orders thead th,
body.bh-brand .woocommerce .woocommerce-checkout-review-order-table tfoot .cart-subtotal th,
body.bh-brand .woocommerce .order_details tfoot .cart-subtotal th,
body.bh-brand .woocommerce .woocommerce-checkout-review-order-table tfoot .order-total th,
body.bh-brand .woocommerce .order_details tfoot .order-total th,
body.bh-brand .woocommerce .my_account_orders tfoot .cart-subtotal th,
body.bh-brand .woocommerce .my_account_orders tfoot .order-total th,
body.bh-brand .woocommerce .my_account_orders tfoot .shipping th,
body.bh-brand .woocommerce .order_details tfoot .shipping th,
body.bh-brand .woocommerce .woocommerce-checkout-review-order-table tfoot .shipping th,
body.bh-brand .woocommerce table.cart thead th,
body.bh-brand .woocommerce .cart-collaterals .cart_totals table th,
body.bh-brand .woocommerce .cart-empty,
body.bh-brand .page_title,
body.bh-brand .woocommerce-edit-account fieldset legend {
	font-family: var(--bh-font-display) !important;
}

/* --> body face: subtitles, labels, captions, prices — the "small text" */
body.bh-brand .label,
body.bh-brand .page_subtitle,
body.bh-brand .sc85_heading.bold .subtitle,
body.bh-brand .sc85_call_to_action .subtitle,
body.bh-brand .sc85_counter.digital_clock .counter_description label,
body.bh-brand .wpt_trainer_list_shortcode .entry .title .position,
body.bh-brand .wpt_nutrition_facts .subtitle,
body.bh-brand .wpt_meal_shortcode .nutrition_facts label,
body.bh-brand .wpt_workoutplan_purchase .payment_step .workoutplan_teaser label,
body.bh-brand .wpt_workoutplan_purchase .payment_step .workoutplan_teaser .price,
body.bh-brand .woocommerce ul.products li.product .product_details .price,
body.bh-brand .woocommerce ul.products li.product .product_details .price del,
body.bh-brand .woocommerce .winner_wc_product_single .product_summary .summary .price .amount,
body.bh-brand .woocommerce .winner_wc_product_single .product_summary .summary .price del,
body.bh-brand .discount-card * {
	font-family: var(--bh-font-body) !important;
}

body.bh-brand a {
	transition: color 0.2s ease;
}

body.bh-brand a:hover,
body.bh-brand a:focus {
	color: var(--bh-green);
}

body.bh-brand ::selection {
	background: var(--bh-green);
	color: var(--bh-ink);
}

/* ------------------------------------------------------------------ *
 * Buttons
 *
 * Main site: GROS VENTRE 13px / 600 / uppercase, square corners.
 * Selectors are one class deeper than the site-wide rules in style.css
 * so they win on member pages and lose everywhere else.
 * ------------------------------------------------------------------ */

body.bh-brand .button,
body.bh-brand button,
body.bh-brand input[type=button],
body.bh-brand input[type=submit],
body.bh-brand .sc85_button .button,
body.bh-brand .woocommerce a.button,
body.bh-brand .woocommerce button.button,
body.bh-brand .woocommerce input.button,
body.bh-brand .woocommerce #respond input#submit,
body.bh-brand .woocommerce .woocommerce-Button,
body.bh-brand.woocommerce-page a.button,
body.bh-brand.woocommerce-page button.button,
body.bh-brand.woocommerce-page input.button,
.bh-btn {
	font-family: var(--bh-font-display) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px;
	line-height: 1.07em !important;
	background: var(--bh-green) !important;
	color: var(--bh-ink) !important;
	border: var(--bh-border) solid var(--bh-green) !important;
	border-radius: var(--bh-radius) !important;
	padding: 15px 30px !important;
	text-shadow: none !important;
	box-shadow: none !important;
	transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

body.bh-brand .button:hover,
body.bh-brand button:hover,
body.bh-brand input[type=button]:hover,
body.bh-brand input[type=submit]:hover,
body.bh-brand .sc85_button .button:hover,
body.bh-brand .woocommerce a.button:hover,
body.bh-brand .woocommerce button.button:hover,
body.bh-brand .woocommerce input.button:hover,
body.bh-brand .woocommerce #respond input#submit:hover,
body.bh-brand .woocommerce .woocommerce-Button:hover,
body.bh-brand.woocommerce-page a.button:hover,
body.bh-brand.woocommerce-page button.button:hover,
body.bh-brand.woocommerce-page input.button:hover,
.bh-btn:hover,
.bh-btn:focus {
	background: var(--bh-ink) !important;
	color: var(--bh-white) !important;
	border-color: var(--bh-ink) !important;
}

/* Bakery's own button widget keeps its layout; only skin it. */
body.bh-brand .vc_btn3 {
	font-family: var(--bh-font-display) !important;
	text-transform: uppercase;
	border-radius: var(--bh-radius) !important;
}

body.bh-brand .vc_btn3.vc_btn3-color-green,
body.bh-brand .vc_btn3.vc_btn3-color-juicy-pink {
	background-color: var(--bh-green) !important;
	border-color: var(--bh-green) !important;
	color: var(--bh-ink) !important;
}

.bh-btn--ghost {
	background: transparent !important;
	color: var(--bh-ink) !important;
	border-color: var(--bh-ink) !important;
}

.bh-btn--ghost:hover,
.bh-btn--ghost:focus {
	background: var(--bh-green) !important;
	color: var(--bh-ink) !important;
	border-color: var(--bh-green) !important;
}

.bh-btn--on-dark {
	background: var(--bh-green) !important;
	color: var(--bh-ink) !important;
	border-color: var(--bh-green) !important;
}

.bh-btn--on-dark:hover,
.bh-btn--on-dark:focus {
	background: var(--bh-white) !important;
	color: var(--bh-ink) !important;
	border-color: var(--bh-white) !important;
}

/* Bare text-link button, as used across belchohristov.com */
.bh-btn--link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	line-height: 2.8em !important;
	color: var(--bh-ink) !important;
}

.bh-btn--link::after {
	content: '';
	width: 22px;
	height: 10px;
	background: var(--bh-green);
	clip-path: polygon(0 40%, 62% 40%, 62% 0, 100% 50%, 62% 100%, 62% 60%, 0 60%);
	transition: transform 0.25s ease;
}

.bh-btn--link:hover,
.bh-btn--link:focus {
	background: transparent !important;
	color: var(--bh-black) !important;
	text-decoration: underline;
}

.bh-btn--link:hover::after {
	transform: translateX(5px);
}

/* ------------------------------------------------------------------ *
 * Form fields — 2px ink border, green on focus (matches the main site)
 * ------------------------------------------------------------------ */

body.bh-brand input:not([type=button]):not([type=submit]):not([type=checkbox]):not([type=radio]),
body.bh-brand textarea,
body.bh-brand select,
body.bh-brand .select2-container .select2-selection[role=combobox],
body.bh-brand .woocommerce form .form-row input.input-text,
body.bh-brand .woocommerce form .form-row textarea,
body.bh-brand .woocommerce form .form-row select {
	font-family: var(--bh-font-body);
	color: var(--bh-ink);
	background-color: var(--bh-white);
	border: var(--bh-border) solid var(--bh-ink);
	border-radius: var(--bh-radius);
	box-shadow: none;
	transition: border-color 388ms ease;
}

body.bh-brand input:not([type=button]):not([type=submit]):focus,
body.bh-brand textarea:focus,
body.bh-brand select:focus,
body.bh-brand .woocommerce form .form-row input.input-text:focus,
body.bh-brand .woocommerce form .form-row textarea:focus {
	border-color: var(--bh-green);
	outline: none;
}

body.bh-brand input::placeholder,
body.bh-brand textarea::placeholder {
	color: var(--bh-grey-mid);
}

body.bh-brand label,
body.bh-brand .woocommerce form .form-row label {
	font-family: var(--bh-font-body);
	font-weight: 600;
	color: var(--bh-ink);
}

/* ------------------------------------------------------------------ *
 * Header / navigation — only while a member page is being viewed
 * ------------------------------------------------------------------ */

body.bh-brand .page_header .page_menu .menu > li > a,
body.bh-brand .winner_responsive_menu .menu > li > a {
	font-family: var(--bh-font-display);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--bh-ink);
}

body.bh-brand .page_header .page_menu .menu > li > a:hover,
body.bh-brand .page_header .page_menu .menu > li:hover > a,
body.bh-brand .page_header .page_menu .menu .current-menu-item > a,
body.bh-brand .page_header .page_menu .menu .current_page_item > a,
body.bh-brand .page_header .page_menu .menu .current-menu-parent > a,
body.bh-brand .page_header .page_menu .menu .current_page_parent > a,
body.bh-brand .page_header .page_menu .menu .current-menu-ancestor > a,
body.bh-brand .page_header .page_menu .menu .current_page_ancestor > a {
	color: var(--bh-green) !important;
}

body.bh-brand .page_header .page_menu .menu .sub-menu {
	border-top: 3px solid var(--bh-green);
	border-radius: var(--bh-radius);
}

body.bh-brand .page_header .page_menu .menu > li > .sub-menu:before,
body.bh-brand .page_header .page_menu .menu .winner_megamenu_wrapper:before {
	background: var(--bh-green) !important;
}

/* "КЛУБЕН ПРОФИЛ" / login entry — highlighted like a brand CTA */
body.bh-brand .page_header .page_menu .menu > li.menu-item-club-profile > a {
	background: var(--bh-green);
	color: var(--bh-ink) !important;
	padding-left: 22px;
	padding-right: 22px;
}

body.bh-brand .page_header .page_menu .menu > li.menu-item-club-profile > a:hover {
	background: var(--bh-ink);
	color: var(--bh-white) !important;
}

body.bh-brand .winner_responsive_menu .menu > li.current-menu-item,
body.bh-brand .winner_responsive_menu .menu > li.current_page_item,
body.bh-brand .winner_responsive_menu .menu > li.current-menu-parent,
body.bh-brand .winner_responsive_menu .menu > li.current-menu-ancestor {
	background: var(--bh-green) !important;
}

body.bh-brand .winner_responsive_menu a:hover {
	color: var(--bh-green) !important;
}

/* ------------------------------------------------------------------ *
 * Breathing room under the header
 *
 * Club profile pages have the title bar switched off, so the first Bakery row
 * butts straight up against the header. Padding (not margin) is used so it
 * cannot collapse into the first row's own margin.
 *
 * The landing template is excluded — it is a full-viewport hero that must stay
 * flush to the top.
 * ------------------------------------------------------------------ */

body.bh-brand:not(.page-template-template-members-landing) .page_body {
	padding-top: 55px;
}

@media (max-width: 767px) {
	body.bh-brand:not(.page-template-template-members-landing) .page_body {
		padding-top: 30px;
	}
}

/* ------------------------------------------------------------------ *
 * Title bar — theme chrome, sits outside the Bakery grid, so this is
 * the one place we apply the full display type treatment.
 * ------------------------------------------------------------------ */

body.bh-brand .title_bar {
	background-color: var(--bh-ink);
	position: relative;
	overflow: hidden;
}

body.bh-brand .title_bar .page_title {
	color: var(--bh-white);
	font-family: var(--bh-font-display);
	font-size: clamp(32px, 5vw, 60px);
	line-height: 0.95em;
	text-transform: uppercase;
}

body.bh-brand .title_bar .page_subtitle {
	font-family: var(--bh-font-body);
	color: var(--bh-grey-light);
}

/* Green corner accent */
body.bh-brand .title_bar::after {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	width: 160px;
	height: 160px;
	background: var(--bh-green);
	clip-path: polygon(100% 0, 100% 100%, 0 100%);
	pointer-events: none;
}

@media (max-width: 767px) {
	body.bh-brand .title_bar::after {
		width: 90px;
		height: 90px;
	}
}

/* ------------------------------------------------------------------ *
 * Footer
 * ------------------------------------------------------------------ */

body.bh-brand .page_footer {
	background: var(--bh-ink);
	color: var(--bh-grey-light);
	font-family: var(--bh-font-body);
}

body.bh-brand .page_footer .widget_title,
body.bh-brand .page_footer h1,
body.bh-brand .page_footer h2,
body.bh-brand .page_footer h3,
body.bh-brand .page_footer h4,
body.bh-brand .page_footer h5,
body.bh-brand .page_footer h6 {
	font-family: var(--bh-font-display);
	color: var(--bh-white);
	text-transform: uppercase;
}

body.bh-brand .page_footer a {
	color: var(--bh-grey-light);
}

body.bh-brand .page_footer a:hover {
	color: var(--bh-green);
}

/* ------------------------------------------------------------------ *
 * Accents — recolours the old theme greens on member pages only
 * ------------------------------------------------------------------ */

body.bh-brand .sc85_pricing_table .entry .head .title,
body.bh-brand .sc85_pricing_table .entry .content li:before,
body.bh-brand .winner_pagination .next,
body.bh-brand .winner_pagination .prev,
body.bh-brand .woocommerce-Price-amount,
body.bh-brand .amount,
body.bh-brand .widget a:hover {
	color: var(--bh-green) !important;
}

body.bh-brand .winner_pagination .page-numbers.current .page,
body.bh-brand .winner_pagination .page-numbers.current:hover .page,
body.bh-brand .wpt_weekly_classes_schedule .classes .class_entry .time {
	background: var(--bh-green) !important;
	border-color: var(--bh-green) !important;
	color: var(--bh-ink) !important;
}

body.bh-brand blockquote {
	border-left: 4px solid var(--bh-green);
}

/* ------------------------------------------------------------------ *
 * WooCommerce — my account / membership area
 * ------------------------------------------------------------------ */

body.bh-brand .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	border: 2px solid var(--bh-ink);
}

body.bh-brand .woocommerce-MyAccount-navigation ul li {
	margin: 0;
	border-bottom: 1px solid var(--bh-grey-light);
}

body.bh-brand .woocommerce-MyAccount-navigation ul li:last-child {
	border-bottom: 0;
}

body.bh-brand .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 14px 18px;
	font-family: var(--bh-font-display);
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--bh-ink);
}

body.bh-brand .woocommerce-MyAccount-navigation ul li a:hover {
	background: var(--bh-green-soft);
	color: var(--bh-ink);
}

body.bh-brand .woocommerce-MyAccount-navigation ul li.is-active a {
	background: var(--bh-green);
	color: var(--bh-ink);
}

body.bh-brand .woocommerce .woocommerce-info,
body.bh-brand .woocommerce .woocommerce-message {
	border-top-color: var(--bh-green);
	font-family: var(--bh-font-body);
}

body.bh-brand .woocommerce .woocommerce-info::before,
body.bh-brand .woocommerce .woocommerce-message::before {
	color: var(--bh-green);
}

body.bh-brand .woocommerce table.shop_table th {
	font-family: var(--bh-font-display);
	text-transform: uppercase;
	color: var(--bh-ink);
}

/* ------------------------------------------------------------------ *
 * WPBakery membership tabs
 *
 * Colour only — the geometry stays exactly as custom-membership-style.css
 * defines it, so the tab strip does not move.
 * ------------------------------------------------------------------ */

body.bh-brand .custom-tabs-member-info.vc_tta-tabs-position-top .vc_tta-tab.vc_active .vc_tta-title-text:after,
body.bh-brand .custom-tabs-member-info.vc_tta-tabs-position-top .vc_tta-tab > a:hover .vc_tta-title-text:after,
body.bh-brand .custom-tabs-member-info .vc_tta-panel.vc_active .vc_tta-panel-heading .vc_tta-panel-title a:after {
	background-color: var(--bh-green) !important;
}

/* Tab labels use Manrope, not the display face.
 *
 * These are navigation on the club profile pages (ОДИТ, БИОМЕТРИЯ, ЕПИКРИЗИ …),
 * and GROS VENTRE is too heavy for a long horizontal strip of them. Weight 700
 * keeps the same visual density the display face gave, so the strip does not
 * suddenly look lighter. Applies to the member-info tabs, the subscription-day
 * tabs and their mobile accordion equivalents. */
body.bh-brand .vc_tta-tabs .vc_tta-tab > a,
body.bh-brand .vc_tta-panel .vc_tta-panel-title > a,
body.bh-brand .vc_tta-tabs .vc_tta-tab > a .vc_tta-title-text,
body.bh-brand .vc_tta-panel .vc_tta-panel-title > a .vc_tta-title-text {
	font-family: var(--bh-font-body) !important;
	font-weight: 700;
	letter-spacing: 0.3px;
}

/* Recolours the old #88c222 tab borders to the brand green.
 *
 * These used to live in custom-membership-style.css, but that file is enqueued
 * site-wide with no condition, so editing it also repainted five pages outside
 * /members/ that reuse the same classes. Kept here instead, scoped, so the
 * recolour cannot leak. Geometry is untouched — colour only. */
body.bh-brand .tab-subscription-days .vc_tta-tabs.vc_tta-tabs-position-top .vc_tta-tab.vc_active,
body.bh-brand .tab-subscription-days .vc_tta-tabs-list .vc_tta-tab.vc_active,
body.bh-brand .tab-subscription-days.vc_tta-tabs.vc_tta-tabs-position-top .vc_tta-tab,
body.bh-brand .tab-subscription-days.vc_tta-tabs.vc_tta-tabs-position-top .vc_tta-tab.vc_active,
body.bh-brand .tab-subscription-days .vc_tta-panel-body {
	border-color: var(--bh-green) !important;
}

@media (max-width: 768px) {
	body.bh-brand .tab-subscription-days .vc_tta-panel.vc_active .vc_tta-panel-heading {
		border-top-color: var(--bh-green) !important;
		border-left-color: var(--bh-green) !important;
		border-right-color: var(--bh-green) !important;
	}
}

/* ================================================================== *
 * OPT-IN COMPONENTS — unscoped on purpose, inert until the markup is
 * actually used, so they are safe to drop into any Bakery block.
 * ================================================================== */

/* ------------------------------------------------------------------ *
 * Brand shape — the bent arrow used across belchohristov.com
 *
 *   [belcho_arrow size="lg"]                       (Bakery text block)
 *   <span class="bh-arrow bh-arrow--lg"></span>
 * ------------------------------------------------------------------ */

.bh-arrow {
	display: block;
	width: 220px;
	aspect-ratio: 663 / 670;
	background: var(--bh-green);
	clip-path: polygon(34% 0, 100% 0, 100% 68%, 66% 100%, 66% 34%, 0 34%);
	pointer-events: none;
	flex: none;
}

.bh-arrow--sm { width: 120px; }
.bh-arrow--lg { width: 380px; }
.bh-arrow--xl { width: 520px; }

.bh-arrow--ink { background: var(--bh-ink); }
.bh-arrow--white { background: var(--bh-white); }
.bh-arrow--lime { background: var(--bh-lime); }

.bh-arrow--up { transform: rotate(180deg); }
.bh-arrow--left { transform: rotate(90deg); }
.bh-arrow--right { transform: rotate(-90deg); }

/* Positioned overlay: drops the arrow over a hero image / section corner */
.bh-arrow-overlay {
	position: relative;
	overflow: hidden;
}

.bh-arrow-overlay > .bh-arrow {
	position: absolute;
	z-index: 2;
}

.bh-arrow-overlay--top-left > .bh-arrow { top: 0; left: 0; }
.bh-arrow-overlay--top-right > .bh-arrow { top: 0; right: 0; }
.bh-arrow-overlay--bottom-left > .bh-arrow { bottom: 0; left: 0; }
.bh-arrow-overlay--bottom-right > .bh-arrow { bottom: 0; right: 0; }
.bh-arrow-overlay--center > .bh-arrow {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

@media (max-width: 767px) {
	.bh-arrow { width: 140px; }
	.bh-arrow--lg { width: 200px; }
	.bh-arrow--xl { width: 240px; }
}

/* ------------------------------------------------------------------ *
 * Section helpers — opt-in, for new blocks you build in Bakery
 * ------------------------------------------------------------------ */

.bh-section--ink {
	background: var(--bh-ink);
	color: var(--bh-white);
}

.bh-section--ink h1, .bh-section--ink h2, .bh-section--ink h3,
.bh-section--ink h4, .bh-section--ink h5, .bh-section--ink h6 {
	color: var(--bh-white);
}

.bh-section--green {
	background: var(--bh-green);
	color: var(--bh-ink);
}

.bh-eyebrow {
	display: inline-block;
	font-family: var(--bh-font-display);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--bh-green);
	margin-bottom: 12px;
}

.bh-underline {
	position: relative;
	display: inline-block;
	padding-bottom: 14px;
}

.bh-underline::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 64px;
	height: 4px;
	background: var(--bh-green);
}
