/*
Theme Name:   PickleBola Child
Theme URI:    https://picklebola.ph
Description:  Child theme for PickleBola Sporting Goods. Design + template overrides live here so parent theme updates don't wipe our work.
Author:       Rodney Torres
Author URI:   https://picklebola.ph
Template:     blocksy
Version:      0.18.1
Requires at least: 6.4
Requires PHP: 8.0
License:      GPL-2.0-or-later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  picklebola-child
*/

/* Global tokens live in theme.json. This file layers site-specific styles on top of Blocksy. */

/* ============================================================
   Home hero — opaque nav backdrop so logo + menu don't
   visually collide with the paddle image / net line behind.
   ============================================================ */
body.home .ct-header,
body.home header[data-header],
body.home #header {
	background: linear-gradient(180deg, rgba(14,17,19,0.92) 0%, rgba(14,17,19,0.78) 62%, rgba(14,17,19,0) 100%);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

/* The new wide logo needs more room than Blocksy's default 30px cap. */
.ct-header [data-id="logo"] .site-logo-container {
	--logo-max-height: 118px !important;
}

.ct-header [data-id="logo"] .site-logo-container img {
	width: min(360px, 32vw) !important;
	max-height: 118px !important;
	object-fit: contain;
}

@media (min-width: 1000px) {
    body.home .ct-header [data-device="desktop"] [data-id="logo"] .site-logo-container {
        transform: translate(-72px, -4px);
    }

    body.home .ct-header [data-device="desktop"] [data-column="end"] {
        transform: translateX(0);
    }
}

@media (min-width: 1400px) {
	body.home .ct-header [data-device="desktop"] [data-id="logo"] .site-logo-container {
		transform: translate(-132px, -4px);
	}
}

#offcanvas [data-id="offcanvas-logo"] img,
.ct-header [data-device="mobile"] [data-id="logo"] .site-logo-container img {
	width: min(230px, 58vw) !important;
	max-height: 122px !important;
	object-fit: contain;
}

@media (max-width: 689.98px) {
	.ct-header [data-id="logo"] .site-logo-container img {
		width: min(210px, 58vw) !important;
		max-height: 112px !important;
	}
}

/* On mobile the header row has no top padding, so the logo hugs (and
   feels cropped by) the viewport edge on both the transparent home hero
   and the opaque inner-page bar. Give it breathing room sitewide. */
@media (max-width: 1199.98px) {
	.ct-header [data-row*="middle"],
	header[data-header] [data-row*="middle"] {
		padding-top: 18px !important;
		padding-bottom: 6px !important;
	}
}

/* ============================================================
   Brand archive pages — keep the brand's own hero image visible
   (Selkirk red diagonals, etc.). We just harden text contrast so
   the description doesn't disappear on top of it.
   ============================================================ */
/* Inner pages: replace Blocksy's mint header strip with a dark premium bar. */
body:not(.home) .ct-header,
body:not(.home) header[data-header],
body:not(.home) #header {
	background: #0E1113 !important;
}

body:not(.home) .ct-header [data-row*="middle"],
body:not(.home) .ct-header [data-transparent-row="yes"][data-row*="middle"] {
	background-color: #0E1113 !important;
	background-image:
		linear-gradient(90deg, rgba(14, 17, 19, 0.98), rgba(31, 39, 41, 0.96)) !important;
	box-shadow: 0 1px 0 rgba(214, 168, 79, 0.12) !important;
}

body:not(.home) .ct-header [data-row*="middle"] > div {
	border-color: transparent !important;
}

body:not(.home) .ct-header [data-id="menu"] > ul > li > a,
body:not(.home) .ct-header [data-id="search"],
body:not(.home) .ct-header [data-id="account"],
body:not(.home) .ct-header [data-id="cart"] {
	--theme-link-initial-color: rgba(247, 243, 234, 0.72) !important;
	--theme-link-hover-color: #D6F800 !important;
	--theme-icon-color: rgba(247, 243, 234, 0.68) !important;
	--theme-icon-hover-color: #D6F800 !important;
}

body:not(.home) .ct-header [data-id="menu"] > ul > li.current-menu-item > a,
body:not(.home) .ct-header [data-id="menu"] > ul > li.current-menu-ancestor > a {
	color: #D6F800 !important;
}

body.tax-product_brand .hero-section .page-title {
	color: #ffffff !important;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: -0.01em;
	text-shadow: 0 3px 16px rgba(0, 0, 0, 0.85), 0 1px 4px rgba(0, 0, 0, 0.9);
}
body.tax-product_brand .hero-section .page-description {
	display: inline-block;
	background: rgba(14, 17, 19, 0.68);
	padding: 0.65rem 1.25rem;
	border-radius: 6px;
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
	margin-top: 0.5rem;
}
body.tax-product_brand .hero-section .page-description,
body.tax-product_brand .hero-section .page-description *,
body.tax-product_brand .hero-section .page-description p {
	color: #ffffff !important;
	font-weight: 500;
	text-shadow: none !important;
	margin: 0;
}
body.tax-product_brand .hero-section .ct-breadcrumbs,
body.tax-product_brand .hero-section .ct-breadcrumbs * {
	color: #ffffff !important;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.85);
}
body.tax-product_brand .hero-section .ct-breadcrumbs a:hover {
	color: #D6A84F !important;
}

/* ============================================================
   Home page — light canvas with intentional dark accent bands.
   Keep Blocksy's default text colors readable everywhere; only
   zero the vertical gap between sibling full-width sections so
   the dark accent bands butt against each other cleanly.
   ============================================================ */
/* ============================================================
   Product category archive heroes: the category image is busy,
   so text needs a darker image wash and stronger contrast.
   ============================================================ */
body.tax-product_cat .hero-section[data-type="type-2"] > figure .ct-media-container:after {
	background:
		linear-gradient(90deg, rgba(14, 17, 19, 0.24), rgba(14, 17, 19, 0.12) 42%, rgba(14, 17, 19, 0.24)),
		rgba(14, 17, 19, 0.06) !important;
}

body.tax-product_cat .hero-section .page-title {
	color: #ffffff !important;
	font-weight: 900;
	letter-spacing: -0.01em;
	text-shadow: 0 4px 22px rgba(0, 0, 0, 0.9), 0 1px 4px rgba(0, 0, 0, 0.95);
}

body.tax-product_cat .hero-section .page-description {
	display: inline-block;
	background: rgba(14, 17, 19, 0.74);
	padding: 0.55rem 1rem;
	border: 1px solid rgba(214, 168, 79, 0.36);
	border-radius: 6px;
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
	margin-top: 0.75rem;
	box-shadow: 0 14px 36px rgba(0, 0, 0, 0.28);
}

body.tax-product_cat .hero-section .page-description,
body.tax-product_cat .hero-section .page-description *,
body.tax-product_cat .hero-section .page-description p {
	color: #ffffff !important;
	font-size: clamp(1rem, 1.2vw, 1.15rem);
	font-weight: 700;
	line-height: 1.45;
	text-shadow: none !important;
	margin: 0;
}

body.tax-product_cat .hero-section .ct-breadcrumbs,
body.tax-product_cat .hero-section .ct-breadcrumbs * {
	color: rgba(247, 243, 234, 0.9) !important;
	font-weight: 700;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.9);
}

body.tax-product_cat .hero-section .ct-breadcrumbs a:hover {
	color: #D6A84F !important;
}

/* Main shop archive hero: use the court image instead of a flat black panel. */
body.woocommerce-shop .hero-section[data-type="type-2"] {
	background-color: #0E1113 !important;
	background-image:
		linear-gradient(90deg, rgba(14, 17, 19, 0.2), rgba(14, 17, 19, 0.08) 48%, rgba(14, 17, 19, 0.2)),
		linear-gradient(180deg, rgba(14, 17, 19, 0.18), rgba(14, 17, 19, 0.06) 52%, rgba(14, 17, 19, 0.24)),
		url("https://picklebola.ph/wp-content/uploads/2026/07/hero.jpg") !important;
	background-position: center 22% !important;
	background-size: cover !important;
	background-repeat: no-repeat !important;
	--container-padding: 92px 0 86px !important;
}

