/*
 * Jerry Schurr – modern design layer (Divi 5 + UberMenu + WooCommerce + Uber Grid)
 * Pure CSS, loaded by ../jerry-design.php. Delete that file to restore the previous look.
 */

:root {
	--js-ink: #1d2230;
	--js-muted: #5b6372;
	--js-blue: #4c8bc9;
	--js-blue-soft: #6a9ac9;
	--js-rust: #a83200;
	--js-paper: #faf8f5;
	--js-line: #e9e5df;
	--js-radius: 14px;
	--js-shadow: 0 1px 2px rgba(20, 24, 40, .05), 0 8px 24px rgba(20, 24, 40, .07);
	--js-shadow-hover: 0 2px 4px rgba(20, 24, 40, .06), 0 16px 36px rgba(20, 24, 40, .13);
	--js-serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
}

html { scroll-behavior: smooth; }

body,
#page-container {
	color: var(--js-ink);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body #main-content { background: #fff; }

/* ---------- Typography ---------- */
body { font-size: 16px; line-height: 1.75; }
p { color: #3a4152; }

h1, h2, h3, h4,
.et_pb_module h1, .et_pb_module h2, .et_pb_module h3, .et_pb_module h4,
.woocommerce div.product .product_title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.entry-title, .page-title {
	font-family: var(--js-serif);
	font-weight: 500;
	letter-spacing: -.01em;
	color: var(--js-ink);
}

h1 { line-height: 1.15; }
h2 { line-height: 1.2; }

a { color: #3b78b3; transition: color .2s ease; }
a:hover { color: var(--js-rust); }

::selection { background: rgba(76, 139, 201, .25); }

img { border-radius: 4px; }
.et_pb_image img, .et_pb_post img, .entry-content img, .woocommerce div.product div.images img {
	border-radius: var(--js-radius);
}

/* ---------- Header ---------- */
#main-header,
#main-header.et-fixed-header {
	background: rgba(255, 255, 255, .94) !important;
	-webkit-backdrop-filter: saturate(1.4) blur(10px);
	backdrop-filter: saturate(1.4) blur(10px);
	box-shadow: 0 1px 0 var(--js-line), 0 10px 30px rgba(20, 24, 40, .05) !important;
}

/* Centre the menu against the logo (Divi pads the nav 33px from the top) */
@media (min-width: 981px) {
	#main-header #et-top-navigation,
	#main-header.et-fixed-header #et-top-navigation { padding-top: 0 !important; }
	#main-header .logo_container { display: flex; align-items: center; }
	#main-header .ubermenu-main .ubermenu-item-level-0 > .ubermenu-target { padding-top: 30px; padding-bottom: 30px; }
	#main-header .ubermenu-main .ubermenu-item-level-0 > .ubermenu-target::before { bottom: 20px; }
	#main-header #et-top-navigation .et-cart-info { margin-top: 24px; }
}

/* The UberMenu bar: no grey gradient, no frame */
#main-header nav.ubermenu.ubermenu-main {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

#main-header .ubermenu-main .ubermenu-item-level-0 > .ubermenu-target {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--js-ink) !important;
	background: transparent !important;
	padding-top: 24px;
	padding-bottom: 24px;
	position: relative;
	transition: color .2s ease;
}

#main-header .ubermenu-main .ubermenu-item-level-0 > .ubermenu-target::before {
	content: '';
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 14px;
	height: 2px;
	background: var(--js-blue);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .25s ease;
}

#main-header .ubermenu-main .ubermenu-item-level-0:hover > .ubermenu-target::before,
#main-header .ubermenu-main .ubermenu-item-level-0.ubermenu-active > .ubermenu-target::before,
#main-header .ubermenu-main .ubermenu-item-level-0.ubermenu-current-menu-item > .ubermenu-target::before {
	transform: scaleX(1);
}

#main-header .ubermenu-main .ubermenu-item-level-0:hover > .ubermenu-target,
#main-header .ubermenu-main .ubermenu-item-level-0.ubermenu-active > .ubermenu-target {
	color: var(--js-blue) !important;
}

