html {
	scroll-behavior: smooth;
}



header {
	display: flex;
	gap: 2em;
	align-items: center;
	padding: .5em 0;
	& form, fieldset {
		border: 0;
		margin: 0;
		padding: 0;
		& input, button {
			-webkit-appearance: none;
			appearance: none;
			border: 1px solid red;
			background: transparent;
			padding: .25em .5em;
			cursor: pointer;
			color: inherit;
			font: inherit;
			font-size: inherit;
			line-height: 120%;
			border-radius: 5px;
		}
	}
	& address {
		font-style: normal;
		font-size: 1.2rem;
		& a {
			color: inherit;
			text-decoration: none;
			font-weight: bold;
			/* gradient, a la Apple */
			background: -webkit-linear-gradient(356deg, #0090F7, #BA62FC, #F2416B, #F55600);
			background: linear-gradient(94deg, #0090F7, #BA62FC, #F2416B, #F55600);
			-webkit-background-clip: text;
			background-clip: text;
			color: transparent;
			display: inline-block;
		}
	}
}



dialog[open] {
	position: fixed;
	left: auto;
	margin: 0;
	height: 100dvh;
	/* animation: toasty 0.8s cubic-bezier(0.68, -0.55, 0.27, 1.55); */
}
dialog::backdrop {
	--webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	background-color: #3333;
}



body {
	font-size: 15px;
	font-family: "Figtree", serif;
	font-optical-sizing: auto;
	font-weight: 450;
	font-style: normal;
	line-height: 140%;
	color: #444;
	/* letter-spacing: -.01em; */
	margin: 1em;
}

h1, h2, h3, h4, h5, b, strong {
	font-family: "Figtree", serif;
	font-optical-sizing: auto;
	font-weight: 700;
	/* letter-spacing: -.01em; */
	color: #222;
	text-wrap: balance;
}

h1 {
	font-size: 1.75rem;
	line-height: 110%;
}


.Grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 1rem;
}

.Card {
	& > * {
		margin: 0;
		padding-block: .15em;
	}
	& h2, h3 {
		font-size: 1.25rem;
		display: -webkit-box;
		-webkit-line-clamp: 3; /* Limit to 3 lines */
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
	& a {
		color: inherit;
		text-decoration: none;
		&:hover {
			text-decoration: underline;
		}
	}
}


img.PlacePage {
	width: 100%;
	max-width: 800px;
	height: auto;
	aspect-ratio: 4/3;
	object-fit: cover;
	object-position: 50% 50%;
	border-radius: 5px;
}
@media screen and (max-width: 620px) {
	img.PlacePage {
		width: 100dvw;
		border-radius: 0;
		margin-inline: -1em;
	}
}

img.Card {
	width: 100%;
	max-width: 500px;
	height: auto;
	aspect-ratio: 1/1;
	object-fit: cover;
	object-position: 50% 50%;
	border-radius: 5px;
}



.Breadcrumbs {
	display: flex;
	gap: .5em;
	font-size: .9rem;
	font-weight: 400;
	color: #666;
	padding-block: .25em 1em;
	& a {
		color: inherit;
		text-decoration: none;
		&:hover {
			text-decoration: underline;
		}
	}
}







.inpagenav {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	display: flex;
	gap: 1.5em;
	background-color: rgba(255,255,255,.5);
	backdrop-filter: blur(10px);
	padding: .5em 1em;
	margin: 0 -1em;
}


/* ul.z {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	column-gap: 2rem;
	row-gap: .25rem;
} */




/* 

.Cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	grid-gap: 1rem;
	}
@media screen and (max-width: 620px) {
	.Cards {
		grid-template-columns: repeat(auto-fill, minmax(175px, 1fr));
	}
}
.Cards .Card {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr auto;
	}
.Cards .Card .Card__Thumbnail {
	display: block;
	width: 100%;
	height: auto;
	}
*/



.ProductPage {
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 2rem;
}
.ProductPage > picture {
	grid-row: 1/2;
}
@media screen and (min-width: 768px) {
	.ProductPage {
		grid-template-columns: 2fr 1fr;
		grid-gap: 2rem;
		position: relative;
	}
	.ProductPage > picture {
		grid-column: 1/2;
		position:sticky;
		top:0px;
		align-self:start;
	}
	.ProductPage > article {
		grid-column: 2/3;
		position: sticky;
		top: 0;
		align-self: start;
		padding-block: 1rem;
	}
}
.ProductPage > figure {
	margin: 0;
	padding: 0;
	}
.ProductPage > figure > img {
	width: 100%;
	height: auto;
	}
.ProductPage > picture * {
	width: 100%;
	height: auto;
	}




.Buyability {
	display: inline-flex;
	/* padding-inline: .75em; */
	}
.Buyability > * {
	appearance: none;
	font: inherit;
	background: transparent;
	border: none;
	padding: .25em 1em;
	border: 1px solid #0005;
	border-radius: 5px;
	}
.Buyability > *:last-child {
	/* flex-grow: 1; */
	text-align: center
	}
.Buyability > *:not(:first-child) {
	border-left: none;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	}
.Buyability > *:not(:last-child) {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	}
.Buyability > * strong {
	display: inline-block;
	min-width: 2ch;
	text-align: right;
	}
