/* Bootstrap carta — subset (~frente a bootstrap.min.css 115 KB).
   Tipografía base + .container + utilidades usadas por classic/modern. */

*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Reboot tipográfico Bootstrap 3 (sin html{font-size:10px} para no romper rem del tema) */
body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.42857143;
  color: #333333;
}

input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

a {
  color: #337ab7;
  text-decoration: none;
  cursor: pointer;
}
a:hover,
a:focus {
  color: #23527c;
  text-decoration: underline;
}

img {
  vertical-align: middle;
  max-width: 100%;
}

/* Interacciones carta (botones/enlaces no siempre llevan .btn) */
button,
.btn,
.page-changer,
.nav-button,
.sub-nav-button,
.bton-pedir,
.alergeno-selector,
.language-changer,
.dish-image-main,
.manita,
[data-toggle="collapse"],
[data-toggle="modal"],
.scroll-to-top {
  cursor: pointer;
}

.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}
@media (min-width: 768px) {
  .container {
    width: 750px;
  }
}
@media (min-width: 992px) {
  .container {
    width: 970px;
  }
}
@media (min-width: 1200px) {
  .container {
    width: 1170px;
  }
}

.row {
  margin-left: -15px;
  margin-right: -15px;
}
.row:before,
.row:after {
  content: " ";
  display: table;
}
.row:after {
  clear: both;
}

.hidden {
  display: none !important;
}

/* Display hide/show; float/width de css-lbs_2 siguen aplicando al mostrarse */
.collapse {
  display: none;
}
.collapse.in {
  display: block;
}

.clearfix:before,
.clearfix:after {
  content: " ";
  display: table;
}
.clearfix:after {
  clear: both;
}

.col-xs-12,
.col-md-4,
.col-md-8 {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
  float: left;
  box-sizing: border-box;
}
.col-xs-12 {
  width: 100%;
}
@media (min-width: 992px) {
  .col-md-4 {
    width: 33.33333333%;
  }
  .col-md-8 {
    width: 66.66666667%;
  }
}

.label {
  display: inline;
  padding: 0.2em 0.6em 0.3em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25em;
}
.label-info {
  background-color: #5bc0de;
}

.btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: 400;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.42857143;
  border-radius: 4px;
  background: transparent;
  user-select: none;
}
.btn-link {
  font-weight: 400;
  color: #337ab7;
  border-radius: 0;
  background: none;
  border-color: transparent;
  box-shadow: none;
}
.btn-link:hover,
.btn-link:focus {
  color: #23527c;
  text-decoration: underline;
  background: transparent;
}
