/*
Theme Name: Site
Description: This site's own block theme, designed in Kantr Studio. Colours, type and spacing live in theme.json.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: site
*/

/* Only what theme.json can't express. */
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 5.5rem; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Small uppercase label above headings */
.eyebrow {
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
	margin: 0;
}
.has-text-color.eyebrow { color: inherit; }
h1 em, h2 em { font-style: italic; color: var(--wp--preset--color--accent); }
.has-pine-background-color h2 em { color: var(--wp--preset--color--sage); }

/* Header: sticky, airy, hairline below */
.site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: color-mix(in srgb, var(--wp--preset--color--base) 92%, transparent);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent);
}
.admin-bar .site-header { top: var(--wp-admin--admin-bar--height, 0); }
.site-header .wp-block-navigation a:hover { color: var(--wp--preset--color--accent); }
@media (max-width: 600px) { .header-cta .wp-block-button__link { padding: 0.6rem 1rem; font-size: 0.8125rem; } }

/* Outline buttons */
.wp-block-button.is-style-outline > .wp-block-button__link {
	border: 1px solid currentColor;
	background: transparent;
	color: var(--wp--preset--color--contrast);
	padding: calc(0.85rem - 1px) calc(1.6rem - 1px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--white);
}

/* Images: soft corners, cover their frame */
.hero-image img { width: 100%; height: auto; border-radius: 4px; }
.bakes-grid .wp-block-image img { width: 100%; transition: transform .5s ease; }
.bakes-grid .wp-block-image { overflow: hidden; border-radius: 4px; }
.bakes-grid .wp-block-column:hover .wp-block-image img { transform: scale(1.03); }
.price { white-space: nowrap; font-variant-numeric: tabular-nums; font-weight: 500; margin: 0.25rem 0 0; }

/* Info strip */
.info-strip p { margin: 0; }
@media (max-width: 900px) { .info-strip .alignwide { justify-content: flex-start; column-gap: 1.5rem; row-gap: 0.25rem; } }

/* Bakes: two per row on phones and tablets */
@media (max-width: 781px) {
	.wp-block-columns.bakes-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30); }
	.bakes-grid h3 { font-size: 1.125rem; }
	.bakes-grid .wp-block-group.is-nowrap { flex-direction: column; gap: 0; }
}

/* Values: rule on top */
.value { border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--sage) 35%, transparent); padding-top: var(--wp--preset--spacing--40); }

/* Opening hours list */
.hours-row { border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 14%, transparent); padding: 0.55rem 0; }
.hours-row p { margin: 0; font-variant-numeric: tabular-nums; }

/* Visible keyboard focus */
:where(a, button, .wp-block-button__link, input, textarea, select):focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
	border-radius: 2px;
}
