.glightbox-container{
  position:fixed;
  top:0;
  left:0;
  z-index:999999!important;
  backface-visibility:hidden;
  outline:0;
  height:100%;
  width:100%;
  overflow:hidden;
  overflow:hidden;
  touch-action:none;
  -webkit-text-size-adjust:100%;
  -moz-text-size-adjust:100%;
  text-size-adjust:100%;
}

.glightbox-container.inactive{
  display:none;
}

.glightbox-container .gcontainer{
  position:relative;
  z-index:9999;
  height:100%;
  width:100%;
  overflow:hidden;
}

.glightbox-container .gslider{
  position:relative;
  top:0;
  left:0;
  transform:translate3d(0,0,0);
  display:flex!important;
  justify-content:center;
  align-items:center;
  height:100%;
  width:100%;
  overflow:hidden;
  transition:transform .4s ease;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  -moz-box-pack:center;
  -webkit-box-align:center;
  -ms-flex-align:center;
  -moz-box-align:center;
}

.glightbox-container .gslide{
  position:absolute;
  opacity:1;
  opacity:0;
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  -webkit-user-select:none;
  -moz-user-select:none;
  user-select:none;
  -webkit-box-align:center;
  -ms-flex-align:center;
  -moz-box-align:center;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  -moz-box-pack:center;
}

.glightbox-container .gslide.current{
  position:relative;
  z-index:99999;
  opacity:1;
}

.glightbox-container .gslide.prev{
  z-index:9999;
  opacity:1;
}

.glightbox-container .gslide-inner-content{
  width:100%;
}

.glightbox-container .ginner-container{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  margin:auto;
  height:100vh;
  max-width:100%;
  width:100%;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  -moz-box-pack:center;
}

.glightbox-container .ginner-container.gvideo-container{
  width:100%;
}

.glightbox-container .ginner-container.desc-bottom,.glightbox-container .ginner-container.desc-top{
  flex-direction:column;
}

.glightbox-container .ginner-container.desc-left,.glightbox-container .ginner-container.desc-right{
  max-width:100%!important;
}

.gslide iframe,.gslide video{
  outline:0!important;
  border:none;
  min-height:165px;
  -webkit-overflow-scrolling:touch;
  touch-action:auto;
}

.gslide-image{
  align-items:center;
  -webkit-box-align:center;
  -ms-flex-align:center;
  -moz-box-align:center;
}

.gslide-image img{
  display:block;
  outline:0;
  border:none;
  margin:auto;
  max-height:100vh;
  height:auto;
  max-width:100vw;
  min-width:200px;
  width:auto;
  -o-object-fit:cover;
  object-fit:cover;
  float:none;
  padding:0;
  -webkit-user-select:none;
  -moz-user-select:none;
  user-select:none;
  touch-action:none;
}

.desc-bottom .gslide-image img,.desc-top .gslide-image img{
  width:auto;
}

.desc-left .gslide-image img,.desc-right .gslide-image img{
  max-width:100%;
  width:auto;
}

.gslide-image img.zoomable{
  position:relative;
}

.gslide-image img.dragging{
  cursor:grabbing!important;
  transition:none;
}

.gslide-video{
  position:relative;
  max-width:100vh;
  width:100%!important;
}

.gslide-video .gvideo-wrapper{
  margin:auto;
  width:100%;
}

.gslide-video::before{
  content:'';
  position:absolute;
  display:block;
  display:none;
  background:rgba(255,0,0,.34);
  height:100%;
  width:100%;
}

.gslide-video.playing::before{
  display:none;
}

.gslide-video.fullscreen{
  height:75vh;
  max-width:100%!important;
  min-width:100%;
}

.gslide-video.fullscreen video{
  max-width:100%!important;
  width:100%!important;
}

.gslide-inline{
  background:#fff;
  max-height:calc(100vh - 40px);
  max-width:100%;
  overflow:auto;
  text-align:left;
}

.gslide-inline .ginlined-content{
  width:100%;
  padding:20px;
}

.gslide-inline .dragging{
  cursor:grabbing!important;
  transition:none;
}

.ginlined-content{
  opacity:1;
  display:block!important;
  overflow:auto;
}

.gslide-external{
  display:flex;
  background:#fff;
  max-height:75vh;
  height:100%;
  min-width:100%;
  width:100%;
  overflow:auto;
  padding:0;
}

.gslide-media{
  display:flex;
  width:auto;
}

.zoomed .gslide-media{
  box-shadow:none!important;
}

.desc-bottom .gslide-media,.desc-top .gslide-media{
  flex-direction:column;
  margin:0 auto;
}

.gslide-description{
  position:relative;
  flex:1 0 100%;
}

.gslide-description.description-left,.gslide-description.description-right{
  max-width:100%;
}

.gslide-description.description-bottom,.gslide-description.description-top{
  margin:0 auto;
  width:100%;
}

.gslide-description p{
  margin-bottom:12px;
}

.gslide-description p:last-child{
  margin-bottom:0;
}

.zoomed .gslide-description{
  display:none;
}

.glightbox-button-hidden{
  display:none;
}

.glightbox-mobile .glightbox-container .gslide-description{
  position:absolute;
  bottom:15px;
  order:2!important;
  background:0 0;
  background:linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,.75) 100%);
  max-height:78vh;
  height:auto!important;
  max-width:100vw!important;
  width:100%;
  overflow:auto!important;
  padding:19px 11px;
  padding-bottom:50px;
  transition:opacity .3s linear;
  -webkit-box-ordinal-group:3!important;
  -ms-flex-order:2!important;
  -moz-box-ordinal-group:3!important;
}

.glightbox-mobile .glightbox-container .gslide-title{
  font-size:1em;
  color:#fff;
}

.glightbox-mobile .glightbox-container .gslide-desc{
  color:#a1a1a1;
}

.glightbox-mobile .glightbox-container .gslide-desc a{
  font-weight:700;
  color:#fff;
}

.glightbox-mobile .glightbox-container .gslide-desc *{
  color:inherit;
}

.glightbox-mobile .glightbox-container .gslide-desc string{
  color:#fff;
}

.glightbox-mobile .glightbox-container .gslide-desc .desc-more{
  opacity:.4;
  color:#fff;
}

.gdesc-open .gslide-media{
  opacity:.4;
  transition:opacity .5s ease;
}

.gdesc-open .gdesc-inner{
  padding-bottom:30px;
}

.gdesc-closed .gslide-media{
  opacity:1;
  transition:opacity .5s ease;
}

.greset{
  transition:all .3s ease;
}

.gabsolute{
  position:absolute;
}

.grelative{
  position:relative;
}

.glightbox-desc{
  display:none!important;
}

.glightbox-open{
  overflow:hidden;
}

.gloader{
  position:absolute;
  top:47%;
  left:0;
  right:0;
  z-index:9999;
  display:block;
  border:2px solid #fff;
  border-radius:50%;
  margin:0 auto;
  height:25px;
  width:25px;
  animation:lightboxLoader .8s infinite linear;
  border-right-color:transparent;
}

.goverlay{
  position:fixed;
  top:-1px;
  left:0;
  background:#000;
  height:calc(100vh + 1px);
  width:100%;
  will-change:opacity;
}

.glightbox-mobile .goverlay{
  background:#000;
}

.gclose,.gnext,.gprev{
  z-index:99999;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  border:none;
  height:44px;
  width:26px;
  cursor:pointer;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  -moz-box-pack:center;
  -webkit-box-align:center;
  -ms-flex-align:center;
  -moz-box-align:center;
}

.gclose svg,.gnext svg,.gprev svg{
  display:block;
  margin:0;
  height:auto;
  width:25px;
  padding:0;
}

.gclose.disabled,.gnext.disabled,.gprev.disabled{
  opacity:.1;
}

.gclose .garrow,.gnext .garrow,.gprev .garrow{
  stroke:#fff;
}

.gbtn.focused{
  outline:2px solid #0f3d81;
}

iframe.wait-autoplay{
  opacity:0;
}