body.woocommerce-shop .hero-section[data-type="type-2"] > figure img,
body.woocommerce-shop[data-prefix="woo_categories"] .hero-section[data-type="type-2"] > figure img {
	object-position: center 22% !important;
}

body.woocommerce-shop[data-prefix="woo_categories"] .hero-section[data-type="type-2"],
body.tax-product_cat[data-prefix="woo_categories"] .hero-section[data-type="type-2"] {
	background-color: transparent !important;
}

body.woocommerce-shop[data-prefix="woo_categories"] .hero-section[data-type="type-2"] > figure,
body.tax-product_cat[data-prefix="woo_categories"] .hero-section[data-type="type-2"] > figure,
body.woocommerce-shop[data-prefix="woo_categories"] .hero-section[data-type="type-2"] > figure .ct-media-container,
body.tax-product_cat[data-prefix="woo_categories"] .hero-section[data-type="type-2"] > figure .ct-media-container,
body.woocommerce-shop[data-prefix="woo_categories"] .hero-section[data-type="type-2"] > figure img,
body.tax-product_cat[data-prefix="woo_categories"] .hero-section[data-type="type-2"] > figure img {
	opacity: 1 !important;
	filter: brightness(1.22) contrast(1.03) saturate(1.04) !important;
}

body.woocommerce-shop[data-prefix="woo_categories"] .hero-section[data-type="type-2"] > figure .ct-media-container:before,
body.tax-product_cat[data-prefix="woo_categories"] .hero-section[data-type="type-2"] > figure .ct-media-container:before,
body.woocommerce-shop[data-prefix="woo_categories"] .hero-section[data-type="type-2"] > figure .ct-media-container:after,
body.tax-product_cat[data-prefix="woo_categories"] .hero-section[data-type="type-2"] > figure .ct-media-container:after {
	background: rgba(14, 17, 19, 0.08) !important;
	opacity: 1 !important;
}

body.woocommerce-shop .hero-section .page-title {
	color: #ffffff !important;
	font-weight: 900;
	letter-spacing: -0.01em;
	text-shadow: 0 4px 24px rgba(0, 0, 0, 0.88), 0 1px 4px rgba(0, 0, 0, 0.95);
}

body.woocommerce-shop .hero-section .ct-breadcrumbs,
body.woocommerce-shop .hero-section .ct-breadcrumbs * {
	color: rgba(247, 243, 234, 0.9) !important;
	font-weight: 700;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.88);
}

body.woocommerce-shop .hero-section .ct-breadcrumbs a:hover {
	color: #D6A84F !important;
}

body.home .wp-site-blocks > * + *,
body.home article.page > * + *,
body.home .entry-content > * + *,
body.home .ct-container > * + * {
	margin-block-start: 0 !important;
}

/* ============================================================
   Homepage — Shop by Category / Brand tiles
   Sections are transparent so the custom body BG shows through.
   ============================================================ */
.pbg-shop-by-category {
	color: #ffffff;
	margin: 0 !important;
}
.pbg-shop-by-brand {
	margin: 0 !important;
}
.pbg-cat-tile:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.6) !important;
}

/* ============================================================
   Primary nav — Shop dropdown group headers
   .pbg-menu-header items are labels, not real destinations.
   ============================================================ */
.ct-header-menu .pbg-menu-header > a,
.pbg-menu-header > a {
	pointer-events: none;
	color: rgba(255, 255, 255, 0.5) !important;
	font-size: 0.75rem !important;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	font-weight: 700;
	padding-top: 0.75rem !important;
	padding-bottom: 0.25rem !important;
	cursor: default;
}
.pbg-menu-header + li > a {
	padding-top: 0.4rem !important;
}

:root {
	--pbg-green: #256B53;
	--pbg-green-bright: #8FD14F;
	--pbg-gold: #D6A84F;
	--pbg-ink: #0E1113;
	--pbg-charcoal: #20272A;
	--pbg-graphite: #2B3438;
	--pbg-paper: #D8CEBA;
	--pbg-mist: #EEF2EA;
	--pbg-max: 1200px;
}

/* ============================================================
   Global page background — warm retail canvas. Dark sports
   texture is reserved for individual accent bands.
   ============================================================ */
body,
.wp-site-blocks {
	background-color: var(--pbg-paper) !important;
	background-image: none !important;
}

/* ============================================================
   Hero — sporty, bold, dark background with yellow accents
   ============================================================ */
/* Sitewide readable links on the warm paper canvas. */
.site-main a:not(.button):not(.wp-block-button__link):not(.site-logo-container):not(.ct-media-container),
.entry-content a:not(.button):not(.wp-block-button__link):not(.site-logo-container):not(.ct-media-container),
.site-main .woocommerce a:not(.button):not(.wp-block-button__link):not(.site-logo-container):not(.ct-media-container) {
	color: #1F6B55 !important;
	text-decoration-color: rgba(31, 107, 85, 0.36);
	text-underline-offset: 0.18em;
}

.site-main a:not(.button):not(.wp-block-button__link):not(.site-logo-container):not(.ct-media-container):hover,
.entry-content a:not(.button):not(.wp-block-button__link):not(.site-logo-container):not(.ct-media-container):hover,
.site-main .woocommerce a:not(.button):not(.wp-block-button__link):not(.site-logo-container):not(.ct-media-container):hover {
	color: #0E1113 !important;
	text-decoration-color: rgba(14, 17, 19, 0.46);
}

body.single-product .ct-breadcrumbs,
body.single-product .ct-breadcrumbs *,
body.woocommerce-page .ct-breadcrumbs,
body.woocommerce-page .ct-breadcrumbs * {
	color: #56615D !important;
	font-weight: 700;
	text-shadow: none !important;
}

body.single-product .ct-breadcrumbs a,
body.woocommerce-page .ct-breadcrumbs a {
	color: #1F6B55 !important;
	text-decoration: none !important;
}

body.single-product .ct-breadcrumbs a:hover,
body.woocommerce-page .ct-breadcrumbs a:hover {
	color: #0E1113 !important;
}

body.single-product .ct-breadcrumbs .ct-separator,
body.woocommerce-page .ct-breadcrumbs .ct-separator {
	color: #817767 !important;
}

body.single-product .entry-summary,
body.single-product .entry-summary p,
body.single-product .entry-summary .stock,
body.single-product .product_meta {
	color: #3C4644 !important;
}

body.single-product .entry-summary .entry-title {
	color: #111719 !important;
}

body.single-product .entry-summary .price,
body.single-product .entry-summary .price .amount {
	color: #26323A !important;
}

body.woocommerce-page .hero-section .ct-breadcrumbs,
body.woocommerce-page .hero-section .ct-breadcrumbs * {
	color: rgba(247, 243, 234, 0.9) !important;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.88) !important;
}

body.woocommerce-page .hero-section .ct-breadcrumbs a:hover {
	color: #D6A84F !important;
}

/* Sitewide polish: links, forms, account modal, and account/cart surfaces. */
.ct-footer,
.ct-footer p,
.ct-footer .ct-widget {
	color: rgba(247, 243, 234, 0.68) !important;
}

.ct-footer a,
.ct-footer .ct-widget a,
.ct-footer [data-id="copyright"] a {
	color: rgba(247, 243, 234, 0.76) !important;
	text-decoration: none !important;
}

.ct-footer a:hover,
.ct-footer .ct-widget a:hover,
.ct-footer [data-id="copyright"] a:hover {
	color: #D6F800 !important;
}

.ct-footer strong,
.ct-footer b {
	color: rgba(247, 243, 234, 0.92) !important;
}

