/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */


/* ============================================================
   HELLENIC VIBES SMART HOTEL — MASTER STYLESHEET
   Ενοποιημένο από: Woody "combined css", Woody "mobile menu",
   Additional CSS (Customizer), Astra Child theme's style.css.

   ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ
   1. GLOBAL / SITE-WIDE (πρώην Woody "combined css")
   2. MOBILE NAVIGATION MENU (πρώην Woody "mobile menu")
   3. HEADER / FOCUS STATES / MISC ΠΡΟΣΘΗΚΕΣ (πρώην Additional CSS, μέρος 1)
   4. BOOKING BAR — STICKY (πρώην Additional CSS, μέρος 2)
   5. FLOATING BUBBLES — WhatsApp & RateParity (ενοποιημένο από 3 σημεία)
   6. THEME EXTRAS — δωμάτια/σουίτες, εστιατόριο, popups, footer (πρώην Astra Child style.css, κύριο σώμα)
   
   ΣΗΜΕΙΩΣΗ: Αυτό είναι μια ΠΙΣΤΗ ενοποίηση όλου του υπάρχοντος
   ενεργού CSS σε ένα αρχείο — δεν έχει ξαναγραφτεί/βελτιστοποιηθεί
   κανόνας-κανόνας. Η ενότητα 6 παραμένει μεγάλη "μικτή" ενότητα
   (δωμάτια, εστιατόριο, popups, footer κ.λπ. όλα μαζί) — αν θες
   να σπάσει περαιτέρω σε μικρότερες υπο-ενότητες, πες μου και το
   κάνουμε σε επόμενο πέρασμα.
   ============================================================ */

/* ============================================================
   1. GLOBAL / SITE-WIDE  (πρώην Woody snippet "combined css")
   ============================================================ */

/* ============================================================
   HELLENIC VIBES — ΚΥΡΙΟ SNIPPET (χωρίς booking form)
   Το CSS της φόρμας αναζήτησης & του datepicker μεταφέρθηκε
   στο ξεχωριστό snippet "HELLENIC VIBES — BOOKING FORM".
   ============================================================ */
@font-face{font-family:'Century Gothic';src:url('/wp-content/uploads/2024/10/CenturyGothic.woff2') format('woff2'),url('/wp-content/uploads/2024/10/CenturyGothic.woff') format('woff');font-display:swap}

@media (min-width: 1024px) {
    #hotspot-30744 .hotspots-image-container, #hotspot-30744 .leaflet-container {
        background: #efefef00 !important;
        margin-top: 0 !important;
    }
}

.cNVvRq {
    position: absolute;
    bottom: 0px;
    left: 0px;
    right: 0px;
    display: none;
}

.footer-links {
  list-style: none;
  padding: 0;
}

.footer-links li {
  margin-bottom: 10px; 
}

.footer-link {
  display: inline-block;
  text-decoration: none;
  font-size: 16px;
  color: #000;
}

.footer-link:hover {
  color: #007BFF; 
}

@media (hover: none) {
  .footer-link {
    padding: 15px 20px; 
  }
}


.custom-phone-link{color:#0E597C}
.visually-hidden{
	position:absolute;
	width:1px;height:1px;
	margin:-1px;padding:0;
	border:0;
	overflow:hidden;
	clip:rect(0 0 0 0);
	white-space:nowrap;
	clip-path:inset(50%);
}
.elementor-widget-icon-box.elementor-position-top .elementor-icon-box-wrapper{
	display:block;
	flex-direction:unset;
	text-align:center;
	align-items:center;
	justify-content:center;
	background-color:#f5f5f5;
	border-radius:8px;
	text-align:center;
	height:100%;
	box-shadow:0 2px 4px rgba(0,0,0,0.1)!important;
}
@media (max-width: 767px){
	.elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-wrapper{
		display:block;
		flex-direction:unset;
		text-align:center;
		align-items:center;
		justify-content:center;
		background-color:#f5f5f5;
		border-radius:8px;
		text-align:center;
		height:100%;
		box-shadow:0 2px 4px rgba(0,0,0,0.1)!important;
	}
}
.elementor-22341 .elementor-element.elementor-element-63d6248 .elementor-heading-title,.elementor-22341 .elementor-element.elementor-element-afed25a .elementor-heading-title,.elementor-24128 .elementor-element.elementor-element-d64b838 .elementor-heading-title,.elementor-24127 .elementor-element.elementor-element-2393d0d .elementor-heading-title{
	position:relative;
	display:inline-block;
	padding-bottom:10px;
}
@media(max-width:769px){
	.elementor-22341 .elementor-element.elementor-element-63d6248 .elementor-heading-title,.elementor-22341 .elementor-element.elementor-element-afed25a .elementor-heading-title,.elementor-24128 .elementor-element.elementor-element-d64b838 .elementor-heading-title,.elementor-24127 .elementor-element.elementor-element-2393d0d .elementor-heading-title{
		position:relative;
		display:inline-block;
		padding-bottom:10px;
		text-shadow:none;
	}
}
.elementor-22341 .elementor-element.elementor-element-63d6248 .elementor-heading-title::before,.elementor-22341 .elementor-element.elementor-element-afed25a .elementor-heading-title::before,.elementor-24128 .elementor-element.elementor-element-d64b838 .elementor-heading-title::before,.elementor-24127 .elementor-element.elementor-element-2393d0d .elementor-heading-title::before{
	content:"";
	position:absolute;
	bottom:0;
	left:-20px;
	width:calc(100% + 20px);
	height:2px;
	background-color:#0E597C;
	box-shadow:0 2px 4px rgba(0,0,0,0.2);
}
@media(max-width:1024px){
	.elementor-26324 .elementor-element.elementor-element-e4f0af5::before,.elementor-26324 .elementor-element.elementor-element-1c56611::before,.elementor-26324 .elementor-element.elementor-element-3e5f67a::before,.elementor-26324 .elementor-element.elementor-element-19dceb4::before,.elementor-26324 .elementor-element.elementor-element-39dd033::before,.elementor-26324 .elementor-element.elementor-element-78aef71::before,.elementor-26324 .elementor-element.elementor-element-1b53d23::before{
		content:none;
	}
}
.book-now-btn{
	background-color:#0E597C;
	font-size:19px;
	font-weight:500;
	color:#FFF;
	border-radius:30px;
	padding:10px 20px;
	text-align:center;
	text-decoration:none;
	display:inline-block;
	transition:background-color .3s ease;
}
.book-now-btn:hover{
	background-color:#084c6a;
}
.elementor-27945 .elementor-element.elementor-element-ff169e8 .elementor-button{
	background-color:#0E597C;
	font-size:16px;
	font-weight:500;
	color:#FFF;
	border-radius:23px 23px 23px 23px;
}
li#menu-item-31643 a.hfe-sub-menu-item{
	color:#0E597C!important;
}
.elementor-1632 .elementor-element.elementor-element-74359df .elementor-button{
	background-color:#0E597C;
	font-size:19px;
	font-weight:500;
	color:#FFF;
	border-radius:30px 30px 30px 30px;
}
.elementor-1632 .elementor-element.elementor-element-9e289d6 .elementor-button{
	background-color:#0E597C;
	font-size:19px;
	font-weight:500;
	color:#FFF;
	border-radius:30px 30px 30px 30px;
}
.custom-slide-heading{
	color:#fff;
	font-size:26px;
	font-weight:700;
	text-align:left;
	margin-bottom:20px;
	transition:transform .6s ease,opacity .6s ease;
	position:relative;
	padding-left:3%;
	box-sizing:border-box;
}
@media (max-width: 768px){
	.custom-slide-heading{
		font-size:19px;padding-left:10%;
	}
}
.custom-slide-heading.hidden{
	transform:translateX(100%);
	opacity:0;
}
.custom-slide-heading.visible{
	transform:translateX(0);
	opacity:1;
}

#menu-item-22026 .sub-menu .hfe-sub-menu-item{
	color:#0E597C!important;
}
.menu-item.current-menu-item a.hfe-menu-item,.menu-item.current-menu-ancestor a.hfe-menu-item{
	color:#0e597c;
}
#menu-item-22026 .sub-menu .hfe-sub-menu-item:hover{
	color:#0E597C!important;
}
.hfe-nav-menu .sub-menu li.menu-item{
	position:relative;background:inherit;
}
.elementor-31233 .elementor-element.elementor-element-73f2997 .menu-item a.hfe-menu-item,.elementor-31233 .elementor-element.elementor-element-73f2997 .sub-menu a.hfe-sub-menu-item{
	color:#0e597c;
}
.elementor-1632 .elementor-element.elementor-element-8c0205e .menu-item a.hfe-menu-item,.elementor-1632 .elementor-element.elementor-element-8c0205e .sub-menu a.hfe-sub-menu-item{
	color:#0E597C
}
.custom-rotate{
	font-size:25px;
}
@media(max-width:480px){
	.elementor-27945 .elementor-element.elementor-element-1afcabf.e-con{
		--align-self:center;height:133px;
	}
}
@media (max-width: 767px){
	.elementor-27945 .elementor-element.elementor-element-ff169e8 .elementor-button{
		border-width:1px;
		white-space:nowrap;
	}
}




html.lenis, html.lenis body {
  height: auto;
}
.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}
.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}
.lenis.lenis-stopped {
  overflow: hidden;
}
.lenis.lenis-scrolling iframe {
  pointer-events: none;
}





/* ============================================================
   HAMBURGER → X MORPH ANIMATION
   Pure CSS, GPU-accelerated, no JS changes needed
   ============================================================ */

#hamburger-menu rect {
    transition: transform 0.3s ease, x 0.3s ease, y 0.3s ease, width 0.3s ease;
    transform-box: fill-box;
    transform-origin: center;
}

/* When menu is open (body.hv-menu-open already toggled by your existing JS) */
body.hv-menu-open #hamburger-menu rect:nth-child(1) {
    x: 3px;
    y: 18px;
    width: 30px;
    transform: rotate(45deg);
}

body.hv-menu-open #hamburger-menu rect:nth-child(2) {
    x: 3px;
    y: 18px;
    width: 30px;
    transform: rotate(-45deg);
}





/*============Contact Form===========*/
.hv-contact-form .hv-field { margin-bottom: 16px; }
.hv-contact-form label { display: block; margin-bottom: 6px; font-weight: 600; }
.hv-contact-form input, .hv-contact-form textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 16px; /* αποφεύγει iOS auto-zoom, το ξέρουμε από το booking widget */
}
.hv-submit-btn {
    background-color: #0E597A;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 14px 28px;
    font-weight: bold;
    cursor: pointer;
}
.hv-form-message.hv-success { color: #0E597A; font-weight: bold; }
.hv-form-message.hv-error { color: #B00020; font-weight: bold; }




/* ============================================================
   HELLENIC VIBES — ROOMS & SUITES: ΕΝΙΑΙΟ CAROUSEL (νέο)
   Πρόσθεσε αυτό το block στο style.css (π.χ. στην ενότητα
   "6. THEME EXTRAS"), ΔΙΠΛΑ στο παλιό .homepage-custom-slider
   CSS — δεν χρειάζεται να σβήσεις το παλιό τώρα, δεν συγκρούεται
   γιατί όλα τα νέα selectors έχουν namespace .hv-rc-*.
   Χρώματα: navy #0E597C (Room) / gold #F4BC33 (Suite) · radius 4px
   ============================================================ */

.hv-rc-wrapper {
  max-width: 1600px;
  margin: 0 auto;
  padding: 20px;
  box-sizing: border-box;
}

/* ---------------- Viewport & arrows ---------------- */

.hv-rc-viewport {
  position: relative;
}

.hv-rc-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 60px;
  height: 60px;
  padding: 0;
  border: none;
  border-radius: 4px;
  background-color: #f0f0f0;
  color: #000;
  font-size: 26px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 4px rgba(0, 0, 0, .3);
  transition: background-color .3s ease, opacity .3s ease;
}

.hv-rc-arrow:hover { background-color: var(--hv-navy, #0E597C); color: #fff; }

/* Εκτός των καρτών: το .hv-rc-track έχει δικό του padding (βλ. παρακάτω)
   ώστε η πρώτη/τελευταία κάρτα να μην κρύβεται ποτέ πίσω από το βέλος. */
.hv-rc-arrow--prev { left: -4px; }
.hv-rc-arrow--next { right: -4px; }

.hv-rc-arrow.is-disabled {
  opacity: .35;
  pointer-events: none;
}

@media (max-width: 767px) {
  .hv-rc-arrow { width: 42px; height: 42px; font-size: 18px; }
  .hv-rc-arrow--prev { left: -2px; }
  .hv-rc-arrow--next { right: -2px; }
}

/* ---------------- Track (horizontal scroll carousel) ---------------- */

.hv-rc-track {
  display: flex;
  gap: 22px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  padding: 6px 80px 20px;
  scrollbar-width: none;
}

.hv-rc-track::-webkit-scrollbar { display: none; }

@media (max-width: 767px) {
  .hv-rc-track { padding: 6px 52px 20px; gap: 14px; }
}

/* ---------------- Card ---------------- */

.hv-rc-card {
  position: relative;
  flex: 0 0 350px;
  max-width: 350px;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 4px;
  overflow: hidden;
}

@media (max-width: 480px) {
  .hv-rc-card { flex-basis: 84vw; max-width: 84vw; }
}

.hv-rc-image {
  position: relative;
  width: 100%;
  height: 440px;
  box-sizing: border-box;
  overflow: hidden;
  border-radius: 4px;
}

.hv-rc-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 4px;
  display: block;
}

@media (max-width: 767px) {
  .hv-rc-image { height: 380px; }
}

/* ---- Badge: Room / Suite ---- */

.hv-rc-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 3;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  padding: 4px 10px;
  border-radius: 4px;
  color: #fff;
}

.hv-rc-badge--room  { background: var(--hv-navy, #0E597C); }
.hv-rc-badge--suite { background: var(--hv-gold, #F4BC33); color: #1d1d1d; }

/* ---- BOOK NOW vertical ribbon (ίδιο ύφος με το παλιό) ---- */

.hv-rc-buttons {
  position: absolute;
  top: 60px;
  right: -34px;
  transform: rotate(90deg);
  z-index: 3;
}

.hv-rc-book {
  display: inline-block;
  padding: 7px 22px;
  font-size: 1em;
  color: #fff;
  font-weight: bold;
  text-decoration: none !important;
  border: 1px solid #fff;
  background-color: transparent;
  border-radius: 4px;
  letter-spacing: 2px;
  text-shadow: 1px 1px 1px #00000078;
  transition: background-color .3s ease, color .3s ease;
}

.hv-rc-book:hover { background-color: #fff; color: #0e597c; }

/* ---- Title & size (ίδια λογική με το παλιό: size εμφανίζεται στο hover) ---- */

.hv-rc-title {
  font-size: 18px;
  font-weight: bold;
  position: absolute;
  top: 80%;
  left: 16px;
  transform: translate(0, -50%);
  z-index: 2;
  color: #fff;
  text-align: left;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, .7);
  transition: top .5s ease, opacity .5s ease;
  cursor: pointer;
}

.hv-rc-size {
  font-size: 15px;
  color: #fff !important;
  font-weight: 800;
  background-color: rgba(0, 0, 0, .3) !important;
  padding: 5px 10px !important;
  border-radius: 4px !important;
  position: absolute;
  margin-top: 21%;
  left: 16px;
  opacity: 0;
  z-index: 2;
  transition: opacity .5s ease, top .5s ease;
}

.hv-rc-card:hover .hv-rc-size {
  opacity: 1;
  top: 65%;
  margin-top: 0;
}

@media (max-width: 767px) {
  .hv-rc-title { font-size: 17px; top: 76%; }
  .hv-rc-size  { font-size: 13px; }
}

/* ---------------- Lightbox (ίδιο στυλ με το υπάρχον site-wide lightbox) ---------------- */

.hv-rc-lightbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .8);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.hv-rc-lightbox-content {
  position: relative;
  background: #fff;
  padding: 20px;
  border-radius: 4px;
  max-width: 90%;
  max-height: 90%;
  text-align: center;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.hv-rc-lightbox-slider img {
  max-width: 100%;
  max-height: 70vh;
  display: none;
  object-fit: contain;
  transition: opacity .5s ease-in-out;
}

.hv-rc-lightbox-prev,
.hv-rc-lightbox-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 2rem;
  color: #fff;
  cursor: pointer;
  background: rgba(0, 0, 0, .5);
  border-radius: 4px;
  width: 50px;
  height: 50px;
  border: none;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2000;
}

.hv-rc-lightbox-prev { left: 10px; }
.hv-rc-lightbox-next { right: 10px; }

.hv-rc-lightbox-prev:hover,
.hv-rc-lightbox-next:hover { background: rgba(0, 0, 0, .8); }

.hv-rc-lightbox-description {
  margin-top: 15px;
  font-size: 1.1rem;
  color: #333;
  text-align: center;
  width: 100%;
}

.hv-rc-lightbox-close {
  position: absolute;
  top: 10px;
  right: 20px;
  font-size: 25px;
  color: #fff;
  cursor: pointer;
  background: #000;
  border-radius: 4px;
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media (max-width: 768px) {
  .hv-rc-lightbox-slider img { max-height: 47vh !important; }
}






/* ============================================================
   HELLENIC VIBES — REVIEWS SLIDER (v2, καθαρή επανεκκίνηση)
   Πλήρως αυτόνομο namespace (hv-reviews-*) — καμία σχέση με
   το παλιό .custom-reviews-wrapper / .custom-slide-item κ.λπ.
   ============================================================ */


.hv-reviews-card__response-text {
  position: relative;
  transition: max-height .35s ease;
}

@media (max-width: 767px) {
  .hv-reviews-card__response-text {
    max-height: 80px; /* ~4 γραμμές στο 13px/1.45 line-height */
    overflow: hidden;
  }

  .hv-reviews-card__response-text::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 26px;
    background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,.97));
    pointer-events: none;
    transition: opacity .2s ease;
  }

  .hv-reviews-card__response-text.is-expanded {
    max-height: 2000px;
  }

  .hv-reviews-card__response-text.is-expanded::after {
    opacity: 0;
  }
}


.hv-reviews-card__text,
.hv-reviews-card__response-text {
  overflow-wrap: break-word;
  word-break: break-word;
  direction: ltr; /* το κείμενο ρέει σωστά ό,τι γλώσσα κι αν έχει, χωρίς να "τραβά" τα όρια της κάρτας */
}


@media (max-width: 767px) {
  .hv-reviews-wrapper { overflow-x: hidden; max-width: 100vw; margin-top: 10px!important;}
}

.hv-reviews-card__text {
  margin: 0 0 8px;
  font-size: 15px;
  line-height: 1.5;
  color: #1d1d1d;
  max-height: 168px;
  overflow: hidden;
  position: relative;
  transition: max-height .35s ease;
}

.hv-reviews-card__text.is-expanded {
  max-height: 2000px; /* αρκετά μεγάλο ώστε να χωράει οποιοδήποτε κείμενο */
}

.hv-reviews-card__text::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 32px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, .97));
  pointer-events: none;
  transition: opacity .2s ease;
}

.hv-reviews-card__text.is-expanded::after {
  opacity: 0;
  pointer-events: none;
}

.hv-reviews-card__more {
  display: none; /* εμφανίζεται μόνο μέσω JS αν χρειάζεται */
  background: none;
  border: none;
  padding: 0;
  margin: 0 0 16px;
  font-size: 13px;
  font-weight: 700;
  color: var(--hv-navy, #0E597C);
  cursor: pointer;
  text-decoration: underline;
}




.hv-reviews-wrapper {
  position: relative;
  width: 100%;
  margin: 0 auto;
  overflow: visible;
  padding: 40px;
  box-sizing: border-box;
}

.hv-reviews-track {
  display: flex;
  width: 100%;
  transition: transform .6s ease-in-out;
}

.hv-reviews-slide {
  flex: 0 0 100%;
  min-width: 0;
  display: flex;
  align-items: center;
  box-sizing: border-box;
}

.hv-reviews-group {
  display: flex;
  align-items: stretch!important;
  width: 100%;
}

/* ---- Κάρτα ---- */
.hv-reviews-card {
  flex: 1 1 0;
  min-width: 0;
  background: rgba(255, 255, 255, 0.97);
  border-radius: 5px;
  padding: 20px;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.28);
  box-sizing: border-box;
  margin-left: 20px!important;	
  min-height: 480px; 
}