.glightbox-closing .gclose,.glightbox-closing .gnext,.glightbox-closing .gprev{
  opacity:0!important;
}

.glightbox-clean .gslide-description{
  background:#fff;
}

.glightbox-clean .gdesc-inner{
  padding:22px 20px;
}

.glightbox-clean .gslide-title{
  margin-bottom:19px;
  font-family:arial;
  font-size:1em;
  line-height:1.4em;
  font-weight:400;
  color:#000;
}

.glightbox-clean .gslide-desc{
  margin-bottom:0;
  font-family:arial;
  font-size:.86em;
  line-height:1.4em;
}

.glightbox-clean .gslide-video{
  background:#000;
}

.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{
  border-radius:4px;
  background-color:rgba(0,0,0,.75);
}

.glightbox-clean .gclose path,.glightbox-clean .gnext path,.glightbox-clean .gprev path{
  fill:#fff;
}

.glightbox-clean .gprev{
  position:absolute;
  top:-100%;
  left:30px;
  height:50px;
  width:40px;
}

.glightbox-clean .gnext{
  position:absolute;
  top:-100%;
  right:30px;
  height:50px;
  width:40px;
}

.glightbox-clean .gclose{
  position:absolute;
  top:15px;
  right:10px;
  height:35px;
  width:35px;
}

.glightbox-clean .gclose svg{
  height:auto;
  width:18px;
}

.glightbox-clean .gclose:hover{
  opacity:1;
}

.gfadeIn{
  animation:gfadeIn .5s ease;
}

.gfadeOut{
  animation:gfadeOut .5s ease;
}

.gslideOutLeft{
  animation:gslideOutLeft .3s ease;
}

.gslideInLeft{
  animation:gslideInLeft .3s ease;
}

.gslideOutRight{
  animation:gslideOutRight .3s ease;
}

.gslideInRight{
  animation:gslideInRight .3s ease;
}

.gzoomIn{
  animation:gzoomIn .5s ease;
}

.gzoomOut{
  animation:gzoomOut .5s ease;
}

@keyframes lightboxLoader{
  0%{
    transform:rotate(0);
  }

  100%{
    transform:rotate(360deg);
  }
}

@keyframes gfadeIn{
  from{
    opacity:0;
  }

  to{
    opacity:1;
  }
}

@keyframes gfadeOut{
  from{
    opacity:1;
  }

  to{
    opacity:0;
  }
}

@keyframes gslideInLeft{
  from{
    opacity:0;
    transform:translate3d(-60%,0,0);
  }

  to{
    visibility:visible;
    opacity:1;
    transform:translate3d(0,0,0);
  }
}

@keyframes gslideOutLeft{
  from{
    visibility:visible;
    opacity:1;
    transform:translate3d(0,0,0);
  }

  to{
    visibility:hidden;
    opacity:0;
    transform:translate3d(-60%,0,0);
  }
}

@keyframes gslideInRight{
  from{
    visibility:visible;
    opacity:0;
    transform:translate3d(60%,0,0);
  }

  to{
    opacity:1;
    transform:translate3d(0,0,0);
  }
}

@keyframes gslideOutRight{
  from{
    visibility:visible;
    opacity:1;
    transform:translate3d(0,0,0);
  }

  to{
    opacity:0;
    transform:translate3d(60%,0,0);
  }
}

@keyframes gzoomIn{
  from{
    opacity:0;
    transform:scale3d(.3,.3,.3);
  }

  to{
    opacity:1;
  }
}

@keyframes gzoomOut{
  from{
    opacity:1;
  }

  50%{
    opacity:0;
    transform:scale3d(.3,.3,.3);
  }

  to{
    opacity:0;
  }
}

@media (min-width:769px){
  .glightbox-container .ginner-container{
    flex-direction:row;
    height:auto;
    width:auto;
  }

  .glightbox-container .ginner-container.desc-top .gslide-description{
    order:0;
    -webkit-box-ordinal-group:1;
    -ms-flex-order:0;
    -moz-box-ordinal-group:1;
  }

  .glightbox-container .ginner-container.desc-top .gslide-image,.glightbox-container .ginner-container.desc-top .gslide-image img{
    order:1;
    -webkit-box-ordinal-group:2;
    -ms-flex-order:1;
    -moz-box-ordinal-group:2;
  }

  .glightbox-container .ginner-container.desc-left .gslide-description{
    order:0;
    -webkit-box-ordinal-group:1;
    -ms-flex-order:0;
    -moz-box-ordinal-group:1;
  }

  .glightbox-container .ginner-container.desc-left .gslide-image{
    order:1;
    -webkit-box-ordinal-group:2;
    -ms-flex-order:1;
    -moz-box-ordinal-group:2;
  }

  .gslide-image img{
    max-height:97vh;
    max-width:100%;
  }

  .gslide-image img.zoomable{
    cursor:zoom-in;
  }

  .zoomed .gslide-image img.zoomable{
    cursor:grab;
  }

  .gslide-inline{
    max-height:95vh;
  }

  .gslide-external{
    max-height:100vh;
  }

  .gslide-description.description-left,.gslide-description.description-right{
    max-width:275px;
  }

  .glightbox-open{
    height:auto;
  }

  .goverlay{
    background:rgba(0,0,0,.92);
  }

  .glightbox-clean .gslide-media{
    box-shadow:1px 2px 9px 0 rgba(0,0,0,.65);
  }

  .glightbox-clean .description-left .gdesc-inner,.glightbox-clean .description-right .gdesc-inner{
    position:absolute;
    height:100%;
    overflow-y:auto;
  }

  .glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{
    background-color:rgba(0,0,0,.32);
  }

  .glightbox-clean .gclose:hover,.glightbox-clean .gnext:hover,.glightbox-clean .gprev:hover{
    background-color:rgba(0,0,0,.7);
  }

  .glightbox-clean .gprev{
    top:45%;
  }

  .glightbox-clean .gnext{
    top:45%;
  }
}

@media (min-width:992px){
  .glightbox-clean .gclose{
    right:20px;
    opacity:.7;
  }
}

@media screen and (max-height:420px){
  .goverlay{
    background:#000;
  }
}

.site-breadcrumb {
  margin-top: 20px;
}

.article-breadcrumb {
  margin: 10px 0;
}

.site-breadcrumb + .site-main {
  margin-top: 20px;
}

.breadcrumb-wrapper {
  font-size: var(--fontsize-sm);
  font-weight: 500;
  color: var(--text-grey-800);
}

.breadcrumb-wrapper i {
  margin: 0 4px;
  font-size: 0.833rem;
  color: var(--text-grey-700);
}

.breadcrumb-wrapper a:hover {
  color: var(--text-green);
}

.breadcrumb-wrapper .current-item {
  color: var(--text-grey-700);
}

/*
 Youtube videos section
 */

.iframe-upper-container {
  width: 100%;
  margin-bottom: 20px;
}

.iframe-upper-container span {
  font-weight: 500;
  display: block;
  margin-bottom: 10px;
  font-size: var(--fontsize-md);
}

/* Responsive container for maintaining aspect ratio */

.iframe-container {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 aspect ratio */
  height: 0;
  overflow: hidden;
  margin: 0 auto 20px auto;
}

/* The YouTube image placeholder with aspect ratio */

.youtube-player {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  cursor: pointer;
  border-radius: 8px;
  overflow: hidden;
}

.play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-block;
  z-index: 1;
}

.play-button svg {
  width: 80px;
  height: 80px;
  transition: transform 0.2s ease;
}

.play-button svg:hover {
  transform: scale(1.1);
}

.yt-play-button {
  opacity: 0.8;
}

.youtube-player:hover .yt-play-button {
  opacity: 1;
}

/* Make iframe fill the container */

