/* 
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, body {
    max-width: 100%;
    overflow-x: hidden;
}

.text-image--carousel {
    height: 100%;
	max-height: 17.25rem;
}

.text-image--carousel .swiper {
    height: 100%;
    padding-bottom: 0 !important;
}

.text-image--carousel .swiper .swiper-slide .elementor-widget-image {
    height: 100%;
}

.text-image--carousel .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
    top: 109%;
}

@media screen and (min-width: 1280px){
	.text-image--carousel {
    	height: 100%;
		max-height: 42.5rem;
	}
	
    .text-image--carousel .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
        display: none;
    }
}

/*  Booking Form */

.bfh-bar button.bfh-field {
    background-color: transparent !important;
}

/*  Gravity forms */

#gform_1 {
    font-family: var(--e-global-typography-text-font-family), sans-serif;
    color: var(--e-global-color-primary);
}

/* --- Progress bar --- */
#gf_progressbar_wrapper_1 .gf_progressbar_title {
    font-family: var(--e-global-typography-primary-font-family), serif;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--e-global-color-primary);
    margin-bottom: 12px;
}

.gf_progressbar {
    background-color: var(--e-global-color-secondary);
    height: 4px;
    border-radius: 0;
    overflow: hidden;
}

.gf_progressbar_percentage {
    background-color: var(--e-global-color-accent) !important;
    height: 100%;
}

.gf_progressbar_percentage span {
    display: none; /* hides the numeric label inside the bar for a cleaner look */
}

/* --- Field labels --- */
.gform-field-label,
.gfield_label {
/*     font-family: var(--e-global-typography-primary-font-family), serif; */
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--e-global-color-primary);
    margin-bottom: 10px;
}

.gform-field-label--type-sub {
/*     font-family: var(--e-global-typography-text-font-family), sans-serif; */
    font-size: 12px;
    text-transform: none;
    letter-spacing: 0;
    color: var(--e-global-color-primary);
    opacity: 0.7;
}

/* --- Text, email, phone, number, textarea inputs --- */
#gform_1 input[type="text"],
#gform_1 input[type="email"],
#gform_1 input[type="tel"],
#gform_1 input[type="number"],
#gform_1 textarea,
#gform_1 select {
    background-color: var(--e-global-color-8f3590a);
    border: 1px solid var(--e-global-color-primary);
    border-radius: 0;
    padding: 12px 16px;
    font-family: var(--e-global-typography-text-font-family), sans-serif;
    font-size: 16px;
    color: var(--e-global-color-primary);
    width: 100%;
    transition: border-color 0.3s ease, background-color 0.3s ease;
}

/* #gform_1 input:focus,
#gform_1 textarea:focus,
#gform_1 select:focus {
    outline: none;
    border-color: var(--e-global-color-accent);
    background-color: var(--e-global-color-8f3590a);
} */

#gform_1 input::placeholder,
#gform_1 textarea::placeholder {
    color: var(--e-global-color-primary);
    opacity: 0.5;
}

/* Select dropdown arrow colour cue */
.gfield_select {
    appearance: none;
    background-image: none;
}

/* --- Date field --- */
.ginput_container_date input {
    max-width: 220px;
}

/* --- Time field --- */
.gfield_time_hour,
.gfield_time_minute {
    max-width: 80px;
}
.gf_progressbar_wrapper{
	display:none;
}
.hour_minute_colon {
    color: var(--e-global-color-primary);
    font-size: 18px;
    display: flex;
    align-items: center;
    padding: 0 6px;
}

/* --- Radio buttons (Event Format) --- */
.ginput_container_radio .gchoice {
    display: inline-flex;
    align-items: center;
    margin-right: 24px;
    margin-bottom: 10px;
}

.ginput_container_radio input[type="radio"] {
    appearance: none;
    width: 18px;
    height: 18px;
    border: 1px solid var(--e-global-color-primary);
    border-radius: 50%;
    margin-right: 8px;
    position: relative;
    cursor: pointer;
}

.ginput_container_radio input[type="radio"]:checked::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: var(--e-global-color-accent);
}

.ginput_container_radio label {
    font-family: var(--e-global-typography-text-font-family), sans-serif;
    color: var(--e-global-color-primary);
}