.hv-reviews-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

.hv-reviews-card__name {
  font-size: 15px;
  font-weight: 700;
  color: var(--hv-navy, #0E597C);
}

.hv-reviews-card__rating {
  flex: 0 0 auto;
  background: var(--hv-navy, #0E597C);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  padding: 4px 9px;
  border-radius: 4px;
}

.hv-reviews-card__text {
  margin: 0 0 16px;
  font-size: 15px;
  line-height: 1.5;
  color: #1d1d1d;
  max-height: 168px;
  overflow: hidden;
  position: relative;
}

.hv-reviews-card__text::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 32px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, .97));
  pointer-events: none;
}

/* ---- Απάντηση ξενοδοχείου ---- */
.hv-reviews-card__response {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding-top: 14px;
  border-top: 1px solid #e3e3e3;
}

.hv-reviews-card__avatar {
  flex: 0 0 auto;
  width: 28px;
  height: auto;
  object-fit: contain;
  margin-top: 1px;
}

.hv-reviews-card__response-body {
  flex: 1 1 auto;
  min-width: 0;
}

.hv-reviews-card__response-label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .3px;
  text-transform: uppercase;
  color: var(--hv-blue, #2DA7DF);
  margin-bottom: 3px;
}

.hv-reviews-card__response-text {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
  color: #4a4a4a;
}

/* ---- Βελάκια: μαζί, πάνω-δεξιά ---- */
.hv-reviews-arrow {
  position: absolute;
  top: -16px;
  width: 40px;
  height: 40px;
  padding: 5px;
  border: none;
  border-radius: 4px;
  background-color: #f0f0f0;
  color: #000;
  font-size: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 4px rgba(0, 0, 0, .3);
  transition: background-color .3s ease, transform .3s ease;
  z-index: 100;
}

.hv-reviews-arrow:hover {
  background-color: var(--hv-navy, #0E597C);
  color: #fff;
}

.hv-reviews-arrow--next { right: 40px; }
.hv-reviews-arrow--prev { right: 88px; }

/* ============================================================
   ΚΙΝΗΤΟ (≤767px)
   ============================================================ */

@media (max-width: 767px) {

  .hv-reviews-wrapper {
    width: 95%;
    padding: 20px;
  }

  .hv-reviews-group {
    gap: 0;
  }

  .hv-reviews-arrow {
    width: 34px;
    height: 34px;
    font-size: 16px;
  }

  .hv-reviews-arrow--next { right: 20px; }
  .hv-reviews-arrow--prev { right: 62px; }

}







/* .custom-reviews-wrapper / .custom-slider-container / .custom-slide-item base rules moved: a stronger !important version of these exists in the ADDITIONAL FIXES section below and was overriding this one anyway. The @media mobile overrides for these classes further down in this file are still active and unaffected. */


@media(max-width: 769px){
	.page-id-26338,.custom-justify{
		font-size:18px!important;
	}
}
.piOMz{
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	display:none;
}
.custom-heading-mobile{
	color:#0e587b;
}
.wpforms-container .wpforms-required-label,.wp-core-ui div.wpforms-container .wpforms-required-label{
	color:var(--wpforms-label-error-color);
	font-weight:400;
	display:none;
}
.swiper-button-next,.swiper-button-prev{
	position:absolute;
	top:27%;
	z-index:10;
	cursor:pointer;
	display:flex;
	align-items:center;
	justify-content:center;
	color:#fff!important;
}
.wpforms-container .wpforms-field,.wp-core-ui div.wpforms-container .wpforms-field{
	padding:5px 0!important;
	position:relative;
}
.page-id-25918 .elementor-image-box-wrapper{
	display:flex!important;
	flex-direction:column!important;
	align-items:center!important;
	background-color:#f5f5f5;
	padding:20px 10px;
	justify-content:flex-start!important;
	border-radius:8px;
	text-align:center!important;
	height:100%;
	box-shadow:0 2px 4px rgba(0,0,0,0.1);
}
.page-id-31233 .elementor-element-17a2e99 .elementor-icon-box-wrapper{
	display:flex;
	flex-direction:column!important;
	align-items:center!important;
	justify-content:flex-start!important;
	background-color:#f5f5f5;
	padding:20px;
	border-radius:8px;
	box-shadow:0 2px 4px rgba(0,0,0,0.1);
	min-height:130px;
	gap:15px;
}
.page-id-25918 .translatepress-el .elementor-element-f5b47ac .elementor-icon-box-wrapper{
	min-height:150px;
}
.page-id-25918 .elementor-element-f5b47ac .elementor-icon-box-icon{
	display:flex;
	align-items:center;
	background-color:#005580;
	color:#fff;
	width:70px;
	height:70px;
	border-radius:50%;
	font-size:28px;
}
.page-id-25918 .elementor-element-f5b47ac .elementor-icon-box-description{
	font-size:16px;
	color:#333;
	font-weight:500;
	margin:0;
	line-height:1.4;
}
.page-id-25918 .elementor-element-f5b47ac:hover .elementor-icon-box-wrapper{
	background-color:#eaeaea;
}
.page-id-25918 .elementor-element-f5b47ac:hover .elementor-icon-box-icon{
	background-color:#046;
}
.page-id-25918 .elementor-image-box-wrapper{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	background-color:#f5f5f5;
	padding:20px 10px;
	border-radius:8px;
	text-align:center;
	height:100%;
	box-shadow:0 2px 4px rgba(0,0,0,0.1);
}
.page-id-31233 .elementor-image-box-wrapper{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	background-color:#f5f5f5;
	padding:20px 10px;
	border-radius:8px;
	text-align:center;
	height:100%;
	box-shadow:0 2px 4px rgba(0,0,0,0.1);
}
.page-id-25918 .elementor-icon-box-icon{
	display:flex;
	align-items:center!important;
	justify-content:center!important;
	color:#fff;
	width:70px;
	height:70px;
	border-radius:50%;
	margin-bottom:10px;
	font-size:30px;
}
.page-id-25918 .elementor-image-box-content{
	margin-top:10px;
}
.page-id-25918 .elementor-image-box-description{
	font-size:16px;
	color:#333;
	font-weight:500;
	margin:0;
	line-height:1.4;
}
.page-id-25918 .elementor-image-box-img img{
	width:70px;
	height:70px;
	object-fit:cover;
	margin:0;
}
.elementor-element-36faa16 img,.elementor-element-8f80ef0 img,.elementor-element-0cb2098 img,.elementor-element-fbde940 img,.elementor-element-c914c5f img{
	width:500px!important;
	height:300px!important;
	object-fit:cover!important;
}
.elementor-element-fbde940,.elementor-element-f779992,.elementor-element-0cb2098,.elementor-element-875e798,.elementor-element-36faa16,.elementor-element-e0e4a61,.elementor-element-8f80ef0,.elementor-element-c0b33d3{
	display:none;
}

.gallery-appear-button{
    background-color: #0E597C;
    font-size: 16px;
    font-weight: 500;
    color: #FFF;
    border-radius: 4px;
	margin-bottom:10px;
	display:block;
	text-align:center;
	width:fit-content;
	margin-left:auto;
	margin-right:auto;
	transition:background-color .3s ease;
}

.gallery-appear-button:hover{
	background-color:#005177;
}
.elementor-26336 .elementor-element.elementor-element-ac8662a{
	--display:flex;
	--flex-direction:column;
	--container-widget-width:100%;
	--container-widget-height:initial;
	--container-widget-flex-grow:0;
	--container-widget-align-self:initial;
	--flex-wrap-mobile:wrap;
	--background-transition:.3s;
	--margin-top:0;
	--margin-bottom:-43px;
	--margin-left:0;
	--margin-right:0;
}

@media(max-width: 480px){
	.elementor-element.elementor-element-eebd28c:before,.elementor-element.elementor-element-67004ed:before,.elementor-element.elementor-element-e2f62e6:before,.elementor-element.elementor-element-b22f7cb:before,.elementor-element.elementor-element-d2244de:before{
		content: "";
    position: absolute;
    top: -18px;
    left: 79px;
    right: 131px;
    bottom: 20px;
    border: 2px solid #fff;
    pointer-events: none;
    z-index: 1;
	}
}
.ti-widget.ti-book .ti-review-content strong{
	color:#fff!important;
	font-weight:400!important;
	font-size:23px!important;
	margin-bottom:-220px!important;
}
.ti-widget.ti-book .ti-widget-container .ti-name{
	display:none!important;
}
.ti-widget.ti-book .ti-widget-container{
	display:block;
	color:#fff!important;
	margin-bottom:15px;
}
.popup-container{
	display:flex;
	width:90%;
	max-width:900px;
	height:400px;
	background:#000;
	border-radius:10px;
	overflow:hidden;
	box-shadow:0 10px 30px rgba(0,0,0,0.5);
	position:relative;
}
.home-page-popup-close-btn{
	position:absolute;
	top:10px;
	right:10px;
	width:35px;
	height:35px;
	background:transparent!important;
	color:#fff!important;
	font-size:1.5rem;
	font-weight:700;
	border:none;
	border-radius:50%;
	cursor:pointer;
	z-index:11000;
}
.home-page-popup{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.8);
	display:flex;
	justify-content:center;
	align-items:center;
	z-index:10000;
	opacity:0;
	pointer-events:none;
	transition:opacity .3s ease-in-out;
}
.home-page-popup-active{
	opacity:1;
	pointer-events:auto;
}
.popup-left{
	width:50%;
	background:url(https://www.hellenicvibes.gr/hvadmin/wp-content/uploads/2023/04/HELLENIC-VIBES-SUITE-7.webp) no-repeat center center;
	background-size:cover;
}
.popup-right{
	width:50%;
	background:#0e587b;
	color:#fff;
	gap:50px;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	padding:20px;
	text-align:center;
	height:100%;
}
.popup-right h2{
	font-size:1.8rem;
	font-weight:700;
	margin-bottom:20px;
	color:#fff;
	line-height:1.5;
	text-align:center;
	margin-left:0;
}
.popup-right button{
	background:#fff!important;
	border:none;
	color:#000!important;
	padding:10px 20px;
	font-size:1.2rem;
	font-weight:700;
	border-radius:5px;
	cursor:pointer;
	padding:15px;
	text-align:center;
	display:block;
	width:100%;
	max-width:182px;
	margin-top:20px;
}
@media (max-width: 768px){
	.popup-container{
		flex-direction:column;
		height:auto;
		max-width:100%
	}
	.popup-right{
		gap:0
	}
	.popup-left,.popup-right{
		width:100%;
		height:300px;}
	.popup-right h2{
		font-size:1.9rem;
	}
	.popup-right button{
		font-size:1.1rem;
		padding:8px 18px;
	}
	.home-page-popup-close-btn{
		font-size:1.2rem;
	}
}
@media (max-width: 480px){
	.popup-container{
		width:100%;
		height:auto;
	}
	.popup-left,.popup-right{
		width:100%;
		height:200px;
	}
	.popup-right h2{
		font-size:28px;
		margin-bottom:15px;
	}
	.popup-right button{
		font-size:1rem;
		max-width:257px;
		padding:8px 15px;
	}
	.home-page-popup-close-btn{
		font-size:1.5rem;
	}
}
.rpt-ui-counter-container{
	display:flex;
	justify-content:center;
	gap:10px;
}
.rpt-counter-digit-box{
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
}
.rpt-counter-digits{
	display:flex;
	justify-content:center;
	align-items:center;
	width:50px;
	height:50px;
	border-radius:7px;
	color:inherit;
	background-color:rgba(255,255,255,0.082);
	font-size:23px;
	line-height:27.45px;
}
.rpt-counter-time-subdivision{
	font-size:13px;
	color:inherit;
	line-height:15.51px;
	margin-top:4px;
	text-transform:capitalize;
}
div.wpforms-container-full .wpforms-field-label-inline,.wp-core-ui div.wpforms-container-full .wpforms-field-label-inline{
	color:#fff!important;
}
@media(max-width: 480px){
	.wpforms-submit.newsletter-btn{
		position:absolute!important;
		margin-left:-126px;
		margin-top:26px !important;
		white-space:nowrap;
	}
}
@media(min-width: 770px){
	.wpforms-submit.newsletter-btn{
		position:absolute!important;
		margin-left:-356px;
		white-space:nowrap;
		margin-top:25px!important;
	}
}
form#wpforms-form-27230{
	display:flex;
}
.wpforms-email-submit-wrapper{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	max-width:500px;
	margin:auto;
	padding:10px 0;
}
#wpforms-27230-field_1{
	flex:1;
	border:none;
	outline:none;
	background:transparent;
	font-size:16px;
	padding:5px 10px;
	box-sizing:border-box;
	border-bottom:1px solid #fff;
}
#wpforms-submit-27230{
	color:#fff;
	background-color:#ffffff00!important;
}
#wpforms-27230-field_1::placeholder{
	color:#fff!important;
	font-size:19px;
	opacity:1.8!important;
}
div.wpforms-container-full input[type=submit]:hover,div.wpforms-container-full input[type=submit]:active,div.wpforms-container-full button[type=submit]:hover,div.wpforms-container-full button[type=submit]:active,div.wpforms-container-full .wpforms-page-button:hover,div.wpforms-container-full .wpforms-page-button:active,.wp-core-ui div.wpforms-container-full input[type=submit]:hover,.wp-core-ui div.wpforms-container-full input[type=submit]:active,.wp-core-ui div.wpforms-container-full button[type=submit]:hover,.wp-core-ui div.wpforms-container-full button[type=submit]:active,.wp-core-ui div.wpforms-container-full .wpforms-page-button:hover,.wp-core-ui div.wpforms-container-full .wpforms-page-button:active{
	background:#fff!important;
}
.wpforms-submit-26901,div.wpforms-container-full input[type=submit]:hover,div.wpforms-container-full input[type=submit]:active,div.wpforms-container-full button[type=submit]:hover,div.wpforms-container-full button[type=submit]:active,div.wpforms-container-full .wpforms-page-button:hover,div.wpforms-container-full .wpforms-page-button:active,.wp-core-ui div.wpforms-container-full input[type=submit]:hover,.wp-core-ui div.wpforms-container-full input[type=submit]:active,.wp-core-ui div.wpforms-container-full button[type=submit]:hover,.wp-core-ui div.wpforms-container-full button[type=submit]:active,.wp-core-ui div.wpforms-container-full .wpforms-page-button:hover,.wp-core-ui div.wpforms-container-full .wpforms-page-button:active{
	background-color:blue!important;
}
div.wpforms-container-full input[type=submit]:focus:after,div.wpforms-container-full button[type=submit]:focus:after,div.wpforms-container-full .wpforms-page-button:focus:after,.wp-core-ui div.wpforms-container-full input[type=submit]:focus:after,.wp-core-ui div.wpforms-container-full button[type=submit]:focus:after,.wp-core-ui div.wpforms-container-full .wpforms-page-button:focus:after{
	content:"";
	position:absolute;
	border:0!important;
}
@-webkit-keyframes autofill{
	0%,100%{
		color:#666;
		background:transparent;
	}
}
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{
	color:#fff!important;
	background-clip:text!important;
}
.ti-widget[data-layout-id='37'][data-set-id='light-minimal'] .ti-review-content,.ti-widget[data-layout-id='37'][data-set-id='light-minimal'] .ti-read-more{
	text-align:left!important;
}
.ti-widget.ti-book .ti-review-content{
	line-height:21.75px;
	height:180px!important;
	font-size:15px;
	text-align:left;
	transition:height .5s;
	font-style:normal;
	-webkit-line-clamp:4;
	overflow:visible!important;
	padding-right:0;
}
.ti-widget.ti-book .ti-read-more span{
	display:none!important;
}

.elementor-element.elementor-element-eebd28c::before, .elementor-element.elementor-element-67004ed::before, .elementor-element.elementor-element-e2f62e6::before, .elementor-element.elementor-element-b22f7cb::before, .elementor-element.elementor-element-d2244de::before {
    content: "";
    position: absolute;
    top: -18px;
    left: 5px;
    right: 85px;
    bottom: 20px;
    border: 2px solid #fff;
    pointer-events: none;
    z-index: 1;
}


.custom-justify{
	text-align:justify!important;
}
.elementor-element.elementor-element-eebd28c:hover::before,.elementor-element.elementor-element-67004ed:hover::before,.elementor-element.elementor-element-b22f7cb:hover::before,.elementor-element.elementor-element-e2f62e6:hover::before,.elementor-element.elementor-element-d2244de:hover::before{
	top:14px;
	left:46px;
	right:46px;
	bottom:15px;
}
@media(min-width:1024px){
	.elementor-28471 .elementor-element.elementor-element-588792f,.elementor-28535 .elementor-element-79b3cef,.elementor-27249 .elementor-element.elementor-element-7c9fc00{
		display:flex;
		justify-content:center;
		align-items:center;
		margin:0;
		padding:0;
		position:absolute;
		left:50%;
		transform:translate(-50%,-50%);
	}
}
.custom-heading{
	color:#0e587b;
	white-space:nowrap;
}
.elementor-26338 .elementor-element.elementor-element-36da78f::before,.elementor-26338 .elementor-element.elementor-element-cc6a963::before,.elementor-26338 .elementor-element.elementor-element-6296122::before{
	content:"";
	position:absolute;
	top:10px;
	left:10px;
	right:10px;
	bottom:10px;
	border:2px solid #0e587b;
	pointer-events:none;
	z-index:1;
}
a.hfe-menu-item{
	color:#fff;
	text-shadow:1px 1px 2px rgba(0,0,0,0.3);
}
.wpforms-container ::-webkit-input-placeholder{
	color:#0e587b!important;
}
.wpforms-container :-moz-placeholder{
	color:#0e587b!important;
	opacity:1!important;
}
.wpforms-container ::-moz-placeholder{
	color:#0e587b!important;
	opacity:1!important;
}
.wpforms-container :-ms-input-placeholder{
	color:#0e587b!important;
}
.wpforms-container ::-ms-input-placeholder{
	color:#0e587b!important;
}
.wpforms-container ::placeholder{
	color:#0e587b!important;
}
div.wpforms-container-full input[type=submit]:not(:hover):not(:active),div.wpforms-container-full button[type=submit]:not(:hover):not(:active),div.wpforms-container-full .wpforms-page-button:not(:hover):not(:active),.wp-core-ui div.wpforms-container-full input[type=submit]:not(:hover):not(:active),.wp-core-ui div.wpforms-container-full button[type=submit]:not(:hover):not(:active),.wp-core-ui div.wpforms-container-full .wpforms-page-button:not(:hover):not(:active){
	background-color:#0e587b!important;
	border-radius:30px;
	font-size:20px;
}