iframe.youtube {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.iframe-video-restaurant {
  height: 575px;
  margin-top: 20px
}

.with-video {
  font-weight: 500;
  color: var(--text-grey);
  text-transform: uppercase;
  /*border: 1px solid #ccd3c2!important;*/
  padding: 2px 8px;
  border-radius: 5px;
  display: inline-block;
  font-size: 0.8rem;
  background: #ffefb7;
  margin-top: 15px;
}

.with-video a, .listing-item .with-video a {
  color: var(--text-grey);
  text-decoration: none;
}

.with-video i {
  margin-right: 5px;
}

.video-tag {
  margin-left: 10px;
}

html {
  scroll-padding-top: 110px;
}

.single-restaurant .site-header {
  --shadow-haeder: var(--transparent);
}

.single-restaurant .title-entry.airbnb-style {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  /*padding: 8px 0;*/
}

.single-restaurant .title-entry.airbnb-style .title-info {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}

.single-restaurant .title-entry.airbnb-style h1 {
  margin-bottom: 0;
  font-size: 2rem;
  font-weight: 600;
}

.action-buttons {
  display: flex;
  align-items: center;
}

.action-button-group {
  display: flex;
  gap: 10px;
}

.action-button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border-radius: 24px;
  border: 1px solid #dddddd;
  background-color: white;
  font-size: var(--fontsize-sm);
  font-weight: 500;
  color: #222222;
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
}

.action-button:hover {
  border-color: #bbbbbb;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.action-button i {
  font-size: var(--fontsize-md);
}

.action-button i.heart-filled {
  color: #FF385C;
  font-weight: 900;
}

.action-button i.fa-heart {
  color: #222222;
}

.action-button.save-favorite[data-todo="remove"] i {
  color: #FF385C;
}

.action-button.save-favorite:hover i:before {
  font-weight: 900;
}

.listing {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  width: 100%;
  -webkit-box-align: start;
  -moz-box-align: start;
  -ms-flex-align: start;
}

.listing .thumbnail-listing {
  position: relative;
  border-radius: 6px;
  overflow: hidden;
}

.listing .image-wrapper {
  position: relative;
  display: block;
  height: 0;
  width: 100%;
  padding-bottom: 100%;
}

.listing .image-wrapper img {
  position: absolute;
  top: 0;
  left: 0;
  transform: scale(1);
  height: 100%;
  width: 100%;
}

.listing .image-wrapper:hover img {
  transform: scale(1.04);
}

.listing .city-restaurant {
  margin-bottom: 6px;
  text-transform: uppercase;
  font-size: var(--fontsize-sm);
  font-weight: 500;
  color: var(--text-grey);
}

.listing .title-listing {
  display: block;
  font-size: 1.2223rem;
  font-weight: 700;
}

.listing .title-listing a:hover {
  color: var(--text-green);
}

.listing .lists-restaurant-shown {
  display: flex;
  flex-flow: row wrap;
  margin-top: 10px;
  padding-left: 0;
  list-style: none;
  font-size: var(--fontsize-sm);
  line-height: 1;
  font-weight: 500;
}

.listing .lists-restaurant-shown li {
  display: flex;
  align-items: center;
  margin-top: 0;
  width: auto;
}

.listing .lists-restaurant-shown li+li {
  margin-left: 10px;
}

.listing .lists-restaurant-shown .option-pill {
  display: flex;
  align-items: center;
  background-color: #f7f7f7;
  border-radius: 20px;
  padding: 6px 12px;
  font-size: var(--fontsize-sm);
  font-weight: 500;
  color: #222222;
  transition: all 0.2s ease;
}

.listing .lists-restaurant-shown .option-pill .number-shown {
  font-weight: 700;
  margin-right: 6px;
}

.listing .lists-restaurant-shown .option-pill .name-shown {
  display: inline-block;
}

.listing .lists-restaurant-shown .option-pill.vegan {
  background-color: #ebf3dd;
  color: #3a5a40;
}

.listing .lists-restaurant-shown .option-pill.vegetarian {
  background-color: #e9f5db;
  color: #588157;
}

.listing .lists-restaurant-shown .option-pill.other {
  background-color: #f8f9fa;
  color: #6c757d;
}

.listing .lists-restaurant-shown .fully-vegan-pill {
  display: flex;
  align-items: center;
  background-color: #ebf3dd;
  border-radius: 20px;
  padding: 6px 12px;
  font-size: var(--fontsize-sm);
  font-weight: 500;
  color: #3a5a40;
}

.listing .review-restaurant {
  display: flex;
  align-items: center;
  font-size: var(--fontsize-sm);
  font-weight: 500;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
}

.listing .review-restaurant .number-review {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  margin-right: 6px;
  background-color: var(--bg-green);
  height: 28px;
  width: 28px;
  padding-bottom: 4px;
  color: var(--text-white);
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
}

.listing .info-restaurant {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  margin-top: 10px;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  width: 100%;
}

.listing .info-restaurant .cta-menu-restarant {
  padding-left: 20px;
  font-size: var(--fontsize-sm);
  color: var(--text-green);
}

.listing .spacer-dot {
  display: inline-block;
  margin: 0 6px;
}

.listing .review-restaurant {
  font-size: var(--fontsize-sm);
  color: var(--text-grey);
}

.listing .type-restaurant {
  margin-top: 10px;
  font-size: var(--fontsize-sm);
  font-weight: 500;
  color: var(--text-grey);
}

.listing .clock-restaurant {
  position: relative;
  /*display: -webkit-box;*/
  /*display: -webkit-flex;*/
  /*display: -moz-box;*/
  /*display: -ms-flexbox;*/
  /*display: flex;*/
  align-items: center;
  line-height: 1;
  font-weight: 500;
  color: var(--text-grey);
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
}

.listing .tooltip-clock {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--border-green);
  border-radius: 50%;
  margin-top: 2px;
  margin-left: 8px;
  height: 14px;
  width: 14px;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
}

.label-clock {
  cursor: pointer;
}

.label-clock i {
  font-size: var(--fontsize-sm);
  color: var(--text-green);
}

.tooltip-opening-hours {
  position: absolute;
  width: 320px;
  background: white;
  border-radius: 12px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
  padding: 20px;
  z-index: 99;
  margin-top: 16px;
  right: 0;
  border: 1px solid rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  display: none;
}

.tooltip-opening-hours.display-show-tooltip {
  display: block;
}

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

.tooltip-header h3 {
  font-size: 18px;
  font-weight: 600;
  color: #222222;
  margin: 0;
}

.tooltip-close {
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  color: #717171;
  display: flex;
  align-items: center;
  justify-content: center;
}

.close-info {
  display: flex;
  padding: 8px;
  border-radius: 50%;
  transition: all 0.2s ease;
}

.close-info:hover {
  background-color: #f7f7f7;
}

.opening-hours-list {
  display: flex;
  flex-direction: column;
}

.opening-hours-item {
  display: flex;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid #eeeeee;
}

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

.day-label {
  font-weight: 500;
  color: #222222;
  min-width: 40px;
  margin-right: 16px;
}

.hours {
  color: #717171;
  text-align: right;
}

.listing .lists-restaurant-shown li+li {
  margin-left: 6px;
}

.listing .user-photo-reviews {
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
  -webkit-box-align: stretch;
  -moz-box-align: stretch;
  -ms-flex-align: stretch;
}

.listing .user-photo-reviews .photo-review {
  width: 180px;
  margin-top: 6px;
}

.listing .user-photo-reviews .photo-review:not(:last-child) {
  margin-right: 6px;
}

.listing .user-photo-reviews .image-wrapper {
  padding-bottom: 72%;
}

.listing .user-photo-reviews img {
  border-radius: 6px;
}

.listing.listing-info-restaurant {
  align-items: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  overflow: initial;
}

.listing.listing-info-restaurant .type-restaurant,
.listing.listing-info-restaurant .lists-restaurant-shown {
  margin-top: 0;
}

.listing.listing-info-restaurant .cta-menu-restarant {
  margin-left: 14px;
  padding-left: 20px;
  color: var(--text-green);
  text-decoration: underline;
}

.listing.listing-info-restaurant .cta-menu-restarant::before {
  display: none;
}

.listing.listing-info-restaurant .clock-restaurant,
.listing.listing-info-restaurant .cta-menu-restarant {
  font-size: var(--fontsize-sm);
}

