/* =========================================
   FRAMEWORK 
   ========================================= */

::selection {
	color: #FFF;
	background: var(--color-text); /* Safari */
}
 ::-moz-selection {
	color: #FFF;;
	background: var(--color-text); /* Firefox */
}

html {
  scroll-behavior: smooth;
}

p {
    margin-block-end: 0rem !important;
}

video {
  background: transparent !important;
}

.venue-banner::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(0, 0, 0, 0.15);
  z-index: 2;
  pointer-events: none !important;
}

/* # HEADER # */ 

/* =========================================
   FULL-WIDTH CENTERED SUBMENU
   Desktop / tablet / mobile landscape
   ========================================= */

@media (min-width: 1024px) {

	/* -----------------------------------------
	   Parent item as positioning context
	   ----------------------------------------- */
	.elementor-nav-menu .menu-item-has-children {
		position: static !important;
	}

	/* -----------------------------------------
	   Submenu container
	   Keep Elementor hover logic untouched
	   ----------------------------------------- */
	.elementor-nav-menu .sub-menu.elementor-nav-menu--dropdown,
	.elementor-nav-menu .sub-menu {
		left: 0 !important;
		right: 0 !important;
		width: 100vw !important;
		min-width: 100vw !important;
		max-width: 100vw !important;
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
		padding: 10px 32px !important;
		box-sizing: border-box !important;
		background: #fcfcfc;
		border: 0;
		box-shadow: none;
		text-align: center;
		white-space: normal;
	}

	/* -----------------------------------------
	   Horizontal submenu items
	   ----------------------------------------- */
	.elementor-nav-menu .sub-menu > li {
		display: inline-block;
		vertical-align: middle;
		margin: 0 18px;
		padding: 0;
		list-style: none;
	}

	/* -----------------------------------------
	   Submenu links
	   ----------------------------------------- */
	.elementor-nav-menu .sub-menu > li > a.elementor-sub-item {
		display: inline-block;
		padding: 10px 0;
		text-align: center;
		white-space: nowrap;
		background: transparent;
		border: 0;
		font-size: 1.2rem;
		line-height: 1.2;
	}

	/* -----------------------------------------
	   Hover / focus state
	   ----------------------------------------- */
	.elementor-nav-menu .sub-menu > li > a.elementor-sub-item:hover,
	.elementor-nav-menu .sub-menu > li > a.elementor-sub-item:focus {
		background: transparent;
	}
}

/* =========================================
   WPML LANGUAGE SWITCHER 
   ========================================= */

.elementor-nav-menu--dropdown li.wpml-ls-menu-item > a.elementor-item {
    font-size: 1.2rem !important;
    padding-top: 4px;
    padding-bottom: 4px;
}

/* =========================================
   PAGES 
   ========================================= */
.info-text-block ul {
    padding-inline-start: 10px;
    margin-bottom: 2rem;
}

.info-text-block li {
  margin-bottom: 0.5rem;  
}

.info-text-block li::marker {
  content: "- " !important;
}

/* # RESTAURANT & CONTACTS TABS # */

 #menu .e-tab-base,  #tabs .e-tab-base {
    color: var(--e-global-color-primary) !important;
}

 #menu .e-tab-base.e--selected, #tabs .e-tab-base.e--selected {
    /* border-color: var(--e-global-color-primary) !important;*/
    border-right: 2px !important;
    border-right-style: solid !important; 
}

@media (max-width: 767px) {
    #menu .e-tab-base.e--selected, #tabs .e-tab-base.e--selected {
       border: none !important;
        }
}

/* Keep scrolling, hide scrollbar */
 #menu .e-tabs-menu-base,  #tabs .e-tabs-menu-base {
    overflow-x: auto;          /* allow horizontal scroll */
    overflow-y: hidden;        /* no vertical scroll */
    scrollbar-width: none;     /* Firefox: hide scrollbar */
    -ms-overflow-style: none;  /* Old Edge/IE */
  }
  
  #menu .e-tabs-menu-base::-webkit-scrollbar, #tabs .e-tabs-menu-base::-webkit-scrollbar {
    display: none;             /* Chrome / Safari / Edge (Chromium) */
  }

/* # SUITE ARCHIVE & SINGLE# */ 

.e-loop-item .elementor-cta__title, .suite .elementor-cta__title {
        line-height: 1 !important;
    }

/* Adjusts the mobile background position for the suite CTA */
@media (max-width: 767px) {
  .e-loop-item .suite-grecale .elementor-cta {
    background-position: 55% center !important;
  }
} 

@media (min-width: 767px) {
  .e-loop-item .suite-levante-zefiro .elementor-cta {
    background-position: left center !important;
  }
}

@media (max-width: 767px) {
  .e-loop-item .suite-levante-zefiro .elementor-cta {
    background-position: left center !important;
  }
}

@media (min-width: 767px) {
  .e-loop-item .suite-libeccio .elementor-cta {
    background-position: left center !important;
  }
}
@media (max-width: 767px) {
  .e-loop-item .suite-libeccio .elementor-cta {
    background-position: 20% center !important;
  }
}

@media (max-width: 767px) {
  .e-loop-item .suite-maestrale-tramontana .elementor-cta {
    background-position: 45% center !important;
  }
}

@media (max-width: 767px) {
  .e-loop-item .suite-ostro .elementor-cta {
    background-position: 60% center !important;
  }
}

@media (min-width: 767px) {
  .e-loop-item .suite-scirocco .elementor-cta {
    background-position: right center !important;
  }
}

@media (max-width: 767px) {
  .e-loop-item .suite-scirocco .elementor-cta {
    background-position: 90% center !important;
  }
}

/* # ACTIVITIES & SURROUNDINGS # */
.e-n-accordion-item-title {
    padding-left: 0px !important
    ;
}

/* =========================================
   RANK MATH SEO
   ========================================= */

.rank-math-breadcrumb a, .rank-math-breadcrumb span.last {
    font-size: 1.2rem;
    /*text-transform: uppercase;*/
    font-weight: 400;
  }

/* =========================================
   COMPLIANZ
   ========================================= */

#cmplz-manage-consent .cmplz-manage-consent {

    /* Button size & position */
    width: 50px !important;
    height: 50px !important;
    min-width: unset !important;
    padding: 0 !important;
    bottom: 20px !important;

    /* Shape */
    border-radius: 50% !important;

    /* Background color (change if needed) */
    opacity: 0.85;
    background-color: var(--color-accent) !important;

    /* Icon */
    background-image: url("https://cavedimarmo.com/wp-content/uploads/cookie.svg") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 26px 26px !important;

    /* Hide text without breaking accessibility */
    color: transparent !important;
}

/* Hide pseudo-element content (prevents dots or residual text) */
#cmplz-manage-consent .cmplz-manage-consent::before {
    content: "" !important;
}

/* Optional hover effect */
.cmplz-manage-consent:hover {
    opacity: 1 !important;
}