.custom-title{
	color:#0E597C!important;
}
.elementor-26338 .elementor-element.elementor-element-db363db::before{
	content:"";
	position:absolute;
	top:10px;
	left:10px;
	right:10px;
	bottom:10px;
	border:2px solid blue;
	pointer-events:none;
	z-index:1;
}
@media(max-width: 769px){
	.elementor-24127 .elementor-element.elementor-element-aa2be5c .elementor-heading-title,.elementor-24128 .elementor-element.elementor-element-45b22b2 .elementor-heading-title,.elementor-22341 .elementor-element.elementor-element-c3bc493 .elementor-heading-title,.elementor-22341 .elementor-element.elementor-element-0085da7 .elementor-heading-title{
		color:#000;
		font-size:22px;
		font-weight:100;
		position:relative;
		display:inline-block;
		text-align:center;
	}
}
@media(min-width: 770px){
	.elementor-24127 .elementor-element.elementor-element-aa2be5c .elementor-heading-title,.elementor-24128 .elementor-element.elementor-element-45b22b2 .elementor-heading-title,.elementor-22341 .elementor-element.elementor-element-c3bc493 .elementor-heading-title,.elementor-22341 .elementor-element.elementor-element-0085da7 .elementor-heading-title{
		color:#000;
		font-size:29px;
		font-weight:100;
		position:relative;
		display:inline-block;
		text-align:center
	}
}
.elementor-24127 .elementor-element.elementor-element-aa2be5c .elementor-heading-title::after,.elementor-24128 .elementor-element.elementor-element-45b22b2 .elementor-heading-title::after,.elementor-22341 .elementor-element.elementor-element-c3bc493 .elementor-heading-title::after,.elementor-22341 .elementor-element.elementor-element-0085da7 .elementor-heading-title::after{
	content:'';
	position:absolute;
	bottom:-8px;
	left:50%;
	transform:translateX(-63%);
	width:150%;
	height:2px;
	background-color:#5a9dbb;
	border-radius:2px;
}
@media (max-width: 768px){
	.elementor-24127 .elementor-element.elementor-element-aa2be5c .elementor-heading-title::after,.elementor-24128 .elementor-element.elementor-element-45b22b2 .elementor-heading-title::after,.elementor-22341 .elementor-element.elementor-element-c3bc493 .elementor-heading-title::after,.elementor-22341 .elementor-element.elementor-element-0085da7 .elementor-heading-title::after{
		width:130%;
		height:3px;
	}
}
@media (max-width: 480px){
	.elementor-22341 .elementor-element.elementor-element-c3bc493 .elementor-heading-title::after,.elementor-22341 .elementor-element.elementor-element-0085da7 .elementor-heading-title::after{
		width:140%;
		height:2.5px;
	}
}
.room-info{
	text-align:center;
	padding:20px;
	color:#2b3d4f;
}
.room-info h3{
	font-size:1.8rem;
	font-weight:700;
	white-space:nowrap;
	color:#0e597c;
	margin-bottom:10px;
}
@media (min-width: 768px){
	.elementor-1632 .elementor-element.elementor-element-1993e4c{
		width:12%;
	}
}
@media (max-width: 1366px) and (min-width: 768px){
	.elementor-1632 .elementor-element.elementor-element-e8161c0{
		width:88%
	}
}
@media (min-width: 770px) and (max-width: 1366px){
	.elementor-1632 .elementor-element.elementor-element-1993e4c{
		width:12%;
		height:175px
	}
}
@media (max-width: 1366px){
	#menu-1-3dc98db{
		position:relative;
		left:150px
	}
}
.room-info p{
	font-size:19px;
	text-align:center;
	word-spacing:-.5px;
	margin-bottom:20px;
	color:#000;
}
.checkin-checkout{
	display:flex;
	justify-content:left;
	align-items:center;
	gap:20px;
}
.check-time{
	display:flex;
	align-items:center;
	gap:8px;
	font-size:22px;
	color:#000;
}
.separator{
	font-size:1.2rem;
	color:#2b3d4f;
}
@media (max-width: 768px){
	.room-info h3{
		font-size:22px;
		line-height:1.5;
		white-space:normal;
		text-align:center;
	}
	.room-info p{
		font-size:1rem;
		padding:10px 15px;
		width:90%;
		text-align:justify;
		margin:0 auto;
	}
	.checkin-checkout{
		flex-direction:column;
		gap:15px;
		align-items:baseline!important;
	}
	.check-time{
		font-size:16px;
		text-align:center;
	}
	.separator{
		display:none;
	}
}
@media (max-width: 480px){
	.room-info h3{
		font-size:22px;
		line-height:1.4;
		text-align:center;
	}
	.room-info p{
		font-size:16px;
		padding:10px 12px;
		width:100%;
		text-align:justify;
		margin:0 auto;
	}
	.checkin-checkout{
		flex-direction:column;
		gap:20px;
		align-items:center;
	}
	.check-time{
		font-size:16px;
		text-align:center;
	}
	.separator{
		display:none;
	}
}
.language-shortcode-header{
	margin-top:-20px;
}
.elementor-element-1afcabf{
	position:fixed;
	top:0;
	width:100%;
	z-index:1000;
	padding:10px;
	box-shadow:0 2px 5px rgba(0,0,0,0.3);
	background:rgba(115,115,115,0.6)
}
.elementor-element-1afcabf::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background-color:rgba(115,115,115,0.6);
	backdrop-filter:blur(10px);
	z-index:-1;
	pointer-events:none;
}
@media (min-width: 770px) and (max-width: 1370px){
	.elementor-element-1afcabf::before{
		content:"";
		position:absolute;
		top:0;
		left:0;
		right:0;
		bottom:0;
		background-color:rgba(115,115,115,0.6);
		backdrop-filter:blur(10px);
		z-index:-1;
		pointer-events:none;
	}
}
.elementor-element-1afcabf .menu-list{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	display:flex;
	flex-direction:column;
	align-items:center;
	margin:0;
	z-index:1;
}
@media (max-width: 480px){
	.elementor-element-1afcabf .menu-list{
		top:55%;
		transform:translate(-50%,-50%);
	}
}
.close-menu{
	font-size:28px;
	position:absolute;
	left:20px;
	top:20px;
	cursor:pointer;
}
.header-icons{
	display:flex;
	align-items:center;
}
.icon-link{
	text-decoration:none;
	color:#fff;
}
.icon-link svg{
	width:24px;
	height:24px;
	transition:transform .3s ease;
	margin-right:20px;
}
.icon-link:hover svg{
	transform:scale(1.2);
}
.hfe-nav-menu__toggle{
	display:flex!important;
	justify-content:center!important;
	align-items:center!important;
	width:40px!important;
	height:40px!important;
	background-color:transparent!important;
	border:none!important;
	cursor:pointer!important;
	position:relative!important;
}
.hfe-nav-menu-icon i{
	font-size:24px!important;
	color:#fff!important;
}
.hfe-nav-menu__toggle:hover .hfe-nav-menu-icon i{
	color:#2da7df!important;
	transition:color .3s ease!important;
}
.screen-reader-text{
	position:absolute;
	width:1px;
	height:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
	border:0;
}
.top-bar{
	display:flex;
	justify-content:space-between;
	align-items:center;
	background-color:#0e587b;
	padding:5px 15px;
	color:#fff;
	font-size:14px;
	width:100%;
	position:relative;
	z-index:1000;
}
.left-content a{
	color:#fff;
	text-decoration:none;
	font-weight:400
}
.left-content a:hover{
	color:#ddd;
}
.left-content span{
	padding-left: 10px;
}

.left-content{
	display:flex;
	align-items:center;
	margin-left:30px;
}
.right-content a{
	margin-right: 5px;
}
.right-content{
	margin-right:25px;
}
.right-content a{
	color:#fff;
	text-decoration:none;
	font-size:16px;
}
.right-content a:hover{
	color:#ddd;
}
.content{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	text-align:center;
	color:#fff;
	z-index:1;
}
.content h1{
	font-size:3rem;
	font-weight:700;
}
.content p{
	font-size:1.5rem;
}
@media (max-width: 768px){
	.content h1{
		font-size:2rem;
	}
	.content p{
		font-size:1rem;
	}
	.top-bar{
		flex-direction:column;
		text-align:center;
		padding:10px;
	}
	.left-content,.right-content{
		margin-bottom:10px;
	}
	.right-content a{
		margin-right:8px;
	}
}
@media (max-width: 480px){
	.content h1{
		font-size:1.7rem;
	}
	.content p{
		font-size:.8rem;
	}
	.booking-form input{
		width:80%;
	}
	.top-bar{
		font-size:12px;
		padding:10px 5px;
	}
	.left-content{
		flex-direction:column;
		align-items:center;
		width:100%;
	}
	.left-content span{
		margin:0 5px 5px 15px;
		font-size:.9rem;
	}
	.left-content span,.right-content a{
		margin-right:0;
	}
	.right-content{
		justify-content:center;
	}
	.right-content a{
		margin-right:10px;
	}
}
.greeting{
	font-size:2.5rem;
	color:#000!important;
	margin-bottom:-5px;
}
.hotel-name{
	font-size:2.5rem;
	font-weight:700;
	color:#0E597C!important;
	margin:0;
}
.tagline{
	font-size:2.1rem;
	color:#0E597C!important;
	margin-top:-5px;
}
@media (max-width: 1024px){
	.greeting{
		font-size:2rem;
		margin-bottom:8px;
	}
	.container-welcome{
		text-align:center;
		color:#fff;
		margin-top:100px;
		padding:20px;
	}
	.hotel-name{
		font-size:2.5rem;
	}
	.tagline{
		font-size:1.8rem;
		margin-top:8px;
	}
}@media screen and (min-width: 1024px) and (max-width: 1600px){
	.container-welcome{
		padding:15px;
	}
}
@media (max-width: 768px){
	.container-welcome{
		margin-top:-20px;
		padding:15px;
		text-shadow:1px 1px 3px rgba(0,0,0,0.4);
	}
	.greeting{
		font-size:1.8rem;
		margin-bottom:6px;
	}
	.hotel-name{
		font-size:2rem;
	}
	.tagline{
		font-size:1.4rem;
		margin-top:6px;
	}
}
@media (max-width: 480px){
	.container-welcome{
		margin:0 auto;
		padding:15px;
		width:99%;
		box-sizing:border-box;
		text-align:justify;
	}
	.greeting{
		font-size:21px;
		margin-bottom:12px;
		line-height:1.4;
		white-space:nowrap;
		text-shadow:none !important;
	}
	.hotel-name{
		font-size:20px;
		font-weight:700;
		line-height:1.2;
		white-space:nowrap;
		overflow:visible;
	}
	.tagline{
		text-shadow:none !important;
		font-size:16px;
		margin-top:12px;
		white-space:nowrap;
		line-height:1.4;
	}
}
.wpforms-submit.newsletter-btn{
	position:relative;
	color:#fff;
	background-color:#003f5c;
	padding-right:40px;
	font-size:16px;
	border:none;
	border-radius:5px;
}
.wpforms-submit.newsletter-btn:after{
	content:"\f1d8";
	font-family:"Font Awesome 5 Free";
	font-weight:900;
	color:#fff;
	font-size:16px;
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	right:-25px;
	width:30px;
	height:30px;
	background-color:transparent;
	border:2px solid #fff;
	border-radius:50%;
	text-align:center;
	line-height:28px;
}
.features-container{
	text-align:left;
	padding:20px;
	max-width:400px;
}
.features-container h2{
	font-size:1.2rem;
	font-weight:700;
	color:#000;
	margin-left:50px;
	white-space:normal;
}
@media(max-width: 480px){
	h2{
		font-size:1.1rem;
		font-weight:700;
		color:#000;
		margin-left:5px;
		white-space:wrap;
	}
}
.highlight{
	color:#F0C808;
}
@media(max-width: 480px){
	.features-list{
		margin-left:5px;
	}
}
.features-list{
	list-style:none;
	margin-top:20px;
}
.features-list li{
	display:flex;
	align-items:center;
	margin-bottom:15px;
	font-size:19px;
	color:#333;
}
.icon{
	font-size:1.5rem;
	margin-right:10px;
	color:#000;
}
.star-icon i{
	color:#F0C808;
}
.room-control-section{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	max-width:1000px;
	padding:20px;
}
.phone-image img{
	max-width:200px;
	height:auto;
}
.room-control-text{
	max-width:400px;
	padding:0 20px;
	display:flex;
	flex-direction:column;
	align-items:center;
}
.room-control-text h2{
	font-size:1.5rem;
	font-weight:700;
	margin-right:140px;
	color:#00538e;
}
.room-control-text p{
	font-size:19px;
	color:#333;
	margin-right:-200px;
	margin-top:10px;
	width:500px;
}
.control-buttons{
	margin-top:15px;
	margin-right:60px;
	width:250px;
}
.control-icon{
	font-size:1.5rem;
	margin-right:10px;
	color:#00538e;
}
.exclusivi-logo{
	width:150px;
	height:auto;
	margin-top:40px;
	margin-right:170px;
}
.logos-section{
	text-align:center;
	display:flex;
	flex-direction:column;
	align-items:center;
	max-width:150px;
	margin-top:330px;
	flex-shrink:0;
}
.store-logos{
	display:flex;
	flex-direction:column;
	align-items:center;
	margin-top:-90px;
	margin-left:-100px;
}
.store-logo{
	max-width:150px;
	height:auto;
	margin-bottom:10px;
}
@media (max-width: 1024px){
	.room-control-section{
		flex-direction:column;
		align-items:center;
		padding:20px;
	}
	.phone-image img{
		max-width:150px;
		margin-bottom:20px;
	}
	.room-control-text{
		max-width:100%;
		text-align:center;
		margin-right:0;
	}
	.room-control-text h2{
		margin-right:0;}
	.room-control-text p{
		width:90%;
		margin-right:0;
	}
	.control-buttons{
		margin-right:0;
	}
	.exclusivi-logo{
		margin-right:0;
	}
	.logos-section{
		margin-top:20px;
	}
	.store-logos{
		margin-top:0;
		margin-left:0;
	}
}
@media (max-width: 768px){
	.phone-image img{
		max-width:120px;
	}
	.room-control-text h2{
		font-size:1.2rem;
	}
	.room-control-text p{
		font-size:19px;
	}
	.exclusivi-logo{
		width:100px;
	}
	.store-logo{
		max-width:120px;
	}
}
@media (max-width: 480px){
	.phone-image img{
		max-width:100px;
	}
	.room-control-text h2{
		font-size:1.5rem;
		margin-left:-111px;
	}
	.room-control-text p{
		font-size:16px;
		text-align:left;
		margin-left:-30px;
	}
	.exclusivi-logo{
		width:80px;
		margin-bottom:20px;
	}
	.store-logo{
		max-width:100px;
	}
}
.elementor-1632 .elementor-element.elementor-element-c5128e6{
	position:relative;
	overflow:hidden;
}

.elementor-1632 .elementor-element.elementor-element-13fb011::before{
	content:'';
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background-color:rgba(0,0,0,0.6);

}
.elementor-1632 .elementor-element.elementor-element-4aa3aad .elementor-heading-title:after{
	position:absolute;
	height:1px;
	content:'';
	right:46px;
	width:6%;
	color:#000;
	background-color:#fff;
	top:55px;
}
.elementor-element.elementor-element-5222339 .elementor-heading-title:after{
	position:absolute;
	height:1px;
	content:'';
	right:-112px;
	width:7%;
	color:#000;
	background-color:#fff;
	top:55px;
}
@media(max-width:480px){
	.swiper-pagination{
		display:none;
	}
}
@media(max-width:480px){
	.wpsr-review-template{
		background-color:#ffffff00;
		-webkit-box-shadow:0 8px 20px 2px rgba(0,0,0,.07);
		box-shadow:none!important;
		padding:30px;
		margin-bottom:30px;
		margin-top:-21px;
		position:relative;
		left:-67px;
		border-radius:4px;
		-webkit-transition:.4s;
		transition:.4s;
	}
}
@media(max-width:480px){
	.wpsr-reviews-22561 .wpsr-review-template .wpsr-review-content p{
		font-size:20px;
		width:314px;
		max-width:400px;
		color:#fff;
	}
}
@media screen and (min-width: 768px){
	.hotspots-container.loaded .hotspots-placeholder>div.hotspot-initial,.hotspots-container.loaded .hotspots-image-container>div.hotspot-initial{
		background-image:url(/wp-content/uploads/2020/01/hellenic_vibes_logomed.png)!important;
		background-repeat:no-repeat!important;
		background-position:center!important;
		background-size:200px!important;
		height:100%;
	}
}
#content-hotspot-3189{
	padding-top:0;
	padding-bottom:0;
}
#content-hotspot-3189 > div > div > p{
	font-size:17px;
	font-family:'aka azid';
	text-align:justify;
}
@media screen and (max-width: 450px){
	#content-hotspot-3189 > div > div > p{
		text-align:left;
	}
}
.elementor-1632 .elementor-element.elementor-element-f2bf72f.premium-lottie-canvas .premium-lottie-animation,.elementor-1632 .elementor-element.elementor-element-f2bf72f.premium-lottie-svg svg{
	height:50px;
}
#hotspot-3189 .hotspots-image-container,#hotspot-3189 .leaflet-container{
	background:#fff!important;
}
@media screen and (max-width: 768px){
	.hotspot-title{
		font-size:18px;
	}
	.hotspots-image-container{
		margin-left:10px!important;
	}
}
@media screen and (max-width: 480px){
	.hotspot-thumb img{
		max-width:50%!important;
		float:left;
		padding-right:10px;
		margin-top:15px;
	}
	.hotspot-content{
		padding-top:0!important;
		padding-bottom:10px;
		margin-top:10px;
	}
}
a.hfe-menu-item{
	font-size:23px!important;
}
.elementor-element.elementor-element-3dc98db .menu-item a.hfe-menu-item,.elementor-element.elementor-element-3dc98db .sub-menu a.hfe-sub-menu-item{
	color:#fff!important;
	font-weight:400!important;
	font-size:19px!important;
}
@font-face{font-family:'Century Gothic';src:url('/wp-content/uploads/2024/10/CenturyGothic.woff2') format('woff2'),url('/wp-content/uploads/2024/10/CenturyGothic.woff') format('woff');font-display:swap}
a{
	font-family:Century Gothic!important;
}
h1{
	font-family:Century Gothic!important;
}
h3{
	font-family:Century Gothic!important;
}
h4{
	font-family:Century Gothic!important;
}
h5{
	font-family:Century Gothic!important;
}
h6{
	font-family:Century Gothic!important;
}
label{
	font-family:Century Gothic!important;
}
p{
	font-family:Century Gothic!important;
}
.elementor-widget-heading .elementor-heading-title{
	font-family:Century Gothic!important;
}
.elementor-widget-container{
	font-family:Century Gothic!important;
}
button{
	font-family:Century Gothic!important;
}
@media(min-width:490px){
	.elementor-element.elementor-element-16e1dff .elementor-heading-title:after,.elementor-element.elementor-element-1a44293 .elementor-heading-title:after{
	position:absolute;
	height:1px;content:'';
	right:21px;
	width:6%;
	color:#000;
	background-color:#fff;
	top:75px;
	}

}@media(min-width:490px){
	
	.elementor-element.elementor-element-52f0b13 .elementor-heading-title:after{
		position: absolute;
        height: 1px;
        content: '';
        right: 21px;
        width: 8%;
        color: #000;
        background-color: #fff;
        top: 65px;
	
	}
}

@media(min-width:490px){
	.elementor-element.elementor-element-3bfae04 .elementor-heading-title:after{
		position:absolute;
		height:1px;
		content:'';
		right:21px;
		width:6%;
		color:#000;
		background-color:#fff;
		top:58px;
	}
}
@media (max-width: 480px) {
    .elementor-element.elementor-element-52f0b13 .elementor-heading-title:after {
        position: absolute;
        height: 1px;
        content: '';
        right: 2px;
        width: 32%;
        color: #000;
        background-color: #fff;
        top: 55px;
    }
}