.listing-list .listing-item {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  border: var(--border);
  border-radius: 6px;
  width: 100%;
  padding: 20px;
  transition: var(--transition);
  -webkit-box-align: start;
  -moz-box-align: start;
  -ms-flex-align: start;
}

.listing-list .listing-item:hover {
  border-color: var(--border-green);
}

.listing-list .listing-item:not(:last-child) {
  margin-bottom: 20px;
}

.listing-list .thumbnail-listing {
  border-radius: 4px;
  width: 160px;
}

.listing-list .content-listing {
  position: relative;
  width: calc(100% - 180px);
  padding-left: 20px;
}

.listing-list .lists-restaurant-shown {
  margin-top: 12px;
}

.listing-list .lists-restaurant-shown .number-shown {
  padding-right: 0;
  padding-left: 0;
}

.listing-list .lists-restaurant-shown .number-shown:before {
  display: none;
}

.listing-list .label-review .rating-review {
  font-weight: 700;
}

.listing-list .info-restaurant .cta-menu-restarant {
  margin-top: 24px;
  padding-left: 26px;
  font-size: var(--fontsize-md);
}

.listing-list .cta-menu-restarant i {
  font-size: var(--fontsize-md);
}

.listing-list .city-restaurant {
  margin-top: 12px;
  text-transform: none;
}

.listing-list .review-detail {
  margin-top: 16px;
  font-weight: 500;
  width: 100%;
}

.listing-list .review-detail .review-desc {
  margin-bottom: 14px;
}

.listing-list .review-detail .review-meal {
  color: #B3B3B3;
}

.listing-list .review-detail p+p {
  margin-top: 0;
}

.listing-list .review-summary {
  margin-bottom: 16px;
}

.listing-list .review-summary .item-summary:not(:last-child) {
  margin-bottom: 6px;
}

.listing-list .review-summary .item-summary {
  position: relative;
  padding-left: 24px;
}

.listing-list .item-summary i {
  position: absolute;
  top: 4px;
  left: 0;
}

.listing-list .pros-summary i {
  color: var(--text-green);
}

.listing-list .cons-summary i {
  color: var(--text-brown);
}

.listing-list.listing-userhistory-review .listing-item {
  border-radius: 0;
  padding: 0;
  border-color: var(--transparent);
}

.listing-list.listing-userhistory-review .listing-item:not(:last-child) {
  margin-bottom: 30px;
}

.listing-list.listing-userhistory-review .thumbnail-listing {
  width: 240px;
  padding-right: 20px;
}

.listing-list.listing-userhistory-review .info-user {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  width: calc(100% - 35px);
  padding-left: 10px;
  font-size: var(--fontsize);
  font-weight: 500;
  color: var(--text-grey);
  -webkit-box-align: start;
  -moz-box-align: start;
  -ms-flex-align: start;
}

.listing-list.listing-userhistory-review .info-user .name-user {
  color: var(--text-black);
}

.listing-list.listing-userhistory-review .info-user span,
.listing-list.listing-userhistory-review .info-user strong {
  display: block;
  width: 100%;
  line-height: 1.2;
}

.listing-list.listing-userhistory-review .avatar-user {
  position: relative;
  border: 1px solid var(--border-green-400);
  border-radius: 50%;
  width: 35px;
  overflow: hidden;
  padding: 2px;
}

.listing-list.listing-userhistory-review .avatar-user .image-wrapper {
  position: relative;
  height: 0;
  width: 100%;
  padding-bottom: 100%;
}

.listing-list.listing-userhistory-review .avatar-user img {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 50%;
  height: 100%;
  width: 100%;
}

.listing-list.listing-userhistory-review .image-wrapper:hover img {
  transform: scale(1);
}

.listing-list.listing-userhistory-review .content-listing {
  display: flex;
  flex-flow: row wrap;
  border-bottom: 1px solid var(--border-grey-600);
  width: calc(100% - 240px);
  padding-bottom: 26px;
  padding-left: 0;
}

.listing-list.listing-userhistory-review .info-restaurant {
  margin-top: 0;
}

.listing-list.listing-userhistory-review .review-restaurant .number-review {
  margin-right: 12px;
  height: 34px;
  padding: 8px 10px;
  width: initial;
  font-size: var(--fontsize-md2);
}

.listing-list.listing-userhistory-review .review-restaurant .label-review {
  font-size: var(--fontsize);
  font-weight: 500;
  color: var(--text-grey);
  border-bottom: 0;
}

.listing-list.listing-userhistory-review .label-review .rating-review {
  color: var(--text-black);
}

.listing-list.listing-userhistory-review .label-review strong {
  margin: 0 6px;
}

.listing-list-max .listing-item {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  transition: var(--transition);
}

.listing-list-max .listing-item.listing-item--hide {
  visibility: hidden !important;
  opacity: 0 !important;
  transform: translateY(20%);
  border: none !important;
  margin: 0 !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden;
  padding: 0 !important;
}

.listing-list-max .action-listing-max {
  display: block;
  margin-top: 20px;
  width: 100%;
  text-align: center;
}

.listing-list-max .cta-showlisting {
  font-size: var(--fontsize-md);
  color: var(--text-green);
}

.listing-list-max.listing-userhistory-review .action-listing-max {
  margin-top: 0;
  margin-left: auto;
  width: calc(100% - 240px);
  text-align: left;
}

.popup.popup-menu {
  align-items: flex-start;
  padding-top: 60px;
  -webkit-box-align: start;
  -moz-box-align: start;
  -ms-flex-align: start;
}

.pdfviewer-wrapper.menu-restaurant-wrapper .viewport-container {
  height: 74vh;
}

.pdfviewer-wrapper {
  height: 80vh;
  overflow: hidden;
}

.menu-restaurant-wrapper .viewport-container canvas {
  transform: scale(1);
}

.restaurant-photos {
  position: relative;
  display: flex;
  margin: 24px 0 32px;
  width: 100%;
}

/*.restaurant-photos button.cta-addphoto {*/

/*	position: absolute;*/

/*	bottom: 24px;*/

/*	right: 24px;*/

/*	padding-right: 52px;*/

/*	padding-left: 72px;*/

/*	font-size: var(--fontsize-sm);*/

/*}*/

/* Airbnb-stijl knop voor "Bekijk alle foto's" */

button.cta-addphoto {
  position: absolute;
  bottom: 24px;
  right: 24px;
  padding: 10px 16px;
  font-size: 14px;
  font-weight: 500;
  border-radius: 8px;
  background-color: white;
  color: #222222;
  border: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  cursor: pointer;
  line-height: 1.2;
}

/* Icoon toevoegen */

button.cta-addphoto::before {
  content: '';
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23222222' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'%3E%3C/circle%3E%3Cpolyline points='21 15 16 10 5 21'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  height: 18px;
  width: 18px;
  margin-right: 8px;
  display: inline-block;
}

/* Hover effect */

button.cta-addphoto:hover {
  transform: scale(1.02);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

/* Active effect bij drukken */

button.cta-addphoto:active {
  transform: scale(0.98);
}

/* Focus styling voor toegankelijkheid */

button.cta-addphoto:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1), 0 4px 12px rgba(0, 0, 0, 0.2);
}

.restaurant-gallery {
  position: relative;
  border-radius: 10px;
  width: 100%;
  overflow: hidden;
}

.restaurant-gallery .gallery-wrapper {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  margin: 0 -5px -10px;
  padding-left: 50%;
  -webkit-box-align: start;
  -moz-box-align: start;
  -ms-flex-align: start;
}

.restaurant-gallery .restaurant-image {
  position: relative;
  display: flex;
  width: 50%;
  padding: 0 5px 10px;
}

.restaurant-gallery.restaurant-gallery-1\/2 .restaurant-image:not(:first-child) {
  width: 100%;
}

.restaurant-gallery .restaurant-image.restaurant-image--75 {
  width: 75%;
}

