/* Balloon Dude v1.0.53 */
/**
 * Balloon Dude — Custom CSS
 * Extracted from Figma design (node 1:2)
 * Fonts: Bricolage Grotesque (headings), Manrope (body)
 */

/* ── Reset / Base ──────────────────────────────────────────────────────────── */

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	background-color: #000;
	color: #fff;
	font-family: var(--wp--preset--font-family--manrope), sans-serif;
}

a { color: var(--wp--preset--color--lavender); text-decoration: none; }
a:hover { color: var(--wp--preset--color--cyan); }

/* ── Header ─────────────────────────────────────────────────────────────────── */

.bd-header {
	position: sticky;
	top: 0;
	z-index: 100;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.bd-site-title a {
	background: linear-gradient(90deg, #fff 0%, #fff 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	letter-spacing: 1.36px;
	text-transform: uppercase;
	font-weight: 900;
	text-decoration: none;
}

.bd-nav .wp-block-navigation__container { gap: 54px; }

.bd-nav a {
	color: var(--wp--preset--color--lavender) !important;
	letter-spacing: 1.55px;
	text-transform: uppercase;
	font-weight: 700;
	font-size: 14px;
	font-family: var(--wp--preset--font-family--manrope);
	transition: color 0.2s ease;
	text-decoration: none;
}

.bd-nav a:hover { color: #fff !important; }

/* ── Buttons — global ────────────────────────────────────────────────────────── */

:root :where(.wp-block-button .wp-block-button__link) {
	border-radius: 0 !important;
}

.wp-block-button__link {
	font-family: var(--wp--preset--font-family--bricolage-grotesque) !important;
	font-weight: 800 !important;
	font-size: 14px !important;
	letter-spacing: 1.25px !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	padding: 18px 34px !important;
	border-radius: 0 !important;
}

/* Header CTA */
.bd-btn-cta .wp-block-button,
.bd-header-cta .wp-block-button {
	position: relative !important;
	display: inline-block !important;
	isolation: isolate;
}

.bd-btn-cta .wp-block-button::after,
.bd-header-cta .wp-block-button::after {
	content: '' !important;
	position: absolute !important;
	top: 6px !important; left: 6px !important;
	right: -6px !important; bottom: -6px !important;
	background: var(--wp--preset--color--yellow) !important;
	z-index: -1 !important;
	display: block !important;
	pointer-events: none;
}

.bd-btn-cta .wp-block-button__link,
.bd-header-cta .wp-block-button__link {
	position: relative !important;
	z-index: 2 !important;
	box-shadow: none !important;
}

/* Hero CTA */
.bd-btn-primary .wp-block-button {
	position: relative !important;
	display: inline-block !important;
	isolation: isolate;
}

.bd-btn-primary .wp-block-button::after {
	content: '' !important;
	position: absolute !important;
	top: 6px !important; left: 6px !important;
	right: -6px !important; bottom: -6px !important;
	background: var(--wp--preset--color--yellow) !important;
	z-index: -1 !important;
	display: block !important;
	pointer-events: none;
}

.bd-btn-primary .wp-block-button__link {
	position: relative !important;
	z-index: 2 !important;
	box-shadow: none !important;
	transition: background 0.2s, transform 0.15s;
}

.bd-btn-primary .wp-block-button__link:hover {
	background: var(--wp--preset--color--yellow) !important;
	transform: translateY(-2px);
}

/* ── Hero ────────────────────────────────────────────────────────────────────── */

.bd-hero {
	position: relative;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	overflow: visible !important;
}

.bd-hero__content {
	position: relative;
	z-index: 2;
}

/* Fix #1: wp-block-paragraph not showing under h1 in bd-hero__content */
.bd-hero__content .wp-block-paragraph,
.bd-hero__content p {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.bd-hero__heading {
	background: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 100%),
	            linear-gradient(90deg, #ffffff 0%, #e9d4ff 50%, #ffffff 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	font-family: var(--wp--preset--font-family--bricolage-grotesque) !important;
	font-weight: 800 !important;
	filter: drop-shadow(0 0 30px rgba(217,70,239,0.5));
	animation: bd-fade-up 0.8s ease both;
}

.bd-hero__sub { animation: bd-fade-up 0.8s 0.15s ease both; }
.wp-block-buttons .bd-btn-primary { animation: bd-fade-up 0.8s 0.3s ease both; }

/* ── Headline Highlights ─────────────────────────────────────────────────────── */

.bd-headline-group { margin-bottom: 0; }
.bd-headline-highlight { display: inline-block; margin-bottom: -8px; }

.bd-highlight {
	display: inline-block;
	font-family: var(--wp--preset--font-family--bricolage-grotesque);
	font-size: clamp(48px, 6vw, 118px);
	font-weight: 800;
	line-height: 1;
	padding: 0 12px;
	position: relative;
}

.bd-highlight--magenta {
	background: linear-gradient(164deg, #fd1999 0%, #fd1999 100%);
	color: #000;
	transform: rotate(-1.9deg);
	display: inline-block;
	box-shadow: 0 0 40px rgba(253,25,153,0.7), 0 0 80px rgba(253,25,153,0.4);
}

.bd-highlight--cyan {
	background: linear-gradient(166deg, #09e4fb 0%, #09e4fb 100%);
	color: #fd1999;
	transform: rotate(-1.9deg);
	display: inline-block;
	filter: drop-shadow(0 0 20px rgba(9,228,251,0.7));
}

.bd-headline-plain { margin-top: 4px !important; }

/* ── Section Labels ──────────────────────────────────────────────────────────── */

.bd-section-label {
	font-family: var(--wp--preset--font-family--manrope) !important;
	font-weight: 900 !important;
	font-size: 12px !important;
	letter-spacing: 3px !important;
	text-transform: uppercase !important;
}

.bd-services-tagline {
	font-family: var(--wp--preset--font-family--bricolage-grotesque) !important;
	font-weight: 800 !important;
	font-size: 14px !important;
	letter-spacing: 0.55px !important;
	text-transform: uppercase !important;
}

/* ── Photo Strip ─────────────────────────────────────────────────────────────── */

.bd-photo-strip { background: transparent !important; padding: 0 0 60px; overflow: hidden; }
.bd-photo-strip__track {
	display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important;
	gap: 32px; padding: 0 40px; overflow-x: auto;
	justify-content: center; align-items: flex-start; scrollbar-width: none;
}
.bd-photo-strip__track::-webkit-scrollbar { display: none; }
.bd-photo-card { flex: 0 0 auto !important; width: clamp(200px, 22vw, 320px); }
.bd-photo-card__inner { padding: 16px 16px 6px; }
.bd-photo-card__inner img { display: block; width: 100%; height: clamp(200px, 26vw, 380px); object-fit: cover; }
/* #6: pink card border changed from #ff1493 to #fd1999 */
.bd-photo-card--green   .bd-photo-card__inner { background:#0d0d0d; border:6px solid #9efd2a; box-shadow:0 0 16px rgba(158,253,42,0.65),0 12px 40px rgba(0,0,0,0.8); transform:rotate(3.16deg);   margin-top:20px; }
.bd-photo-card--pink    .bd-photo-card__inner { background:#0d0d0d; border:6px solid #fd1999; box-shadow:0 0 24px rgba(253,25,153,0.55),0 12px 40px rgba(0,0,0,0.8); transform:rotate(-8deg);    margin-top:0; }
.bd-photo-card--magenta .bd-photo-card__inner { background:#0d0d0d; border:6px solid #fd1999; box-shadow:0 0 32px rgba(253,25,153,0.65),0 12px 48px rgba(0,0,0,0.9); transform:rotate(-1deg);    margin-top:10px; }
.bd-photo-card--cyan    .bd-photo-card__inner { background:#0d0d0d; border:6px solid #09e4fb; box-shadow:0 0 12px rgba(9,228,251,0.55);                              transform:rotate(7deg);     margin-top:0; }
.bd-photo-card--yellow  .bd-photo-card__inner { background:#0d0d0d; border:6px solid #fef00d; box-shadow:0 0 24px rgba(254,240,13,0.55),0 12px 40px rgba(0,0,0,0.8);   transform:rotate(-0.62deg); margin-top:20px; }

/* ── What We Do ──────────────────────────────────────────────────────────────── */

.bd-section--what-we-do { background: #000; position: relative; overflow: hidden; padding: 80px 0; }

.bd-what-we-do__layout {
	display: grid !important; grid-template-columns: 1fr 1fr;
	gap: 80px; align-items: center;
	max-width: 1400px; margin: 0 auto; padding: 80px 60px;
}

.bd-what-we-do__icons { position: relative !important; height: clamp(380px, 45vw, 600px) !important; width: 100% !important; }

.bd-event-icon {
	position: absolute !important; object-fit: contain !important;
	opacity: 0; filter: none !important;
	transition: opacity 0.7s ease, transform 0.7s ease;
	transform: translateY(20px);
}

.bd-event-icon.bd-visible { opacity: 1 !important; transform: translateY(0) !important; }

.bd-event-icon--1 { width:clamp(190px,25vw,440px) !important; height:auto !important; top:0 !important; left:-80px !important; transition-delay:0.1s !important; transform:rotate(-5deg) translateY(20px) !important; }
.bd-event-icon--1.bd-visible { transform:rotate(-5deg) translateY(0) !important; }
.bd-event-icon--2 { width:clamp(200px,23vw,400px) !important; height:auto !important; top:clamp(20px,3vw,60px) !important; left:clamp(100px,14vw,200px) !important; transition-delay:0.25s !important; transform:rotate(-20deg) translateY(20px) !important; z-index:2; }
.bd-event-icon--2.bd-visible { transform:rotate(-20deg) translateY(0) !important; }
.bd-event-icon--3 { width:clamp(180px,25vw,340px) !important; height:auto !important; bottom:0 !important; top:auto !important; left:clamp(120px,18vw,260px) !important; transition-delay:0.4s !important; }
.bd-event-icon--3.bd-visible { transform:translateY(0) !important; }
.bd-event-icon--4 { width:clamp(200px,24vw,400px) !important; height:auto !important; bottom:clamp(-50px,-5vw,-50px) !important; top:auto !important; left:-30px !important; transition-delay:0.55s !important; z-index:2; }
.bd-event-icon--4.bd-visible { transform:translateY(0) !important; }

.bd-what-we-do__content { padding-right: 40px; }
.bd-what-we-do__content p:last-child { font-size: 13px !important; }
.bd-what-we-do__content p:nth-last-child(2) { margin-bottom: 35px !important; }

/* ── Find Us ─────────────────────────────────────────────────────────────────── */

.bd-section--find-us {
	background: linear-gradient(180deg, #fd1999 0%, #fd1999 100%) !important;
	padding: 80px 0; position: relative; overflow: hidden;
}

.bd-find-us__inner {
	display: grid !important; grid-template-columns: 1fr 1fr;
	gap: 80px; align-items: start;
	max-width: 1400px; margin: 0 auto; padding: 80px 60px;
}

.bd-find-us__right { display: flex; align-items: center; justify-content: center; }

.bd-section--find-us::after {
	content: "";
	position: absolute; inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
	background-repeat: repeat; background-size: 200px 200px;
	opacity: 0.25; pointer-events: none; z-index: 2; mix-blend-mode: multiply;
}

.bd-section--find-us div[style*="letter-spacing:1.2px"],
.bd-section--find-us div[style*="letter-spacing:3px"] {
	font-weight: 900 !important;
	font-family: 'Manrope', sans-serif !important;
}

@media (max-width: 900px) {
	.bd-find-us__inner { grid-template-columns: 1fr !important; }
	.bd-find-us__right { padding-top: 0; }
}

/* ── Order Form ──────────────────────────────────────────────────────────────── */

.bd-section--order { background: #000 !important; padding: 80px 0; }

.bd-section--order .wp-block-columns,
.bd-order__layout {
	display: grid !important; grid-template-columns: 45% 55%;
	gap: 80px; align-items: center;
	max-width: 1400px; margin: 0 auto; padding: 0 60px;
}

.bd-form {
	display: flex; flex-direction: column;
}

.bd-form__row {
	display: grid !important; grid-template-columns: 1fr 1fr;
	gap: 0; margin-bottom: 0;
}

.bd-form__row--full { grid-template-columns: 1fr !important; }

.bd-form__field { display: flex; flex-direction: column; }

.bd-form__field label {
	display: block;
	font-family: var(--wp--preset--font-family--manrope);
	font-weight: 600; font-size: 16px; color: #000;
	padding: 16px 17px 0;
	background: #fff;
	border-top: 1px solid #e0e0e0;
	border-right: 1px solid #e0e0e0;
}

.bd-form__field:first-child label { border-left: 1px solid #e0e0e0; }

.bd-form__field input,
.bd-form__field select,
.bd-form__field textarea {
	width: 100%; background: #fff;
	border: none; border-right: 1px solid #e0e0e0; border-bottom: 1px solid #e0e0e0;
	padding: 8px 17px 16px;
	font-family: var(--wp--preset--font-family--manrope);
	font-size: 16px; color: #000;
	outline: none; transition: background 0.15s;
	-webkit-appearance: none; appearance: none;
}

.bd-form__field:first-child input,
.bd-form__field:first-child select,
.bd-form__field:first-child textarea { border-left: 1px solid #e0e0e0; }

.bd-form__field input:focus,
.bd-form__field select:focus,
.bd-form__field textarea:focus {
	background: #fffde7;
	outline: 2px solid var(--wp--preset--color--cyan);
	outline-offset: -2px;
}

.bd-form__field textarea { resize: vertical; min-height: 120px; }

.bd-form__field select {
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23000' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 16px center; padding-right: 40px;
}

.bd-form__status {
	padding: 14px 16px; font-family: var(--wp--preset--font-family--manrope); font-size: 15px; margin-top: 16px;
}

.bd-form__status--success { background: rgba(158,253,42,0.15); border: 1px solid #9efd2a; color: #9efd2a; }
.bd-form__status--error { background: rgba(253,25,153,0.1); border: 1px solid #fd1999; color: #fd1999; }

.bd-form__actions { margin-top: 16px; display: flex; align-items: center; gap: 24px; }

/* Submit button — cyan bg, #fd1999 shadow */
.bd-btn-submit {
	position: relative;
	background: var(--wp--preset--color--cyan);
	border: 2px solid #000;
	color: #000;
	font-family: var(--wp--preset--font-family--bricolage-grotesque);
	font-weight: 800; font-size: 21px;
	padding: 16px 32px;
	cursor: pointer;
	transition: background 0.2s, transform 0.15s;
	display: inline-block;
	border-radius: 0;
}

/* #9: submit btn shadow color changed from #ff1493 to #fd1999 */
.bd-btn-submit::after {
	content: '';
	position: absolute;
	top: 5px; left: 5px; right: -5px; bottom: -5px;
	background: #fd1999;
	z-index: -1;
}

.bd-btn-submit:hover { background: var(--wp--preset--color--yellow); transform: translateY(-2px); }
.bd-btn-submit:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }

/* Attach files button */
.bd-attach-label {
	display: inline-flex; align-items: center; gap: 8px;
	font-family: var(--wp--preset--font-family--manrope);
	font-weight: 600; font-size: 16px; color: #fff;
	cursor: pointer; transition: color 0.2s;
}

.bd-attach-label:hover { color: var(--wp--preset--color--cyan); }
.bd-attach-label svg { flex-shrink: 0; }
.bd-attach-input { display: none; }
.bd-attach-name { font-size: 13px; color: var(--wp--preset--color--cyan); margin-top: 4px; }

/* Order heading — nowrap */
.bd-order-heading {
	white-space: nowrap !important;
	font-size: clamp(48px, 5vw, 96px) !important;
}

/* ── Testimonials ────────────────────────────────────────────────────────────── */

.bd-testimonials__grid { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 24px; }

.bd-testimonial-card__inner {
	background: #fff; border: 4px solid #000;
	padding: 28px 24px 24px; height: 100%;
	display: flex; flex-direction: column; gap: 12px;
}

.bd-testimonial-card--tilt-left-1  .bd-testimonial-card__inner { transform: rotate(-2.61deg); }
.bd-testimonial-card--tilt-left-2  .bd-testimonial-card__inner { transform: rotate(-1.22deg); }
.bd-testimonial-card--tilt-right   .bd-testimonial-card__inner { transform: rotate(2.11deg);  }
.bd-testimonial-card--tilt-left-3  .bd-testimonial-card__inner { transform: rotate(-2.72deg); }

/* #7: var(--wp--preset--color--hot-pink) avatar uses #fd1999 */
.bd-testimonial-card__avatar {
	width: 48px; height: 48px; border-radius: 50%;
	background: #fd1999; color: #fff;
	display: flex; align-items: center; justify-content: center;
	font-family: var(--wp--preset--font-family--bricolage-grotesque);
	font-weight: 800; font-size: 14px; flex-shrink: 0;
}

.bd-testimonial-card__name { font-family: var(--wp--preset--font-family--bricolage-grotesque); font-weight: 800; font-size: 20px; color: #000; margin: 0; line-height: 1.2; }
.bd-testimonial-card__date { font-family: var(--wp--preset--font-family--bricolage-grotesque); font-weight: 800; font-size: 16px; color: rgba(0,0,0,0.45); margin: 0; }
.bd-testimonial-card__stars { color: #f59e0b; font-size: 20px; letter-spacing: 2px; }
.bd-testimonial-card__quote { flex: 1; margin: 0; }
.bd-testimonial-card__quote p { font-family: var(--wp--preset--font-family--manrope); font-weight: 600; font-size: 16px; color: #000; line-height: 1.6; margin: 0; }
.bd-testimonial-card__read-more { font-family: var(--wp--preset--font-family--bricolage-grotesque); font-weight: 700; font-size: 16px; color: #000; text-decoration: none; margin-top: auto; display: inline-block; }
.bd-testimonial-card__read-more:hover { color: #fd1999; }

/* ── Footer ──────────────────────────────────────────────────────────────────── */

.bd-footer { border-top: 1px solid rgba(217,70,239,0.2); }
.bd-footer-list { list-style: none; padding: 0; margin: 0; }
.bd-footer-list li { margin-bottom: 8px; }
.bd-footer-list a { color: #fff; font-family: var(--wp--preset--font-family--manrope); font-size: 18px; text-decoration: none; opacity: 0.85; transition: opacity 0.2s, color 0.2s; }
.bd-footer-list a:hover { opacity: 1; color: var(--wp--preset--color--cyan); }

/* ── Animations ──────────────────────────────────────────────────────────────── */

@keyframes bd-fade-up {
	from { opacity: 0; transform: translateY(24px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* ── Global fixes ────────────────────────────────────────────────────────────── */

.bd-homepage { background: #000 !important; }
.wp-site-blocks { background: #000 !important; }
body { background: #000 !important; overflow-x: hidden !important; }

/* ── Responsive ──────────────────────────────────────────────────────────────── */

@media (max-width: 1024px) {
	.bd-testimonials__grid { grid-template-columns: repeat(2, 1fr); }
	.bd-nav .wp-block-navigation__container { gap: 24px; }
}

@media (max-width: 900px) {
	.bd-what-we-do__layout { grid-template-columns: 1fr !important; }
	.bd-section--order .wp-block-columns { grid-template-columns: 1fr !important; }
	.bd-form__row { grid-template-columns: 1fr !important; }
	.bd-photo-strip__track { justify-content: flex-start; }
}

@media (max-width: 768px) {
	.bd-testimonials__grid { grid-template-columns: 1fr !important; }
	.bd-header-cta { display: none; }
}

/* ── Editor Styles ───────────────────────────────────────────────────────────── */

.editor-styles-wrapper { background: #000 !important; color: #fff !important; }

/* ── Footer layout fix ───────────────────────────────────────────────────────── */
.bd-footer .wp-block-columns {
	max-width: 1400px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 80px 60px 0 !important;
}
.bd-footer > .wp-block-separator,
.bd-footer > p {
	max-width: 1400px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 60px !important;
	padding-right: 60px !important;
}

/* ── Footer logo size ────────────────────────────────────────────────────────── */
.bd-footer-logo,
.bd-footer .wp-block-image {
	text-align: left !important;
	width: 90px !important;
}
.bd-footer .wp-block-image img {
	width: 90px !important;
	height: auto !important;
}

/* ── Footer columns padding fix ─────────────────────────────────────────────── */
.bd-footer .wp-block-columns {
	padding: 80px 60px 80px !important;
}

/* ── Footer copyright margin ─────────────────────────────────────────────────── */
.bd-footer .has-text-color.wp-block-paragraph,
.bd-footer > p {
	margin-bottom: 24px !important;
	padding-left: 60px !important;
	padding-right: 60px !important;
}

/* ── Testimonials — infinite marquee ─────────────────────────────────────────── */
.bd-testimonials__grid { display: none !important; }

.bd-marquee-outer {
	overflow: hidden;
	width: 100%;
	-webkit-mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
	mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
}

.bd-marquee-track {
	display: flex;
	gap: 32px;
	width: max-content;
	animation: bd-marquee 40s linear infinite;
}

.bd-marquee-track:hover { animation-play-state: paused; }

@keyframes bd-marquee {
	0%   { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

.bd-marquee-track .bd-testimonial-card {
	flex: 0 0 360px;
	width: 360px;
}

.bd-marquee-track .bd-testimonial-card__inner {
	height: 100%;
	min-height: 280px;
}

.bd-testimonial-card__header {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 8px;
}

/* ── Marquee clip fix — allow vertical overflow for tilted cards ─────────────── */
.bd-marquee-outer {
	overflow-x: hidden !important;
	overflow-y: visible !important;
	padding: 40px 0 !important;
	/* Re-apply mask only horizontally */
	-webkit-mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%) !important;
	mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%) !important;
}

.bd-marquee-track {
	padding: 0 !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   Gallery Page
══════════════════════════════════════════════════════════════════════════════ */
.bd-gallery-hero h1 {
	background: linear-gradient(90deg, #fff 0%, #e9d4ff 50%, #fff 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	filter: drop-shadow(0 0 30px rgba(217,70,239,0.5));
}
.bd-section--gallery { background: #000 !important; }
.bd-gallery-grid { display:flex; flex-direction:column; gap:8px; margin-bottom:60px; }
.bd-gallery-row { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.bd-gallery-cell { overflow:hidden; background:#1a1a1a; }
.bd-gallery-cell img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.4s ease; }
.bd-gallery-cell:hover img { transform:scale(1.04); }
.bd-gallery-row--hidden { opacity:0; transform:translateY(32px); transition:opacity 0.65s ease, transform 0.65s ease; }
.bd-gallery-row--visible { opacity:1; transform:translateY(0); }
.bd-gallery-row[data-row="0"] { transition-delay:0s; }
.bd-gallery-row[data-row="1"] { transition-delay:0.12s; }
.bd-gallery-row[data-row="2"] { transition-delay:0.24s; }
.bd-gallery-row[data-row="3"] { transition-delay:0.36s; }
.bd-gallery-pagination { display:flex; align-items:center; justify-content:center; gap:8px; padding:20px 0 40px; }
.bd-page-arrow { background:transparent; border:none; cursor:pointer; width:36px; height:36px; display:flex; align-items:center; justify-content:center; opacity:0.7; transition:opacity 0.2s; padding:0; }
.bd-page-arrow:hover:not(:disabled) { opacity:1; }
.bd-page-arrow:disabled { opacity:0.25; cursor:not-allowed; }
.bd-page-btn { background:transparent; border:none; cursor:pointer; min-width:44px; height:60px; display:flex; align-items:center; justify-content:center; padding:0 4px; position:relative; }
.bd-page-num { font-family:var(--wp--preset--font-family--bricolage-grotesque); font-weight:800; font-size:21px; color:#fff; letter-spacing:0.07em; position:relative; z-index:2; line-height:1; }
.bd-page-btn--active { min-width:50px; }
.bd-page-balloon-wrap { position:relative; display:flex; align-items:center; justify-content:center; width:50px; height:60px; }
.bd-page-balloon { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; z-index:1; }
.bd-page-btn--active .bd-page-num { color:#000; z-index:2; position:relative; }
.bd-page-btn:not(.bd-page-btn--active):hover .bd-page-num { color:var(--wp--preset--color--cyan); }
@media (max-width:900px) {
	.bd-gallery-row { grid-template-columns:repeat(2,1fr); }
	.bd-section--gallery { padding:0 24px 60px; }
}
@media (max-width:480px) { .bd-gallery-row { grid-template-columns:1fr; } }

/* ── Gallery — override previous rules ───────────────────────────────────── */
.bd-section--gallery {
	background: #000 !important;
	max-width: 1400px !important;
	margin: 0 auto !important;
}

/* WP native gallery block — mosaic via CSS columns */
.bd-gallery-block.wp-block-gallery {
	column-count: 4 !important;
	column-gap: 8px !important;
	display: block !important; /* override WP flex */
	width: 100% !important;
}

.bd-gallery-block .wp-block-image {
	break-inside: avoid !important;
	margin: 0 0 8px !important;
	display: block !important;
	width: 100% !important;
}

.bd-gallery-block .wp-block-image img {
	width: 100% !important;
	height: auto !important;
	display: block !important;
	transition: transform 0.4s ease !important;
}

.bd-gallery-block .wp-block-image:hover img {
	transform: scale(1.03) !important;
}

/* Hide all pages except first by default */
.bd-gallery-page--hidden {
	display: none !important;
}

/* Pagination (reuse existing styles, just ensure position) */
.bd-gallery-pagination {
	margin-top: 48px;
}

@media (max-width: 900px) {
	.bd-gallery-block.wp-block-gallery { column-count: 2 !important; }
	.bd-section--gallery { padding-left: 24px !important; padding-right: 24px !important; }
}
@media (max-width: 480px) {
	.bd-gallery-block.wp-block-gallery { column-count: 1 !important; }
}

/* ── Gallery hero subtext ────────────────────────────────────────────────── */
.bd-gallery-hero p {
	font-family: var(--wp--preset--font-family--manrope) !important;
	color: #fff !important;
}

/* ── Gallery category filter pills ──────────────────────────────────────── */
.bd-gallery-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	padding: 0 60px 60px;
}

.bd-filter-pill {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--pill-bg, #fff);
	color: var(--pill-color, #000);
	border: 2px solid #000;
	border-radius: 60px;
	padding: 10px 20px;
	cursor: pointer;
	font-family: var(--wp--preset--font-family--bricolage-grotesque);
	font-weight: 800;
	font-size: 14px;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	transition: transform 0.15s, box-shadow 0.15s;
	white-space: nowrap;
}

.bd-filter-pill:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 16px rgba(0,0,0,0.4);
}

.bd-filter-pill--active {
	outline: 3px solid #fff;
	outline-offset: 2px;
}

.bd-filter-label {
	line-height: 1;
}

.bd-filter-count {
	background: #000;
	color: #fff;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
	padding: 2px 8px;
	min-width: 24px;
	text-align: center;
	line-height: 1.6;
}

/* ALL pill — white bg, count badge inverted */
.bd-filter-pill[data-cat="all"] .bd-filter-count {
	background: #000;
	color: #fff;
}

/* ── Remove WP Gallery forced cropping ───────────────────────────────────── */
.bd-gallery-block.is-cropped .wp-block-image img,
.bd-gallery-block .wp-block-image img {
	aspect-ratio: unset !important;
	height: auto !important;
	object-fit: unset !important;
}
.bd-gallery-block.is-cropped .wp-block-image {
	height: auto !important;
}

/* Gallery hidden image state — used by JS filter */
.bd-gallery-block figure.wp-block-image.bd-img-hidden {
  display: none !important;
}

/* ── Pagination balloon alignment fix ───────────────────────────────────── */
.bd-page-balloon {
	margin-top: 3px !important;
}

/* ── Gallery section padding-top override ───────────────────────────────── */
.bd-section--gallery {
	padding-top: 0 !important;
}

/* ── Filter pill style update ───────────────────────────────────────────── */
.bd-filter-pill {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	background: var(--pill-bg, #fff) !important;
	color: var(--pill-color, #000) !important;
	border: 2px solid #000 !important;
	border-radius: 60px !important;
	padding: 7px 10px !important;
	cursor: pointer !important;
	font-family: var(--wp--preset--font-family--bricolage-grotesque) !important;
	font-weight: 800 !important;
	font-size: 13px !important;
	letter-spacing: 0 !important;
	text-transform: uppercase !important;
	transition: transform 0.15s, box-shadow 0.15s !important;
	white-space: nowrap !important;
}

/* ── Gallery filters container update ───────────────────────────────────── */
.bd-gallery-filters {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	justify-content: center !important;
	padding: 0 60px 60px !important;
}

/* ── Marquee track gap update ───────────────────────────────────────────── */
.bd-marquee-track {
	display: flex !important;
	gap: 0 !important;
	width: max-content !important;
	animation: bd-marquee 40s linear infinite !important;
}

/* ── Remove marquee edge masks ───────────────────────────────────────────── */
.bd-marquee-outer {
	-webkit-mask-image: none !important;
	mask-image: none !important;
}

/* ── Footer: remove top border, add social + payment styles ─────────────── */
.bd-footer { border-top: none !important; }

.bd-footer-social {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 24px;
}

.bd-footer-social a { display: inline-block; line-height: 0; }
.bd-footer-social img { width: 56px; height: 56px; }

.bd-footer-payments {
	margin-bottom: 16px;
	padding-left: 60px;
}
.bd-footer-payments img { max-width: 600px; height: auto; }

/* ── Footer social balloons — staggered vertical positions ──────────────── */
.bd-footer-social {
	display: flex !important;
	align-items: flex-end !important;
	gap: 0 !important;
	margin-top: 24px !important;
}

.bd-footer-social a:nth-child(1) { margin-bottom: 0; }
.bd-footer-social a:nth-child(2) { margin-bottom: 12px; margin-left: -6px; }
.bd-footer-social a:nth-child(3) { margin-bottom: 4px;  margin-left: -6px; }

/* ── Footer payments — align with footer columns ────────────────────────── */
.bd-footer-payments {
	padding-left: 0 !important;
	margin-bottom: 16px !important;
}
.bd-footer-payments img {
	max-width: 600px !important;
	height: auto !important;
}

/* ── Footer payments alignment fix ─────────────────────────────────────── */
.bd-footer-payments {
	margin-bottom: 24px !important;
	padding-left: 60px !important;
	padding-right: 60px !important;
	max-width: 1400px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* ── Header nav — absolutely centered to full page width ────────────────── */
.bd-header .wp-block-group {
	position: relative !important;
}

.bd-header .bd-nav {
	position: absolute !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   Mobile Fixes v1.0.27
   1. Kill horizontal overflow on all pages
   2. bd-hero text scales to viewport
   3. Mobile menu full-height, black bg, white text
══════════════════════════════════════════════════════════════════════════════ */

/* ── 1. Kill horizontal overflow everywhere ──────────────────────────────── */
html,
body {
	overflow-x: hidden !important;
	max-width: 100vw !important;
}

.wp-site-blocks,
.wp-block-group,
.wp-block-columns,
.wp-block-column,
.entry-content,
.wp-block-template-part {
	max-width: 100% !important;
	overflow-x: hidden !important;
}

/* Sections that use fixed large padding on desktop */
@media (max-width: 768px) {
	.bd-what-we-do__layout,
	.bd-find-us__inner,
	.bd-section--order .wp-block-columns,
	.bd-footer .wp-block-columns {
		padding-left: 20px !important;
		padding-right: 20px !important;
		gap: 40px !important;
	}

	.bd-gallery-filters {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.bd-footer-payments {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
}

/* ── 2. bd-hero heading scales to viewport, never overflows ─────────────── */
@media (max-width: 768px) {
	.bd-hero__heading,
	.bd-hero h1 {
		font-size: clamp(28px, 8vw, 56px) !important;
		line-height: 1.15 !important;
		word-break: break-word !important;
		overflow-wrap: break-word !important;
		white-space: normal !important;
		max-width: 100% !important;
	}

	.bd-highlight {
		font-size: clamp(28px, 8vw, 56px) !important;
		white-space: normal !important;
		max-width: 100% !important;
	}

	.bd-hero {
		padding-left: 20px !important;
		padding-right: 20px !important;
		overflow-x: hidden !important;
	}

	.bd-hero .wp-block-group,
	.bd-hero__content {
		max-width: 100% !important;
		overflow-x: hidden !important;
	}

	.bd-order-heading {
		white-space: normal !important;
		font-size: clamp(28px, 8vw, 56px) !important;
	}
}

/* ── 3. Mobile nav overlay — full height, black bg, white text ──────────── */
@media (max-width: 768px) {
	/* The WP overlay container */
	.wp-block-navigation__responsive-container.is-menu-open,
	.wp-block-navigation__responsive-container-content {
		background: #000 !important;
		min-height: 100dvh !important;
		height: 100dvh !important;
		width: 100vw !important;
		top: 0 !important;
		left: 0 !important;
		position: fixed !important;
		z-index: 9999 !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		align-items: center !important;
		overflow-y: auto !important;
		overflow-x: hidden !important;
		padding: 60px 20px !important;
	}

	/* All nav links white */
	.wp-block-navigation__responsive-container.is-menu-open a,
	.wp-block-navigation__responsive-container-content a {
		color: #fff !important;
		font-size: 28px !important;
		font-weight: 700 !important;
		letter-spacing: 2px !important;
		text-transform: uppercase !important;
		line-height: 2.2 !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open a:hover,
	.wp-block-navigation__responsive-container-content a:hover {
		color: var(--wp--preset--color--cyan) !important;
	}

	/* Close button — white */
	.wp-block-navigation__responsive-container-close,
	.wp-block-navigation__responsive-container-close button,
	.wp-block-navigation__responsive-container-close svg {
		color: #fff !important;
		fill: #fff !important;
		stroke: #fff !important;
		width: 36px !important;
		height: 36px !important;
	}

	/* Hamburger button — white lines */
	.wp-block-navigation__responsive-container-open,
	.wp-block-navigation__responsive-container-open button,
	.wp-block-navigation__responsive-container-open svg {
		color: #fff !important;
		fill: #fff !important;
		stroke: #fff !important;
	}

	/* Nav list items centered */
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
	.wp-block-navigation__responsive-container-content .wp-block-navigation__container {
		flex-direction: column !important;
		align-items: center !important;
		gap: 0 !important;
		width: 100% !important;
	}
}

/* ══════════════════════════════════════════════════════════════════════════════
   Mobile Fixes v1.0.28 — 11-point patch
══════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

	/* ── Fix 1: Hamburger button — push to right ─────────────────────────── */
	.bd-header .wp-block-group {
		position: relative !important;
	}
	.wp-block-navigation__responsive-container-open {
		margin-left: auto !important;
		display: flex !important;
		align-items: center !important;
	}
	/* Re-override the absolute centering we set for desktop nav */
	.bd-header .bd-nav {
		position: static !important;
		left: unset !important;
		transform: none !important;
	}

	/* ── Fix 11: Mobile menu overlay — z-index & display fix ────────────── */
	.wp-block-navigation__responsive-container {
		display: none !important;
	}
	.wp-block-navigation__responsive-container.is-menu-open {
		display: flex !important;
		position: fixed !important;
		inset: 0 !important;
		width: 100vw !important;
		height: 100dvh !important;
		min-height: 100dvh !important;
		background: #000 !important;
		z-index: 99999 !important;
		flex-direction: column !important;
		justify-content: center !important;
		align-items: center !important;
		overflow-y: auto !important;
		overflow-x: hidden !important;
		padding: 60px 20px !important;
	}
	.wp-block-navigation__responsive-container-content {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		width: 100% !important;
	}
	.wp-block-navigation__responsive-container.is-menu-open a {
		color: #fff !important;
		font-size: 28px !important;
		font-weight: 700 !important;
		letter-spacing: 2px !important;
		text-transform: uppercase !important;
		line-height: 2.4 !important;
	}
	.wp-block-navigation__responsive-container.is-menu-open a:hover {
		color: var(--wp--preset--color--cyan) !important;
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		flex-direction: column !important;
		align-items: center !important;
		gap: 0 !important;
		width: 100% !important;
	}
	.wp-block-navigation__responsive-container-close,
	.wp-block-navigation__responsive-container-close button {
		color: #fff !important;
		fill: #fff !important;
	}
	.wp-block-navigation__responsive-container-close svg,
	.wp-block-navigation__responsive-container-close path {
		stroke: #fff !important;
		fill: #fff !important;
	}

	/* ── Fix 2: Photo strip — 120vw, edge cards slightly clipped ────────── */
	.bd-photo-strip {
		overflow: hidden !important;
		width: 100vw !important;
	}
	.bd-photo-strip__track {
		width: 120vw !important;
		margin-left: -10vw !important;
		justify-content: center !important;
		padding: 0 !important;
		gap: 16px !important;
		overflow-x: visible !important;
	}
	.bd-photo-card {
		width: clamp(140px, 38vw, 200px) !important;
		flex: 0 0 auto !important;
	}
	.bd-photo-card__inner img {
		height: clamp(160px, 40vw, 240px) !important;
	}

	/* ── Fix 3: Reduce gap between photo strip and what-we-do ───────────── */
	.bd-photo-strip {
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}
	.bd-section--what-we-do {
		padding-top: 24px !important;
	}

	/* ── Fix 4: Event icon sizes & positions ─────────────────────────────── */
	.bd-event-icon--1 {
		width: clamp(230px, 25vw, 440px) !important;
		left: 0px !important;
	}
	.bd-event-icon--2 {
		width: clamp(270px, 23vw, 400px) !important;
		top: clamp(-30px, -1vw, 40px) !important;
		left: clamp(100px, 14vw, 200px) !important;
	}
	.bd-event-icon--3 {
		width: clamp(210px, 25vw, 340px) !important;
	}
	.bd-event-icon--4 {
		width: clamp(230px, 24vw, 400px) !important;
		bottom: clamp(10px, -5vw, -50px) !important;
		left: -20px !important;
	}

	/* ── Fix 5 & 6: Find Us — left and right both visible ───────────────── */
	.bd-find-us__inner {
		grid-template-columns: 1fr !important;
		gap: 32px !important;
		padding: 80px 20px !important; /* Fix 7 */
	}
	.bd-find-us__left,
	.bd-find-us__right {
		width: 100% !important;
		max-width: 100% !important;
		overflow: hidden !important;
	}
	.bd-find-us__right {
		display: block !important;
		padding-top: 0 !important;
	}
	/* Fix the large heading that causes overflow */
	.bd-section--find-us h2,
	.bd-section--find-us h1,
	.bd-find-us__left [class*="heading"],
	.bd-find-us__left .wp-block-heading {
		font-size: clamp(32px, 10vw, 64px) !important;
		white-space: normal !important;
		word-break: break-word !important;
		overflow-wrap: break-word !important;
		max-width: 100% !important;
	}

	/* ── Fix 8: Find Us section padding ─────────────────────────────────── */
	.bd-section--find-us {
		padding: 0 0 !important;
	}

	/* ── Fix 9 & 10: Order section padding ──────────────────────────────── */
	.bd-section--order {
		padding: 80px 20px !important;
	}
	.bd-section--order .wp-block-columns,
	.bd-order__layout {
		padding: 40px 20px !important;
		gap: 40px !important;
	}

}

/* ══════════════════════════════════════════════════════════════════════════════
   Mobile Fixes v1.0.29
══════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

	/* ── Fix 1: Hero min-height ──────────────────────────────────────────── */
	.bd-hero {
		min-height: 44vh !important;
	}

	/* ── Fix 2: Hero content no vertical overflow ────────────────────────── */
	.bd-hero .wp-block-group,
	.bd-hero__content {
		overflow-y: hidden !important;
	}

	/* ── Fix 3: Photo strip auto height ─────────────────────────────────── */
	.bd-photo-strip {
		height: auto !important;
	}

	/* ── Fix 4: What We Do layout padding ───────────────────────────────── */
	.bd-what-we-do__layout {
		padding: 0 60px !important;
	}

	/* ── Fix 5: Photo strip track padding ───────────────────────────────── */
	.bd-photo-strip__track {
		padding: 25px !important;
	}

	/* ── Fix 6: Get In Touch — full overhaul ────────────────────────────── */

	/* The big "GET IN TOUCH" heading — scale it to fit one line */
	.bd-section--find-us .bd-find-us__left > *:first-child,
	.bd-section--find-us [class*="heading"],
	.bd-section--find-us h1,
	.bd-section--find-us h2,
	.bd-find-us__left .wp-block-heading,
	.bd-find-us__left h1,
	.bd-find-us__left h2 {
		font-size: clamp(32px, 9vw, 56px) !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		max-width: 100% !important;
		line-height: 1.1 !important;
		word-break: normal !important;
	}

	/* Stack the two-column layout vertically */
	.bd-find-us__inner {
		display: flex !important;
		flex-direction: column !important;
		grid-template-columns: 1fr !important;
		width: 100% !important;
		max-width: 100vw !important;
		padding: 40px 20px !important;
		gap: 24px !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	/* Left column full width */
	.bd-find-us__left {
		width: 100% !important;
		max-width: 100% !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	/* Right column (info card) full width and visible */
	.bd-find-us__right {
		width: 100% !important;
		max-width: 100% !important;
		display: block !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	/* Info card inner — constrain width */
	.bd-find-us__right > *,
	.bd-find-us__right .wp-block-group {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	/* The black banner that holds "GET IN TOUCH" text */
	.bd-find-us__left > div,
	.bd-find-us__left > .wp-block-group {
		max-width: 100% !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	/* Section itself must not overflow */
	.bd-section--find-us {
		overflow: hidden !important;
		max-width: 100vw !important;
		box-sizing: border-box !important;
		padding: 0 !important;
	}

	/* ── Fix 7 & 8: Order section columns ───────────────────────────────── */
	.bd-section--order .wp-block-columns,
	.bd-order__layout {
		padding: 80px 20px !important;
		overflow-y: hidden !important;
	}

	/* ── Fix 9 & 10: Testimonials heading ───────────────────────────────── */
	.bd-section--testimonials h2,
	.bd-section--testimonials .wp-block-heading {
		font-size: clamp(42px, 5.5vw, 68px) !important;
		margin-bottom: 30px !important;
	}

}

/* ══════════════════════════════════════════════════════════════════════════════
   Mobile Fixes v1.0.31
══════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

	/* ── Fix 2: What We Do layout padding ───────────────────────────────── */
	.bd-what-we-do__layout {
		padding: 0 20px !important;
	}

	/* ── Fix 3: Order section columns padding ───────────────────────────── */
	.bd-section--order .wp-block-columns,
	.bd-order__layout {
		padding: 60px 20px !important;
	}

}

/* ══════════════════════════════════════════════════════════════════════════════
   Mobile Fixes v1.0.35
══════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
  .bd-section--order .wp-block-column.is-layout-flow.wp-block-column-is-layout-flow {
    overflow-y: hidden !important;
  }
}

/* ══════════════════════════════════════════════════════════════════════════════
   Nav scrim fix v1.0.40
══════════════════════════════════════════════════════════════════════════════ */
.bd-nav-scrim {
	display: none !important;
}
.bd-nav-scrim.bd-nav-scrim--open {
	display: flex !important;
}
.bd-nav-scrim__close {
	display: none !important;
}
.bd-nav-scrim--open .bd-nav-scrim__close {
	display: block !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   Gallery filters — horizontal scroll on mobile v1.0.42
══════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
	.bd-gallery-filters {
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		justify-content: flex-start !important;
		padding: 0 16px 16px !important;
		gap: 8px !important;
		-webkit-overflow-scrolling: touch !important;
		scrollbar-width: none !important;
	}
	.bd-gallery-filters::-webkit-scrollbar {
		display: none !important;
	}
	.bd-filter-pill {
		flex-shrink: 0 !important;
	}
}

/* ══════════════════════════════════════════════════════════════════════════════
   Gallery fixes v1.0.43
══════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
	.bd-gallery-hero {
		padding-top: 20px !important;
	}
	.bd-gallery-filters {
		padding: 5px 20px 16px !important;
	}
}

/* ── Lightbox styles — all screens ──────────────────────────────────────── */
.bd-lightbox {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.95);
	z-index: 999999;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.bd-lightbox.is-open {
	display: flex;
}
.bd-lightbox__img-wrap {
	position: relative;
	max-width: 90vw;
	max-height: 80vh;
	display: flex;
	align-items: center;
	justify-content: center;
}
.bd-lightbox__img {
	max-width: 90vw;
	max-height: 80vh;
	object-fit: contain;
	display: block;
	border: 3px solid #fff;
}
.bd-lightbox__close {
	position: fixed;
	top: 20px;
	right: 20px;
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 8px;
	z-index: 1000000;
	line-height: 0;
}
.bd-lightbox__close svg {
	width: 36px;
	height: 36px;
	display: block;
}
.bd-lightbox__prev,
.bd-lightbox__next {
	position: fixed;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255,255,255,0.1);
	border: 2px solid rgba(255,255,255,0.3);
	cursor: pointer;
	padding: 16px 12px;
	z-index: 1000000;
	line-height: 0;
	transition: background 0.2s;
}
.bd-lightbox__prev:hover,
.bd-lightbox__next:hover {
	background: rgba(255,255,255,0.25);
}
.bd-lightbox__prev { left: 16px; }
.bd-lightbox__next { right: 16px; }
.bd-lightbox__prev svg,
.bd-lightbox__next svg {
	width: 28px;
	height: 28px;
	display: block;
}
.bd-lightbox__counter {
	position: fixed;
	bottom: 24px;
	left: 50%;
	transform: translateX(-50%);
	color: rgba(255,255,255,0.6);
	font-family: var(--wp--preset--font-family--manrope), sans-serif;
	font-size: 14px;
	letter-spacing: 1px;
}
/* Cursor pointer on gallery images */
.bd-gallery-block .wp-block-image img {
	cursor: pointer !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   Gallery + Order fixes v1.0.44
══════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

	/* Gallery hero flex row padding */
	.wp-block-group.is-content-justification-space-between.is-nowrap.is-layout-flex {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	/* Gallery subtext */
	.has-text-align-center.wp-block-paragraph {
		padding: 10px 20px 20px !important;
		font-size: 20px !important;
	}

	/* Gallery section no bottom padding */
	.bd-section--gallery {
		padding-bottom: 0 !important;
	}

	/* Order form top padding reset */
	#contact.wp-block-columns.bd-section--order {
		padding-top: 0px !important;
	}

}

@media (max-width: 480px) {

	/* Two-column gallery on small mobile */
	.bd-gallery-block.wp-block-gallery {
		column-count: 2 !important;
	}

}

/* ══════════════════════════════════════════════════════════════════════════════
   Footer mobile fixes v1.0.45
══════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

	/* Two-column footer layout */
	.bd-footer .wp-block-columns {
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		padding: 40px 20px !important;
		gap: 32px 24px !important;
	}

	.bd-footer .wp-block-column {
		width: 100% !important;
		flex-basis: unset !important;
	}

	/* Footer heading size */
	.bd-footer .wp-block-heading {
		font-size: 24px !important;
		margin-bottom: 12px !important;
	}

	/* Footer link size */
	.bd-footer-list a {
		font-size: 16px !important;
		line-height: 1.8 !important;
	}

	/* Footer payments + copyright padding */
	.bd-footer-payments,
	.bd-footer .has-text-color.wp-block-paragraph,
	.bd-footer > p {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

}

/* ══════════════════════════════════════════════════════════════════════════════
   Mobile fixes v1.0.46
══════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

	/* 1. Gallery filters padding */
	.bd-gallery-filters {
		padding: 5px 20px 30px !important;
	}

	/* 2 & 7. General centered paragraph padding */
	.has-text-align-center.wp-block-paragraph {
		padding: 0px 20px 0px !important;
	}

	/* 8. Hero subtext margins */
	.has-text-align-center.bd-hero__sub.wp-block-paragraph {
		margin-top: 14px !important;
		margin-bottom: 18px !important;
	}

	/* 3. Contact form bottom padding */
	#bd-contact-form.bd-form {
		padding-bottom: 80px !important;
	}

	/* 4. Testimonial card width in marquee */
	.bd-marquee-track .bd-testimonial-card {
		flex: 0 0 250px !important;
		width: 250px !important;
	}

	/* 5. Testimonial quote font size */
	.bd-testimonial-card__quote p {
		font-size: 14px !important;
	}

	/* 6. Marquee outer padding */
	.bd-marquee-outer {
		padding: 0 0 !important;
	}

}

/* ══════════════════════════════════════════════════════════════════════════════
   Mobile fixes v1.0.47
══════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

	/* 1. Form input padding */
	#bd-contact-form input,
	#bd-contact-form select,
	#bd-contact-form textarea {
		padding: 13px 17px !important;
	}

	/* 2. Order section padding */
	#contact.wp-block-columns.bd-section--order {
		padding-top: 20px !important;
		padding-bottom: 20px !important;
	}

	/* 4. What We Do section padding */
	.bd-section--what-we-do {
		padding: 40px 0 !important;
	}

	/* 5. Layout gaps */
	.bd-what-we-do__layout,
	.bd-find-us__inner,
	.bd-section--order .wp-block-columns {
		gap: 20px !important;
	}

}

/* ══════════════════════════════════════════════════════════════════════════════
   Mobile fixes v1.0.48
══════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

	/* 1. Footer list item spacing */
	.bd-footer-list li {
		margin-bottom: 5px !important;
	}

	/* 2. Hero content padding */
	.bd-hero__content {
		padding-top: 50px !important;
		padding-bottom: 50px !important;
	}

	/* 3. Hero min-height */
	.bd-hero {
		min-height: 39vh !important;
	}

	/* 4 & 5. Paragraph below "Elevate Your Occasion" */
	.bd-section--what-we-do .bd-what-we-do__content p {
		font-size: 17px !important;
		line-height: 1.5 !important;
	}

	/* 6 & 7. Paragraph below "Wow Your Guests" — inline style so target by sibling */
	.bd-section--order p[style*="color:#d5f8ff"] {
		font-size: 17px !important;
		line-height: 1.5 !important;
	}

	/* 8. Order section padding-top */
	#contact.wp-block-columns.bd-section--order {
		padding-top: 20px !important;
	}

}

/* ══════════════════════════════════════════════════════════════════════════════
   Desktop header fixes v1.0.49
══════════════════════════════════════════════════════════════════════════════ */

/* 1. Logo size */
.bd-logo img {
	width: 68px !important;
	height: 68px !important;
}

/* ── Header shop icon ────────────────────────────────────────────────────── */
.bd-shop-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	opacity: 0.85;
	transition: opacity 0.2s;
	margin-right: 8px;
}
.bd-shop-icon:hover { opacity: 1; }
.bd-shop-icon img {
	width: 32px !important;
	height: 32px !important;
	display: block;
}
@media (max-width: 768px) {
	.bd-shop-icon { display: none; }
}

/* ── Header shop icon ────────────────────────────────────────────────────── */
.bd-shop-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	opacity: 0.85;
	transition: opacity 0.2s;
	margin-right: 8px;
}
.bd-shop-icon:hover { opacity: 1; }
.bd-shop-icon img {
	width: 32px !important;
	height: 32px !important;
	display: block;
}
@media (max-width: 768px) {
	.bd-shop-icon { display: none; }
}

/* ── Header shop icon ────────────────────────────────────────────────────── */
.bd-shop-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	opacity: 0.85;
	transition: opacity 0.2s;
	margin-right: 8px;
}
.bd-shop-icon:hover { opacity: 1; }
.bd-shop-icon img {
	width: 32px !important;
	height: 32px !important;
	display: block;
}
@media (max-width: 768px) {
	.bd-shop-icon { display: none; }
}

/* ══════════════════════════════════════════════════════════════════════════════
   Desktop header fixes v1.0.49
══════════════════════════════════════════════════════════════════════════════ */

/* 1. Logo size */
.bd-logo img {
	width: 68px !important;
	height: 68px !important;
}

/* ── Header shop icon ────────────────────────────────────────────────────── */
.bd-shop-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	opacity: 0.85;
	transition: opacity 0.2s;
	margin-right: 8px;
}
.bd-shop-icon:hover { opacity: 1; }
.bd-shop-icon img {
	width: 32px !important;
	height: 32px !important;
	display: block;
}
@media (max-width: 768px) {
	.bd-shop-icon { display: none; }
}

/* ── Header CTA yellow shadow fix ───────────────────────────────────────── */
.bd-header-right {
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
	flex-shrink: 0 !important;
}
.bd-btn-cta .wp-block-button,
.bd-header-cta .wp-block-button {
	position: relative !important;
	display: inline-block !important;
	isolation: isolate !important;
}
.bd-btn-cta .wp-block-button::after,
.bd-header-cta .wp-block-button::after {
	content: '' !important;
	position: absolute !important;
	top: 6px !important;
	left: 6px !important;
	right: -6px !important;
	bottom: -6px !important;
	background: var(--wp--preset--color--yellow) !important;
	z-index: -1 !important;
	display: block !important;
	pointer-events: none !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   Hero flush + header fixes v1.0.55
══════════════════════════════════════════════════════════════════════════════ */

/* Hero flush behind sticky header */
.wp-site-blocks {
	padding-top: 0 !important;
	margin-top: 0 !important;
}
main.wp-block-group,
.wp-block-template-part + main,
.wp-block-post-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* Shop icon positioning */
.bd-shop-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	margin-right: 8px !important;
	opacity: 0.9 !important;
	transition: opacity 0.2s !important;
}
.bd-shop-icon:hover { opacity: 1 !important; }
.bd-shop-icon img {
	width: 36px !important;
	height: 36px !important;
	display: block !important;
	filter: brightness(0) invert(1) !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   Hero flush v1.0.55
══════════════════════════════════════════════════════════════════════════════ */
.wp-site-blocks {
	padding-top: 0 !important;
	margin-top: 0 !important;
}
.wp-site-blocks > .wp-block-template-part + * {
	margin-top: 0 !important;
}
/* Yellow CTA shadow — ensure overflow visible on all ancestors */
.bd-header .wp-block-group.is-layout-flex {
	overflow: visible !important;
}
.bd-header-cta,
.bd-header-cta .wp-block-buttons,
.bd-header-cta .wp-block-button {
	overflow: visible !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   Fix overflow-x hidden killing CTA yellow shadow v1.0.56
══════════════════════════════════════════════════════════════════════════════ */

/* Override the blanket overflow-x:hidden that kills pseudo-element shadows */
.wp-block-group,
.wp-block-columns,
.wp-block-column,
.entry-content,
.wp-block-template-part {
	overflow-x: visible !important;
}

/* But keep overflow hidden only on elements that actually cause scroll */
.bd-photo-strip,
.bd-marquee-outer,
.bd-gallery-block,
.bd-corp-slider-track-wrap,
.bd-corp-gallery {
	overflow-x: hidden !important;
}

/* ── Shop icon inside CTA wrapper ───────────────────────────────────────── */
.bd-header-cta {
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
	overflow: visible !important;
}
.bd-header-cta .bd-shop-icon {
	order: 0 !important;
}
.bd-header-cta .wp-block-buttons {
	order: 1 !important;
	overflow: visible !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   Header + balloon container fixes v1.0.58
══════════════════════════════════════════════════════════════════════════════ */

.bd-balloons-container {
	top: -110px !important;
}

.bd-header {
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   Photo strip overflow fix v1.0.59
══════════════════════════════════════════════════════════════════════════════ */
.bd-photo-strip {
	overflow-y: hidden !important;
}

/* ── Corporate Events page fixes ─────────────────────────────────────────── */
.page-id-317 .wp-block-post-title,
.page-id-317 h1.wp-block-post-title {
	display: none !important;
}
.bd-corp-gallery {
	width: 100vw !important;
	margin-left: calc(-50vw + 50%) !important;
	max-width: none !important;
}
.bd-corp-slider-section {
	width: 100vw !important;
	margin-left: calc(-50vw + 50%) !important;
	max-width: none !important;
}
.bd-corp-form__actions {
	background: transparent !important;
	border-top: none !important;
	padding: 16px 0 0 !important;
}
.bd-corp {
	max-width: 100% !important;
	overflow-x: hidden !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   Corporate Events fixes v1.0.61
══════════════════════════════════════════════════════════════════════════════ */

/* 1. Form bg — fill the entire form wrap */
.bd-corp-form-bg {
	position: absolute;
	top: 0; left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	pointer-events: none;
}
.bd-corp-form-bg svg {
	width: 100% !important;
	height: 100% !important;
	display: block;
}

/* 3. Slider margin top */
.bd-corp-slider-section {
	margin-top: 100px !important;
}

/* 4. Slide image width */
.bd-corp-slide__img {
	width: 106px !important;
	height: 74px !important;
}

/* 6. Hero padding */
.bd-corp-hero {
	padding: 100px 60px 140px !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   Corporate Events fixes v1.0.62
══════════════════════════════════════════════════════════════════════════════ */

/* 1. Form bg image */
.bd-corp-form-bg {
	background: url('https://staging.balloon-dude.com/wp-content/uploads/2026/06/bd-corp-form-bg.svg') no-repeat center center !important;
	background-size: cover !important;
}
.bd-corp-form-bg svg { display: none !important; }

/* 2. Remove label */
.bd-corp-label { display: none !important; }

/* 3. TL gallery item */
.bd-corp-gallery__item--tl {
	width: 23% !important;
	height: 46% !important;
	transform: rotate(-2deg) !important;
}

/* 4. BL gallery item */
.bd-corp-gallery__item--bl {
	top: 52% !important;
	width: 23% !important;
	height: 48% !important;
	transform: rotate(3deg) !important;
}

/* 5. TR gallery item */
.bd-corp-gallery__item--tr {
	width: 22% !important;
}

/* 6. Gallery overflow */
.bd-corp-gallery {
	overflow: visible !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   Corporate Events hero fixes v1.0.63
══════════════════════════════════════════════════════════════════════════════ */

/* 1. Form bg height */
.bd-corp-form-bg {
	height: calc(100% - 50px) !important;
	top: 50px !important;
}

/* 2. Hero gap */
.bd-corp-hero {
	gap: 120px !important;
	align-items: center !important;
}

/* 3. Left content vertically centered relative to form */
.bd-corp-hero > div:first-child {
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	align-self: center !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   Corp form bg consolidation v1.0.64
══════════════════════════════════════════════════════════════════════════════ */
.bd-corp-form-bg {
	position: absolute !important;
	top: 50px !important;
	left: 0 !important;
	width: 100% !important;
	height: calc(100% - 40px) !important;
	z-index: 0 !important;
	pointer-events: none !important;
	background: url('https://staging.balloon-dude.com/wp-content/uploads/2026/06/bd-corp-form-bg.svg') no-repeat center center !important;
	background-size: cover !important;
}
.bd-corp-form-bg svg { display: none !important; }

/* ══════════════════════════════════════════════════════════════════════════════
   Corporate Events mobile fixes v1.0.66
══════════════════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

	/* 1. Hero padding */
	.bd-corp-hero {
		padding: 40px 20px 90px !important;
	}

	/* 2. Hero gap */
	.bd-corp-hero {
		gap: 50px !important;
	}

	/* 3. Form row inline-flex */
	.bd-corp-form__row {
		display: inline-flex !important;
		flex-wrap: wrap !important;
	}
	.bd-corp-form__row input,
	.bd-corp-form__row select {
		width: 100% !important;
	}

	/* 4. Hero desc font */
	.bd-corp-hero__desc {
		font-size: 16px !important;
		line-height: 1.5 !important;
	}

	/* 5. Slide text font size */
	.bd-corp-slide__text {
		font-size: clamp(23px, 3vw, 60px) !important;
	}

	/* 6. Slide image size */
	.bd-corp-slide__img {
		width: 66px !important;
		height: 46px !important;
	}

	/* 7. Slider margin top */
	.bd-corp-slider-section {
		margin-top: 20px !important;
	}

	/* 8. Steps padding */
	.bd-corp-steps {
		padding: 0px 20px 60px !important;
	}

	/* 9. Step body font */
	.bd-corp-step__body {
		font-size: 16px !important;
		line-height: 1.5 !important;
	}

}

/* ══════════════════════════════════════════════════════════════════════════════
   Mobile scrim CTA button v1.0.67
══════════════════════════════════════════════════════════════════════════════ */
.bd-scrim__cta {
	display: inline-block !important;
	margin-top: 24px !important;
	background: #fd1999 !important;
	color: #000 !important;
	font-family: var(--wp--preset--font-family--bricolage-grotesque), sans-serif !important;
	font-weight: 800 !important;
	font-size: 18px !important;
	letter-spacing: 1.25px !important;
	text-transform: uppercase !important;
	padding: 16px 36px !important;
	border: 2px solid #000 !important;
	text-decoration: none !important;
	position: relative !important;
	line-height: 1.2 !important;
}
.bd-scrim__cta::after {
	content: '' !important;
	position: absolute !important;
	top: 5px !important; left: 5px !important;
	right: -5px !important; bottom: -5px !important;
	background: #fef00d !important;
	z-index: -1 !important;
}

@media (max-width: 768px) {
	/* Hide header CTA and shop icon on mobile — they live in scrim now */
	.bd-header-cta { display: none !important; }
	.bd-shop-icon { display: none !important; }
}

/* ══════════════════════════════════════════════════════════════════════════════
   Mobile fixes v1.0.68
══════════════════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

	/* 1. Hide gallery pills on mobile */
	.bd-corp-gallery__pill {
		display: none !important;
	}

	/* 2. Scrim nav link sizing */
	.bd-scrim__links a {
		line-height: 2.25 !important;
		font-size: 20px !important;
	}

}

/* ══════════════════════════════════════════════════════════════════════════════
   Contact Page — bd-contact-*
══════════════════════════════════════════════════════════════════════════════ */

.bd-contact-hero {
  text-align: center;
  padding: 4.5rem 1.5rem 3rem;
}
.bd-contact-hero__title {
  font-family: var(--wp--preset--font-family--bricolage-grotesque);
  font-weight: 800;
  font-size: clamp(2.2rem, 6vw, 4.2rem);
  line-height: 1.1;
  color: #fff;
  margin: 0 0 1rem;
}
.bd-contact-hero__sub {
  font-family: var(--wp--preset--font-family--manrope);
  font-weight: 600;
  font-size: clamp(1rem, 2vw, 1.4rem);
  color: #fff;
  margin: 0;
}
.bd-contact-cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  max-width: 1400px;
  margin: 0 auto;
  padding: 2rem 1.5rem 3rem;
  text-align: center;
}
.bd-contact-col {
  padding: 1.5rem 1rem;
  border-right: 1px solid rgba(255,255,255,0.15);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
}
.bd-contact-col:last-child { border-right: none; }
.bd-contact-col__icon {
  width: 64px;
  height: 64px;
  object-fit: contain;
  margin-bottom: 0.5rem;
}
.bd-contact-col__label {
  font-family: var(--wp--preset--font-family--bricolage-grotesque);
  font-weight: 400;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.7);
}
.bd-contact-col__value {
  font-family: var(--wp--preset--font-family--manrope);
  font-weight: 600;
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  color: #fff;
  line-height: 1.4;
}
.bd-contact-col__cta {
  font-family: var(--wp--preset--font-family--manrope);
  font-weight: 500;
  font-size: 0.85rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  text-decoration: none;
  transition: opacity 0.2s;
  cursor: pointer;
}
.bd-contact-col__cta:hover { opacity: 0.75; }
.bd-contact-col__cta--green { color: #9efd2a; }
.bd-contact-col__cta--cyan  { color: #09e4fb; }
.bd-contact-col__cta--pink  { color: #fd1999; }
@media (max-width: 700px) {
  .bd-contact-cols { grid-template-columns: 1fr; }
  .bd-contact-col { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.15); }
  .bd-contact-col:last-child { border-bottom: none; }
}
.bd-contact-map {
  max-width: 1400px;
  margin: 0 auto 5rem;
  padding: 0 1.5rem 60px;
  position: relative;
}
.bd-contact-map__deco {
  position: absolute;
  pointer-events: none;
  z-index: 2;
}
.bd-contact-map__deco--bolt {
  width: clamp(60px, 7vw, 100px);
  top: -28px;
  right: 0;
}
.bd-contact-map__deco--spiral {
  width: clamp(70px, 9vw, 120px);
  bottom: 0;
  left: 0;
}
.bd-contact-map__deco--rect {
  width: clamp(80px, 10vw, 130px);
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.bd-contact-map__link {
  display: block;
  position: relative;
  border: 3px solid #000;
  overflow: hidden;
  line-height: 0;
}
.bd-contact-map__link img {
  width: 100%;
  height: auto;
  display: block;
  transition: opacity 0.2s;
}
.bd-contact-map__link:hover img { opacity: 0.88; }
.bd-contact-map__link::after {
  content: 'Open in Google Maps \2197';
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  background: #000;
  color: #09e4fb;
  font-family: var(--wp--preset--font-family--manrope);
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: 0.04em;
  padding: 0.4rem 0.8rem;
  border: 1px solid #09e4fb;
  opacity: 0;
  transition: opacity 0.2s;
  pointer-events: none;
}
.bd-contact-map__link:hover::after { opacity: 1; }
@media (max-width: 700px) {
  .bd-contact-map__deco--bolt   { width: 52px; top: -18px; }
  .bd-contact-map__deco--spiral { width: 58px; bottom: 8px; }
  .bd-contact-map__deco--rect   { width: 68px; bottom: 8px; }
}
.bd-contact-faq {
  max-width: 1400px;
  margin: 0 auto 5rem;
  padding: 0 1.5rem;
}
.bd-contact-faq__title {
  font-family: var(--wp--preset--font-family--bricolage-grotesque);
  font-weight: 800;
  font-size: clamp(1.4rem, 3vw, 2.2rem);
  text-align: center;
  letter-spacing: 0.05em;
  color: #fff;
  margin: 0 0 2.5rem;
}
.bd-contact-faq__list { list-style: none; margin: 0; padding: 0; }
.bd-contact-faq__item { border-top: 1px solid rgba(255,255,255,0.15); }
.bd-contact-faq__item:last-child { border-bottom: 1px solid rgba(255,255,255,0.15); }
.bd-contact-faq__btn {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.2rem 0;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  color: #fff;
}
.bd-contact-faq__num {
  position: relative;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
}
.bd-contact-faq__num-yellow {
  position: absolute;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #ffe000;
  border: 3px solid #000;
  bottom: 0;
  right: 0;
}
.bd-contact-faq__num-pink {
  position: absolute;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #fd1999;
  border: 3px solid #000;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bd-contact-faq__num-text {
  font-family: var(--wp--preset--font-family--bricolage-grotesque);
  font-weight: 800;
  font-size: 0.82rem;
  color: #000;
  line-height: 1;
}
.bd-contact-faq__q {
  flex: 1;
  font-family: var(--wp--preset--font-family--manrope);
  font-weight: 400;
  font-size: clamp(0.95rem, 1.5vw, 1.1rem);
  color: #fff;
}
.bd-contact-faq__arrow {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bd-contact-faq__arrow img {
  width: 22px;
  height: 22px;
  display: block;
  transition: transform 0.3s ease;
}
.bd-contact-faq__item.open .bd-contact-faq__arrow img { transform: rotate(180deg); }
.bd-contact-faq__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease, padding 0.35s ease;
  padding: 0 0 0 3.75rem;
}
.bd-contact-faq__item.open .bd-contact-faq__answer {
  max-height: 300px;
  padding: 0 0 1.4rem 3.75rem;
}
.bd-contact-faq__answer p {
  font-family: var(--wp--preset--font-family--manrope);
  font-weight: 400;
  font-size: clamp(0.88rem, 1.3vw, 1rem);
  color: rgba(255,255,255,0.75);
  line-height: 1.7;
  margin: 0;
}


/* ══════════════════════════════════════════════════════════════════════════════
   Contact Page — bd-contact-*
══════════════════════════════════════════════════════════════════════════════ */
.bd-contact-hero { text-align: center; padding: 4.5rem 1.5rem 3rem; }
.bd-contact-hero__title { font-family: var(--wp--preset--font-family--bricolage-grotesque); font-weight: 800; font-size: clamp(2.2rem, 6vw, 4.2rem); line-height: 1.1; color: #fff; margin: 0 0 1rem; }
.bd-contact-hero__sub { font-family: var(--wp--preset--font-family--manrope); font-weight: 600; font-size: clamp(1rem, 2vw, 1.4rem); color: #fff; margin: 0; }

.bd-contact-cols { display: grid; grid-template-columns: repeat(3, 1fr); text-align: center; max-width: 1400px; margin-left: auto !important; margin-right: auto !important; padding: 0 60px !important; }
.bd-contact-col { padding: 1.5rem 1rem; border-right: 1px solid rgba(255,255,255,0.15); display: flex; flex-direction: column; align-items: center; gap: 0.75rem; }
.bd-contact-col:last-child { border-right: none; }
.bd-contact-col__icon { width: 64px; height: 64px; object-fit: contain; margin-bottom: 0.5rem; }
.bd-contact-col__label { font-family: var(--wp--preset--font-family--bricolage-grotesque); font-weight: 400; font-size: 0.9rem; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255,255,255,0.7); }
.bd-contact-col__value { font-family: var(--wp--preset--font-family--manrope); font-weight: 600; font-size: clamp(1rem, 1.5vw, 1.2rem); color: #fff; line-height: 1.4; }
.bd-contact-col__cta { font-family: var(--wp--preset--font-family--manrope); font-weight: 500; font-size: 0.85rem; letter-spacing: 0.07em; text-transform: uppercase; text-decoration: none; transition: opacity 0.2s; }
.bd-contact-col__cta:hover { opacity: 0.75; }
.bd-contact-col__cta--green { color: #9efd2a; }
.bd-contact-col__cta--cyan  { color: #09e4fb; }
.bd-contact-col__cta--pink  { color: #fd1999; }
@media (max-width: 700px) {
  .bd-contact-cols { grid-template-columns: 1fr; padding: 0 20px !important; }
  .bd-contact-col { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.15); }
  .bd-contact-col:last-child { border-bottom: none; }
}

.bd-contact-map { position: relative; max-width: 1400px; margin-left: auto !important; margin-right: auto !important; padding: 80px 60px !important; }
.bd-contact-map__deco { position: absolute; pointer-events: none; z-index: 0; }
.bd-contact-map__deco--bolt   { width: clamp(80px, 9vw, 150px); top: 0px; right: -10px; }
.bd-contact-map__deco--spiral { width: clamp(80px, 10vw, 150px); bottom: 80px; left: -50px; }
.bd-contact-map__deco--rect   { width: clamp(80px, 10vw, 130px); bottom: 0; left: 50%; transform: translateX(-50%); }
.bd-contact-map__link { display: block; position: relative; z-index: 1; border: 3px solid #000; overflow: hidden; line-height: 0; }
.bd-contact-map__link img { width: 100%; height: auto; display: block; transition: opacity 0.2s; }
.bd-contact-map__link:hover img { opacity: 0.88; }
.bd-contact-map__link::after { content: "Open in Google Maps \2197"; position: absolute; bottom: 1rem; right: 1rem; background: #000; color: #09e4fb; font-family: var(--wp--preset--font-family--manrope); font-weight: 600; font-size: 0.8rem; letter-spacing: 0.04em; padding: 0.4rem 0.8rem; border: 1px solid #09e4fb; opacity: 0; transition: opacity 0.2s; pointer-events: none; }
.bd-contact-map__link:hover::after { opacity: 1; }

/* Map pin overlay */
.bd-contact-map__pin { position: absolute; z-index: 2; top: 50%; left: 50%; transform: translate(-30%, -100%); pointer-events: none; }
.bd-contact-map__pin-box { background: #09e4fb; border: 3px solid #000; padding: 10px 16px; white-space: nowrap; position: relative; }
.bd-contact-map__pin-box::after { content: ''; position: absolute; bottom: -14px; left: 50%; transform: translateX(-50%); border: 7px solid transparent; border-top-color: #000; }
.bd-contact-map__pin-box::before { content: ''; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%); border: 6px solid transparent; border-top-color: #09e4fb; z-index: 1; }
.bd-contact-map__pin-label { font-family: var(--wp--preset--font-family--bricolage-grotesque); font-weight: 700; font-size: 0.75rem; color: #000; display: block; margin-bottom: 4px; }
.bd-contact-map__pin-addr { font-family: var(--wp--preset--font-family--manrope); font-weight: 600; font-size: 0.9rem; color: #000; display: block; line-height: 1.3; }

.bd-contact-faq { max-width: 1400px; margin-left: auto !important; margin-right: auto !important; padding: 80px 60px !important; }
.bd-contact-faq__title { font-family: var(--wp--preset--font-family--bricolage-grotesque); font-weight: 800; font-size: clamp(1.4rem, 3vw, 2.2rem); text-align: center; letter-spacing: 0.05em; color: #fff; margin: 0 0 2.5rem; }
.bd-contact-faq__list { list-style: none; margin: 0; padding: 0; }
.bd-contact-faq__item { border-top: 1px solid rgba(255,255,255,0.15); }
.bd-contact-faq__item:last-child { border-bottom: 1px solid rgba(255,255,255,0.15); }
.bd-contact-faq__btn { width: 100%; display: flex; align-items: center; gap: 1rem; padding: 1.2rem 0; background: none; border: none; cursor: pointer; text-align: left; color: #fff; }
.bd-contact-faq__num { position: relative; flex-shrink: 0; width: 44px; height: 44px; }
.bd-contact-faq__num-yellow { position: absolute; width: 38px; height: 38px; border-radius: 50%; background: #ffe000; border: 3px solid #000; bottom: 0; right: 0; }
.bd-contact-faq__num-pink { position: absolute; width: 38px; height: 38px; border-radius: 50%; background: #fd1999; border: 3px solid #000; top: 0; left: 0; display: flex; align-items: center; justify-content: center; }
.bd-contact-faq__num-text { font-family: var(--wp--preset--font-family--bricolage-grotesque); font-weight: 800; font-size: 0.82rem; color: #000; line-height: 1; }
.bd-contact-faq__q { flex: 1; font-family: var(--wp--preset--font-family--manrope); font-weight: 400; font-size: clamp(0.95rem, 1.5vw, 1.1rem); color: #fff; }
.bd-contact-faq__arrow { flex-shrink: 0; width: 22px; height: 22px; display: flex; align-items: center; justify-content: center; }
.bd-contact-faq__arrow img { width: 22px; height: 22px; display: block; transition: transform 0.3s ease; }
.bd-contact-faq__item.open .bd-contact-faq__arrow img { transform: rotate(180deg); }
.bd-contact-faq__answer { max-height: 0; overflow: hidden; transition: max-height 0.35s ease, padding 0.35s ease; padding: 0 0 0 3.75rem; }
.bd-contact-faq__item.open .bd-contact-faq__answer { max-height: 300px; padding: 0 0 1.4rem 3.75rem; }
.bd-contact-faq__answer p { font-family: var(--wp--preset--font-family--manrope); font-weight: 400; font-size: clamp(0.88rem, 1.3vw, 1rem); color: rgba(255,255,255,0.75); line-height: 1.7; margin: 0; }
@media (max-width: 768px) {
  .bd-contact-map { padding: 60px 20px !important; }
  .bd-contact-faq { padding: 60px 20px !important; }
}

/* Hide site title text in header — logo serves as brand identity */
.bd-site-title { display: none !important; }

/* ── Center custom nav in header ── */
.bd-header nav[aria-label="Main navigation"] {
  flex: 1;
  display: flex;
  justify-content: center;
}
.bd-nav-custom {
  justify-content: center;
}

/* ── Nav truly centered to full page width ── */
.bd-header nav[aria-label="Main navigation"] {
  position: absolute !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  flex: unset !important;
}

/* ── Events dropdown on hover ── */
.bd-events-parent:hover .bd-events-dropdown { display: block; }
.bd-events-parent:hover > a .bd-events-arrow { transform: rotate(180deg); }

/* ── Balloons container position fix ── */
.bd-balloons-container { top: -126px !important; }

/* ── Hero CTA yellow shadow ── */
.bd-btn-primary.bd-btn-shadow,
.bd-btn-shadow .wp-block-button,
.bd-btn-shadow .wp-block-button__link {
  position: relative !important;
  overflow: visible !important;
}
.bd-btn-primary.bd-btn-shadow::after,
.bd-btn-shadow .wp-block-button::after {
  content: '' !important;
  position: absolute !important;
  top: 6px !important;
  left: 6px !important;
  right: -6px !important;
  bottom: -6px !important;
  background: #ffe000 !important;
  z-index: -1 !important;
  display: block !important;
  pointer-events: none !important;
}

/* ── Fix hover gap between Events link and dropdown ── */
.bd-events-parent > a {
  padding-bottom: 20px !important;
  margin-bottom: -20px !important;
}
.bd-events-dropdown {
  margin-top: 0 !important;
  top: calc(100% - 2px) !important;
}
/* Bridge pseudo-element fills the gap */
.bd-events-parent::before {
  content: '';
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 20px;
  z-index: 199;
}

/* ── Footer dropdown — hidden by default, shown on .open ── */
.bd-footer-dropdown { display: none !important; }
.bd-footer-has-dropdown.open .bd-footer-dropdown { display: flex !important; }

/* ── Fix corp form focus — keep white bg, show text while typing ── */
.bd-corp-form input:focus,
.bd-corp-form select:focus,
.bd-corp-form textarea:focus {
  background: #fff !important;
  color: #000 !important;
  outline: 2px solid #09e4fb !important;
  outline-offset: -2px !important;
}
