/* Public look: warm parchment, hearth colours, four moods.
   Fonts are self-hosted (no Google Fonts). */

@font-face { font-family: "Cormorant Garamond"; font-weight: 500; font-style: normal; font-display: swap;
	src: url("../fonts/cormorant-garamond-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Cormorant Garamond"; font-weight: 700; font-style: normal; font-display: swap;
	src: url("../fonts/cormorant-garamond-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Lora"; font-weight: 400; font-style: normal; font-display: swap;
	src: url("../fonts/lora-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Lora"; font-weight: 600; font-style: normal; font-display: swap;
	src: url("../fonts/lora-latin-600-normal.woff2") format("woff2"); }

body.hama-public,
body.hama-shadow {
	--hama-serif: "Cormorant Garamond", "Palatino Linotype", Georgia, serif;
	--hama-body: "Lora", Georgia, "Times New Roman", serif;
	--wp--preset--font-family--manrope: var(--hama-body);
	--wp--preset--font-family--fira-code: var(--hama-body);
	font-family: var(--hama-body);
	line-height: 1.7;
}

/* Palette (overrides the block theme's colour presets) */
body.hama-public {
	--wp--preset--color--base: #f6ecd6;
	--wp--preset--color--contrast: #2a2118;
	--wp--preset--color--accent-1: #b5541c;
	--wp--preset--color--accent-2: #1f6f78;
	--wp--preset--color--accent-3: #5d6b3a;
	--wp--preset--color--accent-4: #d9a441;
	--wp--preset--color--accent-5: #efe0bd;
	--wp--preset--color--accent-6: #4a3b2a;
	--hama-paper: #fbf4e3;
	--hama-line: #d8c59a;
	--hama-ink: #2a2118;
	--hama-muted: #6b5c47;
	--hama-rust: #b5541c;
	--hama-teal: #1f6f78;
	--hama-olive: #5d6b3a;
	--hama-gold: #b8912f;
	background:
		radial-gradient(1200px 500px at 50% -120px, rgba(217, 164, 65, 0.22), transparent 70%),
		linear-gradient(180deg, #f8efd9 0%, #f3e6c8 100%);
	background-attachment: fixed;
	color: var(--hama-ink);
}

/* Headings */
body.hama-public :is(h1, h2, h3, h4, h5, h6, .wp-block-heading, .wp-block-post-title, .wp-block-site-title),
body.hama-shadow :is(h1, h2, h3, h4, h5, h6, .wp-block-heading, .wp-block-post-title, .wp-block-site-title) {
	font-family: var(--hama-serif);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.15;
}
body.hama-public :is(h1, .wp-block-post-title) { font-size: clamp(2.3rem, 5vw, 3.6rem); }
body.hama-public a { color: var(--hama-rust); text-underline-offset: 0.18em; }
body.hama-public a:hover { color: var(--hama-teal); }
body.hama-public ::selection { background: #e7c27a; color: #2a2118; }

/* Header and footer */
.hama-header { padding: 1rem 1.25rem; border-bottom: 3px double var(--hama-line, #d8c59a); background: rgba(251, 244, 227, 0.78); position: relative; z-index: 20; }
.hama-header-inner { gap: 1rem; align-items: center; }
.hama-brand, .hama-brand a { font-family: var(--hama-serif); font-size: clamp(1.3rem, 3vw, 1.75rem); font-weight: 700; line-height: 1.1; color: var(--hama-ink, #2a2118); text-decoration: none; margin: 0; }
.hama-brand a:hover { color: var(--hama-rust, #b5541c); }
.hama-nav { font-family: var(--hama-body); font-size: 0.82rem; letter-spacing: 0.09em; text-transform: uppercase; }
.hama-nav .wp-block-navigation-item__content { color: var(--hama-ink, #2a2118); text-decoration: none; padding: 0.35rem 0.1rem; }
.hama-nav .wp-block-navigation-item__content:hover { color: var(--hama-rust, #b5541c); }
.hama-nav .wp-block-navigation__submenu-container { background: var(--hama-paper, #fbf4e3) !important; border: 1px solid var(--hama-line, #d8c59a) !important; border-radius: 6px; padding: 0.4rem 0.6rem; min-width: 11rem; }
.hama-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--hama-paper, #fbf4e3); color: var(--hama-ink, #2a2118); }
.hama-footer { margin-top: 4rem; padding: 2.5rem 1.25rem 3rem; border-top: 3px double var(--hama-line, #d8c59a); background: rgba(251, 244, 227, 0.6); }
.hama-footer-inner { gap: 1.5rem; align-items: flex-start; }
.hama-footer-title, .hama-footer-title a { font-family: var(--hama-serif); font-size: 1.5rem; font-weight: 700; margin: 0; color: var(--hama-ink, #2a2118); text-decoration: none; }
.hama-footer-note { margin: 0.2rem 0 0; color: var(--hama-muted, #6b5c47); font-style: italic; }
.hama-footer-links { margin: 0; font-size: 0.9rem; letter-spacing: 0.06em; text-transform: uppercase; }
.hama-footer-links a { text-decoration: none; }

/* Buttons */
.hama-btn,
body.hama-public .wp-element-button,
body.hama-public .wp-block-button__link {
	display: inline-block;
	background: var(--hama-teal, #1f6f78);
	color: #fff !important;
	border: 2px solid var(--hama-teal, #1f6f78);
	border-radius: 999px;
	padding: 0.6rem 1.3rem;
	font-family: var(--hama-body);
	font-size: 0.95rem;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.15s ease, background 0.15s ease;
}
.hama-btn:hover, body.hama-public .wp-element-button:hover { background: var(--hama-rust, #b5541c); border-color: var(--hama-rust, #b5541c); transform: translateY(-1px); }
.hama-btn-ghost { background: transparent; color: var(--hama-teal, #1f6f78) !important; }
.hama-btn-ghost:hover { color: #fff !important; }

/* Element colours */
.hama-el-bold   { --el: #b5541c; }
.hama-el-fresh  { --el: #1f6f78; }
.hama-el-hearty { --el: #5d6b3a; }
.hama-el-light  { --el: #b8912f; }

.hama-glyph { width: 1.15em; height: 1.15em; vertical-align: -0.2em; margin-right: 0.35em; }

/* Recipe grid and cards */
.hama-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.6rem; margin: 1.5rem 0; }
.hama-card {
	background: var(--hama-paper, #fbf4e3);
	border: 1px solid var(--hama-line, #d8c59a);
	border-top: 4px solid var(--el, #b5541c);
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 1px 0 rgba(42, 33, 24, 0.05), 0 8px 18px -12px rgba(42, 33, 24, 0.35);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.hama-card { display: flex; flex-direction: column; }
.hama-card-body { flex: 1 1 auto; display: flex; flex-direction: column; }
.hama-card:hover { transform: translateY(-3px); box-shadow: 0 12px 24px -14px rgba(42, 33, 24, 0.5); }
.hama-card-media { display: block; aspect-ratio: 4 / 3; background: color-mix(in srgb, var(--el) 14%, #fbf4e3); }
.hama-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hama-card-fallback { display: grid; place-items: center; height: 100%; color: var(--el); }
.hama-card-fallback .hama-glyph { width: 3.6rem; height: 3.6rem; margin: 0; opacity: 0.8; }
.hama-card-body { padding: 1rem 1.15rem 1.25rem; }
.hama-card-tag { margin: 0 0 0.3rem; font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--el); font-weight: 600; }
.hama-card-tag .hama-glyph { width: 0.95em; height: 0.95em; }
.hama-card-title { margin: 0 0 0.4rem; font-size: 1.55rem; }
.hama-card-title a { color: var(--hama-ink, #2a2118) !important; text-decoration: none; }
.hama-card-title a:hover { color: var(--el) !important; }
.hama-card-excerpt { margin: 0; font-size: 0.92rem; color: var(--hama-muted, #6b5c47); }
.hama-empty { font-style: italic; color: var(--hama-muted, #6b5c47); text-align: center; max-width: 36rem; margin: 1.5rem auto 2rem; }

/* Element cards on the front page */
.hama-elements { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; margin: 1.5rem 0; }
.hama-element-card {
	display: flex; flex-direction: column; gap: 0.35rem;
	padding: 1.2rem; border-radius: 8px; text-decoration: none !important;
	background: color-mix(in srgb, var(--el) 10%, #fbf4e3);
	border: 1px solid color-mix(in srgb, var(--el) 35%, #d8c59a);
	color: var(--hama-ink, #2a2118) !important;
	transition: transform 0.15s ease, background 0.15s ease;
}
.hama-element-card:hover { transform: translateY(-3px); background: color-mix(in srgb, var(--el) 18%, #fbf4e3); }
.hama-element-card .hama-glyph { width: 2rem; height: 2rem; color: var(--el); margin: 0 0 0.3rem; }
.hama-element-card strong { font-family: var(--hama-serif); font-size: 1.6rem; color: var(--el); }
.hama-element-card span { font-size: 0.9rem; color: var(--hama-muted, #6b5c47); }

/* Single recipe */
.hama-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 0.5rem; padding: 0; margin: 0 0 1.2rem; }
.hama-chip { padding: 0.25rem 0.8rem; border-radius: 999px; background: color-mix(in srgb, var(--el, #b5541c) 12%, #fbf4e3); border: 1px solid color-mix(in srgb, var(--el, #b5541c) 40%, #d8c59a); font-size: 0.85rem; }
.hama-chip span { text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.72rem; font-weight: 600; margin-right: 0.3rem; color: var(--el, #b5541c); }
.hama-chip a { text-decoration: none; color: inherit !important; font-weight: 600; }
.hama-story { margin-bottom: 1.5rem; }
.hama-recipe-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; margin: 1.5rem 0; }
@media (min-width: 820px) { .hama-recipe-grid { grid-template-columns: minmax(240px, 0.8fr) minmax(0, 1.4fr); } }
.hama-ingredients, .hama-method { background: var(--hama-paper, #fbf4e3); border: 1px solid var(--hama-line, #d8c59a); border-radius: 6px; padding: 1.2rem 1.4rem; }
.hama-ingredients { border-top: 4px solid var(--el, #b5541c); align-self: start; }
.hama-recipe h2 { margin: 0 0 0.6rem; font-size: 1.9rem; }
.hama-recipe h3 { font-size: 1.15rem; margin: 1rem 0 0.3rem; }
.hama-ingredients ul { list-style: none; padding: 0; margin: 0; }
.hama-ingredients li { padding: 0.35rem 0; border-bottom: 1px dotted var(--hama-line, #d8c59a); }
.hama-ingredients li:last-child { border-bottom: 0; }
.hama-method ol { list-style: none; counter-reset: step; padding: 0; margin: 0; }
.hama-method li { counter-increment: step; position: relative; padding: 0 0 1rem 2.6rem; }
.hama-method li::before {
	content: counter(step); position: absolute; left: 0; top: 0.05rem; width: 1.8rem; height: 1.8rem;
	border-radius: 50%; background: var(--el, #b5541c); color: #fff; display: grid; place-items: center;
	font-family: var(--hama-serif); font-weight: 700; font-size: 1rem;
}
.hama-tip { margin: 1.5rem 0; padding: 1rem 1.3rem; border-left: 4px solid var(--el, #b5541c); background: color-mix(in srgb, var(--el, #b5541c) 8%, #fbf4e3); border-radius: 0 6px 6px 0; }
.hama-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 1.6rem 0; }

/* No dates on the public side */
.wp-block-post-date, .wp-block-comment-date, .entry-date, .comment-metadata time, .wp-block-post-terms + .wp-block-post-date { display: none !important; }

/* The quiet door */
.hama-door-unused { position: fixed; right: 14px; bottom: 12px; width: 26px; height: 26px; display: grid; place-items: center; color: #2a2118; opacity: 0.16; transition: opacity 0.4s ease; z-index: 50; }
.hama-door:hover, .hama-door:focus-visible { opacity: 0.75; }
.hama-door svg { width: 20px; height: 20px; }
.hama-feather { width: 1.2em; height: 1.2em; }

.screen-reader-text { position: absolute !important; clip-path: inset(50%); width: 1px; height: 1px; overflow: hidden; }

/* Print: just the recipe */
@media print {
	body.hama-public, body.hama-shadow { background: #fff !important; color: #000 !important; }
	header.wp-block-template-part, footer.wp-block-template-part, .hama-bar, .hama-door, .hama-actions, .hama-menu-pill, .hama-menu-add, .hama-card-actions, .wp-block-comments, #comments, nav { display: none !important; }
	.hama-ingredients, .hama-method { border: 0; padding: 0; background: none; }
	.hama-recipe-grid { display: block; }
}

/* Page bodies */
.hama-main { padding: 2.5rem 1.25rem 1rem; }
.hama-main.hama-home { padding: 0; }
.hama-lede { font-size: 1.15rem; color: var(--hama-muted, #6b5c47); }
.hama-single .wp-block-post-title { margin-bottom: 1.2rem; }
.hama-photo img, .hama-single .wp-block-post-featured-image img { border-radius: 8px; box-shadow: 0 14px 30px -18px rgba(42, 33, 24, 0.55); }
.hama-archive .wp-block-query-title, .hama-archive h1 { text-align: center; margin: 0 0 0.6rem; }

/* Front page */
.hama-hero { padding: 5rem 1.25rem 4.2rem; text-align: center; background: radial-gradient(700px 320px at 50% 0%, rgba(217, 164, 65, 0.28), transparent 72%), radial-gradient(500px 260px at 10% 90%, rgba(31, 111, 120, 0.12), transparent 70%), radial-gradient(500px 260px at 92% 80%, rgba(181, 84, 28, 0.12), transparent 70%); }
.hama-glyph-row { display: flex; justify-content: center; gap: 1.6rem; margin-bottom: 1.4rem; }
.hama-glyph-row span { color: var(--el, #b5541c); }
.hama-glyph-row .hama-glyph { width: 2.1rem; height: 2.1rem; margin: 0; }
.hama-eyebrow { text-transform: uppercase; letter-spacing: 0.18em; font-size: 0.8rem; font-weight: 600; color: var(--hama-rust, #b5541c); margin: 0 0 0.6rem; }
.hama-hero-title { font-size: clamp(2.8rem, 8vw, 5.4rem) !important; margin: 0 0 1rem; }
.hama-hero-lede { max-width: 38rem; margin: 0 auto 1.8rem; font-size: 1.15rem; color: var(--hama-muted, #6b5c47); }
.hama-section { padding: 3.5rem 1.25rem; }
.hama-section-alt { background: rgba(239, 224, 189, 0.45); border-top: 1px solid var(--hama-line, #d8c59a); border-bottom: 1px solid var(--hama-line, #d8c59a); }
.hama-section-title { font-size: clamp(1.9rem, 4vw, 2.6rem); margin: 0 0 0.3rem; }
.hama-section-lede { color: var(--hama-muted, #6b5c47); margin: 0 0 1.6rem; }
.hama-quote-strip { padding: 4rem 1.25rem; }
.hama-quote { font-family: var(--hama-serif); font-size: clamp(1.7rem, 4vw, 2.5rem); font-style: italic; line-height: 1.25; color: var(--hama-rust, #b5541c); margin: 0; }
body.hama-public .is-style-outline .wp-block-button__link { background: transparent; color: var(--hama-teal, #1f6f78) !important; border: 2px solid var(--hama-teal, #1f6f78); }
body.hama-public .is-style-outline .wp-block-button__link:hover { background: var(--hama-teal, #1f6f78); color: #fff !important; }

/* Comments */
.hama-comments { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--hama-line, #d8c59a); }
.hama-comments h2 { font-size: 1.9rem; }
.hama-comment { padding: 0.9rem 1.1rem; margin: 0 0 0.9rem; background: var(--hama-paper, #fbf4e3); border: 1px solid var(--hama-line, #d8c59a); border-left: 3px solid var(--hama-rust, #b5541c); border-radius: 4px; }
.hama-comment .wp-block-comment-author-name { font-weight: 600; margin: 0 0 0.3rem; }
.hama-comment .wp-block-comment-content p { margin: 0 0 0.5rem; }
.hama-comments :is(input[type="text"], input[type="email"], input[type="url"], textarea) { width: 100%; padding: 0.6rem 0.75rem; border: 1px solid var(--hama-line, #d8c59a); border-radius: 4px; background: #fffaf0; font-family: var(--hama-body); }
.hama-comments .form-submit input[type="submit"], .hama-comments .wp-block-button__link { background: var(--hama-teal, #1f6f78); color: #fff; border: 0; border-radius: 999px; padding: 0.6rem 1.4rem; font-family: var(--hama-body); font-weight: 600; cursor: pointer; }

/* Log in button in the header */
.hama-nav .hama-nav-login .wp-block-navigation-item__content {
	border: 1.5px solid var(--hama-teal, #1f6f78); color: var(--hama-teal, #1f6f78);
	border-radius: 999px; padding: 0.3rem 1.1rem; font-weight: 600; transition: background 0.2s ease, color 0.2s ease;
}
.hama-nav .hama-nav-login .wp-block-navigation-item__content:hover { background: var(--hama-teal, #1f6f78); color: #fff; }

/* Footer legal links and comment notice */
.hama-footer-legal { font-size: 0.82rem; margin-top: 1.4rem; color: var(--hama-muted, #6b5c47); }
.hama-footer-legal a { color: inherit; }
.hama-comment-privacy { font-size: 0.85rem; color: var(--hama-muted, #6b5c47); }
.hama-warning { background: #ffe9a8; color: #5c3b00; padding: 0 0.3rem; }

/* Search, filters, browse pills, badges */
.hama-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.hama-header-search { display: flex; align-items: center; margin: 0; border: 1.5px solid var(--hama-line, #d8c59a); border-radius: 999px; background: var(--hama-paper, #fbf4e3); overflow: hidden; }
.hama-header-search input[type="search"] { border: 0; background: transparent; padding: 0.35rem 0.4rem 0.35rem 0.9rem; font: inherit; font-size: 0.85rem; width: 9.5rem; color: var(--hama-ink, #2a2118); outline: none; }
.hama-header-search button { border: 0; background: transparent; padding: 0.35rem 0.7rem 0.35rem 0.3rem; cursor: pointer; color: var(--hama-teal, #1f6f78); display: flex; align-items: center; }
.hama-header-search:focus-within { border-color: var(--hama-teal, #1f6f78); }
@media (max-width: 700px) { .hama-header-search { width: 100%; } .hama-header-search input[type="search"] { flex: 1; width: auto; } }

.hama-search { max-width: 760px; margin: 1.6rem auto 1.4rem; display: flex; flex-direction: column; gap: 0.7rem; }
.hama-search input[type="search"] { width: 100%; box-sizing: border-box; padding: 0.75rem 1.1rem; font: inherit; font-size: 1.05rem; background: var(--hama-paper, #fbf4e3); border: 1.5px solid var(--hama-line, #d8c59a); border-radius: 999px; color: var(--hama-ink, #2a2118); }
.hama-search input[type="search"]:focus, .hama-search select:focus { outline: 2px solid var(--hama-teal, #1f6f78); outline-offset: 1px; }
.hama-search-filters { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.hama-search select { flex: 1 1 10rem; padding: 0.55rem 0.8rem; font: inherit; font-size: 0.92rem; background: var(--hama-paper, #fbf4e3); border: 1.5px solid var(--hama-line, #d8c59a); border-radius: 8px; color: var(--hama-ink, #2a2118); }
.hama-search-actions { display: flex; align-items: center; gap: 1rem; }
.hama-search-clear { font-size: 0.9rem; }
.hama-results-note { text-align: center; font-style: italic; color: var(--hama-muted, #6b5c47); margin: 0.5rem 0 1.2rem; }

.hama-pills { display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: center; margin: 1.2rem 0; }
.hama-pill { display: inline-block; padding: 0.35rem 1rem; border-radius: 999px; border: 1.5px solid var(--hama-line, #d8c59a); background: var(--hama-paper, #fbf4e3); text-decoration: none; font-size: 0.9rem; font-weight: 600; color: var(--hama-ink, #2a2118) !important; transition: background 0.2s ease, border-color 0.2s ease; }
.hama-pill:hover { border-color: var(--hama-teal, #1f6f78); background: #efe0bd; }
.hama-pill.is-diet { border-color: var(--hama-olive, #5d6b3a); color: var(--hama-olive, #5d6b3a) !important; }

.hama-card-badges { display: flex; flex-wrap: wrap; gap: 0.35rem; margin: 0.7rem 0 0; }
.hama-card-badges span { font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; padding: 0.1rem 0.6rem; border-radius: 999px; border: 1px solid var(--hama-line, #d8c59a); color: var(--hama-muted, #6b5c47); }
.hama-card-badges .is-diet { border-color: var(--hama-olive, #5d6b3a); color: var(--hama-olive, #5d6b3a); }
.hama-chip-diet { border-color: var(--hama-olive, #5d6b3a); background: color-mix(in srgb, var(--hama-olive, #5d6b3a) 12%, #fbf4e3); }

/* Alcohol note */
.hama-card-badges .is-alcohol { border-color: var(--hama-rust, #b5541c); color: var(--hama-rust, #b5541c); }
.hama-chip-alcohol { border-color: var(--hama-rust, #b5541c); background: color-mix(in srgb, var(--hama-rust, #b5541c) 10%, #fbf4e3); }

/* ---- Menus ---- */
.hama-menu-add[hidden], .hama-menu-addall[hidden], .hama-menu-pill[hidden],
.hama-mymenu [hidden] { display: none !important; }
.hama-btn.hama-menu-add.is-on { background: var(--hama-teal, #1f6f78); border-color: var(--hama-teal, #1f6f78); color: #fff !important; }
.hama-card-actions { margin: auto 0 0; padding-top: 0.9rem; min-height: 3.1rem; text-align: left; align-self: flex-start; }
.hama-card-actions .hama-btn { font-size: 0.8rem; padding: 0.35rem 0.9rem; }
.hama-menu-dishes { list-style: none; margin: 0.6rem 0 0; padding: 0; font-size: 0.9rem; color: var(--hama-muted, #6b5c47); }
.hama-menu-dishes li { padding: 0.15rem 0 0.15rem 1rem; position: relative; }
.hama-menu-dishes li::before { content: ""; position: absolute; left: 0; top: 0.75em; width: 0.4rem; height: 0.4rem; border-radius: 50%; background: var(--hama-gold, #b8912f); }
.hama-menu-course { margin: 2.4rem 0 0; }
.hama-menu-course h2 { font-family: var(--hama-serif); font-size: 1.7rem; margin: 0 0 1rem; padding-bottom: 0.4rem; border-bottom: 1px solid var(--hama-line, #d8c59a); }
.hama-menu-page .hama-story { margin: 1.5rem 0; }
.hama-menu-card .hama-card-fallback svg { width: 3.2rem; height: 3.2rem; color: var(--hama-gold, #b8912f); }
.hama-menu-pill { position: fixed; right: 1rem; bottom: 1rem; z-index: 50; display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.6rem 1.1rem; border-radius: 999px; background: var(--hama-teal, #1f6f78); color: #fff !important; text-decoration: none; font-size: 0.9rem; box-shadow: 0 4px 14px rgba(42, 33, 24, 0.25); }
.hama-menu-pill:hover { background: var(--hama-rust, #b5541c); }
.hama-menu-count { background: #fff; color: var(--hama-ink, #2a2118); border-radius: 999px; min-width: 1.4rem; padding: 0 0.4rem; text-align: center; font-weight: 600; }

/* Footer stays at the bottom of the window, also on short pages */
.wp-site-blocks { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
.admin-bar .wp-site-blocks { min-height: calc(100vh - 32px); min-height: calc(100dvh - 32px); }
@media (max-width: 782px) { .admin-bar .wp-site-blocks { min-height: calc(100vh - 46px); min-height: calc(100dvh - 46px); } }
.wp-site-blocks > main { flex: 1 0 auto; }
.hama-menu-actions { justify-content: center; margin: 0.4rem 0 1.4rem; }

/* ---- My menu page ---- */
.hama-mymenu { max-width: 720px; margin: 0 auto; }
.hama-mm-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin: 0 0 1.4rem; }
.hama-mm-tab { display: inline-flex; align-items: center; gap: 0.5rem; font: inherit; font-size: 0.92rem; padding: 0.4rem 1rem; border-radius: 999px; border: 1px solid var(--hama-line, #d8c59a); background: transparent; color: var(--hama-ink, #2a2118); cursor: pointer; transition: background 0.15s ease, color 0.15s ease; }
.hama-mm-tab:hover { border-color: var(--hama-gold, #b8912f); }
.hama-mm-tab.is-active { background: var(--hama-teal, #1f6f78); border-color: var(--hama-teal, #1f6f78); color: #fff; }
.hama-mm-tab-n { font-size: 0.75rem; min-width: 1.3rem; padding: 0 0.35rem; text-align: center; border-radius: 999px; background: rgba(42, 33, 24, 0.08); }
.hama-mm-tab.is-active .hama-mm-tab-n { background: rgba(255, 255, 255, 0.22); }
.hama-mm-new { border-style: dashed; color: var(--hama-muted, #6b5c47); }
.hama-mm-sheet { position: relative; background: var(--hama-paper, #fbf4e3); border: 1px solid var(--hama-line, #d8c59a); border-radius: 4px; padding: 2.4rem 2rem 2rem; box-shadow: 0 1px 0 rgba(42, 33, 24, 0.05), 0 18px 34px -22px rgba(42, 33, 24, 0.55); }
.hama-mm-sheet::before { content: ""; position: absolute; inset: 0.55rem; border: 1px solid var(--hama-gold, #b8912f); border-radius: 2px; opacity: 0.55; pointer-events: none; }
.hama-mm-head { text-align: center; margin-bottom: 1.4rem; }
.hama-mm-eyebrow { margin: 0; font-size: 0.72rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--hama-rust, #b5541c); font-weight: 600; }
.hama-mm-name { font-family: var(--hama-serif); font-size: clamp(2rem, 6vw, 2.8rem); line-height: 1.05; margin: 0.4rem 0 0.3rem; overflow-wrap: anywhere; }
.hama-mm-count { margin: 0; color: var(--hama-muted, #6b5c47); font-style: italic; min-height: 1.4em; }
.hama-mm-tools { margin: 0.6rem 0 0; display: flex; justify-content: center; gap: 1.2rem; }
.hama-mm-link { background: none; border: 0; padding: 0; font: inherit; font-size: 0.82rem; color: var(--hama-muted, #6b5c47); text-decoration: underline; cursor: pointer; }
.hama-mm-link:hover { color: var(--hama-rust, #b5541c); }
.hama-mymenu-empty { text-align: center; padding: 1.2rem 0 0.6rem; color: var(--hama-muted, #6b5c47); }
.hama-mm-empty-icon { width: 3.2rem; height: 3.2rem; color: var(--hama-gold, #b8912f); }
.hama-mm-empty-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem; margin-top: 1rem; }
.hama-mymenu-course { margin: 1.6rem 0 0; }
.hama-mm-course { display: flex; align-items: center; gap: 0.9rem; font-family: var(--hama-serif); font-size: 1.35rem; font-weight: 600; text-align: center; margin: 0 0 0.3rem; color: var(--hama-ink, #2a2118); }
.hama-mm-course::before, .hama-mm-course::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, transparent, var(--hama-gold, #b8912f)); }
.hama-mm-course::after { background: linear-gradient(270deg, transparent, var(--hama-gold, #b8912f)); }
.hama-mm-dishes { list-style: none; margin: 0; padding: 0; }
.hama-mm-dish { display: flex; align-items: center; gap: 0.8rem; padding: 0.6rem 0.2rem; border-bottom: 1px dashed var(--hama-line, #d8c59a); }
.hama-mm-dish:last-child { border-bottom: 0; }
.hama-mm-dot { flex: none; width: 0.6rem; height: 0.6rem; border-radius: 50%; background: var(--el, var(--hama-gold, #b8912f)); }
.hama-mm-title { flex: 1; font-family: var(--hama-serif); font-size: 1.25rem; line-height: 1.25; text-decoration: none; color: var(--hama-ink, #2a2118) !important; }
.hama-mm-title:hover { color: var(--el, var(--hama-rust, #b5541c)) !important; }
.hama-mymenu-remove { flex: none; width: 1.8rem; height: 1.8rem; border-radius: 50%; border: 1px solid transparent; background: none; font: inherit; font-size: 1.2rem; line-height: 1; color: var(--hama-muted, #6b5c47); cursor: pointer; }
.hama-mymenu-remove:hover { border-color: var(--hama-rust, #b5541c); color: var(--hama-rust, #b5541c); }
.hama-mymenu .hama-menu-actions { justify-content: center; margin: 1.6rem 0 0; }
.hama-mymenu-note { text-align: center; font-size: 0.85rem; color: var(--hama-muted, #6b5c47); margin-top: 1.2rem; }
@media (max-width: 520px) { .hama-mm-sheet { padding: 2rem 1.1rem 1.5rem; } }
@media print { .hama-mm-tabs, .hama-mm-tools, .hama-mymenu-remove, .hama-mymenu-note { display: none !important; } .hama-mm-sheet { box-shadow: none; } }

/* Choosing a menu */
.hama-menu-add.has-choice .hama-menu-add-label::after { content: " \25BE"; }
.hama-pop { position: absolute; z-index: 60; min-width: 13rem; max-width: min(20rem, calc(100vw - 16px)); padding: 0.5rem; background: var(--hama-paper, #fbf4e3); border: 1px solid var(--hama-gold, #b8912f); border-radius: 6px; box-shadow: 0 14px 30px -12px rgba(42, 33, 24, 0.55); color: var(--hama-ink, #2a2118); }
.hama-pop-title { margin: 0.1rem 0.5rem 0.4rem; font-size: 0.7rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--hama-muted, #6b5c47); }
.hama-pop-row { display: flex; align-items: center; gap: 0.6rem; width: 100%; padding: 0.5rem 0.5rem; font: inherit; font-size: 0.95rem; text-align: left; background: none; border: 0; border-radius: 4px; color: inherit; cursor: pointer; }
.hama-pop-row:hover, .hama-pop-row:focus-visible { background: rgba(184, 145, 47, 0.16); outline: none; }
.hama-pop-check { flex: none; width: 1.2rem; height: 1.2rem; border: 1px solid var(--hama-line, #d8c59a); border-radius: 3px; display: grid; place-items: center; font-size: 0.85rem; line-height: 1; }
.hama-pop-row.is-on .hama-pop-check { background: var(--hama-teal, #1f6f78); border-color: var(--hama-teal, #1f6f78); color: #fff; }
.hama-pop-name { flex: 1; overflow-wrap: anywhere; }
.hama-pop-n { flex: none; font-size: 0.75rem; color: var(--hama-muted, #6b5c47); }
.hama-pop-new { color: var(--hama-muted, #6b5c47); border-top: 1px dashed var(--hama-line, #d8c59a); border-radius: 0 0 4px 4px; margin-top: 0.3rem; }
@media print { .hama-pop { display: none !important; } }

/* Phone menu: opens over the whole screen and is easy to tap */
.hama-nav .wp-block-navigation__responsive-container.is-menu-open { position: fixed; inset: 0; z-index: 100000; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 1rem 1.5rem 2.5rem; text-transform: uppercase; }
.hama-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog,
.hama-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { width: 100%; max-width: 32rem; margin: 0 auto; padding: 0; }
.hama-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { position: sticky; top: 0; align-self: flex-end; margin: 0 0 0.6rem auto; padding: 0.7rem; color: var(--hama-ink, #2a2118); background: var(--hama-paper, #fbf4e3); border-radius: 50%; z-index: 2; }
.hama-nav .is-menu-open .wp-block-navigation__container, .hama-nav .is-menu-open .wp-block-page-list { align-items: stretch !important; gap: 0; width: 100%; }
.hama-nav .is-menu-open .wp-block-navigation-item { width: 100%; align-items: stretch !important; justify-content: flex-start !important; border-bottom: 1px solid var(--hama-line, #d8c59a); }
.hama-nav .is-menu-open .wp-block-navigation-item__content { display: block; box-sizing: border-box; width: 100%; text-align: left; padding: 0.95rem 0.2rem; font-size: 1rem; letter-spacing: 0.1em; }
/* No sub-menus on the phone: the main items link to the full pages instead */
.hama-nav .is-menu-open .wp-block-navigation__submenu-container, .hama-nav .is-menu-open .wp-block-navigation__submenu-icon { display: none !important; }
.hama-nav .is-menu-open .hama-nav-login { border-bottom: 0; margin-top: 1.6rem; }
.hama-nav .is-menu-open .hama-nav-login .wp-block-navigation-item__content { text-align: center; padding: 0.95rem 1rem; border-radius: 999px; border: 0; background: var(--hama-teal, #1f6f78); color: #fff !important; font-weight: 600; letter-spacing: 0.14em; box-shadow: 0 8px 18px -12px rgba(31, 111, 120, 0.9); }
.hama-nav .is-menu-open .hama-nav-login .wp-block-navigation-item__content:hover, .hama-nav .is-menu-open .hama-nav-login .wp-block-navigation-item__content:focus-visible { background: var(--hama-rust, #b5541c); }

/* ---- Kitchen images (fixed picture places) ---- */
.hama-slot { margin: 0; }
.hama-slot img { display: block; max-width: 100%; height: auto; }
.hama-slot.is-framed img { border-radius: 10px; border: 1px solid var(--hama-line, #d8c59a); box-shadow: 0 14px 30px -18px rgba(42, 33, 24, 0.55); }
.hama-slot.is-cutout img { filter: drop-shadow(0 10px 14px rgba(42, 33, 24, 0.22)); }
.hama-slot.is-circle img { border-radius: 50%; aspect-ratio: 1; object-fit: cover; border: 3px double var(--hama-gold, #b8912f); background: var(--hama-paper, #fbf4e3); }
.hama-slot.is-banner img { width: 100%; aspect-ratio: 21 / 8; object-fit: cover; border-radius: 8px; box-shadow: 0 14px 30px -18px rgba(42, 33, 24, 0.55); }

/* Home: welcome text with a picture at the side */
.hama-hero.has-slot { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); column-gap: 2.5rem; align-items: center; padding-inline: max(1.25rem, calc((100% - 1150px) / 2)); }
.hama-hero.has-slot > * { grid-column: 1; }
.hama-hero.has-slot > .hama-slot { grid-column: 2; grid-row: 1 / span 12; justify-self: center; width: 100%; max-width: 360px; }
.hama-hero.has-slot.slot-left { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); }
.hama-hero.has-slot.slot-left > * { grid-column: 2; }
.hama-hero.has-slot.slot-left > .hama-slot { grid-column: 1; }
@media (max-width: 820px) {
	.hama-hero.has-slot, .hama-hero.has-slot.slot-left { display: block; padding-inline: 1.25rem; }
	.hama-hero.has-slot > .hama-slot { margin: 2rem auto 0; max-width: 240px; }
}

/* Home: closing quote with a picture */
.hama-quote-strip.has-slot { display: flex; align-items: center; justify-content: center; gap: 2rem; max-width: 900px; margin-inline: auto; }
.hama-quote-strip.has-slot > .hama-quote { flex: 1 1 auto; max-width: 30rem; margin: 0; }
.hama-quote-strip.has-slot > .hama-slot { flex: none; width: min(170px, 30%); }
.hama-quote-strip.has-slot.slot-left > .hama-slot { order: -1; }
@media (max-width: 640px) { .hama-quote-strip.has-slot { flex-direction: column; gap: 1.2rem; } .hama-quote-strip.has-slot > .hama-slot { width: 140px; } }

/* About: floats beside the introduction */
.hama-slot-about_side { float: right; width: min(38%, 300px); margin: 0.3rem 0 1rem 1.8rem; }
.hama-slot-about_side.on-left { float: left; margin: 0.3rem 1.8rem 1rem 0; }
@media (max-width: 640px) { .hama-slot-about_side, .hama-slot-about_side.on-left { float: none; width: min(80%, 280px); margin: 0 auto 1.4rem; } }

/* Banners */
.hama-slot-hall_banner, .hama-slot-menus_banner { max-width: 1100px; margin: 0 auto 1.8rem; }
.hama-slot-hall_banner.is-cutout img, .hama-slot-menus_banner.is-cutout img { margin: 0 auto; max-height: 260px; width: auto; }

/* My menu (empty), recipe tip, footer */
.hama-slot-mymenu_empty { width: 150px; margin: 0 auto 0.6rem; }
.hama-tip::after { content: ""; display: table; clear: both; }
.hama-tip .hama-slot { float: right; width: 84px; margin: 0 0 0.4rem 1rem; }
.hama-footer-inner > .hama-slot { flex: none; width: 96px; order: 99; }
.hama-footer-inner > .hama-slot.on-left { order: -1; }
@media print { .hama-slot-footer_corner, .hama-slot-hall_banner, .hama-slot-menus_banner { display: none; } }

/* Recipe list paging and infinite scroll */
.hama-pager { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0.4rem; margin: 2rem 0 1rem; font-family: var(--hama-body, Georgia, serif); font-size: 0.95rem; }
.hama-pager a, .hama-pager .hama-pager-num.is-current { display: inline-flex; align-items: center; justify-content: center; min-width: 2.5rem; min-height: 2.5rem; padding: 0 0.8rem; box-sizing: border-box; border: 1px solid var(--hama-line, #d8c59a); border-radius: 999px; text-decoration: none; background: var(--hama-paper, #fbf4e3); color: var(--hama-ink, #2a2118); }
.hama-pager a:hover { border-color: var(--hama-rust, #b5541c); color: var(--hama-rust, #b5541c); }
.hama-pager .hama-pager-num.is-current { background: var(--hama-rust, #b5541c); border-color: var(--hama-rust, #b5541c); color: #fff; font-weight: 700; }
.hama-pager-gap { color: var(--hama-muted, #6b5c47); padding: 0 0.15rem; }
.hama-list.is-infinite .hama-pager { display: none; }
.hama-more { display: block; margin: 2rem auto 1rem; padding: 0.75rem 1.8rem; border: 1px solid var(--hama-rust, #b5541c); border-radius: 999px; background: transparent; color: var(--hama-rust, #b5541c); font: inherit; font-weight: 600; cursor: pointer; }
.hama-more:hover:not(:disabled) { background: var(--hama-rust, #b5541c); color: #fff; }
.hama-more:disabled { opacity: 0.6; cursor: progress; }

/* Home quote: round portrait beside a proper pull-quote (1.12.1) */
.hama-quote-strip.has-slot { gap: 2.4rem; }
.hama-quote-strip.has-slot > .hama-slot { width: 150px; margin: 0; }
.hama-quote-strip.has-slot > .hama-slot img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; object-position: center 25%; border: 0; border-radius: 50%; filter: none; background: var(--hama-paper, #fbf4e3); box-shadow: 0 0 0 4px var(--hama-paper, #fbf4e3), 0 0 0 6px var(--hama-gold, #b8912f), 0 14px 26px rgba(42, 33, 24, 0.2); }
.hama-quote-strip.has-slot > .hama-quote { position: relative; padding: 0.6rem 0 0.6rem 2.2rem; border-left: 2px solid var(--hama-gold, #b8912f); text-align: left; }
.hama-quote-strip.has-slot.slot-right > .hama-quote { padding: 0.6rem 2.2rem 0.6rem 0; border-left: 0; border-right: 2px solid var(--hama-gold, #b8912f); text-align: right; }
.hama-quote-strip.has-slot > .hama-quote::before { content: "\201C"; position: absolute; left: 0.3rem; top: -2.1rem; font-family: var(--hama-serif, Georgia, serif); font-size: 7rem; line-height: 1; font-style: normal; color: var(--hama-gold, #b8912f); opacity: 0.32; pointer-events: none; }
.hama-quote-strip.has-slot.slot-right > .hama-quote::before { left: auto; right: 0.3rem; }
@media (max-width: 640px) {
	.hama-quote-strip.has-slot > .hama-quote, .hama-quote-strip.has-slot.slot-right > .hama-quote { padding: 2.6rem 0 0; border: 0; text-align: center; }
	.hama-quote-strip.has-slot > .hama-quote::before, .hama-quote-strip.has-slot.slot-right > .hama-quote::before { left: 50%; right: auto; top: 0; transform: translateX(-50%); font-size: 5rem; }
}

/* Closing quote mark (1.12.2) */
.hama-quote-strip.has-slot > .hama-quote::after { content: "\201D"; position: absolute; right: 0.3rem; bottom: -4.6rem; font-family: var(--hama-serif, Georgia, serif); font-size: 7rem; line-height: 1; font-style: normal; color: var(--hama-gold, #b8912f); opacity: 0.32; pointer-events: none; }
.hama-quote-strip.has-slot.slot-right > .hama-quote::after { right: auto; left: 0.3rem; }
@media (max-width: 640px) {
	.hama-quote-strip.has-slot > .hama-quote { padding-bottom: 3.2rem; }
	.hama-quote-strip.has-slot > .hama-quote::after, .hama-quote-strip.has-slot.slot-right > .hama-quote::after { left: 50%; right: auto; bottom: -1.2rem; transform: translateX(-50%); font-size: 5rem; }
}

/* About picture, better integrated (1.12.3): sits right next to the text column in an arched niche */
.hama-slot-about_side.is-framed { position: relative; overflow: hidden; padding: 1.6rem 1rem 0.9rem; border-radius: 999px 999px 16px 16px; border: 1px solid var(--hama-gold, #b8912f); background: radial-gradient(ellipse at 50% 30%, rgba(255, 252, 243, 0.95) 0%, rgba(240, 225, 190, 0.85) 60%, rgba(226, 205, 160, 0.9) 100%); box-shadow: inset 0 0 0 5px rgba(251, 244, 227, 0.9), inset 0 0 0 6px rgba(184, 145, 47, 0.45), 0 18px 34px -22px rgba(42, 33, 24, 0.6); }
.hama-slot-about_side.is-framed img { border: 0; border-radius: 0; box-shadow: none; width: 100%; max-height: 460px; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 6px 8px rgba(42, 33, 24, 0.28)); }
.hama-slot-about_side.is-framed::after { content: ""; position: absolute; left: 22%; right: 22%; bottom: 0.7rem; height: 0.7rem; border-radius: 50%; background: radial-gradient(ellipse at center, rgba(42, 33, 24, 0.28), transparent 70%); pointer-events: none; }
/* The text column stays where it is (centred); the picture hangs in the margin beside it on wide screens,
   and sits centred above the text on smaller ones. */
:is(.wp-block-post-content, .entry-content):has(> .hama-slot-about_side) { position: relative; }
@media (min-width: 1350px) {
	:is(.wp-block-post-content, .entry-content) > .hama-slot-about_side { position: absolute; float: none; top: 0.5rem; left: calc(50% + 325px + 2.5rem); right: auto; width: 270px; margin: 0; }
	:is(.wp-block-post-content, .entry-content) > .hama-slot-about_side.on-left { left: auto; right: calc(50% + 325px + 2.5rem); }
}
@media (max-width: 1349px) {
	:is(.wp-block-post-content, .entry-content) > .hama-slot-about_side, :is(.wp-block-post-content, .entry-content) > .hama-slot-about_side.on-left { float: none; width: min(80%, 260px); margin: 0 auto 1.8rem; }
}
@media (max-width: 1349px) { :is(.wp-block-post-content, .entry-content) > .hama-slot-about_side.is-framed img { max-height: 340px; } }
