/* CSS Document */

#detail{
	display: grid;
	grid-template-columns: 1fr var(--wrap) 1fr;
	margin: clamp(24px, calc(40 / 1200 * 100vw), 40px) 0 0;
	overflow: hidden;
	&>*{
		grid-column: 2;
	}
}

#detailHeader{
	display: grid;
	grid-gap: clamp(32px, calc(48 / 1200 * 100vw), 48px) clamp(40px, calc(56 / 1200 * 100vw), 56px);
	& h2{
		position: relative;
		display: grid;
		grid-template-columns: 24px 1fr;
		justify-self: start;
		grid-gap: 6px;
		min-height: 64px;
		padding: 8px 0;
		width: 100%;
		font-weight: 700;
		font-size: clamp(20px, calc(24 / 1200 * 100vw), 24px);
		letter-spacing: 0.1em;
		&:before, &:after {
			content: "";
		}
		&:before{
			aspect-ratio: 1;
			background: var(--color-theme);
			-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M13.77,3.5c-.41,0-.78-.16-1.07-.44-.14-.14-.25-.31-.32-.49-.08-.18-.11-.37-.11-.57,0-.1,0-.2.02-.3.02-.09.05-.19.09-.28.04-.09.08-.17.14-.26.05-.08.12-.16.18-.22.56-.56,1.57-.56,2.13,0,.06.06.13.14.18.22.06.09.1.17.14.26.04.09.07.19.09.28.02.1.03.2.03.3,0,.2-.04.39-.12.57-.07.18-.18.35-.32.49-.29.28-.67.44-1.06.44ZM13.77,14.17h0c.82,0,1.49-.68,1.49-1.51h0c0-.82-.67-1.5-1.49-1.5h0c-.83,0-1.51.68-1.51,1.5s.68,1.51,1.51,1.51ZM13.77,8.83h0c.82,0,1.49-.67,1.49-1.5h0c0-.83-.67-1.5-1.49-1.5h0c-.83,0-1.51.67-1.51,1.5s.68,1.5,1.51,1.5ZM14.83,19.06c.28-.28.44-.66.44-1.06,0-.1-.01-.2-.03-.3-.02-.09-.05-.19-.09-.28-.04-.09-.08-.17-.14-.26-.05-.08-.11-.15-.18-.22-.35-.35-.87-.51-1.36-.41-.09.02-.19.05-.28.08-.09.04-.18.09-.26.14-.08.06-.16.12-.22.19-.07.07-.14.14-.19.22-.06.09-.1.17-.14.26-.04.09-.07.19-.09.28-.01.1-.02.2-.02.3,0,.4.15.78.44,1.06.28.28.66.44,1.06.44s.77-.16,1.06-.44ZM7.29,3.06c.28-.29.44-.66.44-1.06,0-.1-.01-.2-.03-.3-.02-.09-.05-.19-.09-.28-.03-.09-.08-.17-.13-.26-.06-.08-.12-.16-.19-.22-.07-.07-.15-.14-.23-.19-.08-.05-.17-.1-.26-.14s-.18-.07-.28-.08c-.48-.1-1,.06-1.35.41-.07.06-.13.14-.19.22-.05.09-.1.17-.14.26-.04.09-.06.19-.08.28-.02.1-.03.2-.03.3,0,.4.15.77.44,1.06.14.14.3.25.48.32.19.08.38.12.58.12.4,0,.77-.16,1.06-.44ZM6.23,14.17h0c.83,0,1.5-.68,1.5-1.51h0c0-.82-.67-1.5-1.5-1.5h0c-.83,0-1.5.68-1.5,1.5s.67,1.51,1.5,1.51ZM6.23,8.83h0c.83,0,1.5-.67,1.5-1.5h0c0-.83-.67-1.5-1.5-1.5h0c-.83,0-1.5.67-1.5,1.5s.67,1.5,1.5,1.5ZM7.29,19.06c.28-.29.44-.66.44-1.06,0-.1-.01-.2-.03-.3-.02-.09-.05-.19-.09-.28-.03-.09-.08-.17-.13-.26-.06-.08-.12-.15-.19-.22-.35-.35-.87-.51-1.36-.41-.09.02-.19.05-.28.08-.09.04-.17.09-.26.14-.08.06-.15.12-.22.19s-.13.14-.19.22c-.05.09-.1.17-.14.26-.03.09-.06.19-.08.28-.02.1-.03.2-.03.3,0,.4.15.77.44,1.06.28.28.66.44,1.06.44s.77-.16,1.06-.44Z"/></svg>');
			transform: translateY(clamp(4px, calc(8 / 1200 * 100vw), 8px));
		}
		&:after {
			grid-column: 1 / 3;
			width: 100%;
			height: 1px;
			background: var(--color-theme);
		}
	}
	#detailPhoto{
		grid-row: 2;
	}
	@media (min-width: 768px) {
		grid-template-columns: 1fr 1fr;
		& h2{
			grid-column: 1 / 3;
		}
	}
}

