/*
 * R.V. BERNARD & SONS — Brand colours & typography
 * Woodwind Specialists
 */

:root {
	--rv-oxford-blue:       #1B3A5C;
	--rv-parchment:         #F2EDD7;
	--rv-aged-brass:        #C9A84C;
	--rv-oxford-blue-light: #2E5A8A;
	--rv-oxford-blue-dark:  #0F2338;
	--rv-parchment-dark:    #E0D9BF;
	--rv-parchment-light:   #FAF7EE;
	--rv-brass-dark:        #9E7E2E;
	--rv-brass-light:       #E8C87A;
	--rv-ink:               #1A1A1A;
	--rv-ink-mid:           #3D3D3D;
	--rv-ink-light:         #7A7360;
	--rv-white:             #FFFFFF;

	--color-primary:        var(--rv-oxford-blue);
	--color-primary-hover:  var(--rv-oxford-blue-light);
	--color-accent:         var(--rv-aged-brass);
	--color-accent-hover:   var(--rv-brass-dark);
	--color-background:     var(--rv-parchment-light);
	--color-surface:        var(--rv-parchment);
	--color-border:         var(--rv-parchment-dark);
	--color-text:           var(--rv-ink);
	--color-text-muted:     var(--rv-ink-light);
	--color-heading:        var(--rv-oxford-blue-dark);

	--font-brand:    'Cinzel', 'Palatino Linotype', Georgia, serif;
	--font-body:     'Lora', Georgia, 'Times New Roman', serif;
	--font-ui:       'Cinzel', 'Segoe UI', system-ui, sans-serif;
}

/* ── Base ── */
body {
	background-color: var(--color-background);
	color: var(--color-text);
	font-family: var(--font-body);
}

h1, h2, h3, h4, h5, h6,
.product_title,
.woocommerce-loop-product__title {
	font-family: var(--font-brand);
	font-weight: 600;
	color: var(--color-heading);
	letter-spacing: 0.02em;
}

h1, .rv-offerings-lead {
	font-weight: 700;
	letter-spacing: 0.04em;
}

a {
	color: var(--color-primary);
}
a:hover,
a:focus {
	color: var(--color-primary-hover);
}

/* ── Kadence header (override theme inline styles) ── */
#masthead,
#masthead .site-header-row-container-inner,
#masthead .site-main-header-inner-wrap,
#masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start) > .site-header-row-container-inner {
	background-color: var(--rv-oxford-blue-dark) !important;
}

.site-main-header-inner-wrap {
	min-height: 340px !important;
	align-items: center;
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
}

#masthead .site-main-header-wrap .site-header-row-container-inner {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

.site-header .site-branding.branding-layout-standard {
	flex-shrink: 0;
}

.site-header .site-branding.branding-layout-standard .brand.has-logo-image {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	background: transparent;
	border-radius: 0;
	box-shadow: none;
}

.site-branding .site-title,
.site-branding .site-title a,
.site-title,
.site-title a,
.site-description {
	color: var(--rv-parchment) !important;
	font-family: var(--font-brand);
}

.main-navigation .primary-menu-container > ul > li.menu-item > a,
.header-navigation .header-menu-container > ul > li.menu-item > a {
	color: var(--rv-parchment) !important;
	font-family: var(--font-brand) !important;
	font-weight: 600;
	font-size: 0.95rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.main-navigation .primary-menu-container > ul > li.menu-item > a:hover,
.main-navigation .primary-menu-container > ul > li.menu-item.current-menu-item > a,
.header-navigation .header-menu-container > ul > li.menu-item > a:hover {
	color: var(--rv-aged-brass) !important;
}

.mobile-toggle-open-container .menu-toggle-open,
.mobile-toggle-open-container .menu-toggle-open:focus,
.mobile-toggle-open-container .menu-toggle-open:hover {
	color: var(--rv-parchment) !important;
}

/* Mobile drawer */
#mobile-drawer .drawer-inner {
	background-color: var(--rv-oxford-blue-dark);
}

