/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

:root {
	--font-sans: ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
	--font-mono: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
}

/* Header styles */
.gb-site-header.gb-is-sticky {
    width: 100% !important;
}

.pulse-button-email a,
.pulse-button-phone a {
    text-decoration: none;
	font-weight: 600;
}

.pulse-button-phone a {
	color: var(--global-color-8)
}

.pulse-button-email a {
	color: var(--global-color-9)
}

@keyframes pulse-animation-yellow {
	0% {
		box-shadow: 0 0 0 0px rgba(249, 190, 87, .3);
	}
	
	100% {
		box-shadow: 0 0 0 20px rgba(255, 204, 0, 0);
	}
}

@keyframes pulse-animation-blue {
	0% {
		box-shadow: 0 0 0 0px rgba(0, 66, 128, .3);
	}
	
	100% {
		box-shadow: 0 0 0 20px rgba(255, 204, 0, 0);
	}
}

.pulse-button-phone:hover {
    animation: pulse-animation-yellow 2s infinite;
}

.pulse-button-email:hover {
    animation: pulse-animation-blue 2s infinite;
}

.pll-parent-menu-item ul.sub-menu {
	width: max-content;
    margin-right: 33px;
}

.pll-parent-menu-item li.lang-item {
    background-color: #fff;
    width: max-content;
}

.mobile-menu-container {
    padding-bottom: 0px !important;
}

.mobile-menu-container button.gb-menu-toggle {
    display: none;
}

.mobile-menu-container ul.gb-menu {
    margin-top: 10px !important;
}

.mobile-menu-container .pll-parent-menu-item a {
	width: max-content;
}

/* Booking form styles */
.cpbs-main .cpbs-main-navigation-responsive,
.cpbs-main-content-step-2 .cpbs-layout-column-right .cpbs-place .cpbs-place-layout-column-right-line-middle .cpbs-place-attribute-2 .cpbs-attribute-field-value {
    display: none !important;
}

.cpbs-main-content-step-2 .cpbs-layout-column-right .cpbs-place .cpbs-place-layout-column-right-line-middle .cpbs-place-attribute-2 .cpbs-attribute-field-name {
	margin-bottom: 0px;
	margin-top: 10px;
}

@media (width > 1180px) {
	.cpbs-main form {
		min-width: 1152px;
	}
}

.cpbs-main.ui-datepicker table, 
.cpbs-main#ui-datepicker-div table,
.cpbs-main.ui-datepicker thead, 
.cpbs-main#ui-datepicker-div thead {
    border: none !important;
}

.cpbs-main .cpbs-main-navigation-responsive>.cpbs-form-field,
.cpbs-main-content-step-2 .cpbs-place-list .cpbs-list-reset .cpbs-place {
	border-radius: 10px;
	overflow: hidden;
}

.cpbs-main-navigation-default ul li.cpbs-state-selected a > span:first-child,
.cpbs-main-navigation-default ul li.cpbs-state-completed a > span:first-child {
	border-color: var(--global-color-9) !important;
	background: var(--global-color-9) !important;
}

.cpbs-main-navigation-default ul li.cpbs-state-completed > div {
	background-color: var(--global-color-9) !important;
}

.cpbs-main-navigation-default ul li.cpbs-state-selected a > span:first-child+span,
.cpbs-main-navigation-default ul li.cpbs-state-completed a > span:first-child+span {
	color: var(--global-color-9) !important;
}

.cpbs-header,
.cpbs-button,
.cpbs-form-field-label,
.cpbs-attribute-field-name {
	font-family: var(--font-sans) !important;
}

.cpbs-button,
.cpbs-rental-date-box div,
ul.cpbs-payment li,
.cpbs-layout-column-left .cpbs-summary-box,
.cpbs-main-content-step-4 .cpbs-layout-column-left,
.cpbs-main-content-step-4 .cpbs-layout-column-right {
	border-radius: 10px;
}

.cpbs-layout-column-left .cpbs-summary-box {
	min-width: 251px;
}

.cpbs-main.cpbs-google-map-enable-0 .cpbs-main-content .cpbs-main-content-step-1 .cpbs-form-panel, 
.cpbs-main.cpbs-booking-form-widget-mode .cpbs-main-content .cpbs-main-content-step-1 .cpbs-form-panel {
	border-radius: 10px;
	overflow: hidden;
}

.cpbs-place-list > div:nth-child(2),
.cpbs-main-content-step-2 .cpbs-layout-column-right .cpbs-header.cpbs-header-style-3:not(.cpbs-place-name),
.cpbs-main-content-step-3 .cpbs-layout-column-right .cpbs-header.cpbs-header-style-3:not(.cpbs-place-name) {
	color: #fff;
}

.cpbs-booking-complete .cpbs-header,
.cpbs-booking-complete-payment-cash p,
.cpbs-booking-complete-payment-wire_transfer p {
	color: #fff !important;
	font-weight: 700 !important;
}

