/*
 Theme Name:     Drys Villas Mekoynida (HotelBooking Child Theme)
 Description:    A bare-bones child theme for use with WordPress HotelBooking Theme.
 Author:         pkollias
 Template:       hotelbooking
 Version:        1.0.0
*/


/* Add Custom CSS after this line */

/* @import url('https://fonts.googleapis.com/css2?family=Ysabeau:ital,wght@0,1..1000;1,1..1000&display=swap'); */

@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&family=Ysabeau:ital,wght@0,1..1000;1,1..1000&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Ysabeau+Office:ital,wght@0,1..1000;1,1..1000&display=swap');

body {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 256 256'%3E%3Cpath d='M240,112a12,12,0,0,1-6.73,10.82l-80.2,22.45L130.62,225.5a12,12,0,0,1-22.58,0L42.72,60.11a12,12,0,0,1,15.21-15.22L231.2,100.22A12,12,0,0,1,240,112Z' fill='white' stroke='black' stroke-width='8' stroke-linejoin='round'/%3E%3C/svg%3E") 0 0, auto;
}

body.no-scroll {
    overflow: hidden !important;
    height: 100vh; /* Διασφαλίζει ότι το body δεν πάει πουθενά */
}

body.single .nd_options_height_50 {
	height: 0;
}

.drys-image-hover img {
    transition: transform 1.2s cubic-bezier(0.25, 1, 0.5, 1) !important;
}
.drys-image-hover:hover img {
    transform: scale(1.03);
}

/* Διόρθωση στοίχισης για το superscript */
sup {
    vertical-align: baseline; /* Ακυρώνει τη μετατόπιση της γραμμής */
    position: relative;
    top: -0.5em; /* Το ανεβάζει χειροκίνητα */
    font-size: 0.7em; /* Το μικραίνει ομοιόμορφα */
    line-height: 0; /* Μηδενίζει το ύψος που "κλέβει" από το li */
}

/* h1, h2, h3, h4, h5, h6 {
	font-family: "Ysabeau", sans-serif !important;
	font-optical-sizing: auto;
}
*/
#start_nicdark_framework {
    color: #333333;
    font-size: 16px;
    line-height: 27px;
    font-family: "Ysabeau", sans-serif;
}

#nd_options_header_6 {
	background-image: radial-gradient(at center center, #F4F1EC 100%, #A9BCB030 100%);
}

.nd_options_container {
    /*width: 1240px;*/
}

/* START MENU */
.nd_elements_navigation_sidebar div li > a {
    text-transform: none !important;
    color: #222222 !important;
	font-size: 20px !important;
}

.nd_elements_navigation_sidebar div > ul li > ul.sub-menu li a {
    font-size: 17px !important;
}

.nd_elements_navigation_sidebar_content {
    display: block !important; /* Πρέπει να είναι πάντα block για να δουλέψει το slide */
    position: fixed;
	top: 0;
    right: -400% !important; /* Τέρμα δεξιά έξω από την οθόνη */
    width: 100vw;
    height: 100vh;
	box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.15);
	visibility: hidden; 
    transition: right 0.5s cubic-bezier(0.25, 1, 0.5, 1), 
                visibility 0s linear 0.5s !important; /* Περιμένει 0.5s για να κρυφτεί */
    z-index: 999999;
}

.nd_elements_navigation_sidebar_content.is-open {
    right: 0 !important; /* Έρχεται στην άκρη της οθόνης */
	visibility: visible;
    transition: right 0.5s cubic-bezier(0.25, 1, 0.5, 1), 
                visibility 0s linear 0s !important; /* Εμφανίζεται ακαριαία στο άνοιγμα */
}

/* 5. ΔΙΟΡΘΩΣΗ ADMIN BAR (Μόνο όταν είναι active το sticky) */
.admin-bar .nd_elements_navigation_sidebar_content {
    top: 32px;
}

@media screen and (max-width: 782px) {
    .admin-bar .nd_elements_navigation_sidebar_content {
        top: 46px;
    }
}

