/* Shared ivory, champagne and burgundy theme for every public page. */
:root { --venue-ivory: #fffaf4; --venue-blush: #fae9e5; --venue-champagne: #f4e6cf; --venue-burgundy: #762f4b; --venue-ink: #514247; --venue-gold: #997045; --venue-border: #e6d4c8; }
.search-summary { padding: 32px 0; background: var(--venue-ivory); }
.search-summary h1 { font-size: clamp(1.6rem, 3vw, 2.5rem); line-height: 1.25; margin: 0 0 16px; }
.search-summary p { max-width: 950px; margin: 0; line-height: 1.8; color: #45413d; }
.services-intro { padding: 170px 0 64px; background: radial-gradient(ellipse at 100% 0%, #efd3cc 0%, transparent 58%), radial-gradient(ellipse at 0% 100%, #f4e1bc 0%, transparent 55%), linear-gradient(115deg, #fffaf4, #faede7); border-bottom: 1px solid var(--venue-border); }
.services-intro h1 { color: var(--venue-burgundy); font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1.3; }
.services-intro p { color: var(--venue-ink); line-height: 1.8; }
.search-faq { padding: 50px 0; background: linear-gradient(125deg, var(--venue-ivory), #f9eeeb); }
.search-faq h2 { font-size: clamp(1.5rem, 3vw, 2rem); margin-bottom: 24px; }
.search-faq details { padding: 20px 24px; margin: 12px 0; border: 1px solid var(--venue-border); border-radius: 14px; background: #fff; }
.search-faq details[open] { border-color: #bd8c9d; box-shadow: 0 8px 24px rgba(118, 47, 75, .05); }
.search-faq summary { cursor: pointer; font-size: 1.05rem; font-weight: 600; color: var(--venue-burgundy); }
.search-faq details p { margin: 14px 0 0; max-width: 950px; line-height: 1.8; color: #45413d; }
.search-links { display: flex; flex-wrap: wrap; gap: 12px 24px; margin: 28px 0 20px; }
.search-faq a { color: #704f29; text-decoration: underline; text-underline-offset: 3px; }
.search-faq a:focus-visible, .search-faq summary:focus-visible { outline: 3px solid #704f29; outline-offset: 5px; }
.skip-link { position: fixed; top: 8px; left: 8px; transform: translateY(-180%); z-index: 100000; padding: 12px 20px; background: #fff; color: #222; }
.skip-link:focus { transform: translateY(0); }
.inner-breadcrumb-contact .main-breadcrumb-contact .rx-banner-contact h1 { font-size: clamp(1.8rem, 4vw, 3rem); font-weight: 600; line-height: 1.4; color: #fff; }
.guide-hero h1 { max-width: 960px; }
.guide-hero > .container > p { max-width: 920px; }
.guide-breadcrumb { margin-bottom: 28px; color: var(--venue-ink); font-size: .9rem; line-height: 1.7; }
.guide-breadcrumb a { color: var(--venue-burgundy); text-decoration: underline; text-underline-offset: 3px; }
.services-intro .guide-eyebrow { font-size: .8rem; letter-spacing: .13em; color: var(--venue-burgundy); font-weight: 600; }
.guide-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.guide-button { display: inline-block; background: var(--venue-burgundy); border: 1px solid var(--venue-burgundy); color: #fff !important; padding: 13px 22px; border-radius: 8px; font-weight: 600; text-decoration: none !important; box-shadow: 0 6px 18px rgba(118, 47, 75, .12); transition: background .2s, box-shadow .2s; }
.guide-button-light { background: #fffaf4; color: var(--venue-burgundy) !important; border-color: #bc8b9b; box-shadow: none; }
.guide-button:hover, .guide-button:focus-visible { background: #60243c; color: #fff !important; outline: 2px solid var(--venue-burgundy); outline-offset: 3px; }
.guide-button-light:hover, .guide-button-light:focus-visible { background: #f6e1e4; color: var(--venue-burgundy) !important; }
.event-guide { padding: 56px 0; background: #fffdf9; }
.guide-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.event-guide section + section { margin-top: 36px; }
.event-guide h2 { font-size: clamp(1.4rem, 2.6vw, 1.9rem); line-height: 1.35; margin-bottom: 18px; }
.event-guide p, .event-guide li { line-height: 1.85; color: #45413d; }
.event-guide ol { padding-left: 24px; }
.event-guide li + li { margin-top: 12px; }
.event-guide a, .event-guides a { color: #704f29; text-decoration: underline; text-underline-offset: 3px; }
.guide-aside { background: #fff7ed; padding: 24px; border: 1px solid var(--venue-border); border-radius: 18px; min-width: 0; overflow-wrap: anywhere; box-shadow: 0 14px 35px rgba(118, 47, 75, .07); }
.guide-aside img { display: block; width: 100%; height: auto; margin-bottom: 24px; border-radius: 12px; }
.guide-aside h2 { font-size: 1.35rem; }
.event-guides { padding: 36px 0; background: linear-gradient(110deg, #f7e5da, #f5e9d4); border-top: 1px solid var(--venue-border); }
.event-guides h2 { font-size: 1.5rem; margin-bottom: 20px; }
.guide-nav { display: flex; flex-wrap: wrap; gap: 14px 28px; }
.guide-nav a { font-weight: 600; padding: 10px 16px; border: 1px solid #dfc7b7; background: #fffaf4; border-radius: 30px; text-decoration: none; color: var(--venue-burgundy); }
.guide-nav a:hover, .guide-nav a:focus-visible { background: #f7dfe4; border-color: #b57e90; }
.search-summary h1, .search-summary h2, .search-faq h2, .event-guide h2, .event-guides h2 { color: var(--venue-burgundy); }
.event-guide section h2::after { content: ""; display: block; width: 48px; height: 3px; margin-top: 16px; border-radius: 3px; background: linear-gradient(90deg, #b78451, #e9c5ba); }

/* Keep navigation and the footer light, including the fixed header state. */
header .rx-header, header .header-fixed { background: rgba(255, 250, 244, .98) !important; border-bottom: 1px solid var(--venue-border); box-shadow: 0 3px 20px rgba(118, 47, 75, .05); }
.rx-inner-menu-desk .rx-main-menu ul li a.nav-link { color: var(--venue-burgundy); font-weight: 600; }
.rx-inner-menu-desk .rx-main-menu ul .rx-dropdown .rx-dropdown-menu { background: #fffaf4; border-color: var(--venue-border); }
.rx-inner-menu-desk .rx-main-menu ul .rx-dropdown .rx-dropdown-menu li a { color: var(--venue-ink); }
.rx-inner-menu-desk .navbar-toggler { border-color: #a7667e; background: #fff3ec; }
.rx-inner-menu-desk .navbar-toggler i { color: var(--venue-burgundy); }
.rx-inner-menu-desk .rx-header-btn img, .rx-social-media .rx-logo img { filter: brightness(0) saturate(100%) invert(22%) sepia(25%) saturate(1619%) hue-rotate(289deg) brightness(94%) contrast(91%); }
.rx-mobile-menu { background: var(--venue-ivory); }
.rx-mobile-menu .rx-menu-inner .rx-menu-contact ul li a { color: var(--venue-burgundy); border-color: var(--venue-border); }
.rx-mobile-menu .rx-menu-inner .header-res-social ul li { background: var(--venue-burgundy); }
footer { background: linear-gradient(115deg, #f7e8d8, #faeeea); border-top: 1px solid var(--venue-border); }
.rx-footer-copy { background: #f0decd; border-top: 1px solid #e2cbbb; }
.rx-social-media .inner-contact p,
.rx-footer-items .rx-items-contact ul li a,
.rx-footer-other-info .inner-info p,
.rx-footer-other-info .inner-info a,
.rx-footer-inner-contact .rx-footer-left-side-contact p,
.rx-footer-inner-contact .rx-footer-left-side-contact p a { color: var(--venue-ink); font-weight: 400; }
.rx-footer-items .rx-items-heading h4, .rx-footer-other-info .inner-info h5 { color: var(--venue-burgundy); font-weight: 600; }
.rx-footer-items .rx-items-heading:after, .rx-footer-items .rx-items-contact ul li:after { background: var(--venue-gold); }
.rx-footer-inner-contact .rx-footer-last-logo .rx-inner-footer-logo { background: #fffaf4; border-color: #cda992; }
.rx-footer-inner-contact .rx-footer-last-logo .rx-inner-footer-logo i { color: var(--venue-burgundy); }
.rx-footer-inner-contact .rx-footer-left-side-contact p font { color: var(--venue-burgundy); }

/* Warm photographic overlays replace the previous black fades. */
.section-breadcrumb:before, .rx-slide:before { background: linear-gradient(180deg, rgba(118, 47, 75, .4), rgba(118, 47, 75, 0)); }
.rx-breadcrumb-overlay { background: rgba(100, 49, 67, .35); }
.rx-slide:after { background: linear-gradient(0deg, rgba(104, 46, 67, .7), rgba(104, 46, 67, 0)); }
.inner-breadcrumb-contact .rx-banner-breadcrumb { background: rgba(118, 47, 75, .86); }

/* Immediate rendering and native controls replace the template's plugin stack. */
.rx-loader { display: none !important; }
img { max-width: 100%; height: auto; }
.native-carousel { display: grid; grid-auto-flow: column; grid-auto-columns: min(100%, 720px); gap: 24px; overflow-x: auto; scroll-snap-type: x proximity; }
.native-carousel > * { scroll-snap-align: start; }
.rx-inner-menu-desk .rx-main-menu ul .rx-dropdown:focus-within .rx-dropdown-menu { margin-top: 2px; opacity: 1; visibility: visible; }
.rx-mobile-menu-overlay { background: rgba(118, 47, 75, .35); }
.venue-lightbox { width: min(1100px, 94vw); max-height: 94vh; padding: 50px 12px 12px; border: 0; border-radius: 12px; background: #fffaf4; }
.venue-lightbox::backdrop { background: rgba(45, 26, 34, .75); }
.venue-lightbox img { max-height: 80vh; width: auto; max-width: 100%; margin: auto; object-fit: contain; }
.lightbox-close { position: absolute; right: 14px; top: 10px; border: 1px solid #cba5af; border-radius: 5px; padding: 5px 12px; background: #fff; color: #762f4b; }
.lightbox-previous, .lightbox-next { position: absolute; bottom: 20px; padding: 8px 15px; border: 1px solid #cba5af; border-radius: 5px; background: #fffaf4; color: #762f4b; }
.lightbox-previous { left: 20px; } .lightbox-next { right: 20px; }
.back-to-top .back-to-top-wrap { display: none; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
@media (max-width: 767px) { .guide-layout { grid-template-columns: 1fr; gap: 32px; } .guide-hero { padding-top: 130px; } .event-guide { padding: 36px 0; } }
