:root {
  --link: #1d4ed8; /* blue-700 */
  --link-hover: #1e40af; /* blue-800 */
  --link-visited: #6d28d9; /* violet-700 */
}
body {
  font-size: 14px;
  font-family: "Playfair Display", serif !important;
}
.nav-item {
  padding-right: 12px;
  padding-left: 12px;
}
.flag {
  max-height: 20px;
  max-width: 20px;
  margin-top: 10px;
}
.nav-link.active {
  background-color: lightgrey !important;
}

.reserve-container {
  position: relative;
}
.card-body {
  -webkit-transition: all 1s ease; /* Safari and Chrome */
  -moz-transition: all 1s ease; /* Firefox */
  -o-transition: all 1s ease; /* IE 9 */
  -ms-transition: all 1s ease; /* Opera */
  transition: all 1s ease;
}
.card-body:hover {
  -webkit-transform: scale(1.05);
  -moz-transform: scale(1.05);
  -o-transform: scale(1.05);
  -ms-transform: scale(1.05);
  transform: scale(1.05);
}

.reserve-text {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.image-reserve {
  opacity: 0.4;
  max-height: 750px;
}

.carousel-caption {
  top: 40%;
}

.img-slider {
  min-height: 320px;
}

.navMenu {
  padding-top: 75px;
  padding-bottom: 20px;
}

.card-img-top {
  height: 200px;
}

.map {
  height: 320px;
}

@media screen and (max-width: 1920px) {
  .only-mobile {
    visibility: hidden;
  }
}

@media screen and (max-width: 506px) {
  .only-mobile {
    visibility: visible;
  }
}

.footer {
  margin-bottom: 30px;
  margin-top: 30px;
  padding-top: 20px;
}
.social-icon {
  font-size: 28;
}

footer {
  position: fixed;
  bottom: 0px;
  padding-top: 20px;
}
.promotion__overlay {
  z-index: 2;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0.2;
  transform: rotate(-180deg);
  background-image: linear-gradient(-180deg, rgba(0, 0, 0, 0) 0%, #000000 100%);
}

/* Global, accessible links (not for buttons/nav tabs) */
a:not(.btn):not(.nav-link):not(.navbar-brand) {
  color: var(--link);
  text-decoration: underline;
  text-underline-offset: 0.15em;
  text-decoration-thickness: 2px;
  background-color: transparent; /* βεβαιώσου ότι δεν μένει highlight */
}
a:not(.btn):not(.nav-link):not(.navbar-brand):hover {
  color: var(--link-hover);
  text-decoration-thickness: 3px;
}
a:visited {
  color: var(--link-visited);
}
a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
  border-radius: 2px;
}

/* High-contrast navbar links on bg-light (#f8f9fa) */
.navbar-light .navbar-nav .nav-link {
  color: #212529; /* passes 4.5:1 on #f8f9fa */
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus {
  color: #0c0d0e;
}

.navbar-light .navbar-brand {
  color: #0c0d0e;
}

.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.active,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .show > .nav-link {
  color: #0c0d0e;
  font-weight: 600; /* optional: clearer state */
}

/* Keyboard focus must remain visible */
.navbar .nav-link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
  border-radius: 2px;
}
.banner-link {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 100;
  cursor: pointer;
}

.banner-image {
  height: 50px;
  cursor: pointer;
}
