/* 
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 */

html .woocommerce .woocommerce-breadcrumb {
	margin-bottom: 0;
}
html .fa, html .fab, html .fad, html .fal, html .far, html .fas {
	display: block;
}
html .daterangepicker .calendar-table th,
html .daterangepicker .calendar-table td {
    padding: 3px;
    border-block-start: 0 !important;
}
html .daterangepicker td.active,
html .daterangepicker td.active:hover {
    background-color: #000000;
}
html .daterangepicker td.in-range,
html .daterangepicker td.available:hover,
html .daterangepicker th.available:hover {
    background-color: #000000;
    color: #ffffff;
}


button.read-more-btn {
    background: transparent;
    padding: 0;
    border: 0;
    color: #000;
    text-decoration: underline;
    margin-top: 0;
}
button.read-more-btn:hover,
button.read-more-btn:active,
button.read-more-btn:focus {
	background: transparent;
	color: #444;
}

.amenity img {
	max-width: 26px;
	opacity: 0.8;
    margin-bottom: 0 !important;
}
.amenity figure.elementor-image-box-img {
    border: 1px solid #b3b3b3;
    padding: 10px;
    border-radius: 3px;
}

.wp-gr .grw-btns {
	background: transparent;
}
.wp-gr .grw-btns svg {
	fill: #000;
	width: 40px;
}
.wp-gr .grw-btns:hover,
.wp-gr .grw-btns:focus {
	background: transparent;
}

/* LOOP GRID */
li.product {
    max-width: 100%;
    display: block !important;
}
ul.products.columns-4 {
    display: flex !important;
    flex-direction: column;
}
.woof h4 {
    font-size: 1em;
    font-weight: 500;
    text-transform: uppercase;
    line-height: 1em;
    margin-bottom: 15px;
}
.woof .woof_container {
    margin-bottom: 15px;
    background: #fff;
    padding: 15px 25px;
    border-radius: 10px;
}
.woof .woof_container .woof_list {
    font-size: 0.9em;
}
.elementor-nothing-found.elementor-products-nothing-found {
    padding: 25px;
    background: #fff;
    border-radius: 15px;
    font-weight: 500;
    font-size: 1.2em;
}
html .woocommerce ul.products li.product,
html .woocommerce-page ul.products li.product {
    margin: 0;
}

/* WOOF FILTER CSS */
html .woof_list_checkbox li div {
    margin-top: 0;
    transform: scale(0.9);
}
.woocommerce .widget_price_filter .ui-slider-horizontal {
    height: .2em;
    background-color: #b9b9b9 !important;
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-range {
    background-color: #000;
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
    background-color: #fff;
    box-shadow: 0 0 2px 0px rgba(0, 0, 0, 0.5);
    border: 0;
    top: -.4em;
}
button.button.woof_reset_search_form {
    background: #000;
    color: #fff;
    margin-top: 0;
}
.woof_submit_search_form_container {
    margin-top: 0;
}

.woocommerce .woocommerce-result-count {
    margin: 0;
    font-size: 0.8em;
}
.woocommerce .woocommerce-ordering {
    margin: 0;
}
.woocommerce .woocommerce-ordering select {
    vertical-align: top;
    font-size: 0.8em;
    padding: 5px 10px;
}

/* BUTTON EFFECTS */
.wave .elementor-button {
    position: relative;
    background-color: #0073e6;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    overflow: hidden;
}

.wave .elementor-button::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    animation: wave 2s linear infinite;
}

@keyframes wave {
    0% {
        left: -100%;
    }
    100% {
        left: 100%;
    }
}

.ripple {
    overflow: hidden;
}

.ripple .elementor-button::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.3);
    transform: translate(-50%, -50%);
    pointer-events: none;
    animation: ripple 2s infinite;
}

@keyframes ripple {
    0% {
        width: 0;
        height: 0;
        opacity: 1;
    }
    100% {
        width: 300px;
        height: 300px;
        opacity: 0;
    }
}
.glow .elementor-button {
    position: relative;
    background-color: #0073e6;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    animation: glow 2s ease-in-out infinite alternate;
}

@keyframes glow {
    from {
        box-shadow: 0 0 5px #0073e6;
    }
    to {
        box-shadow: 0 0 20px #0073e6, 0 0 30px #0073e6;
    }
}


