/* Personal Chef — core stylesheet. RTL-first, accessible, token-driven.
   Loaded on every page. Homepage-only showcase lives in home.css. */

:root {
	/* Warm premium palette — espresso + gold + cream (no purple).
	   --gold and --plum are overridable live from the Customizer. */
	--gold: #C08A1E;
	--gold-dark: #9A6D12;
	--gold-soft: #F5E7C6;
	--plum: #211A14;          /* espresso — headings + dark bands */
	--plum-soft: #4A3B2C;     /* warm brown — secondary text */
	--ink: #2A231C;
	--muted-text: #746457;
	--cream: #FAF6EF;
	--line: #ECE4D8;
	--muted: #CFC6B8;
	--white: #FFFFFF;

	--font: 'Heebo', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
	--display: 'Frank Ruhl Libre', Georgia, serif;

	--container: 1180px;
	--radius: 14px;
	--radius-sm: 9px;
	--shadow: 0 6px 24px rgba(33, 26, 20, .10);
	--shadow-lg: 0 18px 48px rgba(33, 26, 20, .16);
	--gap: clamp(1rem, 2.5vw, 1.75rem);
	--focus: 0 0 0 3px rgba(201, 154, 4, .45);
}

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: var(--font);
	font-size: 1rem;
	line-height: 1.65;
	color: var(--ink);
	background: var(--white);
	direction: rtl;
	text-align: right;
	overflow-x: hidden;
}
h1, h2, h3, h4 { font-family: var(--display); font-weight: 600; line-height: 1.2; color: var(--plum); margin: 0 0 .5em; }
p { margin: 0 0 1em; }
a { color: var(--gold-dark); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; display: block; }
ul, ol { padding-inline-start: 1.2em; }

/* ---------- accessibility ---------- */
.pc-skip {
	position: absolute; right: 1rem; top: -60px; z-index: 999;
	background: var(--plum); color: #fff; padding: .7rem 1.2rem; border-radius: 0 0 var(--radius-sm) var(--radius-sm);
	transition: top .2s ease;
}
.pc-skip:focus { top: 0; text-decoration: none; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: none; box-shadow: var(--focus); border-radius: var(--radius-sm);
}
.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ---------- layout ---------- */
.pc-main { display: block; }
.pc-section, .pc-archive, .pc-page, .pc-chef, .pc-recipe, .pc-taxpage, .pc-panel, .pc-404 {
	max-width: var(--container); margin-inline: auto; padding: clamp(2rem, 5vw, 3.5rem) clamp(1rem, 4vw, 2rem);
}
.pc-grid { display: grid; gap: var(--gap); }
.pc-grid--cards { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }

/* ---------- header ---------- */
.pc-header {
	position: sticky; top: 0; z-index: 100;
	background: rgba(255,255,255,.92); backdrop-filter: saturate(1.4) blur(8px);
	border-bottom: 1px solid var(--line);
}
/* Referral strip — chefs bringing chefs. Sits above the header. */
.pc-refbar { background: linear-gradient(90deg, var(--plum), var(--plum-soft)); color: #fff; }
.pc-refbar__inner {
	max-width: var(--container); margin-inline: auto; padding: .5rem clamp(1rem, 4vw, 2rem);
	display: flex; align-items: center; justify-content: center; gap: .75rem;
	flex-wrap: wrap; text-align: center; font-size: .92rem;
}
.pc-refbar__text { opacity: .95; }
.pc-refbar__cta {
	color: var(--plum); background: var(--gold); border-radius: 999px; padding: .2rem .85rem;
	font-weight: 700; text-decoration: none; white-space: nowrap;
}
.pc-refbar__cta:hover { background: var(--gold-soft); text-decoration: none; }
.pc-refbar__cta:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(255,255,255,.75); }

/* Flex row: brand | nav (grows, centred) | actions. The menu stays on ONE line
   (nowrap); the dropdowns hold the depth, so more items never break the row. */
.pc-header__inner {
	max-width: var(--container); margin-inline: auto; padding: .55rem clamp(1rem, 4vw, 2rem);
	display: flex; align-items: center; gap: 1rem;
}
.pc-brand { flex: 0 0 auto; }
.pc-header__actions { flex: 0 0 auto; display: flex; align-items: center; gap: .6rem; }
.pc-brand__link, .custom-logo-link { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; }
.pc-brand__logo, .custom-logo { height: 50px; width: auto; max-width: 170px; object-fit: contain; display: block; }
.custom-logo-link { display: inline-flex; }
.pc-brand__name { font-family: var(--display); font-weight: 700; color: var(--plum); font-size: 1.1rem; }
.pc-nav { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; justify-content: center; }
.pc-menu {
	display: flex; flex-wrap: nowrap; align-items: center;
	gap: clamp(.45rem, 1.3vw, 1.35rem); list-style: none; margin: 0; padding: 0;
}
.pc-menu > li { flex: 0 0 auto; }
.pc-menu a { color: var(--plum); font-weight: 500; font-size: .96rem; padding: .45rem 0; position: relative; white-space: nowrap; }
.pc-menu a:hover { color: var(--gold-dark); text-decoration: none; }
.pc-menu .current-menu-item > a { color: var(--gold-dark); font-weight: 700; }
.pc-navtoggle, .pc-navclose { display: none; }