.pbg-about-hero a,
.pbg-about-band a,
.pbg-contact-hero a,
.pbg-contact-band a,
.pbg-shop-by-category a,
.pbg-shop-by-brand a,
.pbg-cta a {
	color: #D6F800 !important;
	text-decoration-color: rgba(214, 248, 0, 0.5) !important;
}

.pbg-about-hero a:hover,
.pbg-about-band a:hover,
.pbg-contact-hero a:hover,
.pbg-contact-band a:hover,
.pbg-shop-by-category a:hover,
.pbg-shop-by-brand a:hover,
.pbg-cta a:hover {
	color: #ffffff !important;
}

input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
select,
textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
	background-color: rgba(255, 255, 255, 0.42) !important;
	border-color: rgba(60, 70, 68, 0.3) !important;
	color: #111719 !important;
	box-shadow: none !important;
}

input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):focus,
select:focus,
textarea:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
	background-color: rgba(255, 255, 255, 0.68) !important;
	border-color: #256B53 !important;
	box-shadow: 0 0 0 3px rgba(37, 107, 83, 0.14) !important;
}

.woocommerce-account .site-main,
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main {
	color: #26323A !important;
}

.woocommerce-account .woocommerce,
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
	--theme-text-color: #3C4644;
	--theme-link-initial-color: #1F6B55;
	--theme-link-hover-color: #0E1113;
}

.woocommerce-account .woocommerce-MyAccount-navigation a,
.woocommerce-account .woocommerce-MyAccount-content a,
.woocommerce-cart .woocommerce a:not(.button),
.woocommerce-checkout .woocommerce a:not(.button) {
	color: #1F6B55 !important;
	text-decoration-color: rgba(31, 107, 85, 0.34) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-content a:hover,
.woocommerce-cart .woocommerce a:not(.button):hover,
.woocommerce-checkout .woocommerce a:not(.button):hover {
	color: #0E1113 !important;
}

#account-modal {
	background: rgba(5, 8, 9, 0.76) !important;
	backdrop-filter: blur(7px);
	-webkit-backdrop-filter: blur(7px);
}

#account-modal .ct-account-modal {
	background:
		linear-gradient(145deg, rgba(14, 17, 19, 0.98), rgba(32, 39, 42, 0.98)) !important;
	border: 1px solid rgba(214, 168, 79, 0.22) !important;
	border-radius: 8px !important;
	box-shadow: 0 30px 90px rgba(0, 0, 0, 0.58) !important;
	color: rgba(247, 243, 234, 0.82) !important;
}

#account-modal .ct-account-modal *,
#account-modal .ct-account-modal label {
	color: rgba(247, 243, 234, 0.78) !important;
}

#account-modal .ct-account-modal ul,
#account-modal .ct-account-modal .ct-account-modal-actions {
	border-color: rgba(214, 168, 79, 0.18) !important;
}

#account-modal .ct-account-modal li,
#account-modal .ct-account-modal [role="tab"] {
	background: rgba(255, 255, 255, 0.03) !important;
	color: rgba(247, 243, 234, 0.56) !important;
	font-weight: 800 !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

#account-modal .ct-account-modal li.active,
#account-modal .ct-account-modal [role="tab"][aria-selected="true"] {
	background: rgba(214, 168, 79, 0.15) !important;
	color: #ffffff !important;
}

#account-modal .ct-account-modal input:not([type="checkbox"]):not([type="radio"]),
#account-modal .ct-account-modal textarea {
	background: rgba(255, 255, 255, 0.06) !important;
	border: 1px solid rgba(247, 243, 234, 0.24) !important;
	color: #ffffff !important;
	border-radius: 6px !important;
}

#account-modal .ct-account-modal input:not([type="checkbox"]):not([type="radio"]):focus,
#account-modal .ct-account-modal textarea:focus {
	background: rgba(255, 255, 255, 0.1) !important;
	border-color: #D6F800 !important;
	box-shadow: 0 0 0 3px rgba(214, 248, 0, 0.12) !important;
}

#account-modal .ct-account-modal input[type="checkbox"] {
	accent-color: #256B53;
}

#account-modal .ct-account-modal a,
#account-modal .ct-forgot-password,
#account-modal .ct-back-to-login {
	color: #D6F800 !important;
	text-decoration: none !important;
}

#account-modal .ct-account-modal a:hover,
#account-modal .ct-forgot-password:hover,
#account-modal .ct-back-to-login:hover {
	color: #ffffff !important;
}

#account-modal .ct-account-modal button,
#account-modal .ct-account-modal .ct-button,
#account-modal .ct-account-login-submit {
	background: #256B53 !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 6px !important;
	font-weight: 800 !important;
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.28) !important;
}

#account-modal .ct-account-modal button:hover,
#account-modal .ct-account-modal .ct-button:hover,
#account-modal .ct-account-login-submit:hover {
	background: #1F5E49 !important;
	color: #ffffff !important;
}

#account-modal .close-button,
#account-modal .ct-toggle-close {
	color: rgba(247, 243, 234, 0.88) !important;
	--theme-icon-color: rgba(247, 243, 234, 0.88) !important;
}

body [data-header*="type-1"] #account-modal,
body #account-modal.ct-panel {
	background: rgba(5, 8, 9, 0.82) !important;
	backdrop-filter: blur(7px);
}

body [data-header*="type-1"] #account-modal .ct-account-modal,
body #account-modal.ct-panel .ct-account-modal {
	background:
		linear-gradient(145deg, rgba(14, 17, 19, 0.98), rgba(31, 38, 40, 0.98)) !important;
	border: 1px solid rgba(214, 168, 79, 0.26) !important;
	border-radius: 8px !important;
	box-shadow: 0 32px 90px rgba(0, 0, 0, 0.62) !important;
	color: rgba(247, 243, 234, 0.86) !important;
}

body [data-header*="type-1"] #account-modal .ct-account-modal li.active,
body [data-header*="type-1"] #account-modal .ct-account-modal [role="tab"][aria-selected="true"],
body #account-modal.ct-panel .ct-account-modal li.active,
body #account-modal.ct-panel .ct-account-modal [role="tab"][aria-selected="true"] {
	background: rgba(214, 168, 79, 0.14) !important;
	color: #f7f3ea !important;
}

body [data-header*="type-1"] #account-modal .ct-account-modal input:not([type="checkbox"]):not([type="radio"]),
body [data-header*="type-1"] #account-modal .ct-account-modal textarea,
body #account-modal.ct-panel .ct-account-modal input:not([type="checkbox"]):not([type="radio"]),
body #account-modal.ct-panel .ct-account-modal textarea {
	background: rgba(247, 243, 234, 0.06) !important;
	border-color: rgba(247, 243, 234, 0.34) !important;
	color: #f7f3ea !important;
}

body [data-header*="type-1"] #account-modal .ct-account-modal button,
body [data-header*="type-1"] #account-modal .ct-account-modal .ct-button,
body #account-modal.ct-panel .ct-account-modal button,
body #account-modal.ct-panel .ct-account-modal .ct-button {
	background: #256b53 !important;
	border-color: #256b53 !important;
	color: #ffffff !important;
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.32) !important;
}

body [data-header*="type-1"] #account-modal .ct-account-modal a,
body #account-modal.ct-panel .ct-account-modal a {
	color: #d6f800 !important;
}

.pbg-hero {
	color: #ffffff;
	padding: 4rem 1.5rem;
}
.pbg-hero .wp-block-cover__inner-container {
	max-width: var(--pbg-max);
	margin: 0 auto;
}
.pbg-hero__eyebrow {
	color: var(--pbg-gold) !important;
	font-weight: 700;
	letter-spacing: 0.24em;
	font-size: 0.85rem;
	text-transform: uppercase;
	margin: 0 0 1.5rem;
}
.pbg-hero__title {
	color: #ffffff !important;
	font-size: clamp(3rem, 10vw, 7rem);
	font-weight: 900;
	letter-spacing: -0.02em;
	line-height: 0.95;
	text-transform: uppercase;
	margin: 0 0 1.5rem;
}
.pbg-hero__lede {
	color: rgba(255,255,255,0.85);
	font-size: clamp(1.05rem, 1.6vw, 1.35rem);
	max-width: 640px;
	margin: 0 auto 2rem;
	line-height: 1.55;
}
.pbg-hero__cta {
	gap: 1rem;
}

