/* Camillas Balloons 1.6.0 — advanced editable global website header/footer. */
:root {
	--cbb-coral: #f4bfd1;
	--cbb-coral-dark: #e59ab8;
	--cbb-cocoa: #111111;
	--cbb-cream: #fff6f0;
	--cbb-footer: #111111;
	--cbb-footer-dark: #181818;
	--cbb-blue: #d86e98;
}

.cbb-booking-skip {
	background: var(--cbb-cocoa);
	border-radius: 0 0 10px 10px;
	color: #fff !important;
	font: 800 12px/1.2 Arial, sans-serif;
	left: 18px;
	padding: 11px 16px;
	position: fixed;
	top: -70px;
	z-index: 10010;
}
.cbb-booking-skip:focus { top: 0; }
.cbb-booking-content-anchor { height: 0; outline: 0; position: relative; }

.cbb-global-site-header,
.cbb-booking-site-header {
	background: var(--cbb-global-header-bg, rgba(255, 246, 240, .98));
	border-bottom: 1px solid rgba(244, 191, 209, .28);
	box-shadow: 0 8px 28px rgba(17, 17, 17, .045);
	box-sizing: border-box;
	position: relative;
	width: 100%;
	z-index: 1000;
}

.cbb-booking-header-inner {
	align-items: center;
	box-sizing: border-box;
	display: grid;
	gap: 24px;
	grid-template-columns: 250px minmax(0, 1fr) auto;
	margin: 0 auto;
	max-width: 1260px;
	min-height: 116px;
	padding: 12px 24px;
	width: 100%;
}

.cbb-booking-header-logo {
	align-items: center;
	display: flex;
	height: 88px;
	overflow: hidden;
	width: 225px;
}
.cbb-booking-header-logo img {
	display: block;
	height: 100%;
	max-width: 100%;
	object-fit: contain;
	width: 100%;
}

.cbb-booking-site-nav {
	align-items: center;
	display: flex;
	gap: clamp(12px, 1.25vw, 22px);
	justify-content: center;
	min-width: 0;
}
.cbb-booking-site-nav a {
	color: var(--cbb-cocoa) !important;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .035em;
	line-height: 1.2;
	position: relative;
	text-decoration: none !important;
	text-transform: uppercase;
	white-space: nowrap;
}
.cbb-booking-site-nav a::after {
	background: var(--cbb-global-accent, var(--cbb-coral));
	bottom: -7px;
	content: '';
	height: 2px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .18s ease;
	width: 100%;
}
.cbb-booking-site-nav a:hover::after,
.cbb-booking-site-nav a:focus-visible::after { transform: scaleX(1); }
.cbb-booking-site-nav .cbb-booking-nav-portal { color: var(--cbb-coral-dark) !important; }
.cbb-booking-nav-quote { display: none; }

.cbb-global-announcement {
	background: var(--cbb-global-accent, var(--cbb-coral));
	box-sizing: border-box;
	color: #fff;
	font: 700 11px/1.35 Arial, sans-serif;
	letter-spacing: .01em;
	padding: 8px 18px;
	text-align: center;
	width: 100%;
}


.cbb-booking-header-quote {
	align-items: center;
	background: var(--cbb-global-accent, var(--cbb-coral));
	border: 2px solid var(--cbb-global-accent, var(--cbb-coral));
	border-radius: 999px;
	box-sizing: border-box;
	color: #fff !important;
	display: inline-flex;
	font: 800 11px/1 Arial, sans-serif;
	gap: 9px;
	justify-content: center;
	letter-spacing: .04em;
	min-height: 46px;
	padding: 0 24px;
	text-decoration: none !important;
	text-transform: uppercase;
	white-space: nowrap;
}
.cbb-booking-header-quote:hover,
.cbb-booking-header-quote:focus-visible { background: var(--cbb-coral-dark); border-color: var(--cbb-coral-dark); }

