/* Surg header / nav — Uncode native pills; leftover .gm-* rules stay until Groovy is gone. */

/* Nav */
@media only screen and (min-width:1205px) {
.gm-main-menu-wrapper li.btn-phone.menu-item {
	margin-left: 32px;
}
.gm-main-menu-wrapper .gm-navbar-nav > .gm-menu-item.btn-phone > .gm-anchor {
    margin-right: 16px;
}	
.gm-main-menu-wrapper .gm-navbar-nav > .gm-menu-item.btn-appt > .gm-anchor {
    margin-left: 0px;
}	
}

.logo-container.col-lg-0 {
    padding: 27px 24px 27px 36px;
}

/* Uncode native header — logo height is stepped in the RCD density block below (70 / 60 / 52). */
@media (min-width: 960px) {
.menu-smart > li > a {
    padding: 0px 8px 0px 8px;
}
}

.gm-main-menu-wrapper .gm-navbar-nav > .gm-menu-item > .gm-anchor {
	font-family: 'Roboto', arial;
	font-style: normal;
	font-weight: 400;
	font-size: 16px;
	line-height: 25px;
	leading-trim: both;
	text-edge: cap;
	/* Basic/Slate */
	color: #323130;
}

/* Uncode native header — top-level nav type (Groovy Customizer values) */
#masthead .menu-primary-inner > li:not(.btn-phone):not(.btn-appt) > a {
	font-family: 'Roboto', arial;
	font-style: normal;
	font-weight: 400;
	font-size: 16px !important;
	line-height: 25px !important;
	letter-spacing: 0 !important;
	color: #323130 !important;
	text-transform: none;
}

@media (min-width: 960px) {
	#masthead .menu-primary-inner > li:not(.btn-phone):not(.btn-appt) > a {
		padding: 0 12px !important;
	}
}

/* Uncode dropdown submenu type — match top-level 16px (Marty r12). Does not target .btn-appt. */
#masthead .menu-smart .drop-menu a {
	font-family: 'Roboto', arial;
	font-style: normal;
	font-weight: 400;
	font-size: 16px !important;
	line-height: 25px !important;
	letter-spacing: 0 !important;
	color: #323130 !important;
	text-transform: none;
}

@media (max-width: 959px) {
	#masthead .menu-primary-inner > li:not(.btn-phone):not(.btn-appt) > a {
		font-size: 18px !important;
		line-height: 21px !important;
	}
}

@media (max-width: 1023px) {
.gm-navigation-drawer--mobile .gm-navbar-nav > .gm-menu-item > .gm-anchor {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	font-size: 18px;
	line-height: 21px;
	leading-trim: both;
	text-edge: cap;
	/* Basic/Alabaster */
	color: #FFFCF7;
}
}

.gm-main-menu-wrapper .uncode-list a {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	font-size: 17px;
	line-height: 21px;
	leading-trim: both;
	text-edge: cap;
	/* Basic/Alabaster */
	color: #FFFCF7;
}

.gm-mega-menu-wrapper {
	padding-top: 12px;
}

.gm-mega-menu__item a:hover {
	color: #FFFCF7 !important;
}
.gm-main-menu-wrapper h4 {
	margin-top: 16px !important;
}
.gm-main-menu-wrapper .uncode-list p {
	margin-top: 10px;
	line-height: 1.5;
}
.gm-navbar .gm-navbar-nav > .gm-menu-item > .gm-anchor > .gm-caret i {
    margin-right: 4px;
}
/* Phone Number */
.gm-main-menu-wrapper .btn-phone a {
	border: 1px solid #323130;
	border-radius: 24px;
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	font-size: 16px !important;
	line-height: 21px;
	text-transform: capitalize;
	padding: 10px 24px !important;
	display: inline !important;
	text-align: center;	
	letter-spacing: -0px;	
}
.gm-navbar:not(.gm-navbar-sticky-toggle) .gm-navbar-nav > .btn-phone > .gm-anchor:hover {
	color: #323130 !important;	
}
.btn-phone > .gm-anchor > .gm-menu-item__txt-wrapper {
    display: inline;
}
.btn-phone:hover {
	opacity: 0.5;
}