/* ============================================================
   Buttons — sporty, chunky
   ============================================================ */
.pbg-btn .wp-block-button__link {
	font-weight: 700;
	font-size: 1.05rem;
	padding: 1rem 2rem;
	border-radius: 8px;
	border: 2px solid transparent;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.pbg-btn--primary .wp-block-button__link {
	background-color: var(--pbg-green);
	color: #ffffff;
}
.pbg-btn--primary .wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(37, 107, 83, 0.3);
}
.pbg-btn--ghost .wp-block-button__link {
	background-color: transparent;
	color: #ffffff;
	border-color: rgba(255, 255, 255, 0.4);
}
.pbg-btn--ghost .wp-block-button__link:hover {
	background-color: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.9);
}
.pbg-btn--secondary .wp-block-button__link {
	background-color: var(--pbg-green);
	color: #ffffff;
}
.pbg-btn--secondary .wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
}

@media (max-width: 689.98px) {
	html,
	body {
		max-width: 100%;
		overflow-x: hidden;
	}

	body.home .wp-block-group.alignfull,
	body.home .wp-block-cover.alignfull {
		box-sizing: border-box;
		width: 100%;
		max-width: 100vw;
	}

	body.home .wp-block-columns,
	body.home .wp-block-column {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	body.home .wp-block-columns {
		display: block !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	body.home .wp-block-column {
		flex-basis: auto !important;
		flex-grow: 0 !important;
		margin-bottom: 1.75rem;
	}

	body.home .wp-block-column p,
	body.home .wp-block-column h1,
	body.home .wp-block-column h2,
	body.home .wp-block-column h3,
	body.home .wp-block-column h4 {
		overflow-wrap: anywhere;
	}

	.pbg-hero {
		padding-inline: 1.35rem !important;
	}

	body.home .wp-block-cover:first-of-type {
		overflow: hidden;
		padding-left: 1.35rem !important;
		padding-right: 1.35rem !important;
	}

	body.home .wp-block-cover:first-of-type .wp-block-cover__inner-container {
		width: 100% !important;
		max-width: calc(100vw - 2.7rem) !important;
	}

	body.home .wp-block-cover:first-of-type .wp-block-cover__inner-container > p:first-child {
		box-sizing: border-box;
		display: block !important;
		width: 100% !important;
		max-width: 21rem !important;
		margin-left: auto !important;
		margin-right: auto !important;
		font-size: 0.62rem !important;
		letter-spacing: 0.11em !important;
		line-height: 1.45 !important;
		white-space: normal !important;
		overflow-wrap: break-word !important;
		text-align: center !important;
	}

	body.home .wp-block-cover:first-of-type .wp-block-group[style*="max-width:440px"] {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 21rem !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	body.home .wp-block-cover:first-of-type h1 {
		white-space: normal !important;
	}

	body.home .wp-block-cover:first-of-type .wp-block-buttons {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		width: 100% !important;
		max-width: 17rem !important;
		gap: 0.85rem !important;
		margin-left: 0 !important;
		margin-right: auto !important;
	}

	body.home .wp-block-cover:first-of-type .wp-block-button,
	body.home .wp-block-cover:first-of-type .wp-block-button__link {
		box-sizing: border-box;
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	body.home .wp-block-cover:first-of-type .wp-block-button__link {
		padding: 0.9rem 0.75rem !important;
		font-size: 0.8rem !important;
		line-height: 1.2 !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
		text-align: center !important;
	}

	.pbg-hero__eyebrow {
		font-size: 0.72rem !important;
		letter-spacing: 0.18em !important;
		line-height: 1.55 !important;
		max-width: 100% !important;
		overflow-wrap: anywhere;
	}

	.pbg-hero__cta {
		display: grid !important;
		grid-template-columns: 1fr;
		gap: 0.85rem !important;
		width: 100%;
		max-width: 240px;
		margin-inline: 0 !important;
	}

	.pbg-hero__cta .wp-block-button,
	.pbg-hero__cta .wp-block-button__link {
		width: 100%;
	}

	.pbg-hero__cta .wp-block-button__link {
		padding: 0.95rem 1rem !important;
		font-size: 0.88rem !important;
		line-height: 1.2 !important;
		white-space: normal !important;
		text-align: center;
	}
}

@media (max-width: 999.98px) {
	body.home .entry-content > .wp-block-group.alignfull > .wp-block-columns {
		box-sizing: border-box;
		display: block !important;
		width: 100% !important;
		max-width: calc(100vw - 3rem) !important;
		min-width: 0 !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	body.home .entry-content > .wp-block-group.alignfull > .wp-block-columns > .wp-block-column {
		box-sizing: border-box;
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		flex-basis: auto !important;
		margin-bottom: 1.75rem;
	}

	body.home .entry-content > .wp-block-group.alignfull > .wp-block-columns > .wp-block-column p,
	body.home .entry-content > .wp-block-group.alignfull > .wp-block-columns > .wp-block-column h4 {
		max-width: 100% !important;
		white-space: normal !important;
		overflow-wrap: break-word !important;
	}
}

/* ============================================================
   Featured products section
   ============================================================ */
.pbg-featured {
	padding: 5rem 1.5rem;
	max-width: var(--pbg-max);
	margin: 0 auto;
	background: var(--pbg-paper);
}
.pbg-section-title {
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: -0.01em;
	margin: 0 0 1rem;
	color: var(--pbg-ink);
}
.pbg-section-lede {
	color: rgba(11, 11, 11, 0.7);
	font-size: 1.1rem;
	margin: 0 auto 3rem;
	max-width: 560px;
}

/* ============================================================
   Value strip
   ============================================================ */
.pbg-values {
	padding: 5rem 1.5rem;
}
.pbg-value__title {
	font-size: 1.35rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: var(--pbg-green);
	margin: 0 0 0.75rem;
	position: relative;
	padding-left: 1rem;
}
.pbg-value__title::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.35em;
	width: 4px;
	height: 1em;
	background: var(--pbg-gold);
	border-radius: 2px;
}

.pbg-values p,
body.home .entry-content > .wp-block-columns p {
	color: #2F3635 !important;
	font-size: clamp(0.96rem, 1vw, 1.03rem) !important;
	line-height: 1.7 !important;
	font-weight: 500;
}

/* ============================================================
   CTA strip (green)
   ============================================================ */
.pbg-cta {
	padding: 3rem 1.5rem;
}
.pbg-cta__title {
	color: #ffffff !important;
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: -0.01em;
	margin: 0 0 0.75rem;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}
.pbg-cta__lede {
	color: #ffffff;
	font-size: 1.15rem;
	margin: 0 auto 2rem;
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.5);
}
/* NOTE: previously forced .wp-block-cover p.has-text-align-center to white,
   but that stomped on inline colours set per-block by the editor.
   Removed — each cover block should style its own text inline. */

/* ============================================================
   Ready-to-Gear-Up CTA — override green overlay with Ink black.
   Nuke the built-in Cover block dim so text renders at full
   opacity, not the default half-transparent Gutenberg tint.
   ============================================================ */
body.home .wp-block-cover.pbg-cta,
body.home .pbg-cta {
	background: var(--pbg-charcoal) !important;
	position: relative;
}
body.home .wp-block-cover.pbg-cta .wp-block-cover__background-dim,
body.home .pbg-cta .wp-block-cover__background-dim,
body.home .wp-block-cover.pbg-cta::before,
body.home .pbg-cta::before {
	background: var(--pbg-charcoal) !important;
	opacity: 1 !important;
	display: none !important;
}
body.home .pbg-cta .wp-block-cover__inner-container,
body.home .pbg-cta .wp-block-cover__inner-container * {
	color: #ffffff !important;
	opacity: 1 !important;
	filter: none !important;
	mix-blend-mode: normal !important;
}
body.home .pbg-cta .pbg-cta__title,
body.home .pbg-cta h1,
body.home .pbg-cta h2 {
	color: #ffffff !important;
	opacity: 1 !important;
	text-shadow: none !important;
}
body.home .pbg-cta .pbg-cta__lede,
body.home .pbg-cta p {
	color: #ffffff !important;
	opacity: 0.92 !important;
}

/* ============================================================
   Featured products fallback if no products yet
   ============================================================ */
.pbg-featured .woocommerce-info,
.pbg-featured .woocommerce-notice--info {
	background: var(--pbg-paper);
	border-left: 4px solid var(--pbg-gold);
	padding: 1.5rem;
	border-radius: 4px;
	color: var(--pbg-ink);
}

/* ============================================================
   Homepage color pass — overrides older inline block colours.
   ============================================================ */
body.home .entry-content > .wp-block-group[style*="#F7F7F5"],
body.home #featured {
	background: var(--pbg-paper) !important;
	color: var(--pbg-ink) !important;
	padding-top: 2.75rem !important;
	padding-bottom: 3.25rem !important;
	position: relative;
	z-index: 0;
}

body.home #featured::before {
	content: "";
	position: absolute;
	top: -28px;
	right: 0;
	left: 0;
	height: 28px;
	background: var(--pbg-paper);
	pointer-events: none;
}

body.home #featured h1,
body.home #featured h2,
body.home #featured h3,
body.home #featured p,
body.home #featured a:not(.button) {
	color: var(--pbg-ink) !important;
	text-shadow: none !important;
}

