/* Shared mobile fit – desktop look unchanged above 768px */
html, body {
	max-width: 100%;
}
img, video, embed, object {
	max-width: 100%;
	height: auto;
}
iframe {
	max-width: 100%;
}
.contact-map iframe {
	width: 100% !important;
}


@media screen and (max-width: 767px) {
	/* 使用固定定位脫離動態生成的父層死結 */
	html body span.menu,
	html body #site-header span.menu {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		
		/* 關鍵修正：改用 fixed 固定定位，直接根據手機螢幕角落來對齊 */
		position: fixed !important; 
		right: 15px !important;     
		top: 15px !important;       /* 這裡的 15px 是指距離手機畫面最頂端 15 像素 */
		
		width: 44px !important;
		height: 36px !important;
		z-index: 200000 !important; /* 給予極高層級，確保絕對浮在最上層 */
		cursor: pointer;
		background: transparent;    /* 保持背景透明 */
	}

	/* 修正內部三橫線，確保其在 fixed 方塊中完美居中 */
	html body span.menu:before,
	html body #site-header span.menu:before {
		content: "" !important;
		display: block !important;
		width: 26px;
		height: 2px;
		margin: 0 !important;       /* 清除可能導致錯位的 margin */
		background: #0b0b0d;
		box-shadow: 0 -8px 0 #0b0b0d, 0 8px 0 #0b0b0d;
		
		/* 絕對置中設定 */
		position: absolute !important;
		top: 50% !important;
		left: 50% !important;
		transform: translate(-50%, -50%) !important;
	}
}

@media screen and (max-width: 767px) {
	html {
		zoom: calc(100vw / 768);
	}
}

@supports not (zoom: 1) {
	@media screen and (max-width: 767px) {
		html {
			width: 768px;
			transform: scale(calc(100vw / 768));
			transform-origin: top left;
		}
	}
}
