/*
Theme Name: Hoteller Child
Theme URI: https://themes.themegoods.com/hoteller/landing
Description: Premium Photography WordPress Theme
Version: 1.0
Author: ThemeGoods
Author URI: https://themeforest.net/user/ThemeGoods
License: GNU General Public License
License URI: https://themeforest.net/licenses/regular_extended
Text Domain: hoteller
Template: hoteller
*/

/**
 * Keep Elementor full-height sections slightly shorter than the viewport.
 *
 * Elementor controls the section height from 768px upwards. Hoteller moves
 * that height to the inner container between 960px and 1099px.
 */
@media (min-width: 768px) {
	body .elementor-section.elementor-section-height-full {
		height: 90vh;
	}
}

@media only screen and (min-width: 960px) and (max-width: 1099px) {
	body .elementor-section.elementor-section-height-full > .elementor-container {
		height: 90vh;
	}
}

/**
 * MyBooking form inside a single room.
 *
 * The home widget has enough space for the horizontal grid. The room widget is
 * rendered in a narrow sidebar, so it needs its own desktop layout.
 */
.single-mphb_room_type .singleroom_book_form #corpoboxricerca.hotelbelvir-booking-widget .cadlts,
.single-mphb_room_type .singleroom_book_form #corpoboxricerca.hotelbelvir-booking-widget .cchildn {
	width: 100%;
}

@media all and (max-width: 767px) {
	/* Avoid stacking the theme and widget gutters inside the room card. */
	.single-mphb_room_type .singleroom_book_form {
		width: 100%;
		margin: 0;
		padding: 0;
	}

	.single-mphb_room_type .singleroom_book_form #corpoboxricerca.hotelbelvir-booking-widget {
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 24px 0 0;
	}
}

@media all and (min-width: 768px) {
	.single-mphb_room_type .singleroom_book_form #corpoboxricerca.hotelbelvir-booking-widget {
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 38px 32px;
	}

	.single-mphb_room_type .singleroom_book_form #corpoboxricerca.hotelbelvir-booking-widget form.hotelbelvir-booking-form {
		display: block;
	}

	.single-mphb_room_type .singleroom_book_form #corpoboxricerca.hotelbelvir-booking-widget .choosedate,
	.single-mphb_room_type .singleroom_book_form #corpoboxricerca.hotelbelvir-booking-widget .crooms,
	.single-mphb_room_type .singleroom_book_form #corpoboxricerca.hotelbelvir-booking-widget .cadlts,
	.single-mphb_room_type .singleroom_book_form #corpoboxricerca.hotelbelvir-booking-widget .cchildn {
		top: auto;
		margin: 0 0 28px;
	}

	.single-mphb_room_type .singleroom_book_form #corpoboxricerca.hotelbelvir-booking-widget label {
		margin-bottom: 14px;
		font-size: 18px;
	}

	.single-mphb_room_type .singleroom_book_form #corpoboxricerca.hotelbelvir-booking-widget .choosedate input[type="text"] {
		height: 46px;
		font-size: 18px;
		line-height: 46px;
	}

	.single-mphb_room_type .singleroom_book_form #corpoboxricerca.hotelbelvir-booking-widget select,
	.single-mphb_room_type .singleroom_book_form #corpoboxricerca.hotelbelvir-booking-widget fieldset.stanze div.sided select,
	.single-mphb_room_type .singleroom_book_form #corpoboxricerca.hotelbelvir-booking-widget .hotelbelvir-room-stepper,
	.single-mphb_room_type .singleroom_book_form #corpoboxricerca.hotelbelvir-booking-widget .actions button,
	.single-mphb_room_type .singleroom_book_form #corpoboxricerca.hotelbelvir-booking-widget .actions input[type="submit"] {
		height: 58px;
		line-height: 58px;
	}

	.single-mphb_room_type .singleroom_book_form #corpoboxricerca.hotelbelvir-booking-widget .hotelbelvir-room-stepper button,
	.single-mphb_room_type .singleroom_book_form #corpoboxricerca.hotelbelvir-booking-widget #hotelbelvir-room-count {
		line-height: 58px;
	}

	.single-mphb_room_type .singleroom_book_form #corpoboxricerca.hotelbelvir-booking-widget .cadlts::before,
	.single-mphb_room_type .singleroom_book_form #corpoboxricerca.hotelbelvir-booking-widget .cchildn::before {
		height: 38px;
	}

	.single-mphb_room_type .singleroom_book_form #corpoboxricerca.hotelbelvir-booking-widget .cadlts::after,
	.single-mphb_room_type .singleroom_book_form #corpoboxricerca.hotelbelvir-booking-widget .cchildn::after {
		bottom: 24px;
	}

	.single-mphb_room_type .singleroom_book_form #corpoboxricerca.hotelbelvir-booking-widget .actions {
		margin: 0;
	}
}

/**
 * Room details and related rooms.
 *
 * MyBooking does not expose a public room rate in these pages, so the theme's
 * zero-price placeholders and the unused children-capacity column are hidden.
 */
.single-mphb_room_type .singleroom_price_label,
.single-mphb_room_type .singleroom_price_amount,
.single-mphb_room_type .singleroom_other_wrapper .room_grid_book .mphb-price,
.single-mphb_room_type .singleroom_other_wrapper .room_grid_attr_wrapper .child_one_third:nth-child(3) {
	display: none;
}

.single-mphb_room_type .singleroom_other_wrapper .room_grid_attr_wrapper .child_one_third {
	width: 50%;
}

/**
 * Footer reviews widget.
 */
.ti-widget.ti-book .ti-widget-container {
	text-align: left !important;
}

@media all and (max-width: 767px) {
	.ti-widget.ti-book .ti-widget-container {
		text-align: center !important;
	}
}