body.home #featured p {
	color: rgba(14, 17, 19, 0.72) !important;
	margin-bottom: 1.35rem !important;
}

body.home #featured [data-products] .product .price,
body.home [data-products] .product .price,
body.woocommerce [data-products] .product .price,
.woocommerce ul.products li.product .price {
	color: #26323A !important;
	font-size: clamp(1.05rem, 1.15vw, 1.18rem) !important;
	font-weight: 800 !important;
	letter-spacing: 0.01em;
}

body.home #featured [data-products] .product .price .amount,
body.home [data-products] .product .price .amount,
body.woocommerce [data-products] .product .price .amount,
.woocommerce ul.products li.product .price .amount {
	color: inherit !important;
	font-weight: inherit !important;
}

body.home #featured [data-products] .product .woocommerce-loop-product__title,
body.home [data-products] .product .woocommerce-loop-product__title,
body.woocommerce [data-products] .product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.home #featured [data-products] .product .woocommerce-loop-product__title a,
body.home [data-products] .product .woocommerce-loop-product__title a,
body.woocommerce [data-products] .product .woocommerce-loop-product__title a,
.woocommerce ul.products li.product .woocommerce-loop-product__title a {
	color: #006B54 !important;
	font-weight: 800 !important;
	text-decoration: none !important;
}

body.home #featured [data-products] .product .woocommerce-loop-product__title:hover,
body.home [data-products] .product .woocommerce-loop-product__title:hover,
body.woocommerce [data-products] .product .woocommerce-loop-product__title:hover,
.woocommerce ul.products li.product .woocommerce-loop-product__title:hover,
body.home #featured [data-products] .product .woocommerce-loop-product__title a:hover,
body.home [data-products] .product .woocommerce-loop-product__title a:hover,
body.woocommerce [data-products] .product .woocommerce-loop-product__title a:hover,
.woocommerce ul.products li.product .woocommerce-loop-product__title a:hover {
	color: #0E1113 !important;
}

body.home #featured .woocommerce,
body.home #featured [data-products],
body.home #featured ul.products {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.home #featured [data-products] {
	row-gap: 2rem !important;
}

body.home #featured [data-products] .product figure {
	margin-bottom: 1rem !important;
}

body.home .wp-block-cover[style*="min-height:40vh"],
body.home .pbg-shop-by-category,
body.home .pbg-shop-by-brand {
	background: var(--pbg-charcoal) !important;
}

body.home .wp-block-cover[style*="min-height:40vh"] {
	min-height: 34vh !important;
	padding-top: 3.5rem !important;
	padding-bottom: 3.5rem !important;
	border-bottom: 1px solid rgba(214, 168, 79, 0.1);
}

body.home .wp-block-cover[style*="min-height:40vh"] + .wp-block-group.pbg-shop-by-category {
	margin-top: -1px !important;
}

body.home .entry-content:has(.pbg-shop-by-category) {
	background: var(--pbg-charcoal) !important;
}

body.home .entry-content > .wp-block-group[style*="#D8CEBA"],
body.home .entry-content > .wp-block-group[style*="#E8E1D3"],
body.home .entry-content > .wp-block-group[style*="#F4F1E8"],
body.home #featured {
	background: var(--pbg-paper) !important;
}

body.home .pbg-shop-by-category {
	padding-top: 3.75rem !important;
	padding-bottom: 4rem !important;
	margin-top: 0 !important;
	border-top: 0 !important;
}

body.home .pbg-shop-by-brand {
	padding-top: 3rem !important;
	padding-bottom: 2.75rem !important;
	margin-top: 0 !important;
}

body.home .wp-block-cover[style*="min-height:40vh"] .wp-block-cover__background,
body.home .wp-block-cover[style*="min-height:40vh"] .wp-block-cover__background-dim {
	background: var(--pbg-charcoal) !important;
}

body.home .wp-block-button__link[style*="#FFC107"] {
	background-color: var(--pbg-green) !important;
	color: #ffffff !important;
	box-shadow: 0 10px 24px rgba(37, 107, 83, 0.28);
}

body.home [style*="#FFC107"]:not(.wp-block-button__link) {
	color: var(--pbg-gold) !important;
}

body.home .wp-block-cover[style*="min-height:40vh"] h2 {
	color: #ffffff !important;
	text-shadow: none !important;
}

body.home .wp-block-cover[style*="min-height:40vh"] p {
	color: rgba(255, 255, 255, 0.78) !important;
	text-shadow: none !important;
}

body.home .pbg-shop-by-category h2,
body.home .pbg-shop-by-brand h2 {
	color: #ffffff !important;
	text-shadow: none !important;
}

body.home .pbg-shop-by-category h2 {
	margin-bottom: 2rem !important;
}

body.home .pbg-shop-by-brand h2 {
	margin-bottom: 1.75rem !important;
}

body.home .pbg-shop-by-category p,
body.home .pbg-shop-by-brand p {
	color: var(--pbg-gold) !important;
	text-shadow: none !important;
}

body.home .entry-content > .wp-block-group.alignfull.has-background[style*="#D8CEBA"] + .wp-block-group.pbg-shop-by-category,
body.home .entry-content > .wp-block-group.alignfull.has-background[style*="#E8E1D3"] + .wp-block-group.pbg-shop-by-category,
body.home .wp-block-cover[style*="min-height:40vh"] + .wp-block-group.pbg-shop-by-category {
	margin-block-start: 0 !important;
}

body.home footer.ct-footer {
	border-top: 1px solid rgba(214, 168, 79, 0.08);
}

/* ============================================================
   About page
   ============================================================ */
body.page-id-16 .site-main {
	background: var(--pbg-paper);
}

body.page-id-690 .site-main {
	background: var(--pbg-paper);
}