/* ---------- buttons ---------- */
.pc-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	min-height: 44px; padding: .6rem 1.25rem; border-radius: 999px;
	font-family: var(--font); font-weight: 500; font-size: 1rem; line-height: 1;
	border: 1.5px solid var(--plum); background: var(--white); color: var(--plum);
	cursor: pointer; text-decoration: none; transition: transform .15s ease, background .15s ease, color .15s ease, box-shadow .15s ease;
}
.pc-btn:hover { text-decoration: none; transform: translateY(-1px); }
.pc-btn--gold { background: var(--gold); border-color: var(--gold); color: #241a00; }
.pc-btn--gold:hover { background: var(--gold-dark); border-color: var(--gold-dark); color: #fff; }
.pc-btn--ghost { background: transparent; }
.pc-btn--ghost:hover { background: var(--plum); color: #fff; }
.pc-btn--lg { min-height: 52px; padding: .85rem 1.8rem; font-size: 1.05rem; }
/* Header-sized. Still 44px tall — touch target stays legal. */
.pc-btn--sm { min-height: 44px; padding: .4rem 1rem; font-size: .92rem; }
.pc-btn--wa { background: #25D366; border-color: #25D366; color: #04310f; }
.pc-btn--wa:hover { background: #1eb457; border-color: #1eb457; color: #fff; }
.pc-ico { flex: none; }

/* ---------- cards ---------- */
.pc-card {
	background: var(--white); border: 1px solid var(--line); border-radius: var(--radius);
	overflow: hidden; display: flex; flex-direction: column; box-shadow: var(--shadow);
	transition: transform .18s ease, box-shadow .18s ease;
}
.pc-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.pc-card__media { display: block; aspect-ratio: 4 / 3; background: var(--cream); overflow: hidden; }
.pc-card__img { width: 100%; height: 100%; object-fit: cover; }
.pc-card__placeholder { display: block; width: 100%; height: 100%;
	background: linear-gradient(135deg, var(--gold-soft), var(--cream)); }
.pc-card__body { padding: 1rem 1.15rem 1.15rem; display: flex; flex-direction: column; gap: .4rem; }
.pc-card__title { font-size: 1.2rem; margin: 0; }
.pc-card__title a { color: var(--plum); }
.pc-card__meta { color: var(--muted-text); font-size: .9rem; margin: 0; display: flex; gap: .75rem; flex-wrap: wrap; }
.pc-card__excerpt { color: var(--ink); font-size: .95rem; margin: 0; }
.pc-readmore { margin-top: .3rem; font-weight: 500; color: var(--gold-dark); display: inline-flex; align-items: center; gap: .3rem; }

/* ---------- badges (kosher/dietary) ---------- */
.pc-badges { display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; margin: .4rem 0 0; padding: 0; }
.pc-badge {
	display: inline-flex; align-items: center; gap: .35rem;
	font-size: .78rem; font-weight: 500; padding: .25rem .6rem; border-radius: 999px;
	background: color-mix(in srgb, var(--pc-badge) 12%, white);
	color: color-mix(in srgb, var(--pc-badge) 78%, black);
	border: 1px solid color-mix(in srgb, var(--pc-badge) 35%, white);
}
.pc-badge__dot { width: .5rem; height: .5rem; border-radius: 50%; background: var(--pc-badge); flex: none; }

/* ---------- section heads ---------- */
.pc-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; flex-wrap: wrap; }
.pc-section__title { font-size: clamp(1.4rem, 3vw, 2rem); margin: 0; }
.pc-section__more { font-weight: 500; white-space: nowrap; }

/* ---------- chips ---------- */
.pc-chips { display: flex; flex-wrap: wrap; gap: .6rem; list-style: none; margin: 0; padding: 0; }
.pc-chip { display: inline-block; padding: .5rem 1.1rem; border-radius: 999px; background: var(--cream); border: 1px solid var(--line); color: var(--plum); font-weight: 500; }
.pc-chip:hover { background: var(--gold-soft); text-decoration: none; }

/* ---------- promo ---------- */
.pc-promo {
	max-width: var(--container); margin: 2rem auto; padding: 1.25rem clamp(1rem, 4vw, 2rem);
	display: flex; gap: 1.25rem; align-items: center; flex-wrap: wrap;
	background: linear-gradient(120deg, var(--plum), var(--plum-soft)); color: #fff; border-radius: var(--radius);
}
.pc-promo__img { flex: none; width: 160px; border-radius: var(--radius-sm); overflow: hidden; }
.pc-promo__body { flex: 1 1 240px; }
.pc-promo__title { font-family: var(--display); font-size: 1.3rem; margin: 0 0 .3rem; color: #fff; }
.pc-promo__text { margin: 0 0 .8rem; opacity: .92; }
.pc-promo .pc-btn--gold { color: #241a00; }

/* ---------- chef page ---------- */
.pc-chef__hero { display: flex; gap: clamp(1rem, 4vw, 2.5rem); align-items: center; flex-wrap: wrap; margin: 1rem 0 2rem; }
.pc-chef__avatar { flex: none; width: 180px; height: 180px; border-radius: 50%; overflow: hidden; background: var(--cream); box-shadow: var(--shadow); }
.pc-chef__avatar img, .pc-avatar-fallback { width: 100%; height: 100%; object-fit: cover; }
.pc-avatar-fallback { background: linear-gradient(135deg, var(--gold-soft), var(--cream)); }
.pc-chef__intro { flex: 1 1 300px; }
.pc-chef__name { font-size: clamp(1.8rem, 5vw, 2.8rem); margin: 0 0 .2rem; }
.pc-chef__region { color: var(--muted-text); margin: 0 0 .5rem; }
.pc-chef__tagline { font-size: 1.15rem; color: var(--plum-soft); }
.pc-chef__actions { display: flex; gap: .6rem; margin-top: 1rem; flex-wrap: wrap; }
.pc-chef__recipes { margin-top: 2.5rem; }

/* ---------- chef page banner + extras ---------- */
.pc-chef__banner {
	color: #fff;
	background:
		radial-gradient(1000px 400px at 85% -30%, rgba(201,154,4,.3), transparent 60%),
		linear-gradient(120deg, var(--plum), var(--plum-soft));
}
.pc-chef__banner--image { background-size: cover; background-position: center; }
.pc-chef__banner-inner {
	max-width: var(--container); margin-inline: auto;
	padding: clamp(1rem, 3vw, 1.5rem) clamp(1rem, 4vw, 2rem) clamp(2rem, 5vw, 3.5rem);
	min-height: clamp(360px, 48vh, 500px); display: flex; flex-direction: column; justify-content: flex-end;
}
.pc-chef__banner .pc-crumbs ol { color: rgba(255,255,255,.8); margin-bottom: auto; }
.pc-chef__banner .pc-crumbs a, .pc-chef__banner .pc-crumbs [aria-current="page"] { color: #fff; }
.pc-chef__banner .pc-chef__name { color: #fff; text-shadow: 0 2px 18px rgba(0,0,0,.5); }
.pc-chef__banner .pc-chef__rest { color: var(--gold-soft); }
.pc-chef__banner .pc-chef__region { color: rgba(255,255,255,.88); }
.pc-chef__banner .pc-chef__tagline { color: #fff; text-shadow: 0 1px 12px rgba(0,0,0,.45); }
.pc-chef__banner .pc-btn--ghost { border-color: #fff; color: #fff; }
.pc-chef__banner .pc-btn--ghost:hover { background: #fff; color: var(--plum); }
.pc-chef__banner .pc-share__label { color: rgba(255,255,255,.85); }
.pc-chef__banner .pc-share__btn { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.35); color: #fff; }
.pc-chef__banner .pc-share__btn:hover { background: var(--gold); border-color: var(--gold); color: #241a00; }
.pc-chef__hero { margin: 0; }
.pc-chef__avatar { border: 5px solid rgba(255,255,255,.9); box-shadow: 0 8px 30px rgba(0,0,0,.3); }
.pc-chef__share-sec { margin-top: 2.5rem; }
.pc-chef__share-row { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.pc-chef__qr { border-radius: var(--radius-sm); background: #fff; padding: 6px; box-shadow: var(--shadow); }
.pc-chef__rest { font-weight: 700; color: var(--gold-dark); margin: 0 0 .2rem; }
.pc-chef__cols { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 4vw, 3rem); margin: 2.5rem 0; }
.pc-menu-list, .pc-price-list { list-style: none; padding: 0; margin: 0; }
.pc-menu-list li, .pc-price-list li { padding: .7rem 0; border-bottom: 1px dashed var(--line); }
.pc-price-list li { display: flex; justify-content: space-between; gap: 1rem; font-weight: 500; }

/* ---------- dish gallery (responsive, mobile-first) ---------- */
/* ---------- dish gallery: every dish named, described, tagged ---------- */
.pc-dishgal { margin: 2.5rem 0; }
.pc-dishgal__grid {
	list-style: none; padding: 0; margin: 0;
	display: grid; gap: var(--gap); grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr));
}
.pc-dishgal__item { margin: 0; }
.pc-dishgal__fig {
	margin: 0; height: 100%; display: flex; flex-direction: column; overflow: hidden;
	background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow);
	transition: transform .25s ease, box-shadow .25s ease;
}
.pc-dishgal__fig:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.pc-dishgal__media { position: relative; aspect-ratio: 4 / 3; background: var(--cream); overflow: hidden; }
.pc-dishgal__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.pc-dishgal__fig:hover .pc-dishgal__img { transform: scale(1.05); }
/* Tags sit on a scrim so they stay readable over any photo. */
.pc-dishgal__tags {
	position: absolute; inset-block-end: 0; inset-inline: 0; margin: 0; padding: 1.75rem .7rem .7rem;
	list-style: none; display: flex; flex-wrap: wrap; gap: .35rem;
	background: linear-gradient(to top, rgba(33,26,20,.78), transparent);
}
.pc-dishgal__tag {
	background: var(--gold); color: #241a00; font-size: .74rem; font-weight: 700;
	padding: .16rem .6rem; border-radius: 999px; line-height: 1.5;
}
.pc-dishgal__cap { padding: 1rem 1.1rem 1.2rem; display: flex; flex-direction: column; gap: .35rem; }
.pc-dishgal__name { margin: 0; font-family: var(--display); font-weight: 700; font-size: 1.12rem; color: var(--plum); }
.pc-dishgal__desc { margin: 0; color: var(--muted-text); font-size: .93rem; line-height: 1.6; }
@media (prefers-reduced-motion: reduce) {
	.pc-dishgal__fig, .pc-dishgal__img { transition: none; }
	.pc-dishgal__fig:hover { transform: none; }
	.pc-dishgal__fig:hover .pc-dishgal__img { transform: none; }
}

/* ---------- dish slot editor (chef panel + admin meta box) ----------
   Clean vertical cards in a responsive grid: image on top, then name /
   description / category. No sprawl — fills the width tidily. */
.pc-dishes {
	display: grid; gap: 1rem; margin: 1rem 0 1.5rem;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr));
}
.pc-dish {
	display: flex; flex-direction: column; gap: .7rem;
	background: var(--cream); border: 1px solid var(--line); border-radius: var(--radius); padding: .85rem;
}
.pc-dish__media { position: relative; }
.pc-dish__slot {
	position: absolute; inset-block-start: 6px; inset-inline-start: 6px; z-index: 1;
	width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center;
	background: var(--gold); color: #241a00; font-weight: 700; font-size: .8rem; box-shadow: 0 2px 6px rgba(0,0,0,.3);
}
.pc-dish__prev img, .pc-dish__empty {
	width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius-sm); display: block;
}
.pc-dish__empty {
	display: grid; place-items: center; background: #fff;
	border: 1px dashed var(--muted); color: var(--muted-text); font-size: .85rem;
}
.pc-dish__btns { display: flex; gap: .4rem; margin-top: .5rem; flex-wrap: wrap; }
.pc-dish__upload { margin-top: .5rem; }
.pc-dish__upload input[type="file"] { width: 100%; font-size: .8rem; }
.pc-dish__upload .pc-hint { margin: .3rem 0 0; font-size: .76rem; }
.pc-dish__fields p { margin: 0 0 .55rem; }
.pc-dish__fields input, .pc-dish__fields textarea, .pc-dish__fields select { font-size: .9rem; }
.pc-dish__taxes { display: grid; grid-template-columns: 1fr; gap: .5rem; }

/* ---------- share ---------- */
.pc-share { display: flex; align-items: center; gap: .5rem; margin-top: 1rem; flex-wrap: wrap; }
.pc-share__label { font-size: .9rem; color: var(--muted-text); }
.pc-share__btn {
	display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
	border: 1.5px solid var(--line); background: #fff; color: var(--plum); cursor: pointer; position: relative;
	transition: background .15s ease, color .15s ease, transform .15s ease;
}
.pc-share__btn:hover { background: var(--gold); border-color: var(--gold); color: #241a00; transform: translateY(-2px); text-decoration: none; }
.pc-share__copied { position: absolute; top: -1.8rem; right: 50%; transform: translateX(50%); background: var(--plum); color: #fff; font-size: .7rem; padding: .15rem .5rem; border-radius: 6px; white-space: nowrap; }

/* ---------- recipe page ---------- */
.pc-recipe__title { font-size: clamp(1.8rem, 5vw, 2.8rem); }
.pc-recipe__media { margin: 1rem 0 1.5rem; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); }
.pc-recipe__media img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.pc-recipe__lead { font-size: 1.2rem; color: var(--plum-soft); }
.pc-recipe__facts { display: flex; flex-wrap: wrap; gap: 1.5rem; list-style: none; padding: 1rem 1.25rem; margin: 1.5rem 0; background: var(--cream); border-radius: var(--radius); }
.pc-recipe__facts li { display: flex; flex-direction: column; }
.pc-fact__k { font-size: .8rem; color: var(--muted-text); }
.pc-fact__v { font-weight: 700; color: var(--plum); font-size: 1.15rem; }
.pc-recipe__grid { display: grid; grid-template-columns: 1fr 1.6fr; gap: clamp(1.5rem, 4vw, 3rem); margin: 2rem 0; }
.pc-ings { list-style: none; padding: 0; }
.pc-ings li { padding: .6rem 0; border-bottom: 1px dashed var(--line); }
.pc-steps { padding-inline-start: 0; list-style: none; counter-reset: step; }
.pc-steps li { position: relative; padding: 0 3rem 1.25rem 0; counter-increment: step; }
.pc-steps li::before {
	content: counter(step); position: absolute; right: 0; top: 0;
	width: 2rem; height: 2rem; border-radius: 50%; background: var(--gold); color: #241a00;
	display: grid; place-items: center; font-weight: 700; font-family: var(--display);
}
.pc-byline { display: flex; align-items: center; gap: .75rem; margin: 1rem 0; }
.pc-byline__avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.pc-byline__label { display: block; font-size: .8rem; color: var(--muted-text); }
.pc-byline__name { font-weight: 700; color: var(--plum); }
.pc-recipe__chefcta { margin-top: 2.5rem; padding: 1.75rem; background: var(--cream); border-radius: var(--radius); text-align: center; }
.pc-recipe__chefcta-actions { display: flex; gap: .6rem; justify-content: center; flex-wrap: wrap; }

/* ---------- breadcrumbs ---------- */
.pc-crumbs ol { display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; padding: 0; margin: 0 0 1rem; font-size: .9rem; color: var(--muted-text); }
.pc-crumbs li:not(:last-child)::after { content: '‹'; margin-inline-start: .4rem; color: var(--muted); }
.pc-crumbs [aria-current="page"] { color: var(--plum); font-weight: 500; }

/* ---------- archive + filters ---------- */
.pc-archive__title { font-size: clamp(1.8rem, 5vw, 2.6rem); }
.pc-archive__sub { color: var(--muted-text); font-size: 1.1rem; }
.pc-filters { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin: 1.5rem 0 2rem; padding: 1rem; background: var(--cream); border-radius: var(--radius); }
.pc-filters select { min-height: 44px; padding: 0 1rem; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; font-family: var(--font); font-size: 1rem; color: var(--ink); }
.pc-filters__reset { color: var(--muted-text); }
.pc-pagination { display: flex; justify-content: center; margin-top: 2.5rem; }
.pc-pagination .page-numbers { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0 .5rem; margin: 0 .2rem; border-radius: var(--radius-sm); border: 1px solid var(--line); color: var(--plum); }
.pc-pagination .current { background: var(--gold); border-color: var(--gold); color: #241a00; font-weight: 700; }
.pc-empty { text-align: center; color: var(--muted-text); padding: 3rem 1rem; }

/* ---------- taxonomy landing ---------- */
.pc-taxpage__eyebrow { color: var(--gold-dark); font-weight: 600; letter-spacing: .04em; }
.pc-taxpage__title { font-size: clamp(2rem, 6vw, 3rem); }
.pc-taxpage__intro { max-height: 5.4em; overflow: hidden; position: relative; transition: max-height .3s ease; }
.pc-taxpage__intro.is-open { max-height: 200em; }
.pc-readmore-toggle { background: none; border: 0; color: var(--gold-dark); font-weight: 600; cursor: pointer; padding: .4rem 0; font-size: 1rem; }
.pc-taxpage__chefs, .pc-taxpage__recipes { margin-top: 2.5rem; }

/* ---------- forms / panel ---------- */
.pc-form { display: block; max-width: 640px; }
.pc-field { margin-bottom: 1.1rem; }
.pc-field label { display: block; font-weight: 500; margin-bottom: .35rem; color: var(--plum); }
.pc-field input, .pc-field textarea, .pc-field select {
	width: 100%; min-height: 46px; padding: .6rem .85rem; font-family: var(--font); font-size: 1rem;
	border: 1.5px solid var(--line); border-radius: var(--radius-sm); background: #fff; color: var(--ink);
}
.pc-field textarea { min-height: 96px; resize: vertical; }
.pc-check label { display: flex; gap: .5rem; align-items: flex-start; font-weight: 400; }
.pc-check input { width: auto; min-height: 0; margin-top: .3rem; }
.pc-hint { font-size: .85rem; color: var(--muted-text); margin: .3rem 0 0; }
.pc-hint--lead { font-size: .95rem; color: var(--plum-soft); background: var(--gold-soft); border-radius: var(--radius-sm); padding: .7rem .9rem; margin: 0 0 1rem; }
.pc-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.pc-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.pc-alert { padding: .85rem 1.1rem; border-radius: var(--radius-sm); margin-bottom: 1rem; border: 1px solid var(--line); background: var(--cream); }
.pc-alert--ok { border-color: #b6e0c0; background: #eefbf1; color: #1c5a2e; }
.pc-alert--err { border-color: #f0c2c2; background: #fdeeee; color: #8a1f1f; }
.pc-note { color: var(--muted-text); }

/* ---------- registration LANDING (full-bleed) ---------- */
/* The landing wrapper resets the page frame so sections run edge to edge. */
.pc-landing { width: 100%; }

/* Hero: full-width, tall, desktop image with a mobile swap, dark veil. */
.pc-reghero {
	position: relative; overflow: hidden;
	min-height: clamp(360px, 62vh, 620px);
	display: grid; place-items: center; text-align: center;
	padding: clamp(3rem, 9vw, 6rem) clamp(1.25rem, 5vw, 2rem);
	color: #fff;
	background:
		radial-gradient(800px 460px at 78% -10%, rgba(201,154,4,.4), transparent 60%),
		linear-gradient(155deg, var(--plum), var(--plum-soft));
}
.pc-reghero--img { background: var(--plum); }
.pc-reghero--img::before {
	content: ''; position: absolute; inset: 0; z-index: 0;
	background-image: var(--reg-img); background-size: cover; background-position: center;
}
.pc-reghero--img::after {
	content: ''; position: absolute; inset: 0; z-index: 1;
	background: linear-gradient(160deg,
		rgba(33, 26, 20, var(--reg-veil, .62)),
		rgba(33, 26, 20, calc(var(--reg-veil, .62) * .82))),
		radial-gradient(700px 360px at 80% 0%, rgba(201,154,4,.3), transparent 60%);
}
.pc-reghero__inner { position: relative; z-index: 2; max-width: 760px; }
.pc-reghero__eyebrow {
	margin: 0 0 .85rem; letter-spacing: .16em; font-size: .8rem; font-weight: 700;
	text-transform: uppercase; color: var(--gold-soft);
}
.pc-reghero__title {
	color: #fff; font-family: var(--display); margin: 0 0 1rem;
	font-size: clamp(2.1rem, 6vw, 3.8rem); line-height: 1.12;
	text-shadow: 0 2px 20px rgba(0,0,0,.4);
}
.pc-reghero__sub {
	margin: 0 auto 2rem; max-width: 56ch; font-size: clamp(1.02rem, 2.2vw, 1.25rem);
	opacity: .96; text-shadow: 0 1px 12px rgba(0,0,0,.35);
}
@media (max-width: 768px) {
	.pc-reghero--img::before { background-image: var(--reg-img-m, var(--reg-img)); }
}

/* Value bands: full-width alternating backgrounds, centred content. */
.pc-regval { padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1rem, 4vw, 2rem); }
.pc-regval--gain { background: var(--white); }
.pc-regval--what { background: var(--cream); }
.pc-regval__inner { max-width: var(--container); margin-inline: auto; }
.pc-regval__title {
	font-family: var(--display); font-size: clamp(1.6rem, 3.6vw, 2.3rem);
	margin: 0 0 1.75rem; text-align: center; color: var(--plum);
}
.pc-regval__grid {
	list-style: none; padding: 0; margin: 0;
	display: grid; gap: var(--gap); grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.pc-regval__item {
	display: flex; gap: 1rem; align-items: flex-start;
	background: var(--white); border: 1px solid var(--line); border-radius: var(--radius);
	padding: 1.5rem 1.4rem; box-shadow: var(--shadow);
}
.pc-regval--what .pc-regval__item { background: var(--white); }
.pc-regval__num {
	flex: none; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center;
	background: linear-gradient(135deg, var(--gold), var(--gold-dark)); color: #241a00;
	font-family: var(--display); font-weight: 700;
}
.pc-regval__head { margin: .2rem 0 .4rem; font-weight: 700; color: var(--plum); font-size: 1.08rem; }
.pc-regval__text { margin: 0; color: var(--muted-text); font-size: .96rem; line-height: 1.6; }
.pc-regval__note {
	margin: 1.75rem auto 0; max-width: 68ch; text-align: center; color: var(--plum-soft);
	background: var(--gold-soft); border-radius: var(--radius-sm); padding: 1rem 1.35rem; font-size: 1rem; font-weight: 500;
}

/* Form band + trailing ad. */
.pc-regform { padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1rem, 4vw, 2rem); background: var(--white); }
.pc-regads { max-width: var(--container); margin: 0 auto clamp(2rem, 5vw, 3rem); padding-inline: clamp(1rem, 4vw, 2rem); }

/* ---------- join / registration (chef recruitment) ---------- */
.pc-join {
	display: grid; grid-template-columns: 1.05fr .95fr; gap: 0; align-items: stretch;
	max-width: 1080px; margin-inline: auto; border-radius: var(--radius); overflow: hidden;
	box-shadow: var(--shadow-lg); border: 1px solid var(--line);
}
.pc-join__pitch {
	position: relative; overflow: hidden; color: #fff;
	background:
		radial-gradient(600px 320px at 85% 0%, rgba(201,154,4,.35), transparent 60%),
		linear-gradient(155deg, var(--plum), var(--plum-soft));
	padding: clamp(2rem, 5vw, 3.25rem); display: flex; flex-direction: column; justify-content: center;
}
.pc-join__pitch::after {
	content: ''; position: absolute; inset: auto -30% -40% auto; width: 320px; height: 320px; border-radius: 50%;
	background: radial-gradient(closest-side, rgba(201,154,4,.3), transparent 70%); filter: blur(22px); pointer-events: none;
}
.pc-join__title { color: #fff; font-size: clamp(1.9rem, 4.5vw, 2.7rem); margin: 0 0 .5rem; position: relative; }
.pc-join__lead { opacity: .95; font-size: 1.1rem; margin-bottom: 1.75rem; position: relative; }
.pc-join__steps { list-style: none; padding: 0; margin: 0 0 1.75rem; display: grid; gap: 1rem; position: relative; }
.pc-join__steps li { display: flex; align-items: center; gap: .85rem; font-weight: 500; font-size: 1.05rem; }
.pc-join__steps span {
	flex: none; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center;
	background: linear-gradient(135deg, var(--gold), var(--gold-dark)); color: #241a00;
	font-family: var(--display); font-weight: 700; box-shadow: 0 4px 14px rgba(0,0,0,.25);
}
.pc-join__benefits { list-style: none; padding: 0; margin: 0; display: grid; gap: .7rem; position: relative; }
.pc-join__benefits li { position: relative; padding-inline-start: 2rem; opacity: .96; }
.pc-join__benefits li::before {
	content: '✓'; position: absolute; inset-inline-start: 0; top: .05em; width: 1.35rem; height: 1.35rem;
	background: var(--gold); color: #241a00; border-radius: 50%; display: grid; place-items: center; font-size: .8rem; font-weight: 700;
}
.pc-join__form { background: #fff; padding: clamp(1.5rem, 4vw, 2.5rem); display: flex; flex-direction: column; justify-content: center; }
.pc-join__form .pc-form, .pc-join__form .pc-register { max-width: none; }
@media (max-width: 760px) { .pc-join { grid-template-columns: 1fr; } .pc-join__pitch { order: 2; } }

.pc-panel__status { padding: 1rem 1.25rem; border-radius: var(--radius); background: var(--cream); margin-bottom: 1.5rem; border-inline-start: 4px solid var(--gold); }
.pc-status--limited { border-inline-start-color: #c98a04; background: #fff7e6; }
.pc-status--trial { border-inline-start-color: var(--gold); }
.pc-panel__section { margin: 1.5rem 0; padding: clamp(1.25rem, 3vw, 2rem); background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.pc-panel__section > h2:first-child { margin-top: 0; }
.pc-count { display: inline-grid; place-items: center; min-width: 1.8em; height: 1.8em; padding: 0 .4em; border-radius: 999px; background: var(--gold-soft); color: var(--plum); font-size: .85rem; vertical-align: middle; }
.pc-adder { margin: 1rem 0 1.5rem; }
.pc-adder summary { display: inline-flex; list-style: none; }
.pc-adder summary::-webkit-details-marker { display: none; }
.pc-adder[open] summary { margin-bottom: 1rem; }
.pc-recipe-list { list-style: none; padding: 0; }
.pc-recipe-list li { display: flex; justify-content: space-between; gap: 1rem; padding: .75rem 0; border-bottom: 1px solid var(--line); }
.pc-editlink { color: var(--gold-dark); font-size: .9rem; }
.pc-readonly { display: grid; grid-template-columns: auto 1fr; gap: .4rem 1rem; }
.pc-readonly dt { font-weight: 600; color: var(--muted-text); }

/* ---------- verify gate + announcement ---------- */
.pc-verify { text-align: center; padding: 2.5rem 1.5rem; background: var(--cream); border-radius: var(--radius); border-inline-start: 4px solid var(--gold); }
.pc-verify h2 { margin-top: 0; }
.pc-annonce { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; padding: 1rem 1.25rem; margin-bottom: 1.5rem; border-radius: var(--radius); background: var(--gold-soft); border: 1px solid #e6d29a; }
.pc-annonce__title { font-family: var(--display); font-weight: 700; color: var(--plum); margin: 0; }
.pc-annonce__text { margin: 0; flex: 1 1 240px; color: var(--ink); }

/* ---------- danger button + recipe editing ---------- */
.pc-btn--danger { background: transparent; border-color: #B71C1C; color: #B71C1C; }
.pc-btn--danger:hover { background: #B71C1C; color: #fff; }
.pc-recipe-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.pc-recipe-row__title { font-weight: 500; color: var(--plum); }
.pc-recipe-edit { flex: 1 1 100%; }
.pc-recipe-edit summary { display: inline-flex; cursor: pointer; color: var(--gold-dark); font-size: .9rem; list-style: none; }
.pc-recipe-edit summary::-webkit-details-marker { display: none; }
.pc-recipe-edit[open] { margin-top: .75rem; padding: 1rem; background: var(--cream); border-radius: var(--radius-sm); }
.pc-recipe-delete { margin-top: .75rem; }

/* ---------- page hero band ---------- */
.pc-pagehero {
	background: radial-gradient(900px 300px at 85% -30%, rgba(201,154,4,.22), transparent 60%), linear-gradient(120deg, var(--plum), var(--plum-soft));
	color: #fff; text-align: center; padding: clamp(2.5rem, 7vw, 4.5rem) 1.5rem;
}
.pc-pagehero--image { background-size: cover; background-position: center; }
.pc-pagehero__inner { max-width: 760px; margin-inline: auto; }
.pc-pagehero__title { color: #fff; font-size: clamp(1.8rem, 5vw, 3rem); margin: 0; text-shadow: 0 2px 18px rgba(0,0,0,.25); }
.pc-pagehero__sub { color: rgba(255,255,255,.9); font-size: 1.15rem; margin: .6rem 0 0; }

/* ---------- digital card + QR ---------- */
.pc-card-dig { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; flex-wrap: wrap; padding: 1.25rem; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(135deg, var(--cream), #fff); box-shadow: var(--shadow); }
.pc-card-dig__body { display: flex; align-items: center; gap: 1rem; min-width: 0; flex: 1 1 240px; }
.pc-card-dig__body > div { min-width: 0; }
.pc-card-dig__photo { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; border: 2px solid var(--gold); flex: none; }
.pc-card-dig__name { font-family: var(--display); font-weight: 700; font-size: 1.25rem; color: var(--plum); margin: 0; }
.pc-card-dig__tag { color: var(--muted-text); margin: .1rem 0; }
/* The URL can be a long Hebrew slug — wrap it, never let it run off-screen. */
.pc-card-dig__url { color: var(--gold-dark); font-size: .85rem; margin: .2rem 0 0; direction: ltr; text-align: start; overflow-wrap: anywhere; word-break: break-word; max-width: 100%; }
.pc-card-dig__qr { flex: none; border-radius: var(--radius-sm); background: #fff; padding: 6px; box-shadow: var(--shadow); }
.pc-card-dig__actions { display: flex; gap: .6rem; flex-wrap: wrap; margin-top: 1rem; }

/* ---------- prose ---------- */
.pc-prose { max-width: 70ch; }
.pc-prose h2 { margin-top: 1.6em; }
.pc-prose img { border-radius: var(--radius); margin: 1.2em 0; }

/* ---------- full-width band ---------- */
.pc-band { max-width: none; margin: 0; padding: clamp(2.5rem, 6vw, 4rem) clamp(1rem, 4vw, 2rem); }
.pc-band__inner { max-width: var(--container); margin-inline: auto; }

/* ---------- how it works (steps) ---------- */
.pc-steps { background: var(--cream); }
.pc-steps__title { text-align: center; margin-bottom: 2rem; }

/* ---------- faq ---------- */
.pc-faq__title { text-align: center; margin-bottom: 1.5rem; }
.pc-faq__list { max-width: 760px; margin-inline: auto; display: grid; gap: .75rem; }
.pc-faq__item { border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; overflow: hidden; }
.pc-faq__item summary { cursor: pointer; padding: 1rem 1.25rem; font-weight: 600; color: var(--plum); list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.pc-faq__item summary::-webkit-details-marker { display: none; }
.pc-faq__item summary::after { content: '+'; color: var(--gold-dark); font-size: 1.4rem; flex: none; line-height: 1; }
.pc-faq__item[open] summary::after { content: '−'; }
.pc-faq__a { padding: 0 1.25rem 1.15rem; color: var(--ink); }
.pc-steps-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; counter-reset: none; }
.pc-step { position: relative; text-align: center; padding: 1rem .75rem; }
.pc-step__num {
	display: inline-grid; place-items: center; width: 68px; height: 68px; margin-bottom: 1rem;
	border-radius: 50%; background: linear-gradient(135deg, var(--gold), var(--gold-dark)); color: #fff;
	font-family: var(--display); font-weight: 700; font-size: 1.5rem; box-shadow: var(--shadow);
}
.pc-step__txt { color: var(--ink); font-size: 1.05rem; margin: 0; line-height: 1.5; }
/* connector line between steps (desktop) */
.pc-step:not(:last-child)::after {
	content: ''; position: absolute; top: 34px; left: -0.75rem; width: 1.5rem; height: 2px;
	background: repeating-linear-gradient(to right, var(--gold) 0 6px, transparent 6px 12px);
}
@media (max-width: 720px) {
	.pc-steps-grid { grid-template-columns: 1fr 1fr; }
	.pc-step:not(:last-child)::after { display: none; }
}
@media (max-width: 420px) { .pc-steps-grid { grid-template-columns: 1fr; } }

.pc-home-content { max-width: 760px; }

/* ---------- cta band ---------- */
.pc-cta-band { max-width: none; background: linear-gradient(120deg, var(--plum), var(--plum-soft)); color: #fff; text-align: center; }
.pc-cta-band__inner { max-width: 720px; margin-inline: auto; }
.pc-cta-band h2 { color: #fff; font-size: clamp(1.6rem, 4vw, 2.4rem); }
.pc-cta-band p { opacity: .92; font-size: 1.1rem; margin-bottom: 1.5rem; }

/* ---------- footer ---------- */
.pc-footer { background: var(--plum); color: #f3e9ef; margin-top: 3rem; }
.pc-footer__inner { max-width: var(--container); margin-inline: auto; padding: 3rem clamp(1rem, 4vw, 2rem) 1.5rem; display: flex; gap: 2.5rem; flex-wrap: wrap; justify-content: space-between; }
.pc-footer a { color: var(--gold-soft); }
.pc-footer__logo { width: 60px; height: 60px; object-fit: contain; }
.pc-footer__tagline { max-width: 32ch; opacity: .85; }
.pc-footer__menu { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.pc-footer__social { display: flex; gap: .6rem; margin-top: .75rem; }
.pc-footer__social a { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,.1); color: var(--gold-soft); }
.pc-footer__social a:hover { background: var(--gold); color: #241a00; }
.pc-footer__note { opacity: .8; max-width: 60ch; margin-inline: auto .5rem; }
.pc-footer__bottom { border-top: 1px solid rgba(255,255,255,.12); text-align: center; padding: 1rem; font-size: .9rem; opacity: .75; }

/* ---------- 404 ---------- */
.pc-404 { text-align: center; }
.pc-404__code { font-size: clamp(4rem, 15vw, 8rem); color: var(--gold); margin: 0; }
.pc-404__actions { display: flex; gap: .6rem; justify-content: center; flex-wrap: wrap; margin: 1rem 0 2rem; }
.pc-search { display: flex; gap: .5rem; max-width: 480px; margin-inline: auto; }
.pc-search input { flex: 1; min-height: 46px; padding: 0 1rem; border: 1.5px solid var(--line); border-radius: var(--radius-sm); font-size: 1rem; font-family: var(--font); }

/* ---------- hero (base; showcase upgrades in home.css) ---------- */
.pc-hero { position: relative; text-align: center; padding: clamp(3rem, 9vw, 6.5rem) clamp(1rem, 4vw, 2rem); overflow: hidden; }
.pc-hero__inner { max-width: 860px; margin-inline: auto; position: relative; z-index: 1; }
.pc-hero__eyebrow { color: var(--gold-dark); font-weight: 600; letter-spacing: .05em; text-transform: none; }
.pc-hero__title { font-size: clamp(2rem, 6vw, 3.8rem); margin: .3rem 0 .5rem; }
.pc-hero__sub { font-size: 1.2rem; color: var(--plum-soft); max-width: 60ch; margin-inline: auto 1.6rem; }
.pc-hero__cta { display: flex; gap: .75rem; justify-content: center; flex-wrap: wrap; margin-top: 1.2rem; }

/* hero with a background image: light text + min-height + responsive bg */
.pc-hero--image {
	min-height: min(78vh, 640px); display: grid; align-items: center;
	background-image: var(--hero-ov, linear-gradient(rgba(20,15,10,.5), rgba(20,15,10,.6))), var(--hero-d);
	background-size: cover; background-position: center;
}
@media (max-width: 768px) {
	.pc-hero--image { background-image: var(--hero-ov, linear-gradient(rgba(20,15,10,.5), rgba(20,15,10,.6))), var(--hero-m, var(--hero-d)); }
}
.pc-hero--image .pc-hero__title, .pc-hero--image .pc-hero__sub { color: #fff; }
.pc-hero--image .pc-hero__eyebrow { color: var(--gold-soft); }
.pc-hero--image .pc-hero__title { text-shadow: 0 2px 20px rgba(0,0,0,.35); }
.pc-hero--image .pc-btn--ghost { border-color: #fff; color: #fff; }
.pc-hero--image .pc-btn--ghost:hover { background: #fff; color: var(--plum); }

/* hero search bar */
.pc-hero__search {
	display: flex; gap: .5rem; flex-wrap: wrap; justify-content: center; align-items: stretch;
	max-width: 680px; margin: 0 auto; background: rgba(255,255,255,.96); padding: .5rem;
	border-radius: 999px; box-shadow: var(--shadow-lg);
}
.pc-hero__search select {
	flex: 1 1 160px; min-height: 48px; padding: 0 1rem; border: 0; border-radius: 999px;
	background: transparent; font-family: var(--font); font-size: 1rem; color: var(--ink); cursor: pointer;
}
.pc-hero__search select:not(:last-of-type) { border-inline-start: 1px solid var(--line); }
.pc-hero__search .pc-btn { flex: 0 0 auto; }
@media (max-width: 560px) {
	.pc-hero__search { border-radius: var(--radius); flex-direction: column; }
	.pc-hero__search select { border: 1px solid var(--line); border-radius: var(--radius-sm); }
	.pc-hero__search select:not(:last-of-type) { border-inline-start: 1px solid var(--line); }
}

/* ---------- responsive ---------- */
@media (max-width: 860px) {
	.pc-recipe__grid { grid-template-columns: 1fr; }
	.pc-grid-3 { grid-template-columns: 1fr; }
	.pc-chef__cols { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
	/* Flex on mobile is bulletproof: brand on one side, toggle on the other; the
	   nav is a fixed drawer and never fights the header layout. */
	.pc-header__inner { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
	/* A solid gold button so it is unmistakably tappable on any header colour. */
	.pc-navtoggle {
		display: inline-grid; place-items: center;
		width: 48px; height: 48px; background: var(--gold); border: 0; border-radius: 12px; cursor: pointer;
		box-shadow: 0 2px 8px rgba(0,0,0,.2);
	}
	.pc-navtoggle:active { transform: scale(.96); }
	.pc-navtoggle__bar, .pc-navtoggle__bar::before, .pc-navtoggle__bar::after {
		content: ''; display: block; width: 22px; height: 2.5px; border-radius: 2px; background: #241a00; position: relative; transition: transform .2s ease;
	}
	.pc-navtoggle__bar::before { position: absolute; top: -7px; }
	.pc-navtoggle__bar::after { position: absolute; top: 7px; }
	.pc-header { background: #fff; backdrop-filter: none; }
	/* Drawer slides in from the right (RTL-natural). Always a light panel with
	   brown text, whatever the site theme — matches the header when it's white. */
	.pc-nav {
		position: fixed; inset: 0 0 0 auto; width: min(86vw, 340px); transform: translateX(100%);
		background: #fff; flex-direction: column; align-items: stretch; justify-content: flex-start;
		gap: 0; padding: 4rem 1.4rem 2rem;
		box-shadow: -12px 0 40px rgba(33,26,20,.25); transition: transform .25s ease; margin: 0; z-index: 200;
		overflow-y: auto;
	}
	.pc-nav.is-open { transform: translateX(0); }
	.pc-navclose {
		display: grid; place-items: center; position: absolute; top: .6rem; inset-inline-start: .6rem;
		width: 40px; height: 40px; border: 0; background: #f1e9db; border-radius: 50%;
		font-size: 1.6rem; line-height: 1; color: var(--plum); cursor: pointer; z-index: 1;
	}
	.pc-navtoggle { z-index: 201; }
	/* dim the page behind the open drawer */
	.pc-navbackdrop { position: fixed; inset: 0; background: rgba(20,15,10,.45); z-index: 150; opacity: 0; visibility: hidden; transition: opacity .25s ease; }
	.pc-navbackdrop.is-open { opacity: 1; visibility: visible; }
	.pc-menu { flex-direction: column; align-items: stretch; gap: 0; width: 100%; }
	.pc-menu > li { flex: 0 0 auto; border-bottom: 1px solid #ece4d8; }
	/* Each row is a clear, large tap target with strong contrast. */
	.pc-menu > li > a,
	.pc-menu .pc-sub-toggle {
		display: flex; align-items: center; width: 100%;
		min-height: 54px; padding: .9rem .6rem; margin: 0;
		font-size: 1.08rem; font-weight: 600; color: #211a14; background: transparent;
		border: 0; text-align: start; cursor: pointer;
	}
	.pc-menu > li > a:active,
	.pc-menu .pc-sub-toggle:active,
	.pc-menu > li > a:hover,
	.pc-menu .pc-sub-toggle:hover { background: #f6efe2; color: #9a6d12; text-decoration: none; }
	.pc-menu a::after { display: none; }
	/* Dropdown toggles: push the caret to the far edge so it reads as expandable. */
	.pc-sub-toggle { justify-content: space-between; }
	.pc-caret { font-size: .85rem; color: #9a6d12; }
	/* Submenu links: indented, clearly tappable. */
	.pc-submenu a {
		display: block; min-height: 46px; padding: .7rem .6rem .7rem 1.4rem;
		font-size: 1rem; color: #4a3b2c; border-top: 1px solid #f1ebe0;
	}
	.pc-submenu a:active, .pc-submenu a:hover { background: #f6efe2; color: #9a6d12; }
	.pc-grid-2 { grid-template-columns: 1fr; }
}

/* ---------- motion ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}

/* ---------- accessibility control ---------- */
/* Font scaling drives the root, so every rem-based size follows it. */
html.pc-a11y-size { font-size: var(--pc-a11y-scale, 100%); }

html.pc-a11y-contrast body { background: #fff; color: #000; }
html.pc-a11y-contrast .pc-dishgal__desc,
html.pc-a11y-contrast .pc-regval__text,
html.pc-a11y-contrast .pc-hint,
html.pc-a11y-contrast .pc-note { color: #000; }
html.pc-a11y-contrast h1, html.pc-a11y-contrast h2,
html.pc-a11y-contrast h3, html.pc-a11y-contrast h4 { color: #000; }
html.pc-a11y-contrast a { color: #00309e; }
html.pc-a11y-contrast .pc-btn { background: #000; color: #fff; border-color: #000; }
html.pc-a11y-contrast .pc-dishgal__fig,
html.pc-a11y-contrast .pc-regval__item { background: #fff; border-color: #000; }

html.pc-a11y-links a { text-decoration: underline !important; text-underline-offset: 3px; outline: 1px dashed currentColor; outline-offset: 2px; }

/* Arial has the widest Hebrew coverage of the common readable faces. */
html.pc-a11y-readable body,
html.pc-a11y-readable h1, html.pc-a11y-readable h2,
html.pc-a11y-readable h3, html.pc-a11y-readable h4,
html.pc-a11y-readable .pc-btn { font-family: Arial, 'Segoe UI', sans-serif !important; letter-spacing: .01em; }

html.pc-a11y-stopmove *, html.pc-a11y-stopmove *::before, html.pc-a11y-stopmove *::after {
	animation: none !important; transition: none !important; scroll-behavior: auto !important;
}

.pc-a11y { position: fixed; inset-block-end: 1rem; inset-inline-start: 1rem; z-index: 300; }
/* While the mobile menu is open: lift the header (and the drawer it contains)
   above the backdrop so its links are tappable, and hide the a11y button. */
body.pc-nav-open .pc-header { z-index: 400; }
body.pc-nav-open .pc-a11y { display: none; }
.pc-a11y__toggle {
	width: 52px; height: 52px; border-radius: 50%; border: 2px solid #fff; cursor: pointer;
	background: #1a4ea8; color: #fff; display: grid; place-items: center;
	box-shadow: 0 6px 20px rgba(0,0,0,.3);
}
.pc-a11y__toggle:hover { background: #143c80; }
.pc-a11y__toggle:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
.pc-a11y__panel {
	position: absolute; inset-block-end: calc(100% + .6rem); inset-inline-start: 0;
	width: min(86vw, 270px); background: #fff; color: var(--ink);
	border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-lg); padding: .9rem;
}
.pc-a11y__title { margin: 0 0 .6rem; font-weight: 700; color: var(--plum); font-size: 1rem; }
.pc-a11y__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .3rem; }
.pc-a11y__btn {
	width: 100%; min-height: 44px; display: flex; align-items: center; gap: .6rem; cursor: pointer;
	background: var(--cream); border: 1px solid var(--line); border-radius: var(--radius-sm);
	padding: .4rem .6rem; font: inherit; font-size: .92rem; color: var(--ink); text-align: start;
}
.pc-a11y__btn:hover { border-color: var(--gold); }
.pc-a11y__btn:focus-visible { outline: 3px solid var(--gold); outline-offset: 1px; }
.pc-a11y__btn[aria-pressed="true"] { background: var(--gold-soft); border-color: var(--gold); font-weight: 700; }
/* State must not rest on colour alone. */
.pc-a11y__btn[aria-pressed="true"]::after { content: '✓'; margin-inline-start: auto; font-weight: 700; color: var(--gold-dark); }
.pc-a11y__badge {
	flex: none; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center;
	background: #fff; border: 1px solid var(--line); font-size: .8rem; font-weight: 700;
}
.pc-a11y__foot {
	margin-top: .7rem; padding-top: .7rem; border-top: 1px solid var(--line);
	display: flex; align-items: center; justify-content: space-between; gap: .5rem; font-size: .85rem;
}
.pc-a11y__reset {
	background: none; border: none; padding: .3rem; cursor: pointer; font: inherit; font-size: .85rem;
	color: var(--plum-soft); text-decoration: underline;
}
@media print { .pc-a11y { display: none; } }

/* ---------- chef card: the face on top of the mood shot ---------- */
.pc-chefcard { position: relative; overflow: visible; }
.pc-chefcard__media { position: relative; border-radius: var(--radius) var(--radius) 0 0; overflow: hidden; }
/* Scrim keeps the avatar edge readable over a bright dish photo. */
.pc-chefcard__scrim {
	position: absolute; inset-block-end: 0; inset-inline: 0; height: 45%;
	background: linear-gradient(to top, rgba(33,26,20,.5), transparent); pointer-events: none;
}
/* Avatar sits INSIDE the cover image, bottom-start — on the photo, never on the
   text. Large on purpose: the chef's face is what makes people call. */
.pc-chefcard__facewrap {
	position: absolute; inset-block-end: .8rem; inset-inline-start: .8rem; z-index: 2;
	width: clamp(96px, 34%, 128px); aspect-ratio: 1; border-radius: 50%; padding: 4px; background: #fff;
	box-shadow: 0 6px 18px rgba(33,26,20,.4);
}
.pc-chefcard__face { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; display: block; }

/* Service chips */
.pc-services { list-style: none; margin: .1rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .3rem; }
.pc-service {
	display: inline-block; font-size: .76rem; font-weight: 600; line-height: 1.6;
	padding: .1rem .55rem; border-radius: 999px;
	background: var(--cream); border: 1px solid var(--line); color: var(--plum-soft); text-decoration: none;
}
.pc-service:hover { background: var(--gold-soft); border-color: var(--gold); color: var(--plum); text-decoration: none; }

/* ---------- chef video ---------- */
.pc-video { margin: 2.5rem 0; }
.pc-video__frame {
	position: relative; aspect-ratio: 16 / 9; border-radius: var(--radius); overflow: hidden;
	background: var(--plum); box-shadow: var(--shadow);
}
.pc-video__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ---------- testimonials ---------- */
.pc-reviews { margin: 2.5rem 0; }
.pc-reviews__grid {
	list-style: none; padding: 0; margin: 0;
	display: grid; gap: var(--gap); grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr));
}
.pc-review { margin: 0; }
.pc-review__quote {
	margin: 0; height: 100%; display: flex; flex-direction: column; gap: .9rem;
	background: var(--cream); border: 1px solid var(--line); border-inline-start: 4px solid var(--gold);
	border-radius: var(--radius); padding: 1.25rem 1.35rem;
}
.pc-review__text { margin: 0; color: var(--ink); line-height: 1.7; }
.pc-review__text::before { content: '”'; font-family: var(--display); font-size: 2rem; color: var(--gold); line-height: 0; vertical-align: -.35em; margin-inline-end: .15rem; }
.pc-review__by { margin-top: auto; display: flex; align-items: center; gap: .7rem; }
.pc-review__img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; flex: none; }
.pc-review__author { display: block; font-style: normal; font-weight: 700; color: var(--plum); font-size: .95rem; }
.pc-review__event { display: block; color: var(--muted-text); font-size: .82rem; }

/* ---------- term picker (chef panel) ---------- */
.pc-field__label { display: block; font-weight: 600; color: var(--plum); margin-bottom: .3rem; }
/* Clean toggle chips: the native checkbox is hidden, the chip itself lights up
   gold with a checkmark when selected. Small and tidy. */
.pc-termpick { list-style: none; margin: .5rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.pc-termpick__item {
	display: inline-flex; align-items: center; gap: .35rem; cursor: pointer;
	min-height: 34px; padding: .25rem .75rem; border-radius: 999px;
	background: #fff; border: 1px solid var(--line); font-size: .88rem; color: var(--ink);
	transition: background .12s ease, border-color .12s ease;
}
.pc-termpick__item input { position: absolute; opacity: 0; width: 0; height: 0; }
.pc-termpick__item::before {
	content: ''; width: 15px; height: 15px; border-radius: 50%; flex: none;
	border: 1.5px solid var(--muted); display: inline-block;
}
.pc-termpick__item:hover { border-color: var(--gold); }
.pc-termpick__item:has(input:checked) { background: var(--gold-soft); border-color: var(--gold); font-weight: 600; }
.pc-termpick__item:has(input:checked)::before { background: var(--gold); border-color: var(--gold-dark); box-shadow: inset 0 0 0 2px #fff; }
.pc-termpick__item:focus-within { box-shadow: var(--focus); }

/* ---------- testimonial slots in the chef panel ---------- */
.pc-revs { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1rem 0 1.5rem; }
.pc-rev {
	background: var(--cream); border: 1px solid var(--line); border-radius: var(--radius); padding: 1rem;
}
.pc-rev p { margin: 0 0 .6rem; }
.pc-rev textarea, .pc-rev input[type="text"] { width: 100%; }
.pc-rev__row { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
@media (max-width: 760px) { .pc-revs, .pc-rev__row { grid-template-columns: 1fr; } }

/* ---------- ad banner (full clickable image promo) ---------- */
.pc-adbanner {
	position: relative; display: block; max-width: var(--container); margin: 2rem auto;
	border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow);
	text-decoration: none; color: #fff; background: var(--plum);
}
a.pc-adbanner { cursor: pointer; }
a.pc-adbanner:hover { text-decoration: none; box-shadow: var(--shadow-lg); }
a.pc-adbanner:hover .pc-adbanner__img { transform: scale(1.03); }
a.pc-adbanner:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
.pc-adbanner__img { width: 100%; height: auto; display: block; transition: transform .4s ease; }
.pc-adbanner__overlay {
	position: absolute; inset-block-end: 0; inset-inline: 0; z-index: 2;
	padding: clamp(1.1rem, 4vw, 2.25rem);
	display: flex; flex-direction: column; align-items: flex-start; gap: .5rem;
	background: linear-gradient(to top, rgba(20,15,10,.82) 10%, rgba(20,15,10,.35) 60%, transparent);
}
.pc-adbanner__title { margin: 0; font-family: var(--display); color: #fff; font-size: clamp(1.3rem, 3.4vw, 2.1rem); text-shadow: 0 2px 12px rgba(0,0,0,.4); }
.pc-adbanner__text { margin: 0; color: #fff; opacity: .95; max-width: 52ch; text-shadow: 0 1px 8px rgba(0,0,0,.4); }
.pc-adbanner .pc-btn--gold { margin-top: .35rem; color: #241a00; pointer-events: none; }
.pc-adbanner__flag {
	position: absolute; inset-block-start: .6rem; inset-inline-end: .6rem; z-index: 3;
	background: rgba(0,0,0,.5); color: #fff; font-size: .68rem; letter-spacing: .05em;
	padding: .12rem .5rem; border-radius: 999px;
}
@media (prefers-reduced-motion: reduce) { .pc-adbanner__img { transition: none; } a.pc-adbanner:hover .pc-adbanner__img { transform: none; } }

/* ---------- panel stat tiles ---------- */
.pc-stats__row { display: flex; flex-wrap: wrap; gap: 1rem; }
.pc-stat {
	flex: 1 1 160px; background: var(--cream); border: 1px solid var(--line);
	border-radius: var(--radius); padding: 1.1rem 1.25rem; text-align: center;
}
.pc-stat__num { display: block; font-family: var(--display); font-weight: 700; font-size: 2rem; color: var(--gold-dark); line-height: 1; }
.pc-stat__label { display: block; margin-top: .35rem; color: var(--muted-text); font-size: .9rem; }

/* ---------- agreement gate ---------- */
.pc-agree { max-width: 760px; margin-inline: auto; }
.pc-agree__text {
	background: var(--cream); border: 1px solid var(--line); border-radius: var(--radius);
	padding: 1.25rem 1.5rem; margin: 1rem 0 1.25rem; max-height: 340px; overflow-y: auto;
}

/* ---------- taxonomy landing hero (full-bleed, per-term image) ---------- */
.pc-taxhero {
	position: relative; overflow: hidden; color: #fff;
}
/* No image: a brand gradient band with room for the text. */
.pc-taxhero:not(.pc-taxhero--img) {
	min-height: clamp(240px, 38vh, 420px); display: grid; align-items: end;
	padding: clamp(2rem, 6vw, 4rem) clamp(1rem, 4vw, 2rem);
	background:
		radial-gradient(700px 380px at 80% -10%, rgba(201,154,4,.34), transparent 60%),
		linear-gradient(155deg, var(--plum), var(--plum-soft));
}
/* With image: show the WHOLE photo at full width (no cropping). The hero height
   simply follows the image, so nothing is ever cut, on desktop or mobile. */
.pc-taxhero--img { background: var(--plum); }
.pc-taxhero__pic { display: block; }
.pc-taxhero__bg { width: 100%; height: auto; display: block; }
/* Full-width scrim at the bottom keeps the white title readable over any photo. */
.pc-taxhero--img::after {
	content: ''; position: absolute; inset-inline: 0; inset-block-end: 0; height: 65%; z-index: 1; pointer-events: none;
	background: linear-gradient(to top, rgba(20,15,10,.9), rgba(20,15,10,.35) 60%, transparent);
}
/* Title block: centred to the container, sitting at the bottom of the photo. */
.pc-taxhero--img .pc-taxhero__inner {
	position: absolute; inset-inline: 0; inset-block-end: 0; z-index: 2;
	max-width: var(--container); margin-inline: auto;
	padding: 0 clamp(1rem, 4vw, 2rem) clamp(1.25rem, 3vw, 2rem);
}
.pc-taxhero__inner { max-width: var(--container); margin-inline: auto; width: 100%; }
.pc-taxhero__eyebrow { margin: 0 0 .5rem; letter-spacing: .12em; font-weight: 700; font-size: .8rem; text-transform: uppercase; color: var(--gold-soft); }
.pc-taxhero__title { color: #fff; margin: 0 0 .6rem; font-size: clamp(1.9rem, 5vw, 3.2rem); text-shadow: 0 2px 16px rgba(0,0,0,.4); }
.pc-taxhero__intro { max-width: 70ch; max-height: 4.8em; overflow: hidden; transition: max-height .3s ease; opacity: .96; }
.pc-taxhero__intro.is-open { max-height: 100em; }
.pc-taxhero__more { color: var(--gold-soft); }

/* ---------- homepage: service-type cards ---------- */
.pc-servicegrid {
	list-style: none; padding: 0; margin: 0;
	display: grid; gap: var(--gap); grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
}
.pc-servicecard {
	position: relative; display: block; overflow: hidden; border-radius: var(--radius);
	min-height: 170px; color: #fff; text-decoration: none; box-shadow: var(--shadow);
	background: linear-gradient(150deg, var(--plum), var(--plum-soft));
}
.pc-servicecard__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pc-servicecard::after {
	content: ''; position: absolute; inset: 0;
	background: linear-gradient(to top, rgba(20,15,10,.82), rgba(20,15,10,.25) 70%);
}
.pc-servicecard__label {
	position: absolute; inset-block-end: 0; inset-inline: 0; z-index: 2; padding: 1rem 1.1rem;
	font-family: var(--display); font-weight: 700; font-size: 1.15rem;
}
.pc-servicecard:hover { text-decoration: none; box-shadow: var(--shadow-lg); }
.pc-servicecard:hover .pc-servicecard__img { transform: scale(1.05); }
.pc-servicecard__img { transition: transform .35s ease; }
@media (prefers-reduced-motion: reduce) { .pc-servicecard__img { transition: none; } .pc-servicecard:hover .pc-servicecard__img { transform: none; } }

/* Chef-style chips — the chef's identity, slightly bolder than service chips. */
.pc-style {
	display: inline-block; font-size: .78rem; font-weight: 700; line-height: 1.6;
	padding: .12rem .65rem; border-radius: 999px; text-decoration: none;
	background: var(--plum); color: #fff;
}
.pc-style:hover { background: var(--gold-dark); color: #fff; text-decoration: none; }

/* ============================================================
   CHEF MINISITE  (mobile-first; templates via .pc-mini--*)
   ============================================================ */
.pc-mini { width: 100%; }
.pc-mini__hero-inner, .pc-mini__body, .pc-mini__nav-inner {
	max-width: var(--container); margin-inline: auto; padding-inline: clamp(1rem, 4vw, 2rem);
}

/* --- hero (base = classic) --- */
.pc-mini__hero { position: relative; color: var(--ink); padding: clamp(1.5rem, 5vw, 3rem) 0 clamp(2rem, 6vw, 3.5rem); background: var(--cream); }
.pc-mini__hero--img { color: #fff; background: var(--plum); }
.pc-mini__hero--img::before {
	content: ''; position: absolute; inset: 0; z-index: 0;
	background-image: linear-gradient(rgba(20,15,10,.55), rgba(20,15,10,.82)), var(--mini-cover);
	background-size: cover; background-position: center;
}
.pc-mini__hero-inner { position: relative; z-index: 1; }
.pc-mini__id { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 1rem; }
.pc-mini__avatar { width: 132px; height: 132px; border-radius: 50%; overflow: hidden; flex: none; border: 4px solid #fff; box-shadow: var(--shadow-lg); background: var(--cream); }
.pc-mini__avatar img { width: 100%; height: 100%; object-fit: cover; }
.pc-avatar-fallback { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, var(--gold-soft), var(--cream)); }
.pc-mini__name { margin: 0; font-size: clamp(1.8rem, 6vw, 3rem); color: inherit; }
.pc-mini__hero--img .pc-mini__name { color: #fff; text-shadow: 0 2px 16px rgba(0,0,0,.4); }
.pc-mini__rest { margin: .2rem 0 0; font-weight: 600; opacity: .9; }
.pc-mini__loc { margin: .35rem 0 0; opacity: .85; font-size: .95rem; }
.pc-mini__tagline { margin: .6rem auto 0; max-width: 60ch; font-size: 1.05rem; opacity: .95; }
.pc-mini__chips { display: flex; flex-wrap: wrap; gap: .4rem; justify-content: center; margin-top: .8rem; }
.pc-mini__cta { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; margin-top: 1.1rem; }
.pc-mini__hero--img .pc-btn--ghost { border-color: #fff; color: #fff; }
.pc-mini__hero--img .pc-btn--ghost:hover { background: #fff; color: var(--plum); }

/* --- sticky in-page nav --- */
.pc-mini__nav { position: sticky; top: 62px; z-index: 60; background: rgba(255,255,255,.97); border-bottom: 1px solid var(--line); backdrop-filter: saturate(1.3) blur(6px); }
.pc-mini__nav-inner { display: flex; gap: .35rem; overflow-x: auto; scrollbar-width: none; }
.pc-mini__nav-inner::-webkit-scrollbar { display: none; }
.pc-mini__nav a { flex: none; padding: .85rem .8rem; color: var(--plum-soft); font-weight: 600; font-size: .93rem; white-space: nowrap; border-bottom: 2px solid transparent; }
.pc-mini__nav a:hover { color: var(--gold-dark); text-decoration: none; border-color: var(--gold); }
.pc-mini__nav-cta { color: var(--gold-dark) !important; }

/* --- sections --- */
.pc-mini__body { padding-block: clamp(1.5rem, 5vw, 3rem); }
.pc-mini__sec { scroll-margin-top: 124px; margin-bottom: clamp(2rem, 6vw, 3.5rem); }
.pc-mini__about .pc-prose { max-width: 75ch; }

/* --- contact + QR --- */
.pc-mini__contact-card {
	display: flex; flex-wrap: wrap; gap: clamp(1.25rem, 4vw, 2.5rem); align-items: center; justify-content: space-between;
	background: linear-gradient(150deg, var(--plum), var(--plum-soft)); color: #fff;
	border-radius: var(--radius); padding: clamp(1.5rem, 5vw, 2.5rem);
}
.pc-mini__contact-text { flex: 1 1 260px; }
.pc-mini__contact-text .pc-section__title { color: #fff; }
.pc-mini__contact-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1rem 0; }
.pc-mini__qr { flex: none; text-align: center; background: #fff; border-radius: var(--radius); padding: .9rem; color: var(--plum); }
.pc-mini__qr img { display: block; width: 150px; height: 150px; }
.pc-mini__qr span { display: block; margin-top: .4rem; font-size: .82rem; font-weight: 600; }

/* --- desktop: classic + editorial side-by-side hero --- */
@media (min-width: 700px) {
	.pc-mini--classic .pc-mini__id, .pc-mini--editorial .pc-mini__id { flex-direction: row; align-items: center; text-align: start; gap: 1.75rem; }
	.pc-mini--classic .pc-mini__chips, .pc-mini--editorial .pc-mini__chips,
	.pc-mini--classic .pc-mini__cta, .pc-mini--editorial .pc-mini__cta,
	.pc-mini--classic .pc-mini__tagline, .pc-mini--editorial .pc-mini__tagline { justify-content: flex-start; margin-inline: 0; }
	.pc-mini__avatar { width: 156px; height: 156px; }
}

/* ============ TEMPLATE: BOLD ============ */
.pc-mini--bold .pc-mini__hero { min-height: clamp(360px, 68vh, 640px); display: grid; align-items: end; padding-bottom: clamp(2rem, 6vw, 4rem); }
.pc-mini--bold .pc-mini__id { align-items: flex-start; text-align: start; }
.pc-mini--bold .pc-mini__name { font-size: clamp(2.4rem, 9vw, 5rem); line-height: 1.02; letter-spacing: -.01em; }
.pc-mini--bold .pc-mini__avatar { width: 96px; height: 96px; }
.pc-mini--bold .pc-mini__chips, .pc-mini--bold .pc-mini__cta { justify-content: flex-start; }
.pc-mini--bold .pc-mini__nav { background: var(--plum); border-color: rgba(255,255,255,.14); }
.pc-mini--bold .pc-mini__nav a { color: rgba(255,255,255,.82); }
.pc-mini--bold .pc-mini__nav a:hover { color: #fff; }
.pc-mini--bold .pc-mini__nav-cta { color: var(--gold-soft) !important; }
@media (min-width: 700px) {
	.pc-mini--bold .pc-mini__id { flex-direction: row; align-items: flex-end; gap: 1.5rem; }
}

/* ============ TEMPLATE: EDITORIAL ============ */
.pc-mini--editorial .pc-mini__name { font-family: var(--display); font-style: italic; }
.pc-mini--editorial .pc-mini__sec { border-top: 1px solid var(--line); padding-top: clamp(1.5rem, 4vw, 2.5rem); }
.pc-mini--editorial .pc-mini__about { display: grid; gap: 1rem; }
@media (min-width: 900px) {
	.pc-mini--editorial .pc-mini__about { grid-template-columns: 220px 1fr; align-items: start; }
	.pc-mini--editorial .pc-mini__about .pc-section__title { position: sticky; top: 80px; }
}

/* ============ TEMPLATE PICKER (panel) ============ */
.pc-tplgrid { display: grid; gap: 1rem; grid-template-columns: 1fr; margin: 1rem 0 1.25rem; }
@media (min-width: 760px) { .pc-tplgrid { grid-template-columns: repeat(3, 1fr); } }
.pc-tplopt {
	position: relative; display: flex; flex-direction: column; gap: .75rem; cursor: pointer;
	border: 2px solid var(--line); border-radius: var(--radius); padding: 1rem; background: #fff; transition: border-color .15s ease, box-shadow .15s ease;
}
.pc-tplopt:hover { border-color: var(--gold); }
.pc-tplopt.is-active { border-color: var(--gold); box-shadow: var(--focus); }
.pc-tplopt input { position: absolute; opacity: 0; pointer-events: none; }
.pc-tplopt__name { font-weight: 700; color: var(--plum); display: flex; align-items: center; gap: .5rem; }
.pc-tplopt__rec { background: var(--gold); color: #241a00; font-size: .7rem; font-weight: 700; padding: .1rem .5rem; border-radius: 999px; }
.pc-tplopt__desc { color: var(--muted-text); font-size: .88rem; line-height: 1.55; }

/* mini layout diagrams */
.pc-tplthumb { display: grid; gap: 3px; height: 96px; background: var(--cream); border-radius: var(--radius-sm); padding: 6px; overflow: hidden; align-content: start; }
.pc-tplthumb__b { background: var(--muted); border-radius: 3px; min-height: 10px; }
.pc-tplthumb__b--banner-center, .pc-tplthumb__b--hero-full, .pc-tplthumb__b--split-hero { background: linear-gradient(120deg, var(--gold), var(--gold-dark)); min-height: 26px; }
.pc-tplthumb__b--hero-full { min-height: 40px; }
.pc-tplthumb--editorial { grid-template-columns: 1fr 1fr; }
.pc-tplthumb--editorial .pc-tplthumb__b--split-hero { grid-column: 1 / -1; }

/* ---------- nav dropdowns (auto-populated) ---------- */
.pc-has-sub { position: relative; }
.pc-sub-toggle {
	display: inline-flex; align-items: center; gap: .3rem; background: none; border: 0; cursor: pointer;
	font-family: var(--font); font-weight: 500; font-size: .96rem; color: var(--plum); padding: .45rem 0;
	white-space: nowrap;
}
.pc-sub-toggle:hover { color: var(--gold-dark); }
.pc-caret { font-size: .7rem; transition: transform .2s ease; }
.pc-has-sub.is-open .pc-caret { transform: rotate(180deg); }
.pc-submenu {
	list-style: none; margin: 0; padding: .4rem; min-width: 210px;
	position: absolute; inset-inline-start: 0; top: calc(100% + 6px); z-index: 120;
	background: #fff; border: 1px solid var(--line); border-radius: var(--radius-sm); box-shadow: var(--shadow-lg);
	opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .15s ease, transform .15s ease;
	max-height: 60vh; overflow-y: auto;
}
.pc-submenu li { border: 0; }
.pc-submenu a { display: block; padding: .5rem .7rem; border-radius: var(--radius-sm); color: var(--plum); font-weight: 500; }
.pc-submenu a:hover { background: var(--cream); color: var(--gold-dark); text-decoration: none; }
/* Desktop: open on hover or keyboard focus, or when JS marks is-open. */
@media (min-width: 901px) {
	.pc-has-sub:hover .pc-submenu,
	.pc-has-sub:focus-within .pc-submenu,
	.pc-has-sub.is-open .pc-submenu { opacity: 1; visibility: visible; transform: translateY(0); }
}

/* Mobile drawer: dropdowns become inline accordions. Only the open/close
   mechanism lives here; the row styling is in the mobile nav block above. */
@media (max-width: 900px) {
	.pc-submenu {
		position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0;
		min-width: 0; padding: 0; max-height: 0; overflow: hidden; transition: max-height .25s ease;
	}
	.pc-has-sub.is-open .pc-submenu { max-height: 80vh; overflow-y: auto; }
}

/* footer discovery columns */
.pc-footer__inner { align-items: flex-start; }
.pc-footer__brand { flex: 1 1 240px; max-width: 320px; }
.pc-footer__col { flex: 0 1 auto; min-width: 130px; }
.pc-footer__coltitle { font-size: .95rem; color: #fff; margin: 0 0 .7rem; font-family: var(--font); font-weight: 700; opacity: .95; }
.pc-footer__menu { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.pc-footer__menu a { color: rgba(255,255,255,.75); font-size: .9rem; }
.pc-footer__menu a:hover { color: #fff; }
@media (max-width: 600px) {
	.pc-footer__inner { gap: 1.75rem; }
	.pc-footer__col { flex: 1 1 45%; min-width: 45%; }
}

/* ============================================================
   DARK THEME — flyer style (espresso + gold + cream).
   One class on <body> (pc-theme-dark) flips the whole site.
   body.pc-theme-dark beats the Customizer's :root colour vars.
   ============================================================ */
body.pc-theme-dark {
	--white: #2b1d12;        /* cards / surfaces */
	--cream: #211508;        /* alt surfaces */
	--ink: #efe3ce;          /* body text */
	--muted-text: #bda98a;
	--line: #46351f;
	--muted: #6d5636;
	--gold: #cda24e;
	--gold-dark: #e3c277;    /* on dark, "darker" hover reads brighter */
	--shadow: 0 6px 24px rgba(0,0,0,.45);
	--shadow-lg: 0 18px 48px rgba(0,0,0,.6);
	background: #17100a;
	color: var(--ink);
}
/* warm gradient wash on the page */
.pc-theme-dark { background: linear-gradient(180deg, #17100a, #1f150c 60%, #17100a); }

/* headings + section titles → warm cream */
.pc-theme-dark h1, .pc-theme-dark h2, .pc-theme-dark h3, .pc-theme-dark h4,
.pc-theme-dark .pc-section__title, .pc-theme-dark .pc-card__title a { color: #f2e7d1; }
.pc-theme-dark a { color: var(--gold); }
.pc-theme-dark a:hover { color: #e9d4a2; }

/* header + nav */
.pc-theme-dark .pc-header { background: rgba(23,16,10,.94); border-bottom-color: var(--line); }
.pc-theme-dark .pc-brand__name { color: #f2e7d1; }
.pc-theme-dark .pc-menu a, .pc-theme-dark .pc-sub-toggle { color: var(--ink); }
.pc-theme-dark .pc-menu a:hover, .pc-theme-dark .pc-sub-toggle:hover { color: var(--gold); }
.pc-theme-dark .pc-mini__nav { background: rgba(23,16,10,.96); border-bottom-color: var(--line); }
.pc-theme-dark .pc-mini__nav a { color: #d9c8ac; }
.pc-theme-dark .pc-mini__nav a:hover { color: var(--gold); border-color: var(--gold); }

/* buttons (gold button already fits the palette) */
.pc-theme-dark .pc-btn { background: transparent; color: var(--ink); border-color: var(--gold); }
.pc-theme-dark .pc-btn:hover { background: var(--gold); color: #241a00; border-color: var(--gold); }
.pc-theme-dark .pc-btn--gold { background: var(--gold); color: #241a00; border-color: var(--gold); }
.pc-theme-dark .pc-btn--gold:hover { background: #e3c277; border-color: #e3c277; color: #241a00; }
.pc-theme-dark .pc-btn--ghost { background: transparent; border-color: var(--ink); color: var(--ink); }
.pc-theme-dark .pc-btn--ghost:hover { background: var(--ink); color: #17100a; }

/* light surfaces → dark surfaces */
.pc-theme-dark .pc-panel__section,
.pc-theme-dark .pc-dishgal__fig,
.pc-theme-dark .pc-regval__item,
.pc-theme-dark .pc-faq__item,
.pc-theme-dark .pc-join__form,
.pc-theme-dark .pc-tplopt,
.pc-theme-dark .pc-submenu,
.pc-theme-dark .pc-a11y__panel,
.pc-theme-dark .pc-review__quote,
.pc-theme-dark .pc-dish,
.pc-theme-dark .pc-rev,
.pc-theme-dark .pc-stat,
.pc-theme-dark .pc-agree__text {
	background: var(--white); color: var(--ink); border-color: var(--line);
}
.pc-theme-dark .pc-card { background: var(--white); border-color: var(--line); }
.pc-theme-dark .pc-card__title a,
.pc-theme-dark .pc-dishgal__name,
.pc-theme-dark .pc-review__author { color: #f2e7d1; }
.pc-theme-dark .pc-card__meta,
.pc-theme-dark .pc-card__excerpt,
.pc-theme-dark .pc-dishgal__desc,
.pc-theme-dark .pc-regval__text { color: var(--muted-text); }

/* form fields */
.pc-theme-dark .pc-field input,
.pc-theme-dark .pc-field textarea,
.pc-theme-dark .pc-field select,
.pc-theme-dark .pc-filters select {
	background: #241708; color: var(--ink); border-color: var(--line);
}
.pc-theme-dark .pc-field label { color: #e7dac2; }

/* chips / badges that were light stay legible */
.pc-theme-dark .pc-service { background: #2e2013; border-color: var(--line); color: #e7d3ad; }
.pc-theme-dark .pc-service:hover { background: var(--gold); color: #241a00; }
.pc-theme-dark .pc-termpick__item { background: #241708; border-color: var(--line); color: var(--ink); }
.pc-theme-dark .pc-a11y__badge { background: #241708; border-color: var(--line); }

/* alt value band stays a touch darker so the two bands still read apart */
.pc-theme-dark .pc-regval--gain { background: #1c1309; }
.pc-theme-dark .pc-regval--what { background: #17100a; }
.pc-theme-dark .pc-regform { background: #1c1309; }

/* QR panels MUST stay white so the code scans — do not darken them. */
.pc-theme-dark .pc-mini__qr,
.pc-theme-dark .pc-chef__qr,
.pc-theme-dark .pc-card-dig__qr { background: #fff; }

/* --- dark theme, pass 2: text that was --plum (dark) → cream, and the last
   light surfaces. --plum stays dark because it also paints the dark bands. --- */
.pc-theme-dark .pc-chip,
.pc-theme-dark .pc-fact__v,
.pc-theme-dark .pc-byline__name,
.pc-theme-dark .pc-crumbs [aria-current="page"],
.pc-theme-dark .pc-pagination .page-numbers,
.pc-theme-dark .pc-regval__title,
.pc-theme-dark .pc-regval__head,
.pc-theme-dark .pc-annonce__title,
.pc-theme-dark .pc-recipe-row__title,
.pc-theme-dark .pc-card-dig__name,
.pc-theme-dark .pc-faq__item summary,
.pc-theme-dark .pc-a11y__title,
.pc-theme-dark .pc-field__label,
.pc-theme-dark .pc-tplopt__name,
.pc-theme-dark .pc-join__title,
.pc-theme-dark .pc-mini__name,
.pc-theme-dark .pc-mini__rest { color: #f2e7d1; }

/* remaining light surfaces → dark */
.pc-theme-dark .pc-chip { background: #2a1c11; border-color: var(--line); }
.pc-theme-dark .pc-chip:hover { background: var(--gold); color: #241a00; }
.pc-theme-dark .pc-faq__item { background: var(--white); border-color: var(--line); }
.pc-theme-dark .pc-dish__empty { background: #241708; border-color: var(--muted); color: var(--muted-text); }
.pc-theme-dark .pc-pagination .page-numbers { border-color: var(--line); }
.pc-theme-dark .pc-pagination .current { background: var(--gold); color: #241a00; border-color: var(--gold); }

/* gold-soft chips → warm dark so they sit in the palette, not glare */
.pc-theme-dark .pc-hint--lead,
.pc-theme-dark .pc-regval__note { background: #2a1c11; color: #e7d3ad; }
.pc-theme-dark .pc-count { background: var(--gold); color: #241a00; }

/* hero search bar → dark glass instead of white */
.pc-theme-dark .pc-hero__search { background: rgba(30,20,12,.9); }
.pc-theme-dark .pc-hero__search select { color: var(--ink); }
.pc-theme-dark .pc-hero__search select:not(:last-of-type) { border-inline-start-color: var(--line); }

/* limited-status note */
.pc-theme-dark .pc-status--limited { background: #2a2010; border-inline-start-color: var(--gold); color: var(--ink); }

/* breadcrumbs + muted text stay readable */
.pc-theme-dark .pc-crumbs, .pc-theme-dark .pc-crumbs a { color: var(--muted-text); }
.pc-theme-dark .pc-crumbs a:hover { color: var(--gold); }
.pc-theme-dark .pc-tplopt__desc { color: var(--muted-text); }
.pc-theme-dark .pc-note, .pc-theme-dark .pc-hint { color: var(--muted-text); }

/* dark theme, pass 3: the last dark-on-dark stragglers */
.pc-theme-dark .pc-submenu a { color: var(--ink); }
.pc-theme-dark .pc-submenu a:hover { background: #2a1c11; color: var(--gold); }
.pc-theme-dark .pc-hero__sub { color: #d9c8ac; }
.pc-theme-dark .pc-hero__eyebrow { color: var(--gold); }
.pc-theme-dark .pc-step__num { color: #241a00; }
.pc-theme-dark .pc-mini__loc, .pc-theme-dark .pc-mini__tagline { color: #cdbb9d; }

/* ============================================================
   SECTION RHYTHM — the flyer's alternating espresso / cream bands
   with a gold hairline between them. Full-bleed via a pseudo so no
   markup restructure. The kick that breaks the monotone.
   ============================================================ */
.pc-rhythm { position: relative; isolation: isolate; }
.pc-rhythm::before {
	content: ''; position: absolute; z-index: -1; top: 0; bottom: 0;
	left: calc(50% - 50vw); right: calc(50% - 50vw);
	background: transparent;
}

/* Light theme: gentle warm alternation. */
.pc-theme-light .pc-rhythm--cream::before { background: #F6EFE2; }

/* Dark theme: cream panels POP against espresso; gold line separates bands. */
.pc-theme-dark .pc-rhythm::before { border-top: 2px solid var(--gold); }
.pc-theme-dark .pc-rhythm--cream::before { background: #F4EBDA; }

/* Text/cards inside a cream band (dark theme) flip back to dark-on-light. */
.pc-theme-dark .pc-rhythm--cream .pc-section__title,
.pc-theme-dark .pc-rhythm--cream h2 { color: #241a0e; }
.pc-theme-dark .pc-rhythm--cream .pc-section__more { color: #9A6D12; }
.pc-theme-dark .pc-rhythm--cream .pc-faq__item { background: #fff; border-color: #e3d5bd; }
.pc-theme-dark .pc-rhythm--cream .pc-faq__item summary { color: #241a0e; }
.pc-theme-dark .pc-rhythm--cream .pc-faq__a { color: #4a3a28; }

/* Steps band → cream in dark theme (matches the flyer's light panel). */
.pc-theme-dark .pc-steps { background: #F4EBDA; border-top: 2px solid var(--gold); }
.pc-theme-dark .pc-steps .pc-section__title,
.pc-theme-dark .pc-steps .pc-step__txt { color: #241a0e; }

/* CTA band + footer keep a gold line above them for the closing rhythm. */
.pc-theme-dark .pc-cta-band { border-top: 2px solid var(--gold); }
.pc-theme-dark .pc-footer { border-top: 2px solid var(--gold); }

/* A touch more life on the hero: a warm gold glow line under it. */
.pc-theme-dark .pc-hero { border-bottom: 2px solid var(--gold); }

/* ---------- per-chef page colour picker (panel) ---------- */
.pc-colorpick { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1rem 0 1.25rem; }
.pc-colorpick__opt {
	display: flex; align-items: center; gap: .6rem; cursor: pointer; min-height: 44px;
	padding: .5rem .9rem; border: 2px solid var(--line); border-radius: 999px; background: var(--white);
	font-weight: 600; color: var(--ink);
}
.pc-colorpick__opt:hover { border-color: var(--gold); }
.pc-colorpick__opt.is-active { border-color: var(--gold); box-shadow: var(--focus); }
.pc-colorpick__opt input { position: absolute; opacity: 0; pointer-events: none; }
.pc-colorpick__swatch { width: 26px; height: 26px; border-radius: 50%; flex: none; border: 1px solid rgba(0,0,0,.15); }
.pc-colorpick__opt--light .pc-colorpick__swatch { background: #ffffff; }
.pc-colorpick__opt--dark .pc-colorpick__swatch { background: #241708; }
.pc-colorpick__opt--inherit .pc-colorpick__swatch { background: linear-gradient(135deg, #fff 0 50%, #241708 50% 100%); }

/* ============================================================
   PANEL — a wide, centred dashboard. Sections stack, headings and
   forms are centred so it reads balanced and clean, and galleries use
   the full card width.
   ============================================================ */
.pc-panel { max-width: 1280px; margin-inline: auto; padding-inline: clamp(1rem, 3vw, 2.5rem); }
.pc-panel__view { margin: 0 0 1rem; text-align: center; }
/* Centre the headings + intro lines. */
.pc-panel__section > h2 { text-align: center; }
.pc-panel__section > .pc-hint--lead { text-align: center; margin-inline: auto; max-width: 70ch; }
/* Centre the form block; fields inside keep their natural start alignment. */
.pc-panel .pc-form { max-width: 860px; margin-inline: auto; }
/* Galleries, term pickers and multi-column rows fill the whole card. */
.pc-panel .pc-dishes,
.pc-panel .pc-revs,
.pc-panel .pc-termpick,
.pc-panel .pc-tplgrid,
.pc-panel .pc-recipe-list,
.pc-panel .pc-stats__row,
.pc-panel .pc-grid-2,
.pc-panel .pc-grid-3 { max-width: none; }
/* Centre the term chips row so the selections sit in the middle, not stuck to one side. */
.pc-panel .pc-termpick { justify-content: center; }
.pc-panel .pc-stats__row { justify-content: center; }

/* Template picker: compact row on small screens. */
@media (max-width: 700px) {
	.pc-tplopt { flex-direction: row; align-items: center; gap: .85rem; padding: .8rem; }
	.pc-tplthumb { width: 84px; height: 62px; flex: none; }
	.pc-tplopt__body { flex: 1 1 auto; min-width: 0; }
}

/* Mobile panel: tighter padding, forms fill, nothing cramped. */
@media (max-width: 700px) {
	.pc-panel { padding-inline: .8rem; }
	.pc-panel__section { padding: 1.15rem 1rem; margin: 1rem 0; }
	.pc-panel .pc-form { max-width: none; }
	.pc-dishes { grid-template-columns: 1fr; }
	.pc-revs { grid-template-columns: 1fr; }
	.pc-stats__row { flex-direction: column; }
	.pc-dish__taxes { grid-template-columns: 1fr 1fr; }
}

/* Homepage service tiles: two per row on phones — tidier than one big block. */
@media (max-width: 620px) {
	.pc-servicegrid { grid-template-columns: 1fr 1fr; gap: .6rem; }
	.pc-servicecard { min-height: 128px; }
	.pc-servicecard__label { font-size: .92rem; padding: .7rem; }
}

/* Dish slot media: keep a sane height on narrow screens. */
@media (max-width: 600px) {
	.pc-dish { grid-template-columns: 1fr; }
	.pc-dish__prev img, .pc-dish__empty { max-height: 200px; }
}

/* ============================================================
   MOBILE NAV in DARK theme — the drawer stays a white panel with brown
   text (David: white menu, brown colours, opens from the right), and the
   hamburger turns light so it's visible on the dark header.
   Placed last so it wins over the dark-theme rules above.
   ============================================================ */
@media (max-width: 900px) {
	/* The gold toggle button keeps its dark bars in dark theme too — don't lighten them. */
	.pc-theme-dark .pc-navtoggle__bar,
	.pc-theme-dark .pc-navtoggle__bar::before,
	.pc-theme-dark .pc-navtoggle__bar::after { background: #241a00; }
	/* Drawer + its dropdowns stay a light panel with brown text, any theme. */
	.pc-theme-dark .pc-nav { background: #fff; }
	.pc-theme-dark .pc-submenu { background: transparent; }
	.pc-theme-dark .pc-menu > li { border-color: #ece4d8; }
	.pc-theme-dark .pc-menu a,
	.pc-theme-dark .pc-sub-toggle,
	.pc-theme-dark .pc-submenu a { color: #211a14; }
	.pc-theme-dark .pc-menu a:hover, .pc-theme-dark .pc-menu a:active,
	.pc-theme-dark .pc-sub-toggle:hover, .pc-theme-dark .pc-sub-toggle:active,
	.pc-theme-dark .pc-submenu a:hover, .pc-theme-dark .pc-submenu a:active { background: #f6efe2; color: #9a6d12; }
	.pc-theme-dark .pc-sub-toggle { border-bottom-color: #ece4d8; }
	.pc-theme-dark .pc-submenu a { border-top-color: #f1ebe0; }
	.pc-theme-dark .pc-navclose { background: #f1e9db; color: #211a14; }
	.pc-theme-dark .pc-caret { color: #9a6d12; }
}

/* ---------- "add more" (dishes / testimonials grow on demand) ---------- */
.pc-addmore { margin: .5rem 0 1.25rem; display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.pc-addmore__btn { font-weight: 600; }
.pc-addmore__full { color: var(--muted-text); font-size: .9rem; }

.pc-field__label { font-size: 1rem; }