@media (max-width: 1023px) {
.gm-navigation-drawer--mobile.gm-navigation-drawer--right {
    margin-top: 70px;
}
.gm-drawer--open .gm-logo, .gm-drawer--open .gm-menu-actions-wrapper {
    opacity: 1;
}
	.gm-navigation-drawer--mobile .gm-menu-btn-close-mobile-drawer {
		display: none;
	}	
.gm-navigation-drawer--mobile .gm-navbar-nav > .gm-menu-item.btn-phone > .gm-anchor {
	border: 1px solid #FFFCF7;
	border-radius: 24px;
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	font-size: 18px !important;
	line-height: 21px;
	text-transform: capitalize;
	padding: 10px 24px !important;
	text-align: center;	
	width: 200px;
	display: block;
	margin: 24px auto;	
}
.gm-navigation-drawer--mobile .gm-navbar-nav > .gm-menu-item.btn-appt > .gm-anchor {
	box-sizing: border-box;
	border: 1px solid #2A5962;
	color: #FFFCF7;
	background: #2A5962;
	border-radius: 24px;
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	font-size: 18px !important;
	line-height: 21px;
	text-transform: capitalize;
	padding: 10px 24px !important;
	text-align: center;	
	width: 250px;
	display: block;
	margin: 24px auto;	
}

.gm-navigation-drawer--mobile .gm-navbar-nav > .gm-menu-item.btn-appt > .gm-anchor > .gm-menu-item__txt-wrapper {
    display: block;
}
.gm-navigation-drawer .gm-anchor, .gm-navigation-drawer .gm-mega-menu__item__title {
    font-weight: 400;
}	
}
.gm-navbar:not(.gm-navbar-sticky-toggle) .gm-navbar-nav > li.current-menu-item.btn-appt > .gm-anchor {
	color: #FFFCF7 !important;
}

/* Appointment Icon */
@media only screen and (min-width:1023px) {
	.gm-actions {
		display:none !important;
	}
}

/* Appointment Button */
.gm-main-menu-wrapper .btn-appt a {
	background: #2A5962;
	border-radius: 24px;
	padding: 0px;
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	font-size: 16px !important;
	line-height: 21px;
	text-transform: capitalize !important;
	/* Primary/Shell White */
	color: #FFFCF7 !important;
	padding: 10px 24px !important;
	letter-spacing: -0px;	
}
.gm-main-menu-wrapper .btn-appt a:hover {
	background: #D67423;
}
.gm-navbar:not(.gm-navbar-sticky-toggle) .gm-navbar-nav > .btn-appt > .gm-anchor:hover {
	color: #FFFCF7 !important;	
}

/* Appointment Icon Mobile */
.groovy-1710881019-sdg-appointment:before {
    font-size: 1.8em;
}

/* Locations Mega Menu */
.gm-main-menu-wrapper .sdg-locations-list.col-lg-4 {
	padding: 0px 0px 36px 0px;
}
.gm-main-menu-wrapper .sdg-locations-list.col-lg-4 {
	padding: 0px 0px 36px 0px;
}
.gm-main-menu-wrapper .sdg-locations-list.col-lg-4 .column_child.col-lg-6 {
	padding: 0px 18px 36px 18px;
}


.style-light {
	color: #323130;
}
.style-dark {
	color: #FFFCF7;
}

/* Uncode native header — phone / Book pills */
#masthead .menu-primary-inner > li.btn-phone,
#masthead .menu-primary-inner > li.btn-appt {
	align-items: center;
	vertical-align: middle;
}

#masthead .menu-primary-inner > li.btn-phone > a,
#masthead .menu-primary-inner > li.btn-appt > a {
	box-sizing: border-box;
	border-radius: 24px;
	font-family: 'Roboto', sans-serif;
	font-style: normal;
	font-size: 16px !important;
	line-height: 21px !important;
	letter-spacing: 0;
	text-align: center;
	text-decoration: none !important;
	padding: 10px 24px !important;
	height: auto !important;
	min-height: 0 !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	align-self: center;
	white-space: nowrap;
}

#masthead .menu-primary-inner > li.btn-phone > a > i.fa-dropdown,
#masthead .menu-primary-inner > li.btn-appt > a > i.fa-dropdown {
	display: none !important;
}

#masthead .menu-primary-inner > li.btn-phone > a {
	background: transparent !important;
	border: 1px solid #323130;
	color: #323130 !important;
	font-weight: 400;
	text-transform: capitalize;
}

#masthead .menu-primary-inner > li.btn-phone > a:hover,
#masthead .menu-primary-inner > li.btn-phone > a:focus {
	background: transparent !important;
	color: #323130 !important;
	opacity: 0.5;
}

#masthead .menu-primary-inner > li.btn-appt > a,
#masthead .menu-primary-inner > li.current-menu-item.btn-appt > a {
	background: #2A5962 !important;
	border: 1px solid #2A5962;
	color: #FFFCF7 !important;
	font-weight: 400 !important;
	text-transform: capitalize !important;
}