.cpbs-booking-complete-payment-cash .cpbs-button,
.cpbs-booking-complete-payment-wire_transfer .cpbs-button {
	display: none !important;
}

.cpbs-main-content-step-2 .cpbs-layout-column-right {
	position: sticky;
	top: 10px;
}

.cpbs-coupon-code-section .cpbs-form-field label,
.cpbs-rental-date-box div span:first-child {
	font-family: var(--font-sans) !important;
}

.cpbs-main-content-step-3 .cpbs-layout-column-right .cpbs-form-panel:last-child .cpbs-form-panel-content {
	display: none;
}

.cpbs-main .cpbs-client-form label {
	font-family: var(--font-sans);
}

/* Successful reservation popup styles */
#skypark-banner {
	position: fixed; 
	inset: 0; 
	z-index: 2147483647;
	background: rgba(0,0,0,0.75); 
	backdrop-filter: blur(4px);
	display: flex; 
	align-items: center; 
	justify-content: center;
	padding: 20px; 
	font-family: var(--font-sans);
	animation: sp-fade .3s ease;
}

@keyframes sp-fade { from { opacity: 0; } to { opacity: 1; } }

#skypark-banner .sp-card {
	position: relative;
	max-width: 520px; width: 100%;
	background: var(--base-2);
	border: 1px solid var(--base-2);
	border-radius: 10px;
	padding: 40px 32px 32px;
	text-align: center;
	color: #e8e8e8;
	box-shadow: 0 20px 60px rgba(0,0,0,0.5), 0 0 0 1px rgba(244,199,107,0.1);
}

#skypark-banner .sp-close {
	position: absolute; 
	top: 12px; 
	right: 16px;
	background: none; 
	border: 0; 
	color: #333;
	font-size: 24px; 
	cursor: pointer; 
	line-height: 1;
}

#skypark-banner .sp-close:hover { 
	color: #004280; 
}

#skypark-banner .sp-check {
	width: 64px; 
	height: 64px; 
	margin: 0 auto 18px;
	border-radius: 50%;
	background: #f9be57;
	color: #004280; 
	font-size: 34px; 
	font-weight: 700;
	line-height: 64px;
}

#skypark-banner h2 {
	font-family: var(--font-sans);
	color: #004280; 
	font-size: 1.9rem; 
	margin: 0 0 8px;
	letter-spacing: .5px; 
	font-weight: 600;
}

#skypark-banner .sp-sub { 
	color: #333; 
	margin: 0 0 16px; 
	font-size: .95rem; 
}

#skypark-banner .sp-method {
	color: #333; 
	font-size: .92rem; 
	line-height: 1.5;
	background: rgba(244,199,107,0.06);
	border-left: 3px solid #f9be57;
	padding: 14px 16px; 
	margin: 0 0 22px;
	text-align: left;
}

#skypark-banner .sp-bank {
	margin-top: 10px; 
	padding-top: 10px;
	border-top: 1px solid #004280;
	font-family: var(--font-mono);
	color: #333;
	font-size: .88rem;
	line-height: 1.8;
}

#skypark-banner .sp-btn {
	display: inline-block; 
	padding: 12px 36px;
	background: #f9be57;
	color: #004280; 
	border: 0; 
	border-radius: 6px;
	font-weight: 600; 
	font-size: 1rem; 
	cursor: pointer;
	transition: transform .2s ease, box-shadow .2s ease;
}

#skypark-banner .sp-btn:hover {
	transform: translateY(-1px);
	background: #004280;
	color: #f9be57;
}

/* Homepage styles */
.gb-accordion__item-open .gb-accordion__toggle .gb-text {
	color: #004280;
}

/* Footer styles */
.terms-link a {
	color: #fff;
	text-decoration: none;
}

.terms-link a:hover {
	text-decoration: underline;
}

.mobile-fab-call {
    position: fixed;
    right: 18px;
    bottom: 20px;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: var(--global-color-9);
    color: #fff;
    text-decoration: none;
    display: none;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    z-index: 999999;
    box-shadow: 0 12px 30px rgba(249, 190, 87, .3);
    animation: call-pulse 2s infinite;
}

.mobile-fab-call span.call-icon {
    display: flex;
    justify-content: center;
    align-items: center;
}

.mobile-fab-call .call-icon svg {
	color: var(--global-color-8);
}

@media (max-width: 767px) {
	.mobile-fab-call {
		display: flex;
		justify-content: center;
		align-items: center;
	}
}

@keyframes call-pulse {
	0% {
		box-shadow: 0 0 0 0px rgba(249, 190, 87, .3);
	}

	70% {
		box-shadow: 0 0 0 14px rgba(225, 6, 0, 0);
	}
	
	100% {
		box-shadow: 0 0 0 0 rgba(225, 6, 0, 0);
	}
}