@charset "UTF-8";
#cart-modal {
  display: block;
  opacity: 1;
  top: 55pt;
  left: 65%;
  bottom: 15pt;
  position: fixed; }

#cart-modal::-webkit-scrollbar {
  display: none; }

@media only screen and (max-width: 992px) {
  #mobile_cart {
    position: fixed;
    z-index: 1000;
    background-color: orange;
    width: 50%;
    height: 50pt;
    display: block;
    right: 25%;
    bottom: 15pt;
    padding: 15pt;
    border-radius: 5pt;
    font-color: white; }

  #cart-modal {
    display: none;
    top: 5pt;
    left: 0; }

  div#logo {
    max-width: 67%;
    max-height: 45%;
    top: 64%;
    left: 50%;
    overflow: visible; }

  img.logoImg {
    position: relative;
    max-width: 100%;
    margin-top: -10%;
    margin-left: -50%; } }
#accordion {
  margin: 5px; }

#mobile_header {
  width: 100%;
  position: fixed;
  z-index: 1000; }

#select_card {
  margin-top: 5px; }

table thead {
  background-color: #666056;
  color: white;
  font-size: 14px; }

#logo a {
  font-size: 36px;
  color: #FFFFFF;
  text-decoration: none;
  transition: all 0.2s ease-in-out 0s; }

#logo a:hover {
  color: orange; }

#submit_search {
  border: orange !important;
  font-size: 16px;
  font-weight: lighter; }
  #submit_search:hover {
    background-color: orange; }

.confirm-hold {
  border: 1px solid #CCCCCC;
  padding: 15px;
  max-width: 690px;
  margin-top: 5px;
  min-height: 485px; }

.btn_place_order {
  font-size: 25px;
  padding: 12px 20px; }

.serving-hold {
  margin-left: 10%; }
  .serving-hold p {
    color: #3e3e3d;
    float: left;
    margin: 3px 0;
    width: 33%; }

.order-details-panel {
  padding-top: 20px;
  padding-right: 0px; }

.search-bar {
  height: 50px;
  font-size: 24px;
  float: left; }

#search_results {
  height: 50px;
  font-size: 20px; }

.btn-search {
  height: 50px;
  font-size: 24px; }

.btn-outline {
  color: #fff;
  background-color: transparent;
  border-color: #fff;
  border-width: 2px; }

.form-canvas {
  padding: 35px 0 0;
  margin: 45px 0 0;
  background: rgba(0, 0, 0, 0.6); }

.flash {
  padding: 10px;
  padding-left: 25%;
  color: white; }
  .flash.notice {
    background-color: orange; }
  .flash.alert {
    background-color: orange; }
  .flash.success {
    background-color: green; }
  .flash.error {
    background-color: red; }

.icon-step-1 {
  background: url(/assets/icn_lpinner_step1-e20e549ce985bd53274ed1102de4c592.png);
  background-size: 100px;
  background-position: 50%;
  background-repeat: no-repeat; }

.icon-step-2 {
  background: url(/assets/icn_lpinner_step2-bea1839ffbdde3d905c215d4dc5985d3.png);
  background-size: 100px;
  background-position: 50%;
  background-repeat: no-repeat; }

.icon-step-3 {
  background: url(/assets/icn_lpinner_step3-2fe6399aaaff963f50c362a3cdba9a34.png);
  background-size: 100px;
  background-position: 50%;
  background-repeat: no-repeat; }

h1.order_hold {
  font-size: 20px;
  margin-top: 10px;
  margin-bottom: 10px; }

.restaurant-title {
  padding-left: 10px;
  font-family: 'Lato', serif;
  color: orange; }

.restaurant-address {
  padding-left: 10px;
  font-family: 'Lato', serif; }
  .restaurant-address .restaurant-address__hours-may-vary {
    font-size: 13px;
    font-style: italic; }
    @media only screen and (max-width: 992px) {
      .restaurant-address .restaurant-address__hours-may-vary {
        display: block;
        margin-top: 10px; } }

.menu-title {
  padding: 5px 10px; }
  .menu-title h3 {
    margin-top: 10px; }

.panel .panel-default {
  background-color: #f0f5fb; }

.panel-default .panel-heading {
  background-color: #f0f5fb; }

.panel-body {
  padding: 0px;
  background-color: white; }
  .panel-body a:hover {
    color: orange !important; }

.product .row {
  padding: 15px 0 15px;
  margin: 0;
  border-bottom: 1px gray dotted; }
.product :hover {
  background-color: #f0f5fb; }

#login, #signup {
  float: none; }

#existing-customer form {
  color: #333; }

.modal-header h1 {
  font-size: 24px; }

#product-modal {
  position: absolute;
  z-index: 1000;
  opacity: 1; }

#breadcrumbs {
  border-bottom: 1px solid #d9d9db;
  padding: 3px 0;
  margin-bottom: 15px; }

ul.inline {
  list-style: none;
  padding-left: 0px; }
  ul.inline li {
    display: inline-block; }

.checkbox {
  margin-top: 20px; }

.tab-content {
  min-height: 125px; }

#braintree-paypal-loggedin {
  min-width: 600px; }

.disabled {
  color: lightgrey;
  pointer-events: none;
  cursor: default; }

/* ==========================================================================
   Mobile checkout/menu fixes — 2026-09-03
   Additive overrides only; no vendored Bootstrap files were edited so this
   block can be reverted on its own. Verified against iPhone 17 Pro
   (402x874pt) and the 375px baseline.
   ========================================================================== */
/* 1. Homepage address search overflowed the viewport: Bootstrap's .navbar-form
      carries margin-left/right:-15px plus horizontal padding, measuring 385px
      inside a 375px container, so the input and FIND RESTAURANTS button were
      clipped at the right edge. */
/* NOTE ON SPECIFICITY: my-bootstrap-theme.css.scss.erb loads AFTER this file,
   so a bare `.navbar-form` override here loses the cascade at equal
   specificity (measured: margin stayed -15px, form stayed 385px wide in a
   375px viewport). Qualifying the class with the element name raises
   specificity to 0,1,1 so it wins regardless of load order, without
   resorting to !important. */
@media only screen and (max-width: 767px) {
  form.navbar-form {
    margin-left: 0;
    margin-right: 0;
    padding-left: 10px;
    padding-right: 10px;
    max-width: 100%;
    box-sizing: border-box; }

  form.navbar-form .form-group,
  form.navbar-form .form-control,
  form.navbar-form .btn-search {
    box-sizing: border-box;
    max-width: 100%; } }
/* 2. The floating cart bar sat at width:50%;right:25%, which centred it under
      the support chat launcher (bottom-right, ~56px + margin) so the launcher
      covered the right side of the primary tap target. Give it explicit insets
      that reserve the launcher's corner, and respect the home-bar inset so it
      is not sitting under the iOS gesture area. */
@media only screen and (max-width: 992px) {
  #mobile_cart {
    width: auto;
    right: 84px;
    left: 12px;
    bottom: 15pt;
    bottom: calc(15pt + env(safe-area-inset-bottom, 0px));
    height: auto;
    min-height: 44px;
    /* iOS minimum tap target */
    padding: 12pt 10pt;
    box-sizing: border-box;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; } }