#masthead .menu-primary-inner > li.btn-appt > a:hover,
#masthead .menu-primary-inner > li.btn-appt > a:focus {
	background: #D67423 !important;
	border-color: #D67423;
	color: #FFFCF7 !important;
	opacity: 1;
}

@media (min-width: 960px) {
	#masthead .menu-primary-inner > li.btn-phone {
		margin-left: 16px;
	}
	#masthead .menu-primary-inner > li.btn-phone > a {
		margin-right: 8px;
	}
	#masthead .menu-primary-inner > li.btn-appt > a {
		margin-left: 0;
	}
	body[class*="hmenu-"]:not(.hormenu-position-right) .navbar-nav-last > ul.menu-primary-inner > li.btn-phone > a,
	body[class*="hmenu-"]:not(.hormenu-position-right) .navbar-nav-last > ul.menu-primary-inner > li.btn-appt > a {
		padding-right: 20px !important;
		padding-left: 20px !important;
	}
}

@media (max-width: 959px) {
	#masthead .menu-primary-inner > li.btn-phone {
		display: none !important;
	}
	#masthead .menu-primary-inner > li.btn-appt {
		display: block;
		width: 100%;
		box-sizing: border-box;
		margin: 8px 0 0 !important;
		padding: 16px 36px 36px !important;
		border-bottom: none !important;
		text-align: center;
	}
	#masthead .menu-primary-inner > li.btn-appt > a {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 48px;
		font-size: 18px !important;
		padding: 12px 24px !important;
		margin: 0 !important;
		box-sizing: border-box;
		background: #2A5962 !important;
		border: 1px solid #2A5962;
		color: #FFFCF7 !important;
		font-weight: 400 !important;
		border-radius: 42px;
	}
	#masthead .menu-primary-inner > li.btn-appt > a i.fa-dropdown {
		display: none !important;
	}
}

/* Mobile drawer rows. Same layout as Goodman: label at the left, caret at
   the right edge, hairline between rows. Fonts and the book button stay. */
@media (max-width: 959px) {
	#masthead .menu-primary-inner > li:not(.btn-phone):not(.btn-appt) {
		margin: 0 !important;
		border-bottom: 1px solid rgba(50, 49, 48, 0.12);
	}

	#masthead .menu-primary-inner > li:not(.btn-phone):not(.btn-appt) > a {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		width: 100% !important;
		box-sizing: border-box;
		padding: 14px 24px !important;
	}

	#masthead .menu-primary-inner > li:not(.btn-phone):not(.btn-appt) > a i.fa-dropdown {
		display: block !important;
		margin-left: auto !important;
		margin-right: 0 !important;
	}

	#masthead .menu-primary-inner > li > ul > li {
		margin: 0 !important;
		border-bottom: 1px solid rgba(50, 49, 48, 0.12);
	}

	#masthead .menu-primary-inner > li > ul > li > a {
		display: flex !important;
		align-items: center !important;
		width: 100% !important;
		box-sizing: border-box;
		padding: 12px 24px 12px 40px !important;
	}

	#masthead .menu-primary-inner > li > ul li a i.fa-dropdown {
		display: none !important;
	}
}

/* Mobile header icons — book, chat, phone (Goodman / Sunrise Uncode pattern) */
.mobile-header-icon {
	display: none;
}

@media (max-width: 1119px) {
	#masthead .mmb-container {
		display: flex;
		align-items: center;
	}

	#masthead .mobile-header-icon {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 32px;
		height: 32px;
		padding: 0 !important;
		margin: 0 8px;
		background: transparent !important;
		border: none !important;
		box-shadow: none !important;
		text-decoration: none;
	}

	#masthead .mobile-header-icon img {
		width: 32px;
		height: 32px;
		display: block;
	}

	#masthead .mobile-book-btn,
	#masthead .mobile-chat-btn,
	#masthead .mobile-phone-btn {
		background: transparent !important;
		border: none !important;
		box-shadow: none !important;
	}
}

/* ==========================================================================
   Desktop nav dropdown: widen the panel (r12).
   Negative margin-top values pulled the panel above the .box-wrapper that
   wraps the header. That wrapper is overflow:hidden, so the top of the menu
   was clipped. Keep the top flush with the anchor at every width.
   SmartMenus writes margin-top inline, hence the !important. The shadow is
   Uncode's menu-dd-shadow-std, which this header does not carry, so the
   panel had no visible box.
   ========================================================================== */

@media (min-width: 960px) {
	.menu-horizontal .menu-smart > li > ul.drop-menu {
		margin-top: 0 !important;
		padding-top: 8px;
		min-width: 280px;
		box-shadow: 0 30px 60px -30px rgba(0, 0, 0, 0.45);
	}
}