/* ACF GALLERY */
.gallery-filters {
  text-align:center;
  margin-bottom:20px;
    display: flex;
    justify-content: center;
    overflow: scroll;
}
.gallery-filters .filter-button {
  display:inline-block;
  margin:0 5px 5px;
  padding:6px 14px;
  cursor:pointer;
	background: transparent;
    border-color: var(--e-global-color-primary);
    color: var(--e-global-color-primary);
}
.gallery-filters .filter-button.is-checked {
    background: var(--e-global-color-primary);
    color: #fff;
}
.gallery-grid {
  /* Isotope container */
}
.gallery-item {
  width:100%;          /* one image per row, adjust as needed */
  margin-bottom:10px;
}
.gallery-item img {
  display:block;
  width:100%;
  height:auto;
	border-radius: 10px;
}
@media screen and (max-width: 592px) {
	
	.gallery-filters .filter-button {
		font-size: 13px;
	}
	.hidebtntxtmobile span.elementor-button-text {
		display: none;
	}
}

.page-details {
        background-color: #222;
    background-image: linear-gradient(180deg, var(--e-global-color-8eb5146) 0%, #0000004F 100%);
    padding: 20px;
    color: #fff;
    border-radius: 15px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.page-details h1 {
    color: #fff;
    font-size: 2em;
    line-height: 1.1em;
    margin: 0;
}

.elementor-widget-woocommerce-product-add-to-cart #wc-bookings-booking-form {
    border: 0 !important;
    padding: 0;
}
.elementor-widget-woocommerce-product-add-to-cart form {
    flex-direction: column;
}
.wc-bookings-date-picker {
    margin-bottom: 0;
}
.wc-bookings-date-picker .ui-datepicker .ui-datepicker-title,
.wc-bookings-date-picker .ui-datepicker .ui-datepicker-prev,
.wc-bookings-date-picker .ui-datepicker .ui-datepicker-next{
    background: #000;
    border-color: #000;
}
.wc-bookings-date-picker .ui-datepicker-header {
    border: 0;
    background: #000;
}
.wc-bookings-booking-form fieldset {
    padding: 0;
    border: 0;
}
fieldset.wc-bookings-date-picker > * {
    display: none;
}
fieldset.wc-bookings-date-picker .picker {
    display: block !important;
    /* margin-bottom: -30px !important; */
}
html .wc-bookings-date-picker .ui-datepicker td.bookable-range .ui-state-default {
    background: #000000 !important;
}
html .wc-bookings-date-picker .ui-datepicker td.bookable a {
    background-color: #a3ffca !important;
    color: #000000 !important;
}
html .wc-bookings-date-picker .ui-datepicker td.fully_booked:not(.not_bookable_by_rules) span,
html .wc-bookings-date-picker .ui-datepicker td.fully_booked:not(.not_bookable_by_rules) a {
    background-color: #ffd2cd !important;
    color: #000000 !important;
    cursor: not-allowed;
}
html .wc-bookings-date-picker td.ui-datepicker-unselectable.ui-state-disabled.fully_booked {
    opacity: 1;
}
.wc-bookings-booking-form-button {
    background: var(--e-global-color-primary) !important;
    margin: 0 !important;
}
.wc-bookings-booking-form .wc-bookings-booking-cost {
    background: transparent;
    border: 0;
    font-size: 1.4em;
    padding: 0;
    margin: 0;
}

#book-modal {
  display: none;
  position: fixed;
  z-index: 999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.4);
}

#book-modal .e-con.e-child {
	background-color: #fff;
    margin: 30px auto 0;
    padding: 30px;
    border: 1px solid #888;
    width: 80%;
    max-width: 450px;
    border-radius: 15px;
}

/* .wc_bookings_field_persons {
    display: flex;
    gap: 20px;
    align-items: center;
} */
#book-modal .close {
	cursor: pointer;
}
#wc-bookings-booking-form select,
#wc-bookings-booking-form input {
    font-size: 0.9em;
    padding: 5px 15px;
}
#wc-bookings-booking-form label {
    margin-bottom: 5px;
    font-size: 0.9em;
}
#wc-bookings-booking-form p.form-field {
    width: calc( 50% - 3px);
    display: inline-block;
}
#wc-bookings-booking-form  .form-field input[type=number] {
    width: 100%;
}
span.booking-error {
    color: red;
    font-size: 0.7em;
}
.single-product .woocommerce-notices-wrapper {
    display: none;
}

