.elementor-2018 .elementor-element.elementor-element-976177f{--display:flex;}.elementor-2018 .elementor-element.elementor-element-7fba092.elementor-element{--align-self:center;}.elementor-2018 .elementor-element.elementor-element-aa4fff1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS for html, class: .elementor-element-4e72e49 *//* Base Container & Shared Styles */
  .vons-menu-wrapper {
    max-width: 1100px;
    margin: 0 auto;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: #222222;
    background-color: #ffffff;
    padding: 20px;
    box-sizing: border-box;
    line-height: 1.35;
  }

  .menu-page {
    margin-bottom: 40px;
    padding-bottom: 20px;
  }

  /* Header Section */
  .vons-header {
    text-align: center;
    border-bottom: 2px solid #111111;
    padding-bottom: 12px;
    margin-bottom: 20px;
  }

  .vons-header h1 {
    font-size: 2.2rem;
    font-weight: 800;
    letter-spacing: 2px;
    margin: 0 0 4px 0;
    text-transform: uppercase;
  }

  .vons-header .subtitle {
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 1px;
    margin-bottom: 8px;
    color: #444444;
  }

  .vons-header .title-badge {
    display: inline-block;
    background-color: #111111;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 700;
    padding: 3px 14px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    margin-bottom: 10px;
  }

  .vons-disclaimer {
    font-size: 0.82rem;
    color: #555555;
    max-width: 800px;
    margin: 0 auto;
  }

  /* Section Styles */
  .menu-section {
    margin-bottom: 20px;
  }

  .section-title {
    font-size: 1.15rem;
    font-weight: 800;
    text-transform: uppercase;
    border-bottom: 1.5px solid #111111;
    padding-bottom: 3px;
    margin-bottom: 8px;
    letter-spacing: 0.5px;
  }

  .section-subtitle {
    font-size: 0.8rem;
    font-style: italic;
    color: #555555;
    margin-top: -6px;
    margin-bottom: 8px;
  }

  .centered-title {
    text-align: center;
  }

  /* Red Single Outline Box (Small Bites & Hamburgs) */
  .featured-red-box {
    border: 2px solid #D7020F;
    padding: 14px 18px;
    margin-bottom: 20px;
    border-radius: 4px;
  }

  .featured-red-box .section-title {
    border-bottom: 1.5px solid #D7020F;
    color: #D7020F;
  }

  /* Red Double Outline Box (Sweets) */
  .featured-red-double-box {
    border: 4px double #D7020F;
    padding: 14px 18px;
    margin-top: 20px;
    margin-bottom: 20px;
  }

  .featured-red-double-box .section-title {
    border-bottom: 1.5px solid #D7020F;
    color: #D7020F;
  }

  /* Items Formatting */
  .menu-item {
    margin-bottom: 4px;
    padding-bottom: 4px;
    border-bottom: 1px dashed #e5e5e5;
  }

  .menu-item:last-child {
    border-bottom: none;
  }

  .item-name {
    font-weight: 700;
    font-size: 0.88rem;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 4px;
  }

  .item-allergen {
    font-size: 0.78rem;
    color: #666666;
    margin-top: 1px;
  }

  /* Grid Layouts */
  .grid-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 30px;
    row-gap: 6px;
  }

  .two-column-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 20px;
  }

  /* Accessible Badges */
  .badge-veg,
  .badge-vegan {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    font-size: 10px;
    font-weight: bold;
    line-height: 1;
    margin-left: 4px;
    vertical-align: middle;
    flex-shrink: 0;
  }

  /* Vegetarian: Green "V" Badge */
  .badge-veg {
    background-color: #ffffff;
    color: #2e7d32;
    border: 1px solid #2e7d32;
    font-family: Arial, sans-serif;
  }

  /* Vegan: Green Seedling Emoji Badge */
  .badge-vegan {
    background-color: #e8f5e9;
    border: 1px solid #2e7d32;
  }

  /* Footer & Legals */
  .vons-footer {
    margin-top: 20px;
    padding-top: 12px;
    border-top: 2px solid #111111;
    font-size: 0.76rem;
    color: #444444;
  }

  .legend {
    display: flex;
    gap: 15px;
    margin-bottom: 8px;
    font-weight: 600;
  }

  .cooks-commission {
    background-color: #f9f9f9;
    padding: 10px;
    border: 1px solid #e0e0e0;
    margin-top: 8px;
    font-size: 0.75rem;
  }

  .family-badge {
    text-align: center;
    font-weight: 800;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 1px;
    border: 1px solid #111;
    padding: 4px;
    margin: 15px auto;
    max-width: 200px;
  }
  
  .sweets-section {
  position: relative;
  margin: 50px auto 30px;
  /* The padding keeps the text from hitting the inner border */
  padding: 0 10px; 
  border-style: solid;
  
  /* This width creates the physical space for the SVG corners to sit */
  border-width: 30px; 
  
  /* This is the inline SVG drawing of the double-red ticket border */
  border-image-source: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M 2 22 A 20 20 0 0 0 22 2 L 78 2 A 20 20 0 0 0 98 22 L 98 78 A 20 20 0 0 0 78 98 L 22 98 A 20 20 0 0 0 2 78 Z' fill='none' stroke='%23d32323' stroke-width='1.5'/%3E%3Cpath d='M 7 27 A 25.5 25.5 0 0 0 27 7 L 73 7 A 25.5 25.5 0 0 0 93 27 L 93 73 A 25.5 25.5 0 0 0 73 93 L 27 93 A 25.5 25.5 0 0 0 7 73 Z' fill='none' stroke='%23d32323' stroke-width='1.5'/%3E%3C/svg%3E");
  
  /* This tells the browser to slice the 100x100 SVG at 30px from the edges, keeping the corners perfectly proportioned while stretching the middle lines */
  border-image-slice: 30; 
  border-image-repeat: stretch;
  max-width: 750px;
}

  /* Mobile Responsive */
  @media (max-width: 768px) {
    .grid-2col,
    .two-column-row {
      grid-template-columns: 1fr;
    }
  }/* End custom CSS */