.nd_elements_navigation_component ul.menu > li.current-menu-item a {
    color: var(--e-global-color-accent) !important;
}

.nd_elements_navigation_component li a {
    position: relative;
    text-decoration: none !important;
}

.nd_elements_navigation_component li a::after {
    content: '';
    position: absolute;
    width: 0;
    height: 1px;
    bottom: -8px;
    left: 50%;
    background-color: #556B2F;
    transition: width 0.8s cubic-bezier(0.25, 1, 0.5, 1), left 0.8s cubic-bezier(0.25, 1, 0.5, 1);
}

.nd_elements_navigation_component ul.sub-menu li a::after {
    bottom: 0;
}

.nd_elements_navigation_component li a:hover::after,
.nd_elements_navigation_component li.current-menu-item a::after {
    width: 90%;
    left: 5%;
}

.nd_elements_navigation_component div ul li ul.sub-menu {
    display: block !important;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), visibility 0.5s;
    pointer-events: none;
}

.nd_elements_navigation_component div ul li:hover ul.sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}


/* 3. STICKY ACTIVE (Το Slide Down) */
#drys-header-sticky {
	visibility: hidden;
    position: fixed;
    top: 0;
    background-image: radial-gradient(at center center, #F4F1EC 100%, #A9BCB030 100%);
    box-shadow: 0px 4px 20px rgba(0,0,0,0.15);
}


/* 5. ΔΙΟΡΘΩΣΗ ADMIN BAR (Μόνο όταν είναι active το sticky) */
.admin-bar #drys-header-sticky {
    top: 32px;
}

@media screen and (max-width: 782px) {
    .admin-bar #drys-header-sticky {
        top: 46px;
    }
}

@media (max-width: 767px) {
    #drys-header-sticky {
		visibility: hidden !important;
        display: none !important;
    }
}

/* END MENU */

.nd_booking_e_rooms_postgrid_l1_title,
.nd_booking_word_wrap_break_word,
a {
	font-family: "Ysabeau", sans-serif !important;
	font-optical-sizing: auto;
}

.nd_booking_font_size_40 {
	font-size: 40px !important;
    line-height: 45px !important;
}

#nd_booking_single_cpt_1_attributes_content h2 {
	font-size: 25px !important;
    line-height: 25px !important;
}

.nd_options_color_white {
    color: #F4F1EC !important
}

.elementor-widget-drys_rooms .nd_booking_section h3.nd_booking_e_rooms_postgrid_l1_title {
	font-size: 25px !important;
    line-height: 25px;
}

.elementor-widget-drys_rooms .nd_booking_section p {
	min-height: 85px;
}

.nicdark_bg_white {
    background-color: #E8E8E8;
	background-color: #f4f1ec;
}

.horizontal-list {
  display: flex;
  justify-content: center;
  gap: 60px;
}
.nd_booking_section ul {
    list-style-type: circle;
    padding-left: 20px;
}
#nd_booking_single_cpt_1_header_image_tab .nd_booking_section ul {
    padding-left: 0;
}
.nd_booking_section li {
    padding-left: 10px;
	line-height: 35px;
}
p, li {
    font-size: 18px;
}

.nicdark_first_font,
.nicdark_second_font,
.nicdark_datepicker .ui-datepicker-title,
.nicdark_datepicker,
.nd_booking_section i,
p, li, input, label, textarea, select {
	color: #333333;
	font-family: "Ysabeau Office", sans-serif;
	font-optical-sizing: auto;
	font-size: 17px;
	font-weight: 400;
	line-height: 2;
}

#nd_booking_single_cpt_1_header_image_price {
	visibility: hidden;
    display: none;
}

.nd_booking_e_rooms_postgrid_l1_price {
    visibility: hidden !important;
    display: none !important;
}

/* The Parent Container */
.booking-flex-wrapper {
    display: flex;
    flex-wrap: wrap; /* Allows cards to drop to next line if space runs out */
    gap: 20px;      /* Space between cards */
    align-items: stretch; /* This forces all children to have the same height */
	float: none;
    width: 100%;
}

