/*
Theme Name:   Hello Elementor Child
Theme URI:    https://nolegiglio.it
Description:  Tema figlio di Hello Elementor per NoleGiglio
Author:       NoleGiglio
Author URI:   https://nolegiglio.it
Template:     hello-elementor
Version:      1.0.0
Text Domain:  hello-elementor-child
*/

/* ============================================================
   TIPOGRAFIA BASE
   ============================================================ */
body {
    font-size: 16px;
}

p {
    font-size: 16px;
}

h1 {
    font-size: 35px;
    color: #279bd4;
}

h2 {
    font-size: 28px;
    color: #000;
}

h3 {
    font-size: 22px;
    color: #000;
}

/* ============================================================
   HEADER FISSO CON TRASPARENZA
   ============================================================ */
#header_nolegiglio {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    transition: background 0.3s ease, box-shadow 0.3s ease;
	top: 44px;
}

/* Quando l'utente è loggato (barra admin WordPress) */
.admin-bar #header_nolegiglio {
    top: 32px;
}

@media screen and (max-width: 782px) {
    .admin-bar #header_nolegiglio {
        top: 46px;
    }
}

/* Classe aggiunta via JS allo scroll */
#header_nolegiglio.scrolled {
    background: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	top: 0px;
}

div#sticky_bar {
    position: sticky;
    top: 130px;
}
.e-n-accordion-item[open] summary .e-n-accordion-item-title-text {
  font-weight: bold;
}
p b, p strong {font-weight: 700;}
.evidenziatore .elementor-heading-title {
  background-color: #FFFFFFBA;
  display: inline;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  padding: 4px 8px;
  line-height: 1.75em!important;
	border-radius: 10px
}
.valutazione_recensione .elementor-icon-list-item span.elementor-icon-list-icon {
    background: #1bb59a;
	padding: 4px !important;
}
.valutazione_recensione .elementor-icon-list-item {
	margin-inline: -1px!important;}
.valutazione_recensione .elementor-icon-list-item span.elementor-icon-list-icon svg {
margin:0px!important}
.box_caletta:hover .description_caletta {
  --tw-translate-x: 0;
  --tw-translate-y: -15px;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.description_caletta {
  transition: transform 0.5s ease;
}
.box_caletta:hover .box_caletta_absolute {
	opacity: 1;
}
.box_caletta_absolute {
    position: absolute;
    bottom: 0;
    height: 100px;
    left: 0px;
    right: 0px;
    width: 100%;
    transition: transform 0.5s ease;
	opacity: 0;
}
.hfe-nav-menu ul li:hover:before,
.current-menu-item:before {
    left: 15px;
    content: "";
    height: 2px;
    background: #1fb79d;
    position: absolute;
    bottom: 9px;
    right: 15px;
}
#overlay_contatti {
  display: none;
}
div#overlay_contatti.open {
    z-index: 99999;
    position: fixed;
    top: 0;
    display: flex;
	left:0;
}
div#overlay_contatti .elementor-icon-box-icon {
    display: flex !important;
    align-items: center;
}

div#close_overlay_contatti {
    display: flex;
    width: 40px;
    height: 40px;
    background: #ffffffad;
    border-radius: 100%;
    align-items: center;
    justify-content: center;
    position: fixed;
    right: 30px;
    z-index: 99;
    top: 30px;
	cursor:pointer;
}
div#overlay_contatti .elementor-icon-box-content {
    display: flex;
    flex-direction: column-reverse;
}
div#overlay_contatti h5.elementor-icon-box-title {
    margin-top: 2px;
	margin-bottom:0px;
}
div#close_overlay_contatti .elementor-icon-wrapper {
    display: flex;
    justify-content: center;
}
div#box_info_contatti {
  position: absolute;
  left: 20px;
  z-index: 2;
  top: 50%;
  transform: translateY(-50%);
}
#banner_top:hover .link {text-decoration:underline}
nav.hfe-nav-menu__layout-horizontal.hfe-nav-menu__submenu-arrow.hfe-dropdown.menu-is-active {
    top: 50px;
    border-top: 2px solid #289bd4;
}
a.hfe-menu-item {
    padding-left: 15px !important;
}
@media screen and (max-width:600px){
	.br_hidden_mob br {display:none}
	#box_info_contatti {position:absolute; bottom: 0;left:0px!important; top:auto!important; bottom:0!important;transform: none!important}
	div#close_overlay_contatti {
		right: 20px;
		top: 20px;
	}
	#header_nolegiglio {top:60px}
	.evidenziatore .elementor-heading-title {line-height: 1.97em !important;}
	.hfe-nav-menu ul li:hover:before, .current-menu-item:before {content: none;}
	.hfe-nav-menu-icon {padding: 0;}
	.mb-mob-0 p {margin-bottom:0px!important}
}
@media (max-width: 768px) {

/* Contenitori intermedi → display: contents */

/* homepage */
.elementor-element-62f7f75,
.elementor-element-34b965d,
.elementor-element-9c28f58,
.elementor-element-cb93950,
/* deposito bagagli */
.elementor-element-0176027,
.elementor-element-081ce81,
.elementor-element-4701d85,
.elementor-element-7528fef,
/* calette sezione 1 */
.elementor-element-fc1f82e,
.elementor-element-ecff553,
.elementor-element-419f0b6,
.elementor-element-892d225,
/* calette sezione 2 */
.elementor-element-c501b03,
.elementor-element-8691bbb,
.elementor-element-2bc8d6a {
  display: contents !important;
}

/* Parent → slider orizzontale */
.elementor-element-7f05d77 > .e-con-inner,
.elementor-element-d124810 > .e-con-inner,
.elementor-element-a7f7982 > .e-con-inner,
.elementor-element-8e56e66 > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  overflow-x: scroll !important;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  gap: 12px;
  padding: 0 20px 20px;
  scrollbar-width: none;
}
.elementor-element-7f05d77 > .e-con-inner::-webkit-scrollbar,
.elementor-element-d124810 > .e-con-inner::-webkit-scrollbar,
.elementor-element-a7f7982 > .e-con-inner::-webkit-scrollbar,
.elementor-element-8e56e66 > .e-con-inner::-webkit-scrollbar {
  display: none;
}

  /* Ogni card */
  .box_caletta {
    flex: 0 0 75vw !important;
    width: 75vw !important;
    max-width: 75vw !important;
    min-width: 0 !important;
    scroll-snap-align: start;
	height: 400px !important;
    border-radius: 20px !important;
  }
	.box_caletta:before,
	.box_caletta_absolute {
    border-radius: 0px 0px 20px 20px !important;}

}