@import url("https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400;500;600;700&family=Open+Sans:wght@400;600;700&display=swap");

@font-face {
  font-family: 'Sabandija';
  src: url('fonts/Sabandija-font-ffp.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
}

body {
  font-family: "Open Sans", sans-serif;
  color: #0c0c0c;
  background-color: #ffffff;
  overflow-x: hidden;
}

body.menu_page {
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.50), rgba(255, 255, 255, 0.50)),
    url('../images/background_menu_tour_eiffel.webp');
  background-repeat: repeat;
  background-color: #ffffff;
}

.layout_padding {
  padding: 90px 0;
}

.layout_padding2 {
  padding: 75px 0;
}

.layout_padding3 {
  padding: 50px 0;
}

.layout_padding4 {
  padding: 30px 0;
}

.section-light {
  background: #ffffff;
  color: #1c1d20;
}

.section-dark {
  background: radial-gradient(circle at 20% 20%, #2a313d 0%, #1b1f27 55%, #151821 100%);
  color: #f7f7f7;
}

.section-dark .heading_container h2 {
  color: #ffffff;
}

.section-light .heading_container h2 {
  color: #1c1d20;
}


.layout_padding2-top {
  padding-top: 75px;
}

.layout_padding2-bottom {
  padding-bottom: 75px;
}

.layout_padding-top {
  padding-top: 90px;
}

.layout_padding-bottom {
  padding-bottom: 90px;
}

h1,
h2,
h4 {
  font-family: 'Dancing Script', cursive;
}

.heading_container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.heading_container h2 {
  position: relative;
  margin-bottom: 0;
  font-size: 2.5rem;
  font-weight: bold;
}

.heading_container h2 span {
  color: #E4388A;
}

.heading_container p {
  margin-top: 10px;
  margin-bottom: 0;
}

.heading_container.heading_center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
}

a,
a:hover,
a:focus {
  text-decoration: none;
}

a:hover,
a:focus {
  color: initial;
}

.btn,
.btn:focus {
  outline: none !important;
  -webkit-box-shadow: none;
  box-shadow: none;
}

/*header section*/
.hero_area {
  position: relative;
  min-height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  background-color: #000;
}

