/*
 * Rebuilt replacement for the Oxygen stylesheets that failed to download in the clone:
 * universal.css (global + component defaults), 491.css (header/footer template),
 * 555.css (sticky header), 632.css (location/hours block), 562.css / 671.css (modals).
 * Page-specific rules still come from 489.css, which loads before this file.
 */

/* ---------- Global defaults (universal.css) ---------- */
html { scroll-behavior: smooth; }
body {
  font-family: 'Raleway', Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 400;
  color: #404040;
  background-color: #fff;
  overflow-x: hidden;
}
h1, h2, h3, h4, h5, h6 { font-family: 'Raleway', Helvetica, Arial, sans-serif; font-weight: 700; line-height: 1.2; }
h1 { font-size: 36px; }
h2 { font-size: 30px; }
h3 { font-size: 24px; }
h4 { font-size: 20px; }
h5 { font-size: 18px; }
h6 { font-size: 16px; }
p { margin: 0; }
a { color: #0074db; text-decoration: none; }
a:hover { text-decoration: none; }

.ct-section { width: 100%; background-size: cover; background-repeat: repeat; position: relative; }
.ct-section-inner-wrap {
  max-width: 1120px;
  padding: 75px 20px;
  box-sizing: border-box;
}
.oxy-header-container { max-width: 1120px; padding-left: 20px; padding-right: 20px; box-sizing: border-box; }
.ct-section > .ct-section-inner-wrap { display: flex; flex-direction: column; align-items: flex-start; }
.ct-inner-content { width: 100%; }
.ct-div-block { display: flex; flex-wrap: nowrap; flex-direction: column; align-items: flex-start; box-sizing: border-box; }
.ct-new-columns { display: flex; width: 100%; flex-direction: row; align-items: stretch; justify-content: center; flex-wrap: wrap; box-sizing: border-box; }
.ct-new-columns > .ct-div-block { padding: 20px; }
.ct-text-block, .ct-headline { max-width: 100%; }
.ct-image { max-width: 100%; height: auto; }
.ct-link { display: flex; flex-wrap: wrap; text-align: center; text-decoration: none; flex-direction: column; align-items: center; justify-content: center; }
.ct-link-button { display: inline-block; text-align: center; text-decoration: none; }
.ct-slider { width: 100%; }
.ct-slide { display: flex; flex-wrap: wrap; text-align: center; flex-direction: column; align-items: center; justify-content: center; }
.ct-slide .ct-image { width: 100%; display: block; }
.ct-slider .unslider, .ct-slider .oxygen-unslider-container, .ct-slider .unslider-wrap > li { width: 100%; }
.ct-slider .unslider { padding: 0; }
.ct-fancy-icon > svg { width: 55px; height: 55px; }

/* Images are served by ShortPixel placeholders whose CDN is gone: keep their box visible */
img.ct-image[data-spai] { background-color: #e9e4da; opacity: 1; }
#image-221-489[data-spai] { background-color: rgba(255, 255, 255, .15); }
/* Hero sections lose their photo backgrounds without the CDN: give them a fallback tone */
#section-2-489, #bakery, #deli { background-color: #3d3226; }

/* Replacement photos (assets/images) have mixed proportions: crop each to its slot */
.ct-slide .ct-image, #image-29-489, #image-37-489, #image-83-489, #image-82-489, #image-160-489 { aspect-ratio: 3 / 2; object-fit: cover; }
#image-80-489, #image-81-489 { aspect-ratio: 2 / 3; object-fit: cover; }
#div_block-159-489 .ct-image { aspect-ratio: auto; }
/* Original logo file is lost: the headline carries the brand instead */
#image-221-489 { display: none; }
/* Darken photo heroes so the white headlines stay legible */
#section-2-489, #bakery, #deli { background-blend-mode: multiply; background-color: #8a8178; }

/* Raw, unrendered WordPress shortcode left in the sticky header */
#shortcode-15-555 { display: none; }

/* ---------- Reusable classes (universal.css) ---------- */
.feature-heading {
  font-size: 36px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #2b2b2b;
  margin-bottom: 15px;
}
.feature-text { font-size: 17px; line-height: 1.7; color: #4a4a4a; }

.feature-box {
  background-color: #fff;
  padding: 45px 40px;
  width: 42%;
  flex-shrink: 0;
  box-shadow: 0 15px 40px rgba(0, 0, 0, .12);
  border-top: 5px solid #ffcc37;
  position: relative;
}

.fancy-button {
  flex-direction: row;
  align-items: center;
  gap: 8px;
  margin: 10px 0 25px;
  padding: 10px 26px;
  background-color: #ffcc37;
  color: #222;
  font-weight: 700;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-radius: 30px;
  transition: background-color .2s ease;
}
.fancy-button:hover { background-color: #f2b705; color: #222; }
/* Icon sprite (Linearicons) was never part of the page: drop the empty icon box */
.fancy-button .ct-fancy-icon { display: none; }

.angled-images {
  width: 100%;
  margin: 10px 0;
  border: 6px solid #fff;
  box-shadow: 0 10px 25px rgba(0, 0, 0, .25);
  box-sizing: border-box;
}

/* ---------- Header (491 / 555) ---------- */
.oxy-overlay-header .oxy-header-wrapper.oxy-overlay-header,
.oxy-header-wrapper.oxy-overlay-header { position: absolute; top: 0; left: 0; right: 0; z-index: 20; }
.oxy-header-wrapper.oxy-sticky-header-active {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2147483640;
  background-color: rgba(255, 255, 255, .97);
  box-shadow: 0 2px 15px rgba(0, 0, 0, .12);
}
.oxy-sticky-header-active .oxygen-hide-in-sticky { display: none; }

#_header_row-2-491 .oxy-header-container,
#_header_row-7-555 .oxy-header-container { height: 90px; }
#_header_row-7-555 .oxy-header-container { height: 64px; }

.oxy-nav-menu .oxy-nav-menu-list li.menu-item a {
  padding: 8px 18px;
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  border-bottom-width: 2px;
}
#_nav_menu-6-491 .oxy-nav-menu-list li.menu-item a { color: #fff; text-shadow: 1px 1px 3px rgba(0, 0, 0, .6); }
#_nav_menu-6-491 .oxy-nav-menu-list li.menu-item a:hover { color: #ffcc37; }
#_nav_menu-10-555 .oxy-nav-menu-list li.menu-item a { color: #2b2b2b; }
#_nav_menu-10-555 .oxy-nav-menu-list li.menu-item a:hover { color: #c89400; }

.oxy-menu-toggle { display: none; cursor: pointer; }
.oxy-nav-menu-hamburger { width: 30px; height: 22px; }
.oxy-nav-menu-hamburger-line { height: 3px; background-color: #fff; }
#_nav_menu-10-555 .oxy-nav-menu-hamburger-line,
.oxy-nav-menu-open .oxy-nav-menu-hamburger-line { background-color: #2b2b2b; }
.oxy-nav-menu.oxy-nav-menu-open .oxy-nav-menu-list li.menu-item a { color: #2b2b2b !important; text-shadow: none !important; font-size: 20px; padding: 12px; }

@media (max-width: 767px) {
  .oxy-nav-menu:not(.oxy-nav-menu-open) .oxy-nav-menu-list { display: none; }
  .oxy-menu-toggle { display: initial; }
  .oxy-header-center { justify-content: flex-end; }
  #_header_row-2-491 .oxy-header-container { height: 70px; }
}

/* ---------- Page layout touch-ups for 489 ---------- */
/* Hero */
#section-2-489 > .ct-section-inner-wrap { flex-direction: column; padding-top: 110px; }
#image-221-489 { width: 200px; }
#headline-3-489 { line-height: 1.15; }
#headline-5-489 { max-width: 760px; }

/* About + location sidebar */
#section-7-489 { background-color: #fdfbf6; }
#text_block-25-489 { font-size: 18px; line-height: 1.8; }
#div_block-28-489, #div_block-36-489 { width: 50%; padding: 0 20px; gap: 15px; }
#div_block-28-489 .ct-image, #div_block-36-489 .ct-image { box-shadow: 0 10px 25px rgba(0, 0, 0, .15); }
#div_block-11-489 {
  width: 100%;
  background-color: #fff;
  padding: 30px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .1);
  border-top: 5px solid #ffcc37;
  box-sizing: border-box;
}
#div_block-11-489 .feature-heading { font-size: 24px; margin-bottom: 5px; }
#div_block-11-489 h3 { font-size: 17px; font-weight: 600; margin-bottom: 10px; }
#text_block-17-489 { margin-bottom: 5px; }
#_social_icons-345-489 { gap: 12px; font-size: 34px; }
#_social_icons-345-489 a { color: #2b2b2b; }
#_social_icons-345-489 a:hover { color: #c89400; }

/* Breakfast / sandwiches with angled photo collage */
#section-39-489 { overflow: hidden; }
#div_block-41-489 { justify-content: center; }
#div_block-42-489 { overflow: hidden; padding: 60px 40px; }
#div_block-77-489, #div_block-78-489 { padding: 10px; }
#div_block-78-489 { margin-top: 80px; }

/* Restaurant heading + alternating slider sections */
#restaurant > .ct-section-inner-wrap { align-items: flex-end; padding-bottom: 20px; }
#section-454-489 > .ct-section-inner-wrap,
#section-122-489 > .ct-section-inner-wrap,
#section-281-489 > .ct-section-inner-wrap,
#section-257-489 > .ct-section-inner-wrap { flex-direction: row; align-items: center; padding-top: 50px; padding-bottom: 50px; }
#section-122-489 { background-color: #fff; }
#div_block-123-489 { order: 2; margin-left: -100px; z-index: 100; }
#section-454-489 .ct-slider,
#section-122-489 .ct-slider,
#section-281-489 .ct-slider,
#section-257-489 .ct-slider { width: 66%; flex-shrink: 0; }

/* Bakery grid */
#section-133-489 > .ct-section-inner-wrap { align-items: center; }
#text_block-381-489 { max-width: 760px; font-size: 18px; margin-bottom: 40px; white-space: pre-line; }
#new_columns-134-489 > .ct-div-block,
#new_columns-145-489 > .ct-div-block,
#new_columns-154-489 > .ct-div-block { padding: 0; min-height: 220px; }
#new_columns-134-489, #new_columns-145-489, #new_columns-154-489 { box-shadow: 0 0 0 1px rgba(0, 0, 0, .04); }
#div_block-159-489 .ct-image { width: 100%; height: 100%; object-fit: cover; }
#div_block-139-489 .ct-slider, #div_block-146-489 .ct-slider, #div_block-332-489 .ct-slider,
#div_block-139-489 .oxygen-unslider-container, #div_block-146-489 .oxygen-unslider-container, #div_block-332-489 .oxygen-unslider-container { height: 100%; }
#div_block-386-489, #div_block-401-489, #div_block-414-489 { min-height: 220px; }

/* Deli */
#section-442-489 > .ct-section-inner-wrap { align-items: center; }
#new_columns-473-489 > .ct-div-block { gap: 15px; }
#new_columns-473-489 .feature-heading { font-size: 28px; margin-bottom: 0; }
#new_columns-473-489 .ct-image { width: 100%; height: 280px; object-fit: cover; margin-top: auto; }

@media (max-width: 991px) {
  .feature-box { width: 100%; }
  #section-454-489 > .ct-section-inner-wrap,
  #section-122-489 > .ct-section-inner-wrap,
  #section-281-489 > .ct-section-inner-wrap,
  #section-257-489 > .ct-section-inner-wrap { flex-direction: column; }
  #div_block-455-489, #div_block-123-489, #div_block-282-489, #div_block-258-489 { margin: 0 0 -30px; order: 0; }
  #section-454-489 .ct-slider, #section-122-489 .ct-slider,
  #section-281-489 .ct-slider, #section-257-489 .ct-slider { width: 100%; align-self: stretch; }
  /* Collage: compact 2x2 grid instead of four full-width stacked photos */
  #div_block-42-489 { padding: 30px 20px; }
  #new_columns-76-489 { margin: 0 !important; flex-wrap: nowrap; transform: none !important; }
  #new_columns-76-489 > .ct-div-block { width: 50% !important; padding: 0 8px !important; }
  #div_block-78-489 { margin-top: 40px; }
  #new_columns-473-489 .ct-image { height: 320px; }
}
@media (max-width: 767px) {
  .ct-section-inner-wrap { padding-top: 50px; padding-bottom: 50px; }
  #headline-3-489, #headline-321-489, #headline-439-489 { font-size: 40px !important; }
  #headline-5-489 { font-size: 20px !important; }
  #headline-92-489, #headline-272-489, #headline-443-489 { font-size: 40px !important; }
  #div_block-28-489, #div_block-36-489 { width: 100%; padding: 0 0 20px; }
  #section-2-489, #bakery, #deli { background-attachment: scroll !important; }
  #section-2-489 { height: auto !important; min-height: 600px; }
  #bakery, #deli { height: 420px !important; }
  #headline-321-489, #headline-439-489 { margin-top: 80px !important; }
  .feature-box { padding: 30px 25px; }
}

/* ---------- Footer (491) ---------- */
#section-21-491 { background-color: #1f1f1f; color: #bbb; }
#section-21-491 > .ct-section-inner-wrap { padding-top: 35px; padding-bottom: 35px; }
#div_block-23-491, #div_block-25-491 { width: 25%; }
#div_block-24-491 { width: 50%; align-items: center; text-align: center; font-size: 14px; gap: 4px; }
@media (max-width: 767px) {
  #div_block-23-491, #div_block-25-491 { display: none; }
  #div_block-24-491 { width: 100%; }
}

/* ---------- Modals (562 / 632 / 671) ---------- */
.oxy-modal-backdrop .ct-modal { box-shadow: 0 20px 60px rgba(0, 0, 0, .35); border-radius: 4px; }
#modal-19-632 { width: 90%; max-width: 1024px; padding: 0; line-height: 0; }
#map-31-632 { display: block; width: 100%; height: 70vh; max-height: 560px; border: 0; }
#modal-29-632 { width: 90%; max-width: 620px; padding: 35px; box-sizing: border-box; }
#modal-13-668 { width: 90%; max-width: 520px; }
#div_block-8-668 { width: 100%; align-items: center; text-align: center; padding: 30px; gap: 12px; box-sizing: border-box; }
#div_block-8-668 .ct-image { width: 100%; }
#div_block-32-671 { align-items: center; gap: 15px; }
#link_button-26-668 { background-color: #ffcc37; color: #222; padding: 10px 30px; font-weight: 700; border-radius: 30px; }