#detailText{
	letter-spacing: 0.1em;
	@media (min-width: 576px) {
		grid-column: 1 / 3;
	}
}

#detailStatus{
	& dl{
		display: grid;
		font-size: clamp(14px, calc(16 / 1200 * 100vw), 16px);
		grid-row-gap: 8px;
		@media (min-width: 576px) {
			grid-template-columns: auto 1fr;
		}
	}
	& dt,
	& dd{
		padding: 4px clamp(24px, calc(16 / 1200 * 100vw), 16px);
		letter-spacing: 0.1em;
	}
	& dt{
		align-self: start;
		font-weight: 700;
		text-align: center;
		border-radius: 50px;
		background: var(--color-theme-bg);
		@media (min-width: 576px) {
			max-width: 320px;
		}
	}
	& dd{
		@media (max-width: 575.98px) {
			padding-top: 8px;
		}
		& a{
			color: #2ca89d;
		}
	}
}

#detailPhoto{
	& img{
		aspect-ratio: 1 / 0.667;
		border-radius: 8px;
		object-fit: contain;
	}
}

#detailDownload{
	display: grid;
	margin-top: clamp(48px, calc(64 / 1200 * 100vw), 64px);
	& h3{
		justify-self: center;
		color: var(--color-theme);
		font-size: 18px;
		font-weight: 700;
		letter-spacing: 0.05em;
	}
	& h3+div{
		display: flex;
		flex-wrap: wrap;
		grid-gap: 16px 24px;
		justify-content: center;
		margin-top: 32px;
		& a{
			display: grid;
			grid-template-columns: 14px 1fr;
			align-items: center;
			grid-gap: 16px;
			width: min(100%, 280px);
			min-height: 48px;
			padding: 8px 24px;
			border: 1px solid var(--color-theme);
			border-radius: 50px;
			color: var(--color-theme);
			font-weight: 700;
			letter-spacing: 0.05em;
			text-align: center;
			text-decoration: none;
			&:before{
				content: "";
				aspect-ratio: 1;
				background: currentColor;
				-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" style="fill: none; stroke: black; stroke-width: 1px;"><polyline points="1 7 13 7"/><polyline points="7 1 7 13"/></svg>') no-repeat center / contain;
			}
			&#delete{
				background: var(--color-theme);
				border-color: transparent;
				color: #fff;
				&:before{
					-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" style="fill: none; stroke: black; stroke-width: 1px;"><polyline points="1 7 13 7"/></svg>') no-repeat center / contain;
				}
			}
		}
	}
}