/* The two coloured menu items keep their brand colour, as an accent instead of a block */
.ubermenu .ubermenu-item.ubermenu-item-254 > .ubermenu-target,
.ubermenu .ubermenu-item.ubermenu-item-254.ubermenu-active > .ubermenu-target,
.ubermenu-notouch .ubermenu-item.ubermenu-item-254 > .ubermenu-target:hover {
	background: transparent !important;
	color: var(--js-ink) !important;
}
.ubermenu .ubermenu-item.ubermenu-item-311 > .ubermenu-target {
	background: transparent !important;
	color: var(--js-ink) !important;
}
#main-header .ubermenu-main .ubermenu-item-254 > .ubermenu-target::before { background: var(--js-blue-soft); transform: scaleX(1); }
#main-header .ubermenu-main .ubermenu-item-311 > .ubermenu-target::before { background: var(--js-rust); transform: scaleX(1); }

#main-header .ubermenu-main .ubermenu-target .ubermenu-icon { opacity: .75; margin-right: 4px; }

/* Dropdown / mega panel */
.ubermenu-main .ubermenu-submenu.ubermenu-submenu-drop,
.ubermenu .ubermenu-submenu.ubermenu-submenu-id-254 {
	background-color: #fff !important;
	border: 1px solid var(--js-line);
	border-top: 0;
	border-radius: 0 0 var(--js-radius) var(--js-radius);
	box-shadow: 0 24px 48px rgba(20, 24, 40, .14);
	overflow: hidden;
}
.ubermenu-main .ubermenu-item-normal > .ubermenu-target,
.ubermenu-main .ubermenu-submenu .ubermenu-target {
	color: var(--js-ink) !important;
	font-size: 15px;
	transition: color .15s ease, background-color .15s ease;
}
.ubermenu-main .ubermenu-submenu .ubermenu-item-header > .ubermenu-target {
	font-family: var(--js-serif);
	font-size: 17px;
	font-weight: 600;
	letter-spacing: 0;
	color: var(--js-ink) !important;
}
.ubermenu-main .ubermenu-submenu .ubermenu-item-normal > .ubermenu-target:hover {
	color: var(--js-blue) !important;
	background: var(--js-paper);
}

/* Cart icon */
#et-top-navigation .et-cart-info { opacity: .8; transition: opacity .2s; }
#et-top-navigation .et-cart-info:hover { opacity: 1; }

/* ---------- Buttons ---------- */
.et_pb_button,
.et_pb_more_button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce #content input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
input[type="submit"], button[type="submit"] {
	border-radius: 999px !important;
	font-weight: 600;
	letter-spacing: .04em;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce #respond input#submit.alt, .woocommerce #content input.button.alt {
	background: var(--js-blue) !important;
	color: #fff !important;
	border: 0 !important;
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover {
	background: var(--js-rust) !important;
	box-shadow: 0 8px 20px rgba(168, 50, 0, .25);
	transform: translateY(-1px);
}

/* Forms */
input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="password"],
input[type="search"], input[type="number"], textarea, select, .input-text {
	border: 1px solid var(--js-line) !important;
	border-radius: 10px !important;
	background: #fff !important;
	padding: 12px 14px !important;
	transition: border-color .2s ease, box-shadow .2s ease;
}
input:focus, textarea:focus, select:focus {
	border-color: var(--js-blue) !important;
	box-shadow: 0 0 0 3px rgba(76, 139, 201, .18);
	outline: 0;
}

/* ---------- Page content ---------- */
#main-content .container { padding-top: 40px; }

/* Divi testimonial-style headers (e.g. the biography banner) */
.et_pb_testimonial {
	border-radius: var(--js-radius);
	box-shadow: var(--js-shadow);
	overflow: visible;
}

/* Divi hides "et-waypoint" images until a scroll script reveals them; blurbs set to
   "animation off" never get revealed, so show them. */
.et-waypoint.et_pb_animation_off,
.et_pb_animation_off.et-waypoint { opacity: 1 !important; }