/* Outer pill container */
.ps-filter-bar--pill {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 7px 20px;
    border-radius: 15px;
    border: 2px solid #d9d9d9;
    background-color: #fff;
    max-width: 600px;
    margin: 0 auto;
    box-sizing: border-box;
}

/* Each group (location / date / guests) */
.ps-filter-bar--pill .ps-filter-group {
    display: flex;
    align-items: start;
    flex-direction: column;
    gap: 5px;
    flex: 1 1 0;
    min-width: 0; /* allow shrinking */
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    color: #333;
}

/* Icons (use your own SVG or font icons here) */
.ps-filter-bar--pill .ps-icon-wrap {
    font-size: 0.6em;
    text-transform: uppercase;
    color: #999;
    line-height: 1;
}

.ps-guests-control {
    display: flex;
}
.ps-guests-control button {
    padding: 0px 15px;
    line-height: 0.1em;
    color: #000;
    background: #eee;
    border: 0;
}
.ps-guests-control input {
    text-align: center;
}

/* Inputs and select look like plain text */
.ps-filter-bar--pill .ps-filter-group select,
.ps-filter-bar--pill .ps-filter-group input[type="text"],
.ps-filter-bar--pill .ps-filter-group input[type="number"] {
    border: none;
    background: transparent;
    font: inherit;
    color: inherit;
    padding: 0;
    outline: none;
    width: 100%;
    min-width: 0;
    font-size: 0.8em;
    height: 22px;
}

/* Remove number input arrows for guests */
.ps-filter-bar--pill .ps-filter-group input[type="number"]::-webkit-outer-spin-button,
.ps-filter-bar--pill .ps-filter-group input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.ps-filter-bar--pill .ps-filter-group input[type="number"] {
    -moz-appearance: textfield;
}

/* Guests label “Guests” inline */
.ps-filter-bar--pill .ps-guests-label {
    white-space: nowrap;
}

/* Placeholder color for daterange */
#ps-daterange::placeholder {
    color: #999;
}

/* Search button – round yellow with white magnifier */
.ps-filter-bar--pill .ps-filter-submit {
    flex: 0 0 auto;
    width: 20px;
    height: 38px;
    border-radius: 5px;
    border: none;
    background-color: #000000;
    cursor: pointer;
    position: relative;
}

/* Simple magnifier icon using CSS */
.ps-filter-bar--pill .ps-filter-submit::before,
.ps-filter-bar--pill .ps-filter-submit::after {
    content: "";
    position: absolute;
    box-sizing: border-box;
}
.ps-filter-bar--pill .ps-filter-submit::before {
    width: 16px;
    height: 16px;
    border: 2px solid #fff;
    border-radius: 50%;
    top: 9px;
    left: 14px;
}
.ps-filter-bar--pill .ps-filter-submit::after {
    width: 9px;
    height: 2px;
    background: #fff;
    transform: rotate(45deg);
    right: 14px;
    bottom: 12px;
}

/* Responsive tweak: stack on small screens */
@media (max-width: 640px) {
    .ps-filter-bar--pill .ps-filter-bar--pill {
        flex-wrap: wrap;
        gap: 12px;
    }
    .ps-filter-bar--pill .ps-filter-submit {
        margin-left: auto;
    }
}

@keyframes fadeInDown {
	from {
		opacity: 0;
		transform: translate3d(0, -30%, 0)
	}
	to {
		opacity: 1;
		transform: none
	}
}
@keyframes fadeInLeft {
	from {
		opacity: 0;
		transform: translate3d(-10%, 0, 0)
	}
	to {
		opacity: 1;
		transform: none
	}
}
@keyframes fadeInRight {
	from {
		opacity: 0;
		transform: translate3d(10%, 0, 0)
	}
	to {
		opacity: 1;
		transform: none
	}
}
@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translate3d(0, 30%, 0)
	}
	to {
		opacity: 1;
		transform: none
	}
}