@media (max-width: 480px){
	.elementor-element.elementor-element-1a44293 .elementor-heading-title:after,.elementor-1632 .elementor-element.elementor-element-16e1dff .elementor-heading-title:after{
		position:absolute;
		height:1px;
		content:'';
		right:23px;
		width:29%;
		color:#000;
		background-color:#fff;
		top:55px;
	}
}
.wpsr-review-template{
	background-color:#ffffff00;
	-webkit-box-shadow:0 8px 20px 2px rgba(0,0,0,.07);
	box-shadow:none!important;
	padding:30px;
	margin-bottom:30px;
	margin-top:30px;
	position:relative;
	border-radius:4px;
	-webkit-transition:.4s;
	transition:.4s;
}
.wpsr-has-equal-height .wpsr-review-content{
	height:117px!important;
	overflow-y:scroll;
	overflow:auto;
	padding-right:10px;
	scrollbar-color:#8d8d8d #e0e0e0;
	scrollbar-width:thin;
}
.wpsr-review-template-four .wpsr-review-header:after{
	display:none!important;
}
.wpsr-review-template-four .wpsr-review-header{
	background-color:transparent!important;
	-webkit-box-shadow:none!important;
	box-shadow:none!important;
	padding:30px;
	color:#fff!important;
	margin-bottom:25px;
	position:relative;
	border-radius:8px;
}
@font-face{font-family:'Century Gothic';src:url('/wp-content/uploads/2024/10/CenturyGothic.woff2') format('woff2'),url('/wp-content/uploads/2024/10/CenturyGothic.woff') format('woff');font-display:swap}
.elementor-22341 .elementor-element.elementor-element-2804687 .menu-item.current-menu-item a.hfe-menu-item,.elementor-22341 .elementor-element.elementor-element-2804687 .menu-item.current-menu-ancestor a.hfe-menu-item{
	color:#fff!important;
}
.wpsr-feed-popup-carousel-wrapper .wpsr-swiper-pagination span,.wpsr-swiper-carousel-wrapper .wpsr-swiper-pagination span{
	background-color:#fff;
	opacity:.2;
	border-radius:50%;
	width:10px;
	height:10px;
	margin:0 5px;
	-webkit-transition:.4s;
	transition:.4s;
}
.about-heading{
	margin-left:0;
}
@media(max-width:480px){
	.about-heading{
		margin-bottom:5px;
	}
}
@media(min-width:1024px){
	.about-hotel{
		color:#fff;
		margin-top:-35px;
	}
}
.about-hotel h2{
	font-size:18px;
	color:#fff;
}
.about-hotel strong{
	font-size:24px;
	display:block;
	color:#fff;
}
.about-hotel p{
	font-size:16px;
	color:#fff;
}
.discover-heading{
	margin-bottom:30px;
	left:1%!important;
}
@media (max-width: 768px){
	.footer-column{
		padding:15px;
		margin:0;
		text-align:left!important;
	}
	.discover-heading{
		font-size:19px;
		margin:0 0 10px;
		text-align:left!important;
	}
	.footer-column h3{
		font-size:16px;
		margin:0 0 10px;
		text-align:left!important;
	}
	.footer-links{
		list-style:none;
		padding:0;
		margin:0;
		text-align:left!important;
	}
	.footer-links li{
		margin-bottom:8px;
	}
	.footer-links a{
		font-size:14px;
		text-decoration:none;
		text-align:left!important;
		display:inline-block;
	}
}
@media (max-width: 480px){
	.footer-column{
		padding:10px;
		margin:0;
		text-align:left!important;
	}
	.discover-heading{
		font-size:18px;
		margin:0 0 10px;
		text-align:left!important;
	}
	.footer-column h3{
		font-size:16px;
		margin:0 0 10px;
		text-align:left!important;
	}
	.footer-links{
		list-style:none;
		padding:0;
		margin:0;
		text-align:left!important;
	}
	.footer-links li{
		margin-bottom:6px;
	}
	.footer-links a{
		font-size:13px;
		text-decoration:none;
		text-align:left!important;
		display:inline-block;
	}
}
.footer-contact i.fa-phone-alt{
	font-size:30px;
	color:#fff;
	margin-right:0px;
	vertical-align:middle;
}
.footer-contact a.footer-link strong{
	font-weight:700;
	font-size:18px;
	color:#fff;
}
.footer-contact a.footer-link:hover strong{
	color:#2da7df;
}
.footer-column-contact{
	color:#fff;
}
@media(min-width:1024px){
	.footer-social{
		display:flex;
		justify-content:center;
		gap:30px;
		margin-top:40px;
		flex-wrap:wrap;
	}
}
@media(max-width:1024px){
	.footer-social{
		display:flex;
		justify-content:center;
		gap:30px;
		margin-left:3px;
		margin-top:40px;
		flex-wrap:wrap;
	}
}
.footer-link{
	color:#fff;
	text-decoration:none;
	transition:color .3s ease;
	margin-bottom:10px;
}
.address-link{
	display:block;
	margin-bottom:30px;
}
.footer-link:hover{
	color:#2da7df;
	text-decoration-color:#2da7df;
}
.discover-heading{
	font-size:18px;
	font-weight:700;
	color:#fff!important;
	margin-left:50px;
	text-align:left;
}
.footer-column-contact h3{
	font-size:18px;
	font-weight:700;
	color:#fff!important;
	margin-bottom:30px;
}
.footer-column-contact p,.footer-contact{
	color:#fff!important;
}
.footer-links{
	list-style:none;
	padding:0;
}
.footer-links li{
	margin-bottom:8px;
	letter-spacing:1px;
}
.footer-links a{
	color:#fff;
	text-decoration:none;
	font-size:16px;
}
.footer-links a:hover{
	color:#2da7df;
}
.social-link{
	font-size:32px;
	color:#fff;
	position:relative;
	transition:color .3s ease;
}
.social-link:hover{
	color:#2da7df!important;
}
.email-link:hover,.email-link:focus{
	color:#2da7df;
}
.responsive-svg2{
	max-width:40px!important;
	height:auto!important;
}
.footer-contact{
	display:flex;
	gap:10px;
	margin-bottom:20px;
	align-items:flex-end
}
.footer-contact span{
	font-size:16px;
}
.email-link{
	font-size:16px;
	color:#fff;
	text-decoration-line:underline!important;
	text-decoration:underline!important;
	text-decoration-color:#ffd700!important;
	text-decoration-thickness:2px;
	text-underline-offset:8px;
}
@media (max-width: 480px){
	.footer-column-contact h3{
		margin-left:-5px;
		font-size:16px;
	}
	.footer-column-contact{
		padding:10px;
	}
	.footer-contact{
		display:flex;
		flex-wrap:wrap;
		gap:8px;
		margin-bottom:15px;
		align-items:flex-start;
	}
	.address-link{
		margin-top:-5px;
		font-size:16px;
	}
	.responsive-svg2{
		max-width:30px;
		height:auto;
	}
	.social-link{
		font-size:22px;
	}
	.footer-social{
		position:relative;
		gap:15px;
		margin-bottom:10px;
		justify-content:flex-start;
	}
}
.back-to-top{
	position:relative;
	display:inline-block;
	background-color:transparent;
	color:#FFF;
	border:2px solid #FFF;
	border-radius:5px;
	text-align:center;
	font-size:16px;
	font-weight:700;
	padding:12px 20px;
	box-shadow:2px 2px 3px #999;
	text-decoration:none;
	cursor:pointer;
	transition:all .3s ease;
	margin:20px auto;
	width:fit-content;
}
.back-to-top:hover{
	background-color:#FFF;
	color:#2da7df;
	border-color:#2da7df;
}
@media (max-width: 768px){
	.back-to-top{
		font-size:14px;
		padding:10px 15px;
	}
}


.hero { position: relative; width: 100%; aspect-ratio: 3 / 2; overflow: hidden; }
.hero picture { display: contents; }
.hero .hv-poster,
.hero .hv-video { position: absolute; inset: 0; width: 100%; height: 100%;
                  object-fit: cover; display: block; }
.hero .hv-video { opacity: 0; transition: opacity .5s ease; }
.hero .hv-video.is-playing { opacity: 1; }


/* ============================================================
   2. MOBILE NAVIGATION MENU
   ============================================================ */




.hv-menu-contact-info {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.hv-menu-contact-info a {
  font-size: 16px;
  font-weight: 600;
  color: var(--hv-navy);
  text-decoration: none;
}

.hv-menu-contact-info a:active {
  color: var(--hv-blue);
}

#full-screen-menu {
  position: fixed;
  inset: 0;
  z-index: 100001;
  display: flex;
  flex-direction: column;
  background: #fff;
  overflow: hidden;
  font-family: 'Century Gothic', sans-serif;

  /* Νέο: αντί για display:none, κρύβουμε με clip-path + pointer-events */
  clip-path: inset(0 0 100% 0);
  pointer-events: none;
  transition: clip-path 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

#full-screen-menu.is-open {
  clip-path: inset(0 0 0% 0);
  pointer-events: auto;
}

body.hv-menu-open {
  overflow: hidden;
}

/* ---- Κλείσιμο (X) ---- */
.hv-menu-close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2147483647;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: none;
  font-size: 32px;
  line-height: 1;
  color: var(--hv-navy);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* ---- Μικρό λογότυπο, πάνω-κέντρο ---- */
.hv-menu-logo-top {
  flex: 0 0 auto;
  text-align: center;
  padding: 22px 0 8px;
  position: relative;
  z-index: 2;
}

.hv-menu-logo-top img {
  height: auto;
}

/* ---- Watermark, κάτω-αριστερά, κομμένο στην άκρη ---- */
.hv-menu-watermark {
  position: absolute;
  left: -70px;
  bottom: -70px;
  width: 280px;
  z-index: 0;
  opacity: 0.06;
  pointer-events: none;
}

.hv-menu-watermark img {
  width: 100%;
  height: auto;
  display: block;
}

/* ---- Λίστα menu, αριστερή στοίχιση ---- */
.menu-list {
  position: relative;
  z-index: 1;
  list-style: none;
  margin: 0;
  padding: 24px 32px 90px;   /* 90px κάτω αντί για 0 */
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1 1 auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.menu-list li {
  width: 100%;
  text-align: left;
  padding: 12px 0;
  border-bottom: 1px solid #eee;
}

.menu-list li:last-child {
  border-bottom: 0;
}

.menu-list li a {
  color: var(--hv-navy);
  font-size: 19px;
  font-weight: 500;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.menu-list li a:active {
  color: var(--hv-blue);
}

/* ---- Rooms & Suites dropdown ---- */
.menu-item-with-dropdown {
  position: relative;
}

.submenu-parent-icon {
  position: absolute;
  right: 4px;
  top: 14px;
  display: inline-flex;
  padding: 8px;
  margin: -8px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.submenu-parent-icon svg {
  width: 14px;
  height: 14px;
  fill: var(--hv-navy);
  transition: transform 0.25s ease;
}

.menu-item-with-dropdown.open .submenu-parent-icon svg {
  transform: rotate(180deg);
}

.submenu {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s ease;
}

.menu-item-with-dropdown.open .submenu {
  max-height: 160px;
}

.submenu li {
  border-bottom: 0;
  padding: 8px 0 8px 16px;
}

.submenu li a {
  font-size: 16px;
  font-weight: 400;
  color: var(--hv-navy);
}



/* ============================================================
   3. HEADER / FOCUS STATES / MISC ΠΡΟΣΘΗΚΕΣ  (πρώην Additional CSS, μέρος 1)
   ============================================================ */

/*
body a:focus,
body button:focus,
body input:focus,
body textarea:focus,
body select:focus,
body [tabindex]:focus {
    outline: 2px solid #005fcc !important;
    outline-offset: 2px !important;
    text-decoration: underline !important;
}

body a:focus-visible,
body button:focus-visible,
body input:focus-visible,
body textarea:focus-visible,
body select:focus-visible,
body [tabindex]:focus-visible {
    outline: 2px solid #005fcc !important;
    outline-offset: 2px !important;
    text-decoration: underline !important;
}
*/

.footer-contact a:focus,
.footer-contact a:focus-visible {
    outline: 2px solid #005fcc !important;
    outline-offset: 2px !important;
    color: #000000 !important; 
    background-color: #ffffff !important; 
    text-decoration: underline !important;
    padding: 2px 4px !important; 
}


.footer-contact a:focus,
.footer-contact a:focus-visible {
    outline: 2px solid #ffffff !important; 
    outline-offset: 2px !important;
    color: #ffffff !important; 
    background-color: #005fcc !important;
    text-decoration: underline !important;
    padding: 2px 4px !important;
}

#wpforms-27230 .wpforms-field-label {
    color: white !important;
}

#wpforms-27230 .wpforms-field-label-inline {
    color: white !important;
}

#wpforms-27230 legend {
    color: white !important;
}

#wpforms-27230 label,
#wpforms-27230 legend {
    color: white !important;
}


.ti-widget.ti-book .ti-widget-container, .ti-widget.ti-book .ti-widget-container *{
    color: black;
    
}

.ti-widget.ti-book{
    
}





/* Mobile */


@media (max-width: 767px){
    .hv-video {
        max-width: 100vw !important;
    }

	
		html,
    body{
        width:100%;
        overflow-x:hidden;
    }

    .elementor,
    .elementor-section,
    .elementor-container,
    .elementor-widget-wrap{
        max-width:100%;
    }

}


/* ===================================
   HELLENIC VIBES - ABSOLUTE HEADER
   =================================== */

.desktop-header {
    position: relative;
    z-index: 999;
}


@media (max-width: 767px) {

  .hero {
    aspect-ratio: 3 / 4;
  }

}

@media (max-width: 767px) {

  .hero {
    aspect-ratio: 3 / 4;
    position: relative;
  }

  .hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .35);
    pointer-events: none;
    z-index: 1;
  }

}



/* ===================================
   Absolute Header Pages
   =================================== */


/* Mobile header — fix hardcoded white elements on white-background pages */

.page-id-25918 #hamburger-menu rect,
.page-id-22341 #hamburger-menu rect,
.page-id-26324 #hamburger-menu rect,
.page-id-26336 #hamburger-menu rect,
.page-id-26340 #hamburger-menu rect,
.page-id-24128 #hamburger-menu rect {
    fill: #0E597A !important;
}

.page-id-25918 .elementor-element-3789daf img,
.page-id-22341 .elementor-element-3789daf img,
.page-id-26324 .elementor-element-3789daf img,
.page-id-26336 .elementor-element-3789daf img,
.page-id-26340 .elementor-element-3789daf img,
.page-id-24128 .elementor-element-3789daf img {
    content: url('https://www.hellenicvibes.gr/wp-content/uploads/2026/09/hellenic_vibes_logo.png');
}

.page-id-25918 .elementor-element-8e628b5 .trp-shortcode-switcher__wrapper,
.page-id-22341 .elementor-element-8e628b5 .trp-shortcode-switcher__wrapper,
.page-id-26324 .elementor-element-8e628b5 .trp-shortcode-switcher__wrapper,
.page-id-26336 .elementor-element-8e628b5 .trp-shortcode-switcher__wrapper,
.page-id-26340 .elementor-element-8e628b5 .trp-shortcode-switcher__wrapper,
.page-id-24128 .elementor-element-8e628b5 .trp-shortcode-switcher__wrapper {
    --text: #0E597A !important;
    --text-hover: #0E597A !important;
}





@media (max-width: 767px) {

  .page-id-1632 .elementor-element-48c3c22 {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    background: linear-gradient(to bottom, rgba(14, 89, 122, .55), rgba(14, 89, 122, 0)) !important;
  }

}

.page-id-1632 .desktop-header{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    background: transparent;
}

/* Services & Amenities */
.page-id-25918 .hfe-menu-item:not(.elementor-button),
.page-id-22341 .hfe-menu-item:not(.elementor-button),
.page-id-26324 .hfe-menu-item:not(.elementor-button),
.page-id-26336 .hfe-menu-item:not(.elementor-button),
.page-id-26340 .hfe-menu-item:not(.elementor-button),
.page-id-24128 .hfe-menu-item:not(.elementor-button) {
    color: #111 !important;
}

.page-id-25918 .sub-arrow,
.page-id-22341 .sub-arrow{
    color: #111 !important;
}

.hero picture { display: contents; }



/* ============================================================
   HELLENIC VIBES — STICKY BOOKING BAR
   Navy #0E597C · Secondary #2DA7DF · Gold #F4BC33
   Border-radius 4px
   ============================================================ */

:root {
  --hv-navy: #0E597C;
  --hv-navy-dark: #084C6A;
  --hv-blue: #2DA7DF;
  --hv-gold: #F4BC33;
  --hv-line: #e3e3e3;
  --hv-ink: #1d1d1d;
  --hv-muted: #6b6b6b;
}

.kratisi-mobile-button { display: none !important; }


/* ============================================================
   DESKTOP (≥1025px)
   ============================================================ */

.hv-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9990;
  font-family: 'Century Gothic', sans-serif;
}

.hv-bar__head { display: none; }

.hv-bar .form-container {
  display: flex;
  align-items: stretch;
  max-width: 1280px;
  margin: 0 auto;
  margin-bottom: 20px;
  position: relative;
  box-shadow: 0 -2px 18px rgba(0, 0, 0, .14);
  background-color: #fff;
}

.hv-cell {
  position: relative;
  flex: 1 1 0;
  border-right: 1px solid var(--hv-line);
}

.hv-cell--dates { flex: 1.2 1 0; }

/* ---- Πεδίο (κουμπί που ανοίγει panel) ---- */
.hv-trigger {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  height: 100%;
  min-height: 72px;
  padding: 0 24px;
  background: none;
  border: 0;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  font-size: 17px;
  color: var(--hv-muted);
  transition: background-color .2s ease;
}

.hv-trigger:hover { 
	background: #0E597A; 
	border-radius: 0;
}
.hv-trigger.is-active { 
	background: #0E597A; 
	border-radius: 0;
}

.hv-trigger:hover .hv-ico { stroke: #fff; }
.hv-trigger.is-active .hv-ico { stroke: #fff; }

.hv-trigger__text.is-filled {
  color: var(--hv-ink);
  font-weight: 700;
}

.hv-ico {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  fill: none;
  stroke: var(--hv-navy);
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ---- Search ---- */
.hv-bar .search-button {
  flex: 0 0 220px;
  min-height: 72px;
  border: 0;
  border-radius: 0;
  background: var(--hv-navy);
  color: #fff;
  font-family: inherit;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: .6px;
  cursor: pointer;
  transition: background-color .25s ease;
}

.hv-bar .search-button:hover { background: var(--hv-navy-dark); }


/* ============================================================
   PANELS (drop-up, desktop)
   ============================================================ */

.hv-panel {
  display: none;
  position: absolute;
  bottom: 100%;
  left: 0;
  min-width: 100%;
  background: #fff;
  border: 1px solid var(--hv-line);
  border-bottom: 0;
  border-radius: 4px 4px 0 0;
  box-shadow: 0 -8px 28px rgba(0, 0, 0, .14);
  padding: 18px;
  box-sizing: border-box;
}

.hv-panel.is-open { display: block; }

.hv-panel__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--hv-line);
}

.hv-nights {
  font-size: 15px;
  font-weight: 700;
  color: var(--hv-navy);
}

.hv-link {
  background: none;
  border: 0;
  padding: 0;
  font-family: inherit;
  font-size: 15px;
  color: var(--hv-muted);
  text-decoration: underline;
  cursor: pointer;
}

.hv-link:hover { color: var(--hv-navy); }


/* ---------------- Ημερολόγιο ---------------- */

.hv-cal { position: relative; }

.hv-cal__nav {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  pointer-events: none;
}

.hv-cal__arrow {
  pointer-events: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid var(--hv-line);
  border-radius: 4px;
  background: #fff;
  color: var(--hv-navy);
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

.hv-cal__arrow:hover {
  background: var(--hv-navy);
  color: #fff;
}

.hv-cal__months {
  display: flex;
  gap: 26px;
}

.hv-cal__month { flex: 1 1 0; }

.hv-cal__caption {
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  color: var(--hv-navy);
  margin-bottom: 10px;
  min-height: 34px;
  line-height: 34px;
}

.hv-cal__grid {
  width: 100%;
  border-collapse: collapse;
}

.hv-cal__grid th {
  font-size: 12px;
  font-weight: 400;
  color: var(--hv-muted);
  padding-bottom: 6px;
}

.hv-cal__grid td {
  padding: 1px;
  text-align: center;
}

.hv-day {
  width: 100%;
  min-width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: none;
  font-family: inherit;
  font-size: 14px;
  color: var(--hv-ink);
  cursor: pointer;
}

.hv-day:hover:not(:disabled) {
  background: #e8f1f5;
}

.hv-day:disabled {
  color: #c8c8c8;
  cursor: default;
}

.hv-day.is-between {
  background: #e8f1f5;
  border-radius: 0;
}

.hv-day.is-start,
.hv-day.is-end {
  background: var(--hv-navy);
  color: #fff;
  font-weight: 700;
}

/* Προεπισκόπηση εύρους καθώς κινείται το ποντίκι */
.hv-day.is-between.is-preview {
  background: #f0f6f9;
}

.hv-day.is-end.is-preview {
  background: #cfe2eb;
  color: var(--hv-navy);
}


/* ---------------- Steppers ---------------- */

.hv-panel--guests { min-width: 340px; }

.hv-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 12px 0;
  border-bottom: 1px solid var(--hv-line);
}

.hv-row:last-child { border-bottom: 0; }

.hv-row__label strong {
  display: block;
  font-size: 16px;
  color: var(--hv-ink);
}

.hv-row__label small {
  display: block;
  font-size: 12px;
  color: var(--hv-muted);
}

.hv-step {
  display: flex;
  align-items: center;
  gap: 14px;
}

.hv-step__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid var(--hv-line);
  background: #fff;
  color: var(--hv-navy);
  font-size: 18px;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  transition: border-color .2s ease, color .2s ease;
}

.hv-step__btn:hover:not(:disabled) { border-color: var(--hv-navy); }

.hv-step__btn:disabled {
  color: #cfcfcf;
  cursor: default;
}