/* The Individual Cards */
.booking-card {
    flex: 1;         /* Forces equal width distribution */
    min-width: 250px; /* Prevents cards from getting too squished on mobile */
    
    /* Visual Styling */
    padding: 20px;
    background: #f9f9f9;
    border: 1px solid #ddd;
    display: flex;
    flex-direction: column; /* Allows content inside to stack vertically */
}
.booking-card h3 {
	padding-bottom: 15px;
    font-size: 22px;
}

.contact-page ul {
	margin: 0;
    padding-left: 20px;
}
.contact-page li {
	margin-bottom: 20px;
}

.drys_check_now {
	display: flex;
    justify-content: center; /* Horizontal centering */
    align-items: center;     /* Vertical centering */
    height: 100px;           /* Or any height you need */
    width: 100%;             /* Or any width */
}

.drys_check_now {
	text-align: center;
}

.drys_check_now .elementor-button {
	background-color: #B66E23;
    /*font-family: "Ysabeau", sans-serif !important;*/
    font-size: 12px;
    font-weight: bold;
    line-height: 1em;
    letter-spacing: 2px;
    fill: #FFFFFF;
    color: #FFFFFF;
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.1);
    border-radius: 0px 0px 0px 0px;
    padding: 15px 30px 15px 30px;
}

/* Contact Form 7 */
.cf7-button-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
	margin-top: 5px;
}
.cf7-button-row input[type="checkbox"] {
    display: none;
}
.cf7-button-row .wpcf7-form-control-wrap {
    margin: 0 5px;
}
.cf7-button-row .wpcf7-list-item-label {
    display: inline-block;
    padding: 10px 0;
	width: 110px;
    text-align: center;
    background: #f8f9fa;
    color: #555;
    border: 1px solid #eee;
    border-radius: 30px;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}
[data-name="checkbox-viber"] input:checked + .wpcf7-list-item-label {
    background-color: #7360f2b0; /* Viber Purple */
    color: #fff;
    border-color: #7360f2b0;
}
[data-name="checkbox-whatsapp"] input:checked + .wpcf7-list-item-label {
    background-color: #25d36687; /* Your Custom WhatsApp Purple */
    color: #fff;
    border-color: #25d36687;
}
.cf7-button-row .wpcf7-list-item-label:hover {
    background-color: #eee;
}
.form-row {
    display: flex;
    gap: 20px;
	margin-bottom: 20px;
}
.form-row label {
	/*font-family: "Ysabeau", sans-serif !important;*/
	font-size: 17px;
}
.form-row input {
	margin-top: 5px;
}
.form-col {
    flex: 1;
}
.form-col input:not([type="checkbox"]), .form-col textarea, .form-col select {
    width: 100%;
}
.form-col.social > p {
    margin: 0;
}
.margin-section {
    margin-bottom: 30px;
}
.margin-section-top {
    margin-top: 30px;
}
.wpcf7 form .wpcf7-response-output {
	font-size: 0.9em;
    margin: 2em 0em 1em;
    padding: 0.5em;
	width: 100%;
}
@media (max-width: 600px) {
    .form-row {
        flex-direction: column;
        gap: 0;
    }
}
.wpcf7-list-item {
    margin: 0;
}
/* Makes the first option in the dropdown look like a placeholder */
.wpcf7-select option:first-child {
    color: rgba(0,0,0,0.5) !important;
}
.contact-page option:first-child {
	color: rgba(0,0,0,0.5) !important;
}
.contact-page select {
	/*font-family: "Ysabeau", sans-serif !important;*/
	color: #5c5c5c !important;
}

/*START FORMS STYLES*/
.nd_options_customizer_forms input[type="submit"],
.nd_options_customizer_forms button[type="submit"],
.give-btn.give-btn-modal,
.open-gallery-button
{
	background-color: transparent;
	border: 1px solid #556B2F;
	border-radius: 0px;
	padding: 10px 20px;
	-webkit-appearance: none;
	color: #333333;
	cursor: pointer;
	font-family: "Ysabeau", sans-serif;
	transition: all .3s;
	transition-duration: 0.6s;
}