/* ==========================================================================
   RCD density + 1440 navbar. Shop stays top-level on SDG.
   Icon pills only in 960–1099; hamburger icons stay at 959.
   ========================================================================== */

@media (min-width: 960px) {
	.navbar .limit-width {
		max-width: 1240px;
	}
}

@media (min-width: 1360px) {
	#masthead .logo-image.main-logo,
	#masthead #main-logo a > *,
	#logo img,
	.logo-container img,
	#masthead #main-logo img {
		height: 70px !important;
		max-height: 70px !important;
		width: auto !important;
	}

	#masthead .menu-primary-inner > li:not(.btn-phone):not(.btn-appt) > a {
		font-size: 16px !important;
		padding: 0 12px !important;
	}

	#masthead .menu-primary-inner > li.btn-phone {
		margin-left: 16px;
	}

	#masthead .menu-primary-inner > li.btn-phone > a,
	#masthead .menu-primary-inner > li.btn-appt > a,
	body[class*="hmenu-"]:not(.hormenu-position-right) .navbar-nav-last > ul.menu-primary-inner > li.btn-phone > a,
	body[class*="hmenu-"]:not(.hormenu-position-right) .navbar-nav-last > ul.menu-primary-inner > li.btn-appt > a {
		padding: 10px 20px !important;
	}

	#masthead .menu-primary-inner > li.btn-phone > a {
		margin-right: 8px;
	}

	.menu-horizontal .menu-smart > li > ul.drop-menu {
		margin-top: 0 !important;
	}
}

@media (min-width: 1200px) and (max-width: 1359px) {
	#masthead .logo-image.main-logo,
	#masthead #main-logo a > *,
	#logo img,
	.logo-container img,
	#masthead #main-logo img {
		height: 60px !important;
		max-height: 60px !important;
		width: auto !important;
	}

	#masthead .menu-primary-inner > li:not(.btn-phone):not(.btn-appt) > a {
		font-size: 15px !important;
		padding: 0 8px !important;
	}

	#masthead .menu-primary-inner > li.btn-phone {
		margin-left: 16px;
	}

	#masthead .menu-primary-inner > li.btn-phone > a,
	#masthead .menu-primary-inner > li.btn-appt > a,
	body[class*="hmenu-"]:not(.hormenu-position-right) .navbar-nav-last > ul.menu-primary-inner > li.btn-phone > a,
	body[class*="hmenu-"]:not(.hormenu-position-right) .navbar-nav-last > ul.menu-primary-inner > li.btn-appt > a {
		padding: 10px 16px !important;
	}

	#masthead .menu-primary-inner > li.btn-phone > a {
		margin-right: 8px;
	}

	.menu-horizontal .menu-smart > li > ul.drop-menu {
		margin-top: 0 !important;
	}
}

@media (min-width: 960px) and (max-width: 1199px) {
	#masthead .logo-image.main-logo,
	#masthead #main-logo a > *,
	#logo img,
	.logo-container img,
	#masthead #main-logo img {
		height: 52px !important;
		max-height: 52px !important;
		width: auto !important;
	}

	#masthead .menu-primary-inner > li:not(.btn-phone):not(.btn-appt) > a {
		font-size: 14px !important;
		padding: 0 5px !important;
	}

	#masthead .menu-primary-inner > li.btn-phone {
		margin-left: 12px;
	}

	#masthead .menu-primary-inner > li.btn-phone > a,
	#masthead .menu-primary-inner > li.btn-appt > a,
	body[class*="hmenu-"]:not(.hormenu-position-right) .navbar-nav-last > ul.menu-primary-inner > li.btn-phone > a,
	body[class*="hmenu-"]:not(.hormenu-position-right) .navbar-nav-last > ul.menu-primary-inner > li.btn-appt > a {
		padding: 10px 12px !important;
	}

	#masthead .menu-primary-inner > li.btn-phone > a {
		margin-right: 8px;
	}

	.menu-horizontal .menu-smart > li > ul.drop-menu {
		margin-top: 0 !important;
	}
}

@media (min-width: 960px) and (max-width: 1119px) {
	#masthead .menu-primary-inner > li.btn-phone,
	#masthead .menu-primary-inner > li.btn-appt {
		display: none !important;
	}

	#masthead .mobile-menu-button,
	#masthead .lines-button {
		display: none !important;
	}

	#masthead .row-menu {
		position: relative;
	}

	#masthead .mmb-container {
		position: absolute;
		right: 36px;
		top: 0;
		height: 100%;
		width: auto;
		display: flex;
		align-items: center;
	}

	#masthead .main-menu-container {
		padding-right: 96px;
	}
}