.bg-box {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.bg-box img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.sub_page .hero_area {
  min-height: auto;
}

.sub_page .hero_area .bg-box {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.sub_page .hero_area .bg-box img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: right top;
  object-position: right top;
}

.header_section {
  padding: 15px 0;
}

.header_section .container-fluid {
  padding-right: 25px;
  padding-left: 25px;
}

.navbar-brand {
  font-family: 'Dancing Script', cursive;
}

.navbar-brand span {
  font-weight: bold;
  font-size: 32px;
  color: #ffffff;
}

.custom_nav-container {
  padding: 0;
}

.custom_nav-container .navbar-nav {
  padding-left: 18%;
}

.custom_nav-container .navbar-nav .nav-item .nav-link {
  padding: 5px 20px;
  color: #ffffff;
  text-align: center;
  text-transform: uppercase;
  border-radius: 5px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.custom_nav-container .navbar-nav .nav-item:hover .nav-link,
.custom_nav-container .navbar-nav .nav-item.active .nav-link {
  color: #E4388A;
}

.custom_nav-container .nav_search-btn {
  width: auto;
  height: auto;
  padding: 0;
  border: none;
  color: #ffffff;
  margin: 0 10px;
}

.custom_nav-container .nav_search-btn:hover {
  color: #E4388A;
}

.user_option {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.user_option a {
  margin: 0 10px;
}

.user_option .user_link {
  color: #ffffff;
}

.user_option .user_link:hover {
  color: #E4388A;
}

.user_option .cart_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.user_option .cart_link svg {
  width: 17px;
  height: auto;
  fill: #ffffff;
  margin-bottom: 2px;
}

.user_option .cart_link:hover svg {
  fill: #E4388A;
}

.user_option .order_online {
  display: inline-block;
  padding: 8px 30px;
  background-color: #E4388A;
  color: #ffffff;
  border-radius: 45px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: none;
}

.user_option .order_online:hover {
  background-color: #E4388A;
}

.custom_nav-container .navbar-toggler {
  outline: none;
}

.custom_nav-container .navbar-toggler {
  padding: 0;
  width: 37px;
  height: 42px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.custom_nav-container .navbar-toggler span {
  display: block;
  width: 35px;
  height: 4px;
  background-color: #ffffff;
  margin: 7px 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  position: relative;
  border-radius: 5px;
  transition: all 0.3s;
}

.custom_nav-container .navbar-toggler span::before,
.custom_nav-container .navbar-toggler span::after {
  content: "";
  position: absolute;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: #ffffff;
  top: -10px;
  border-radius: 5px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.custom_nav-container .navbar-toggler span::after {
  top: 10px;
}

.custom_nav-container .navbar-toggler[aria-expanded="true"] {
  -webkit-transform: rotate(360deg);
  transform: rotate(360deg);
}

.custom_nav-container .navbar-toggler[aria-expanded="true"] span {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.custom_nav-container .navbar-toggler[aria-expanded="true"] span::before,
.custom_nav-container .navbar-toggler[aria-expanded="true"] span::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  top: 0;
}

/*end header section*/
/* slider section */
.slider_section {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  padding: 45px 0 75px 0;
}

.slider_section .row {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.slider_section #customCarousel1 {
  width: 100%;

  position: unset;
}

.slider_section .detail-box {
  color: #ffffff;
  margin-bottom: 145px;


}

.slider_section .detail-box h1 {
  font-size: 3.5rem;
  font-weight: bold;
  margin-bottom: 15px;
}

.slider_section .detail-box p {
  font-size: 14px;
}

.slider_section .detail-box a {
  display: inline-block;
  padding: 10px 45px;
  background-color: #E4388A;
  color: #ffffff;
  border-radius: 45px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: none;
  margin-top: 10px;
}

.slider_section .detail-box a:hover {
  background-color: #E4388A;
}

.slider_section .img-box img {
  width: 100%;
}

.slider_section .carousel-indicators {
  position: unset;
  margin: 0;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.slider_section .carousel-indicators li {
  background-color: #ffffff;
  width: 12px;
  height: 12px;
  border-radius: 100%;
  opacity: 1;
}

.slider_section .carousel-indicators li.active {
  width: 20px;
  height: 20px;
  background-color: #E4388A;
}

.offer_section {
  position: relative;
  padding-top: 45px;
}

.offer_section .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 45px;
  border-radius: 5px;
  padding: 20px 15px;
  background-color: #222831;
  color: #ffffff;
}

.offer_section .box .img-box {
  width: 120px;
  min-width: 120px;
  height: 120px;
  margin-right: 15px;
  position: relative;
  -webkit-transition: all 0.1 0.5s;
  transition: all 0.1 0.5s;
  border-radius: 100%;
  border: 5px solid #E4388A;
  overflow: hidden;
}

.offer_section .box .img-box img {
  width: 100%;
  -webkit-transition: all .2s;
  transition: all .2s;
}

.offer_section .box .detail-box h5 {
  font-family: 'Dancing Script', cursive;
  font-size: 24px;
  margin: 0;
}

.offer_section .box .detail-box h3 {
  font-family: 'Dancing Script', cursive;
  margin: 10px 0;
}


.offer_section .box .detail-box h6 {
  font-family: 'Dancing Script', cursive;
  margin: 10px 0;
}

.offer_section .box .detail-box h6 span {
  font-size: 2.5rem;
  font-weight: bold;
}

.offer_section .box .detail-box a {
  display: inline-block;
  padding: 10px 30px;
  background-color: #E4388A;
  color: #ffffff;
  border-radius: 45px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: none;
}

.offer_section .box .detail-box a:hover {
  background-color: #E4388A;
}

.offer_section .box .detail-box a svg {
  width: 20px;
  height: auto;
  margin-left: 5px;
  fill: #ffffff;
}

.offer_section .box:hover .img-box img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.food_section h2 {

  font-family: 'Sabandija', Courier, monospace;

}

.food_section h3 {

  font-family: 'Sabandija', Courier, monospace;
}

.food_section h5 {

  font-family: 'Sabandija', Courier, monospace;
  text-align: center;
}

.food_section h6 {

  font-family: 'Sabandija', Courier, monospace;
  text-align: center;
}


.food_section .filters_menu {
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  list-style-type: none;
  margin: 45px 0 20px 0;

}

.food_section .filters_menu li {
  padding: 7px 25px;
  cursor: pointer;
  border-radius: 25px;
}

.food_section .filters_menu li.active {
  background-color: #222831;
  color: #ffffff;
}

.food_section .box {
  position: relative;
  margin-top: 25px;
  background-color: #ffffff;
  border-radius: 10px;
  color: #ffffff;
  border-radius: 15px;
  overflow: hidden;
  background: linear-gradient(to bottom, #f1f2f3 25px, #222831 25px);
}

.food_section .box .img-box {
  background: #f1f2f3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 215px;
  border-radius: 0 0 0 45px;
  margin: -1px;
  padding: 25px;
}

.food_section .box .img-box img {
  max-width: 100%;
  max-height: 145px;
  -webkit-transition: all .2s;
  transition: all .2s;
}

.food_section .box .detail-box {
  padding: 25px;
}

.food_section .box .detail-box h5 {
  font-weight: 600;
}

.food_section .box .detail-box p {
  font-size: 15px;
}

.food_section .box .detail-box h6 {
  margin-top: 10px;
}

.food_section .box .options {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.food_section .box .options a {
  width: 40px;
  height: 40px;
  border-radius: 100%;
  background: #E4388A;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.food_section .box .options a svg {
  width: 18px;
  height: auto;
  fill: #ffffff;
}

.food_section .box:hover .img-box img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.food_section .btn-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 45px;
}

.food_section .btn-box a {
  display: inline-block;
  padding: 10px 55px;
  background-color: #E4388A;
  color: #ffffff;
  border-radius: 45px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: none;
}

.food_section .btn-box a:hover {
  background-color: #E4388A;
}

.menu_page .food_section .grid>.all+.all {
  border-top: 1px solid #E4388A;
}

/* ===================== PAGE LOADER ===================== */
#page-loader {
  position: fixed;
  inset: 0;
  background: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  opacity: 1;
  transition: opacity 0.5s ease;
}

#page-loader.loader-hidden {
  opacity: 0;
  pointer-events: none;
}

#page-loader img {
  width: 180px;
  background: #222831;
  border-radius: 50%;
  padding: 30px;
  animation: loaderFloat 2s ease-in-out infinite;
}

@keyframes loaderFloat {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-16px); }
}

.loader-bar-wrap {
  width: 160px;
  height: 3px;
  background: #f0e0e8;
  border-radius: 3px;
  margin-top: 24px;
  overflow: hidden;
}

.loader-bar {
  height: 100%;
  width: 40%;
  background: #E4388A;
  border-radius: 3px;
  animation: loaderSweep 1.4s ease-in-out infinite;
}

@keyframes loaderSweep {
  0%   { transform: translateX(-250%); }
  100% { transform: translateX(650%); }
}
/* ======================================================= */

.menu_page .postres .TitleTartas,
.menu_page .bar .titleCoctelesA,
.menu_page .bar .titleDesilados,
.menu_page .bar .titleCervezas,
.menu_page .bar .titleJarras,
.menu_page .bar .titleVinoChamp {
  border-top: 1px solid #E4388A;
  margin-top: 30px;
  padding-top: 20px;
}

.menu_page .food_section {
  background-color: transparent;
}

.menu_page .food_section .box {
  background: linear-gradient(to bottom, transparent 25px, #222831 25px);
}

.menu_page .food_section .box .img-box {
  background: transparent;
}

.menu_page .food_section .box .img-box img {
  mix-blend-mode: multiply;
}

.menu_page .mini-carousel .mini-box .img-box {
  background: transparent;
}

.menu_page .mini-carousel .mini-box .img-box img {
  mix-blend-mode: multiply;
}

.menu_page .dulce-card .img-box {
  background: transparent;
}

.menu_page .dulce-card .img-box img {
  mix-blend-mode: multiply;
}

.menu_page .listo-grid .img-box img {
  mix-blend-mode: multiply;
}

.menu_page .listo-card .img-box img {
  mix-blend-mode: multiply;
}

.admin_section {
  background: #f7f7f7;
}

.admin-card {
  background: #ffffff;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
  margin-bottom: 24px;
}

.admin-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.admin-sticky {
  position: sticky;
  top: 12px;
  z-index: 20;
}

.admin-sticky .admin-card {
  padding: 14px;
}

.admin-sticky .admin-card-header {
  margin-bottom: 10px;
}

.admin-tabs {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.admin-tabs-left {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.admin-tabs-right {
  margin-left: auto;
}

.admin-tabs-right .form-control {
  min-width: 72px;
}

.admin-tab {
  border: 1px solid #dee2e6;
  background: #ffffff;
  color: #1f1f1f;
  padding: 6px 16px;
  border-radius: 999px;
  font-size: 14px;
  cursor: pointer;
}

.admin-tab.active {
  background: #E4388A;
  border-color: #E4388A;
  color: #ffffff;
}

.admin-tab-panel[hidden] {
  display: none !important;
}

.admin-form .form-group {
  margin-bottom: 16px;
}

.admin-form-compact .form-group {
  margin-bottom: 12px;
}

.admin-options {
  padding: 12px;
  border: 1px dashed #e0e0e0;
  border-radius: 10px;
  margin-bottom: 16px;
  background: #fcfcfc;
}

.admin-options input:disabled,
.admin-options textarea:disabled {
  background: #f1f1f1;
}

.admin-status {
  font-size: 14px;
  margin-bottom: 16px;
}

.admin-status-success {
  color: #198754;
}

.admin-status-error {
  color: #dc3545;
}

.admin-status-info {
  color: #0d6efd;
}

.admin-products {
  display: grid;
  gap: 16px;
}

.admin-toolbar {
  display: flex;
  align-items: flex-end;
  gap: 16px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

.admin-toolbar-right {
  justify-content: flex-end;
}

.admin-field label {
  font-size: 13px;
  margin-bottom: 4px;
}

.admin-form-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}

.admin-product {
  border: 1px solid #e9ecef;
  border-radius: 10px;
  padding: 16px;
  background: #ffffff;
}

.admin-block {
  border: 1px solid #e9ecef;
  border-radius: 10px;
  padding: 16px;
  background: #ffffff;
  display: grid;
  gap: 12px;
}

.admin-block-header h6 {
  margin-bottom: 4px;
  font-weight: 600;
}

.admin-block-meta {
  font-size: 13px;
  color: #6c757d;
}

.admin-block-fields {
  display: grid;
  gap: 8px;
}

.admin-block-fields label {
  font-size: 13px;
  margin-bottom: 4px;
}

.menu-subgroup {
  margin-top: 18px;
  padding-top: 12px;
}

.menu-subgroup:first-child {
  margin-top: 0;
  padding-top: 0;
}

.menu-subgroup-title {
  font-weight: 600;
  margin-bottom: 4px;
}

.menu-subgroup-desc {
  margin-bottom: 8px;
  color: #6c757d;
  font-size: 0.9rem;
}

.bar .titleCoctelesA,
.bar .titleDesilados,
.bar .titleCervezas,
.bar .titleJarras,
.bar .titleVinoChamp {
  margin-top: 24px;
}

.bar .listo-grid {
  margin-bottom: 12px;
}

.admin-block-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.admin-product h6 {
  margin-bottom: 6px;
  font-weight: 600;
}

.admin-product p {
  margin-bottom: 6px;
  font-size: 14px;
}

.admin-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 10px;
}

.about_section {
  background: #222831;
  color: #ffffff;
}

.about_section .row {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.about_section .img-box {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.about_section .img-box img {
  width: 100%;
  max-width: 445px;
  position: relative;
  z-index: 2;
}

.about_section .detail-box p {
  margin-top: 15px;
}

.about_section .detail-box a {
  display: inline-block;
  padding: 10px 45px;
  background-color: #E4388A;
  color: #ffffff;
  border-radius: 45px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: none;
  margin-top: 15px;
}

.about_section .detail-box a:hover {
  background-color: #E4388A;
}

.about_section.section-light {
  background: #ffffff;
  color: #1c1d20;
}

.about_section.section-light .detail-box p {
  color: #2d2f34;
}

.about_section.section-light .img-box img {
  border-radius: 14px;
  box-shadow: 0 18px 40px rgba(20, 20, 20, 0.18);
}

.book_section {
  position: relative;
}

.book_section .heading_container {
  margin-bottom: 25px;
}

.book_section .form_container .form-control {
  width: 100%;
  border: none;
  height: 50px;
  margin-bottom: 25px;
  padding-left: 25px;
  border: 1px solid #999;
  outline: none;
  color: #000000;
  border-radius: 5px;
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.book_section .form_container .form-control::-webkit-input-placeholder {
  color: #222222;
}

.book_section .form_container .form-control:-ms-input-placeholder {
  color: #222222;
}

.book_section .form_container .form-control::-ms-input-placeholder {
  color: #222222;
}

.book_section .form_container .form-control::placeholder {
  color: #222222;
}

.book_section .form_container .nice-select .current {
  font-size: 16px;
}

.book_section .form_container button {
  margin-top: 15px;
  border: none;
  text-transform: uppercase;
  display: inline-block;
  padding: 10px 55px;
  background-color: #E4388A;
  color: #ffffff;
  border-radius: 45px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: none;
}

.book_section .form_container button:hover {
  background-color: #E4388A;
}

.book_section .map_container {
  width: 100%;
  height: 345px;
  border-radius: 10px;
  overflow: hidden;
}

.book_section .map_container #googleMap {
  height: 100%;
  min-height: 100%;
  width: 100%;
}

/* client section start */
.client_section .heading_container {
  margin-bottom: 30px;
}

.client_section .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin: 15px;
}

.client_section .box .img-box {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 115px;
  position: relative;
  margin-top: 30px;
}

.client_section .box .img-box img {
  border-radius: 100%;
  border: 5px solid #E4388A;
  position: relative;
}

.client_section .box .img-box::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: 20px;
  height: 20px;
  background-color: #E4388A;
  -webkit-transform: rotate(45deg) translateX(-50%);
  transform: rotate(45deg) translateX(-50%);
}

.client_section .box .detail-box {
  background-color: #222831;
  color: #ffffff;
  padding: 25px 25px 15px 25px;
  border-radius: 5px;
}

.client_section .box .detail-box h6 {
  font-weight: 600;
  font-size: 18px;
  margin: 15px 0 5px 0;
}

.client_section .box .detail-box p {
  margin-bottom: 0;
  font-size: 15px;
  margin-bottom: 10px;
}

.client_section .owl-carousel .owl-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 45px;
  padding: 0 15px;
}

.client_section .owl-carousel .owl-nav .owl-prev,
.client_section .owl-carousel .owl-nav .owl-next {
  width: 45px;
  height: 45px;
  background-color: #E4388A;
  color: #ffffff;
  outline: none;
  bottom: 0px;
  font-size: 24px;
  margin: 0 5px;
  border-radius: 100%;
}

/* client section end */
.contact_section .heading_container {
  margin-bottom: 45px;
}

.contact_section .form_container .form-group {
  margin-bottom: 25px;
}

.contact_section .form_container input {
  width: 100%;
  border: none;
  height: 50px;
  padding-left: 25px;
  background-color: transparent;
  border: 1px solid #ccc;
  outline: none;
  color: #000000;
  border-radius: 5px;
}

.contact_section .form_container input::-webkit-input-placeholder {
  color: #222222;
}

.contact_section .form_container input:-ms-input-placeholder {
  color: #222222;
}

.contact_section .form_container input::-ms-input-placeholder {
  color: #222222;
}

.contact_section .form_container input::placeholder {
  color: #222222;
}

.contact_section .form_container input.message-box {
  height: 120px;
  border-radius: 5px;
}

.contact_section .form_container .btn-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.contact_section .form_container button {
  margin-top: 10px;
  border: none;
  text-transform: uppercase;
  display: inline-block;
  padding: 10px 55px;
  background-color: #E4388A;
  color: #ffffff;
  border-radius: 0px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: none;
}

.contact_section .form_container button:hover {
  background-color: #E4388A;
}

/* footer section*/
.footer_section {
  margin-top: 0;
  background-color: #222831;
  color: #ffffff;
  padding: 75px 0 40px 0;
  text-align: center;
}

.footer_section h4 {
  font-size: 28px;
}

.footer_section h4,
.footer_section .footer-logo {
  font-weight: 600;
  margin-bottom: 20px;
  font-family: 'Dancing Script', cursive;
}

.footer_section p {
  color: #dbdbdb;
}

.footer_section .footer-col {
  margin-bottom: 30px;
}

.footer_section .footer_contact .contact_link_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.footer_section .footer_contact .contact_link_box a {
  margin: 5px 0;
  color: #ffffff;
}

.footer_section .footer_contact .contact_link_box a i {
  margin-right: 5px;
}

.footer_section .footer_contact .contact_link_box a:hover {
  color: #E4388A;
}

.footer_section .footer-logo {
  display: block;
  font-weight: bold;
  font-size: 38px;
  line-height: 1;
  color: #ffffff;
}

.footer_section .footer_social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 20px;
  margin-bottom: 10px;
}

.footer_section .footer_social a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #222831;
  width: 30px;
  height: 30px;
  border-radius: 100%;
  background-color: #ffffff;
  border-radius: 100%;
  margin: 0 2.5px;
  font-size: 18px;
}