.nd_options_customizer_forms input[type="submit"]:hover,
.nd_options_customizer_forms button[type="submit"]:hover,
.give-btn.give-btn-modal:hover,
.open-gallery-button:hover
{
	background-color: #556B2F;
	color: #F9F9F9;
}

.nd_options_customizer_forms input[type="text"],
.nd_options_customizer_forms input[type="email"],
.nd_options_customizer_forms input[type="url"],
.nd_options_customizer_forms input[type="tel"],
.nd_options_customizer_forms input[type="number"],
.nd_options_customizer_forms input[type="date"],
.nd_options_customizer_forms input[type="file"],
.nd_options_customizer_forms input[type="password"],
.nd_options_customizer_forms select,
.nd_options_customizer_forms textarea,
.StripeElement

{ 
	background-color: #f9f9f9;
	border-width: 1px;
	border-color: #f1f1f1;
	border-radius: 0px;
	border-style: solid;
	padding: 10px 20px;
	-webkit-appearance: none;
	color: #5c5c5c !important;
}


.nd_options_customizer_forms input[type="text"]::-webkit-input-placeholder,
.nd_options_customizer_forms input[type="email"]::-webkit-input-placeholder,
.nd_options_customizer_forms input[type="url"]::-webkit-input-placeholder, 
.nd_options_customizer_forms input[type="tel"]::-webkit-input-placeholder ,
.nd_options_customizer_forms input[type="password"]::-webkit-input-placeholder ,
.nd_options_customizer_forms input[type="number"]::-webkit-input-placeholder,
.nd_options_customizer_forms textarea::-webkit-input-placeholder  {
	color: #5c5c5c !important;
}


.nd_options_customizer_forms select {
	cursor: pointer;
}

.nd_options_customizer_forms select option {
	padding: 10px 20px;
}

.nd_options_customizer_forms span.wpcf7-not-valid-tip,
.nd_options_customizer_forms .wpcf7-response-output.wpcf7-validation-errors,
.wpcf7-response-output
{ 
	background-color: #8b4d4d;
	border-width: 0px !important;
	border-color: #8b4d4d !important;
	border-radius: 0px;
	border-style: solid;
	padding: 10px 20px !important;
	color: #f1f1f1;
	margin: 10px 0px 10px 0px !important;
	font-size: 13px;
	line-height: 20px;
}
.nd_options_customizer_forms .wpcf7-response-output.wpcf7-mail-sent-ok
{ 
	background-color: #78635a;
	border-width: 0px;
	border-color: #78635a;
	border-radius: 0px;
	border-style: solid;
	padding: 10px 20px;
	color: #f1f1f1;
	margin: 0px;
	margin-top: 10px;
	font-size: 13px;
	line-height: 20px;
}


/*new compatibility*/
.nd_options_customizer_forms .wpcf7 form.sent .wpcf7-response-output {
	background-color: #78635a;
	border-width: 0px;
	border-color: #78635a;
	border-radius: 0px;
	border-style: solid;
	padding: 10px 20px;
	color: #f1f1f1;
	margin: 0px;
	margin-top: 10px;
	font-size: 13px;
	line-height: 20px;
}


/* Hide validation error until form is submitted */
.wpcf7-form-control-wrap .wpcf7-not-valid-tip {
    display: none;
}
/* Show it only when the form has the 'invalid' class after a submit attempt */
.wpcf7-form.invalid .wpcf7-not-valid-tip {
    display: block;
}
.wpcf7-submit {
	width: 100%;
}
.wpcf7-spinner {
    margin: 15px auto 5px;
	float: none;
	display: block;
}

@media (max-width: 767px) {
    .credits {
		text-align: center;
    }
}

/* 
  ##Device = Most of the Smartphones Mobiles (Portrait)
  ##Screen = B/w 320px to 479px
*/
@media (min-width: 320px) and (max-width: 480px) {
	.horizontal-list {
		display: block;
	}
}