/* Blurb tiles (e.g. Wood Flute / Saxophone / Clarinet repair on the home page) as cards */
.et_pb_section:has(.et_pb_blurb) { background: var(--js-paper); padding: 56px 0 72px; }
.et_pb_row:has(> .et_pb_column > .et_pb_blurb) {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 28px;
	width: 90%;
	max-width: 1080px;
}
.et_pb_row:has(> .et_pb_column > .et_pb_blurb)::after { display: none; }
.et_pb_row:has(> .et_pb_column > .et_pb_blurb) > .et_pb_column {
	float: none;
	margin: 0 !important;
	width: calc(33.333% - 19px) !important;
	max-width: 340px;
}
.et_pb_row:has(> .et_pb_column > .et_pb_blurb) > .et_pb_column:not(:has(.et_pb_module)) { display: none; }

.et_pb_blurb {
	background: #fff;
	border: 1px solid var(--js-line);
	border-radius: var(--js-radius);
	overflow: hidden;
	box-shadow: var(--js-shadow);
	margin-bottom: 0 !important;
	transition: transform .25s ease, box-shadow .25s ease;
}
.et_pb_blurb:hover { transform: translateY(-4px); box-shadow: var(--js-shadow-hover); }
.et_pb_blurb .et_pb_main_blurb_image { margin: 0 !important; width: 100%; }
.et_pb_blurb .et_pb_main_blurb_image a,
.et_pb_blurb .et_pb_main_blurb_image .et_pb_image_wrap { display: block; width: 100%; }
.et_pb_blurb .et_pb_main_blurb_image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 0;
	transition: transform .5s ease;
}
.et_pb_blurb:hover .et_pb_main_blurb_image img { transform: scale(1.04); }
.et_pb_blurb .et_pb_blurb_container { padding: 18px 16px 22px; }
.et_pb_blurb .et_pb_module_header,
.et_pb_blurb .et_pb_module_header a {
	font-family: var(--js-serif);
	font-size: 21px;
	font-weight: 500;
	padding: 0;
	color: var(--js-ink);
}
.et_pb_blurb .et_pb_module_header a:hover { color: var(--js-rust); }

@media (max-width: 980px) {
	.et_pb_row:has(> .et_pb_column > .et_pb_blurb) > .et_pb_column { width: calc(50% - 14px) !important; }
}
@media (max-width: 600px) {
	.et_pb_row:has(> .et_pb_column > .et_pb_blurb) > .et_pb_column { width: 100% !important; max-width: none; }
}

/* Sidebar */
.et_right_sidebar #main-content .container:before { display: none; }
#sidebar .et_pb_widget { margin-bottom: 36px; }
#sidebar .widgettitle {
	font-family: var(--js-serif);
	font-size: 20px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--js-line);
	margin-bottom: 16px;
}

/* ---------- WooCommerce ---------- */
.woocommerce ul.products li.product {
	background: #fff;
	border: 1px solid var(--js-line);
	border-radius: var(--js-radius);
	padding: 0 0 20px;
	overflow: hidden;
	text-align: center;
	box-shadow: var(--js-shadow);
	transition: transform .25s ease, box-shadow .25s ease;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: var(--js-shadow-hover);
}
.woocommerce ul.products li.product a img {
	border-radius: 0;
	margin: 0 0 16px;
	transition: transform .5s ease;
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.03); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 20px;
	padding: 0 16px;
}
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price, .woocommerce div.product span.price {
	color: var(--js-rust);
	font-weight: 600;
}
.woocommerce-breadcrumb { font-size: 13px; color: var(--js-muted); }
.woocommerce-result-count { color: var(--js-muted); font-size: 14px; }
.woocommerce div.product .product_title { font-size: 36px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border-radius: 10px 10px 0 0; }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	border-radius: var(--js-radius);
	border: 1px solid var(--js-line);
	box-shadow: var(--js-shadow);
}

/* ---------- Art grid (Uber Grid) ---------- */
.uber-grid-wrapper { margin-top: 8px; }
.uber-grid-cell { transition: transform .25s ease, box-shadow .25s ease, z-index 0s; }
.uber-grid-cell .uber-grid-cell-wrapper { overflow: hidden; }
.uber-grid-cell-image { border-radius: 0; }