body.page-id-16 .entry-content.is-layout-constrained > .pbg-about-hero,
body.page-id-16 .entry-content.is-layout-constrained > .pbg-about-band,
body.page-id-690 .entry-content.is-layout-constrained > .pbg-contact-hero,
body.page-id-690 .entry-content.is-layout-constrained > .pbg-contact-band {
	max-width: none !important;
	width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

body.page-id-16 .ct-header [data-row*="middle"] .ct-container,
body.page-id-690 .ct-header [data-row*="middle"] .ct-container {
	padding-inline: clamp(1.5rem, 4vw, 4.5rem);
}

/* About + Contact: keep header and Shop dropdown in the same approved green family. */
body.page-id-16 .ct-header [data-id="menu"] > ul > li > a:hover,
body.page-id-16 .ct-header [data-id="menu"] > ul > li.current-menu-item > a,
body.page-id-16 .ct-header [data-id="menu"] > ul > li.current-menu-ancestor > a,
body.page-id-690 .ct-header [data-id="menu"] > ul > li > a:hover,
body.page-id-690 .ct-header [data-id="menu"] > ul > li.current-menu-item > a,
body.page-id-690 .ct-header [data-id="menu"] > ul > li.current-menu-ancestor > a,
body.page-id-16 .ct-header [data-id="search"]:hover,
body.page-id-16 .ct-header [data-id="account"]:hover,
body.page-id-16 .ct-header [data-id="cart"]:hover,
body.page-id-690 .ct-header [data-id="search"]:hover,
body.page-id-690 .ct-header [data-id="account"]:hover,
body.page-id-690 .ct-header [data-id="cart"]:hover {
	color: #D6F800 !important;
	--theme-link-hover-color: #D6F800 !important;
	--theme-icon-hover-color: #D6F800 !important;
	--theme-icon-color: #D6F800 !important;
}

body.page-id-16 .ct-header .sub-menu,
body.page-id-16 .ct-header .ct-header-menu .sub-menu,
body.page-id-690 .ct-header .sub-menu,
body.page-id-690 .ct-header .ct-header-menu .sub-menu {
	background: rgba(8, 10, 11, 0.98) !important;
	border: 1px solid rgba(214, 168, 79, 0.12) !important;
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.38) !important;
}

body.page-id-16 .ct-header .sub-menu a,
body.page-id-16 .ct-header .ct-header-menu .sub-menu a,
body.page-id-690 .ct-header .sub-menu a,
body.page-id-690 .ct-header .ct-header-menu .sub-menu a {
	color: rgba(247, 243, 234, 0.76) !important;
	--theme-link-initial-color: rgba(247, 243, 234, 0.76) !important;
	--theme-link-hover-color: #D6F800 !important;
	text-decoration: none !important;
}

body.page-id-16 .ct-header .sub-menu a:hover,
body.page-id-16 .ct-header .ct-header-menu .sub-menu a:hover,
body.page-id-16 .ct-header .sub-menu .current-menu-item > a,
body.page-id-16 .ct-header .sub-menu .current-menu-ancestor > a,
body.page-id-690 .ct-header .sub-menu a:hover,
body.page-id-690 .ct-header .ct-header-menu .sub-menu a:hover,
body.page-id-690 .ct-header .sub-menu .current-menu-item > a,
body.page-id-690 .ct-header .sub-menu .current-menu-ancestor > a {
	color: #D6F800 !important;
}

.pbg-about-hero,
.pbg-contact-hero {
	background:
		linear-gradient(112deg, rgba(14,17,19,0.98), rgba(31,39,41,0.94)),
		radial-gradient(circle at 18% 8%, rgba(216,248,0,0.12), transparent 26%),
		linear-gradient(90deg, rgba(214,168,79,0.12), transparent 42%);
	color: #ffffff;
	padding: clamp(8rem, 11vw, 9.5rem) 1.5rem clamp(4rem, 7vw, 5.5rem);
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
	border-bottom: 1px solid rgba(214,168,79,0.16);
}

.pbg-about-inner,
.pbg-contact-inner {
	max-width: 1060px;
	margin: 0 auto;
}

.pbg-about-kicker,
.pbg-contact-kicker {
	color: var(--pbg-gold);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	margin: 0 0 1rem;
}

.pbg-about-hero h1,
.pbg-contact-hero h1 {
	color: #ffffff;
	font-size: clamp(2.65rem, 5vw, 4.35rem);
	font-weight: 900;
	line-height: 1.02;
	letter-spacing: 0;
	margin: 0 0 1.25rem;
	max-width: 840px;
}

.pbg-about-lede,
.pbg-contact-lede {
	color: rgba(255,255,255,0.82);
	font-size: clamp(1.08rem, 1.6vw, 1.28rem);
	line-height: 1.7;
	max-width: 760px;
	margin: 0;
}

.pbg-about-band,
.pbg-contact-band {
	padding: clamp(3.25rem, 5.5vw, 5rem) 1.5rem;
	background: var(--pbg-paper);
	color: #2F3635;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
}

.pbg-about-band.is-dark,
.pbg-contact-band.is-dark {
	background:
		linear-gradient(135deg, rgba(14,17,19,0.98), rgba(31,39,41,0.96)),
		radial-gradient(circle at 90% 20%, rgba(214,168,79,0.1), transparent 30%);
	color: rgba(255,255,255,0.78);
	border-block: 1px solid rgba(214,168,79,0.12);
}

.pbg-about-band h2,
.pbg-contact-band h2 {
	color: var(--pbg-ink);
	font-size: clamp(2rem, 4vw, 3.2rem);
	font-weight: 900;
	line-height: 1;
	margin: 0 0 1rem;
}

.pbg-about-band.is-dark h2,
.pbg-contact-band.is-dark h2 {
	color: #ffffff;
}

.pbg-about-copy,
.pbg-contact-copy {
	color: #35403D;
	font-size: clamp(1rem, 1.15vw, 1.1rem);
	line-height: 1.75;
	max-width: 780px;
}

.pbg-about-copy a,
.pbg-contact-copy a,
.pbg-contact-email {
	color: #1F5A46 !important;
	font-weight: 800;
	text-decoration: underline;
	text-decoration-color: rgba(214,168,79,0.75);
	text-decoration-thickness: 0.12em;
	text-underline-offset: 0.16em;
}

.pbg-about-copy a:hover,
.pbg-contact-copy a:hover,
.pbg-contact-email:hover {
	color: #143D31 !important;
	text-decoration-color: #D6A84F;
}

.pbg-about-band.is-dark .pbg-about-copy,
.pbg-contact-band.is-dark .pbg-contact-copy {
	color: rgba(255,255,255,0.78);
}

.pbg-about-grid,
.pbg-contact-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 2rem;
}

