/* Gentle Dentistry 2026 — Bodin usability & navigation polish */

/* Floating utility + main header */
.gd-topbar{
	position:sticky!important;
	top:0;
	z-index:95;
	box-shadow:0 4px 16px rgba(0,0,0,.12);
}
body.admin-bar .gd-topbar{top:32px}
.gd-header{
	position:sticky!important;
	top:52px!important;
	z-index:90!important;
	box-shadow:0 8px 24px rgba(0,0,0,.18);
}
body.admin-bar .gd-header{top:84px!important}
.gd-header-inner{height:96px!important;gap:42px!important}
.gd-logo-img{width:214px!important;max-height:86px!important}
.gd-nav{gap:25px!important;height:100%}
.gd-nav-item{position:relative;height:100%;display:flex;align-items:center}
.gd-nav-main{
	color:#f2f2f2!important;
	text-decoration:none!important;
	text-transform:uppercase!important;
	font-size:11px!important;
	line-height:1!important;
	letter-spacing:.03em!important;
	font-weight:600!important;
	background:transparent!important;
	border:0!important;
	border-radius:0!important;
	box-shadow:none!important;
	padding:0!important;
	margin:0!important;
	width:auto!important;
	height:auto!important;
	display:flex!important;
	align-items:center!important;
	gap:5px!important;
}
.gd-nav-main:hover,
.gd-nav-item:focus-within>.gd-nav-main,
.gd-nav-item:hover>.gd-nav-main{color:#00b7d3!important}
.gd-nav-caret{font-size:14px;line-height:1;transform:translateY(-1px)}
.gd-nav-contact{padding:11px 16px!important;border:1px solid #00b7d3!important;color:#00b7d3!important}
.gd-nav-contact:hover{background:#00b7d3!important;color:#071013!important}

/* Desktop dropdown / mega menus */
.gd-dropdown,
.gd-mega-menu{
	position:absolute;
	top:calc(100% - 1px);
	right:0;
	opacity:0;
	visibility:hidden;
	transform:translateY(10px);
	pointer-events:none;
	transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
	background:#f8fafb;
	color:#173049;
	border:1px solid #d9e2e7;
	box-shadow:0 18px 45px rgba(0,0,0,.24);
}
.gd-nav-item:hover>.gd-dropdown,
.gd-nav-item:focus-within>.gd-dropdown,
.gd-nav-item:hover>.gd-mega-menu,
.gd-nav-item:focus-within>.gd-mega-menu{
	opacity:1;
	visibility:visible;
	transform:translateY(0);
	pointer-events:auto;
}
.gd-mega-menu{
	width:min(940px,85vw);
	display:grid;
	grid-template-columns:1.05fr repeat(3,1fr);
	gap:0;
	padding:0;
	right:-310px;
}
.gd-mega-menu-intro{
	padding:28px;
	background:linear-gradient(145deg,#eaf8fa,#f6faf3);
	border-right:1px solid #dbe4e8;
}
.gd-mega-menu-intro .gd-mini-icon{margin-bottom:16px}
.gd-mega-menu-intro strong{
	display:block;
	font-family:"Newsreader",Georgia,serif;
	font-size:27px;
	font-weight:500;
	color:#102a40;
	margin-bottom:10px;
}
.gd-mega-menu-intro p{
	font-size:14px!important;
	line-height:1.55!important;
	color:#586874!important;
	margin:0 0 18px!important;
}
.gd-mega-menu-intro>a{
	color:#007f94!important;
	text-transform:none!important;
	font-size:13px!important;
	font-weight:700!important;
	text-decoration:none!important;
}
.gd-mega-column{padding:28px 24px;border-right:1px solid #e3eaed}
.gd-mega-column:last-child{border-right:0}
.gd-mega-column h4{
	margin:0 0 14px;
	font-family:"DM Sans",sans-serif;
	font-size:12px;
	color:#52616c;
	text-transform:uppercase;
	letter-spacing:.08em;
}
.gd-mega-column a{
	display:block!important;
	padding:8px 0!important;
	color:#18344c!important;
	text-decoration:none!important;
	text-transform:none!important;
	font-size:14px!important;
	line-height:1.35!important;
	font-weight:500!important;
	border:0!important;
}
.gd-mega-column a:hover{color:#007f94!important}

.gd-location-dropdown{width:330px;padding:18px;right:-80px}
.gd-dropdown-title{
	margin:0 0 9px!important;
	padding:0 8px 10px;
	border-bottom:1px solid #dfe6e9;
	color:#6a7881!important;
	font-size:11px!important;
	text-transform:uppercase;
	letter-spacing:.08em;
}
.gd-location-dropdown>a{
	display:flex!important;
	align-items:flex-start!important;
	gap:10px!important;
	padding:10px 8px!important;
	color:#18344c!important;
	text-decoration:none!important;
	text-transform:none!important;
	font-size:14px!important;
	line-height:1.3!important;
	font-weight:600!important;
}
.gd-location-dropdown>a:hover{background:#edf7f8!important;color:#007f94!important}
.gd-location-dropdown svg{
	width:18px;
	height:18px;
	flex:0 0 18px;
	fill:none;
	stroke:#159ab0;
	stroke-width:1.5;
	stroke-linecap:round;
	stroke-linejoin:round;
	margin-top:1px;
}
.gd-location-dropdown small{
	display:block;
	margin-top:3px;
	color:#71808b;
	font-size:10px;
	line-height:1.35;
	font-weight:500;
}

.gd-patient-dropdown{width:390px;padding:14px;right:-110px}
.gd-patient-dropdown>a{
	display:grid!important;
	grid-template-columns:42px 1fr;
	align-items:center!important;
	gap:12px!important;
	padding:11px!important;
	color:#173049!important;
	text-decoration:none!important;
	text-transform:none!important;
	border-radius:8px!important;
}
.gd-patient-dropdown>a:hover{background:#edf7f8!important}
.gd-patient-dropdown .gd-mini-icon{width:38px!important;height:38px!important;margin:0!important}
.gd-patient-dropdown .gd-mini-icon svg{width:21px!important;height:21px!important}
.gd-patient-dropdown strong{display:block;font-size:14px;color:#173049}
.gd-patient-dropdown small{display:block;margin-top:3px;color:#6e7d87;font-size:11px;font-weight:400}

/* A little more readable body copy; headings stay untouched. */
.gd-site main{font-size:16px}
main p:not(.gd-kicker):not(.gd-together):not(.gd-payment-note){
	font-size:16px!important;
	line-height:1.72!important;
}
.gd-service-feature-body p,
.gd-services-all-grid p,
.gd-clinic-service-grid p,
.gd-team-card-copy p{
	font-size:14.5px!important;
	line-height:1.64!important;
}
.gd-text-link{font-size:12px!important}
.gd-location-list small{font-size:11px!important}

/* Softer icon treatment inspired by the supplied examples. */
.gd-mini-icon{
	border:0!important;
	background:#eaf7fa!important;
	color:#0f4d78!important;
	box-shadow:0 5px 16px rgba(0,183,211,.12);
}
.gd-mini-icon svg{
	stroke-width:1.5!important;
	stroke-linecap:round!important;
	stroke-linejoin:round!important;
}
.gd-mini-icon-lime{background:#f0f8e4!important;color:#5c8721!important}
.gd-topbar-actions svg,.gd-mobile-actions svg{stroke-width:1.55!important}
.gd-clinic-quick-icon{border:0!important;background:rgba(234,247,250,.08)!important}
.gd-clinic-quick-icon svg{stroke:#77d5dd!important;stroke-width:1.5!important}
.gd-clinic-service-grid .gd-mini-icon{
	background:#eaf7fa!important;
	color:#0f4d78!important;
	border:0!important;
}
.gd-clinic-service-grid .gd-mini-icon svg{stroke:#0f4d78!important;stroke-width:1.5!important}

/* Make light dropdown menus fully legible over the legacy dark-nav rules. */
.gd-nav .gd-mega-menu,
.gd-nav .gd-dropdown{color:#173049!important}
.gd-nav .gd-mega-menu .gd-mega-column a,
.gd-nav .gd-mega-menu .gd-mega-column a:visited,
.gd-nav .gd-mega-menu .gd-mega-menu-intro>a,
.gd-nav .gd-mega-menu .gd-mega-menu-intro>a:visited,
.gd-nav .gd-location-dropdown>a,
.gd-nav .gd-location-dropdown>a:visited,
.gd-nav .gd-patient-dropdown>a,
.gd-nav .gd-patient-dropdown>a:visited{
	color:#18344c!important;
	-webkit-text-fill-color:#18344c!important;
	opacity:1!important;
}
.gd-nav .gd-mega-menu .gd-mega-column a:hover,
.gd-nav .gd-mega-menu .gd-mega-menu-intro>a:hover,
.gd-nav .gd-location-dropdown>a:hover,
.gd-nav .gd-patient-dropdown>a:hover{
	color:#007f94!important;
	-webkit-text-fill-color:#007f94!important;
}
.gd-nav .gd-mega-column h4,
.gd-nav .gd-dropdown-title{color:#52616c!important;-webkit-text-fill-color:#52616c!important}
.gd-nav .gd-patient-dropdown strong{color:#173049!important;-webkit-text-fill-color:#173049!important}
.gd-nav .gd-patient-dropdown small,
.gd-nav .gd-location-dropdown small{color:#6e7d87!important;-webkit-text-fill-color:#6e7d87!important}

/* Compact, fuller-feeling Services mega menu. */
.gd-nav .gd-mega-menu{
	width:min(760px,80vw)!important;
	height:max-content!important;
	min-height:0!important;
	max-height:none!important;
	grid-template-columns:.9fr repeat(3,1fr)!important;
	grid-auto-rows:1fr!important;
	align-items:stretch!important;
	align-content:stretch!important;
	right:-205px!important;
	background:#f5f8f9!important;
	overflow:hidden!important;
}
.gd-nav .gd-mega-menu-intro,
.gd-nav .gd-mega-column{
	height:100%!important;
	min-height:0!important;
	align-self:stretch!important;
}
.gd-nav .gd-mega-menu-intro{
	padding:18px!important;
	display:flex!important;
	flex-direction:column!important;
	justify-content:center!important;
}
.gd-nav .gd-mega-menu-intro .gd-mini-icon{
	width:44px!important;
	height:44px!important;
	margin-bottom:12px!important;
}
.gd-nav .gd-mega-menu-intro strong{
	font-size:21px!important;
	line-height:1.05!important;
}
.gd-nav .gd-mega-menu-intro p{
	font-size:13px!important;
	line-height:1.45!important;
	margin:8px 0 12px!important;
}
.gd-nav .gd-mega-column{
	margin:0!important;
	padding:16px 14px!important;
	background:#fff!important;
	border:0!important;
	border-left:1px solid #dfe7ea!important;
	border-radius:0!important;
	box-shadow:none!important;
	display:flex!important;
	flex-direction:column!important;
}
.gd-nav .gd-mega-column:first-of-type,
.gd-nav .gd-mega-column:last-child{margin:0!important}
.gd-nav .gd-mega-column h4{
	display:flex!important;
	align-items:center!important;
	gap:7px!important;
	margin-bottom:8px!important;
	font-size:10.5px!important;
	line-height:1.25!important;
	min-height:28px!important;
}
.gd-nav .gd-mega-column h4:before{
	content:"";
	display:block;
	width:8px;
	height:8px;
	border:2px solid #159ab0;
	border-radius:50%;
	box-shadow:0 0 0 3px #eaf7fa;
	flex:0 0 8px;
}
.gd-nav .gd-mega-column a{
	display:flex!important;
	align-items:center!important;
	gap:8px!important;
	flex:1 1 0!important;
	margin:0!important;
	padding:7px 6px!important;
	border-radius:0!important;
	border-top:1px solid #edf1f3!important;
	background:transparent!important;
	font-size:12.5px!important;
	line-height:1.25!important;
}
.gd-nav .gd-mega-column a:before{
	content:"";
	position:static!important;
	display:block!important;
	width:6px!important;
	height:6px!important;
	flex:0 0 6px!important;
	margin:0!important;
	border-radius:50%!important;
	background:#22c6d9!important;
}
.gd-nav .gd-mega-column a:hover{
	background:#eaf7fa!important;
	padding-left:9px!important;
}

/* Contact office cards: cleaner, roomier and no giant inherited tel pills. */
.gd-contact-locations-grid{grid-template-columns:repeat(3,1fr)!important;gap:18px!important}
.gd-contact-locations-grid article{
	display:flex!important;
	flex-direction:column!important;
	min-height:330px!important;
	padding:28px!important;
}
.gd-contact-locations-grid article h3{margin-top:18px!important}
.gd-contact-locations-grid article p{margin-bottom:18px!important}
.gd-contact-address{
	margin:0 0 16px!important;
	color:#aeb9c2!important;
}
.gd-contact-hours{
	margin:0 0 22px;
	padding:14px 0 16px;
	border-top:1px solid #30363a;
	border-bottom:1px solid #30363a;
}
.gd-contact-hours-label{
	display:block;
	margin-bottom:8px;
	color:#22c6d9!important;
	font-size:10px!important;
	line-height:1!important;
	letter-spacing:.15em!important;
	text-transform:uppercase!important;
	font-weight:700!important;
}
.gd-contact-hours-list{display:grid;gap:5px}
.gd-contact-hours-row{
	position:relative;
	display:grid;
	grid-template-columns:minmax(82px,.9fr) 1.1fr;
	gap:14px;
	align-items:baseline;
	padding-left:11px;
}
.gd-contact-hours-row:before{
	content:"";
	position:absolute;
	left:0;
	top:.55em;
	width:4px;
	height:4px;
	border-radius:50%;
	background:#22c6d9;
}
.gd-contact-hours-row span{
	color:#9faab2!important;
	font-size:12px!important;
	line-height:1.35!important;
	letter-spacing:0!important;
	text-transform:none!important;
}
.gd-contact-hours-row strong{
	color:#eef3f5!important;
	font-size:12px!important;
	line-height:1.35!important;
	font-weight:600!important;
	text-align:right;
}
.gd-contact-locations-grid a[href^="tel"],
.gd-contact-locations-grid .gd-text-link{
	display:inline-flex!important;
	align-items:center!important;
	justify-content:flex-start!important;
	width:max-content!important;
	max-width:100%!important;
	height:auto!important;
	min-height:0!important;
	padding:0!important;
	margin:0 0 10px!important;
	background:transparent!important;
	border:0!important;
	border-radius:0!important;
	box-shadow:none!important;
	color:#22c6d9!important;
	-webkit-text-fill-color:#22c6d9!important;
	font-size:12px!important;
	line-height:1.35!important;
	font-weight:700!important;
	letter-spacing:.045em!important;
	text-transform:uppercase!important;
}
.gd-contact-locations-grid a[href^="tel"]:hover,
.gd-contact-locations-grid .gd-text-link:hover{
	color:#9fd447!important;
	-webkit-text-fill-color:#9fd447!important;
	background:transparent!important;
	transform:none!important;
}
.gd-contact-locations-grid article .gd-text-link:first-of-type{margin-top:auto!important}

@media(max-width:1100px){
	.gd-contact-locations-grid{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:640px){
	.gd-contact-locations-grid{grid-template-columns:1fr!important}
	.gd-contact-locations-grid article{min-height:0!important}
}

/* Mobile nested navigation */
@media(max-width:860px){
	.gd-topbar{display:none!important}
	.gd-header{position:relative!important;top:auto!important;box-shadow:none!important}
	body.admin-bar .gd-header{top:auto!important}
	.gd-mobile-brand{min-height:88px!important;padding:10px 16px 8px!important}
	.gd-mobile-brand img{width:155px!important;max-height:68px!important}
	.gd-mobile-actions{position:sticky!important;top:0!important;z-index:96!important}
	body.admin-bar .gd-mobile-actions{top:46px!important}
	.gd-mobile-menu details{margin:0;background:#717171;border-bottom:1px solid rgba(255,255,255,.38)}
	.gd-mobile-menu summary{
		list-style:none;
		display:flex;
		align-items:center;
		justify-content:center;
		min-height:58px;
		color:#fff;
		text-transform:uppercase;
		font-size:15px;
		font-weight:500;
		cursor:pointer;
		position:relative;
	}
	.gd-mobile-menu summary::-webkit-details-marker{display:none}
	.gd-mobile-menu summary:after{content:"+";position:absolute;right:22px;font-size:19px;font-weight:300}
	.gd-mobile-menu details[open] summary:after{content:"–"}
	.gd-mobile-menu details a{
		background:#646464!important;
		min-height:50px!important;
		font-size:13px!important;
		text-transform:none!important;
	}
}

/* WordPress admin-bar breakpoint */
@media(max-width:782px){
	body.admin-bar .gd-header{top:auto!important}
	body.admin-bar .gd-mobile-actions{top:46px!important}
}