.cbb-booking-menu-toggle {
	align-items: center;
	background: #fff;
	border: 1px solid rgba(17, 17, 17, .12);
	border-radius: 13px;
	box-sizing: border-box;
	cursor: pointer;
	display: none;
	flex-direction: column;
	gap: 4px;
	height: 44px;
	justify-content: center;
	padding: 0;
	width: 44px;
}
.cbb-booking-menu-toggle > span:not(.screen-reader-text) {
	background: var(--cbb-cocoa);
	border-radius: 999px;
	display: block;
	height: 2px;
	transition: transform .18s ease, opacity .18s ease;
	width: 19px;
}
.cbb-booking-menu-toggle .screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}
.cbb-booking-site-header.is-menu-open .cbb-booking-menu-toggle > span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.cbb-booking-site-header.is-menu-open .cbb-booking-menu-toggle > span:nth-child(2) { opacity: 0; }
.cbb-booking-site-header.is-menu-open .cbb-booking-menu-toggle > span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.cbb-global-site-footer,
.cbb-booking-site-footer {
	background: var(--cbb-global-footer-bg, var(--cbb-footer));
	box-sizing: border-box;
	color: rgba(255,255,255,.76);
	position: relative;
	width: 100%;
	z-index: 10;
}
.cbb-booking-footer-inner {
	align-items: start;
	box-sizing: border-box;
	display: grid;
	gap: 42px;
	grid-template-columns: minmax(250px,1.4fr) .65fr .9fr minmax(180px,.8fr);
	margin: 0 auto;
	max-width: 1260px;
	min-height: 310px;
	overflow: hidden;
	padding: 64px 28px 46px;
	width: 100%;
}
.cbb-booking-footer-brand img {
	background: #fff;
	display: block;
	height: 92px;
	margin-bottom: 25px;
	max-width: 100%;
	object-fit: contain;
	width: 250px;
}
.cbb-booking-footer-brand p { color: rgba(255,255,255,.76) !important; font-size: 14px; line-height: 1.75; margin: 0; max-width: 350px; }
.cbb-booking-footer-column { align-content: start; display: grid; gap: 11px; min-width: 0; }
.cbb-booking-footer-column h2 { color: var(--cbb-blue); font: 700 18px/1.25 Arial, sans-serif; margin: 4px 0 10px; }
.cbb-booking-footer-column a,
.cbb-booking-footer-column span { color: rgba(255,255,255,.78) !important; font: 400 12px/1.45 Arial, sans-serif; overflow-wrap: anywhere; text-decoration: none !important; }
.cbb-booking-footer-column a:hover,
.cbb-booking-footer-column a:focus { color: #d86e98 !important; }
.cbb-booking-footer-art { align-self: end; margin: 0 -60px -65px -30px; }
.cbb-booking-footer-art img { display: block; filter: drop-shadow(0 20px 30px rgba(0,0,0,.2)); height: auto; max-width: none; transform: rotate(-4deg); width: 340px; }
.cbb-booking-footer-bottom {
	align-items: center;
	background: var(--cbb-footer-dark);
	box-sizing: border-box;
	display: flex;
	font: 400 11px/1.4 Arial, sans-serif;
	gap: 20px;
	justify-content: space-between;
	min-height: 62px;
	padding: 14px max(28px, calc((100vw - 1204px) / 2));
	width: 100%;
}
.cbb-booking-footer-bottom a { color: #d86e98 !important; font-weight: 800; }

@media (max-width: 1080px) {
	.cbb-booking-header-inner { gap: 14px; grid-template-columns: 205px minmax(0,1fr) auto; padding-left: 18px; padding-right: 18px; }
	.cbb-booking-header-logo { height: 78px; width: 195px; }
	.cbb-booking-site-nav { gap: 11px; }
	.cbb-booking-site-nav a { font-size: 10px; }
	.cbb-booking-header-quote { padding: 0 17px; }
	.cbb-booking-footer-inner { grid-template-columns: 1.2fr .6fr .8fr; }
	.cbb-booking-footer-art { display: none; }
}

@media (max-width: 980px) {
	body.cbb-site-menu-open { overflow: hidden; }
	.cbb-booking-header-inner { grid-template-columns: 1fr auto auto; min-height: 92px; position: relative; }
	.cbb-booking-header-logo { height: 72px; width: 190px; }
	.cbb-booking-menu-toggle { display: flex; grid-column: 2; }
	.cbb-booking-header-quote { grid-column: 3; grid-row: 1; }
	.cbb-booking-site-nav {
		align-items: stretch;
		background: #fff6f0;
		border: 1px solid rgba(244,191,209,.30);
		border-radius: 18px;
		box-shadow: 0 24px 55px rgba(17,17,17,.10);
		display: none;
		grid-column: 1 / -1;
		grid-template-columns: repeat(2,minmax(0,1fr));
		left: 18px;
		max-height: min(620px, calc(100dvh - 108px));
		overflow-y: auto;
		overscroll-behavior: contain;
		padding: 15px;
		position: absolute;
		right: 18px;
		top: calc(100% - 3px);
		z-index: 1002;
	}
	.cbb-booking-site-header.is-menu-open .cbb-booking-site-nav { display: grid; }
	.cbb-booking-site-nav a { border-radius: 10px; box-sizing: border-box; padding: 12px; white-space: normal; }
	.cbb-booking-site-nav a:hover { background: #ffe8f0; }
	.cbb-booking-site-nav a::after { display: none; }
}

@media (max-width: 720px) {
	.cbb-booking-header-inner { grid-template-columns: minmax(0,1fr) auto; min-height: 82px; padding: 8px 14px; }
	.cbb-booking-header-logo { height: 64px; max-width: calc(100vw - 92px); width: 168px; }
	.cbb-booking-header-quote { display: none; }
	.cbb-booking-menu-toggle { grid-column: 2; }
	.cbb-booking-nav-quote { background: var(--cbb-global-accent, var(--cbb-coral)); color: #fff !important; display: block; }
	.cbb-booking-site-nav { grid-template-columns: 1fr; left: 10px; max-height: calc(100dvh - 96px); right: 10px; }
	.cbb-booking-footer-inner { gap: 32px; grid-template-columns: 1fr 1fr; min-height: 0; padding: 48px 22px 42px; }
	.cbb-booking-footer-brand { grid-column: 1 / -1; }
	.cbb-booking-footer-brand img { height: auto; max-width: 220px; width: 100%; }
	.cbb-booking-footer-bottom { align-items: flex-start; flex-direction: column; gap: 8px; padding: 18px 22px; }
}

@media (max-width: 440px) {
	.cbb-booking-header-inner { padding-left: 12px; padding-right: 12px; }
	.cbb-booking-header-logo { width: 154px; }
	.cbb-booking-footer-inner { grid-template-columns: 1fr; padding-left: 18px; padding-right: 18px; }
	.cbb-booking-footer-brand { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
	.cbb-booking-menu-toggle > span:not(.screen-reader-text),
	.cbb-booking-site-nav a::after { transition: none; }
}

/* 1.6.0 advanced design controls */
.cbb-booking-header-logo picture{align-items:center;display:flex;height:100%;width:100%}
.cbb-booking-footer-inner.no-art{grid-template-columns:minmax(250px,1.4fr) .7fr 1fr}
@media(max-width:1080px){.cbb-booking-footer-inner.no-art{grid-template-columns:1.2fr .7fr 1fr}}
@media(max-width:720px){.cbb-booking-footer-inner.no-art{grid-template-columns:1fr 1fr}.cbb-booking-footer-inner.no-art .cbb-booking-footer-brand{grid-column:1/-1}}
@media(max-width:440px){.cbb-booking-footer-inner.no-art{grid-template-columns:1fr}.cbb-booking-footer-inner.no-art .cbb-booking-footer-brand{grid-column:auto}}

/* 1.7.0 — Advanced global menu builder */
.cbb-booking-site-nav .cbb-menu-list,
.cbb-booking-site-nav .cbb-submenu{list-style:none;margin:0;padding:0}
.cbb-booking-site-nav .cbb-menu-list{align-items:center;display:flex;gap:var(--cbb-menu-gap,inherit);justify-content:inherit;min-width:0}
.cbb-booking-site-nav .cbb-menu-item{position:relative}
.cbb-booking-site-nav .cbb-menu-link-row{align-items:center;display:flex;position:relative}
.cbb-booking-site-nav .cbb-menu-link{align-items:center;border-radius:var(--cbb-menu-radius,12px);display:flex;gap:6px;min-height:34px;padding:var(--cbb-menu-py,9px) var(--cbb-menu-px,8px);position:relative;text-decoration:none!important;transition:background-color .18s ease,color .18s ease,transform .18s ease}
.cbb-booking-site-nav .cbb-menu-icon{display:inline-grid;font-size:var(--cbb-menu-icon,14px);line-height:1;place-items:center}
.cbb-booking-site-nav .cbb-menu-badge{border-radius:999px;font:800 8px/1 Arial,sans-serif;letter-spacing:.04em;margin-left:2px;padding:4px 6px;text-transform:uppercase;white-space:nowrap}
.cbb-booking-site-nav .cbb-submenu-toggle{align-items:center;background:transparent;border:0;border-radius:8px;color:currentColor;cursor:pointer;display:flex;height:30px;justify-content:center;margin-left:-5px;padding:0;width:25px}
.cbb-booking-site-nav .cbb-submenu-toggle:hover,.cbb-booking-site-nav .cbb-submenu-toggle:focus-visible{background:rgba(244,191,209,.20);outline:none}
.cbb-booking-site-nav .cbb-submenu-toggle>span:first-child{font-size:14px;line-height:1;transition:transform .18s ease}
.cbb-booking-site-nav .cbb-menu-item.is-submenu-open>.cbb-menu-link-row .cbb-submenu-toggle>span:first-child{transform:rotate(180deg)}
.cbb-booking-site-nav .cbb-submenu{background:var(--cbb-dropdown-bg,#fff6f0);border:1px solid var(--cbb-dropdown-border,#f2cade);border-radius:var(--cbb-dropdown-radius,18px);box-shadow:var(--cbb-dropdown-shadow,0 20px 48px rgba(17,17,17,.12));box-sizing:border-box;left:0;margin-top:var(--cbb-dropdown-offset,14px);min-width:var(--cbb-dropdown-width,285px);opacity:0;padding:9px;pointer-events:none;position:absolute;top:100%;transform:translateY(-6px);transition:opacity .17s ease,transform .17s ease,visibility .17s ease;visibility:hidden;width:var(--cbb-dropdown-width,285px);z-index:1200}
.cbb-booking-site-nav .cbb-submenu:before{content:"";height:var(--cbb-dropdown-offset,14px);left:0;position:absolute;right:0;top:calc(var(--cbb-dropdown-offset,14px) * -1)}
.cbb-booking-site-nav[data-cbb-dropdown-animation="fade"] .cbb-submenu{transform:none}
.cbb-booking-site-nav[data-cbb-dropdown-animation="none"] .cbb-submenu{transition:none;transform:none}
.cbb-booking-site-nav[data-cbb-dropdown-trigger="hover"] .cbb-menu-item.has-submenu:hover>.cbb-submenu,
.cbb-booking-site-nav[data-cbb-dropdown-trigger="hover"] .cbb-menu-item.has-submenu:focus-within>.cbb-submenu,
.cbb-booking-site-nav .cbb-menu-item.is-submenu-open>.cbb-submenu{opacity:1;pointer-events:auto;transform:translateY(0);visibility:visible}
.cbb-booking-site-nav .cbb-submenu-item a{align-items:center;border-radius:12px;display:flex;gap:9px;min-height:44px;padding:9px 10px;text-decoration:none!important;text-transform:none!important;white-space:normal!important}
.cbb-booking-site-nav .cbb-submenu-item a::after{display:none!important}
.cbb-booking-site-nav .cbb-submenu-copy{display:grid;gap:2px;min-width:0}
.cbb-booking-site-nav .cbb-submenu-copy b{font:700 12px/1.25 Arial,sans-serif}
.cbb-booking-site-nav .cbb-submenu-copy small{color:rgba(17,17,17,.62);font:400 10px/1.35 Arial,sans-serif;letter-spacing:0;text-transform:none}
.cbb-booking-site-nav .cbb-menu-style-accent>.cbb-menu-link-row>.cbb-menu-link,
.cbb-booking-site-nav .cbb-submenu-item.cbb-menu-style-accent>a{color:var(--cbb-global-accent,#f4bfd1)!important;font-weight:800!important}
.cbb-booking-site-nav .cbb-menu-style-pill>.cbb-menu-link-row>.cbb-menu-link,
.cbb-booking-site-nav .cbb-submenu-item.cbb-menu-style-pill>a{background:rgba(244,191,209,.18);border:1px solid rgba(244,191,209,.28)}
.cbb-booking-site-nav .cbb-menu-item.is-current>.cbb-menu-link-row>.cbb-menu-link{color:var(--cbb-menu-active,#f4bfd1)!important}
.cbb-booking-site-nav .cbb-menu-item.is-current>.cbb-menu-link-row>.cbb-menu-link::after{transform:scaleX(1)}
.cbb-booking-site-nav .cbb-menu-visibility-mobile{display:none!important}
.cbb-menu-special-actions{align-items:center;display:flex;gap:10px}
.cbb-menu-backdrop{background:rgba(17,17,17,.38);inset:0;position:fixed;z-index:998}
.cbb-menu-backdrop[hidden]{display:none!important}

@media (max-width:980px){
 .cbb-booking-site-nav .cbb-menu-list{align-items:stretch;display:grid;gap:4px;grid-column:1/-1;grid-template-columns:repeat(var(--cbb-mobile-columns,1),minmax(0,1fr));width:100%}
 .cbb-booking-site-nav .cbb-menu-item{min-width:0}
 .cbb-booking-site-nav .cbb-menu-link-row{width:100%}
 .cbb-booking-site-nav .cbb-menu-link{box-sizing:border-box;flex:1;justify-content:flex-start;min-height:44px;padding:12px!important;width:auto}
 .cbb-booking-site-nav .cbb-menu-link::after{display:none!important}
 .cbb-booking-site-nav .cbb-submenu-toggle{flex:0 0 42px;height:42px;margin:1px 0 1px 4px}
 .cbb-booking-site-nav .cbb-submenu{border:0!important;border-left:2px solid rgba(244,191,209,.34)!important;border-radius:0!important;box-shadow:none!important;display:none;margin:2px 0 7px 12px!important;min-width:0!important;opacity:1!important;padding:3px 0 3px 8px!important;pointer-events:auto!important;position:static!important;transform:none!important;visibility:visible!important;width:auto!important}
 .cbb-booking-site-nav .cbb-menu-item.is-submenu-open>.cbb-submenu{display:block}
 .cbb-booking-site-nav[data-cbb-mobile-submenu="expanded"] .cbb-submenu{display:block}
 .cbb-booking-site-nav[data-cbb-mobile-submenu="expanded"] .cbb-submenu-toggle{display:none}
 .cbb-booking-site-nav .cbb-menu-visibility-desktop{display:none!important}
 .cbb-booking-site-nav .cbb-menu-visibility-mobile{display:list-item!important}
 .cbb-menu-special-actions{display:grid;gap:7px;grid-column:1/-1;margin-top:5px;width:100%}
 .cbb-menu-special-actions .cbb-booking-nav-portal,.cbb-menu-special-actions .cbb-booking-nav-quote{box-sizing:border-box;display:block!important;text-align:center;width:100%}
 .cbb-booking-site-nav.cbb-mobile-style-drawer{border-radius:0!important;bottom:0;display:block!important;height:100dvh;left:auto!important;margin:0!important;max-height:none!important;max-width:420px;overflow-y:auto;padding:88px 18px 24px!important;position:fixed!important;right:0!important;top:0!important;transform:translateX(105%);transition:transform .22s ease,visibility .22s ease;visibility:hidden;width:min(88vw,420px);z-index:1005!important}
 .cbb-booking-site-header.is-menu-open .cbb-booking-site-nav.cbb-mobile-style-drawer{transform:translateX(0);visibility:visible}
 .cbb-booking-site-nav.cbb-mobile-style-fullscreen{border-radius:0!important;display:block!important;height:100dvh;inset:0!important;margin:0!important;max-height:none!important;overflow-y:auto;padding:94px 22px 30px!important;position:fixed!important;transform:scale(.98);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;visibility:hidden;opacity:0;width:100vw!important;z-index:1005!important}
 .cbb-booking-site-header.is-menu-open .cbb-booking-site-nav.cbb-mobile-style-fullscreen{opacity:1;transform:scale(1);visibility:visible}
 .cbb-booking-site-header.is-menu-open .cbb-booking-menu-toggle{position:relative;z-index:1010}
}
@media (max-width:720px){.cbb-booking-site-nav .cbb-menu-list{grid-template-columns:1fr!important}}


/* 1.7.4 contrast guard */
.cbb-global-announcement{color:#111!important;}
.cbb-global-site-header,.cbb-booking-site-header{color:#111!important;}
.cbb-booking-header-quote,.cbb-booking-nav-quote{color:#fff!important;-webkit-text-fill-color:#fff!important;}
.cbb-global-site-footer,.cbb-booking-site-footer{color:#111!important;}
.cbb-global-site-footer a,.cbb-booking-site-footer a{color:#111;}


/* Camillas 1.7.12 — customer booking footer stability + professional compact layout.
 * The website footer art is intentionally disabled inside Celebration Studio customer routes.
 * It previously became the dominant visual when the footer switched to the light Camillas palette. */
.venueos-body .cbb-booking-site-footer,
.venueos-body .cbb-global-site-footer{
    background:#fff6f0!important;
    border-top:1px solid #f2cade!important;
    color:#111111!important;
}
.venueos-body .cbb-booking-footer-inner{
    display:grid!important;
    grid-template-columns:minmax(240px,1.35fr) minmax(150px,.7fr) minmax(210px,.9fr)!important;
    align-items:start!important;
    gap:clamp(28px,5vw,70px)!important;
    max-width:1180px!important;
    min-height:0!important;
    padding:42px 28px 34px!important;
    overflow:visible!important;
}
.venueos-body .cbb-booking-footer-art{display:none!important;}
.venueos-body .cbb-booking-footer-brand{min-width:0!important;}
.venueos-body .cbb-booking-footer-brand img{
    width:auto!important;
    max-width:190px!important;
    height:auto!important;
    max-height:78px!important;
    margin:0 0 18px!important;
    padding:0!important;
    background:transparent!important;
    border-radius:0!important;
    object-fit:contain!important;
}
.venueos-body .cbb-booking-footer-brand p{
    max-width:390px!important;
    margin:0!important;
    color:#5c5558!important;
    font:500 14px/1.7 Arial,Helvetica,sans-serif!important;
}
.venueos-body .cbb-booking-footer-column{
    display:grid!important;
    align-content:start!important;
    gap:9px!important;
}
.venueos-body .cbb-booking-footer-column h2{
    margin:0 0 9px!important;
    color:#111111!important;
    font:800 14px/1.25 Arial,Helvetica,sans-serif!important;
    letter-spacing:.04em!important;
    text-transform:uppercase!important;
}
.venueos-body .cbb-booking-footer-column a,
.venueos-body .cbb-booking-footer-column span{
    color:#5c5558!important;
    font:600 13px/1.5 Arial,Helvetica,sans-serif!important;
    text-decoration:none!important;
}
.venueos-body .cbb-booking-footer-column a:hover,
.venueos-body .cbb-booking-footer-column a:focus-visible{
    color:#b84d77!important;
    text-decoration:underline!important;
    text-underline-offset:3px!important;
}
.venueos-body .cbb-booking-footer-bottom{
    min-height:54px!important;
    padding:13px max(28px,calc((100vw - 1124px)/2))!important;
    background:#f4bfd1!important;
    border-top:1px solid #efadc7!important;
    color:#111111!important;
    font:650 12px/1.45 Arial,Helvetica,sans-serif!important;
}
.venueos-body .cbb-booking-footer-bottom a{
    color:#111111!important;
    font-weight:800!important;
    text-decoration:underline!important;
    text-underline-offset:3px!important;
}
@media(max-width:820px){
    .venueos-body .cbb-booking-footer-inner{
        grid-template-columns:1fr 1fr!important;
        gap:30px!important;
        padding:36px 22px 30px!important;
    }
    .venueos-body .cbb-booking-footer-brand{grid-column:1/-1!important;}
}
@media(max-width:560px){
    .venueos-body .cbb-booking-footer-inner{
        grid-template-columns:1fr!important;
        gap:24px!important;
        padding:32px 18px 28px!important;
    }
    .venueos-body .cbb-booking-footer-brand{grid-column:auto!important;}
    .venueos-body .cbb-booking-footer-brand img{max-width:168px!important;max-height:70px!important;}
    .venueos-body .cbb-booking-footer-bottom{
        align-items:flex-start!important;
        flex-direction:column!important;
        gap:5px!important;
        padding:14px 18px!important;
    }
}


/* Camillas 1.7.13 — transparent footer logo treatment.
 * Match the homepage logo presentation: no white rectangle behind transparent artwork. */
.cbb-global-site-footer .cbb-booking-footer-brand img,
.cbb-booking-site-footer .cbb-booking-footer-brand img{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  padding:0!important;
}
.cbb-global-site-footer .cbb-booking-footer-brand a,
.cbb-booking-site-footer .cbb-booking-footer-brand a{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  display:inline-block!important;
  line-height:0!important;
  padding:0!important;
}


/* Camillas 1.8.0 — phone-only navigation rebuild.
 * Everything in this block is intentionally scoped below 768px so tablet and desktop keep their existing layouts. */
.cbb-mobile-nav-head{display:none}
@media (max-width:767px){
  body.cbb-site-menu-open{overflow:hidden!important;touch-action:none}
  .cbb-global-announcement{font-size:10px!important;line-height:1.35!important;padding:7px 14px!important}
  .cbb-booking-header-inner{grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;min-height:76px!important;padding:8px 14px!important}
  .cbb-booking-header-logo{height:58px!important;max-width:178px!important;width:42vw!important}
  .cbb-booking-header-logo img{height:100%!important;max-width:100%!important;object-fit:contain!important}
  .cbb-booking-header-quote{display:none!important}
  .cbb-booking-menu-toggle{background:#fff6f0!important;border:1px solid #efadc7!important;border-radius:15px!important;box-shadow:0 8px 20px rgba(17,17,17,.07)!important;display:flex!important;height:48px!important;width:48px!important;position:relative;z-index:1015}
  .cbb-booking-menu-toggle>span:not(.screen-reader-text){background:#111!important;height:2px!important;width:20px!important}
  .cbb-booking-site-header.is-menu-open .cbb-booking-menu-toggle{background:#f4bfd1!important;border-color:#f4bfd1!important;position:fixed!important;right:14px!important;top:14px!important}

  /* Force a true full-screen menu on phones, regardless of the optional tablet menu presentation setting. */
  .cbb-booking-site-nav,
  .cbb-booking-site-nav.cbb-mobile-style-dropdown,
  .cbb-booking-site-nav.cbb-mobile-style-drawer,
  .cbb-booking-site-nav.cbb-mobile-style-fullscreen{
    background:#fff6f0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
    display:block!important;
    height:100%!important;
    inset:0!important;
    margin:0!important;
    max-height:none!important;
    max-width:none!important;
    opacity:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    padding:22px 18px 34px!important;
    pointer-events:none!important;
    position:fixed!important;
    transform:translateY(-10px)!important;
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease!important;
    visibility:hidden!important;
    width:100%!important;
    z-index:1010!important;
    -webkit-overflow-scrolling:touch;
  }
  .cbb-booking-site-header.is-menu-open .cbb-booking-site-nav,
  .cbb-booking-site-header.is-menu-open .cbb-booking-site-nav.cbb-mobile-style-dropdown,
  .cbb-booking-site-header.is-menu-open .cbb-booking-site-nav.cbb-mobile-style-drawer,
  .cbb-booking-site-header.is-menu-open .cbb-booking-site-nav.cbb-mobile-style-fullscreen{
    opacity:1!important;pointer-events:auto!important;transform:none!important;visibility:visible!important;
  }
  .cbb-menu-backdrop{display:none!important}
  .cbb-mobile-nav-head{align-items:center;border-bottom:1px solid #f2cade;display:flex!important;gap:14px;margin:0 56px 18px 0;padding:0 0 18px}
  .cbb-mobile-nav-brand{align-items:center!important;display:flex!important;flex:0 0 auto!important;padding:0!important;width:104px!important}
  .cbb-mobile-nav-brand::after{display:none!important}
  .cbb-mobile-nav-brand img{display:block;height:58px;max-width:104px;object-fit:contain;width:100%}
  .cbb-mobile-nav-copy{display:grid;gap:3px;min-width:0}
  .cbb-mobile-nav-copy span{color:#b84d77;font:800 10px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.12em;text-transform:uppercase}
  .cbb-mobile-nav-copy strong{color:#111;font:700 16px/1.25 Georgia,'Times New Roman',serif;letter-spacing:-.01em}

  .cbb-booking-site-nav .cbb-menu-list{display:grid!important;gap:3px!important;grid-template-columns:1fr!important;margin:0!important;width:100%!important}
  .cbb-booking-site-nav .cbb-menu-item{border-bottom:1px solid rgba(242,202,222,.75)!important;width:100%!important}
  .cbb-booking-site-nav .cbb-menu-link-row{min-height:55px!important;width:100%!important}
  .cbb-booking-site-nav .cbb-menu-link{
    background:transparent!important;border:0!important;border-radius:12px!important;color:#111!important;flex:1!important;
    font:750 17px/1.25 Arial,Helvetica,sans-serif!important;letter-spacing:-.01em!important;min-height:54px!important;
    padding:14px 12px!important;text-transform:none!important;white-space:normal!important;width:auto!important;
  }
  .cbb-booking-site-nav .cbb-menu-icon{font-size:18px!important;width:24px}
  .cbb-booking-site-nav .cbb-menu-badge{background:#ffe8f0!important;color:#8d365b!important;font-size:9px!important;padding:5px 7px!important}
  .cbb-booking-site-nav .cbb-menu-item.is-current>.cbb-menu-link-row>.cbb-menu-link{background:#fff0f5!important;color:#8d365b!important}
  .cbb-booking-site-nav .cbb-menu-style-pill>.cbb-menu-link-row>.cbb-menu-link{background:#fff0f5!important;border:0!important}
  .cbb-booking-site-nav .cbb-submenu-toggle{border-radius:12px!important;color:#111!important;flex:0 0 48px!important;height:48px!important;margin:3px 0!important;width:48px!important}
  .cbb-booking-site-nav .cbb-submenu-toggle:hover,
  .cbb-booking-site-nav .cbb-submenu-toggle:focus-visible{background:#ffe8f0!important}
  .cbb-booking-site-nav .cbb-submenu-toggle>span:first-child{font-size:19px!important}
  .cbb-booking-site-nav .cbb-submenu{background:#fffaf7!important;border:0!important;border-left:3px solid #efadc7!important;border-radius:0 12px 12px 0!important;box-shadow:none!important;margin:0 0 10px 12px!important;padding:5px 7px 7px 10px!important}
  .cbb-booking-site-nav .cbb-submenu-item a{border-radius:10px!important;color:#3f393c!important;font:700 15px/1.3 Arial,Helvetica,sans-serif!important;min-height:48px!important;padding:11px 10px!important}
  .cbb-booking-site-nav .cbb-submenu-copy b{font:750 15px/1.25 Arial,Helvetica,sans-serif!important}
  .cbb-booking-site-nav .cbb-submenu-copy small{color:#6a6064!important;font:500 12px/1.35 Arial,Helvetica,sans-serif!important;margin-top:2px}

  .cbb-menu-special-actions{display:grid!important;gap:10px!important;margin:20px 0 0!important;padding:0 0 4px!important;width:100%!important}
  .cbb-menu-special-actions .cbb-booking-nav-quote,
  .cbb-menu-special-actions .cbb-booking-nav-portal{
    align-items:center!important;border-radius:999px!important;box-sizing:border-box!important;display:flex!important;font:800 14px/1 Arial,Helvetica,sans-serif!important;
    justify-content:center!important;letter-spacing:.02em!important;min-height:52px!important;padding:0 18px!important;text-align:center!important;text-transform:none!important;width:100%!important;
  }
  .cbb-menu-special-actions .cbb-booking-nav-quote{background:#b84d77!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
  .cbb-menu-special-actions .cbb-booking-nav-portal{background:#fff!important;border:1px solid #efadc7!important;color:#111!important}
  .cbb-menu-special-actions a::after{display:none!important}

  /* Phone footer: compact and easy to scan. */
  .cbb-booking-footer-inner,
  .cbb-booking-footer-inner.no-art{grid-template-columns:1fr!important;gap:23px!important;min-height:0!important;padding:34px 18px 30px!important;text-align:left!important}
  .cbb-booking-footer-brand{grid-column:auto!important;margin:0!important}
  .cbb-booking-footer-brand img{height:auto!important;max-width:172px!important;width:auto!important}
  .cbb-booking-footer-brand p{font-size:14px!important;line-height:1.6!important;max-width:32rem!important}
  .cbb-booking-footer-column{gap:9px!important}
  .cbb-booking-footer-column h2{font-size:14px!important;margin-bottom:5px!important}
  .cbb-booking-footer-column a,.cbb-booking-footer-column span{font-size:14px!important;line-height:1.45!important;min-height:24px!important}
  .cbb-booking-footer-art{display:none!important}
  .cbb-booking-footer-bottom{align-items:flex-start!important;flex-direction:column!important;gap:7px!important;min-height:0!important;padding:16px 18px!important}
}
@media (max-width:380px){
  .cbb-booking-header-inner{padding-left:12px!important;padding-right:12px!important}
  .cbb-booking-header-logo{max-width:150px!important;width:45vw!important}
  .cbb-booking-site-nav,.cbb-booking-site-nav.cbb-mobile-style-dropdown,.cbb-booking-site-nav.cbb-mobile-style-drawer,.cbb-booking-site-nav.cbb-mobile-style-fullscreen{padding-left:14px!important;padding-right:14px!important}
  .cbb-mobile-nav-brand{width:92px!important}.cbb-mobile-nav-brand img{max-width:92px!important}
  .cbb-mobile-nav-copy strong{font-size:15px!important}
}


/* 1.8.2 explicit phone menu close control */
.cbb-mobile-menu-close{display:none}
@media (max-width:767px){
  .cbb-mobile-menu-close{
    align-items:center!important;background:#fff!important;border:1px solid #efadc7!important;border-radius:50%!important;box-shadow:0 8px 20px rgba(17,17,17,.08)!important;color:#111!important;cursor:pointer!important;display:flex!important;font:400 32px/1 Arial,Helvetica,sans-serif!important;height:46px!important;justify-content:center!important;padding:0 0 3px!important;position:absolute!important;right:14px!important;top:14px!important;width:46px!important;z-index:1025!important;
  }
  .cbb-mobile-menu-close:hover,.cbb-mobile-menu-close:focus-visible{background:#ffe8f0!important;border-color:#d86e98!important;outline:3px solid rgba(216,110,152,.22)!important;outline-offset:2px!important}
  .cbb-booking-site-header.is-menu-open>.cbb-booking-header-inner>.cbb-booking-menu-toggle{display:none!important}
}


/* Camillas 1.8.7 — footer art to edge + balanced footer logo */
.cbb-global-site-footer .cbb-booking-footer-brand img,
.cbb-booking-site-footer .cbb-booking-footer-brand img{
  width:min(190px,100%)!important;
  max-width:190px!important;
}

@media (min-width:1081px){
  .cbb-global-site-footer,
  .cbb-booking-site-footer{
    overflow:hidden!important;
  }
  .cbb-global-site-footer .cbb-booking-footer-inner,
  .cbb-booking-site-footer .cbb-booking-footer-inner{
    grid-template-columns:minmax(240px,1.35fr) .62fr .88fr!important;
    overflow:visible!important;
    padding-right:360px!important;
  }
  .cbb-global-site-footer .cbb-booking-footer-art,
  .cbb-booking-site-footer .cbb-booking-footer-art{
    align-self:auto!important;
    bottom:-105px!important;
    display:block!important;
    margin:0!important;
    pointer-events:none!important;
    position:absolute!important;
    right:-42px!important;
    width:430px!important;
    z-index:1!important;
  }
  .cbb-global-site-footer .cbb-booking-footer-art img,
  .cbb-booking-site-footer .cbb-booking-footer-art img{
    filter:drop-shadow(0 18px 30px rgba(17,17,17,.11))!important;
    height:auto!important;
    max-width:none!important;
    transform:rotate(-2deg)!important;
    width:430px!important;
  }
  .cbb-global-site-footer .cbb-booking-footer-brand,
  .cbb-global-site-footer .cbb-booking-footer-column,
  .cbb-booking-site-footer .cbb-booking-footer-brand,
  .cbb-booking-site-footer .cbb-booking-footer-column{
    position:relative!important;
    z-index:3!important;
  }
}

@media (min-width:1081px) and (max-width:1280px){
  .cbb-global-site-footer .cbb-booking-footer-inner,
  .cbb-booking-site-footer .cbb-booking-footer-inner{
    padding-right:325px!important;
  }
  .cbb-global-site-footer .cbb-booking-footer-art,
  .cbb-booking-site-footer .cbb-booking-footer-art,
  .cbb-global-site-footer .cbb-booking-footer-art img,
  .cbb-booking-site-footer .cbb-booking-footer-art img{
    width:385px!important;
  }
}


/* 2.0.2 desktop navigation collision guard */
@media (min-width:981px) and (max-width:1320px){
  .cbb-booking-header-inner{grid-template-columns:170px minmax(0,1fr) auto;gap:10px;padding-left:16px;padding-right:16px}
  .cbb-booking-header-logo{height:68px;max-width:170px;width:170px}
  .cbb-booking-site-nav{gap:5px;min-width:0}
  .cbb-booking-site-nav .cbb-menu-list{gap:2px;min-width:0}
  .cbb-menu-list>.cbb-menu-item>.cbb-menu-link-row>.cbb-menu-link{font-size:10px;letter-spacing:.012em;padding:8px 5px}
  .cbb-menu-special-actions{gap:3px;min-width:0}
  .cbb-booking-site-nav .cbb-booking-nav-portal{font-size:10px;padding-left:5px;padding-right:5px}
  .cbb-booking-header-quote{font-size:10px;min-height:42px;padding-left:14px;padding-right:14px}
}


/* 2.0.3 header action contrast + spacing fix */
@media (min-width:981px){
  body .cbb-booking-site-header .cbb-booking-site-nav .cbb-menu-special-actions{gap:10px!important;margin-left:10px!important;min-width:max-content!important}
  body .cbb-booking-site-header .cbb-booking-site-nav .cbb-booking-nav-portal{
    align-items:center!important;
    background:#fff9f7!important;
    border:1px solid #e9a5c0!important;
    border-radius:999px!important;
    color:#8d365b!important;
    -webkit-text-fill-color:#8d365b!important;
    display:inline-flex!important;
    font-family:Arial,sans-serif!important;
    font-size:11px!important;
    font-weight:700!important;
    letter-spacing:0!important;
    line-height:1!important;
    min-height:38px!important;
    padding:0 13px!important;
    text-transform:none!important;
    white-space:nowrap!important;
  }
  body .cbb-booking-site-header .cbb-booking-site-nav .cbb-booking-nav-portal::before{content:"♡";color:#d86e98;margin-right:6px;font-size:13px;line-height:1}
  body .cbb-booking-site-header .cbb-booking-site-nav .cbb-booking-nav-portal::after{display:none!important}
  body .cbb-booking-site-header .cbb-booking-site-nav .cbb-booking-nav-portal:hover,
  body .cbb-booking-site-header .cbb-booking-site-nav .cbb-booking-nav-portal:focus-visible{background:#fff0f5!important;border-color:#d86e98!important;color:#7b2e50!important;-webkit-text-fill-color:#7b2e50!important}
  body .cbb-booking-site-header .cbb-booking-header-quote{margin-left:2px!important}
}
@media (min-width:981px) and (max-width:1320px){
  body .cbb-booking-site-header .cbb-booking-site-nav .cbb-menu-special-actions{gap:7px!important;margin-left:7px!important}
  body .cbb-booking-site-header .cbb-booking-site-nav .cbb-booking-nav-portal{font-size:10px!important;min-height:36px!important;padding:0 10px!important}
  body .cbb-booking-site-header .cbb-booking-header-quote{font-size:10px!important;min-height:40px!important;padding-left:12px!important;padding-right:12px!important}
}


/* 2.0.4 desktop header structural alignment */
.cbb-booking-header-actions{display:none;}
@media (min-width:981px){
  .cbb-booking-header-inner{
    align-items:center!important;
    grid-template-columns:130px minmax(0,1fr) auto!important;
    column-gap:18px!important;
    max-width:min(1480px,calc(100vw - 32px))!important;
    min-height:104px!important;
    padding:10px 16px!important;
  }
  .cbb-booking-header-logo{align-self:center!important;height:76px!important;max-width:130px!important;width:130px!important;}
  .cbb-booking-header-logo picture,.cbb-booking-header-logo img{height:76px!important;max-width:130px!important;width:130px!important;object-fit:contain!important;}
  .cbb-booking-site-nav{align-items:center!important;align-self:stretch!important;display:flex!important;justify-content:center!important;min-width:0!important;}
  .cbb-booking-site-nav .cbb-menu-list{align-items:center!important;display:flex!important;gap:clamp(3px,.55vw,10px)!important;justify-content:center!important;min-width:0!important;width:100%!important;}
  .cbb-booking-site-nav .cbb-menu-item,.cbb-booking-site-nav .cbb-menu-link-row{align-items:center!important;display:flex!important;}
  .cbb-menu-list>.cbb-menu-item>.cbb-menu-link-row{min-height:42px!important;}
  .cbb-menu-list>.cbb-menu-item>.cbb-menu-link-row>.cbb-menu-link{align-items:center!important;display:inline-flex!important;font-size:11px!important;line-height:1!important;min-height:42px!important;padding:0 6px!important;}
  .cbb-booking-site-nav>.cbb-menu-special-actions{display:none!important;}
  .cbb-booking-header-actions{align-items:center!important;align-self:center!important;display:flex!important;gap:12px!important;justify-content:flex-end!important;min-width:max-content!important;}
  .cbb-booking-header-actions .cbb-booking-nav-portal{align-items:center!important;background:#fff9f7!important;border:1px solid #e9a5c0!important;border-radius:999px!important;box-sizing:border-box!important;color:#8d365b!important;-webkit-text-fill-color:#8d365b!important;display:inline-flex!important;font-family:Arial,sans-serif!important;font-size:11px!important;font-weight:700!important;height:40px!important;justify-content:center!important;letter-spacing:0!important;line-height:1!important;margin:0!important;padding:0 14px!important;text-transform:none!important;white-space:nowrap!important;}
  .cbb-booking-header-actions .cbb-booking-nav-portal::before{content:"♡";color:#d86e98;margin-right:6px;font-size:13px;line-height:1;}
  .cbb-booking-header-actions .cbb-booking-nav-portal::after{display:none!important;}
  .cbb-booking-header-actions .cbb-booking-header-quote{align-items:center!important;box-sizing:border-box!important;display:inline-flex!important;height:44px!important;justify-content:center!important;margin:0!important;min-height:44px!important;vertical-align:middle!important;}
}
@media (min-width:981px) and (max-width:1180px){
  .cbb-booking-header-inner{grid-template-columns:108px minmax(0,1fr) auto!important;column-gap:10px!important;padding-left:10px!important;padding-right:10px!important;}
  .cbb-booking-header-logo,.cbb-booking-header-logo picture,.cbb-booking-header-logo img{height:62px!important;max-width:108px!important;width:108px!important;}
  .cbb-booking-site-nav .cbb-menu-list{gap:1px!important;}
  .cbb-menu-list>.cbb-menu-item>.cbb-menu-link-row>.cbb-menu-link{font-size:9px!important;letter-spacing:0!important;padding:0 3px!important;}
  .cbb-booking-header-actions{gap:6px!important;}
  .cbb-booking-header-actions .cbb-booking-nav-portal{font-size:9.5px!important;height:36px!important;padding:0 9px!important;}
  .cbb-booking-header-actions .cbb-booking-header-quote{font-size:9.5px!important;height:40px!important;min-height:40px!important;padding-left:11px!important;padding-right:11px!important;}
}
@media (max-width:980px){
  .cbb-booking-header-actions{display:none!important;}
  .cbb-booking-site-nav>.cbb-menu-special-actions{display:grid!important;}
}


/* 2.0.5 — phone menu viewport containment fix.
 * The smooth header entrance animation leaves a transform on the header,
 * which turns it into a containing block for position:fixed descendants.
 * Remove that transform on phones so the menu is fixed to the viewport. */
@media (max-width:767px){
  body.cbb-motion-ready [data-cbb-global-header],
  body.cbb-motion-ready .cbb-global-site-header,
  body.cbb-motion-ready .cbb-booking-site-header{
    animation:none!important;
    transform:none!important;
    filter:none!important;
    perspective:none!important;
  }

  .cbb-booking-site-header{
    contain:none!important;
    overflow:visible!important;
  }

  .cbb-booking-site-nav,
  .cbb-booking-site-nav.cbb-mobile-style-dropdown,
  .cbb-booking-site-nav.cbb-mobile-style-drawer,
  .cbb-booking-site-nav.cbb-mobile-style-fullscreen{
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    width:100vw!important;
    height:100vh!important;
    min-height:100vh!important;
    max-height:none!important;
    z-index:2147482000!important;
  }

  @supports (height:100dvh){
    .cbb-booking-site-nav,
    .cbb-booking-site-nav.cbb-mobile-style-dropdown,
    .cbb-booking-site-nav.cbb-mobile-style-drawer,
    .cbb-booking-site-nav.cbb-mobile-style-fullscreen{
      height:100dvh!important;
      min-height:100dvh!important;
    }
  }

  .cbb-mobile-menu-close{
    position:fixed!important;
    top:14px!important;
    right:14px!important;
    z-index:2147482100!important;
  }

  body.cbb-site-menu-open .cbb-booking-site-header{
    z-index:2147481900!important;
  }
}


/* 2.0.6 mobile action-label visibility guard */
@media (max-width:767px){
  .cbb-menu-special-actions .cbb-booking-nav-portal{
    color:#8d365b!important;
    -webkit-text-fill-color:#8d365b!important;
    opacity:1!important;
    visibility:visible!important;
    text-indent:0!important;
    font-size:15px!important;
    font-weight:700!important;
    line-height:1.2!important;
  }
  .cbb-menu-special-actions .cbb-booking-nav-portal::before{
    content:"♡";
    color:#d86e98!important;
    display:inline-block!important;
    font-size:16px!important;
    line-height:1!important;
    margin-right:8px!important;
  }
  .cbb-menu-special-actions .cbb-booking-nav-quote{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    opacity:1!important;
    visibility:visible!important;
    text-indent:0!important;
    font-size:15px!important;
    font-weight:700!important;
    line-height:1.2!important;
  }
}
