/* Shared header and footer (Casa Availability layout). Values match the per-page Elementor copies. */
body.casa-layout { margin: 0; background-color: #81c5f9; }
/* Each page's outer Elementor container is min-height:100vh; with the footer now outside it, that would push the footer below the fold. */
body.casa-layout [data-elementor-type="wp-page"] > .e-con:first-child { min-height: 0 !important; }

/* Keep the footer at the bottom of the window on short pages: the page fills the viewport and the white content box stretches. */
body.casa-layout { display: flex; flex-direction: column; min-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px)); }
body.casa-layout > .casa-header,
body.casa-layout > .casa-footer { flex-shrink: 0; }
body.casa-layout > [data-elementor-type="wp-page"] { flex: 1 0 auto; display: flex; flex-direction: column; }
body.casa-layout [data-elementor-type="wp-page"] > .e-con:first-child { flex: 1 0 auto; }
body.casa-layout [data-elementor-type="wp-page"] > .e-con:first-child > main { flex: 1 0 auto; display: flex; flex-direction: column; }
body.casa-layout [data-elementor-type="wp-page"] > .e-con:first-child > main > :first-child { flex: 1 0 auto; }
.casa-header, .casa-header *, .casa-footer, .casa-footer * { box-sizing: border-box; }

/* Header */
.casa-header { background: #f4f4f4 url("../images/header-bg.jpg"); box-shadow: inset 0 -1px 0 #dfdfdf; font-family: Arimo, Arial, sans-serif; }
.casa-header__strip { height: 16px; background: #333 url("../images/header-top-footer-bg.jpg"); box-shadow: inset 0 -4px 0 #ccc; }
.casa-header__inner { padding: 0 2%; }
.casa-header__brand { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.casa-header__title { margin: 11px 0 0; flex-shrink: 0; font-family: "Times New Roman", Times, serif; font-size: 37px; font-weight: 400; line-height: 51px; }
.casa-header__title a { color: #010F71; text-decoration: none; }
.casa-header__title a:hover { color: #444; }
.casa-header__welcome { flex: 1; margin: 17px 0 0; padding: 12px 0 13px; font-size: 14px; line-height: 24px; color: #003378; text-align: center; box-shadow: inset 0 1px 0 #DADADA, inset 0 -1px 0 #DADADA; }
.casa-header__welcome strong { color: #037ACD; font-weight: 400; }

/* Main menu */
.casa-nav { margin-top: 15px; background: #fff; border: 1px solid #ccc; box-shadow: 0 1px 0 #fff; }
.casa-nav__menu, .casa-nav__menu .sub-menu { list-style: none; margin: 0; padding: 0; }
.casa-nav__menu { display: flex; flex-wrap: wrap; }
.casa-nav__menu > li { position: relative; }
.casa-nav__menu > li > a { display: block; padding: 0 12px; font-size: 14px; line-height: 48px; color: #444; text-decoration: none; box-shadow: inset -1px 0 0 #ccc; transition: background-color 0.2s; }
.casa-nav__menu > li > a:hover,
.casa-nav__menu > li:hover > a,
.casa-nav__menu > li:focus-within > a,
.casa-nav__menu > li.current-menu-item > a,
.casa-nav__menu > li.current-menu-parent > a,
.casa-nav__menu > li.current-menu-ancestor > a { background-color: #444; color: #fff; }

/* "Log out" sits at the far right (menu item CSS class: menu-logout) */
.casa-nav__menu > li.menu-logout { margin-left: auto; }
.casa-nav__menu > li.menu-logout > a { background-color: #E8E8E8; box-shadow: inset 1px 0 0 #ccc; }
.casa-nav__menu > li.menu-logout > a:hover { background-color: #444; color: #fff; }

/* Dropdown (e.g. Reservations → year calendars) */
.casa-nav__menu .sub-menu { display: none; position: absolute; top: 100%; left: 0; width: 185px; background: #444; box-shadow: inset -1px 0 0 #555; z-index: 1000; }
.casa-nav__menu li:hover > .sub-menu,
.casa-nav__menu li:focus-within > .sub-menu { display: block; }
.casa-nav__menu .sub-menu a { display: block; padding: 7px 10px; font-size: 13px; line-height: 18px; color: #999; text-decoration: none; box-shadow: inset 0 -1px 0 #666; }
.casa-nav__menu .sub-menu a:hover,
.casa-nav__menu .sub-menu .current-menu-item > a { color: #fff; }
.casa-nav__menu .sub-menu a:hover { background-color: #333; }

/* Footer */
.casa-footer { min-height: 96px; padding-top: 36px; background: #333 url("../images/header-top-footer-bg.jpg"); box-shadow: inset 0 6px 0 #ccc; font-family: Arimo, Arial, sans-serif; }
.casa-footer__inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0 2%; }
.casa-footer__copyright { margin: 0; font-size: 12px; line-height: 24px; color: #666; }
.casa-footer__copyright span { color: #999; font-style: italic; }
.casa-footer__logo { margin-right: 19px; line-height: 0; }
.casa-footer__logo img { max-width: 170px; height: auto; }

/* Tablet / mobile */
@media (max-width: 1024px) {
	.casa-header__title { font-size: 34px; }
}
@media (max-width: 767px) {
	.casa-header__brand { flex-direction: column; gap: 0.5rem; }
	.casa-header__welcome { margin-top: 0; }
	.casa-nav__menu > li > a { line-height: 40px; }
	.casa-nav__menu > li.menu-logout { margin-left: 0; }
}
