/* PBWC Bridge Classic – additions on top of the original Bridge/WPBakery CSS */
:root {
	--pbwc-navy: #1b0c5c;
	--pbwc-coral: #f25c54;
	--pbwc-gold: #f8c556;
	--pbwc-cream: #fafaf5;
	--pbwc-text: #303030;
}

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.skip-link:focus { position: fixed !important; top: 8px; left: 8px; width: auto; height: auto; clip: auto; z-index: 100000; background: #fff; padding: 10px 14px; }

/* Title bar for non-builder templates */
.pbwc-page-title { background: var(--pbwc-cream); padding: 64px 0 8px; }
.pbwc-page-title h1.entry-title { display: block; color: var(--pbwc-navy); font-family: 'Palanquin', 'Helvetica Neue', Arial, sans-serif; font-weight: 700; font-size: 42px; line-height: 1.2; margin: 0; text-transform: none; letter-spacing: 0; }
.pbwc-page-title h1.entry-title:after { content: ""; display: block; width: 76px; height: 6px; background: var(--pbwc-gold); margin-top: 18px; }
.pbwc-page-subtitle { margin: 12px 0 0; color: #555; }

.default_template_holder { padding-top: 32px; padding-bottom: 64px; }

/* Readable content for converted (non-builder) content */
.pbwc-entry { font-size: 16px; line-height: 1.7; color: var(--pbwc-text); }
.pbwc-entry p { margin: 0 0 1em !important; }
.pbwc-entry h1, .pbwc-entry h2, .pbwc-entry h3, .pbwc-entry h4 { color: var(--pbwc-navy); margin: 1.2em 0 .5em; line-height: 1.3; }
.pbwc-entry h1 { font-size: 30px; } .pbwc-entry h2 { font-size: 26px; } .pbwc-entry h3 { font-size: 21px; } .pbwc-entry h4 { font-size: 18px; }
.pbwc-entry ul, .pbwc-entry ol { margin: 0 0 1em 1.4em; }
.pbwc-entry ul li { list-style: disc; } .pbwc-entry ol li { list-style: decimal; }
.pbwc-entry a { color: #d8473f; text-decoration: underline; }
.pbwc-entry img { max-width: 100%; height: auto; }
.pbwc-entry table { max-width: 100%; border-collapse: collapse; }
.pbwc-entry td, .pbwc-entry th { padding: 4px 8px; vertical-align: top; }
.pbwc-entry iframe, .pbwc-entry video { max-width: 100%; }
.pbwc-entry .wp-block-button__link, .pbwc-entry .qbutton { text-decoration: none; }

/* legacy (1996–2015) content: neutralise old fixed widths / fonts */
.pbwc-legacy-content table[width], .pbwc-legacy-content td[width], .pbwc-legacy-content div[style*="width"] { width: auto !important; max-width: 100%; }
.pbwc-legacy-content font { font-family: inherit !important; font-size: inherit !important; }
.pbwc-legacy-content center { text-align: left; }
.pbwc-legacy-content dl dt { font-weight: 700; margin-top: .8em; }
.pbwc-legacy-content dl dd { margin: 0 0 .4em 0; }
.pbwc-legacy-layout.has-children { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 48px; align-items: start; }
.pbwc-legacy-children { background: #f1f0ec; padding: 22px 24px; border-top: 6px solid var(--pbwc-gold); }
.pbwc-legacy-children h5 { color: var(--pbwc-navy); margin: 0 0 10px; letter-spacing: 1px; }
.pbwc-legacy-children ul { margin: 0; padding: 0; list-style: none; }
.pbwc-legacy-children li { padding: 6px 0; border-bottom: 1px solid #e0ded6; list-style: none; }
.pbwc-legacy-children a { color: var(--pbwc-navy); }
.pbwc-breadcrumb { font-size: 13px; color: #777; margin: 0 0 24px; }
.pbwc-breadcrumb a { color: var(--pbwc-navy); }
.pbwc-breadcrumb .sep { margin: 0 4px; color: #bbb; }
.pbwc-archive-note { margin-top: 48px; font-size: 12px; color: #999; }

/* Events */
.pbwc-event-single { padding-top: 72px !important; }
.pbwc-event-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 48px; align-items: start; }
.pbwc-event-grid > :only-child { grid-column: 1 / -1; }
.pbwc-event-image img { width: 100%; height: auto; display: block; }
.pbwc-event-summary .product_title { color: var(--pbwc-navy); font-size: 34px; line-height: 1.25; margin: 0 0 12px; }
.pbwc-event-cats { font-size: 13px; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 18px; }
.pbwc-event-cats a { color: var(--pbwc-coral); }
.pbwc-event-back { margin-top: 32px; }

/* People */
.pbwc-person { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 40px; align-items: start; margin-bottom: 32px; }
.pbwc-person > :only-child { grid-column: 1 / -1; }
.pbwc-person-photo img { width: 100%; height: auto; }

/* Listing cards */
.pbwc-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.pbwc-cards-people { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pbwc-card { background: #fff; border: 1px solid #ecebe6; display: flex; flex-direction: column; }
.pbwc-card-thumb { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--pbwc-navy); }
.pbwc-card-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.pbwc-card:hover .pbwc-card-thumb img { transform: scale(1.03); }
.pbwc-cards-people .pbwc-card-thumb { aspect-ratio: 1 / 1; }
.pbwc-cards-people .pbwc-card-thumb img { object-position: top center; }
.pbwc-card-placeholder { display: flex; height: 100%; align-items: center; justify-content: center; color: #fff; font-size: 34px; font-weight: 700; letter-spacing: 2px; }
.pbwc-card-body { padding: 18px 20px 22px; border-top: 6px solid var(--pbwc-gold); }
.pbwc-card-date { font-size: 12px; color: #888; text-transform: uppercase; letter-spacing: 1px; }
.pbwc-card-title { font-size: 18px !important; line-height: 1.35 !important; margin: 6px 0 8px !important; font-weight: 700; letter-spacing: 0 !important; text-transform: none !important; }
.pbwc-card-title a { color: var(--pbwc-navy); }
.pbwc-card-excerpt { font-size: 14px; line-height: 1.6; margin: 0; color: #555; }
.pbwc-pagination ul { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 40px 0 0; padding: 0; }
.pbwc-pagination li { list-style: none; }
.pbwc-pagination a, .pbwc-pagination span { display: inline-block; min-width: 38px; padding: 8px 12px; text-align: center; border: 1px solid #ddd; color: var(--pbwc-navy); }
.pbwc-pagination .current { background: var(--pbwc-navy); color: #fff; border-color: var(--pbwc-navy); }
.blog_single .post_info { margin-bottom: 24px; font-size: 13px; color: #777; text-transform: uppercase; letter-spacing: 1px; }
.pbwc-post-nav { display: flex; justify-content: space-between; gap: 24px; margin-top: 40px; font-size: 14px; }

/* footer CTA buttons are links now */
footer .flexRow a { text-decoration: none; }
footer .footerbottom { margin-top: 18px; }

@media (max-width: 1000px) {
	.pbwc-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pbwc-cards-people { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pbwc-legacy-layout.has-children, .pbwc-event-grid, .pbwc-person { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.pbwc-cards, .pbwc-cards-people { grid-template-columns: 1fr; }
	.pbwc-page-title h1.entry-title { font-size: 30px; }
	.pbwc-page-title { padding-top: 40px; }
	.pbwc-entry table, .pbwc-entry tbody, .pbwc-entry tr, .pbwc-entry td { display: block; width: 100% !important; }
}

/* single post body aligned with title */
.blog_single.blog_holder article .post_text .post_text_inner { padding: 0 !important; background: transparent !important; }
.blog_single.blog_holder article .post_image { margin-bottom: 28px; max-width: 760px; }
.pbwc-contact-block { margin: 0 auto 60px; }

/* keep all non-builder templates on the same 1100px grid as the title bar */
.content .container .container_inner.default_template_holder { width: 1100px !important; max-width: calc(100% - 40px); margin-left: auto !important; margin-right: auto !important; padding-left: 0 !important; padding-right: 0 !important; }
.pbwc-page-title .container_inner { max-width: calc(100% - 40px); }
.pbwc-card-title a { font-size: inherit !important; line-height: inherit !important; font-weight: 700 !important; letter-spacing: 0 !important; }