.footer_section .footer_social a:hover {
  color: #E4388A;
}

.footer_section .footer-info {
  text-align: center;
  margin-top: 25px;
}

.footer_section .footer-info p {
  color: #ffffff;
  margin: 0;
}

.footer_section .footer-info p a {
  color: inherit;
}

/* Style spécifique pour les promos */
.promo-list {
  list-style: none;
  padding: 0;
  margin: 0;

}

.promo-list li {
  margin-bottom: 8px;
}

.promo-list .promo-day {
  font-family: 'Dancing Script', cursive;
  font-size: 1.3rem;
  /* un peu plus grand que le reste */
  color: #fcfcfc;
  /* tu peux changer la couleur si tu veux */
}

.promo-list small {
  font-size: 0.85rem;
  color: #666;
  margin-left: 10px;
}

.section-dark .promo-list small {
  color: #ffffff;
}

/* google map */

.map_section .reviews_box {
  margin-top: 18px;
  background: #222831;
  color: #ffffff;
  border-radius: 10px;
  padding: 18px;
}

.section-dark .reviews_box {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
}

.map_section .reviews_box h4 {
  margin: 0 0 10px;
  font-family: 'Dancing Script', cursive;
}

#reviews {
  list-style: none;
  padding: 0;
  margin: 0;
}