.hv-step__val {
  min-width: 22px;
  text-align: center;
  font-size: 17px;
  font-weight: 700;
  color: var(--hv-ink);
}


/* ---------------- Μήνυμα λάθους ---------------- */

.hv-error {
  position: absolute;
  bottom: 100%;
  right: 0;
  margin: 0 0 8px;
  padding: 8px 14px;
  background: var(--hv-gold);
  color: #0D0D0D;
  font-size: 14px;
  border-radius: 4px;
}


/* ---------------- Μπάρα κινητού: κρυφή σε desktop ---------------- */

.hv-mobile-bar { display: none; }

.hv-mobile-bar {
  z-index: 999999 !important;
  pointer-events: auto;
}
.hv-mobile-bar__book {
  position: relative;
  z-index: 1;
}
.hv-mobile-bar{
    z-index: 999999 !important;
}

.hv-mobile-bar__book{
    pointer-events:auto !important;
}

#form-wrapper{
    z-index: 999998 !important;
}


/* ============================================================
   MOBILE / TABLET (≤1024px)
   Η μπάρα γίνεται 2 κουμπιά · το πλήρες πάνελ ανοίγει fullscreen
   ============================================================ */


@media (max-width: 1024px) {
	
	
	.hv-contact {
  flex: 0 0 32%;
}

.hv-mobile-bar__call {
  width: 100%;
}

.hv-contact__menu {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(100% + 8px);
  background: #fff;
  border: 1px solid var(--hv-line);
  border-radius: 4px;
  box-shadow: 0 -4px 16px rgba(0, 0, 0, .15);
  overflow: hidden;
  width: 100%;
}

.hv-contact.is-open .hv-contact__menu {
  display: block;
}

.hv-contact__item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  font-family: 'Century Gothic', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: var(--hv-navy);
  text-decoration: none;
  border-bottom: 1px solid var(--hv-line);
  -webkit-tap-highlight-color: transparent;
}

.hv-contact__item:last-child { border-bottom: 0; }

.hv-contact__item:active {
  background: #e8f1f5;
}

.hv-contact__ico {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  fill: var(--hv-blue);
}
	
	
	
	
	/* Το μικρό μπαράκι (Call / BOOK DIRECT) κρύβεται όσο είναι
   ανοιχτό το sheet — μένει μόνο το Search μέσα στο ίδιο το sheet.
   Το body.hv-noscroll μπαίνει/βγαίνει ήδη από το openSheet()/closeSheet(). */
body.hv-noscroll .hv-mobile-bar {
  display: none;
}
	
	
	/* Σβήνουμε το προεπιλεγμένο μαύρο/γκρι tap-highlight του browser */
.hv-bar,
.hv-bar * {
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
}

/* Κανένα hover effect στο κινητό — δεν έχει νόημα χωρίς ποντίκι */
.hv-day:hover:not(:disabled),
.hv-trigger:hover,
.hv-cal__arrow:hover,
.hv-step__btn:hover:not(:disabled),
.hv-link:hover {
  background: transparent;
  border-color: var(--hv-line);
  color: inherit;
}

/* Καθαρό, brand feedback στο πάτημα — light blue tint αντί για μαύρο */
.hv-day:active:not(:disabled) {
  background: #e8f1f5;
}

.hv-day.is-start:active,
.hv-day.is-end:active {
  background: var(--hv-navy);
}

.hv-trigger:active,
.hv-cal__arrow:active,
.hv-step__btn:active:not(:disabled) {
  background: #e8f1f5;
  border-color: var(--hv-navy);
}

.hv-link:active {
  color: var(--hv-navy);
}
	
	
	
	
	

  /* ---- Το κύριο panel γίνεται fullscreen sheet ---- */
  .hv-bar {
    top: 0;
    bottom: 0;
    z-index: 100000;
    display: flex;
    flex-direction: column;
    background: #fff;
    box-shadow: none;
    transform: translateY(100%);
    transition: transform .28s ease;
    visibility: hidden;
    overflow: hidden;
  }

  .hv-bar.is-sheet-open {
    transform: translateY(0);
    visibility: visible;
  }

  .hv-bar__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: 0 0 auto;
    padding: 14px 16px;
    border-bottom: 1px solid var(--hv-line);
  }

  .hv-bar__title {
    font-size: 18px;
    font-weight: 700;
    color: var(--hv-navy);
  }

.hv-bar__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: none;
  font-size: 30px;
  line-height: 1;
  color: var(--hv-ink);
  cursor: pointer;
}

.hv-bar .form-container {
  display: flex;
  align-items: stretch;
  max-width: 1280px;
  margin: 0 auto;
  margin-bottom: 20px;
  position: relative;
  box-shadow: 0 -2px 18px rgba(0, 0, 0, .14);
  background-color: #fff;
  border-radius: 10px;
  overflow: hidden;
}

  /* ---- Τα triggers κρύβονται: όλα ανοιχτά ταυτόχρονα ---- */
.hv-cell {
    border-right: 0;
    border-bottom: 1px solid var(--hv-line);
    padding: 0;
}

/* ---- Τα triggers είναι πλέον ορατά και στο mobile ---- */
.hv-trigger {
    display: flex;
    min-height: 56px;
    padding: 14px 4px;
	font-size: 15px;

}
  /* ---- Τα panels γίνονται inline ενότητες ---- */
.hv-panel {
    display: none;          /* κλειστό από προεπιλογή */
    position: static;
    border: 0;
    box-shadow: none;
    padding: 0 4px 16px;
    min-width: 0;
}

.hv-panel.is-open {
    display: block;         /* ανοίγει μόνο όταν πατηθεί */
}

  /* ---- Ημερολόγιο: κάθετα, με scroll ---- */
  .hv-cal__months {
    display: block;
  }

  .hv-cal__month { margin-bottom: 22px; }

  .hv-cal__nav {
    position: static;
    justify-content: flex-end;
    gap: 8px;
    margin-bottom: 6px;
  }

.hv-cal__arrow {
  width: 42px;
  height: 42px;
  font-size: 18px;
}

.hv-day {
  height: 42px;
  font-size: 14px;
}

.hv-row__label strong { font-size: 15px; }
.hv-row__label small  { font-size: 11px; }
.hv-step__val         { font-size: 15px; }

.hv-step__btn {
  width: 42px;
  height: 42px;
  font-size: 18px;
}

  .hv-row { padding: 14px 0; }

  /* ---- Search: κολλημένο στο κάτω μέρος του sheet ---- */
  .hv-bar .search-button {
    position: sticky;
    bottom: 0;
    width: 100%;
    flex: none;
    min-height: 56px;
    margin-top: 18px;
    border-radius: 4px;
    font-size: 18px;
  }

  .hv-error {
    position: static;
    display: block;
    margin: 10px 0 0;
    text-align: center;
  }

  /* ---- Η μικρή μπάρα που ανοίγει το sheet ---- */
  .hv-mobile-bar {
    display: flex;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9998;
    gap: 8px;
    padding: 8px;
    padding-bottom: calc(8px + env(safe-area-inset-bottom));
    background: #fff;
    box-shadow: 0 -2px 12px rgba(0, 0, 0, .18);
    box-sizing: border-box;
  }

  .hv-mobile-bar a,
  .hv-mobile-bar button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    border-radius: 4px;
    font-family: 'Century Gothic', sans-serif;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .4px;
    text-decoration: none;
    cursor: pointer;
  }

  .hv-mobile-bar__call {
    flex: 0 0 32%;
    color: var(--hv-navy);
    background: #fff;
    border: 2px solid var(--hv-navy);
  }

  .hv-mobile-bar__book {
    flex: 1 1 auto;
    color: #fff;
    background: var(--hv-navy);
    border: 0;
  }

  .hv-mobile-bar__book:active { background: var(--hv-navy-dark); }

  body { padding-bottom: 74px; }

  body.hv-noscroll { overflow: hidden; }

  /* Η θέση του WhatsApp ρυθμίζεται στην ενότητα "FLOATING BUBBLES"
     παρακάτω — ΔΕΝ ξαναορίζεται εδώ, ώστε να μην έχουμε δύο
     διαφορετικές τιμές (90px εδώ, 88px εκεί) να παλεύουν μεταξύ τους. */
}


/* ============================================================
   5. FLOATING BUBBLES — WhatsApp & RateParity
   Ενοποιημένο από 3 διαφορετικά σημεία όπου ζούσε πριν
   (Woody "combined css", theme style.css x2). Οι τιμές εδώ
   είναι οι ΤΕΛΙΚΕΣ, ενεργές τιμές — μία φορά η κάθε μία.
   ============================================================ */



@media (max-width: 1024px) {
  .whatsapp,
  .float {
    display: none !important;
  }
}


/* ---- RateParity ---- */
.MinimizedWidget-root {
    right: 12px !important;
}

/* Placeholder space για το widget */
.rate-parity-container {
    min-height: 100px !important;
    width: 300px !important;
}

/* Rate parity specific */
.MinimizedWidget-content {
    contain: layout size style;
}

#rp-allinone {
    display: none !important;
    box-sizing: border-box;
}
:host(#rp-allinone) * {
    display: none !important;
    box-sizing: border-box;
}

/* ---- WhatsApp ---- */
@media (min-width: 1025px) {

  .whatsapp {
    right: 24px !important;
    left: auto !important;
    bottom: 168px !important;
    fill: #fff !important;
  }

  .MinimizedWidget-root {
    right: 24px !important;
    bottom: 240px !important;
  }

}

.my-float {
  margin-top: 16px;
}

.float {
  position: fixed;
  width: 60px;
  height: 60px;
  bottom: 20px;
  right: 20px;
  background-color: #25D366;
  color: white;
  border-radius: 50%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
  z-index: 1000;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.float:hover {
  background-color: #128C7E;
  transform: scale(1.1);
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5);
}

.my-float {
  width: 50%;
  height: auto;
}

@media (max-width: 1024px) {
  .whatsapp {
    bottom: 90px !important;
    left: 16px !important;
  }
}

@media (max-width: 768px) {
  .float {
    width: 50px;
    height: 50px;
    font-size: 24px;
  }
  .my-float {
    margin-top: 12px;
  }
}


/* ============================================================
   6. THEME EXTRAS — Δωμάτια/Σουίτες, Εστιατόριο, Popups, Footer
   (πρώην Astra Child theme's style.css, κύριο σώμα)
   ============================================================ */

.popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.popup {
    background: #fff;
    padding: 30px;
    border-radius: 24px;
    text-align: center;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    width: 600px;
    height: 400px;
    background-image: url(https://files.elfsightcdn.com/eafe4a4d-3436-495d-b748-5bdce62d911d/eb6a136e-7761-4229-860f-c68ee69a23df/DSA80003.webp);
    background-size: cover;
    background-position: center;
    background-color: rgb(41, 41, 41);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    box-sizing: border-box;
}

.popup h2 {
       margin-top: 0;
    color: #fff;
    text-align: left;
    font-size: 40px;
    margin-left: -209px;
}

.popup p {
    color: #fff;
    text-align: left;
    font-size: 23px;
    margin-left: -48px;
    position: relative;
    left: -101px;
}

/* ✅ FIX: Style ONLY "ROOMS & SUITES" Button */
.popup .redirect-btn {
    background: #0e597c;
    color: #fff;
    border: none;
    width: 308px;
    font-size: 16px;
    padding: 12px 20px;
    border-radius: 20px;
    cursor: pointer;
    transition: background 0.3s;
    position: relative;
    top: 50px;
}

.popup .redirect-btn:hover {
    transform: scale(1.1);
}

/* ✅ FIX: Style the Close Button Separately */
.close-btn {
    position: absolute;
    top: 15px;
    right: 15px;
    background: none;
    border: none;
    font-size: 28px;
    color: white;
    cursor: pointer;
    z-index: 10;
}

/* Mobile Styles */
@media (max-width: 768px) {
    .popup {
        width: 90%;
        height: 300px;
        padding: 20px;
    }

        .popup h2 {
             font-size: 24px;
        left: 40px;
        position: relative;
    }

    .popup p {
        font-size: 20px;
        color: white;
        left: -13px;
        top: 11px;
    }

    .popup .redirect-btn {
           width: 220px;
        font-size: 12px;
        padding: 8px 15px;
        top: 18px;
    }

    .close-btn {
        font-size: 24px;
        top: 10px;
        right: 10px;
    }
}

@media (max-width: 480px) {
    .popup {
        width: 90%;
        height: 250px;
        padding: 15px;
    }

      .popup h2 {
        font-size: 24px;
        left: 40px;
        position: relative;
    }
    .popup p {
      font-size: 20px;
        color: white;
        left: -13px;
        top: 11px;
    }

    .popup .redirect-btn {
               width: 220px;
        font-size: 12px;
        padding: 8px 15px;
        top: 18px;
    }

    .close-btn {
        font-size: 22px;
        top: 8px;
        right: 8px;
    }
}

.homepage-custom-slider {
    touch-action: pan-y; /* Allow only vertical scrolling outside of the slider */
    overflow: hidden;    /* Ensure content doesn't overflow during swiping */
}



/* Prevent zooming on the lightbox */
.homepage-custom-lightbox {
    touch-action: none; /* Disable pinch and double-tap zoom */
}


/* Font size adjustments for mobile devices */
@media (max-width: 768px) {
    .homepage-heading {
        font-size: 26px !important; /* Smaller font for mobile */
    }
}
/* Common Heading Styles */
.homepage-custom-slider h2 {
    font-size: 26px !important;
    font-weight: bold;
    text-align: left;
}

.homepage-heading-suites{
   left: 11% !important;
}
.homepage-heading-rooms {
    color: #fff; /* Customize the color for rooms */
	left : 2% !important;
}

/* Suites Heading */
.homepage-heading-suites {
    color: #fff; /* Customize the color for suites */
}
/* Keyframes for right-to-left animation */
@keyframes slideInFromRight {
    0% {
        transform: translateX(100%);
        opacity: 0;
    }
    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Heading Animation */
.homepage-heading {
    position: relative;
    opacity: 0;
    transform: translateX(100%);
    animation: none; /* No animation by default */
}

/* Activate animation when the parent slide is active */
.homepage-custom-slider-slide.active .homepage-heading {
    animation: slideInFromRight 0.7s ease-in-out forwards;
}

.homepage-custom-suite-lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.homepage-custom-suite-lightbox-content {
    position: relative;
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    max-width: 90%;
    max-height: 90%;
    text-align: center;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.homepage-custom-suite-lightbox-slider img {
    max-width: 100%;
    max-height: 70vh;
    display: none;
    object-fit: contain;
    transition: opacity 0.5s ease-in-out;
}

.homepage-custom-suite-lightbox-prev,
.homepage-custom-suite-lightbox-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 2rem;
    color: white;
    cursor: pointer;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2000;
}

.homepage-custom-suite-lightbox-prev {
    left: 10px;
}

.homepage-custom-suite-lightbox-next {
    right: 10px;
}

.homepage-custom-suite-lightbox-prev:hover,
.homepage-custom-suite-lightbox-next:hover {
    background: rgba(0, 0, 0, 0.8);
}

.homepage-custom-suite-lightbox-description {
    margin-top: 15px;
    font-size: 1.2rem;
    color: #333;
    text-align: center;
    width: 100%;
}

.homepage-custom-suite-lightbox-close {
    position: absolute;
    top: 10px;
    right: 20px;
    font-size: 25px;
    color: white;
    cursor: pointer;
    background: black;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.homepage-custom-slider-slide {
    flex: 0 0 100%; /* Κάθε διαφάνεια καταλαμβάνει 100% */
    max-width: 100%; /* Εξασφαλίζει ότι δεν ξεπερνά το πλάτος */
}
.homepage-custom-slider-slide {
    display: none;
}
.homepage-custom-slider-slide.active {
    display: block;
}


/* Slider Container */
.homepage-slider-container {
  position: relative;
  overflow: hidden !important;
  width: 100%;
}

.homepage-slider-wrapper {
  display: flex;
      overflow: hidden;

  transition: transform 0.5s ease-in-out;
}


/* Pagination Bullets */
.homepage-pagination {
  display: flex;
  justify-content: center;
  margin-top: 10px;
}

.pagination-bullet {
  width: 12px;
  height: 12px;
  margin: 0 5px;
  background-color: gray;
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 0.3s;
}

.pagination-bullet.active {
  background-color: black;
}


/* Suites Grid Layout */
.homepage-custom-suites {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    max-width: 2200px;
    margin: 0 auto;
    padding: 20px;
}
/* Tablets and smaller devices: 2 items per row */
@media (min-width: 1024px) {
   .homepage-custom-suite-container {
        width: calc(50% - 20px) !important; /* Two items per row */
    }
    
}

/* Suite Container */
.homepage-custom-suite-container {
    position: relative;
    width: calc(33.33% - 26.66px); /* Three items per row */
    max-width: 600px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 4px;
}

/* Suite Slider */
.homepage-custom-suite-slider {
    position: relative;
    width: 100%;
    height: 400px;
    box-sizing: border-box;
    overflow: hidden;
    border-radius: 8px;
}

.homepage-custom-suite-slider img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

/* Suite Overlay */
.homepage-custom-suite-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
    color: white;
    text-align: center;
    z-index: 0;
}

/* Suite Title (Always Visible) */
.homepage-custom-suite-title {
    font-size: 18px;
    font-weight: bold;
    position: absolute;
    top: 80%;
    left: 20px;
    transform: translate(0, -50%);
    z-index: 2;
    color: white;
    text-align: left;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7);
}



.homepage-custom-suite-size {
    font-size: 16px;
    color: #fff;
    font-weight: 800;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
    position: absolute;
    margin-top: 13%;
    left: 20px;
    opacity: 0;
    z-index: 2;
    color: #fff !important;
    background-color: rgba(0, 0, 0, 0.3)!important;
    padding: 5px 10px!important;
    border-radius: 5px!important;
    transition: none !important;
}
/* Hover Effect for m² Info */
.homepage-custom-suite-container:hover .homepage-custom-suite-size {
    opacity: 1;
    top: 65%;
}

/* Mobile Version */
@media (max-width: 768px) {
    .homepage-custom-suite-container,
    .homepage-custom-room-container {
        width: calc(100% - 20px); /* Full width with small padding */
        margin: 10px auto; /* Reduce gap between boxes */
        padding: 0; /* Remove internal padding */
    }

    .homepage-custom-suite-slider,
    .homepage-custom-room-slider {
        height: 350px; /* Adjust height for better proportion */
    }

    .homepage-custom-suite-title,
    .homepage-custom-room-title {
        font-size: 18px; /* Keep font size readable */
        top: 70%; /* Align vertically within the slider */
        left: 10px; /* Align to the left for consistent look */
        transform: translateY(-50%); /* Center vertically */

    }

    .homepage-custom-suite-size,
    .homepage-custom-room-size {
        font-size: 0.9rem; /* Smaller but readable text */
        top: 78%; /* Position below the title */
        left: 10px; /* Align with the title */
        color: #ddd; /* Subtle color for size info */
        text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6); /* Ensure visibility */
    }

.homepage-custom-suite-buttons,
.homepage-custom-room-buttons {
    position: absolute;
   margin-top: 35px; /* Move further down */
    margin-right: -45px; /* Move further to the right */
    transform: rotate(90deg); /* Keep the rotation */
    display: flex;
    justify-content: flex-end;
    z-index: 2;
}




    .homepage-custom-suite-overlay,
    .homepage-custom-room-overlay {
        opacity: 1; /* Make sure the overlay is visible */
    }

    .homepage-custom-suite-container:hover .homepage-custom-suite-size,
    .homepage-custom-room-container:hover .homepage-custom-room-size {
        opacity: 1; /* Ensure visibility when hovered (optional for mobile) */
    }
}


.homepage-custom-room {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    max-width: 1500px;
    margin: 0 auto;
    padding: 20px;
}

/* Room Container */
.homepage-custom-room-container {
    position: relative;
        flex: 0 1 calc(25% - 20px); /* First row: 4 items (25% each) */
    max-width: 700px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 8px;
}

/* Room Slider */
.homepage-custom-room-slider {
    position: relative;
    width: 100%;
    height: 400px;
    box-sizing: border-box;
    overflow: hidden;
    border-radius: 8px;
}

.homepage-custom-room-slider img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}


.homepage-custom-room-container:hover .homepage-custom-room-overlay {
    opacity: 1;
}