/* Replace the loud coral overlay with a calm ink wash */
.uber-grid .uber-grid-cell .uber-grid-cell-title-wrapper {
	background: linear-gradient(to top, rgba(18, 22, 34, .88) 0%, rgba(18, 22, 34, .55) 100%) !important;
}
.uber-grid .uber-grid-cell-title {
	font-family: var(--js-serif);
	color: #fff;
}
.uber-grid .uber-grid-cell-title small {
	font-family: inherit;
	opacity: .85;
}

/* ---------- Footer ---------- */
#main-footer, #footer-bottom { background: #151922 !important; }
#footer-bottom { padding: 28px 0; border-top: 3px solid var(--js-blue); }
#footer-info, #footer-info a { color: #a8afbd !important; font-size: 13px; }
#footer-info a:hover { color: #fff !important; }
#footer-bottom .et-social-icon a { color: #a8afbd !important; transition: color .2s ease; }
#footer-bottom .et-social-icon a:hover { color: #fff !important; }

/* ---------- Motion preferences ---------- */
@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; scroll-behavior: auto !important; }
}

/* ---------- Mobile ---------- */
@media (max-width: 980px) {
	body { font-size: 15.5px; }
	.woocommerce div.product .product_title { font-size: 28px; }
	#main-header .ubermenu-responsive-toggle {
		border-radius: 10px;
		background: var(--js-paper);
		color: var(--js-ink);
		font-weight: 600;
		letter-spacing: .06em;
	}
}

/* =====================================================================
   Biography page (page-id-52)
   ===================================================================== */
.page-id-52 #main-content .container { padding-top: 0; }
.page-id-52 .et_pb_section { padding-top: 40px; }

/* Hero: the Lake Tahoe "portrait" becomes a full-width banner behind the title */
.page-id-52 .et_pb_testimonial {
	position: relative;
	margin: 0 0 56px;
	padding: 110px 32px 100px !important;
	border-radius: 20px;
	overflow: hidden;
	background:
		linear-gradient(180deg, rgba(16, 24, 42, .55) 0%, rgba(16, 24, 42, .80) 100%),
		url('/wp-content/uploads/2014/07/Lake-Tahoe.jpg') center 35% / cover no-repeat !important;
	box-shadow: var(--js-shadow-hover);
}
.page-id-52 .et_pb_testimonial::before,
.page-id-52 .et_pb_testimonial::after,
.page-id-52 .et_pb_testimonial_portrait { display: none !important; }
.page-id-52 .et_pb_testimonial_description { margin: 0; padding: 0; }
.page-id-52 .et_pb_testimonial_content h1,
.page-id-52 .et_pb_testimonial_content h2,
.page-id-52 .et_pb_testimonial_content h5 { color: #fff !important; }
.page-id-52 .et_pb_testimonial_content h1 {
	font-size: clamp(40px, 6vw, 68px);
	line-height: 1.05;
	margin-bottom: 14px;
}
.page-id-52 .et_pb_testimonial_content h2 {
	font-family: 'Open Sans', sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .38em;
	text-transform: uppercase;
	color: #f1c9b3 !important;
	margin-bottom: 18px;
}
.page-id-52 .et_pb_testimonial_content h5 {
	font-family: var(--js-serif);
	font-style: italic;
	font-weight: 400;
	font-size: 20px;
	opacity: .9;
}

/* Story: a comfortable reading column */
.page-id-52 .et_pb_text {
	max-width: 740px;
	margin: 0 auto !important;
	padding: 0 !important;
}
.page-id-52 .et_pb_text p {
	font-size: 17.5px;
	line-height: 1.9;
	color: #343b4b;
	padding-bottom: 1.2em;
	text-wrap: pretty;
}
.page-id-52 .et_pb_text_0 p:first-child::first-letter {
	float: left;
	font-family: var(--js-serif);
	font-size: 4.6em;
	line-height: .8;
	padding: .08em .12em 0 0;
	color: var(--js-rust);
}

/* Chapter headings with a small accent rule */
.page-id-52 .et_pb_text h1 {
	position: relative;
	margin: 36px 0 28px;
	padding-bottom: 22px;
	font-size: clamp(28px, 4vw, 38px);
	text-align: center;
}
.page-id-52 .et_pb_text h1::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 52px;
	height: 3px;
	margin-left: -26px;
	border-radius: 3px;
	background: linear-gradient(90deg, var(--js-blue), var(--js-rust));
}

