/* --- Top menu --- */
.page-menu-top-menu-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: var(--main-gap-clamp);
	list-style: none;
	margin: 0;
	padding: var(--main-block-padding-h) var(--main-block-padding-w);
	background: var(--main-dark-color);
	border-radius: var(--border-radius-main);
}

.page-menu-top-item{
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: var(--border-radius-main);
	background: var(--main-medium-color);
}

ul.page-menu-top-menu-list > li.page-menu-top-item > a {
	color: #eaeaea;
    padding: 9px 10px;
    width: 100%;
    text-align: center;
	font-size:16px;
}
.page-menu-top-menu-list .page-menu-top-item:hover {
	background: rgba(255, 255, 255, 0.2);
}

/* --- Side toggle (fixed center-left) --- */
/*.page-menu-side-toggle {
	position: fixed;
    top: 50%;
    transform: translateY(-50%);
    z-index: 9999;
    left: -1px;
    font-size: 20px;
    width: 44px;
    height: 44px;
    border: 1px solid #eaeaea;
    border-radius: 0px 5px 5px 0px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-left: none;
}*/
.page-menu-side-toggle {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    z-index: 9999;
    left: -1px;
    font-size: 12px;
    width: 85px;
    line-height: 1.2;
    height: 60px;
    border-radius: 0px 5px 5px 0px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-left: none;
}
.page-menu-side-item::marker{
	content:"";
}

/* --- Off-canvas side menu --- */
.page-menu-side-menu {
	    position: fixed;
	    left: -360px;
	    top: 0;
	    bottom: 0;
	    width: 320px;
	    background: var(--main-dark-color);
	    border-image: linear-gradient(to bottom, transparent 0%, #D4CDA1 50%, transparent 100%) 1;
	    z-index: 10000;
	    transition: left .32s 
ease;
	    overflow-y: auto;
	    padding: 40px 20px;
}
.page-menu-side-menu hr{
	margin-top: calc(var(--main-block-padding-h) * 2);
	margin-bottom: calc(var(--main-block-padding-h) * 0.7);
	border: 0;
	border-top: 1px solid var(--main-light-color);
}
.page-menu-side-menu.open {
	left:0;
}
.page-menu-side-inner {
	padding:18px;
}
.page-menu-side-close-block {
	display:flex;
	width:100%;
	justify-content:end;
}

aside.page-menu-side-menu > .page-menu-side-close-block > .page-menu-side-close {
	border:none;
	background:transparent;
	cursor:pointer;
	margin-bottom:8px;
	padding:0;
	font-size:18px;
	border-radius: var(--border-radius-main);
	background: var(--main-medium-color);
	padding: 5px 13px 9px;
}
aside.page-menu-side-menu > .page-menu-side-close-block > button:not([class^="fl-"]):not(.hestia-scroll-to-top):not(.navbar-toggle):not(.close).page-menu-side-close:hover {
    opacity: 0.7;
    background-color: transparent !important;
    box-shadow: none;
    color: #eaeaea;
}
.page-menu-side-menu ul {
	list-style:none;
	padding:0;
	margin:0 0 12px 0;
}
.page-menu-side-menu li {
	margin-bottom:8px;
	background: var(--main-medium-color);
	padding: calc(var(--main-a-navbar-hpad-clamp) / 4) calc(var(--main-a-navbar-wpad-clamp) / 2);
	border-radius: var(--border-radius-main);
}
.page-menu-side-menu li:hover{
	background: var(--main-hover-color);
}
.page-menu-side-menu a {
	text-decoration: none;
    color: #eaeaea;
    padding: 6px 8px;
    display: flex;
    border-radius: 4px;
}

.page-menu-side-icon{
	height: 20px;
    margin-right: 10px;
    width: 20px;
}

.page-menu-side-icon > svg{
	height: 20px;
    width: 20px;
}

.page-menu-side-icon > img{
	height: 20px;
    margin-right: 10px;
    width: 20px;
}

.page-menu-side-nav a:hover { background:#f1f1f1; }

/* overlay */
.page-menu-side-overlay {
	position:fixed;
	inset:0;
	background:rgba(0,0,0,0.35);
	opacity:0;
	pointer-events:none;
	transition:opacity .32s ease;
	z-index:9998;
}
.page-menu-side-overlay.open {
	opacity:1;
	pointer-events:auto;
}

/* contacts */
.page-menu-contacts { margin-top:12px; font-size:14px; color:#333; }
.page-menu-contacts a { color:#eaeaea; font-weight:600; text-decoration:underline; }

/* адаптив */
@media (max-width: 768px) {
	#page-menu {
		display:none;
	}
}