/* --- Checkboxes (Extras) --- */
.ginput_container_checkbox .gchoice {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.ginput_container_checkbox input[type="checkbox"] {
    appearance: none;
    width: 18px;
    height: 18px;
    border: 1px solid var(--e-global-color-primary);
    border-radius: 0;
    margin-right: 10px;
    position: relative;
    cursor: pointer;
}

.ginput_container_checkbox input[type="checkbox"]:checked {
    background-color: var(--e-global-color-accent);
    border-color: var(--e-global-color-accent);
}

.ginput_container_checkbox input[type="checkbox"]:checked::after {
    content: "✓";
    position: absolute;
    top: -3px;
    left: 3px;
    color: var(--e-global-color-8f3590a);
    font-size: 13px;
}

/* --- Name field --- */
.ginput_container--name {
    gap: 20px;
}

/* --- Buttons: Next, Previous, Submit --- */
.gform_page_footer {
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
}

.gform_button,
.gform_next_button,
.gform_previous_button {
    font-family: var(--e-global-typography-primary-font-family), serif;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-radius: 0;
    padding: 14px 32px;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
    border: 1px solid var(--e-global-color-accent);
}

#gform_1 :is(.gform_next_button,
.gform_button,.gform_previous_button) {
    background-color: var(--e-global-color-primary);
    color: var(--e-global-color-8f3590a);
	text-transform:uppercase;
	border-radius:0;
}

#gform_1 :is(.gform_next_button:hover,
.gform_button:hover,.gform_previous_button:hover) {
    background-color: var(--e-global-color-accent);
    border-color: var(--e-global-color-accent);
}

.gform_previous_button {
    background-color: transparent;
    color: var(--e-global-color-accent);
}

.gform_previous_button:hover {
    background-color: var(--e-global-color-secondary);
}

/* --- Spacer between field rows --- */
.spacer.gfield {
    height: 10px;
}
body .gravity-theme.ui-datepicker[style]{
	z-index:10000000 !important;
}
.gform_wrapper.gravity-theme .ginput_container_time{
	
    max-width: 80px !important;
    min-width: 80px !important;
}

/* --- Radio buttons (Event Format) — button style, single line --- */
.ginput_container_radio {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.ginput_container_radio .gchoice {
    margin: 0;
}

.ginput_container_radio input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}
.gform_wrapper.gravity-theme .gfield-choice-input+label{
	
    max-width: 100% !important;
}
.ginput_container_radio label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    width: auto;
    font-family: var(--e-global-typography-text-font-family), sans-serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.04em;
    color: var(--e-global-color-primary);
    border: 1px solid var(--e-global-color-primary);
    border-radius: 0;
    padding: 12px 20px;
    cursor: pointer;
    background-color: transparent;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.ginput_container_radio input[type="radio"]:checked + label {
    background-color: var(--e-global-color-primary);
    color: #FFFFFF;
}

.ginput_container_radio label:hover {
    background-color: var(--e-global-color-primary);
    color: #FFFFFF;
}
/*  Summary Box */
#gf-summary-box {
    border: 1px solid var(--e-global-color-primary);
    padding: 24px;
    background-color: var(--e-global-color-8f3590a);
}

.gf-summary-title {
/*     font-family: var(--e-global-typography-primary-font-family), serif; */
    font-size: 26px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--e-global-color-primary);
    margin: 0 0 20px 0;
}
.gfield, .gfield :is(input,textarea) {
    text-align: center;
	text-transform:uppercase;
}
.gform_wrapper.gravity-theme .ginput_complex:not(.ginput_container_address) fieldset:not([style*="display:none"]):not(.ginput_full), .gform_wrapper.gravity-theme .ginput_complex:not(.ginput_container_address) span:not([style*="display:none"]):not(.ginput_full){
	pading-right:0 !important;
}
.gform_wrapper.gravity-theme .ginput_complex:not(.ginput_container_address) fieldset:not([style*="display:none"]):not(.ginput_full)~span:not(.ginput_full), .gform_wrapper.gravity-theme .ginput_complex:not(.ginput_container_address) span:not([style*="display:none"]):not(.ginput_full)~span:not(.ginput_full){
	padding-left:0 !important;
}
.spacer.gfield {
    display: none !important;
}
.gform_wrapper.gravity-theme .ginput_complex{
	
    flex-flow: column wrap !important;
}
.gf-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 10px 0;
    border-bottom: 1px solid var(--e-global-color-secondary);
}

.gf-summary-row:last-child {
    border-bottom: none;
}

.gf-summary-label {
    font-family: var(--e-global-typography-text-font-family), sans-serif;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--e-global-color-primary);
    opacity: 0.6;
}