@media (max-width: 767px) {
	.page-id-52 .et_pb_testimonial { padding: 72px 20px 64px !important; border-radius: 14px; }
	.page-id-52 .et_pb_text p { font-size: 16.5px; }
}

/* =====================================================================
   Contact page (page-id-312) – Visual Form Builder + map
   ===================================================================== */
.page-id-312 #main-content .container { padding-top: 0; }
.page-id-312 .et_pb_section { padding-top: 56px; }

.page-id-312 .et_pb_text_0 { max-width: 860px; margin: 0 auto 8px; padding: 0; }
.page-id-312 .et_pb_text_0 .et_pb_text_inner::before {
	content: 'Get in touch';
	display: block;
	text-align: center;
	font-family: var(--js-serif);
	font-weight: 500;
	font-size: clamp(36px, 5vw, 54px);
	line-height: 1.1;
	color: var(--js-ink);
	margin-bottom: 12px;
}
.page-id-312 .visual-form-builder-container::before {
	content: 'Price requests, repair questions and general inquiries \2014  send a message below.';
	display: block;
	text-align: center;
	color: var(--js-muted);
	font-size: 17px;
	margin: 0 auto 36px;
	max-width: 560px;
}

.page-id-312 .visual-form-builder fieldset,
.page-id-312 .visual-form-builder .vfb-fieldset {
	background: #fff !important;
	border: 1px solid var(--js-line) !important;
	border-radius: 18px !important;
	box-shadow: var(--js-shadow);
	padding: 0 36px 28px !important;
	margin: 0 0 24px !important;
}
.page-id-312 .visual-form-builder .vfb-legend {
	margin: 0 -36px 24px;
	padding: 20px 36px 16px;
	background: var(--js-paper);
	border: 0;
	border-bottom: 1px solid var(--js-line);
	border-radius: 18px 18px 0 0;
}
.page-id-312 .visual-form-builder .vfb-legend h3 {
	font-family: var(--js-serif);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--js-ink);
	padding: 0;
}
.page-id-312 .visual-form-builder .vfb-item { margin: 0 0 22px; }

.page-id-312 .visual-form-builder label.vfb-desc {
	display: block;
	margin-bottom: 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--js-ink);
}
.page-id-312 .visual-form-builder .vfb-required-asterisk { color: var(--js-rust); }
.page-id-312 .visual-form-builder .vfb-span label:not(.vfb-choice),
.page-id-312 .visual-form-builder .vfb-left label,
.page-id-312 .visual-form-builder .vfb-right label,
.page-id-312 .visual-form-builder .vfb-full label {
	font-size: 12.5px;
	color: var(--js-muted);
	margin-top: 6px;
}

/* All fields use the full column width */
.page-id-312 .visual-form-builder input.vfb-medium,
.page-id-312 .visual-form-builder select.vfb-medium,
.page-id-312 .visual-form-builder input.vfb-text,
.page-id-312 .visual-form-builder .vfb-select,
.page-id-312 .visual-form-builder textarea.vfb-textarea {
	width: 100% !important;
	max-width: 100%;
	box-sizing: border-box;
	font-size: 16px;
}
.page-id-312 .visual-form-builder textarea.vfb-textarea { min-height: 150px; }
.page-id-312 .visual-form-builder input[type="file"] {
	width: 100%;
	padding: 12px !important;
	border: 1px dashed #c9d3df !important;
	border-radius: 10px;
	background: var(--js-paper) !important;
}