#reviews li {
  margin-bottom: 12px;
}

#reviews .promo-day {
  font-family: 'Dancing Script', cursive;
  font-size: 1.1rem;
  color: #E4388A;
  display: block;
}

#reviews small {
  color: #bbb;
  margin-left: 0;
}

#reviews div {
  color: #eee;
}

.map_section .btn {
  margin-top: 8px;
  display: inline-block;
}

/* Platforms section */
.platforms_section .platforms-grid {
  margin-top: 24px;
}

.platforms_section .platform-card {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border: 1px solid #ffffff;
  border-radius: 16px;
  padding: 30px 18px;
  min-height: 140px;
  box-shadow: 0 12px 26px rgba(20, 20, 20, 0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.platforms_section .platform-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 34px rgba(20, 20, 20, 0.14);
}

.platforms_section .platform-logo {
  width: 90%;
  max-width: 240px;
  height: 90px;
  object-fit: contain;
}

@media (max-width: 767px) {
  .platforms_section .platform-card {
    margin-bottom: 16px;
  }
}

/* .owl-carousel {
  min-height: 220px;
} */

/*********************Menu***********************/

/* Mini vignettes protéines : largeur fixe et calcul Owl fiable */
.mini-carousel .mini-box {
  display: inline-block;
  /* clé pour que Owl mesure la largeur réelle */
  width: 150px;
  /* choisis 100–120px, pas 10px :) */
  margin: 0 5px;
  text-align: center;
  font-size: 12px;
  box-sizing: border-box;
}

/* Carré image 100x100 compact, sans padding parasite */
.mini-carousel .mini-box .img-box {
  width: 100%;
  height: 150px;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  background: #fff;
  border-radius: 10px;
  margin-bottom: 5px;
  padding: 10px;
  /* neutralise tout padding hérité */
}

/* Image centrée dans le carré */
.mini-carousel .mini-box .img-box img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;

}

