/* Private Events page (page-private-events.php / cbco-private-events.php), 2026-09-30.
 * Loads on top of cbco-location.css: hero, facts strip, paired row, cards, buttons, gallery
 * and the poster band are the location page's. This file adds the spaces list with
 * capacities, the inquiry band, and the Gravity Forms 9 styling in the same vocabulary. */

.cbco-pe h4 { font-family: 'Oswald', 'Arial Narrow', Arial, sans-serif; text-transform: uppercase; letter-spacing: .01em; line-height: 1.05; margin: 0; padding: 0; color: inherit; font-size: 24px; font-weight: 600; text-wrap: balance; }
.cbco-loc h1.cbco-pe__h1 { max-width: 13ch; }
.cbco-pe img.cbco-loc__hero-img { object-position: 60% 55%; }
.cbco-pe .cbco-loc__hero-in, body .container-wrap.cbco-pe .cbco-loc__hero-in { padding-top: 96px !important; padding-bottom: 96px !important; min-height: 600px; }
@media (max-width: 760px) {
	.cbco-pe img.cbco-loc__hero-img { object-position: 50% 40%; }
	.cbco-pe .cbco-loc__hero-in, body .container-wrap.cbco-pe .cbco-loc__hero-in { padding-top: 64px !important; padding-bottom: 56px !important; }
}

