/**
 * nak-features.css — the features, kitchen by kitchen (1.22.0)
 *
 *   1. Kitchen Feature (Indian / Khmer / Fusion) — the section under the hero.
 *   2. Menu — the ordering menu wears its kitchen's shape.
 *   3. Experiences — a featured card, kitchen badges, real "Ask to join".
 *
 * Each kitchen draws from its own vocabulary:
 *   Indian — marigold warmth and the temple arch (arched photo frames).
 *   Khmer  — sandstone and the krama: cut-stone frames, check-weave edge.
 *   Fusion — the orbit: soft frames, quiet rings, both palettes meeting.
 *
 * Loads after nak-craft.css; token-driven like the rest of the theme.
 *
 * @package NamasteAngkorTheme
 */

/* Kitchen accents (used whatever the page's style, for badges and cards). */
.nak-kfeature--indian, .nak-experience-card--indian, .nak-experience-card__kitchen--indian { --k: #a01b2e; --k-gold: #f2990f; --k-soft: #fbecd2; }
.nak-kfeature--khmer,  .nak-experience-card--khmer,  .nak-experience-card__kitchen--khmer  { --k: #8a3d24; --k-gold: #c1902f; --k-soft: #efe2c6; }
.nak-kfeature--fusion, .nak-experience-card--fusion, .nak-experience-card__kitchen--fusion { --k: #7a1f2b; --k-gold: #e8871e; --k-soft: #f6e7d6; }

/* =====================================================================
 * 1. Kitchen Feature
 * ================================================================== */
.nak-kfeature {
	position: relative;
	overflow: hidden;
	padding-block: clamp(3rem, 2rem + 4vw, 5.5rem);
	background: var(--k-soft) var(--craft-grain, none);
}
.nak-kfeature__grid {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	gap: clamp(1.75rem, 1rem + 4vw, 4.5rem);
	align-items: center;
}

/* Surfaces per kitchen */
.nak-kfeature--indian::before {          /* marigold glow from the corner */
	content: ""; position: absolute; inset: -30% -10% auto auto; width: 70%; aspect-ratio: 1;
	background: radial-gradient(circle, rgba(242, 153, 15, .22), transparent 62%);
	pointer-events: none;
}
.nak-kfeature--khmer::before {           /* krama check along the top edge */
	content: ""; position: absolute; left: 0; right: 0; top: 0; height: 10px;
	background:
		repeating-linear-gradient(90deg, var(--k) 0 10px, #f6ecd6 10px 20px),
		repeating-linear-gradient(0deg, rgba(0, 0, 0, .12) 0 5px, transparent 5px 10px);
	background-blend-mode: multiply;
}
.nak-kfeature--fusion::before {          /* two quiet orbits — hairlines */
	content: ""; position: absolute; right: -12%; top: 50%; width: 62%; aspect-ratio: 1; transform: translateY(-50%);
	border: 1px solid color-mix(in srgb, var(--k-gold) 35%, transparent);
	border-radius: 50%;
	outline: 1px solid color-mix(in srgb, var(--k) 14%, transparent);
	outline-offset: 46px;
	pointer-events: none;
}

.nak-kfeature__kicker {
	display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .7rem;
	margin: 0 0 1rem;
	font: 700 .74rem/1.2 var(--nak-body); letter-spacing: .16em; text-transform: uppercase;
	color: var(--k);
}
.nak-kfeature__kicker-icon { width: 30px; height: 30px; flex: 0 0 auto; color: var(--k); }
.nak-kfeature__name {
	padding-left: .7rem; border-left: 1px solid color-mix(in srgb, var(--k) 35%, transparent);
	color: color-mix(in srgb, var(--nak-ink) 75%, var(--k));
}
.nak-kfeature__title {
	margin: 0 0 1rem;
	font-family: var(--nak-display); font-weight: var(--nak-disp-weight, 600);
	font-size: clamp(2rem, 1.3rem + 2.6vw, 3.4rem); line-height: 1.04;
	color: var(--nak-ink);
	text-wrap: balance;
}
.nak-kfeature__lede { margin: 0 0 1.6rem; max-width: 52ch; color: var(--nak-ink-soft); font-size: var(--nak-step-0); }

.nak-kfeature__ways { list-style: none; margin: 0 0 1.8rem; padding: 0; display: grid; gap: .85rem; }
.nak-kfeature__ways li { display: grid; grid-template-columns: 44px 1fr; gap: .85rem; align-items: start; }
.nak-kfeature__ways strong { display: block; color: var(--nak-ink); font-size: .98rem; margin-bottom: .1rem; }
.nak-kfeature__ways li > span:last-child { color: var(--nak-ink-soft); font-size: .92rem; line-height: 1.45; }
.nak-kfeature__way-icon {
	width: 44px; height: 44px; display: grid; place-items: center;
	color: var(--k);
	background: var(--nak-white);
	border: 1px solid color-mix(in srgb, var(--k) 22%, transparent);
	border-radius: var(--craft-r, 8px);
}
.nak-kfeature--indian .nak-kfeature__way-icon { border-radius: 50% 50% 46% 46% / 58% 58% 42% 42%; }
.nak-kfeature--khmer  .nak-kfeature__way-icon { border-radius: 2px; box-shadow: inset 0 0 0 3px var(--nak-white), inset 0 0 0 4px color-mix(in srgb, var(--k) 25%, transparent); }
.nak-kfeature--fusion .nak-kfeature__way-icon { border-radius: 50%; }
.nak-kfeature__actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.nak-kfeature .nak-btn--primary { background: var(--k); border-color: var(--k); }
.nak-kfeature .nak-btn--ghost { color: var(--k); border-color: color-mix(in srgb, var(--k) 45%, transparent); }
.nak-kfeature .nak-btn--ghost:hover { background: var(--k); color: #fffaf0; }

/* Plates — the kitchen's dishes from the live menu */
.nak-kfeature__plates-head {
	margin: 0 0 .7rem;
	font: 700 .7rem/1 var(--nak-body); letter-spacing: .16em; text-transform: uppercase;
	color: color-mix(in srgb, var(--nak-ink) 55%, transparent);
}
.nak-kfeature__dishes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; }
.nak-kfeature__dish.is-lead { grid-column: 1 / -1; }
.nak-kfeature__dish a {
	display: flex; flex-direction: column; gap: .6rem; height: 100%;
	padding: .6rem .6rem .85rem;
	background: var(--nak-white);
	border: 1px solid var(--craft-hair, rgba(36, 16, 5, .12));
	border-radius: var(--craft-r, 8px);
	color: var(--nak-ink); text-decoration: none;
	box-shadow: var(--craft-shadow);
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.nak-kfeature__dish a:hover, .nak-kfeature__dish a:focus-visible { transform: translateY(-2px); box-shadow: var(--craft-shadow-lift); border-color: color-mix(in srgb, var(--k) 40%, transparent); }
.nak-kfeature__dish a:focus-visible { outline: 2px solid var(--k); outline-offset: 2px; }
.nak-kfeature__dish .nak-om-media { aspect-ratio: 4 / 3; }
.nak-kfeature__dish.is-lead .nak-om-media { aspect-ratio: 16 / 8; }
.nak-kfeature__dish-body { display: grid; gap: .25rem; padding-inline: .2rem; }
.nak-kfeature__dish-name { font-weight: 700; font-size: .98rem; line-height: 1.25; }
.nak-kfeature__dish.is-lead .nak-kfeature__dish-name { font-family: var(--nak-display); font-weight: var(--nak-disp-weight, 600); font-size: 1.3rem; }
.nak-kfeature__dish-desc { color: var(--nak-ink-soft); font-size: .88rem; line-height: 1.45; }
.nak-kfeature__dish-meta { display: flex; align-items: center; gap: .5rem; }
.nak-kfeature__dish-price { font-weight: 700; color: var(--k); }
.nak-kfeature__dish-badge { font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--k-gold); }

/* Frames per kitchen */
.nak-kfeature--indian .nak-kfeature__dish .nak-om-media { border-radius: 46% 46% 6px 6px / 34% 34% 6px 6px; }
.nak-kfeature--indian .nak-kfeature__dish.is-lead .nak-om-media { border-radius: 140px 140px 6px 6px / 70px 70px 6px 6px; }
.nak-kfeature--khmer  .nak-kfeature__dish a { border-radius: 2px; }
.nak-kfeature--khmer  .nak-kfeature__dish .nak-om-media { border-radius: 1px; outline: 1px solid rgba(255, 250, 240, .7); outline-offset: -6px; }
.nak-kfeature--fusion .nak-kfeature__dish .nak-om-media { border-radius: 10px; }

@media (max-width: 900px) {
	.nak-kfeature__grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
	.nak-kfeature__dishes { grid-template-columns: 1fr 1fr; gap: .6rem; }
	.nak-kfeature__dish-name { font-size: .9rem; }
	.nak-kfeature__actions .nak-btn { flex: 1 1 100%; justify-content: center; text-align: center; }
}

/* =====================================================================
 * 2. Menu — the ordering menu wears its kitchen's shape
 * ================================================================== */
/* Course headings carry the culture glyph. */
.nak-om-section__head { align-items: center; }
.nak-om-section__title { display: inline-flex; align-items: center; gap: .6rem; }
.nak-om-section__title::before {
	content: ""; width: 22px; height: 22px; flex: 0 0 auto;
	background: var(--nak-lotus);
	-webkit-mask: var(--nak-motif) center / contain no-repeat;
	mask: var(--nak-motif) center / contain no-repeat;
	opacity: .85;
}

/* Indian — temple-arch photo frames, marigold dotted course rule. */
html[data-style="indian"] .nak-om-card .nak-om-media { border-radius: 48% 48% 8px 8px / 36% 36% 8px 8px; }
html[data-style="indian"] .nak-om-feat .nak-om-media--wide { border-radius: 160px 160px 10px 10px / 64px 64px 10px 10px; }
html[data-style="indian"] .nak-om-section__head { padding-bottom: .5rem; border-bottom: 2px dotted color-mix(in srgb, var(--nak-saffron) 55%, transparent); }

/* Khmer — cut-stone frames: square corners and a carved inner line. */
html[data-style="khmer"] .nak-om-card .nak-om-media,
html[data-style="khmer"] .nak-om-feat .nak-om-media { border-radius: 1px; outline: 1px solid rgba(255, 250, 240, .65); outline-offset: -5px; }
html[data-style="khmer"] .nak-om-card { box-shadow: inset 0 0 0 3px var(--nak-white), inset 0 0 0 4px var(--craft-hair, rgba(36, 16, 5, .12)); }
html[data-style="khmer"] .nak-om-section__title { text-transform: uppercase; letter-spacing: .08em; font-size: clamp(1.05rem, .95rem + .5vw, 1.3rem); }
html[data-style="khmer"] .nak-om-section__head { padding-bottom: .5rem; border-bottom: 1px solid var(--craft-hair-strong, rgba(36, 16, 5, .2)); box-shadow: 0 3px 0 -2px var(--craft-hair, rgba(36, 16, 5, .12)); }

/* Fusion — soft frames, the orbit dot on the course rule. */
html[data-style="fusion"] .nak-om-card .nak-om-media { border-radius: 12px; }
html[data-style="fusion"] .nak-om-section__head { padding-bottom: .5rem; border-bottom: 1px solid color-mix(in srgb, var(--nak-saffron) 35%, transparent); }

/* =====================================================================
 * 3. Experiences — featured card, kitchen badges, real actions
 * ================================================================== */
@media (min-width: 901px) {
	.nak-experiences__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		grid-auto-rows: minmax(0, auto);
	}
	.nak-experience-card.is-lead { grid-column: span 2; grid-row: span 2; }
}
.nak-experience-card {
	position: relative;
	display: grid; grid-template-columns: auto 1fr; gap: .9rem; align-items: start;
	text-decoration: none;
	border-color: var(--craft-hair, rgba(36, 16, 5, .12));
}
.nak-experience-card__body { display: flex; flex-direction: column; gap: .35rem; min-width: 0; height: 100%; }
.nak-experience-card__icon { color: var(--k, var(--nak-lotus)); background: color-mix(in srgb, var(--k, var(--nak-lotus)) 9%, var(--nak-white)); }
.nak-experience-card__title { margin: 0; }
.nak-experience-card__text { margin: 0; flex: 1 1 auto; }
.nak-experience-card__kitchens { display: flex; gap: .3rem; margin: 0 0 .1rem; }
.nak-experience-card__kitchen {
	width: 24px; height: 24px; padding: 3px; box-sizing: border-box;
	display: inline-grid; place-items: center;
	border-radius: 50%;
	color: var(--k); background: color-mix(in srgb, var(--k) 10%, transparent);
}
.nak-experience-card__kitchen .nak-icon { width: 100%; height: 100%; }
.nak-experience-card__actions { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem .8rem; margin-top: .6rem; }
.nak-experience-card__go {
	display: inline-flex; align-items: center; gap: .35rem;
	font-weight: 700; font-size: .86rem; letter-spacing: .04em;
	color: var(--k, var(--nak-lotus)); text-decoration: none;
	border-bottom: 1.5px solid currentColor; padding-bottom: 1px;
}
.nak-experience-card__go .nak-ui-icon { transition: transform .2s ease; }
.nak-experience-card__go:hover .nak-ui-icon { transform: translateX(3px); }
.nak-experience-card__go.is-live { color: #1e7b3f; }
.nak-experience-card__alt { font-size: .8rem; color: var(--nak-ink-soft); }

/* The lead experience: the kitchen's colour, bigger type. */
.nak-experience-card.is-lead {
	grid-template-columns: 1fr;
	align-content: end;
	min-height: 300px;
	padding: clamp(1.5rem, 1rem + 2vw, 2.4rem);
	background: var(--k);
	color: #fffaf0;
	border-color: var(--k);
	overflow: hidden;
}
/* The storefront's small corner motif on every card is retired: the kitchen
   badges carry the culture now, and only the lead card keeps a watermark. */
.nak-experiences .nak-experience-card::after { content: none; }
.nak-experiences .nak-experience-card__icon { color: var(--k, var(--nak-lotus)); }
.nak-experiences .nak-experience-card.is-lead::after {     /* the kitchen's glyph, large and quiet */
	content: ""; position: absolute; top: auto; right: -6%; bottom: -10%; width: 58%; height: auto; aspect-ratio: 1;
	opacity: 1; transform: none;
	background: rgba(255, 250, 240, .07);
	-webkit-mask: var(--nak-icon-fusion) center / contain no-repeat;
	mask: var(--nak-icon-fusion) center / contain no-repeat;
	pointer-events: none;
}
.nak-experiences .nak-experience-card--indian.is-lead::after { -webkit-mask-image: var(--nak-icon-indian); mask-image: var(--nak-icon-indian); }
.nak-experiences .nak-experience-card--khmer.is-lead::after  { -webkit-mask-image: var(--nak-icon-khmer);  mask-image: var(--nak-icon-khmer); }
.nak-experience-card.is-lead > * { position: relative; z-index: 1; }
.nak-experiences .nak-experience-card.is-lead .nak-experience-card__icon { width: 56px; height: 56px; background: rgba(255, 250, 240, .12); color: var(--k-gold); }
.nak-experience-card.is-lead .nak-experience-card__title { color: #fffaf0; font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.3rem); line-height: 1.1; }
.nak-experience-card.is-lead .nak-experience-card__text { color: rgba(255, 250, 240, .82); font-size: 1rem; max-width: 40ch; flex: 0 0 auto; }
.nak-experience-card.is-lead .nak-experience-card__kitchen { background: rgba(255, 250, 240, .14); color: var(--k-gold); }
.nak-experience-card.is-lead .nak-experience-card__go { color: #fffaf0; }
.nak-experience-card.is-lead .nak-experience-card__alt { color: rgba(255, 250, 240, .7); }
.nak-experience-card.is-lead:hover { color: #fffaf0; }

/* Shapes per page culture (the badge seat follows nak-icons.css). */
html[data-style="khmer"]  .nak-experience-card { border-radius: 2px; }
html[data-style="indian"] .nak-experience-card.is-lead { border-radius: 140px 140px var(--craft-r, 12px) var(--craft-r, 12px) / 60px 60px var(--craft-r, 12px) var(--craft-r, 12px); }
@media (max-width: 640px) {
	.nak-experience-card.is-lead { min-height: 0; }
	html[data-style="indian"] .nak-experience-card.is-lead { border-radius: 90px 90px 12px 12px / 40px 40px 12px 12px; }
}
@media (prefers-reduced-motion: reduce) {
	.nak-kfeature__dish a, .nak-experience-card__go .nak-ui-icon { transition: none; }
}

/* The placeholder's printed frame follows an arched or cut frame. */
.nak-kfeature--indian .nak-om-ph__frame,
html[data-style="indian"] .nak-om-card .nak-om-ph__frame,
html[data-style="indian"] .nak-om-feat .nak-om-ph__frame { border-radius: inherit; }

/* The Experiences page: the section breaks out of the page's reading column
   and drops article styling (underlined links, heading margins). */
.nak-prose .nak-experiences-page {
	width: 100vw; max-width: 100vw;
	margin: clamp(2rem, 4vw, 3rem) calc(50% - 50vw) 0;
}
.nak-prose .nak-experiences-page a { text-decoration: none; }
.nak-prose .nak-experiences-page .nak-experience-card__go { border-bottom: 1.5px solid currentColor; }
.nak-prose .nak-experiences-page h2,
.nak-prose .nak-experiences-page h3,
.nak-prose .nak-experiences-page p { margin-top: 0; }
.nak-prose .nak-experiences-page .nak-experience-card__title { margin-bottom: 0; }

/* =====================================================================
 * 1.25.0 — Product menu inside the kitchen feature
 * A printed menu card in the kitchen's hand: course tabs, two columns of
 * "name ······ price" lines with a thumbnail, tags and a "+" into the order.
 * ================================================================== */
.nak-kpm {
	position: relative;
	margin-top: clamp(2.25rem, 1.5rem + 3vw, 3.5rem);
	padding: clamp(1.25rem, .9rem + 1.6vw, 2.1rem);
	background: var(--nak-white);
	border: 1px solid var(--craft-hair, rgba(36, 16, 5, .12));
	border-top: 3px solid var(--k);
	border-radius: var(--craft-r, 8px);
	box-shadow: var(--craft-shadow);
}
.nak-kpm__head {
	display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between;
	gap: 1rem 2rem;
	padding-bottom: 1.1rem; margin-bottom: 1.1rem;
	border-bottom: 1px solid color-mix(in srgb, var(--k) 18%, transparent);
}
.nak-kpm__kicker {
	display: flex; align-items: center; gap: .45rem; margin: 0 0 .35rem;
	font: 700 .7rem/1 var(--nak-body); letter-spacing: .16em; text-transform: uppercase; color: var(--k);
}
.nak-kpm__kicker .nak-ui-icon { width: 16px; height: 16px; color: var(--k-gold); }
.nak-kpm__title {
	margin: 0;
	font-family: var(--nak-display); font-weight: var(--nak-disp-weight, 600);
	font-size: clamp(1.35rem, 1.1rem + 1vw, 1.85rem); line-height: 1.15; color: var(--nak-ink);
}

/* Course tabs */
.nak-kpm__tabs { display: flex; flex-wrap: wrap; gap: .4rem; }
.nak-kpm__tab {
	display: inline-flex; align-items: center; gap: .4rem;
	padding: .5rem .85rem;
	font: 600 .82rem/1 var(--nak-body); letter-spacing: .02em; color: var(--nak-ink);
	background: color-mix(in srgb, var(--k-soft) 70%, #fff);
	border: 1px solid color-mix(in srgb, var(--k) 16%, transparent);
	border-radius: 999px;
	cursor: pointer;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.nak-kpm__tab small { font-size: .72rem; font-weight: 700; opacity: .6; }
.nak-kpm__tab:hover { border-color: color-mix(in srgb, var(--k) 45%, transparent); }
.nak-kpm__tab:focus-visible { outline: 2px solid var(--k); outline-offset: 2px; }
.nak-kpm__tab.is-active { background: var(--k); border-color: var(--k); color: #fffaf0; }
.nak-kpm__tab.is-active small { opacity: .85; color: var(--k-gold); }

/* Dish lines */
.nak-kpm__list {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: clamp(1.25rem, .5rem + 3vw, 3rem);
}
.nak-kpm__list.is-swap { animation: nak-kpm-in .35s ease both; }
@keyframes nak-kpm-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.nak-kpm__item {
	position: relative;
	display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: .9rem; align-items: center;
	padding: .85rem .35rem;
	border-bottom: 1px dashed color-mix(in srgb, var(--nak-ink) 14%, transparent);
	border-radius: 6px;
	transition: background .2s ease;
}
.nak-kpm__item[hidden] { display: none; }
.nak-kpm__item:hover { background: color-mix(in srgb, var(--k-soft) 55%, transparent); }
.nak-kpm__hit { position: absolute; inset: 0; z-index: 1; padding: 0; border: 0; background: none; cursor: pointer; border-radius: inherit; }
.nak-kpm__hit:focus-visible { outline: 2px solid var(--k); outline-offset: 1px; }
.nak-kpm__media.nak-om-media { width: 64px; height: 64px; aspect-ratio: 1; border-radius: 8px; overflow: hidden; }
.nak-kpm__media.nak-om-media img { width: 100%; height: 100%; object-fit: cover; }
.nak-kpm__media .nak-om-ph__icon { width: 34px; height: 34px; }
.nak-kpm__media .nak-om-ph__frame { inset: 4px; }
.nak-kpm__body { min-width: 0; display: grid; gap: .2rem; }
.nak-kpm__line { display: flex; align-items: baseline; gap: .5rem; margin: 0; }
.nak-kpm__name { font-weight: 700; font-size: 1rem; line-height: 1.25; color: var(--nak-ink); }
.nak-kpm__dots { flex: 1 1 auto; min-width: 1rem; border-bottom: 2px dotted color-mix(in srgb, var(--k) 35%, transparent); transform: translateY(-3px); }
.nak-kpm__price { font-weight: 700; color: var(--k); white-space: nowrap; }
.nak-kpm__desc { margin: 0; font-size: .86rem; line-height: 1.45; color: var(--nak-ink-soft); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nak-kpm__tags { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; margin: .15rem 0 0; }
.nak-kpm__tags:empty { display: none; }
.nak-kpm__tag {
	padding: .18rem .45rem; border-radius: 4px;
	font-size: .66rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
	color: var(--nak-ink-soft); background: color-mix(in srgb, var(--nak-ink) 6%, transparent);
}
.nak-kpm__tag--pick { color: var(--k); background: color-mix(in srgb, var(--k-gold) 22%, transparent); }
.nak-kpm__add {
	position: relative; z-index: 2;
	display: grid; place-items: center;
	width: 40px; height: 40px; padding: 0;
	color: #fffaf0; background: var(--k);
	border: 0; border-radius: 50%;
	box-shadow: 0 4px 12px color-mix(in srgb, var(--k) 30%, transparent);
	cursor: pointer;
	transition: transform .2s ease, background .2s ease;
}
.nak-kpm__add .nak-ui-icon { stroke-width: 2.4; }
.nak-kpm__add:hover { transform: scale(1.08); }
.nak-kpm__add:focus-visible { outline: 2px solid var(--k); outline-offset: 3px; }
.nak-kpm__add.is-pop { animation: nak-kpm-pop .35s ease; }
@keyframes nak-kpm-pop { 50% { transform: scale(1.22); } }
.nak-kpm__qty {
	position: absolute; top: -5px; right: -5px;
	min-width: 20px; height: 20px; padding: 0 5px; box-sizing: border-box;
	display: grid; place-items: center;
	font: 700 .7rem/1 var(--nak-body); color: var(--k); background: var(--k-gold);
	border: 2px solid var(--nak-white); border-radius: 999px;
}
.nak-kpm__qty[hidden] { display: none; }

.nak-kpm__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1.5rem; margin-top: 1.25rem; }
.nak-kpm__all {
	display: inline-flex; align-items: center; gap: .45rem;
	font-weight: 700; color: var(--k); text-decoration: none;
	border-bottom: 1.5px solid currentColor; padding-bottom: 2px;
}
.nak-kpm__all .nak-ui-icon { width: 16px; height: 16px; transition: transform .2s ease; }
.nak-kpm__all:hover .nak-ui-icon { transform: translateX(3px); }
.nak-kpm__hint { font-size: .8rem; color: var(--nak-ink-soft); }

/* Each kitchen's hand */
.nak-kpm--indian .nak-kpm__media.nak-om-media { border-radius: 32px 32px 6px 6px / 26px 26px 6px 6px; } /* temple arch */
.nak-kpm--indian::after {                                                                           /* marigold corner */
	content: ""; position: absolute; top: -3px; right: clamp(1rem, 3vw, 2rem); width: 56px; height: 7px;
	background: repeating-linear-gradient(90deg, var(--k-gold) 0 7px, transparent 7px 11px); border-radius: 0 0 4px 4px;
}
.nak-kpm--khmer { border-radius: 2px; }
.nak-kpm--khmer .nak-kpm__media.nak-om-media { border-radius: 1px; outline: 1px solid rgba(255, 250, 240, .75); outline-offset: -4px; }
.nak-kpm--khmer .nak-kpm__tab { border-radius: 2px; }
.nak-kpm--khmer .nak-kpm__title { text-transform: uppercase; letter-spacing: .04em; font-size: clamp(1.15rem, 1rem + .8vw, 1.5rem); }
.nak-kpm--khmer .nak-kpm__head { border-bottom: 3px double color-mix(in srgb, var(--k) 30%, transparent); }
.nak-kpm--fusion .nak-kpm__media.nak-om-media { border-radius: 50%; }

@media (max-width: 900px) {
	.nak-kpm__list { grid-template-columns: 1fr; }
	.nak-kpm__head { align-items: flex-start; }
	.nak-kpm__tabs { flex-wrap: nowrap; overflow-x: auto; max-width: 100%; padding-bottom: 4px; scrollbar-width: none; }
	.nak-kpm__tabs::-webkit-scrollbar { display: none; }
	.nak-kpm__tab { flex: 0 0 auto; }
}
@media (max-width: 480px) {
	.nak-kpm__item { grid-template-columns: 56px minmax(0, 1fr) auto; gap: .7rem; }
	.nak-kpm__media.nak-om-media { width: 56px; height: 56px; }
}
@media (prefers-reduced-motion: reduce) {
	.nak-kpm__list.is-swap, .nak-kpm__add.is-pop { animation: none; }
}

/* =====================================================================
 * 1.25.1 — Fit fixes (Fusion "The Crossing Kitchen" first)
 * ================================================================== */

/* Fusion orbits: sized and pinned to the story/plates band, never down
   through the product menu below (the section grew in 1.25.0). */
.nak-kfeature--fusion::before {
	top: clamp(2rem, 4vw, 4rem); right: -8%;
	width: min(560px, 48%); transform: none;
	outline-offset: 34px;
	z-index: 0;
}
.nak-kfeature__grid, .nak-kfeature .nak-kpm { position: relative; z-index: 1; }

/* No dishes for this kitchen yet: one band — story left, the three ways right. */
.nak-kfeature__grid--solo { grid-template-columns: 1fr; }
@media (min-width: 901px) {
	.nak-kfeature__grid--solo .nak-kfeature__story {
		display: grid;
		grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
		grid-template-areas: "kicker ways" "title ways" "lede ways" "actions ways";
		column-gap: clamp(2rem, 1rem + 4vw, 5rem);
		align-items: start;
	}
	.nak-kfeature__grid--solo .nak-kfeature__kicker  { grid-area: kicker; }
	.nak-kfeature__grid--solo .nak-kfeature__title   { grid-area: title; }
	.nak-kfeature__grid--solo .nak-kfeature__lede    { grid-area: lede; }
	.nak-kfeature__grid--solo .nak-kfeature__actions { grid-area: actions; }
	.nak-kfeature__grid--solo .nak-kfeature__ways {
		grid-area: ways; align-self: center; margin: 0;
		padding: clamp(1.1rem, 2vw, 1.6rem);
		background: color-mix(in srgb, var(--nak-white) 70%, transparent);
		border: 1px solid var(--craft-hair, rgba(36, 16, 5, .12));
		border-radius: var(--craft-r, 8px);
	}
}

/* Kicker: on narrow screens the house name drops to its own line without
   the leading divider ("| The Crossing Kitchen" looked broken). */
@media (max-width: 560px) {
	.nak-kfeature__kicker { gap: .35rem .6rem; }
	.nak-kfeature__name { flex-basis: 100%; padding-left: calc(30px + .6rem); border-left: 0; }
}

/* Product menu lines on phones: name gets the full width, price stays on
   the first line, no squeezed dotted leader. */
@media (max-width: 560px) {
	.nak-kpm { padding: 1rem .9rem; }
	.nak-kpm__item { grid-template-columns: 52px minmax(0, 1fr) 38px; gap: .7rem; padding: .8rem .1rem; align-items: start; }
	.nak-kpm__media.nak-om-media { width: 52px; height: 52px; }
	.nak-kpm__line { justify-content: space-between; gap: .6rem; }
	.nak-kpm__dots { display: none; }
	.nak-kpm__name { font-size: .95rem; }
	.nak-kpm__price { font-size: .95rem; }
	.nak-kpm__add { width: 38px; height: 38px; align-self: center; }
	.nak-kpm__tabs { margin-inline: -.9rem; padding-inline: .9rem; max-width: none; width: calc(100% + 1.8rem); }
	.nak-kpm__foot { flex-direction: column; align-items: flex-start; }
}