#detailFooter{
	display: flex;
	justify-content: center;
	margin: clamp(72px, calc(112 / 1200 * 100vw), 112px) 0 clamp(96px, calc(120 / 1200 * 100vw), 120px);
	& a{
		display: grid;
		grid-template-columns: 1fr 20px;
		align-items: center;
		grid-gap: 16px;
		width: min(100%, 320px);
		min-height: 56px;
		margin: auto;
		margin: 16px 0 0;
		padding: 8px 24px;
		border: 1px solid var(--color-theme);
		border-radius: 8px;
		background: #fff;
		color: var(--color-theme);
		font-weight: 700;
		text-align: center;
		text-decoration: none;
		&:after {
			content: "";
			aspect-ratio: 1;
			background: currentColor;
			-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="white" d="M17.94,9.8s-.01-.02-.02-.03c-.05-.08-.12-.13-.21-.16l-8.93-4.4c-.06-.03-.12-.04-.19-.04-.08,0-.15.02-.22.06-.12.08-.2.21-.2.36v3.94s0,.04.01.05H2.42c-.23,0-.42.19-.42.42,0,.23.19.42.42.42h13.36s-6.77,3.32-6.77,3.32v-1.91c0-.23-.19-.42-.42-.42s-.42.19-.42.42v2.59c0,.15.08.28.2.36.12.08.28.08.41.02l8.98-4.41c.1-.05.16-.13.2-.22,0,0,0,0,0,0,.02-.05.03-.1.03-.15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0-.01,0-.02,0-.04,0-.07-.02-.11,0-.03-.02-.05-.03-.07ZM9.02,9.52v-3.26s6.73,3.32,6.73,3.32h-6.74s.01-.04.01-.05Z"/></svg>') center no-repeat;
			-webkit-mask-size: contain;
			transition: transform 0.2s ease-out;
		}
	}
}

#wrapper:has(#error) {
    grid-template-rows: auto auto 1fr;
}
#error{
	display: grid;
	grid-gap: 48px;
	width: var(--wrap);
	margin: clamp(64px, calc(80 / 1200 * 100vw), 80px) auto clamp(96px, calc(128 / 1200 * 100vw), 128px) auto;
	& h2{
		display: grid;
		justify-items: center;
		grid-gap: clamp(16px, calc(24 / 1200 * 100vw), 24px);
		font-weight: 700;
		font-size: clamp(24px, calc(32 / 1200 * 100vw), 32px);
		text-align: center;
		word-break: keep-all;
		letter-spacing: 0.1em;
	}
	& h2+div{
		letter-spacing: 0.05em;
		@media (min-width: 576px) {
			text-align: center;
			word-break: keep-all;
		}
	}
	& a {
		display: grid;
		grid-template-columns: 1fr 20px;
		align-items: center;
		grid-gap: 16px;
		width: min(100%, 320px);
		min-height: 56px;
		margin: clamp(48px, calc(56 / 1200 * 100vw), 56px) auto 0;
		padding: 8px 24px;
		border: 1px solid var(--color-theme);
		border-radius: 8px;
		background: #fff;
		color: var(--color-theme);
		font-weight: 700;
		text-align: center;
		text-decoration: none;
		&:after {
			content: "";
			aspect-ratio: 1;
			background: currentColor;
			-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="white" d="M17.94,9.8s-.01-.02-.02-.03c-.05-.08-.12-.13-.21-.16l-8.93-4.4c-.06-.03-.12-.04-.19-.04-.08,0-.15.02-.22.06-.12.08-.2.21-.2.36v3.94s0,.04.01.05H2.42c-.23,0-.42.19-.42.42,0,.23.19.42.42.42h13.36s-6.77,3.32-6.77,3.32v-1.91c0-.23-.19-.42-.42-.42s-.42.19-.42.42v2.59c0,.15.08.28.2.36.12.08.28.08.41.02l8.98-4.41c.1-.05.16-.13.2-.22,0,0,0,0,0,0,.02-.05.03-.1.03-.15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0-.01,0-.02,0-.04,0-.07-.02-.11,0-.03-.02-.05-.03-.07ZM9.02,9.52v-3.26s6.73,3.32,6.73,3.32h-6.74s.01-.04.01-.05Z"/></svg>') center no-repeat;
			-webkit-mask-size: contain;
			transition: transform 0.2s ease-out;
		}
	}
}