/**
 * Hotel Belvir colour palette.
 *
 * Keep the five brand colours available from one place and use the darker
 * coral variant only where normal-sized text needs AA contrast on the accent.
 */
:root {
	--hotelbelvir-navy: #293241;
	--hotelbelvir-blue: #3d5a80;
	--hotelbelvir-sky: #98c1da;
	--hotelbelvir-ice: #e0fbfd;
	--hotelbelvir-coral: #ef6c4d;
	--hotelbelvir-coral-aa: #c04a30;
	--hotelbelvir-white: #fff;
}

body {
	color: var(--hotelbelvir-navy);
}

h1,
h2,
h3,
h4,
h5,
h6,
.post_header_title,
.page_title_inner {
	color: var(--hotelbelvir-navy);
}

a {
	color: var(--hotelbelvir-blue);
}

a:hover,
a:focus {
	color: var(--hotelbelvir-navy);
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="date"],
input[type="password"],
textarea,
select {
	color: var(--hotelbelvir-navy);
	background-color: var(--hotelbelvir-ice);
	border-color: var(--hotelbelvir-blue);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
	border-color: var(--hotelbelvir-blue);
	box-shadow: 0 0 0 3px rgba(61, 90, 128, 0.18);
	outline: 0;
}

input::placeholder,
textarea::placeholder {
	color: var(--hotelbelvir-blue);
	opacity: 1;
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.button,
a.button {
	color: var(--hotelbelvir-white);
	background-color: var(--hotelbelvir-blue);
	border-color: var(--hotelbelvir-blue);
}

button:hover,
button:focus,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
input[type="reset"]:hover,
input[type="reset"]:focus,
.button:hover,
.button:focus,
a.button:hover,
a.button:focus {
	color: var(--hotelbelvir-white);
	background-color: var(--hotelbelvir-navy);
	border-color: var(--hotelbelvir-navy);
}

#footer,
#footer_wrapper,
.footer_bar,
.footer_bar_wrapper {
	color: var(--hotelbelvir-ice);
	background-color: var(--hotelbelvir-navy);
}

#footer h1,
#footer h2,
#footer h3,
#footer h4,
#footer h5,
#footer h6,
#footer_wrapper h1,
#footer_wrapper h2,
#footer_wrapper h3,
#footer_wrapper h4,
#footer_wrapper h5,
#footer_wrapper h6 {
	color: var(--hotelbelvir-white);
}

#footer a,
#footer_wrapper a,
.footer_bar a,
.footer_bar_wrapper a {
	color: var(--hotelbelvir-sky);
}

#footer a:hover,
#footer a:focus,
#footer_wrapper a:hover,
#footer_wrapper a:focus,
.footer_bar a:hover,
.footer_bar a:focus,
.footer_bar_wrapper a:hover,
.footer_bar_wrapper a:focus {
	color: var(--hotelbelvir-ice);
}

#footer .widgettitle::after,
#footer_wrapper .widgettitle::after {
	background-color: var(--hotelbelvir-coral);
}

/**
 * Rooms overview.
 *
 * Elementor stores its own grey button colour for this page, so keep the room
 * cards aligned with the site palette using a page-scoped override.
 */
body:is(.page-id-181, .page-id-3731, .page-id-3733, .page-id-3735, .page-id-3737) .elementor-widget-text-editor p {
	color: var(--hotelbelvir-navy);
}

body:is(.page-id-181, .page-id-3731, .page-id-3733, .page-id-3735, .page-id-3737) h3.elementor-heading-title a {
	color: var(--hotelbelvir-blue) !important;
}

body:is(.page-id-181, .page-id-3731, .page-id-3733, .page-id-3735, .page-id-3737) h3.elementor-heading-title a:hover,
body:is(.page-id-181, .page-id-3731, .page-id-3733, .page-id-3735, .page-id-3737) h3.elementor-heading-title a:focus {
	color: var(--hotelbelvir-navy) !important;
}

body:is(.page-id-181, .page-id-3731, .page-id-3733, .page-id-3735, .page-id-3737) .elementor-button {
	color: var(--hotelbelvir-white) !important;
	background-color: var(--hotelbelvir-blue) !important;
	border-color: var(--hotelbelvir-blue) !important;
}

body:is(.page-id-181, .page-id-3731, .page-id-3733, .page-id-3735, .page-id-3737) .elementor-button:hover,
body:is(.page-id-181, .page-id-3731, .page-id-3733, .page-id-3735, .page-id-3737) .elementor-button:focus {
	color: var(--hotelbelvir-white) !important;
	background-color: var(--hotelbelvir-navy) !important;
	border-color: var(--hotelbelvir-navy) !important;
}

/**
 * Keep the desktop navigation dropdown inside the viewport.
 *
 * The main menu sits close to the right edge, so its first-level dropdown must
 * grow towards the left instead of extending beyond the screen.
 */
#menu_wrapper .nav > li.menu-item-has-children > ul.sub-menu {
	right: 0;
	left: auto;
}

/**
 * Centre the home booking form in both full-width and centred Elementor widgets.
 * The plugin already centres it with left: 50% and translateX(-50%).
 */
@media (min-width: 768px) {
	body.home #corpoboxricerca.hotelbelvir-booking-widget {
		margin-left: 0;
		margin-right: 0;
	}
}

/**
 * Keep the final home text widget inside the mobile column, and align the
 * contact form actions with the other fields.
 */
@media (max-width: 767px) {
	body.home .elementor > .elementor-section:last-child .elementor-widget-text-editor {
		width: 100%;
		max-width: 100%;
	}

	#mybooking-rf-form .actions {
		left: 0;
		right: auto;
	}
}