/* Texte très compact */
.mini-carousel .mini-box .detail-box {
  padding: 0;
  margin: 0;
  text-align: center;
}

/* .proteinas-carousel .mini-box .detail-box h6,
.proteinas-carousel .mini-box .detail-box small {
  font-size: 11px;
  margin: 0;
  line-height: 1.2;
  text-align: center;
} */
.mini-carousel .mini-box .detail-box h6 {
  font-size: 15px;
  margin: 0;
  line-height: 1.2;
  text-align: center;
  /* white-space: nowrap; */

}

.mini-carousel .mini-box .detail-box h6 small {
  display: block;
  /* passe à la ligne */
  font-size: 9.5px;
  /* plus petit */
  color: #060505;
  /* optionnel : nuance plus claire */
  margin-top: 2px;
  /* petit espace sous le nom */
  text-align: center;
  /* centrage garanti */
  /* white-space: nowrap; */

}

/* Sécurités Owl avec autoWidth */
.mini-carousel .owl-stage {
  display: block;
}

.mini-carousel .owl-item {
  float: left;
}


/* ====== Mobile ≤ 576px ====== */
@media (max-width: 576px) {
  .mini-carousel .mini-box {
    width: 96px;
    /* vignettes plus petites en mobile */
    margin: 0 4px;
    font-size: 11px;
  }

  .mini-carousel .mini-box .img-box {
    height: 96px;
    /* image plus petite en mobile */
    border-radius: 8px;
    margin-bottom: 4px;
  }

  .mini-carousel .mini-box .detail-box h6 {
    font-size: 15px;
  }

  /* Boutons Owl plus petits si besoin */
  .mini-carousel .owl-nav button.owl-prev,
  .mini-carousel .owl-nav button.owl-next {
    width: 28px;
    height: 28px;
    font-size: 16px;
  }
}