.mobile-navigation ul li > a,
.mobile-navigation ul li.menu-item-has-children > .drawer-nav-drop-wrap {
	color: var(--rv-parchment) !important;
}

#mobile-drawer .drawer-header .drawer-toggle {
	color: var(--rv-parchment) !important;
}

/* ── Kadence footer ── */
.site-footer,
.site-footer .site-footer-wrap,
.site-footer .site-middle-footer-wrap .site-footer-row-container-inner,
.site-footer .site-bottom-footer-wrap .site-footer-row-container-inner {
	background-color: var(--rv-oxford-blue-dark);
	color: var(--rv-parchment);
}

.site-footer a {
	color: var(--rv-brass-light);
}

.site-footer a:hover {
	color: var(--rv-aged-brass);
}

/* ── Buttons ── */
.wp-block-button__link,
.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
button[type="submit"],
.wpcf7-submit {
	background-color: var(--rv-oxford-blue);
	color: var(--rv-white);
	border: none;
	font-family: var(--font-ui);
	letter-spacing: 0.05em;
	text-transform: uppercase;
	font-size: 0.85rem;
	padding: 0.75rem 1.75rem;
	border-radius: 2px;
	transition: background-color 0.2s ease;
}

.wp-block-button__link:hover,
.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
button[type="submit"]:hover,
.wpcf7-submit:hover {
	background-color: var(--rv-oxford-blue-light);
	color: var(--rv-white);
}

.wp-block-button.is-style-accent .wp-block-button__link {
	background-color: var(--rv-aged-brass);
	color: var(--rv-oxford-blue-dark);
}

.wp-block-button.is-style-accent .wp-block-button__link:hover {
	background-color: var(--rv-brass-dark);
	color: var(--rv-white);
}

/* ── WooCommerce ── */
.woocommerce .price,
.woocommerce ul.products li.product .price {
	color: var(--rv-oxford-blue);
	font-family: var(--font-brand);
}

.woocommerce ul.products li.product .woocommerce-loop-product__link:hover .woocommerce-loop-product__title {
	color: var(--rv-oxford-blue-light);
}

.woocommerce span.onsale {
	background-color: var(--rv-aged-brass);
	color: var(--rv-oxford-blue-dark);
}

/* ── Surfaces & enquiry box ── */
.wp-block-group.has-background,
.content-bg,
.woodwind-product-enquiry {
	background-color: var(--rv-parchment);
	border: 1px solid var(--rv-parchment-dark);
}

.woodwind-product-enquiry h2 {
	color: var(--rv-oxford-blue-dark);
	border-bottom: 2px solid var(--rv-aged-brass);
	padding-bottom: 0.5rem;
	margin-bottom: 1rem;
}

hr {
	border: none;
	border-top: 2px solid var(--rv-aged-brass);
	opacity: 0.5;
	margin: 2rem auto;
}

/* ── Forms ── */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
	border: 1px solid var(--rv-parchment-dark);
	background-color: var(--rv-white);
}

input:focus,
textarea:focus,
select:focus {
	border-color: var(--rv-oxford-blue);
	outline: none;
	box-shadow: 0 0 0 1px var(--rv-oxford-blue-light);
}

/* ── Brand crest — header: large, high contrast (override Kadence 200px cap) ── */
.site-branding a.brand img,
.site-branding a.brand img.custom-logo,
.site-header .custom-logo,
.site-header .brand img.custom-logo {
	max-width: none !important;
	max-height: 310px !important;
	min-height: 0;
	width: auto !important;
	height: auto !important;
	display: block;
	filter: drop-shadow(0 6px 20px rgba(0, 0, 0, 0.5));
}

/* Nav sits beside a wide logo */
.site-header .site-header-main-section-right {
	flex: 1;
	justify-content: flex-end;
}

@media (max-width: 1024px) {
	.site-main-header-inner-wrap {
		min-height: 260px !important;
	}
	.site-branding a.brand img,
	.site-header .custom-logo,
	.site-header .brand img.custom-logo {
		max-height: 220px !important;
	}
}