/* Radio choices as tidy pills */
.page-id-312 .visual-form-builder .vfb-item-radio .vfb-span {
	display: inline-flex;
	width: auto !important;
	float: none !important;
	align-items: center;
	gap: 8px;
	margin: 0 10px 8px 0;
	padding: 9px 16px;
	border: 1px solid var(--js-line);
	border-radius: 999px;
	background: #fff;
}
.page-id-312 .visual-form-builder .vfb-item-radio .vfb-span:has(input:checked) {
	border-color: var(--js-blue);
	background: rgba(76, 139, 201, .08);
}
.page-id-312 .visual-form-builder .vfb-item-radio input { margin: 0; accent-color: var(--js-blue); }
.page-id-312 .visual-form-builder .vfb-item-radio label.vfb-choice {
	margin: 0;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	color: var(--js-ink);
}

/* Submit */
.page-id-312 .visual-form-builder .vfb-submit,
.page-id-312 .visual-form-builder input[type="submit"] {
	background: var(--js-blue) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 14px 40px !important;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .06em;
	cursor: pointer;
	box-shadow: 0 8px 20px rgba(76, 139, 201, .3);
	transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.page-id-312 .visual-form-builder .vfb-submit:hover,
.page-id-312 .visual-form-builder input[type="submit"]:hover {
	background: var(--js-rust) !important;
	box-shadow: 0 10px 24px rgba(168, 50, 0, .28);
	transform: translateY(-1px);
}

/* Map */
.page-id-312 .et_pb_map_container {
	max-width: 860px;
	margin: 40px auto 0;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: var(--js-shadow);
}

@media (max-width: 767px) {
	.page-id-312 .visual-form-builder fieldset,
	.page-id-312 .visual-form-builder .vfb-fieldset { padding: 0 20px 22px !important; }
	.page-id-312 .visual-form-builder .vfb-legend { margin: 0 -20px 20px; padding: 16px 20px 12px; }
}

/* =====================================================================
   Woodwind Shop sub-pages (instruments > flute / clarinet / sax ...)
   Gallery, FAQ accordions, price tiers, bullet lists, contact links
   ===================================================================== */
.page-child .et_pb_section { padding-top: 24px; padding-bottom: 24px; }

/* Photo gallery */
.page-child .et_pb_gallery_item .et_pb_gallery_image { border-radius: var(--js-radius); overflow: hidden; box-shadow: var(--js-shadow); }
.page-child .et_pb_gallery_item .et_pb_gallery_image img { border-radius: 0; transition: transform .5s ease; }
.page-child .et_pb_gallery_item:hover .et_pb_gallery_image img { transform: scale(1.05); }

/* Intro / article text */
.page-child .et_pb_text p { line-height: 1.85; }
.page-child .et_pb_text h3 { font-size: 26px; margin-bottom: 14px; }
.page-child .et_pb_text h3 strong { font-weight: 500; letter-spacing: .02em; }
.page-child .et_pb_text h2:not(:has(a[href*="contact"])) {
	font-size: 22px;
	font-style: italic;
	font-weight: 400;
	color: var(--js-muted) !important;
}

/* FAQ accordions */
.page-child .et_pb_toggle,
.page-child .et_pb_toggle.et_pb_toggle_close {
	background: #fff !important;
	border: 1px solid var(--js-line) !important;
	border-radius: 12px;
	margin-bottom: 14px !important;
	padding: 0 !important;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(20, 24, 40, .04);
	transition: box-shadow .25s ease, border-color .25s ease;
}
.page-child .et_pb_toggle:hover { box-shadow: var(--js-shadow); border-color: #d8e3f0 !important; }
.page-child .et_pb_toggle.et_pb_toggle_open {
	border-color: var(--js-blue) !important;
	box-shadow: var(--js-shadow);
}
.page-child .et_pb_toggle .et_pb_toggle_title {
	padding: 20px 64px 20px 26px;
	font-family: 'Open Sans', sans-serif;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.45;
	color: var(--js-ink) !important;
	cursor: pointer;
}
.page-child .et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title { color: var(--js-blue) !important; }
.page-child .et_pb_toggle .et_pb_toggle_title::before {
	right: 22px;
	left: auto;
	top: 50%;
	margin-top: -14px;
	width: 28px;
	height: 28px;
	line-height: 28px;
	text-align: center;
	border-radius: 50%;
	background: rgba(76, 139, 201, .12);
	color: var(--js-blue);
	font-size: 18px;
}
.page-child .et_pb_toggle .et_pb_toggle_content {
	padding: 0 26px 24px !important;
	color: #3a4152;
	line-height: 1.8;
}

/* Lists with check marks */
.page-child .et_pb_text ul { list-style: none; padding: 0; margin: 0 0 20px; }
.page-child .et_pb_text ul li { position: relative; padding: 0 0 0 30px; margin-bottom: 9px; line-height: 1.55; }
.page-child .et_pb_text ul li::before {
	content: '';
	position: absolute;
	left: 3px;
	top: .42em;
	width: 12px;
	height: 6px;
	border-left: 2px solid var(--js-blue);
	border-bottom: 2px solid var(--js-blue);
	transform: rotate(-45deg);
}

/* Price tiers: text blocks that hold a list become cards */
.page-child .et_pb_text:has(> .et_pb_text_inner > ul) {
	background: #fff;
	border: 1px solid var(--js-line);
	border-radius: 18px;
	padding: 30px 32px 22px;
	box-shadow: var(--js-shadow);
	height: 100%;
}
.page-child .et_pb_row:has(.et_pb_text > .et_pb_text_inner > ul) > .et_pb_column { margin-bottom: 20px; }

/* "$429" etc. become a price badge */
body.page-id-285 .et_pb_text h3 span[style*="800000"] {
	display: inline-block;
	margin: 0 8px 0 6px;
	padding: 1px 14px;
	border-radius: 999px;
	background: rgba(168, 50, 0, .1);
	color: var(--js-rust) !important;
	font-weight: 600;
}
body.page-id-285 .et_pb_text:has(> .et_pb_text_inner > ul) h3 { font-size: 23px; line-height: 1.35; }
.page-child .et_pb_text h3 span[style*="800000"] { color: var(--js-rust) !important; }

/* Tinted bands instead of flat beige / mustard (price tiers page) */
body.page-id-285 .et_pb_section_1.et_pb_section { background-color: #f6f3ee !important; }
body.page-id-285 .et_pb_section_2.et_pb_section { background-color: #eef3f9 !important; }
body.page-id-285 .et_pb_section_1, body.page-id-285 .et_pb_section_2 { padding-top: 48px; padding-bottom: 48px; }

/* "Click To Contact" links as buttons */
.page-child .et_pb_text h2 a[href*="contact"] {
	display: inline-block;
	padding: 14px 34px;
	border-radius: 999px;
	background: var(--js-blue);
	color: #fff !important;
	font-family: 'Open Sans', sans-serif;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	box-shadow: 0 8px 20px rgba(76, 139, 201, .28);
	transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.page-child .et_pb_text h2 a[href*="contact"]:hover {
	background: var(--js-rust);
	box-shadow: 0 10px 24px rgba(168, 50, 0, .28);
	transform: translateY(-1px);
}
.page-child .et_pb_text h2:has(a[href*="contact"]) { margin-top: 6px; }

@media (max-width: 767px) {
	.page-child .et_pb_text:has(> .et_pb_text_inner > ul) { padding: 22px 20px 14px; }
	.page-child .et_pb_toggle .et_pb_toggle_title { font-size: 16px; padding: 16px 56px 16px 18px; }
	.page-child .et_pb_toggle .et_pb_toggle_content { padding: 0 18px 20px !important; }
}

/* =====================================================================
   Instrument sub-pages: article text, numbered Q&A, plain pages, CTA
   ===================================================================== */

/* Long article text in a comfortable reading column (price-list cards keep full width) */
.page-child .et_pb_text:not(:has(> .et_pb_text_inner > ul)) {
	max-width: 820px;
	margin-left: auto;
	margin-right: auto;
}
.page-child .et_pb_text p { font-size: 16.5px; color: #343b4b; padding-bottom: 1.1em; text-wrap: pretty; }
.page-child .et_pb_text sup { font-size: .65em; line-height: 0; }

/* Article heading: serif with an accent rule */
.page-child .et_pb_text_inner > h3:first-child,
.page-child .entry-content > h3:first-child {
	position: relative;
	margin: 20px 0 28px;
	padding-bottom: 20px;
	font-size: clamp(26px, 3.6vw, 36px);
	line-height: 1.2;
}
.page-child .et_pb_text_inner > h3:first-child::after,
.page-child .entry-content > h3:first-child::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 52px;
	height: 3px;
	border-radius: 3px;
	background: linear-gradient(90deg, var(--js-blue), var(--js-rust));
}

/* Numbered Q&A lists become question cards with indented answers */
.page-child .et_pb_text ol,
.page-child .entry-content ol { list-style: none; counter-reset: jsq; padding: 0; margin: 8px 0 24px; }
.page-child .et_pb_text ol > li,
.page-child .entry-content ol > li {
	counter-increment: jsq;
	position: relative;
	margin: 0 0 16px;
	padding: 20px 26px 18px 76px;
	background: #fff;
	border: 1px solid var(--js-line);
	border-radius: 14px;
	box-shadow: 0 1px 2px rgba(20, 24, 40, .04);
	font-weight: 600;
	line-height: 1.55;
	color: var(--js-ink);
}
.page-child .et_pb_text ol > li::before,
.page-child .entry-content ol > li::before {
	content: counter(jsq);
	position: absolute;
	left: 22px;
	top: 16px;
	width: 36px;
	height: 36px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: rgba(76, 139, 201, .12);
	color: var(--js-blue);
	font-size: 15px;
	font-weight: 700;
}
.page-child .et_pb_text ol ol,
.page-child .entry-content ol ol { margin: 14px 0 4px; counter-reset: none; }
.page-child .et_pb_text ol ol > li,
.page-child .entry-content ol ol > li {
	counter-increment: none;
	padding: 14px 18px;
	margin: 0 0 10px;
	background: var(--js-paper);
	border: 0;
	border-left: 3px solid var(--js-blue);
	border-radius: 0 10px 10px 0;
	box-shadow: none;
	font-weight: 400;
	color: #3a4152;
}
.page-child .et_pb_text ol ol > li::before,
.page-child .entry-content ol ol > li::before { display: none; }

/* "QUESTIONS OFTEN ASKED ..." lead-in */
.page-child .et_pb_text p:has(+ ol),
.page-child .entry-content p:has(+ ol) {
	margin-top: 28px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--js-rust);
}

/* Plain (non-Divi-builder) pages such as Plastic clarinet: no shop sidebar, full-width reading column */
.page-child.et_right_sidebar #sidebar { display: none; }
.page-child.et_right_sidebar #left-area { width: 100%; padding-right: 0; float: none; }
.page-child.et_right_sidebar #main-content .container::before { display: none; }
body.page-child:not(.et_pb_pagebuilder_layout) .entry-content { max-width: 820px; margin: 0 auto; }
body.page-child:not(.et_pb_pagebuilder_layout) .entry-content p { font-size: 16.5px; line-height: 1.85; padding-bottom: 1.1em; }
.page-child h1.entry-title,
.page-child h1.main_title {
	max-width: 820px;
	margin: 0 auto 8px;
	font-size: clamp(34px, 5vw, 48px);
	line-height: 1.1;
}

/* Call-to-action card at the end of instrument pages */
.js-cta {
	max-width: 820px;
	margin: 48px auto 24px;
	padding: 36px 40px;
	text-align: center;
	background: linear-gradient(135deg, #eef3f9 0%, #f6f3ee 100%);
	border: 1px solid var(--js-line);
	border-radius: 20px;
	box-shadow: var(--js-shadow);
}
.js-cta h3 { font-size: 28px; margin: 0 0 8px; padding: 0; }
.js-cta p { color: var(--js-muted); margin: 0 0 22px; padding: 0; }
.js-cta a.js-cta-btn {
	display: inline-block;
	padding: 14px 36px;
	border-radius: 999px;
	background: var(--js-blue);
	color: #fff !important;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	box-shadow: 0 8px 20px rgba(76, 139, 201, .28);
	transition: background-color .2s ease, transform .2s ease;
}
.js-cta a.js-cta-btn:hover { background: var(--js-rust); transform: translateY(-1px); }
@media (max-width: 767px) { .js-cta { padding: 28px 22px; margin: 32px 16px 16px; } }