.restaurant-image .image-wrapper {
  position: relative;
  height: 0;
  width: 100%;
  padding-bottom: 80%;
}

.restaurant-image .image-wrapper img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.restaurant-gallery .restaurant-image:first-child {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 50%;
  padding-right: 10px;
}

.restaurant-gallery .restaurant-image:first-child .image-wrapper {
  height: 100%;
  padding: 0;
}

.restaurant-gallery.restaurant-gallery-3\/4 .gallery-wrapper {
  padding-left: 75%;
}

.restaurant-gallery.restaurant-gallery-3\/4 .restaurant-image {
  width: 100%;
}

.restaurant-gallery.restaurant-gallery-3\/4 .restaurant-image:first-child {
  width: 75%;
}

.nav-section {
  position: sticky;
  top: 80px;
  z-index: 9;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: var(--bg-white);
  width: 100%;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -ms-flex-pack: justify;
}

.nav-section::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  z-index: 1;
  background-color: var(--bg-grey-600);
  height: 2px;
  width: 100%;
}

.nav-section:before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -1;
  transform: translateX(-50%);
  background-color: var(--bg-white);
  height: 100%;
  width: 100vw;
}

.nav-wrapper, .foodmenu-nav-wrapper {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  width: auto;
  overflow: auto;
  padding-left: 0;
  list-style: none;
  white-space: nowrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
}

.nav-wrapper::-webkit-scrollbar {
  display: none;
}

.nav-wrapper li, .foodmenu-nav-wrapper li {
  margin: 0;
  width: auto;
}

.foodmenu-nav-wrapper li {
  margin-right: 10px;
}

.nav-wrapper li:first-child a, .foodmenu-nav-wrapper li:first-child a {
  padding-left: 0;
}

.nav-section .label-nav-mobile {
  display: none;
}

.nav-wrapper a, .foodmenu-nav-wrapper a {
  position: relative;
  display: flex;
  overflow: hidden;
  padding: 12px 20px;
  font-size: var(--fontsize-md);
  font-weight: 500;
  color: var(--text-grey);
}

.nav-wrapper a::after {
  --duration: .5s;
  content: '';
  position: absolute;
  bottom: 0;
  left: auto;
  right: 0;
  background-color: var(--bg-green);
  height: 2px;
  width: 0;
  transition: .3s;
}

.foodmenu-nav-wrapper a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: auto;
  right: 0;
  background-color: var(--bg-green);
  height: 2px;
  width: 0;
}

.nav-wrapper a:hover, foodmenu-nav-wrapper a:hover,
.nav-wrapper a.anchor-active, .foodmenu-nav-wrapper a.anchor-active {
  color: var(--text-green);
}

.nav-wrapper a:hover::after, .foodmenu-nav-wrapper a:hover::after,
.nav-wrapper a.anchor-active::after, .foodmenu-nav-wrapper a.anchor-active::after  {
  left: 0;
  width: 100%;
}

.cta-write-review {
  text-decoration: underline;
  font-size: var(--fontsize-md);
  font-weight: 500;
  color: var(--text-green);
}

.section-content {
  position: relative;
  padding: 34px 20px;
}

.section-content::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  background-color: var(--bg-grey-200);
  height: 1px;
  width: 100%;
}

.section-content+.section-content::after {
  opacity: 1;
}

.header-section-content-r {
  margin-bottom: 8px !important;
}

.title-section-content {
  margin-bottom: 0;
  font-size: var(--fontsize-md2);
}

.title-section-content .subtitle-section {
  display: block;
  font-size: var(--fontsize);
  font-weight: 400;
}

.section-over-restaurant .entry-section-content {
  font-size: var(--fontsize-md);
  font-weight: 500;
}

.section-over-restaurant .table-col .head-col {
  width: 40%;
}

.section-over-restaurant .table-col .body-col {
  width: 60%;
}

.section-menu-restaurant .header-section-content {
  display: flex;
  align-items: center;
  margin-bottom: 14px;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
}

.section-menu-restaurant .header-section-content .spacer-dot {
  margin: 0 6px;
}

.section-menu-restaurant .header-section-content .cta-menu-restarant {
  padding-top: 2px;
  font-size: var(--fontsize-sm);
  color: var(--text-green);
}

.block-menu-restaurant .title-menu {
  font-size: var(--fontsize-md);
  color: var(--text-black);
}

.block-menu-restaurant {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  font-weight: 500;
  color: var(--text-grey);
  -webkit-box-align: start;
  -moz-box-align: start;
  -ms-flex-align: start;
}

.block-menu-restaurant .item-menu-restaurant {
  width: 50%;
}

.block-menu-restaurant .title-menu strong {
  font-size: var(--fontsize-md2);
}

.detail-item-menu {
  margin-top: 20px;
  padding-left: 0;
  list-style: none;
}

.detail-item-menu .title-detail-menu {
  display: block;
  width: 100%;
  font-weight: 600;
  color: var(--text-black);
}

.detail-item-menu li {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  padding-left: 42px;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  padding-right: 100px;
}

.detail-item-menu .icon-detail-menu {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%) scale(-1, 1);
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px solid var(--border-green);
  border-radius: 50%;
  height: 30px;
  width: 30px;
  font-size: var(--fontsize-sm);
  color: var(--text-green);
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
}

.detail-item-menu.detail-item-menu--vegan .icon-detail-menu {
  transform: translateY(-50%);
}

.detail-item-menu.detail-item-menu--vegan .icon-detail-menu::before {
  content: "\f299";
  position: absolute;
  top: 6px;
  left: 4px;
}

.detail-item-menu.detail-item-menu--vegan .icon-detail-menu:after {
  content: "\f299";
  position: absolute;
  top: 10px;
  left: 12px;
  transform: scale(-1, 1);
  font-size: var(--fontsize-xs);
}

.files-menu-restaurant {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  margin-top: 40px;
  -webkit-box-align: start;
  -moz-box-align: start;
  -ms-flex-align: start;
}

.files-menu-restaurant .item-file-menu {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: auto;
  -webkit-box-align: start;
  -moz-box-align: start;
  -ms-flex-align: start;
}

.files-menu-restaurant .item-file-menu:not(:last-child) {
  margin-right: 40px;
}

.files-menu-restaurant .thumbnail-menu {
  display: flex;
  border: none; /* Verwijder de harde rand */
  border-radius: 12px; /* Afgeronde hoeken in Airbnb-stijl */
  margin-bottom: 24px;
  max-width: 170px;
  height: 200px;
  cursor: pointer;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08); /* Zachtere schaduw */
  overflow: hidden; /* Houdt afbeeldingen binnen de afgeronde hoeken */
  transition: transform 0.2s, box-shadow 0.2s; /* Soepele hover-effecten */
}

.files-menu-restaurant .thumbnail-menu:hover {
  transform: translateY(-4px); /* Licht zwevend effect bij hover */
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12); /* Diepere schaduw bij hover */
}

.files-menu-restaurant .cta-menu-restaurant {
  font-size: var(--fontsize-md);
  font-weight: 500;
  color: var(--text-green);
  text-align: left;
}

.files-menu-restaurant .cta-menu-restaurant .last-update-menu {
  display: block;
}

.files-menu-restaurant .last-update-menu {
  display: block;
  width: 100%;
  font-size: var(--fontsize);
  font-weight: 500;
  color: var(--text-grey);
}

.section-review-restaurant .header-section-content {
  margin-bottom: 30px;
}

.section-review-restaurant .header-section-content .title-section-content {
  margin-bottom: 14px;
}

.section-review-restaurant .cta-write-review {
  display: block;
  margin-top: 10px;
  font-size: var(--fontsize-sm);
}

.header-section-content .review-restaurant {
  display: flex;
  align-items: flex-start;
  -webkit-box-align: start;
  -moz-box-align: start;
  -ms-flex-align: start;
}

.header-section-content .review-restaurant .number-review {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  background-color: var(--bg-green);
  height: 44px;
  width: 44px;
  padding-bottom: 6px;
  font-size: var(--fontsize-md2);
  font-weight: 500;
  color: var(--text-white);
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
}