.pbg-about-grid.four {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pbg-about-card,
.pbg-contact-card {
	border: 1px solid rgba(14,17,19,0.1);
	background: rgba(255,255,255,0.18);
	border-radius: 8px;
	padding: 1.35rem;
	box-shadow: 0 14px 32px rgba(14,17,19,0.08);
}

.pbg-about-band.is-dark .pbg-about-card,
.pbg-contact-band.is-dark .pbg-contact-card {
	border-color: rgba(214,168,79,0.18);
	background: rgba(255,255,255,0.035);
	box-shadow: 0 18px 36px rgba(0,0,0,0.22);
}

.pbg-about-card h3,
.pbg-contact-card h3 {
	color: var(--pbg-green);
	font-size: 1.05rem;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0 0 0.7rem;
}

.pbg-about-band.is-dark .pbg-about-card h3,
.pbg-contact-band.is-dark .pbg-contact-card h3 {
	color: var(--pbg-gold);
}

.pbg-about-card p,
.pbg-contact-card p {
	color: inherit;
	font-size: 0.96rem;
	line-height: 1.65;
	margin: 0;
}

.pbg-about-statement {
	color: var(--pbg-gold);
	font-size: clamp(1.3rem, 2vw, 1.8rem);
	font-weight: 800;
	line-height: 1.35;
	max-width: 760px;
	margin: 2rem 0 0;
}

.pbg-contact-panel {
	background: rgba(255,255,255,0.22);
	border: 1px solid rgba(14,17,19,0.1);
	border-radius: 8px;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	margin-top: 2rem;
	max-width: 780px;
	box-shadow: 0 18px 40px rgba(14,17,19,0.08);
}

.pbg-contact-panel p {
	margin: 0 0 1rem;
}

.pbg-contact-panel p:last-child {
	margin-bottom: 0;
}

@media (max-width: 900px) {
	.pbg-about-grid,
	.pbg-about-grid.four,
	.pbg-contact-grid {
		grid-template-columns: 1fr;
	}
}

body.home .pbg-shop-by-brand figure.wp-block-image {
	position: relative;
	width: min(420px, calc(100vw - 3rem));
	aspect-ratio: 16 / 9;
	margin: 0 !important;
	display: grid;
	place-items: center;
	border-radius: 12px;
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(255,255,255,0.08), rgba(255,255,255,0) 38%),
		linear-gradient(155deg, #2B3438, #111719 72%);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,0.12),
		inset 0 -22px 40px rgba(0,0,0,0.32),
		0 22px 46px rgba(0,0,0,0.38);
}

body.home .pbg-shop-by-brand figure.wp-block-image::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(115deg, transparent 0 47%, rgba(214, 168, 79, 0.18) 47.4%, transparent 48.4%),
		repeating-linear-gradient(135deg, rgba(255,255,255,0.035) 0 1px, transparent 1px 12px);
	opacity: 0.7;
	pointer-events: none;
}

body.home .pbg-shop-by-brand figure.wp-block-image::after {
	content: "";
	position: absolute;
	inset: 18px;
	border-radius: 9px;
	border: 1px solid rgba(214, 168, 79, 0.22);
	box-shadow: inset 0 0 28px rgba(0,0,0,0.28);
	pointer-events: none;
}

body.home .pbg-shop-by-brand figure.wp-block-image a {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
}

body.home .pbg-shop-by-brand figure.wp-block-image img {
	width: 220px !important;
	max-width: 72% !important;
	height: auto !important;
	padding: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	filter:
		drop-shadow(0 1px 0 rgba(255,255,255,0.22))
		drop-shadow(0 10px 18px rgba(0,0,0,0.48));
	mix-blend-mode: screen;
}

/* Product cards — keep commerce actions visible on the warm canvas. */
body.home [data-products] .product .button,
body.woocommerce [data-products] .product .button,
.woocommerce a.button.add_to_cart_button,
.woocommerce button.button,
.woocommerce input.button {
	background: var(--pbg-green) !important;
	color: #ffffff !important;
	border: 1px solid rgba(14, 17, 19, 0.08) !important;
	box-shadow: 0 8px 18px rgba(37, 107, 83, 0.22);
}

body.home [data-products] .product .button:hover,
body.woocommerce [data-products] .product .button:hover,
.woocommerce a.button.add_to_cart_button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background: #1F5A46 !important;
	color: #ffffff !important;
	transform: translateY(-1px);
	box-shadow: 0 10px 22px rgba(37, 107, 83, 0.3);
}

/* Approved-page readability restore: keep About/Contact copy readable without broad sitewide palette locks. */
.pbg-about-band:not(.is-dark),
.pbg-contact-band:not(.is-dark) {
	background: var(--pbg-paper) !important;
	color: #2F3635 !important;
}

.pbg-about-band:not(.is-dark) .pbg-about-copy,
.pbg-contact-band:not(.is-dark) .pbg-contact-copy,
.pbg-about-band:not(.is-dark) p,
.pbg-contact-band:not(.is-dark) p {
	color: #35403D !important;
}

.pbg-about-band:not(.is-dark) a,
.pbg-contact-band:not(.is-dark) a,
.pbg-contact-email {
	color: #1F6B55 !important;
	text-decoration-color: rgba(31, 107, 85, 0.36) !important;
}

.pbg-about-band:not(.is-dark) a:hover,
.pbg-contact-band:not(.is-dark) a:hover,
.pbg-contact-email:hover {
	color: #0E1113 !important;
	text-decoration-color: rgba(14, 17, 19, 0.46) !important;
}

.pbg-about-band.is-dark,
.pbg-contact-band.is-dark {
	background:
		linear-gradient(135deg, rgba(14,17,19,0.98), rgba(31,39,41,0.96)),
		radial-gradient(circle at 90% 20%, rgba(214,168,79,0.1), transparent 30%) !important;
	color: rgba(247,243,234,0.84) !important;
}

.pbg-about-band.is-dark .pbg-about-copy,
.pbg-contact-band.is-dark .pbg-contact-copy,
.pbg-about-band.is-dark p,
.pbg-contact-band.is-dark p {
	color: rgba(247,243,234,0.84) !important;
}

/* Final approved sitewide nav/footer palette:
   header menu + Shop submenu + footer links stay white by default and lime on hover/current. */
body .ct-header [data-id="menu"] > ul > li > a,
body .ct-header .ct-header-menu > li > a,
body .ct-header [data-id="search"],
body .ct-header [data-id="account"],
body .ct-header [data-id="cart"],
body .ct-header [data-id="trigger"] {
	color: rgba(247, 243, 234, 0.78) !important;
	--theme-link-initial-color: rgba(247, 243, 234, 0.78) !important;
	--theme-link-hover-color: #D6F800 !important;
	--theme-icon-color: rgba(247, 243, 234, 0.74) !important;
	--theme-icon-hover-color: #D6F800 !important;
}

body .ct-header [data-id="menu"] > ul > li > a:hover,
body .ct-header [data-id="menu"] > ul > li.current-menu-item > a,
body .ct-header [data-id="menu"] > ul > li.current-menu-ancestor > a,
body .ct-header .ct-header-menu > li > a:hover,
body .ct-header .ct-header-menu > li.current-menu-item > a,
body .ct-header .ct-header-menu > li.current-menu-ancestor > a,
body .ct-header [data-id="search"]:hover,
body .ct-header [data-id="account"]:hover,
body .ct-header [data-id="cart"]:hover,
body .ct-header [data-id="trigger"]:hover {
	color: #D6F800 !important;
	--theme-link-hover-color: #D6F800 !important;
	--theme-icon-color: #D6F800 !important;
	--theme-icon-hover-color: #D6F800 !important;
}

body .ct-header .sub-menu,
body .ct-header .ct-header-menu .sub-menu {
	background: rgba(8, 10, 11, 0.98) !important;
	border: 1px solid rgba(214, 168, 79, 0.12) !important;
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.38) !important;
}

body .ct-header .sub-menu a,
body .ct-header .ct-header-menu .sub-menu a {
	color: rgba(247, 243, 234, 0.78) !important;
	--theme-link-initial-color: rgba(247, 243, 234, 0.78) !important;
	--theme-link-hover-color: #D6F800 !important;
	text-decoration: none !important;
}

body .ct-header .sub-menu a:hover,
body .ct-header .ct-header-menu .sub-menu a:hover,
body .ct-header .sub-menu .current-menu-item > a,
body .ct-header .sub-menu .current-menu-ancestor > a {
	color: #D6F800 !important;
}

body .ct-footer,
body footer.ct-footer,
body footer.ct-footer .ct-container,
body footer.ct-footer [data-row],
body footer.ct-footer [data-column],
body footer.ct-footer .ct-widget {
	background: #080A0B !important;
	color: rgba(247, 243, 234, 0.70) !important;
}

body .ct-footer h1,
body .ct-footer h2,
body .ct-footer h3,
body .ct-footer h4,
body .ct-footer h5,
body .ct-footer h6,
body .ct-footer .widget-title,
body .ct-footer [class*="widget-title"],
body .ct-footer [data-id*="widget"] .ct-widget-title {
	color: rgba(214, 168, 79, 0.92) !important;
}

body .ct-footer p,
body .ct-footer li,
body .ct-footer span,
body .ct-footer div {
	color: rgba(247, 243, 234, 0.70) !important;
}