.homepage-custom-room-title {
    font-size: 18px; /* Smaller font size */
    font-weight: bold;
    position: absolute;
    top: 80%; /* Slightly lower */
    left: 20px; /* Move further to the left */
    transform: translate(0, -50%); /* Adjust centering */
    z-index: 2;
    color: white;
    text-align: left; /* Align text to the left */
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7); /* Subtle shadow for better readability */
    transition: top 0.5s ease, opacity 0.5s ease;
}




.homepage-custom-suite-button{
    display: inline-block;
    padding: 8px 25px;
    font-size: 1.2em;
    color: white;
    font-weight: bold;
    text-decoration: none !important;
    border: 1px solid white;
    transition: background-color 0.3s ease, color 0.3s ease;
    background-color: transparent;
    border-radius: 4px;
    letter-spacing: 2px;
    text-shadow: 1px 1px 1px #00000078;
}

.homepage-custom-suite-buttons {
    position: absolute;
    top:70px; /* Move further down */
    right: -40px; /* Move further to the right */
    transform: rotate(90deg);
    display: flex;
    justify-content: flex-end;
    z-index: 2;
}
.homepage-custom-room-buttons {
    position: absolute;
    top:70px; /* Move further down */
    right: -40px; /* Move further to the right */
    transform: rotate(90deg);
    display: flex;
    justify-content: flex-end;
    z-index: 2;
}

.homepage-custom-room-button {
    display: inline-block;
    padding: 8px 25px;
    font-size: 1.2em;
    color: white;
    font-weight: bold;
    text-decoration: none !important;
    border: 1px solid white;
    transition: background-color 0.3s ease, color 0.3s ease;
    background-color: transparent;
    border-radius: 4px;
    letter-spacing: 2px;
    text-shadow: 1px 1px 1px #00000078;
}


.homepage-custom-suite-button:hover{
    background-color: white;
    color: #0e597c;
}
.homepage-custom-room-button:hover {
    background-color: white;
    color: #0e597c;
}

.homepage-custom-room-size {
    font-size: 16px;
    color: #fff;
    font-weight: 800;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
    position: absolute;
    margin-top: 21%; /* Position it below the title */
    left: 20px; /* Align with the title */
    opacity: 0; /* Hidden by default */
    transition: opacity 0.5s ease, top 0.5s ease;
    z-index: 2;
}

/* Show on hover */
.homepage-custom-room-container:hover .homepage-custom-room-size {
    opacity: 1;
    top: 65%; /* Slightly animate it into view */
}

/* Lightbox Styles */
.homepage-custom-lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.homepage-custom-lightbox-content {
    position: relative;
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    max-width: 90%;
    max-height: 90%;
    text-align: center;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.homepage-custom-lightbox-slider img {
    max-width: 100%;
    max-height: 70vh;
    display: none;
    object-fit: contain;
    transition: opacity 0.5s ease-in-out;
}

.homepage-custom-lightbox-prev,
.homepage-custom-lightbox-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 2rem;
    color: white;
    cursor: pointer;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2000;
}

.homepage-custom-lightbox-prev {
    left: 10px;
}

.homepage-custom-lightbox-next {
    right: 10px;
}

.homepage-custom-lightbox-prev:hover,
.homepage-custom-lightbox-next:hover {
    background: rgba(0, 0, 0, 0.8);
}

.homepage-custom-lightbox-description {
    margin-top: 15px;
    font-size: 1.2rem;
    color: #333;
    text-align: center;
    width: 100%;
}

.homepage-custom-lightbox-close {
    position: absolute;
    top: 10px;
    right: 20px;
    font-size: 25px;
    color: white;
    cursor: pointer;
    background: black;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .homepage-custom-room-container {
        width: calc(100% - 20px);
    }

    .homepage-custom-room-slider {
        height: 350px;
    }
}
@media (max-width: 768px) {

.pagination-bullet {
width: 15px;
height: 15px;
    
}
   .homepage-custom-room-title {
        font-size: 18px; /* Smaller font size for mobile */
        top: 78%; /* Positioned further down */
        left: 10px; /* Aligned to the left with padding */
        text-align: left; /* Align text to the left */
       
        color: white; /* Keep it readable on images */
        z-index: 2;
        transition: top 0.5s ease, opacity 0.5s ease;
    }

    /* Room size adjustments for mobile */
    .homepage-custom-room-size {
        font-size: 0.9em; /* Slightly smaller font for mobile */
margin-top: 7%;
left: 10px; /* Align with title */
        color: #ddd; /* Softer color for mobile */
        opacity: 0; /* Hidden by default */
        transition: opacity 0.5s ease, top 0.5s ease;
    }

    /* Show size on hover for mobile */
    .homepage-custom-room-container:hover .homepage-custom-room-size {
        opacity: 1;
        top: 78%; /* Animate into view */
    }

}

@media (min-width: 1024px) and (max-width: 1440px) {
    .homepage-custom-room-title {
        font-size: 19px;
    }

    .homepage-custom-room-container:hover .homepage-custom-room-title {
        margin-top:1%;
    }

    .homepage-custom-room-container:hover .homepage-custom-room-paragraph {
        bottom: 36%;
        opacity: 1;
    }
}


/* Για Tablets (δύο στήλες) */
@media (max-width: 1024px) {
    
  

    .homepage-custom-room-container {
        flex: 0 1 calc(50% - 20px); /* Δύο στήλες */
    }
	 .homepage-heading h2{
        font-size: 15px; /* Slightly smaller for tablets */
    }
	    .homepage-custom-room-container .homepage-custom-room-buttons,
    .homepage-custom-suite-container .homepage-custom-suite-buttons {
        position: absolute;
        right: 10px; /* Adjust right placement */
        transform: rotate(90deg); /* Keep the rotation */
        display: flex;
        justify-content: flex-end;
        z-index: 2;
    }

    .homepage-custom-room-container .homepage-custom-room-button,
    .homepage-custom-suite-container .homepage-custom-suite-button {
        font-size: 0.8rem; /* Smaller font for tablet */
        padding: 5px 15px; /* Compact button size */
        border: 1px solid white;
        border-radius: 4px;
        background-color: transparent;
        color: white;
        text-shadow: 1px 1px 1px #000;
        transition: background-color 0.3s ease, color 0.3s ease;
    }

    .homepage-custom-room-container .homepage-custom-room-button:hover,
    .homepage-custom-suite-container .homepage-custom-suite-button:hover {
        background-color: white;
        color: black;
    }
}

/* Για Κινητά (μία στήλη) */
@media (max-width: 768px) {
    .homepage-custom-room-container {
        flex: 0 1 100%; /* Μία στήλη */
    }
	
}




@media(min-width:770px){
.text-content {
  padding: 20px;
  width: 100%; /* Set width for consistent alignment */
  margin: 0 auto; /* Center text content horizontally */
  line-height: 1.8; /* Improve line spacing for readability */
  overflow-wrap: break-word; /* Ensure long words break properly */
  word-break: break-word; /* Compatibility for older browsers */
}}

@media(max-width:769px){
.text-content {
  padding: 20px;
  width: 100%; /* Set width for consistent alignment */
  margin: 0 auto; /* Center text content horizontally */
  line-height: 1.8; /* Improve line spacing for readability */
  overflow-wrap: break-word; /* Ensure long words break properly */
  word-break: break-word; /* Compatibility for older browsers */
}}

.text-content p {
  font-size: 19px;
  margin-bottom: 15px; /* Add consistent spacing between paragraphs */
  line-height: 1.8; /* Ensure consistent spacing */
  word-break: break-word; /* Handle long words properly */
  overflow-wrap: break-word; /* Ensure text wrapping */
}


.image-grid {
  display: grid;
  grid-template-rows: repeat(1, 1fr); /* Arrange images in rows */
  gap: 10px; /* Small gap between images */
  margin-left: 50px; /* Push the image grid further right */
}

.image-grid img {
  width: 250% !important;
  height: 100%; /* Ensure images fill their grid cells */
  object-fit: cover; /* Ensure images maintain aspect ratio */
}

/* Adjust the first image (large image) */
.image-grid .large {
  grid-column: 1 / 2; /* Left column */
  grid-row: span 2; /* Span two rows */
  max-height: 600px; /* Reduce height to ensure balance */
}

.image-grid .medium {
  transform: scaleX(1.3); /* Increase the width by 30% */
  transform-origin: left center; /* Stretch from the left */
}

.image-grid .small {
  grid-column: 2 / 3; /* Right column */
  grid-row: 2; /* Second row */
  object-fit: cover; /* Maintain aspect ratio */
}

  .hours-section {
      display: flex;
      flex-wrap: wrap;
      max-width: 400px;
      background-color: white;
      border-radius: 8px;
      overflow: hidden;
      
      box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    }

    .hours-section .details {
      flex: 1;
      background-color: #0e597c;
      color: white;
      padding: 50px;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .hours-section .details h3 {
      font-size: 1.5rem;
      margin-bottom: 10px;
            color: white;

    }

    .hours-section .details ul {
      list-style-type: disc;
      margin-left: 20px;
      margin-bottom: 10px;
    }

    .hours-section .details ul li {
      margin-bottom: 8px;
      font-size: 19px;
    }

    .hours-section .details p {
      margin-top: 10px;
      font-size: 19px;
    }
    
    
    /* Responsive Design */
@media (max-width: 1524px) {
    .hours-section {
        height: 300px !important; 
    }

    .hours-section .details {
        padding: 30px; /* Adjust padding for smaller screens */
    }

    .hours-section .details h3 {
        font-size: 29px;
    }

    .hours-section .details ul li,
    .hours-section .details p {
        font-size: 0.9rem;
    }
}


    /* Responsive Design */
    @media (max-width: 768px) {
      .hours-section {
        flex-direction: column;
      }

      .hours-section .image {
        flex: none;
        height: 200px;
      }

      .hours-section .details {
        padding: 15px;
        text-align: center;
      }


    .hours-section .details p {
margin-left: -5%;
}

      .hours-section .details ul li {
font-size: 16px;
text-align: left;
margin-left: 2%;
      }

      .hours-section .details ul {
        margin-left: 0;
        padding-left: 0;
        list-style-type: none;
        
      }
    }
  
  .pdf-icon {
  width: 24px; /* Adjust size as needed */
  height: 24px;
}
/* Responsive Design for Mobile and Small Tablets */
@media (max-width: 768px) {
  /* Adjust text size for mobile */
  .breakfast-content p {
    font-size: 19px !important; /* Smaller text size for mobile */
    
  }

  .breakfast-time strong,
  .breakfast-certification,
  .breakfast-request {
    font-size: 16px; /* Adjust all text elements to 16px on mobile */
  }

 .breakfast-list {
    display: grid;
    grid-template-columns: 1fr; /* Stack list items in a single column on mobile */
    row-gap: 8px; /* Add spacing between rows */
    margin-left: 20px;
  }

  .breakfast-list li {
    font-size: 19px !important; /* Smaller font size for better fit */
    line-height: 1.4; /* Adjust line height for better spacing */
    white-space: normal; /* Allow text to wrap */
  } 
  /* Adjust link size */
  .certification-link {
    font-size: 16px;
  }
}


.breakfast-content {
  max-width: 600px;
  margin: 0; /* Remove centering */
  padding-left: 10px; /* Add left padding for slight spacing from the edge */
}

  .breakfast-list {
    grid-template-columns: 1fr; /* Switch to 1 column on mobile */
    padding-left: 10px; /* Add padding for readability */
    margin-left: 20px;
  }

  .breakfast-list li {
    white-space: normal; /* Allow wrapping for mobile */
    font-size: 19px; /* Smaller font size for better fit */
    line-height: 1.4; /* Adjust line height for readability */
  }
.breakfast-time strong {
  color: #0e587b; /* Apply the color specifically to the <strong> elements */
}

.breakfast-request {
  font-size: 16px !important; /* Set a smaller font size */
}
.breakfast-certification {
  font-size: 16px !important;
  margin-top: 10px;
}

.certification-link {
  font-weight: bold;
  color: #075985;
  text-decoration: none;
}

.certification-link:hover {
  text-decoration: underline;
  color: #003f6b;
}

.breakfast-content p {
  font-size: 19px;
  color: black;
  margin-bottom: 15px;
  padding-left: 10px; /* Align text to the left */
}

/* Main container */
.custom-services-container {
  display: grid;
  grid-template-columns: 2fr 2fr; /* Large image takes 2/3, right text takes 1/3 */
  gap: 20px;
  max-width: 900px;
  margin: 0 auto;
}

.custom-image-large img {
    width: 100%;
    height: 740px;
    object-fit: cover;
}
/* Right text content */
.custom-text-right {
  display: flex;
  flex-direction: column;
  gap: 20px;

    margin-top: 50px; /* Move the text down for PC, laptop, and tablet */
}

.custom-text-right h4 {
  font-size: 26px;
  color: #0e587b;
  font-weight: bold;
  margin-bottom: 10px;
}

.custom-text-right p {
  font-size: 19px;
  text-align: justify;
  color: #333;
  line-height: 1.6;
}


.custom-small-image-text {
    margin-top: 18px !important;
    margin-bottom: 150px !important;
    display: flex
;
    align-items: center;
    gap: 20px;
}
.custom-image-small img {
  width: 1400px; /* Adjust size */
  margin-right: 250px;
}

.custom-text-next {
  min-width: calc(100% - 20px); /* Adjust 20px based on the padding/margin */

}

.custom-text-next h4 {
  font-size: 26px;
  color: #0e587b;
  font-weight: bold;
}

.custom-text-next p {
  font-size: 19px;
  color: #333;
  line-height: 1.6;
}

/* Tablet adjustments */
@media (max-width: 1024px) {
  .custom-services-container {
grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .custom-text-right {
    margin-top: 20px; /* Add spacing */
  }

  .custom-small-image-text {
          flex-direction: unset;
        align-items: self-end;
  }

  .custom-image-small img {
    width: 80%; /* Scale small image */
  }

  .custom-text-next {
        text-align: center;
        /* margin-left: -47px; */
        /* width: 164px; */
        /* max-width: 300px; */
        min-width: calc(76% - 20px);
	}
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .custom-services-container {
    grid-template-columns: 1fr; /* Stack all elements */
	  	  overflow: hidden;

  }

  .custom-image-large img {
    width: 100%;
    height: auto; /* Adjust large image for mobile */
  }

  .custom-text-right {
    text-align: center; /* Center text */
    gap: 15px; /* Adjust spacing */
  }

  .custom-text-right h4 {
    font-size: 20px; /* Adjust heading size */
  }

  .custom-text-right p {
    font-size: 16px; /* Adjust paragraph size */
  }

  .custom-small-image-text {
    flex-direction: column; /* Stack small image and text */
    align-items: center;
    gap: 15px;
  }

  .custom-image-small img {
    width: 70%; /* Make small image responsive */
    margin-left: 50px;
  }

  .custom-text-next {
    text-align: center; /* Center text */
    font-size: 14px;
  }

  .custom-text-next h4 {
    font-size: 18px; /* Adjust heading size */
  }

  .custom-text-next p {
    font-size: 16px;
  }
}


.new-lightbox-content {
    position: relative;
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    max-width: 90%;
    max-height: 90%;
    text-align: center;
    display: flex; /* Add this */
    flex-direction: column; /* Stack content vertically */
    justify-content: center; /* Center content vertically */
    align-items: center; /* Center content horizontally */
    overflow: hidden;
}
.new-lightbox-slider img {
    display: block;
    max-width: 100%;
    max-height: 70vh; /* Ensure the image fits within the viewport */
    margin: 0 auto;
    object-fit: contain; /* Maintain aspect ratio */
}
.new-lightbox-prev,
.new-lightbox-next {
    position: absolute;
    top: 50%; /* Center vertically */
    transform: translateY(-50%);
    font-size: 2rem;
    color: white;
    cursor: pointer;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2000;
}

.new-lightbox-prev {
    left: 10px;
}

.new-lightbox-next {
    right: 10px;
}
.new-lightbox-description {
    margin-top: 15px;
    font-size: 1.2rem;
    color: #333;
    text-align: center;
    width: 100%; /* Stretch across the container */
}



 body.lightbox-active {
        overflow: hidden !important;
    }






@media (max-width: 768px) {
    .new-lightbox-slider img {
               max-width: 100% !important;
        max-height: 47vh !important;
        object-fit: contain;
    }
}







.unique-room {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px;
        max-width: 2200px;
        margin: 0 auto;
        padding: 20px;
    }

    .unique-room-container {
        position: relative;
        width: calc(33.33% - 26.66px); 
        max-width:600px;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        align-items: center;
		margin-right: auto;
    }

    .unique-room-slider {
        position: relative;
        width: 100%;
        height: 200px;
        box-sizing: border-box;
        overflow: hidden;
        border-radius: 8px;
    }

    .unique-room-slider img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 8px;
    }


/* Small Images (narrow or tall) */
.lightbox-content img.small-image {
    max-width: 20%; /* Shrink for specific aspect ratio */
}

/* Mobile adjustment */
@media (max-width: 768px) {
    .lightbox-content img.small-image {
        max-width: 20%; /* Same for mobile */
    }
}

.unique-room-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
    color: white;
    text-align: center;
    z-index: 0; 
    opacity: 0;
}
.unique-room-title {
    font-size: 20px !important;
    font-weight: bold;
    position: absolute;
    top: 50%;
    left: 50%;
    white-space: nowrap;
    color: black;
    transform: translate(-50%, -50%);
    z-index: 2;
    transition: top 0.5s ease, opacity 0.5s ease;
    text-shadow: none !important;
    display: inline-block;
    padding: 8px 25px;
    /* font-size: 0.9em; */
    color: black !important;
    font-weight: bold;
    text-decoration: none !important;
    border: 1px solid white;
    transition: background-color 0.3s ease, color 0.3s ease;
    background-color: white;
    border-radius: 4px;
    letter-spacing: 2px;
}

/* Hover Effects */
.unique-room-container:hover .unique-room-title {
    top:30%; /* Move slightly up on hover */
    opacity: 1; /* Ensure it's fully visible */
}

.homepage-room-title {
      font-size: 29px;
    font-weight: bold;
    position: absolute;
    top: 50%;
    left: 50%;
    white-space: nowrap;
    color: white;
    transform: translate(-50%, -50%);
    z-index: 2;
    transition: top 0.5s ease, opacity 0.5s ease;
    text-shadow: 5px 5px 6px rgba(0, 0, 0, 0.7); 
}





.unique-room-container:hover .unique-room-paragraph {
    bottom: 30%; /* Bring the paragraph text up */
    transform: translateY(0); /* Adjust for centering */
    opacity: 1; /* Ensure visibility */
}




    .unique-room-paragraph {
        font-size: 19px;
    line-height: 1.4;
    position: absolute;
    bottom: -100%;
    left: 0;
    width: 100%;
    padding: 10px;
		    background-color: rgba(17, 17, 17, 0.5);
    color: white;
    text-align: center;
    transition: bottom 0.5s ease, opacity 0.5s ease;
    text-shadow: 5px 5px 6px rgba(0, 0, 0, 0.7); 

    }





    .unique-room-buttons {
     position: absolute;
        bottom: 40px;
        left: 0;
        width: 100%;
        display: flex;
        justify-content: center;
        gap: 130px;
    }

.unique-room-button {
    display: inline-block;
    padding: 8px 25px;
    font-size: .9em;
    color: #000;
    font-weight: 700;
    text-decoration: none !important;
    border: 1px solid #fff;
    transition: background-color .3s ease, color .3s ease;
    background-color: transparent;
    border-radius: 4px;
    letter-spacing: 2px;
    text-shadow: none;
}



    .unique-room-button:hover {
        background-color: white;
        color: #0E597C;
    }
    /* Show overlay on hover */
    .unique-room-container:hover .unique-room-overlay {
        opacity: 1;
    }

@media(min-width: 770px){
.unique-room-size {
      font-size: 16px;
    color: #fff;
    font-weight: 800;
    width: 100%;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
	}}


@media(max-width: 769px){
	     .unique-room-size {
            font-size: 16px;
			    color: #000;

        }
}

    @media (max-width: 768px) {
        .unique-room-container {
            width: calc(100%); 
        }



        .unique-room-slider {
        height: 350px;
        }

        .unique-room-title {
            font-size: 15px !important;
			
        }

        .unique-room-paragraph {
            font-size: 16px;
        }

  

        .unique-room-buttons {
            gap: 10px;
        }

        .unique-room-button {
            font-size: 0.8em;
            padding: 6px 10px;
        }
    }
    
    /* Laptops: 2 items per row */
