/* Native Elementor compatibility, legacy artwork, and accessibility refinements. */
.elementor-kit-6 {
  --e-global-color-burgundy:var(--genoveses-burgundy);
  --e-global-color-cream:var(--genoveses-cream);
  --e-global-color-heading:var(--genoveses-heading);
  --e-global-color-green:var(--genoveses-green);
  --e-global-color-gold:var(--genoveses-gold);
  --e-global-color-ink:var(--genoveses-ink);
  --e-global-color-white:var(--genoveses-white);
  --e-global-color-primary:var(--genoveses-heading);
  --e-global-color-secondary:var(--genoveses-green);
  --e-global-color-text:var(--genoveses-ink);
  --e-global-color-accent:var(--genoveses-gold);
  --e-global-typography-text-font-family:var(--genoveses-body-font);
  --e-global-typography-primary-font-family:var(--genoveses-body-font);
  --e-global-typography-accent-font-family:var(--genoveses-body-font);
  --e-global-typography-secondary-font-family:var(--genoveses-navigation-font);
}
body { background:var(--e-global-color-burgundy); font-family:var(--e-global-typography-text-font-family),Verdana,Geneva,sans-serif; }
*,*::before,*::after { box-sizing:border-box; }
.gen-site { margin-inline:auto; }
.gen-header,.gen-page-shell,.gen-footer { background:var(--e-global-color-cream); }
.gen-header { gap:0; }
.gen-desktop-brand { height:175px; }
.gen-desktop-brand img { height:175px; display:block; object-fit:contain; }
.gen-brand { flex:0 1 482px; }
.gen-art { flex:0 1 278px; }
.gen-mobile-header { display:none; }
.gen-sidebar { flex:0 0 228px; background-color:var(--e-global-color-cream); background-image:var(--gen-sidebar-art); background-position:left top; background-repeat:repeat-y; }
.gen-desktop-menu { width:100%; padding:16px 25px 24px 36px; }
.gen-desktop-menu .elementor-nav-menu--main .elementor-item { color:var(--e-global-color-green); font-family:var(--e-global-typography-secondary-font-family),Georgia,serif; font-size:20px; padding:9px 0; min-height:38px; }
.gen-desktop-menu .elementor-item:hover,.gen-desktop-menu .elementor-item-active { color:var(--e-global-color-heading)!important; text-decoration:underline; text-underline-offset:.2em; }
.gen-main { flex:1 1 532px; min-width:0; }
.gen-page-content { padding:28px 28px 32px; gap:16px; width:100%; min-width:0; }
.gen-page-content a,.gen-footer a { color:var(--e-global-color-green); text-decoration:underline; text-underline-offset:.18em; }
.gen-text,.gen-heading,.gen-subheading { overflow-wrap:anywhere; }
.gen-home-art { width:532px; height:271px; max-width:100%; gap:0; position:relative; }
.gen-home-art .gen-hero-caption { position:absolute; z-index:1; right:10px; bottom:-20px; width:340px; max-width:calc(100% - 20px); min-height:95px; padding:22px 8px; background:var(--e-global-color-ink); color:var(--e-global-color-cream); }
.gen-mona-primary { width:380px; height:271px; flex:0 1 380px; }
.gen-mona-edge { width:152px; height:271px; flex:0 1 152px; }
.gen-anniversary { width:760px; max-width:none; height:148px; margin-left:-228px; }
.home .gen-page-content { width:760px; margin-left:-228px; }
.home .gen-page-content .gen-text { text-align:left; }
.gen-footer { color:var(--e-global-color-ink); font-size:12px; border-top:1px solid var(--e-global-color-gold); }
.gen-footer .gen-text { font-size:12px; }
.gen-menu-item,.gen-special,.gen-location { width:100%; min-width:0; }
.gen-menu-item { padding-block:10px!important; border-bottom:1px solid var(--e-global-color-gold); }
.gen-menu-item .elementor-heading-title { font-size:15px; line-height:1.5; }
.gen-menu-item .elementor-widget-text-editor p,.gen-special p,.gen-location p { margin-block:0; }
.gen-menu-item .elementor-widget-text-editor { font-size:14px; line-height:1.6; }
.gen-dish-price { font-weight:bold; }
.gen-location .elementor-heading-title { font-size:18px; line-height:1.4; }
.gen-location .elementor-widget-image img { height:150px; width:198px; object-fit:cover; }
.gen-special { padding:20px!important; border:2px dashed var(--e-global-color-green); background:var(--e-global-color-white); }
.gen-special .elementor-heading-title { font-size:20px; line-height:1.4; }
.gen-special-terms { font-size:14px; }
.gen-button .elementor-button { background:var(--e-global-color-green); color:var(--e-global-color-white)!important; border-radius:2px; padding:12px 16px; min-height:44px; text-decoration:none; line-height:1.4; }
.gen-button .elementor-button:hover { background:var(--e-global-color-heading); }
.gen-directions .elementor-button { background:transparent; color:var(--e-global-color-green); padding:12px 0; text-decoration:underline; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible { outline:3px solid var(--e-global-color-green); outline-offset:3px; }
.gen-button .elementor-button:focus-visible { outline:3px solid var(--e-global-color-heading); outline-offset:4px; box-shadow:0 0 0 2px var(--e-global-color-cream); }
.gen-skip-link { position:absolute; z-index:10000; }
.gen-skip-link a { position:absolute; left:-10000px; top:0; width:1px; height:1px; overflow:hidden; }
.gen-skip-link a:focus { left:8px; top:8px; width:auto; height:auto; white-space:nowrap; padding:14px; background:var(--e-global-color-white); color:var(--e-global-color-green); }
.gen-gravity-form { width:100%; }
.gen-gravity-form .gform_wrapper,.gen-gravity-form .gform_wrapper input,.gen-gravity-form .gform_wrapper select,.gen-gravity-form .gform_wrapper textarea { font:inherit; color:var(--e-global-color-ink); }
.gen-gravity-form .gfield { margin-bottom:20px; }
.gen-gravity-form .gfield_label { font-weight:bold; }
.gen-gravity-form input:not([type=checkbox]):not([type=radio]):not([type=submit]),.gen-gravity-form select,.gen-gravity-form textarea { width:100%; border:2px solid var(--e-global-color-green); background:var(--e-global-color-white); border-radius:2px; padding:10px; min-height:44px; }
.gen-gravity-form input[type=checkbox],.gen-gravity-form input[type=radio] { width:24px; height:24px; accent-color:var(--e-global-color-green); }
.gen-gravity-form .gchoice { display:flex; align-items:center; gap:10px; min-height:44px; }
.gen-gravity-form input[type=submit],.gen-gravity-form button[type=submit] { padding:12px 20px; min-height:44px; background:var(--e-global-color-green); color:var(--e-global-color-white); border:0; font:inherit; font-weight:bold; cursor:pointer; }
.gen-gravity-form .gfield_error,.gen-gravity-form .gform_validation_errors { color:var(--e-global-color-heading); }
.gen-gravity-form .gform_validation_errors { border:2px solid var(--e-global-color-heading); padding:16px; background:var(--e-global-color-white); }
@media(prefers-reduced-motion:no-preference) {
  .gen-page-content > .gen-heading { animation:gen-arrive .35s ease-out both; }
  .gen-button .elementor-button { transition:background-color .15s ease; }
}
@keyframes gen-arrive { from { opacity:.8; transform:translateY(3px); } to { opacity:1; transform:none; } }
@media(max-width:960px) {
  .gen-site { width:calc(100% - 40px); max-width:760px; }
  .gen-desktop-brand,.gen-sidebar { display:none!important; }
  .gen-mobile-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 20px; width:100%; }
  .gen-mobile-logo { width:198px; max-width:65%; height:auto; }
  .gen-mobile-menu { flex:1; min-width:0; }
  .gen-mobile-menu .elementor-menu-toggle { background:var(--e-global-color-gold); color:var(--e-global-color-ink); min-width:44px; min-height:44px; }
  .gen-mobile-menu .elementor-nav-menu--dropdown a { font-size:18px; min-height:44px; color:var(--e-global-color-green); }
  .gen-page-shell { flex-direction:column; }
  .gen-main { width:100%; flex-basis:auto; }
  .gen-page-content { padding:24px 20px; }
  .gen-home-art { width:100%; height:auto; }
  .gen-home-art img { width:auto; height:auto; min-width:0; }
  .gen-home-art .gen-hero-caption { bottom:-20px; width:66%; min-height:calc(20px + 20%); font-size:clamp(12px,2.7vw,18px); padding:10px 6px; }
  .gen-mona-primary { flex:380 1 0; }
  .gen-mona-edge { flex:152 1 0; }
  .gen-anniversary { width:100%; max-width:100%; height:auto; margin-left:0; }
  .home .gen-page-content { width:100%; margin-left:0; }
  .gen-text,.gen-menu-item .elementor-widget-text-editor { font-size:16px; }
  .gen-heading { font-size:24px; }
  .elementor-loop-container { min-width:0; }
}
@media(max-width:510px) {
  .gen-site { width:100%; }
  .gen-loop-location .elementor-loop-container { grid-template-columns:1fr!important; }
  .gen-page-content { padding:24px 20px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  .elementor-invisible { visibility:visible!important; }
}
@media print {
  body { background:white; }
  .gen-header,.gen-sidebar,.gen-footer,.gen-print-button,.gen-skip-link { display:none!important; }
  .gen-site,.gen-main,.gen-page-content { width:100%!important; max-width:none!important; margin:0!important; padding:0!important; }
  .gen-special { break-inside:avoid; margin-bottom:20px; }
  a { color:black!important; }
}