body .ct-footer a,
body .ct-footer .ct-widget a,
body .ct-footer .menu a,
body .ct-footer [class*="menu"] a,
body .ct-footer .wp-block-navigation a,
body .ct-footer [data-id="copyright"],
body .ct-footer [data-id="copyright"] * {
	color: rgba(247, 243, 234, 0.80) !important;
	--theme-link-initial-color: rgba(247, 243, 234, 0.80) !important;
	--theme-link-hover-color: #D6F800 !important;
	text-decoration: none !important;
}

body .ct-footer a:hover,
body .ct-footer .ct-widget a:hover,
body .ct-footer .menu a:hover,
body .ct-footer [class*="menu"] a:hover,
body .ct-footer .wp-block-navigation a:hover {
	color: #D6F800 !important;
}

body .ct-footer strong,
body .ct-footer b {
	color: rgba(247, 243, 234, 0.92) !important;
}

/* Mobile offcanvas menu — mirror the approved sitewide header palette.
   Blocksy's compiled CSS colours .current-menu-item with palette-color-2
   (Court Green) outside .ct-header scope, so the mobile drawer needs its
   own palette block. */
body #offcanvas .ct-menu-link,
body #offcanvas [data-id="menu"] a,
body #offcanvas [data-id="search"],
body #offcanvas [data-id="account"],
body #offcanvas [data-id="cart"] {
	color: rgba(247, 243, 234, 0.78) !important;
	--theme-link-initial-color: rgba(247, 243, 234, 0.78) !important;
	--theme-link-hover-color: #D6F800 !important;
	--theme-icon-color: rgba(247, 243, 234, 0.74) !important;
	--theme-icon-hover-color: #D6F800 !important;
}

body #offcanvas .ct-menu-link:hover,
body #offcanvas .current-menu-item > .ct-menu-link,
body #offcanvas .current-menu-item > a,
body #offcanvas .current-menu-ancestor > .ct-menu-link,
body #offcanvas .current-menu-ancestor > a {
	color: #D6F800 !important;
}

body #offcanvas .ct-toggle-dropdown-mobile {
	color: rgba(247, 243, 234, 0.78) !important;
	--theme-icon-color: rgba(247, 243, 234, 0.74) !important;
	--theme-icon-hover-color: #D6F800 !important;
}

/* ============================================================
   Legal / PayMongo compliance pages
   ============================================================ */
body.page .entry-content.is-layout-constrained > .pbg-legal-hero,
body.page .entry-content.is-layout-constrained > .pbg-legal-band {
	max-width: none !important;
	width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

.pbg-legal-hero {
	background:
		linear-gradient(112deg, rgba(14,17,19,0.98), rgba(31,39,41,0.94)),
		radial-gradient(circle at 18% 8%, rgba(216,248,0,0.12), transparent 26%),
		linear-gradient(90deg, rgba(214,168,79,0.12), transparent 42%);
	color: #ffffff;
	padding: clamp(8rem, 11vw, 9.5rem) 1.5rem clamp(4rem, 7vw, 5.5rem);
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
	border-bottom: 1px solid rgba(214,168,79,0.16);
}

.pbg-legal-inner {
	max-width: 1060px;
	margin: 0 auto;
}

.pbg-legal-kicker {
	color: var(--pbg-gold);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	margin: 0 0 1rem;
}

.pbg-legal-hero h1 {
	color: #ffffff;
	font-size: clamp(2.65rem, 5vw, 4.35rem);
	font-weight: 900;
	line-height: 1.02;
	letter-spacing: 0;
	margin: 0 0 1.25rem;
	max-width: 840px;
}

.pbg-legal-lede,
.pbg-legal-updated {
	color: rgba(255,255,255,0.82);
	font-size: clamp(1.02rem, 1.45vw, 1.22rem);
	line-height: 1.7;
	max-width: 820px;
	margin: 0;
}

.pbg-legal-updated {
	color: rgba(214,168,79,0.92);
	font-size: 0.95rem;
	font-weight: 800;
	margin-top: 1.15rem;
}

.pbg-legal-band {
	padding: clamp(3.25rem, 5.5vw, 5rem) 1.5rem;
	background: var(--pbg-paper);
	color: #2F3635;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
}

.pbg-legal-band.is-dark {
	background:
		linear-gradient(135deg, rgba(14,17,19,0.98), rgba(31,39,41,0.96)),
		radial-gradient(circle at 90% 20%, rgba(214,168,79,0.1), transparent 30%) !important;
	color: rgba(247,243,234,0.84) !important;
	border-block: 1px solid rgba(214,168,79,0.12);
}

.pbg-legal-band h2 {
	color: var(--pbg-ink);
	font-size: clamp(2rem, 4vw, 3.2rem);
	font-weight: 900;
	line-height: 1;
	margin: 0 0 1rem;
}

.pbg-legal-band.is-dark h2 {
	color: #ffffff;
}

.pbg-legal-copy {
	color: #35403D;
	font-size: clamp(1rem, 1.15vw, 1.1rem);
	line-height: 1.75;
	max-width: 860px;
}

.pbg-legal-band.is-dark .pbg-legal-copy,
.pbg-legal-band.is-dark p {
	color: rgba(247,243,234,0.84) !important;
}

.pbg-legal-copy a,
.pbg-legal-details a,
.pbg-legal-band a {
	color: #1F6B55 !important;
	font-weight: 800;
	text-decoration-color: rgba(31, 107, 85, 0.36) !important;
}

.pbg-legal-band.is-dark a {
	color: #D6F800 !important;
	text-decoration-color: rgba(214, 248, 0, 0.5) !important;
}

.pbg-legal-grid,
.pbg-legal-details {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 2rem;
}

.pbg-legal-details {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pbg-legal-card,
.pbg-legal-details div {
	border: 1px solid rgba(14,17,19,0.1);
	background: rgba(255,255,255,0.18);
	border-radius: 8px;
	padding: 1.35rem;
	box-shadow: 0 14px 32px rgba(14,17,19,0.08);
}

.pbg-legal-band.is-dark .pbg-legal-card {
	border-color: rgba(214,168,79,0.18);
	background: rgba(255,255,255,0.035);
	box-shadow: 0 18px 36px rgba(0,0,0,0.22);
}

.pbg-legal-card h3,
.pbg-legal-details strong {
	display: block;
	color: var(--pbg-green);
	font-size: 1.05rem;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0 0 0.7rem;
}

.pbg-legal-band.is-dark .pbg-legal-card h3 {
	color: var(--pbg-gold);
}

.pbg-legal-card p,
.pbg-legal-details span {
	color: inherit;
	font-size: 0.96rem;
	line-height: 1.65;
	margin: 0;
}

@media (max-width: 900px) {
	.pbg-legal-grid,
	.pbg-legal-details {
		grid-template-columns: 1fr;
	}
}


/* Messaging contact links */
.pbg-messaging-links {
	display: grid;
	gap: 0.65rem;
}

.pbg-messaging-link {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	padding: 0.7rem 0.8rem;
	border: 1px solid rgba(14,17,19,0.1);
	border-radius: 8px;
	background: rgba(255,255,255,0.45);
	color: #143D31 !important;
	font-size: 0.86rem;
	line-height: 1.35;
	text-decoration: none !important;
}

.pbg-messaging-link:hover {
	background: rgba(255,255,255,0.72);
	transform: translateY(-1px);
}

.pbg-messaging-link img,
.pbg-footer-messaging img {
	width: 1.5rem;
	height: 1.5rem;
	flex: 0 0 auto;
}

.pbg-footer-messaging {
	display: grid;
	gap: 0.35rem;
	margin: 0.55rem 0;
}

.pbg-footer-messaging a {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	width: fit-content;
}

.pbg-footer-messaging img {
	width: 1.1rem;
	height: 1.1rem;
}