@media (min-width: 1024px) and (max-width: 1440px) {
    .unique-room-title {
        font-size:25px;
        
    }
    /* Hover Effects */
.unique-room-container:hover .unique-room-title {
    top:23%; /* Move slightly up on hover */
    opacity: 1; /* Ensure it's fully visible */
}

.unique-room-container:hover .unique-room-paragraph {
    bottom: 36%; /* Bring the paragraph text up */
    transform: translateY(0); /* Adjust for centering */
    opacity: 1; /* Ensure visibility */
}

}

/* Tablets and smaller devices: 2 items per row */
@media (max-width: 1024px) {
    .custom-suite-container {
        width: calc(50% - 20px); /* Two items per row */
    }
    
}


    .unique-room {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px;
        max-width: 2200px;
        margin: 0 auto;
        padding: 20px;
    }

    .unique-room-container {
        position: relative;
        width: calc(33.33% - 26.66px); 
        max-width:600px;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .unique-room-slider {
        position: relative;
        width: 100%;
        height: 400px;
        box-sizing: border-box;
        overflow: hidden;
        border-radius: 8px;
    }

    .unique-room-slider img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 8px;
    }

.unique-room-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
    color: white;
    text-align: center;
    z-index: 0; 
    opacity: 0;
}



/* Hover Effects */
.unique-room-container:hover .unique-room-title {
    top:30%; /* Move slightly up on hover */
    opacity: 1; /* Ensure it's fully visible */
}

.unique-room-container:hover .unique-room-paragraph {
    bottom: 30%; /* Bring the paragraph text up */
    transform: translateY(0); /* Adjust for centering */
    opacity: 1; /* Ensure visibility */
}




    .unique-room-paragraph {
        font-size: 19px;
    line-height: 1.4;
    position: absolute;
    bottom: -100%;
    left: 0;
    width: 100%;
    padding: 10px;
    color: white;
    text-align: center;
    transition: bottom 0.5s ease, opacity 0.5s ease;
    text-shadow: 5px 5px 6px rgba(0, 0, 0, 0.7); 

    }





    .unique-room-buttons {
     position: absolute;
        bottom: 40px;
        left: 0;
        width: 100%;
        display: flex;
        justify-content: center;
        gap: 130px;
    }

    .unique-room-button {
            display: inline-block;
        padding: 8px 25px;
        font-size: 0.9em;
        color: white;
        font-weight: bold;
        text-decoration: none !important;
        border: 1px solid white;
        transition: background-color 0.3s ease, color 0.3s ease;
        background-color: transparent;
        border-radius: 4px;
letter-spacing: 2px;
    }




    .unique-room-button:hover {
        background-color: white;
        color: black;
    }
    /* Show overlay on hover */
    .unique-room-container:hover .unique-room-overlay {
        opacity: 1;
    }

    /* m² detail always visible below the image */
    .unique-room-size {
        font-size: 16px;

        width: 100%;
    }

    @media (max-width: 768px) {
        .unique-room-container {
            width: calc(100% - 20px); 
        }



        .unique-room-slider {
        height: 350px;
        }

        .unique-room-title {
            font-size: 1.2em;
        }

        .unique-room-paragraph {
            font-size: 16px;
        }

        .unique-room-size {
            font-size: 16px;
        }

        .unique-room-buttons {
            gap: 10px;
        }

        .unique-room-button {
            font-size: 0.8em;
            padding: 6px 10px;
        }
    }
    
    /* Laptops: 2 items per row */
@media (min-width: 1024px) and (max-width: 1440px) {
    .unique-room-title {
        font-size:25px;
        
    }
    /* Hover Effects */
.unique-room-container:hover .unique-room-title {
    top:23%; /* Move slightly up on hover */
    opacity: 1; /* Ensure it's fully visible */
}

.unique-room-container:hover .unique-room-paragraph {
    bottom: 30%; /* Bring the paragraph text up */
    transform: translateY(0); /* Adjust for centering */
    opacity: 1; /* Ensure visibility */
}
 .unique-room-button {
        padding: 10px 30px; /* Slightly larger padding for laptops */
        font-size: 1em; /* Slightly larger font size */
    }
}

/* Tablets and smaller devices: 2 items per row */
@media (max-width: 1024px) {
    .custom-suite-container {
        width: calc(50% - 20px); /* Two items per row */
    }
    
}
.lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8); /* Dark background */
    display: flex;
    justify-content: center; /* Center horizontally */
    align-items: center; /* Center vertically */
    z-index: 9999 !important; /* High z-index to ensure it stays on top */
}


/* Lightbox content */
.lightbox-content {
    position: relative;
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    max-width: 90%;
    max-height: 90%;
    text-align: center;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 10000 !important; /* Ensure lightbox content is above everything */
}

/* Ensure images inside the lightbox are also visible */
.lightbox-slider img {
    max-width: 100%;
    max-height: 70vh;
    display: none;
    object-fit: contain;
    transition: opacity 0.5s ease-in-out;
    z-index: 10001; /* Ensure images stay above other content */
}
/* Prev and Next buttons */
.lightbox-prev,
.lightbox-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 2rem;
    color: white;
    cursor: pointer;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2000;
}

.lightbox-prev {
    left: 10px;
}

.lightbox-next {
    right: 10px;
}

.lightbox-prev:hover,
.lightbox-next:hover {
    background: rgba(0, 0, 0, 0.8);
}

/* Close button */
.lightbox-close {
    position: absolute;
    top: 10px;
    right: 20px;
    font-size: 25px;
    color: white;
    cursor: pointer;
    background: black;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2000;
}

/* Responsive adjustments for mobile (max-width: 768px) */
@media (max-width: 768px) {
    .lightbox-content {
        max-width: 100%;
        max-height: 100%;
        padding: 10px;
    }

    .lightbox-slider img {
        max-height: 50vh; /* Adjust image size for mobile */
    }

    .lightbox-prev,
    .lightbox-next {
        font-size: 1.5em;
        padding: 8px;
    }

    .lightbox-close {
        font-size: 1.8em;
    }
}

/* For tablets and smaller laptops (768px to 1024px) */
@media (max-width: 1024px) {
    .lightbox-content {
        max-width: 90%;
        max-height: 90%;
    }

    .lightbox-prev,
    .lightbox-next {
        font-size: 1.5em;
        padding: 8px;
    }

    .lightbox-close {
        font-size: 1.8em;
    }
}


/* Tablet-Specific Styles (768px - 1024px) */
@media (max-width: 1504px) and (min-width: 768px) {
    .unique-room-container {
        width: calc(50% - 20px); /* Two items per row */
        margin: 10px auto; /* Center the containers */
    }

    .unique-room-slider {
        height: 300px; /* Adjust slider height for tablets */
    }

    .unique-room-title {
        font-size: 1.5em; /* Slightly smaller font size */
        top: 50%; /* Ensure centered alignment */
    }

    .unique-room-paragraph {
        font-size: 16px;
        bottom: -100%; /* Initially hidden */
        transition: bottom 0.5s ease, opacity 0.5s ease;
        opacity: 0; /* Hidden by default */
    }

    .unique-room-container:hover .unique-room-paragraph {
        bottom: 36%; /* Slide up on hover */
        opacity: 1; /* Make visible */
    }

    .unique-room-buttons {
        position: absolute;
        bottom: 50px; /* Adjust position to be higher */
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        justify-content: center;
        gap: 10px; /* Reduce gap between buttons */
    }

    .unique-room-button {
        padding: 8px 20px; /* Adjust padding for tablets */
        font-size: 0.9em; /* Adjust font size */
        border: 1px solid white;
        background-color: transparent; /* Remove background color */
        color: white;
        text-transform: uppercase;
        border-radius: 4px;
        transition: color 0.3s ease, border-color 0.3s ease;
    }

    .unique-room-button:hover {
        color: black; /* Change text color on hover */
        border-color: black; /* Change border color on hover */
    }
}




.custom-suite {
    display: flex;
    flex-wrap: wrap; /* Allow wrapping to next row */
    justify-content: center; /* Center-align the items */
    gap: 20px; /* Add spacing between items */
    max-width: 2200px;
    margin: 0 auto;
    padding: 20px;
}

.custom-suite-container {
    position: relative;
    width: calc(50% - 20px); /* Two items per row */
    max-width: 600px; /* Limit max width */
    overflow: hidden;
    display: flex;
    flex-direction: column; /* Stack internal elements */
    align-items: center; /* Center-align contents */
    border-radius: 8px;
    height: auto; /* Allow height to adjust */
}

.custom-suite-slider {
    position: relative;
    width: 100%;
    height: 400px;
    box-sizing: border-box;
    overflow: hidden;
    border-radius: 8px;
}

.custom-suite-slider img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

.custom-suite-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 20px 10px;
    color: white;
    text-align: center;
}

.custom-suite-title {
    font-size: 20px !important;
    font-weight: bold;
    position: absolute;
    top: 50%;
    left: 50%;
    white-space: nowrap;
    color: black;
    transform: translate(-50%, -50%);
    z-index: 2;
    transition: top 0.5s ease, opacity 0.5s ease;
    text-shadow: none !important;
    display: inline-block;
    padding: 8px 25px;
    /* font-size: 0.9em; */
    color: black !important;
    font-weight: bold;
    text-decoration: none !important;
    border: 1px solid white;
    transition: background-color 0.3s ease, color 0.3s ease;
    background-color: white;
    border-radius: 4px;
    letter-spacing: 2px;

}

.custom-suite-details {
    font-size: 19px;
    line-height: 1.4;
    position: absolute;
    bottom: -100%; /* Initially hidden */
    left: 0;
			    background-color: rgba(17, 17, 17, 0.5);

    width: 100%;
    padding: 10px;
    color: white;
    text-align: center;
    transition: bottom 0.5s ease, opacity 0.5s ease;
    text-shadow: 5px 5px 6px rgba(0, 0, 0, 0.7);
    opacity: 0; /* Hidden by default */
    pointer-events: none; /* Prevents interaction when hidden */
}

/* Hover Effect for Desktop */
.custom-suite-container:hover .custom-suite-details {
    bottom: 20%; /* Slide up the paragraph on hover */
    opacity: 1; /* Make it visible */
    pointer-events: auto; /* Enable interaction */
}

/* Click-like Effect for Mobile using :focus-within */
.custom-suite-container:focus-within .custom-suite-details {
    bottom: 20%; /* Slide up the paragraph */
    opacity: 1; /* Make it visible */
    pointer-events: auto; /* Enable interaction */
}

.custom-suite-buttons {
    position: absolute;
    bottom: 16px;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 130px;
}

.custom-suite-button {
    display: inline-block;
    padding: 8px 25px;
    font-size: 0.9em;
    color: white;
    font-weight: bold;
    text-decoration: none !important;
    border: 1px solid white;
    transition: background-color 0.3s ease, color 0.3s ease;
    background-color: transparent;
    border-radius: 4px;
    letter-spacing: 2px;
}

.custom-suite-button:hover {
    background-color: white;
    color: black;
}
.custom-suite-container:hover .custom-suite-title {
    top: 30%; /* Move slightly up on hover */
    opacity: 1; /* Ensure visibility */
    transition: top 0.5s ease, opacity 0.5s ease;
}

/* Mobile and tablet responsiveness */
@media (max-width: 1024px) {
    .custom-suite-container {
        width: calc(50% - 20px); /* Two items per row on tablets */
    }
}

@media (max-width: 768px) {
    .custom-suite-container {
        width: calc(100% - 20px); /* Full width on mobile */
    }

    .custom-suite-slider {
        height: 550px;
    }

    .custom-suite-title {
        font-size: 1.5em;
    }


  .custom-suite-slider img {
        width: 100%;
        height: 600px !important;
        object-fit: cover; /* Ensure the image maintains aspect ratio */
        border-radius: 8px; /* Keep rounded corners */
    }



    .custom-suite-details {
        font-size: 16px;
    }

    .custom-suite-buttons {
        gap: 10px;
    }

    .custom-suite-button {
        font-size: 0.8em;
        padding: 6px 10px;
    }
}

@media (max-width: 1024px) and (min-width: 768px) {
    .custom-suite-container {
        width: calc(50% - 20px); /* Two items per row */
        margin: 10px auto; /* Center containers */
    }

    .custom-suite-slider {
        height: 300px; /* Adjust slider height for tablets */
    }

    .custom-suite-title {
        font-size: 1.5em; /* Slightly smaller font size for tablets */
        top: 29%; /* Centered alignment */
        transition: top 0.5s ease, opacity 0.5s ease;
    }

    .custom-suite-container:hover .custom-suite-title {
        top: 35%; /* Move slightly up on hover */
    }

    .custom-suite-details {
        font-size: 15px; /* Slightly smaller font for tablets */
        line-height: 1.6; /* Better readability */
        padding: 10px 15px; /* Adjust padding */
        bottom: -100%; /* Initially hidden */
        opacity: 0; /* Hidden by default */
        background-color: rgba(17, 17, 17, 0.6); /* Semi-transparent background */
        color: white;
        text-align: center;
        border-radius: 5px; /* Smooth corners */
        transition: bottom 0.5s ease, opacity 0.5s ease;
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7); /* Subtle shadow */
    }

    .custom-suite-container:hover .custom-suite-details {
        bottom: 15%; /* Slide up on hover */
        opacity: 1; /* Make visible */
    }

    .custom-suite-buttons {
        position: absolute;
        bottom: 107px; /* Move buttons higher */
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        justify-content: center;
        gap: 10px; /* Reduce gap between buttons */
    }

    .custom-suite-button {
        padding: 8px 20px; /* Adjust padding for tablets */
        font-size: 0.9em; /* Adjust font size */
        border: 1px solid white;
        background-color: transparent; /* Remove background color */
        color: white;
        text-transform: uppercase;
        border-radius: 4px;
        transition: color 0.3s ease, border-color 0.3s ease;
    }

    .custom-suite-button:hover {
        color: black; /* Change text color on hover */
        border-color: black; /* Change border color on hover */
    }

    .unique-room-size {
        font-size: 14px; /* Adjust font size */
        color: #fff; /* Subtle color for size details */
        text-align: center;
        margin-top: 10px; /* Add spacing */
    }
}


@media (max-width: 480px) {
    .custom-suite {
        flex-direction: column; /* Stack items vertically */
        gap: 20px; /* Adjust gap for smaller screens */
    }

    .custom-suite-container {
        width: 100%; /* Full width for smaller devices */
    }
}

/* Updated Lightbox Styling */
.new-lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.new-lightbox-content {
    position: relative;
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    max-width: 90%;
    max-height: 90%;
    text-align: center;
    overflow: hidden;
}

.new-lightbox-slider img {
    max-width: 100%;
    max-height: 70vh;
    display: none;
        transition: opacity 0.5s ease-in-out; /* Smooth fade transition */

}

.new-lightbox-description {
    margin-top: 15px;
    font-size: 1.2rem;
        transition: opacity 0.5s ease-in-out; /* Smooth fade for text */

    color: #333;
}

.new-lightbox-close {
    position: absolute;
    top: 10px;
    right: 20px;
    font-size: 25px;
    color: white;
    cursor: pointer;
    background: black;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2000;
}

.new-lightbox-prev,
.new-lightbox-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 2rem;
    color: white;
    cursor: pointer;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2000;
}

.new-lightbox-prev {
    left: 10px;
}

.new-lightbox-next {
    right: 10px;
}

.new-lightbox-prev:hover,
.new-lightbox-next:hover {
    background: rgba(0, 0, 0, 0.8);
}

@media (max-width: 1024px) {
    .new-lightbox-content {
        max-width: 90%;
        max-height: 90%;
    }
    .new-lightbox-prev,
    .new-lightbox-next {
        font-size: 1.5em;
    }
    .new-lightbox-close {
        font-size: 1.8em;
    }
}

@media (max-width: 768px) {
    .new-lightbox-content {
        max-width: 100%;
        max-height: 100%;
    }
    .new-lightbox-prev,
    .new-lightbox-next {
        font-size: 1.2em;
    }
    .new-lightbox-close {
        font-size: 1.5em;
    }
}
@media (max-width: 768px) {

    /* Make sure the lightbox content stays fixed on mobile */
    .new-lightbox {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.8);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1000;
    }

    .new-lightbox-content {
        position: relative;
        max-width: 100%;
        max-height: 100%;
        padding: 10px;
        background: #fff;
        border-radius: 10px;
        overflow: hidden;
    }
}

.room-features {
    color: black !important;
    text-align: center;
    padding: 20px;
}

.room-features h2 {
    font-size: 29px;
    margin-bottom: -5px;
    color: #005e7d !important;
    font-weight: normal;
    text-align: left;
    margin-left: 0px;
}

.room-features p {
    font-size: 29px;
    margin-bottom: 20px;
    font-weight: bold;
    text-align: left;
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 columns for large screens */
    gap: 30px; /* Increased gap for spacing */
    text-align: left;
    max-width: 1800px; /* Wider container */
margin-left: 0px;
    
}

.feature-item {
    font-size: 19px;
    display: flex;
    align-items: center;
    gap: 15px; /* Increased gap between icon and text */
}

/* Image Icon Styling */
.feature-item img {
    width: 42px; /* Increased icon size */
    height: 42px; /* Maintain square aspect ratio */
    object-fit: contain;
}

/* Responsive Adjustments */
@media (max-width: 1024px) {
    .features-grid {
        grid-template-columns: repeat(3, 1fr); /* 3 columns for tablets */
    }
    .room-features h2 {
        font-size: 1.5rem;
    }
    .room-features p {
        font-size: 1.2rem;
    }
    .feature-item {
        font-size: 0.9rem;
    }
}

@media (max-width: 768px) {
    .features-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 columns for smaller tablets */
    }
    .feature-item {
        font-size: 16px;
    }
    .room-features h2 {
        font-size: 1.3rem;
    }
    .room-features p {
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .features-grid {
        grid-template-columns: 1fr; /* 1 column for mobile */
    }
    .feature-item {
        font-size: 16px;
    }
    .room-features h2 {
        font-size: 1.2rem;
    }
    .room-features p {
        font-size: 16px;
        margin-top: 25px;
    }
}



@media(max-width:1024px){
.elementor-37579 .elementor-element.elementor-element-9c1e9e9 {
    top: -434px;
	}}

.room-info h3{
	text-shadow:none !important;
}
 .white-link {
    color: white;
    text-decoration: none;
}

.white-link:hover {
    text-decoration: underline;
color: white;
}

.homepage-custom-suite-title{
	text-decoration:none !important;
}
@media(min-width:820px){
	.container-welcome {
    display: flex
;
    gap: 10px;
    flex-direction: column;
}
}

  body {
            font-family: 'CenturyGothic', 'Century Gothic', Arial, sans-serif;
        }
        
  

/* RateParity styling moved to the FLOATING BUBBLES section, near the top of this file */
.custom-review-text,
.custom-review-author,
.custom-review-response {
    color: #fff !important;
    background-color: rgba(0, 0, 0, 0.3);
    padding: 5px 10px;
    border-radius: 5px;
}

.elementor-element-4479a71 .elementor-heading-title,
.elementor-element-92b5fd2 .elementor-heading-title {
    color: #fff !important;
    background-color: rgba(0, 0, 0, 0.3);
    padding: 10px 15px;
    border-radius: 8px;
    display: inline-block;
}
.unique-room-button { color: #2c3e50; 
	background-color: white; 
} 

.custom-suite-button{ color: #2c3e50; 
	background-color: white; 
} 

.custom-suite-button:hover {
	background-color: #0E597C; color: white; 

}
.unique-room-button:hover {
	background-color: #0E597C; color: white; 

}