/* the pitch: paired row then three cards */
.cbco-pe__cards { margin-top: 44px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.cbco-pe__cards h3 { font-size: 22px; }
.cbco-pe__cards .cbco-loc__card-text { font-size: 15px; }

/* ---------- the spaces ---------- */
.cbco-pe__loc + .cbco-pe__loc { margin-top: 48px; padding-top: 40px; border-top: 1px solid var(--lp-line); }
.cbco-pe__loc-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; }
.cbco-pe__loc-head h3 { font-size: 26px; color: var(--lp-navy); }
.cbco-loc a.cbco-pe__loc-link { font-family: 'Oswald', Arial, sans-serif; text-transform: uppercase; letter-spacing: .1em; font-size: 13px; font-weight: 500; color: var(--lp-ember-deep); text-decoration: none; }
.cbco-loc a.cbco-pe__loc-link:hover { color: var(--lp-navy); text-decoration: underline; text-underline-offset: 3px; }
.cbco-pe__spaces { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.cbco-pe__space { background: #fff; border: 1px solid var(--lp-line); border-radius: 12px; overflow: hidden; display: grid; grid-template-columns: 42% 1fr; transition: transform .2s ease, box-shadow .2s ease; }
.cbco-pe__space:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(1, 32, 127, .12); }
.cbco-pe__space-ph { display: block; position: relative; min-height: 240px; background: var(--lp-cream); }
.cbco-pe__space-ph img, .cbco-loc .cbco-pe__space-ph img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.cbco-pe__space-txt { padding: 24px 26px 24px; display: flex; flex-direction: column; gap: 12px; }
.cbco-pe__space-txt p { font-size: 14.5px; color: var(--lp-muted); line-height: 1.55; }
.cbco-pe__cap { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; }
.cbco-pe__cap span { display: inline-flex; align-items: baseline; gap: 6px; }
.cbco-pe__cap b { font-family: 'Oswald', Arial, sans-serif; font-size: 28px; line-height: 1; font-weight: 700; color: var(--lp-navy); font-variant-numeric: tabular-nums; }
.cbco-pe__cap i { font-style: normal; font-family: 'Oswald', Arial, sans-serif; text-transform: uppercase; letter-spacing: .1em; font-size: 12px; font-weight: 500; color: var(--lp-ember-deep); }
.cbco-pe__cap small { flex-basis: 100%; font-size: 12px; color: var(--lp-muted); }
.cbco-loc a.cbco-pe__space-cta { margin-top: auto; padding-top: 6px; font-family: 'Oswald', Arial, sans-serif; text-transform: uppercase; letter-spacing: .1em; font-size: 13px; font-weight: 600; color: var(--lp-ember-deep); text-decoration: none; }
.cbco-loc a.cbco-pe__space-cta:hover { color: var(--lp-navy); }
@media (max-width: 1000px) { .cbco-pe__spaces { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .cbco-pe__space { grid-template-columns: 1fr; } .cbco-pe__space-ph { min-height: 0; aspect-ratio: 4 / 3; } }

/* ---------- the inquiry band ---------- */
.cbco-pe__inquire-in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 48px; align-items: start; }
.cbco-pe__inquire-txt { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 110px; }
.cbco-pe__inquire-txt h2 { color: #fff; }
.cbco-pe__inquire-txt > p { color: var(--lp-on-dark-text); font-size: 17px; max-width: 42ch; }
.cbco-loc ul.cbco-pe__steps { display: flex; flex-direction: column; gap: 14px; margin-top: 10px; }
.cbco-loc ul.cbco-pe__steps li { display: grid; grid-template-columns: 34px 1fr; gap: 14px; align-items: start; color: var(--lp-on-dark-text); font-size: 15px; line-height: 1.5; }
.cbco-loc ul.cbco-pe__steps b { width: 34px; height: 34px; border-radius: 50%; background: var(--lp-ember); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-family: 'Oswald', Arial, sans-serif; font-weight: 600; font-size: 15px; }
.cbco-pe__form { background: #fff; border-radius: 16px; padding: clamp(22px, 3vw, 36px); color: var(--lp-ink); box-shadow: 0 20px 50px rgba(0, 0, 0, .18); }
@media (max-width: 900px) {
	.cbco-pe__inquire-in { grid-template-columns: 1fr; gap: 28px; }
	.cbco-pe__inquire-txt { position: static; }
}

/* Gravity Forms 9 inside the white card: brand colours through GF's own variables, Oswald labels,
   rounded fields, the ember pill submit. The plugin's per-form colours (white type, for the old
   navy panel) are page content and do not load on this template. */
.cbco-pe .gform_wrapper.gform-theme { --gf-color-primary: #01207f; --gf-color-primary-rgb: 1, 32, 127; --gf-color-primary-darker: #010f52; --gf-color-primary-lighter: #0233cb; --gf-color-in-ctrl-primary: #01207f; --gf-color-in-ctrl-primary-rgb: 1, 32, 127; --gf-color-in-ctrl-primary-darker: #010f52; --gf-color-in-ctrl-primary-lighter: #0233cb; --gf-ctrl-border-color: #dcd7c9; --gf-ctrl-radius: 10px; --gf-ctrl-size: 50px; --gf-form-gap-y: 20px; --gf-form-gap-x: 18px; --gf-font-size-primary: 16px; --gf-color-danger: #b3261e; --gf-color-out-ctrl-dark: #5f6472; --gf-color-in-ctrl-contrast: #1c1f2a; }
.cbco-pe .gform_wrapper.gform-theme .gfield .gfield_label, .cbco-pe .gform_wrapper.gform-theme .gfield legend.gfield_label { font-family: 'Oswald', Arial, sans-serif !important; text-transform: uppercase; letter-spacing: .08em !important; font-size: 13px !important; font-weight: 500 !important; color: var(--lp-navy) !important; margin-bottom: 8px !important; }
.cbco-pe .gform_wrapper.gform-theme .gfield .gfield_required { font-size: 11px !important; color: var(--lp-ember-deep) !important; letter-spacing: .04em; }
.cbco-pe .gform_wrapper.gform-theme .gfield .ginput_complex label, .cbco-pe .gform_wrapper.gform-theme .gfield .ginput_container_name label { font-size: 12px !important; color: var(--lp-muted) !important; font-family: 'Open Sans', Arial, sans-serif; }
.cbco-pe .gform_wrapper.gform-theme .gfield .gchoice label, .cbco-pe .gform_wrapper.gform-theme .gfield .gfield_consent_label { font-size: 15px !important; color: var(--lp-ink) !important; font-family: 'Open Sans', Arial, sans-serif; }
.cbco-pe .gform_wrapper.gform-theme .gfield_description { font-size: 13px; color: var(--lp-muted); font-family: 'Open Sans', Arial, sans-serif; }
.cbco-pe .gform_wrapper.gform-theme input[type=text], .cbco-pe .gform_wrapper.gform-theme input[type=email], .cbco-pe .gform_wrapper.gform-theme input[type=tel], .cbco-pe .gform_wrapper.gform-theme input[type=number], .cbco-pe .gform_wrapper.gform-theme select, .cbco-pe .gform_wrapper.gform-theme textarea { font-family: 'Open Sans', Arial, sans-serif; font-size: 16px; color: var(--lp-ink); background: #fff; }
.cbco-pe .gform_wrapper.gform-theme .gform_footer, .cbco-pe .gform_wrapper.gform-theme .gform-footer { margin-top: 8px; padding: 0; }
.cbco-pe .gform_wrapper.gform-theme .gform_footer .gform_button, .cbco-pe .gform_wrapper.gform-theme .gform-footer .gform_button, .cbco-pe .gform_wrapper.gform-theme .gfield#field_submit .gform-button { background: var(--lp-ember) !important; border: 2px solid var(--lp-ember) !important; color: #fff !important; border-radius: 999px !important; padding: .9em 2.2em !important; font-family: 'Oswald', Arial, sans-serif !important; text-transform: uppercase; letter-spacing: .08em !important; font-size: 15px !important; font-weight: 500 !important; line-height: 1.2 !important; height: auto !important; cursor: pointer; transition: background .15s, transform .15s; }
.cbco-pe .gform_wrapper.gform-theme .gform_footer .gform_button:hover, .cbco-pe .gform_wrapper.gform-theme .gform-footer .gform_button:hover, .cbco-pe .gform_wrapper.gform-theme .gfield#field_submit .gform-button:hover { background: var(--lp-ember-deep) !important; border-color: var(--lp-ember-deep) !important; transform: translateY(-1px); }
.cbco-pe .gform_wrapper.gform-theme .gform_validation_errors { border-radius: 10px; }
.cbco-pe .gform_confirmation_message, .cbco-pe .gform_confirmation_wrapper { font-size: 18px; line-height: 1.5; color: var(--lp-ink); }
.cbco-pe .gform_confirmation_message a { color: var(--lp-navy); text-decoration: underline; }

/* ---------- photo strip: three across ---------- */
.cbco-pe__gal { grid-template-columns: repeat(3, 1fr); }
.cbco-pe__gal span { aspect-ratio: 4 / 3; }
@media (max-width: 700px) { .cbco-pe__gal { grid-template-columns: 1fr 1fr; } }

/* ---------- weddings poster band (the location page's give-back block) ---------- */
.cbco-pe__wed { min-height: 560px; }
/* the couple stands left of centre in photo 604 and the photo spans the full band width, so the
   navy panel sits on the RIGHT here and the text with it (Joanna, 2026-09-30) */
.cbco-pe__wed::before { left: auto; right: 0; width: 50%; }
/* the band is wider than the photo's 3:2, so object-position cannot slide it sideways: draw the
   photo 135% wide and pull it left, which puts the couple (≈45% across the frame) at ≈30% of the band */
.cbco-pe__wed .cbco-loc__give-ph img, .cbco-loc .cbco-pe__wed .cbco-loc__give-ph img { left: -35%; right: auto; width: 135%; object-position: 50% 45%; }
@media (max-width: 860px) { .cbco-pe__wed .cbco-loc__give-ph img, .cbco-loc .cbco-pe__wed .cbco-loc__give-ph img { left: 0; width: 100%; object-position: 40% 45%; } }
.cbco-pe__wed .cbco-loc__give-txt { padding: 80px 0 90px; margin-left: auto; max-width: calc(50vw - 80px); }
@media (max-width: 860px) { .cbco-pe__wed .cbco-loc__give-txt { margin-left: 0; max-width: none; } }
.cbco-pe__wed .cbco-loc__eyebrow { color: var(--lp-on-dark-accent); }
@media (max-width: 860px) { .cbco-pe__wed .cbco-loc__give-txt { padding: 40px 0 56px; } }

/* ---------- 2026-09-30 traffic work: prices on the cards, occasions row, pricing section, FAQ ---------- */
.cbco-pe__loc-head h3 small { display: inline-block; margin-left: 10px; font-family: 'Oswald', Arial, sans-serif; text-transform: uppercase; letter-spacing: .1em; font-size: 12px; font-weight: 500; color: var(--lp-muted); vertical-align: middle; }
/* the "from" line on a space card */
.cbco-pe p.cbco-pe__from { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; margin: 0; padding: 10px 12px; background: var(--lp-paper); border: 1px solid var(--lp-line); border-radius: 10px; font-size: 13px; color: var(--lp-muted); line-height: 1.3; }
.cbco-pe p.cbco-pe__from b { font-family: 'Oswald', Arial, sans-serif; font-size: 17px; font-weight: 600; color: var(--lp-navy); font-variant-numeric: tabular-nums; }
.cbco-pe p.cbco-pe__from b + span { margin-right: 6px; }
.cbco-pe p.cbco-pe__from span { font-family: 'Oswald', Arial, sans-serif; text-transform: uppercase; letter-spacing: .08em; font-size: 11px; }
/* occasions: the location cards, but as links */
.cbco-pe__occ { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.cbco-loc a.cbco-pe__occ-card { color: inherit; text-decoration: none; }
.cbco-loc a.cbco-pe__occ-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(1, 32, 127, .12); }
.cbco-pe__occ-card h3 { font-size: 21px; }
.cbco-pe__occ-card .cbco-loc__card-text { font-size: 14.5px; }
.cbco-pe__occ-more { display: block; margin-top: auto; padding-top: 12px; font-family: 'Oswald', Arial, sans-serif; text-transform: uppercase; letter-spacing: .1em; font-size: 13px; font-weight: 600; color: var(--lp-ember-deep); }
.cbco-loc a.cbco-pe__occ-card:hover .cbco-pe__occ-more { color: var(--lp-navy); }
/* how pricing works */
.cbco-pe__tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; }
.cbco-pe__tile { background: var(--lp-navy); color: #fff; border-radius: 12px; padding: 22px 22px 20px; display: flex; flex-direction: column; gap: 6px; }
.cbco-pe__tile-l { font-family: 'Oswald', Arial, sans-serif; text-transform: uppercase; letter-spacing: .12em; font-size: 12px; font-weight: 500; color: var(--lp-on-dark-accent); }
.cbco-pe__tile-n { font-family: 'Oswald', Arial, sans-serif; font-size: clamp(30px, 3vw, 40px); line-height: 1; font-weight: 700; font-variant-numeric: tabular-nums; }
.cbco-pe__tile-n i { font-style: normal; font-size: 15px; font-weight: 400; text-transform: uppercase; letter-spacing: .1em; color: var(--lp-on-dark-muted); margin-right: 2px; }
.cbco-pe__tile-s { font-size: 13.5px; color: var(--lp-on-dark-text); line-height: 1.4; }
.cbco-loc ul.cbco-pe__notes { margin: 28px 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 32px; }
.cbco-loc ul.cbco-pe__notes li { position: relative; padding-left: 24px; font-size: 15px; color: var(--lp-muted); line-height: 1.5; }
.cbco-loc ul.cbco-pe__notes li::before { content: ""; position: absolute; left: 0; top: .7em; width: 14px; border-top: 3px solid var(--lp-ember); }
.cbco-pe__pricing .cbco-loc__acts--top { margin-top: 30px; align-items: center; gap: 16px; flex-wrap: wrap; }
.cbco-pe__acts-note { font-size: 14px; color: var(--lp-muted); }
@media (max-width: 760px) { .cbco-loc ul.cbco-pe__notes { grid-template-columns: 1fr; } }
/* FAQ section: the location pages' FAQ block, on this page's white band */
.cbco-pe__faq .cbco-faq { max-width: 900px; }
