/*
 * 再エネモニター
 * 基準サイズ：1080 × 1920
 */

html,
body {
	width: 100%;
	height: 100%;
	margin: 0 !important;
	overflow: hidden !important;
	background: #e9eef4;
}

body.renew-monitor-page {
	padding: 0 !important;
	color: #39546f;
	font-family:
		"Yu Gothic",
		"YuGothic",
		"Hiragino Kaku Gothic ProN",
		"Meiryo",
		sans-serif;
}

body.renew-monitor-page *,
body.renew-monitor-page *::before,
body.renew-monitor-page *::after {
	box-sizing: border-box;
}

html,
body {
	width: 100%;
	height: 100%;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	background: #e9eef4;
}

/*
 * WordPressにログインした状態で表示される
 * 上部の管理バーをモニター画面では非表示にする
 */
body.renew-monitor-page #wpadminbar {
	display: none !important;
}

html {
	margin-top: 0 !important;
}

#monitor-viewport {
	position: fixed !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;

	width: 100vw;
	height: 100vh;
	height: 100dvh;

	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;

	background: #e9eef4;
}

#monitor-stage {
	--monitor-scale: 1;

	position: absolute;
	top: 50%;
	left: 50%;

	width: 1080px;
	height: 1920px;

	margin: 0 !important;
	padding: 64px 64px 44px;
	overflow: hidden;

	background: #fff;
	box-shadow: inset 0 0 0 6px #55799e;

	transform:
		translate(-50%, -50%)
		scale(var(--monitor-scale));

	transform-origin: center center;
}

#monitor-stage .wp-block-group,
#monitor-stage .wp-block-columns,
#monitor-stage .wp-block-column,
#monitor-stage h1,
#monitor-stage h2,
#monitor-stage h3,
#monitor-stage p {
	margin-block-start: 0;
	margin-block-end: 0;
}

.monitor-block-layout {
	display: grid;
	grid-template-rows:
		auto
		auto
		minmax(0, 1fr)
		auto;
	height: 100%;
}

/* 天気予報 */

.monitor-weather {
	padding: 10px 36px 27px;
	border-bottom: 3px solid #7990a8;
}

.monitor-weather-heading {
	margin-bottom: 17px;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 25px !important;
}

.monitor-weather-grid {
	display: grid;
	grid-template-columns:
		repeat(2, minmax(0, 1fr));
	gap: 90px;
}

.monitor-weather-day-name {
	font-size: 25px;
	font-weight: 700;
	line-height: 1.5;
}

.monitor-weather-condition {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 27px;
	line-height: 1.5;
}

.monitor-weather-icon {
	font-size: 50px!important;
	line-height: 1;
}

.monitor-weather-temperature {
	font-size: 23px;
	line-height: 1.6;
	white-space: nowrap;
}

.temperature-high {
	color: #d96550;
	font-size: 27px;
}

.temperature-low {
	color: #3477b5;
	font-size: 27px;
}

.temperature-separator {
	padding: 0 8px;
}

.monitor-weather-source {
	margin-top: 12px!important;
	font-size: 13px;
	text-align: right;
	opacity: 0.55;
}

.monitor-weather-source a {
	color: inherit;
	text-decoration: none;
}

.monitor-weather-error {
	padding: 50px;
	font-size: 25px;
	text-align: center;
}

/* タイトル */

.monitor-title {
	margin: 22px 0 0 !important;
	padding: 0 20px;
	color: #2f72ad;
	font-size: 52px;
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: 0.015em;
}

/* 中央部分 */

.monitor-main-area {
	display: grid;
	grid-template-rows:
		340px
		440px
		minmax(0, 1fr);
	gap: 28px;
	min-height: 0;
	padding: 48px 38px 20px;
}

.monitor-slot {
	position: relative;
	min-width: 0;
	min-height: 0;
}

/*
 * 編集画面では案内文が見えますが、
 * 実際のモニター画面では非表示になります。
 */
.renew-monitor-page .monitor-editor-guide {
	display: none;
}

/* 日時 */

.monitor-footer-block {
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	min-height: 58px;
	padding: 0 36px 8px;
}

.monitor-current-time {
	color: #31475e;
	font-size: 24px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