.unique-room-size{
text-shadow:none !important;
color:#0E597C !important;}


.homepage-custom-room-size {
    color: #fff !important;
    background-color: rgba(0, 0, 0, 0.3);
    padding: 5px 10px;
    border-radius: 5px;
	transition:none;
}

.highlight {
    color: #B8860B !important; /* Σκουρότερο χρυσαφί */
    background-color: #fff !important;
}
@media (max-width: 767px) {
    .elementor-37579 .elementor-element.elementor-element-6d9da8c .elementor-button {
        border-width: 1px 1px 1px 1px;
        background-color: #0E597C;
        font-size: 19px;
        font-weight: 500;
        color: #FFF;
        border-radius: 30px 30px 30px 30px;
    }
}

@media (max-width: 1924px) {
    .page-id-37579 .elementor-element-9c1e9e9 {
        top: auto !important;
        bottom: 20% !important; /* Απόσταση από το κάτω μέρος */
    }
}
.elementor-1632 .elementor-element.elementor-element-2869cbb .elementor-button:hover{
	font-weight: 800;
}
.elementor-21836 .elementor-element.elementor-element-6015165 .elementor-heading-title {
    color: #FFFFFF;
    font-family: 'Cinzel Decorative', sans-serif !important;
}
.elementor-37579 .elementor-element.elementor-element-a8b8bab .hfe-infocard-title {
    font-family: "Trebuchet MS", Sans-serif;
    font-size: 23px;
    font-weight: 400;
    color: #FFFFFF;
    margin: 0px 0px 0px 0px;
    padding: 20px;
}

.hfe-infocard-text{
	margin-bottom: 50px;
	padding-left: 20px;
		padding-right: 20px;

}


@media (max-width: 767px) {
    .elementor-21836 .elementor-element.elementor-element-be04321 {
        position: relative;
        background-image: url(https://www.hellenicvibes.gr/wp-content/uploads/2025/04/1-2.webp);
        background-position: -240px 0px;
        background-repeat: no-repeat;
        background-size: cover;
    }

    .elementor-21836 .elementor-element.elementor-element-be04321::before {
            content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 0;
        opacity: 1;
        pointer-events: none;
        transition: all 0.4s ease;
        background: linear-gradient(0deg, #0e587b75, rgba(255, 255, 255, 0));
    }
}






@media(max-width:768px){
    .page-id-37579 .form-container {
        flex-direction: column !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 20px 15px !important;
        border-radius: 10px !important;
        width: 90% !important;
        max-width: 400px !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
        margin-bottom: 80px;
        margin-top: 20px !important;
    }
}




.elementor-37579 .elementor-element.elementor-element-37f56a6 .hfe-infocard-title {
    font-family: "Trebuchet MS", Sans-serif;
    font-size: 23px;
    font-weight: 400;
    color: #FFFFFF;
    margin: 0px 0px 0px 0px;
    padding: 20px;
}


.elementor-37579 .elementor-element.elementor-element-f7de32a .hfe-infocard-title {
    font-family: "Trebuchet MS", Sans-serif;
    font-size: 23px;
    font-weight: 400;
    color: #FFFFFF;
    margin: 0px 0px 0px 0px;
    padding: 20px;
}
@media(max-width:820px){
.elementor-37579 .elementor-element.elementor-element-f7de32a .hfe-infocard-title , 
.elementor-37579 .elementor-element.elementor-element-a8b8bab .hfe-infocard-title ,
.elementor-37579 .elementor-element.elementor-element-37f56a6 .hfe-infocard-title{
    font-family: "Trebuchet MS", Sans-serif;
    font-size: 23px;
    font-weight: 400;
    color: #FFFFFF;
    margin: 0px 0px 0px 0px;
    padding: 40px;
	    padding: 15px;
	}}




.salata-image img{

    width: 100%;
    height: 500px;
    object-fit: cover;
    object-position: center 70% !important;
    border-radius: 44px 44px 44px 44px;

}

@media(max-width:820px){
	.menu-item span{
		font-size: 17px !important;
	}
}


.menu-effect-image img {
  mask-image: radial-gradient(circle, rgba(0, 0, 0, 1) 10%, rgba(0, 0, 0, 0) 70%);
  -webkit-mask-image: radial-gradient(circle, rgba(0, 0, 0, 1) 100%, rgba(0, 0, 0, 0) 70%);
  mask-size: 20% 20%;
  -webkit-mask-size: 20% 20%;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-position: center;
  transition: mask-size 2s ease-out, -webkit-mask-size 2s ease-out;
}

.menu-effect-image.revealed img {
  mask-size: 120% 120%;
  -webkit-mask-size: 120% 120%;
}


.page-id-36123 .hours-section .details {
    flex: 1;
    background-color: #fff;
    color: #0e597c;
    padding: 50px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
body.page-id-36123 #customPopup {
  display: none !important;
}

.elementor-31233 .elementor-element.elementor-element-3d4c5ef .elementor-image-box-title {
    margin-bottom: 0px;
    color: black;
    font-weight: normal;
    font-size: 18px !important;
}
  .menu-section {
    color: #ffffff;
    max-width: 500px;
    margin: auto;
    border-radius: 12px;
  }

.menu-section h2 {

display: inline-flex
;
    align-items: center;
    font-size: 1.6rem;
    font-weight: normal;
    letter-spacing: 1px;
    gap: 10px;
    margin-bottom: 1.5rem;
    color: #fff;
    padding-bottom: 0.5rem;
    text-align: center;
    width: 100%;
    justify-content: flex-start !important;
}




  .menu-item-less {
    margin-bottom: 1.8rem;
  }


  .menu-item-less h3 {
    display: flex;
		width: 300px;
    justify-content: space-between;
    align-items: flex-end;
    font-size: 1.1rem;
    color: #ffffff;
    margin-bottom: 0.5rem;
    font-weight: normal;
  }
.menu-item-little-less-krasia p {

    color: #cfdde5;
}
.menu-item-little-less-krasia h3{
    display: flex;
		width: 400px;
    justify-content: space-between;
    align-items: flex-end;
    font-size: 1.1rem;
    color: #ffffff;
	    margin-bottom: 0.5rem;

    font-weight: normal;
  }


.menu-item-little-less h3 {
    display: flex;
		width: 400px;
    justify-content: space-between;
    align-items: flex-end;
    font-size: 1.1rem;
    color: #ffffff;
    margin-bottom: 0.8rem;
    font-weight: normal;
  }
.menu-section {
    color: #ffffff;
    max-width: 452px;
    margin: auto;
    border-radius: 12px;
}



.menu-section-less .drinks-section{
	    color: #ffffff;
    max-width: 452px;
    margin: auto;
    border-radius: 12px;
}

 .menu-section-less  {
    color: #ffffff;
    max-width: 400px;
    margin: auto;
    border-radius: 12px;
  }

.menu-section-less  h2 {

display: inline-flex
;
    align-items: center;
    font-size: 1.6rem;
    font-weight: normal;
    letter-spacing: 1px;
    gap: 10px;
    margin-bottom: 1.5rem;
    color: #fff;
    padding-bottom: 0.5rem;
    text-align: center;
    width: 100%;
    justify-content: flex-start !important;
}


.menu-section-less  h2 .svg-icon {
  display: inline-block;
  width: 28px; /* or your desired width */
  height: 28px; /* or your desired height */
  background-image: url("https://www.hellenicvibes.gr/wp-content/uploads/2025/03/romvos.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  flex-shrink: 0;
}


.menu-tabs-mobile {
  display: flex;
  gap: 2rem;
  justify-content: center;
}
.menu-tab-mobile {
  cursor: pointer;
  font-size: 20px !important;
  color: white;
  position: relative;
  padding: 0.5rem 1rem;
  text-transform: uppercase;
  transition: 0.3s;
}
.menu-tab-mobile:hover {
  color: #fff;
}
.menu-tab-mobile:hover::before,
.menu-tab-mobile:hover::after {
  background: #0e597c;
}
.menu-tab-mobile::before,
.menu-tab-mobile::after {
  content: "";
  display: block;
  height: 2px;
  background: white;
  position: absolute;
  left: 0;
  right: 0;
}
.menu-tab-mobile::before {
  top: 0;
}
.menu-tab-mobile::after {
  bottom: 0;
}
@media (max-width: 820px) {
  .menu-tab-mobile {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
  }
}
.page-id-36123 .hours-section .details h3 {
    color: #0e597c;
}

@media (max-width: 1524px) {
    .page-id-36123 .hours-section .details ul li {
        font-size: 18px;
        font-weight: normal !important; /* Just in case something else tries to make it bold */
    }

    .page-id-36123 .hours-section .details p {
        font-size: 18px;
        font-weight: bold !important;
    }
}

@media (max-width: 768px) {
    .page-id-36123 .hours-section .details p {
        margin-left: 0%;
    }

    .page-id-36123 .hours-section .details {
        padding: 15px;
        text-align: left;
    }
	.menu-item h3{
	font-size: 17px;
}
}

.menu-item h3{
	font-size: 19px;
}
.menu-item p{
	font-size: 17px !important;
}
.tabletcss {
    position: fixed !important;
    top: 0 !important;
    width: 100% !important;
    z-index: 1000 !important;
    padding: 10px !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3) !important;
    background: rgb(115 115 115) !important;
}

@media (min-width: 768px) {
  .background-grid-lines {
    position: relative;
    overflow: hidden;
  }

  .background-grid-lines::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
		opacity: 0.6;
    width: 2px;
    background-color: rgba(255, 255, 255, 0.1); /* Change color as needed */
    left: 50%;
    transform: translateX(-380px); /* Half of 1300px */
    z-index: 0;
  }

  .background-grid-lines::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
				opacity: 0.6;

    width: 2px;
    background-color: rgba(255, 255, 255, 0.1); /* Change color as needed */
    left: 50%;
    transform: translateX(280px); /* Half of 1300px */
    z-index: 0;
  }
}
.circle-image-restaurant img {
    border-radius: 50% !important;
    object-fit: cover !important;
    aspect-ratio: 1 / 1 !important;
    display: block !important;
    margin: 0 auto !important;
    max-width: 300px !important;
    width: 400px !important;
    height: auto !important;
    display: block !important;
    text-align: left;
}

/* RateParity #rp-allinone hide rule moved to FLOATING BUBBLES section */
/* Tablet screens (up to 1024px) */
@media (max-width: 1024px) {
  .circle-image-restaurant img {
    max-width:347px !important;
  }
}


a.footer-link svg {
    transform: rotate(90deg);
}
.top-bar .fa-phone-flip {
  transform: rotate(90deg);
  display: inline-block; /* ensures transform applies correctly */
}




#rank_math_dashboard_widget{
	display:none !important;
}
a.hfe-menu-item {
  position: relative !important;
  padding-left: 15px !important;
  padding-right: 15px !important;

  --underline-y: calc(100% - 2px); /* Distance from top — slightly above bottom */
  --underline-height: 1px;
  --underline-color: #0E597C;

  background-image: linear-gradient(var(--underline-color), var(--underline-color));
  background-repeat: no-repeat;
  background-size: 0% var(--underline-height);
  background-position: 15px var(--underline-y); /* Simulate left inset */
  transition: background-size 0.4s cubic-bezier(.26, .57, .14, .81) !important;
}

a.hfe-menu-item:hover {
  background-size: calc(100% - 30px) var(--underline-height); /* 15px left + 15px right */
}

.icon  {
    font-size: 1.2em;
    color: #0e587b !important; /* or your brand color */
    margin-left: 6px; /* spacing if needed */
}


@media (min-width: 1440px) { /* Apply only for large screens */
    .homepage-custom-room {
        display: grid;
        grid-template-columns: repeat(4, 1fr); /* First row has 4 columns */
        grid-template-rows: auto auto; /* Two rows */
        gap: 20px; /* Space between items */
        justify-content: center;
        max-width: 1800px; /* Ensures it fits well */
    }

    .homepage-custom-room-container {
        width: 100%; /* Allow full width per grid */
        max-width: none; /* Remove any previous max-width restrictions */
    }

    /* First 4 rooms in the first row */
    .homepage-custom-room-container:nth-child(-n+4) {
        grid-column: span 1; /* Each takes 1 column */
    }

    /* Next 3 rooms in the second row */
    .homepage-custom-room-container:nth-child(n+5):nth-child(-n+7) {
        grid-column: span 1;
    }

    /* Center the second row with 3 items */
    .homepage-custom-room-container:nth-child(5) {
        grid-column-start: 2;
    }
}
.page-not-found h2 {
    font-size: 140px;
    font-weight: 600;
    letter-spacing: -10px;
    line-height: 140px;
    text-align: center; /* Centers the text */
    margin-top: 100px; /* Optional: Adjust the vertical position */
}
@media (min-width: 490px) {
    .elementor-element.elementor-element-16e1dff .elementor-heading-title:after, .elementor-element.elementor-element-1a44293 .elementor-heading-title:after {
        position: absolute;
        height: 1px;
        content: '';
        right: 21px;
        width: 6%;
        color: #000;
        background-color: #fff;
        top: 64px !important;
    }
}
.elementor-26340 .elementor-element.elementor-element-d97d2b4 .elementor-icon i {
    transform: rotate(19deg) !important;
}
.page-id-31233 .elementor-element-17a2e99 .elementor-icon-box-wrapper {
    display: flex
;
    flex-direction: row!important;
    align-items: center !important;
    justify-content: flex-start !important;
    background-color: #f5f5f5;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    min-height: 130px;
    gap: 15px;
}
body{
direction: ltr !important;
}
.ast-container{display:none !important;}


.input-wrapper {
    position: relative;
}

.elementor-22341 .elementor-element.elementor-element-d49e01e .elementor-button ,
.elementor-24127 .elementor-element.elementor-element-c49860c .elementor-button,
.elementor-24128 .elementor-element.elementor-element-6fde1d9 .elementor-button{
    /* background-color: #BEE4C300; */
    /* fill: #000000; */
    /* color: #000000; */
    background-color: #0E597C;
    font-size: 19px;
    font-weight: 500;
    color: #FFFFFF;
    border-radius: 30px 30px 30px 30px;
    /* border-style: solid; */
    /* border-color: var(--e-global-color-19bab7a7); */
}


/* Icon container styles */
.img-container-checkin,
.img-container-checkout {
    position: absolute;
    top: 50%;
    right: 10px; /* Adjust distance from the right */
    transform: translateY(-50%);
    pointer-events: none; /* Prevent the icon from blocking input clicks */
}

/* Icon styles */
.img-checkin,
.img-checkout {
    width: 20px; /* Adjust size as needed */
    height: 20px; /* Adjust size as needed */
}

#checkin-picker,
#checkout-picker {
    width: 200px;
    padding: 10px;
    font-size: 16px;
    border: 1px solid #ddd;
    border-radius: 5px;
    margin-top: 5px;
    z-index: 1;
}



.room-suites-heading h2{
  color: #fff; /* Default color for PC, laptop, and tablet */
}

@media (max-width: 768px) {
  .room-suites-heading h2{
    color: #000 !important; /* Black for mobile */
  }
}

/* Base Styles */
.elementor-26324 .elementor-element.elementor-element-e4f0af5::before,
.elementor-26324 .elementor-element.elementor-element-1c56611::before,
.elementor-26324 .elementor-element.elementor-element-3e5f67a::before,
.elementor-26324 .elementor-element.elementor-element-19dceb4::before,
.elementor-26324 .elementor-element.elementor-element-39dd033::before,
.elementor-26324 .elementor-element.elementor-element-78aef71::before,
.elementor-26324 .elementor-element.elementor-element-1b53d23::before{
    content: "";
    position: absolute;
    top: 5%;
    left: 5%;
    right: 5%;
    bottom: 5%; /* Adjusted for better positioning on PC */
    border: 2px solid #0e587b;
    pointer-events: none;
    z-index: 1;
    box-sizing: border-box;
}
@media (max-width: 480px) {
    .elementor-26324 .elementor-element.elementor-element-d7d72b5 img,
    .elementor-26324 .elementor-element.elementor-element-c0ba2a1 img,
    .elementor-26324 .elementor-element.elementor-element-c470eb7 img,
    .elementor-26324 .elementor-element.elementor-element-501b334 img,
    .elementor-26324 .elementor-element.elementor-element-7e35780 img,
    .elementor-26324 .elementor-element.elementor-element-ff346d1 img,
    .elementor-26324 .elementor-element.elementor-element-d4d6fcc img {
      outline: 2px solid #0E597C;
  outline-offset: -15px;
    }
}



@media (max-width: 768px) {
    .elementor-25845 .elementor-element.elementor-element-b588b95 .elementor-swiper-button.elementor-swiper-button-prev, .elementor-25845 .elementor-element.elementor-element-b588b95 .elementor-swiper-button.elementor-swiper-button-next {
        font-size: 33px !important;
    }
}

.page-id-25845 .swiper {
  width: 100% !important;
  height: 100% !important;
}

.page-id-25845  .swiper .swiper-slide {
  height: 550px!important;
}

.page-id-25845  .swiper-slide img {
  display: block;
  width: 100%;
  height: 500px !important;
  object-fit: cover;
  border-radius: 15px;
}









/* ==========================================================
   Hellenic Vibes — Members Club section
   Append to the Hello Elementor Child theme's style.css
   (already enqueued site-wide, so Autoptimize / future
   criticalcss.com pick this up like any other site style).
   Pairs with hv-members-club.html (HTML widget content).
   ========================================================== */

.hv-members-section {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 64px;
	max-width: 1320px;
	margin: 0 auto;
	padding: 96px 24px;
	box-sizing: border-box;
}
.hv-members-content {
	flex: 1 1 480px;
	display: flex;
	flex-direction: column;
	gap: 28px;
}
.hv-members-eyebrow {
	display: flex;
	align-items: center;
	gap: 14px;
}
.hv-members-eyebrow-line {
	width: 28px;
	height: 1px;
	background: #F4BC33;
}
.hv-members-eyebrow-text {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 3px;
	color: #F4BC33;
	text-transform: uppercase;
}
.hv-members-title {
	margin: 0;
	font-weight: 700;
	font-size: 44px;
	line-height: 1.15;
	color: #FAF9F6;
}
.hv-members-subhead {
	font-style: italic;
	font-weight: 600;
	font-size: 20px;
	color: #9fd4ec;
}
.hv-members-body {
	margin: 0;
	max-width: 480px;
	font-size: 16px;
	line-height: 1.7;
	color: rgba(250, 249, 246, 0.85);
}
.hv-tier-row {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 4px;
}
.hv-tier-card {
	flex: 1 1 220px;
	box-sizing: border-box;
	padding: 20px 22px;
	border-radius: 4px;
	background: rgba(250, 249, 246, 0.06);
	border: 1px solid rgba(250, 249, 246, 0.18);
}
.hv-tier-card.gold {
	background: rgba(244, 188, 51, 0.08);
	border-color: rgba(244, 188, 51, 0.4);
}
.hv-tier-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 10px;
}
.hv-tier-name {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.5px;
	color: #FAF9F6;
	text-transform: uppercase;
}
.hv-tier-when {
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.5px;
	color: rgba(250, 249, 246, 0.55);
	text-transform: uppercase;
}
.hv-tier-card.gold .hv-tier-when {
	color: rgba(244, 188, 51, 0.85);
}
.hv-tier-pct {
	font-size: 32px;
	font-weight: 700;
	line-height: 1;
	color: #2DA7DF;
}
.hv-tier-card.gold .hv-tier-pct {
	color: #F4BC33;
}
.hv-tier-desc {
	margin-top: 6px;
	font-size: 13px;
	color: rgba(250, 249, 246, 0.7);
	line-height: 1.5;
}
.hv-members-cta {
	margin-top: 8px;
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: #0D0D0D;
	color: #FAF9F6;
	padding: 16px 30px;
	border-radius: 4px;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.3px;
	text-decoration: none;
	transition: background 0.15s ease;
}
.hv-members-cta:hover {
	background: #2DA7DF;
	color: #FAF9F6;
}
.hv-members-cta svg {
	transition: transform 0.15s ease;
}
.hv-members-cta:hover svg {
	transform: translateX(3px);
}
.hv-members-visual {
	flex: 1 1 360px;
	box-sizing: border-box;
}
.hv-members-visual img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 4;
	height: auto;
	object-fit: cover;
	border-radius: 4px;
}

@media (max-width: 768px) {
	.hv-members-section {
		padding: 56px 20px;
		gap: 40px;
	}
	.hv-members-title {
		font-size: 32px;
	}
	.hv-members-subhead {
		font-size: 17px;
	}
	.hv-tier-row {
		flex-direction: column;
	}
	.hv-members-visual {
		flex: 1 1 100%;
	}
	.hv-members-content {
		flex: 1 1 100%;
	}
}