.header-section-content .review-restaurant .rating-review {
  display: block;
  font-weight: 700;
}

.header-section-content .review-restaurant .label-review {
  margin-left: 10px;
  color: var(--text-black);
  border-bottom: none;
}

.table-col.table-col--information-restaurant {
  width: 600px;
  font-weight: 500;
}

.table-col.table-col--information-restaurant li.heading {
  margin-top: 20px;
}

.table-col.table-col--information-restaurant a {
  color: var(--text-black);
}

.table-col.table-col--information-restaurant a:hover {
  color: var(--text-green);
}

.table-col.table-col--information-restaurant .head-col {
  width: 35%;
}

.table-col.table-col--information-restaurant .body-col {
  width: 65%;
}

.table-col.table-col--schedule-restaurant {
  width: 170px;
}

.table-col.table-col--schedule-restaurant .head-col {
  color: var(--text-black);
}

/*.section-content.section-location-restaurant {*/

/*    padding-bottom: 110px;*/

/*}*/

.section-location-restaurant .entry-section-content {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: flex-start;
  -webkit-box-align: start;
  -moz-box-align: start;
  -ms-flex-align: start;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -ms-flex-pack: justify;
}

/* JAAP NEW */

.iframe-maps-restaurant {
  border: 1px solid var(--border-grey-600);
  height: 300px;
  width: 400px;
}

.share-save-section {
  margin-left: 15px;
}

.discovered-by {
  margin-top: auto;
  margin-left: auto;
  display: flex;
  align-items: center;
}

/* Diet options styling */

.combined-diet-options {
  display: flex;
  align-items: center;
  border-radius: 20px;
  padding: 8px 15px;
  border: 1px #eee solid;
  margin-top: 10px;
  font-size: var(--fontsize-sm);
  line-height: 1;
  font-weight: 500;
}

.diet-option {
  display: flex;
  align-items: center;
  padding: 4px 5px;
}

.diet-option .number-shown {
  font-weight: 700;
  margin-right: 6px;
}

.diet-option.vegan {
  color: #3a5a40;
}

.diet-option.vegetarian {
  color: #588157;
}

.diet-option.other {
  color: #6c757d;
}

.diet-option.fully-vegan {
  color: #3a5a40;
  font-weight: 600;
}

/* Menu pill button styling */

.menu-pill-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #6A994E; /* #7AB557; */
  color: white;
  border: none;
  border-radius: 20px;
  padding: 8px 16px;
  font-size: var(--fontsize-sm);
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}

.menu-pill-button:hover {
  background-color: #5a8a2f;
}

.menu-pill-button i {
  margin-right: 6px;
  font-size: var(--fontsize-sm);
}

.pill-video {
  background-color: #fdbf21;
  color: #3e2800;
}

.pill-video:hover {
  background-color: #E6A817;
}

.show-mobile {
  visibility: hidden;
  opacity: 0;
  display: none;
}

.diet-options-desktop {
  width: auto;
  margin-left: 10px;
  margin-right: auto;
}

/* Review styling */

.review-restaurant .label-review {
  color: #6a994e;
  border-bottom: 1px #6a994e63 solid;
}

.review-restaurant .review-grade {
  font-weight: 500;
}

.review-restaurant .review-grade i {
  margin-right: 2px;
}

.share-write-restaurant {
  margin: 15px 0 0 0;
  display: inline-block;
  color: var(--text-green);
  font-size: var(--fontsize-sm);
  text-decoration: underline;
  font-weight: 500;
}

.discovered-by .discovered-text {
  align-items: flex-start;
  color: var(--text-grey);
  display: flex;
  flex-flow: row wrap;
  font-size: var(--fontsize-sm);
  margin-right: 10px;
}

.discovered-by .thumbnail {
  display: flex;
  align-items: center;
}

.discovered-by .avatar-user {
  border: 1px solid var(--border-green-400);
  border-radius: 50%;
  overflow: hidden;
  padding: 2px;
  position: relative;
  width: 35px;
}

.discovered-by .image-wrapper {
  height: 0;
  padding-bottom: 100%;
  position: relative;
  width: 100%;
}

