/* Club VIP shared theme: Contact Us palette, October 2026. */
.vip-theme{--vip-cream:#f7f5ef;--vip-paper:#fffdf7;--vip-green:#233328;--vip-muted:#596157;--vip-gold:#edc466;--vip-line:#ded9cc;background:var(--vip-cream)}
.vip-theme #main-content{background:var(--vip-cream);color:var(--vip-green)}
.vip-theme #main-content>.section,.vip-theme #main-content>.brand-section.light,.vip-theme #main-content>.brand-section:not(.atmosphere){background:var(--vip-cream);color:var(--vip-green);padding:64px 0}
.vip-theme #main-content>.section p,.vip-theme #main-content>.brand-section:not(.atmosphere) p{color:var(--vip-muted);line-height:1.85}
.vip-theme .container{max-width:1200px}
.vip-theme main h1,.vip-theme main h2,.vip-theme main h3{font-family:Arial,Helvetica,sans-serif;font-weight:700}
.vip-theme main h2{font-size:clamp(28px,3vw,42px);line-height:1.2;letter-spacing:-.035em}
.vip-theme .page-hero{position:relative;isolation:isolate;background:#17221d;padding:64px 0 66px;color:#fff}
.vip-theme .page-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,20,15,.93),rgba(10,20,15,.72) 55%,rgba(10,20,15,.36))}
.vip-theme .page-hero h1{font-size:clamp(36px,4.5vw,62px);letter-spacing:-.045em;line-height:1.1;max-width:880px;margin:18px 0 20px;color:#fff}
.vip-theme .page-hero p:not(.kicker):not(.eyebrow){max-width:700px;font-size:16px;line-height:1.85;color:#e4e8e1;margin-bottom:0}
.vip-theme .page-hero .kicker,.vip-theme .page-hero .eyebrow{font-size:11px;letter-spacing:.16em;line-height:1.7;font-weight:700;color:var(--vip-gold);text-transform:uppercase}
.vip-theme[data-page="menu.php"] .page-hero,.vip-theme[data-page="catering.php"] .page-hero{background:url('/assets/photos/sharing-platter.webp') center 55%/cover}
.vip-theme[data-page="events.php"] .page-hero{background:url('/assets/photos/private-events.webp') center 48%/cover}
.vip-theme[data-page="pastries.php"] .page-hero{background:url('/assets/photos/birthday-cake.webp') center 48%/cover}
.vip-theme[data-page="reservations.php"] .page-hero{background:url('/assets/photos/lounge.webp') center 58%/cover}
.vip-theme[data-page="careers.php"] .page-hero{background:url('/assets/photos/exterior.webp') center 50%/cover}
.vip-theme .brand-hero .hero-copy{background:#17221d}
.vip-theme .brand-section.atmosphere,.vip-theme .visit-banner,.vip-theme .career-strip{background:#17221d;color:#fff}
.vip-theme .career-strip{max-width:none;padding:35px max(4%,calc((100% - 1160px)/2));margin:0}
.vip-theme .experience-bar{background:#ede9de;color:var(--vip-green);border-color:var(--vip-line)}
.vip-theme main .form-card,.vip-theme main .job-card,.vip-theme main .event-card,.vip-theme main .vip-menu-card,.vip-theme main .occasion-card{background:var(--vip-paper);color:var(--vip-green);border:1px solid var(--vip-line);border-radius:8px;box-shadow:none;padding:30px}
.vip-theme main .form-card h2{font-size:28px;margin-top:0}
.vip-theme main .form-card p,.vip-theme main .job-card p,.vip-theme main .event-card p{color:var(--vip-muted)}
.vip-theme main .form-card .kicker,.vip-theme main .event-date,.vip-theme main .job-type,.vip-theme main .occasion-card .kicker{color:#78642f;font-size:11px;letter-spacing:.12em;font-weight:700}
.vip-theme main .event-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.vip-theme main .event-card{display:flex;flex-direction:column;gap:14px;align-items:flex-start;margin:0}
.vip-theme main .event-card h2{font-size:26px;margin:0 0 12px}
.vip-theme main .event-card p{font-size:14px}
.vip-theme main .event-card a,.vip-theme main .policy-copy a,.vip-theme main .vip-menu-card a,.vip-theme main .vip-service-links a{color:var(--vip-green);text-underline-offset:4px}
.vip-theme main .policy-copy{max-width:860px;line-height:1.85}
.vip-theme main .policy-copy h2{font-size:26px;margin-top:32px}
.vip-theme main .policy-copy li{color:var(--vip-muted);margin-bottom:8px}
.vip-theme main .web-form label{color:var(--vip-green);font-size:12px;line-height:1.7;font-weight:600}
.vip-theme main .web-form input:not([type=hidden]):not([type=checkbox]):not([type=radio]),.vip-theme main .web-form textarea,.vip-theme main .web-form select{background:#fff;color:var(--vip-green);border:1px solid #d2d5c9;border-radius:4px;padding:12px;min-height:46px;font-size:16px;box-shadow:none;max-width:100%;width:100%;box-sizing:border-box}
.vip-theme main .web-form textarea{min-height:130px;resize:vertical}
.vip-theme main .web-form input:focus,.vip-theme main .web-form select:focus,.vip-theme main .web-form textarea:focus{outline:2px solid #897039;outline-offset:2px}
.vip-theme main .web-form button{background:var(--vip-green);color:#fff;border-color:var(--vip-green);font-size:13px;min-height:48px;border-radius:4px}
.vip-theme .brand-button,.vip-theme .btn{border-radius:4px;min-height:46px;font-size:13px;line-height:1.7}
.vip-theme main .section .brand-button:not(.outline){background:var(--vip-green);color:#fff;border-color:var(--vip-green)}
.vip-theme main .section .brand-button.outline{color:var(--vip-green);border-color:#897039;background:transparent}
.vip-theme a:focus-visible,.vip-theme button:focus-visible{outline:2px solid #897039;outline-offset:4px}
@media(max-width:900px){.vip-theme main .event-list{grid-template-columns:1fr}.vip-theme main .event-card{padding:26px}.vip-theme .catering-layout{gap:28px}}
@media(max-width:700px){.vip-theme .page-hero{padding:46px 0 50px;background-position:65% center}.vip-theme .page-hero:before{background:rgba(10,20,15,.78)}.vip-theme .page-hero h1{font-size:38px}.vip-theme #main-content>.section,.vip-theme #main-content>.brand-section.light,.vip-theme #main-content>.brand-section:not(.atmosphere){padding:42px 0}.vip-theme main .form-card,.vip-theme main .job-card,.vip-theme main .vip-menu-card,.vip-theme main .occasion-card{padding:24px 20px}.vip-theme .web-form .field-grid,.vip-theme .catering-layout{grid-template-columns:1fr}.vip-theme main .form-card h2{font-size:26px}.vip-theme .brand-actions{flex-wrap:wrap}.vip-theme .page-hero p:not(.kicker):not(.eyebrow){font-size:15px}.vip-theme main .event-card h2{font-size:26px}}

/* Club VIP hero contrast correction: dark hero needs explicit foregrounds. */
.vip-theme #main-content .brand-hero .hero-copy{color:#fff}
.vip-theme #main-content .brand-hero #slide-title{color:#fff;font-weight:700;opacity:1;text-shadow:none}
.vip-theme #main-content .brand-hero #slide-title em,.vip-theme #main-content .brand-hero #slide-title span{color:#edc466;opacity:1}
.vip-theme #main-content .brand-hero .hero-intro{color:#e4e8e1}
.vip-theme #main-content .brand-hero .slide-controls,.vip-theme #main-content .brand-hero #slide-count{color:#fff;opacity:1}
.vip-theme #main-content .brand-hero .hero-location{color:#cbd3c8}