.gf-summary-value {
    font-family: var(--e-global-typography-text-font-family), sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: var(--e-global-color-primary);
    text-align: right;
}

/*  GF Override */
#gform_1 h3{
	text-transform:uppercase !important;
}
.gform_next_button, .gform_button{
	
}
.custom-label {
    color: #FFF;
    text-transform: uppercase;
    background: var(--e-global-color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px 40px;
    cursor: pointer;
}
.custom-label span.icon {
    position: absolute;
    right: 30px;
}
@media screen and (max-width:768px){
	.custom-label span.icon {
    position: absolute;
    right: 10px;
}
}
.group-radio {
  display: grid !important;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s ease-out, opacity 0.3s ease-out;
  opacity: 0;
}
.gfield_error .gfield_validation_message, .gform_required_legend{
    display:none !important;
}

/* Crucial: The immediate child must have overflow hidden for the collapse to work */
.group-radio > .ginput_container_radio {
  overflow: hidden;
}

/* The Active State */
.group-radio.open {
  grid-template-rows: 1fr;
  opacity: 1;
}
.gfield--type-radio.group-radio .gfield_radio{
    display: grid;
    width:100%;
    border:2px solid #15392E;
	grid-template-columns:1fr;
}

.gfield--type-radio.group-radio .gfield_radio label{
    width:100%;
    border:0 !important;
}
/*  Checkbox Extras */
/* --- Checkboxes (Extras) — full-width button style --- */
.extras .ginput_container_checkbox .gfield_checkbox {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.extras .ginput_container_checkbox .gchoice {
    margin: 0;
    width: 100%;
}
.gform_wrapper.gravity-theme .gfield_checkbox label, .gform_wrapper.gravity-theme .gfield_radio label{
	text-wrap:wrap !important;
}

.extras .ginput_container_checkbox input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.extras .ginput_container_checkbox label {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    text-align: center;
    font-family: var(--e-global-typography-text-font-family), sans-serif;
    font-size: 15px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--e-global-color-primary);
    border: 1px solid var(--e-global-color-primary);
    border-radius: 0;
    padding: 16px 24px;
    cursor: pointer;
    background-color: transparent;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.extras .ginput_container_checkbox input[type="checkbox"]:checked + label {
    background-color: var(--e-global-color-primary);
    color: #FFFFFF;
}

.extras .ginput_container_checkbox label:hover {
    background-color: var(--e-global-color-primary);
    color: #FFFFFF;
}
/*  Tuo Spazio */
/* --- Radio buttons scoped to .tuo-spazio — full-width button style --- */
.tuo-spazio .ginput_container_radio {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.tuo-spazio .gchoice {
    margin: 0;
    width: 100%;
}

.tuo-spazio input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.tuo-spazio label {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    text-align: center;
    font-family: var(--e-global-typography-text-font-family), sans-serif;
    font-size: 15px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--e-global-color-primary);
    border: 1px solid var(--e-global-color-primary);
    border-radius: 0;
    padding: 16px 24px;
    cursor: pointer;
    background-color: transparent;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.tuo-spazio input[type="radio"]:checked + label {
    background-color: var(--e-global-color-primary);
    color: #FFFFFF;
}

.tuo-spazio label:hover {
    background-color: var(--e-global-color-primary);
    color: #FFFFFF;
}
div#input_1_33 {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.bfh-bar :is(button,.bfh-field){
    padding:18px 0px;
}
.bfh-bar{
	flex-direction:column;
}
.bfh-calendar{
	width:100%;
}
.bfh{
	position:relative;
}
.bfh-calendar{
	top:125px !important;
}
.bfh-bar > * {
    flex-direction: row !important;
    justify-content: space-between !important;
	align-items:center !important;
}
.elementor-popup-modal .dialog-message{
	overflow:visible !important;
	top:125px;
}
.bfh-counter-btn{
	width:24px !important;
	height:24px !important;
}
.bfh-counter{
	gap:8px !important;
}
.bfh-bar > *:not(:last-child){
	border-right:0 !important;
	border-bottom:1px solid rgba(38, 37, 30, 0.14);
}
button.bfh-field{
    border-radius:0;
}
button.bfh-field:hover{
    border-bottom:1px solid var(--e-global-color-primary) !important;
    border-radius:0 !important;
}

button.bfh-counter-btn:hover{
    background:#FFF !important;
}