/* ====== Petits téléphones ≤ 360px (optionnel) ======
@media (max-width: 360px) {
  .mini-carousel .mini-box {
    width: 20;
    margin: 0 3px;
  }

  .mini-carousel .mini-box .img-box {
    height: 20;
  }

  .mini-carousel.mini-box .detail-box h6 {
    font-size: 9.5px;
  }
} */



.listo-card {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .06);
  padding: 16px 18px;
  height: 100%;
  display: flex;
  flex-direction: column;
  text-align: center;
}

.menu_page .listo-card {
  background: #ffffff;
  border: 1px solid #ece8e4;
}

.listo-card h5 {
  font-weight: 700;
  margin: 0 0 8px;
  line-height: 1.2;
  text-align: center;
}

.listo-card h6 {
  font-weight: 700;
  margin: 0 0 8px;
  line-height: 1.2;
  text-align: center;
}

.listo-card p {
  margin: 0;
  color: #333;
  line-height: 1.45;
  font-size: 0.98rem;
  margin-bottom: 10px;
  /* espace entre chaque promo */
}

.listo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
  text-align: center;
}

/* Avoid nested items inheriting the grid layout */
.listo-grid .listo-grid {
  display: block;
  grid-template-columns: none;
  gap: 0;
}

/* Dans ton style.css */
.listo-grid h5 {
  margin-bottom: 0px;
  /* ↓ espace réduit (valeur typique : 4–6px) */
  line-height: 1.1;
}