@media (max-width: 767px) {
	.site-main-header-inner-wrap {
		min-height: 200px !important;
	}
	.site-branding a.brand img,
	.site-header .custom-logo,
	.site-header .brand img.custom-logo {
		max-height: 175px !important;
	}
}

.woodwind-product-enquiry {
	margin: 2rem 0;
	padding: 1.5rem;
}

/* Typography — Heritage Classic */
body,
.entry-content,
.woocommerce-Tabs-panel,
input,
textarea,
select {
	font-family: var(--font-body) !important;
}

h1, h2, h3, h4, h5, h6,
.site-title,
.page-title,
.product_title,
.woocommerce-loop-product__title,
.rv-offerings-lead {
	font-family: var(--font-brand) !important;
}

.rv-eyebrow {
	font-family: var(--font-brand) !important;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	font-size: clamp(0.95rem, 2.2vw, 1.2rem);
	color: var(--rv-aged-brass);
	margin-bottom: 0.85rem;
}

/* Shop/home: brand block is the hero; Kadence archive hero hidden via rv-bernard-shop.php */
.woocommerce-shop .rv-offerings-hero {
	padding-top: 2.75rem;
	padding-bottom: 0.5rem;
	margin-bottom: 2rem;
}

.rv-brand-headline,
h1.rv-brand-headline {
	font-family: var(--font-brand) !important;
	font-size: clamp(2rem, 5vw, 3.25rem);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: none;
	color: var(--rv-oxford-blue-dark) !important;
	line-height: 1.15;
	margin: 0 0 0.5rem;
}

.rv-offerings-hero .rv-offerings-lead {
	font-size: clamp(1.35rem, 3vw, 2rem);
	font-weight: 600;
	color: var(--rv-oxford-blue) !important;
	border-bottom: 2px solid var(--rv-aged-brass);
	padding-bottom: 0.5rem;
	margin-top: 0.25rem;
	margin-bottom: 1.25rem;
	display: inline-block;
}

.rv-offerings-lead {
	font-size: 2rem;
	margin-top: 0;
	border-bottom: 2px solid var(--rv-aged-brass);
	padding-bottom: 0.5rem;
	display: inline-block;
}

.rv-pull-quote {
	font-family: var(--font-body);
	font-style: italic;
	border-left: 4px solid var(--rv-aged-brass);
	padding-left: 1.25rem;
	margin: 1.5rem 0;
	color: var(--rv-ink-mid);
}

.rv-loop-condition {
	font-size: 0.9rem;
	margin: 0.35rem 0 0.5rem;
	color: var(--rv-ink-light);
}

.rv-loop-condition .rv-label {
	font-family: var(--font-brand) !important;
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--rv-oxford-blue);
}

a.rv-enquire-btn {
	display: inline-block;
	margin-top: 0.5rem;
	text-decoration: none !important;
}

.woodwind-product-enquiry {
	scroll-margin-top: 120px;
}

/* Kadence archive hero hidden on front-page shop — see rv-bernard-shop.php */

/* Push content below tall header (non-transparent pages) */
body:not(.transparent-header) .content-area,
body:not(.transparent-header) .site-content {
	padding-top: 0;
}

#masthead {
	position: relative;
	z-index: 100;
}

.site-footer .footer-html a[href*="kadencewp"] {
	display: none !important;
}

/* Hide SVG <title> tooltips showing as visible "Toggle Menu" text */
.kadence-svg-icon svg title,
svg.kadence-menu-svg title {
	display: none !important;
}

/* Mobile menu button only on small screens */
@media (min-width: 1025px) {
	.site-header #mobile-toggle,
	.site-header .mobile-toggle-open-container {
		display: none !important;
	}
}

/* Contact & About layout */
.rv-contact-page .wp-block-columns {
	gap: 2rem;
}

.rv-founder-intro {
	align-items: start;
	margin-bottom: 2.5rem;
}

.rv-founder-photo img {
	border-radius: 4px;
	border: 2px solid var(--rv-parchment-dark);
	box-shadow: 0 4px 16px rgba(15, 35, 56, 0.12);
	width: 100%;
	height: auto;
}

.rv-founder-intro .wp-block-column:first-child {
	text-align: center;
}
