/*
Theme Name: GAVAMEDIA®
Author: GAVAMEDIA®
Author URI: https://gavamedia.com/
Description: Created by GAVAMEDIA®
Version: 2026
GAVAMEDIA WordPress Theme © 2026 GAVAMEDIA®
*/


/* 1rem = 15px (mobile) */
html{
	font-size:	3.84615vw;
}

body{
	text-rendering: optimizeLegibility;
	margin: 0;
	font-family:var(--e-global-typography-text-font-family);
	font-size:var(--e-global-typography-text-font-size);
	font-weight:var(--e-global-typography-text-font-weight);
}
/*.elementor .body{
	font-size: 1rem!important;
}*/


p{
	line-height:1.5em;
	margin:0;
}
.elementor-widget-text-editor p,
.single-post p,
.elementor-widget-theme-post-content p{
	margin:0 0 1.25em 0;
}
.elementor-widget-text-editor p:last-of-type{
	margin-bottom:0!important;
}


li{
	margin:1em 0;
}

/* Elementor fixes */
.elementor-nav-menu--dropdown[aria-hidden="true"]{
	display:none;
}

/* Button hacks */
.elementor-button{
	cursor:pointer;
}
.elementor-widget-button .elementor-button-wrapper a,
.elementor-widget-button a.elementor-button
{
	width:100%!important;
}
.elementor-button-text{
	flex-grow:0!important;
}
.elementor-button .elementor-align-icon-right,
.elementor-button .elementor-align-icon-left
{
	display: inline-flex;
	align-items: center;
}

/* Form hacks */
.elementor-field-subgroup{
	align-items: center;
}
.elementor-field-option input,
.elementor-field-option label
{
	cursor:pointer;
}

/* Text hacks */
.elementor-widget-text-editor a,
.elementor-posts a,
.elementor-widget-theme-post-content a{
	font-weight:bold;
}
.elementor-widget-text-editor a:hover,
.elementor-posts a:hover,
.elementor-widget-theme-post-content a:hover{
	text-decoration:underline;
}

/* Testimonials hacks */
.elementor-testimonial__footer cite, .elementor-testimonial__header cite{
	font-size:1em!important;
}



.elementor-location-header{
	position:fixed;
	top:0;
	width:100%;
	z-index:999;
}
.header-scrolled,
header.elementor-location-header:has(.elementor-menu-toggle[aria-expanded="true"])
{
	top:0!important;
	box-shadow:0 0 1em rgba(0,0,0,.25)!important;
	/*background:rgba(255,255,255,.975)!important;*/
}

.grecaptcha-badge {
	display: none;
}


/* Make fields grow to height of button */
.elementor-field-group input{
	height:100%;
}

.swiper-slide-inner{
	cursor:default;
}


/* Elementor SVG fixes */
.elementor-icon-list-icon svg path{
    fill:inherit;
}
.elementor-icon-list-icon svg g{
    clip-path:initial;
}


/* New Elementor button fixes */
.elementor .e-button-base{
	font-size: inherit;
	/*padding:0!important;*/
}
button{
	border:none;
}

/* New Elementor link fixes */
.elementor .e-heading-link-base{
	display:inline-block;
}


/* === Slim, item-anchored dropdowns for .dropdown-menu Mega Menu === */

/* Make each item its own positioning context */
.dropdown-menu .e-n-menu-item {
  position: relative;
}

/* Defeat the full-width stretching and anchor under the parent item */
.dropdown-menu .e-n-menu-content {
  /* Neutralise the StretchedElement CSS variables */
  --stretch-left: 0;
  --stretch-right: auto;
  --stretch-width: max-content;

  /* Force the dropdown directly under its own item */
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: auto !important;
  width: max-content !important;
  min-width: 100%;       /* at least as wide as the parent item */
  max-width: min(90vw, 320px);
}

/* Auto-flip the last couple items so they don't fall off the right edge.
   Use whichever heuristic fits your menu — this covers most cases. */
.dropdown-menu .e-n-menu-heading > .e-n-menu-item:nth-last-child(-n+2) .e-n-menu-content {
  left: auto !important;
  right: 0 !important;
}

.dropdown-menu .e-n-menu-content.flip-right {
  left: auto !important;
  right: 0 !important;
}

/* When the widget is in dropdown layout (responsive breakpoint or
   explicit Item Layout = Dropdown setting), revert our overrides
   so the widget's stacked/accordion behaviour can take over. */
.dropdown-menu .e-n-menu[data-layout="dropdown"] .e-n-menu-content,
.dropdown-menu.e-n-menu-layout-dropdown .e-n-menu-content {
  position: static !important;
  width: auto !important;
  max-width: none !important;
}
/* === Slim, item-anchored dropdowns for .dropdown-menu Mega Menu === */


/*
======================================================================================
  TABLETS / DESKTOP
======================================================================================
*/
@media screen and (min-width:768px) {
	
	/* 1rem = 16px - (16/1440) * 100 */
	html{
		font-size:1.25vw;
	}

	.header-scrolled{
		box-shadow:0 0 2em rgba(0,0,0,.5)!important;
	}

}

/*
======================================================================================
  BIG DESKTOP (Widescreen)
======================================================================================
*/
@media screen and (min-width:1440px) {
	
	/* Lock in */
	html{
		font-size:18px;
	}
	
}