.listo-grid small {
  display: block;
  /* force le passage à la ligne */
  margin-top: 0;
  /* supprime tout espace inutile */
  line-height: 1.2;
}


@media (max-width: 576px) {
  .listo-grid {
    grid-template-columns: 1fr;
  }
}



.listo-grid .img-box {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-bottom: 10px;
}

.listo-grid .img-box img {
  max-width: 180px;
  /* ← limite la taille */
  height: auto;
  border-radius: 10px;
  object-fit: cover;
}

.listo-grid .line {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 4px;
  text-align: left;
}

/* Style du prix */
/* Centre uniquement le texte de la phrase takos */
.takos .DescTakos {
  text-align: center;
  display: block;
  /* (h6 l’est déjà, mais on force au cas où) */
  width: 100%;
  max-width: 900px;
  /* optionnel : limite la largeur de lecture */
  margin: 12px auto;
  /* centre le bloc dans son conteneur */
  padding: 0 12px;
  /* petit respir */
  margin-top: 40px;
  font-family: 'Sabandija', Courier, monospace;

}


/* Grille responsive 2 colonnes (1 sur mobile) */
.dulce-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

@media (max-width: 576px) {
  .dulce-grid {
    grid-template-columns: 1fr;
  }
}

/* Carte dessert */
.dulce-card {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 6px 18px #fefefe;
  padding: 14px;
  text-align: center;
}

/* Image compacte et centrée */
.dulce-card .img-box {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 150px;
  overflow: hidden;
  background: #fff;
  border-radius: 10px;
  margin-bottom: 8px;
}

.dulce-card .img-box img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/* Nom, description, prix */
.dulce-card .title {
  font-size: 14px;
  margin: 0 0 4px;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dulce-card .desc {
  margin: 0 0 6px;
  font-size: 12px;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  /* max 2 lignes */
  overflow: hidden;
}

.dulce-card .price {
  font-weight: 700;
  font-size: 13px;
}

/* Cocteles de Autor — cartes avec photos (style ensalada) */
.bar .coctelesA.listo-grid article {
  text-align: center;
}

.bar .coctelesA.listo-grid .img-box {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-bottom: 10px;
}

.bar .coctelesA.listo-grid .img-box img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  object-fit: cover;
}

.bar .coctelesA.listo-grid h5 {
  margin: 0 0 4px;
}

.bar .coctelesA.listo-grid small {
  display: block;
  color: #555;
  font-size: 12px;
  line-height: 1.4;
  margin-bottom: 6px;
}

.coctelA-price {
  display: block;
  font-weight: 700;
  font-size: 14px;
  margin-top: 4px;
}

/* Chupito sans photo — ligne pleine largeur sous la grille */
.coctelesA-nophoto {
  width: 100%;
  margin-top: 14px;
  border-top: 1px solid #ece8e4;
  padding-top: 10px;
}

.coctelesA-nophoto .line {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  padding: 6px 0;
  text-align: left;
}

/* .custom-lang {
  max-width: 90px;
  height: 36px;
  padding: 4px 8px;
  font-size: 14px;
  border-radius: 8px;
}

.custom-lang {
  margin-left: 8px;
} */
.custom-lang {
  max-width: 90px;
  height: 36px;
  padding: 4px 8px;
  font-size: 14px;
  border-radius: 8px;
  border: 1px solid #ccc;
  background-color: #fff;

  /* Supprime la flèche */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: none;
}

.custom-lang::-ms-expand {
  display: none;
  /* pour Edge/IE */
}

.custom-lang {
  text-align-last: center;
  /* centre les drapeaux */
}

.custom-lang.form-control {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-image: none !important;
  background-color: #fff !important;
  background-position: right center !important;
  background-repeat: no-repeat !important;
  padding-right: 8px !important;
}

.custom-lang.form-control::-ms-expand {
  display: none;
}