.discovered-by .avatar-user img {
  border-radius: 50%;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.discovered-by .info-user {
  align-items: flex-start;
  color: var(--text-grey);
  display: flex;
  flex-flow: row wrap;
  font-size: var(--fontsize);
  font-weight: 500;
  padding-left: 10px;
  width: calc(100% - 35px);
}

.discovered-by .info-user a {
  font-size: var(--fontsize-sm);
}

.type-restaurant i {
  margin-right: 4px;
}

.clock-restaurant i {
  margin-right: 4px;
}

.discovered-by .name-user {
  display: block;
  line-height: 1.2;
  width: 100%;
}

.discovered-by .name-shown {
  display: block;
  line-height: 1.2;
  width: 100%;
}

.name-shown-mob {
  margin-top: 10px;
  font-size: var(--fontsize-sm);
  justify-content: center;
  display: none;
}

.name-shown-mob a {
  font-size: var(--fontsize-sm);
}

.name-shown-mob .name-user {
  line-height: 1.2;
  width: 100%;
  color: #292929;
}

.name-shown-mob .user-shown {
  line-height: 1.2;
  width: 100%;
}

.photo-credits {
  width: 100%;
  text-align: right;
}

.image-and-name {
  display: flex;
  align-items: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
}

.about-review-favorites {
  padding: 10px 0;
  color: var(--text-grey);
  font-size: var(--fontsize-sm);
}

.description-restaurant {
  width: 60%;
}

.description-restaurant-info {
  width: 40%;
  margin-left: 60px;
}

.restaurant-admin a {
  font-weight: 500;
  color: var(--text-green);
}

.reservation-widget {
  position: fixed;
  right: 0;
  bottom: 0;
  width: calc(310px + (15px * 2));
  height: calc(30px + (15px * 2));
  display: block !important;
  z-index: 99999999;
  max-height: 100%;
  max-width: 100%;
}

.reservation-widget a {
  background: #000;
  color: #fff;
  box-shadow: 5px 5px 15px rgba(0,0,0,.1), -2px -2px 10px rgba(0,0,0,.05);
  border-radius: 5px;
  padding: 8px;
  width: 320px;
  display: block;
  text-align: center;
  letter-spacing: 1px;
  font-weight: 500;
}

.content-container {
  position: relative;
  max-height: 10em;
  overflow: hidden;
  border-bottom: 1px #eee solid;
  padding-bottom: 40px;
}

.fade-effect {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 10em;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
  pointer-events: none;
}

a.read-more-btn {
  position: absolute;
  left: 50%;
  bottom: 10px;
  transform: translateX(-50%);
  cursor: pointer;
  color: #222222;
  padding: 12px 20px;
  border-radius: 24px;
  border: 1px solid #dddddd;
  background: white;
  font-weight: 500;
  font-size: var(--fontsize-sm);
  transition: all 0.2s ease;
  box-shadow: 0 1px 2px rgba(0,0,0,0.08);
  text-align: center;
}

a.read-more-btn:hover {
  border-color: #bbbbbb;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

a.read-more-btn i {
  margin-right: 8px;
}

.claimed-restaurant {
  display: flex;
  align-items: center;
  margin-left: 5px;
  font-size: var(--fontsize-sm);
  color: var(--text-green-400);
}

.verified-badge {
  display: flex;
  align-items: center;
  justify-content: center;
}

.verified-badge i {
  color: #7cb342;
  font-size: 18px;
}

/* Mobile-specific styles */

.mobile-pills-container,
.mobile-review-section,
.mobile-type-price,
.mobile-opening-hours,
.mobile-button-container,
.mobile-action-row,
.mobile-pills-container.listing{
  display: none;
}

.mobile-full-width {
  width: 100%;
  margin-bottom: 10px;
}

.mobile-half-width {
  width: calc(50% - 5px);
}

.mobile-action-row {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

/* Make sure the video button styling works correctly on mobile */

.mobile-button-container .pill-video {
  display: flex;
  justify-content: center;
  background-color: #fdbf21;
  color: #3e2800;
  text-decoration: none;
}

.mobile-button-container .pill-video a {
  color: #3e2800;
  text-decoration: none;
  width: 100%;
  text-align: center;
  font-weight: 500;
}

/* High specificity selector to override the global button style */

body .swal2-container .swal2-popup .swal2-actions button.swal-custom-confirm {
  background-color: #689F38 !important;
  color: white !important;
  border: none !important;
  border-radius: 20px !important;
  padding: 10px 24px !important;
  font-weight: 500 !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
}

body .swal2-container .swal2-popup .swal2-actions button.swal-custom-cancel {
  background-color: #6c757d !important;
  color: white !important;
  border: none !important;
  border-radius: 20px !important;
  padding: 10px 24px !important;
  font-weight: 500 !important;
}

/* Style the overall popup */

.swal2-popup {
  font-family: inherit;
  border-radius: 8px !important;
}

/* Ensure text is properly styled */

.swal2-title {
  color: #333 !important;
}

.swal2-html-container {
  color: #555 !important;
}

/* Voor kleine schermen (mobiel), alleen badge tonen */

@media all and (max-width: 900px) {
  .claimed-restaurant {
    display: flex;
    margin-left: 12px;
  }

  .verified-text {
    display: none;
  }

  .verified-badge {
    margin-right: 0;
  }
}

@media all and (max-width: 1599px) {
  .popup.popup-menu {
    padding-top: 20px;
  }
}

@media all and (max-width: 1199px) {
  .section-content::after {
    left: -20px;
    width: calc(100% + 40px);
  }

  .popup.popup-menu {
    padding: 6px;
  }

  .popup-menu .popup-wrapper {
    padding: 36px 6px 6px;
  }
}

@media all and (max-width: 900px) {
  .mobile-pills-container.listing{
    display: flex;
  }

  .claimed-restaurant {
    display: none;
  }

  .single-restaurant .title-entry.airbnb-style {
    flex-direction: column;
    align-items: flex-start;
    padding-right: 0;
  }

  .action-buttons {
    margin-top: 12px;
    width: 100%;
  }

  .action-button-group {
    width: 100%;
    justify-content: flex-end;
  }

  .action-button {
    padding: 6px 12px;
  }

  .listing.listing-info-restaurant>*:not(:first-child):before {
    display: none;
  }

  .listing.listing-info-restaurant .lists-restaurant-shown,
	.listing.listing-info-restaurant .type-restaurant,
	.listing.listing-info-restaurant .clock-restaurant {
    width: 100%;
  }

  .listing.listing-info-restaurant .lists-restaurant-shown {
    order: 1;
    margin-bottom: 10px;
    -webkit-box-ordinal-group: 2;
    -moz-box-ordinal-group: 2;
    -ms-flex-order: 1;
  }

  .listing.listing-info-restaurant .review-restaurant {
    order: 2;
    margin-bottom: 6px;
    -webkit-box-ordinal-group: 3;
    -moz-box-ordinal-group: 3;
    -ms-flex-order: 2;
  }

  .listing.listing-info-restaurant .review-restaurant::after {
    content: '·';
    margin-left: 6px;
  }

  .listing.listing-info-restaurant .cta-menu-restarant {
    order: 3;
    margin-bottom: 6px;
    margin-left: 6px;
    -webkit-box-ordinal-group: 4;
    -moz-box-ordinal-group: 4;
    -ms-flex-order: 3;
  }

  .listing.listing-info-restaurant .type-restaurant {
    order: 4;
    margin-bottom: 6px;
    -webkit-box-ordinal-group: 5;
    -moz-box-ordinal-group: 5;
    -ms-flex-order: 4;
  }

  .listing.listing-info-restaurant .clock-restaurant {
    order: 5;
    -webkit-box-ordinal-group: 6;
    -moz-box-ordinal-group: 6;
    -ms-flex-order: 5;
  }

  .nav-section .cta-write-review {
    display: none;
  }

  .restaurant-gallery {
    border-radius: 0;
    margin-right: -20px;
    margin-left: -20px;
    width: calc(100% + 40px);
  }

  .restaurant-gallery.restaurant-gallery .gallery-wrapper {
    flex-wrap: nowrap;
    overflow: auto;
    padding-right: 20px;
    padding-left: 20px;
    white-space: nowrap;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 20px;
  }

  .restaurant-gallery.restaurant-gallery .restaurant-image {
    scroll-snap-align: start;
  }

  .restaurant-gallery.restaurant-gallery .restaurant-image:first-child {
    position: static;
    padding-right: 5px;
  }

  .restaurant-gallery.restaurant-gallery .restaurant-image:first-child .image-wrapper {
    height: 0;
    padding-bottom: 80%;
  }

  .restaurant-gallery.restaurant-gallery .restaurant-image:first-child,
	.restaurant-gallery.restaurant-gallery .restaurant-image {
    min-width: 76vw;
    width: 76vw;
  }

  .restaurant-photos button.cta-addphoto {
    display: none;
  }

  .block-menu-restaurant .item-menu-restaurant {
    margin-bottom: 24px;
    width: 100%;
  }

  .block-menu-restaurant .item-menu-restaurant:after {
    content: '';
    display: block;
    margin: 20px auto 0;
    background-image: linear-gradient(to right, var(--bg-grey) 33%, rgba(255, 255, 255, 0) 0%);
    background-position: bottom;
    background-size: 3px 1px;
    background-repeat: repeat-x;
    height: 1px;
    width: calc(100% - 40px);
  }

  .files-menu-restaurant {
    margin-top: 20px;
  }

  .files-menu-restaurant .item-file-menu {
    flex-flow: row wrap;
    align-items: flex-start;
    width: 100%;
    -webkit-box-align: start;
    -moz-box-align: start;
    -ms-flex-align: start;
  }

  .files-menu-restaurant .item-file-menu:not(:last-child) {
    margin-right: 0;
    margin-bottom: 14px;
  }

  .files-menu-restaurant .content-menu {
    padding-left: 12px;
  }

  .files-menu-restaurant .thumbnail-menu {
    margin-bottom: 0;
    width: 40px;
    height: auto;
    border-radius: 2px;
    border: 1px #eee solid;
  }

  .section-review-restaurant .cta-write-review {
    display: inline-block;
    margin-top: 16px;
  }

  .listing-list.listing-userhistory-review .listing-item:after {
    content: '';
    display: block;
    background-image: linear-gradient(to right, var(--bg-grey) 33%, rgba(255, 255, 255, 0) 0%);
    background-position: bottom;
    background-size: 3px 1px;
    background-repeat: repeat-x;
    height: 1px;
    width: 100%;
  }

  .listing-list.listing-userhistory-review .thumbnail-listing,
	.listing-list.listing-userhistory-review .content-listing {
    width: 100%;
  }

  .listing-list.listing-userhistory-review .thumbnail-listing {
    margin-bottom: 12px;
    padding-right: 0;
  }

  .listing-list.listing-userhistory-review .content-listing {
    border-bottom: none;
    font-size: var(--fontsize-sm);
  }

  .listing-list.listing-userhistory-review .info-user .user-shown,
	.listing-list.listing-userhistory-review .info-user .user-info-review {
    width: auto;
  }

  .listing-list.listing-userhistory-review .review-restaurant .label-review {
    font-size: var(--fontsize-sm);
    border-bottom: 0;
  }

  .listing-list.listing-userhistory-review .info-user .user-info-review:before {
    content: '·';
    margin: 0 6px;
  }

  .listing-list.listing-userhistory-review .label-review .rating-review,
	.listing-list.listing-userhistory-review .label-review strong {
    display: none;
  }

  .listing-list.listing-userhistory-review .review-restaurant .number-review {
    /*position: absolute;*/
    /*top: -52px;*/
    /*right: 0;*/
    /*margin-right: 0;*/
  }

  .listing .user-photo-reviews .photo-review {
    width: 100px;
  }

  .listing-list-max.listing-userhistory-review .action-listing-max {
    width: 100%;
    text-align: center;
  }

  .table-col.table-col--information-restaurant {
    width: 100%;
  }

  .table-col.table-col--information-restaurant>li:first-child {
    /*position: absolute;*/
    top: 0;
    left: 0;
  }

  .table-col.table-col--information-restaurant>li:not(:last-child) {
    margin-bottom: 20px;
  }

  .table-col.table-col--information-restaurant .head-col,
	.table-col.table-col--information-restaurant .body-col {
    width: 100%;
  }

  .table-col.table-col--schedule-restaurant {
    width: 100%;
  }

  .table-col.table-col--schedule-restaurant .head-col {
    width: 42px;
  }

  .table-col.table-col--schedule-restaurant .body-col {
    width: calc(100% - 42px);
  }

  .section-location-restaurant .entry-section-content {
    margin-top: 24px;
    /*padding-top: 70px;*/
  }

  .section-location-restaurant .iframe-maps-restaurant {
    order: -1;
    margin-bottom: 20px;
    width: 100%;
    -webkit-box-ordinal-group: 0;
    -moz-box-ordinal-group: 0;
    -ms-flex-order: -1;
  }

  .nav-section {
    top: 0;
  }

  .nav-section .label-nav-desktop {
    display: none;
  }

  .nav-section .label-nav-mobile {
    display: block;
  }

  .nav-wrapper a {
    padding-right: 16px;
    padding-left: 16px;
  }

  .popup-menu .title-popup {
    font-size: var(--fontsize-md);
    text-align: center;
  }

  .pdfviewer-wrapper.menu-restaurant-wrapper .viewport-container {
    height: 60vh;
  }

  .menu-restaurant-wrapper .viewport-container canvas {
    transform: scale(1);
  }

  .detail-item-menu li {
    padding-right: 0;
  }

  .action-buttons {
    width: 100%;
    margin-top: 15px;
  }

  .action-button-group {
    width: 100%;
    justify-content: space-between;
  }

  .action-button {
    padding: 8px 12px;
    font-size: var(--fontsize-xs);
  }

  .hide-mobile {
    visibility: hidden;
    opacity: 0;
    display: none;
  }

  .show-mobile {
    visibility: visible;
    opacity: 1;
    display: block;
  }

  .description-restaurant {
    width: 100%;
  }

  /* Hide desktop elements on mobile */

  .desktop-info,
    .desktop-action-buttons {
    display: none !important;
  }

  /* Show mobile elements */

  .mobile-pills-container,
    .mobile-button-container {
    display: block;
    width: 100%;
  }

  .mobile-review-section,
    .mobile-type-price,
    .mobile-opening-hours,
    .restaurant-rating {
    display: flex;
    align-items: center;
    margin: 6px 0;
    width: 100%;
  }

  /* Set consistent icon sizing and spacing */

  .fa, .fas, .fa-star, .fa-utensils, .fa-clock {
    width: 24px; /* Fixed width for all icons */
    text-align: center;
    margin-right: 4px; /* Consistent right margin */
    font-size: 16px; /* Consistent icon size */
  }

  /* Ensure text alignment */

  .review-grade,
    .type-restaurant,
    .label-clock,
    .restaurant-rating-text {
    display: inline-block;
    /*vertical-align: middle;*/
    line-height: 1.5;
  }

  /* Fix for the first line with star rating */

  .restaurant-rating {
    display: flex;
    align-items: center;
  }

  /* Ensure consistent spacing between icons and text */

  .mobile-review-section .review-restaurant,
    .mobile-type-price .type-restaurant,
    .mobile-opening-hours .clock-restaurant {
    display: flex;
    align-items: center;
  }

  /* Remove any conflicting margins/paddings that might affect alignment */

  .mobile-review-section a,
    .mobile-type-price span,
    .mobile-opening-hours span {
    margin: 0;
    padding: 0;
  }

  .mobile-action-row {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }

  .title-entry.airbnb-style {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px; /* Consistent spacing between rows */
  }

  .title-info {
    width: 100%;
  }

  /* Hide original action buttons container on mobile */

  .action-buttons {
    display: none;
  }

  /* Adjust header spacing */

  .mobile-pills-container {
    margin-top: 10px;
  }

  /* Remove dots/separators since elements are now stacked */

  .mobile-type-price .spacer-dot:first-child {
    display: none;
  }

  .mobile-opening-hours .spacer-dot {
    display: none;
  }

  /* Full width menu and video buttons */

  .mobile-button-container .menu-button,
    .mobile-button-container .video-button {
    margin-bottom: 10px;
    display: flex;
    justify-content: center;
    width: 100%;
  }

  /* Half width share and save buttons */

  .mobile-button-container .share-button,
    .mobile-button-container .save-button {
    width: calc(50% - 5px);
    justify-content: center;
  }

  /* Update share button text to be shorter */

  .mobile-half-width {
    padding: 10px 0;
    text-align: center;
  }

  /* Button styling */

  .mobile-button-container {
    margin-top: 15px;
  }

  /* Ensure the mobile layout is clean */

  .mobile-type-price {
    margin-bottom: 5px;
  }

  .mobile-type-price .type-restaurant {
    margin-top: 0 !important;
  }

  /* Make sure buttons are properly sized */

  .mobile-button-container .menu-pill-button {
    padding: 10px 0;
    font-weight: 500;
  }

  .mobile-action-row .action-button {
    padding: 10px 0;
    margin: 0;
    font-size: var(--fontsize-sm);
  }

  /* Fix opening hours display */

  .mobile-opening-hours .clock-restaurant {
    display: flex;
    align-items: center;
    font-size: var(--fontsize-sm);
  }

  .review-restaurant .label-review {
    margin-left: 0;
  }

  /*.mobile-opening-hours .clock-restaurant i {*/

  /*    margin-right: 8px;*/

  /*}*/

  /* Simplify text on mobile buttons */

  .mobile-half-width i {
    margin-right: 5px;
  }

  /* Adjust pills display on mobile */

  .mobile-pills-container .lists-restaurant-shown {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 8px;
  }

  /* Hide the whatsapp duplicate in show-mobile if we have the buttons */

  .show-mobile .share-wa {
    display: none;
  }

  /* Discovered by section better spacing */

  .name-shown-mob {
    margin-top: 15px;
    display: flex;
  }

  .combined-diet-options {
    padding: 6px 12px;
  }

  .diet-option {
    padding: 3px 4px;
  }

  .tooltip-opening-hours {
    position: fixed;
    width: 90%;
    max-width: 350px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: 0;
    right: auto;
  }

  .clock-restaurant.spacer-dot {
    margin-left: 12px;
  }
}

@media all and (max-width: 600px) {
  html {
    scroll-padding-top: 100px;
  }

  .section-over-restaurant .table-col {
    width: 100%;
  }

  .section-location-restaurant .entry-section-content {
    /*padding-top: 100px;*/
  }

  .section-over-restaurant .entry-section-content {
    font-size: var(--fontsize);
  }

  .user-review-photo img {
    max-height: 70px;
  }

  .reservation-widget {
    width: 265px;
    height: calc(25px + (15px * 2));
  }

  .reservation-widget a {
    width: 250px;
  }

  .single-restaurant .title-entry h1 {
    font-size: 1.555rem;
  }

  .content-container {
    max-height: 15em;
  }

  .fade-effect {
    height: 15em;
  }

  a.read-more-btn {
    width: 100%;
    text-align: center;
  }

  .mobile-half-width {
    font-size: var(--fontsize-xs);
  }

  .mobile-button-container .menu-pill-button {
    font-size: var(--fontsize-sm);
  }

  .listing .lists-restaurant-shown li+li {
    margin-left: 0;
  }

  .mobile-pills-container .lists-restaurant-shown {
    gap: 5px;
  }
}

/* Extra small devices */

@media (max-width: 374px) {
  .tooltip-opening-hours {
    padding: 16px;
    width: 95%;
  }
}