/* ============================================================
   Fiestas Patrias banner — temporary, self-removes after Sept 2026.
   Speaks the food-card language: charcoal panel, the asymmetric
   notch from .box .img-box, brand yellow, and the same heading
   font stack as its sibling menu headings.
   ============================================================ */
.fiestas {
  position: relative;
  display: flex;
  align-items: stretch;
  overflow: hidden;
  margin-top: 45px;
  border-radius: 15px;
  background-color: #222831;
  color: #ffffff;
  box-shadow: 0 10px 30px rgba(34, 40, 49, 0.18);
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

.fiestas.is-visible {
  opacity: 1;
  transform: none;
}

.fiestas.is-closing {
  height: 0 !important;
  margin-top: 0;
  opacity: 0;
  transition: height 0.35s ease, margin-top 0.35s ease, opacity 0.25s ease;
}

/* Absolute image so the photo never drives the panel height — the
   min-height below does. The notch echoes .box .img-box, mirrored.
   The source photo is portrait (899x1599), so the slot is kept tall
   enough to hold the terremoto glasses without clipping them. */
/* The photo is portrait (899x1599, ratio 0.562) and both the cocktails
   (top half) and the takos (bottom half) have to stay in frame, so the
   slot keeps that exact ratio at every width — nothing gets cropped. */
.fiestas-media {
  position: relative;
  flex: 0 0 170px;
  min-height: 302px;
  overflow: hidden;
  border-radius: 0 0 45px 0;
}

.fiestas-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.fiestas-body {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 24px 34px;
}

.fiestas-copy {
  min-width: 0;
}

.fiestas-eyebrow {
  /* Right padding keeps the eyebrow clear of the close button. */
  margin: 0 0 4px;
  padding-right: 34px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.6);
}

.fiestas-star {
  color: #E4388A;
  margin-right: 3px;
}

/* Font-family intentionally omitted: `.food_section h3` already sets
   the menu's heading face, so this title tracks its siblings. */
.fiestas-title {
  font-size: 3rem;
  line-height: 1.1;
  margin: 0 0 12px;
  color: #E4388A;
  text-align: left;
}

.fiestas-lead {
  margin: 0 0 14px;
  font-size: 17px;
  color: rgba(255, 255, 255, 0.78);
}

.fiestas-hint {
  margin: 0;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
}

/* Menu-style rows: name, dot leader, price — the typographic device a
   printed carte uses, and it fills the portrait panel's height. */
.fiestas-offers {
  list-style: none;
  padding: 0;
  margin: 0;
  flex: 0 0 340px;
}

.fiestas-offers li {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 16px 0;
}

.fiestas-offers li + li {
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.fiestas-name {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.78);
  white-space: nowrap;
}

.fiestas-leader {
  flex: 1 1 auto;
  border-bottom: 1px dotted rgba(255, 255, 255, 0.3);
  transform: translateY(-4px);
}

.fiestas-price {
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1;
  color: #E4388A;
  white-space: nowrap;
}

.fiestas-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 30px;
  height: 30px;
  padding: 0;
  border: none;
  border-radius: 100%;
  background-color: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  font-size: 19px;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.3s, color 0.3s;
}

.fiestas-close:hover {
  background-color: #E4388A;
  color: #ffffff;
}

.fiestas-close:focus-visible {
  outline: 2px solid #E4388A;
  outline-offset: 2px;
}

@media (max-width: 991px) {
  .fiestas-body {
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 10px;
  }

  .fiestas-offers {
    flex: 0 0 auto;
  }
}

/* The banner stays a row on phones: stacking would force the portrait
   photo into a full-width landscape slot, which crops off either the
   cocktails or the takos. A narrower portrait column keeps both. */
@media (max-width: 767px) {
  .fiestas-media {
    flex: 0 0 132px;
    min-height: 235px;
  }

  .fiestas-body {
    padding: 18px 16px 18px 18px;
  }

  .fiestas-title {
    font-size: 1.75rem;
    margin-bottom: 6px;
  }

  .fiestas-eyebrow {
    font-size: 10px;
    letter-spacing: 1.2px;
  }

  .fiestas-lead {
    font-size: 14px;
    margin-bottom: 8px;
  }

  .fiestas-offers li {
    padding: 8px 0;
    gap: 6px;
  }

  .fiestas-name {
    font-size: 11px;
    letter-spacing: 0.6px;
  }

  .fiestas-price {
    font-size: 1.4rem;
  }

  .fiestas-hint {
    font-size: 12px;
  }

  .fiestas-close {
    width: 26px;
    height: 26px;
    top: 8px;
    right: 8px;
    font-size: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fiestas {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
