/* Piola Curitiba, cardápio nativo (/cardapio). Carregado só nesta página, depois de components.css.
   Mobile first. Sem estilo inline: valores dinâmicos entram por variáveis CSS (cardapio.js usa a CSSOM).
   Variáveis de página: --barra-h (altura da barra fixa, medida pelo JS), --arraste (deslocamento da folha ao arrastar).
   Sem JS (html:not(.js)): as três áreas aparecem em sequência, a barra deixa de ser fixa e os links de âncora funcionam. */

/* ---------- Tema ardósia explícito (o padrão do site é ardósia, mas a área precisa restaurá-lo dentro de outros temas) ---------- */
[data-theme="pizzas"] {
  --color-band: var(--piola-slate-500);
  --color-on-band: var(--piola-white);
  --color-code: var(--piola-teal-700);
  --color-code-large: var(--piola-teal-500);
  --color-bg-warm: var(--piola-paper-50);
}

.pl-cardapio [hidden] { display: none !important; }
.pl-cardapio { --barra-h: 112px; --topo: calc(var(--header-h) + env(safe-area-inset-top)); padding-block: var(--space-4) var(--space-8); transition: background-color var(--dur-slow) var(--ease-out); }
.pl-pg-cardapio .pl-cardapio [id] { scroll-margin-top: calc(var(--topo) + var(--barra-h) + var(--space-3)); }

/* ---------- Grade: no celular tudo em coluna, com a barra fixa sob o cabeçalho ---------- */
.pl-cardapio__grade { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; }
.pl-cardapio__lateral { display: contents; }

/* ---------- Busca ---------- */
.pl-busca { padding-block: var(--space-2) var(--space-3); }
.pl-busca__rotulo { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pl-busca__campo { position: relative; display: flex; align-items: center; background: var(--piola-white); border: 2px solid var(--piola-ink-900); transition: box-shadow var(--dur-base) var(--ease-out); }
.pl-busca__campo:focus-within { box-shadow: var(--shadow-focus); }
.pl-busca__icone { position: absolute; left: var(--space-3); width: 22px; height: 22px; color: var(--piola-ink-600); pointer-events: none; }
.pl-busca__input { flex: 1; min-width: 0; height: 52px; padding: 0 52px 0 calc(var(--space-3) + 22px + var(--space-2)); border: 0; background: transparent; color: var(--color-text); font: inherit; font-size: 1rem; /* 16px: evita o zoom do iOS ao focar */ appearance: none; -webkit-appearance: none; border-radius: 0; }
.pl-busca__input:focus-visible { box-shadow: none; outline: none; }
.pl-busca__input::placeholder { color: var(--piola-ink-600); opacity: 1; }
.pl-busca__input::-webkit-search-cancel-button, .pl-busca__input::-webkit-search-decoration { -webkit-appearance: none; appearance: none; }
.pl-busca__limpar { position: absolute; right: 0; top: 0; width: 48px; height: 100%; display: grid; place-items: center; background: transparent; border: 0; color: var(--piola-ink-900); cursor: pointer; }
.pl-busca__limpar svg { width: 18px; height: 18px; }
.pl-busca__limpar:hover { color: var(--color-brand-text); }

/* iFood: ação secundária, discreta (o WhatsApp segue como ação principal) */

/* ---------- Barra fixa: áreas + categorias ---------- */
.pl-cardapio__sentinela { display: block; height: 1px; margin-top: -1px; pointer-events: none; }
.pl-cardapio__barra { position: sticky; top: var(--topo); z-index: var(--z-raised); margin-inline: calc(-1 * var(--gutter)); padding: var(--space-2) var(--gutter) var(--space-2); background: var(--color-bg-warm); border-bottom: 1px solid transparent; transition: box-shadow var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), background-color var(--dur-slow) var(--ease-out); }
.pl-cardapio__barra.is-fixa { border-bottom-color: var(--color-border); box-shadow: 0 8px 14px -10px rgb(15 15 16 / 0.35); }

/* Seletor de área (segmentado) */
.pl-abas { --aba-cor: var(--piola-slate-500); display: grid; grid-template-columns: 1.1fr 0.8fr 1.1fr; border: 2px solid var(--piola-ink-900); background: var(--piola-white); }
.pl-aba { --aba-cor: var(--piola-slate-500); position: relative; display: grid; place-items: center; min-height: 48px; padding: 4px 6px; text-align: center; text-decoration: none; color: var(--piola-ink-900); font-family: var(--font-display); font-weight: var(--weight-bold); font-size: 1.0625rem; line-height: 1.05; letter-spacing: 0.04em; text-transform: uppercase; text-wrap: balance; transition: background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out); -webkit-tap-highlight-color: transparent; }
.pl-aba + .pl-aba { border-left: 2px solid var(--piola-ink-900); }
.pl-aba[data-aba="bar"] { --aba-cor: var(--piola-purple-700); }
.pl-aba[data-aba="sobremesas"] { --aba-cor: var(--piola-taupe-500); }
.pl-aba.is-ativa { background: var(--aba-cor); color: var(--piola-white); }
.pl-aba:active { transform: scale(0.97); }
.pl-aba__n { position: absolute; top: 2px; right: 3px; min-width: 20px; padding: 1px 5px; background: var(--piola-red-500); color: var(--piola-white); font-family: var(--font-body); font-size: 0.6875rem; font-weight: var(--weight-bold); letter-spacing: 0; line-height: 1.3; text-align: center; border-radius: var(--radius-full); }
.pl-aba__n:empty { display: none; }
.pl-aba.is-zero { opacity: 0.55; }

/* Categorias (chips com rolagem lateral, o chip ativo é centralizado pelo JS) */
.pl-cardapio__navs { margin-top: var(--space-2); }
.pl-chips { display: none; }
.pl-chips.is-ativa { display: block; }
.pl-chips__lista { position: relative; display: flex; flex-wrap: nowrap; gap: var(--space-2); margin: 0 calc(-1 * var(--gutter)); padding: 2px var(--gutter); list-style: none; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; scroll-snap-type: x proximity; scroll-padding-inline: var(--gutter); -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 var(--gutter), #000 calc(100% - var(--gutter)), transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 var(--gutter), #000 calc(100% - var(--gutter)), transparent 100%); }
.pl-chips__lista::-webkit-scrollbar { display: none; }
.pl-chips__lista > li { flex: none; scroll-snap-align: start; }
.pl-chip { display: inline-flex; align-items: center; min-height: 44px; padding: 0 var(--space-4); border: 1.5px solid var(--color-border-strong); border-radius: var(--radius-full); background: var(--piola-white); color: var(--piola-ink-900); font-family: var(--font-body); font-weight: var(--weight-semibold); font-size: var(--text-sm); text-decoration: none; white-space: nowrap; transition: background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out); -webkit-tap-highlight-color: transparent; }
.pl-chip:active { transform: scale(0.96); }
.pl-chip.is-ativa { background: var(--color-band); border-color: var(--color-band); color: var(--color-on-band); }

/* Estado da busca: contagem no lugar das categorias */
.pl-cardapio__status { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); min-height: 44px; }
.pl-cardapio__contagem { margin: 0; font-family: var(--font-display); font-weight: var(--weight-bold); font-size: 1.125rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--color-text); }
.pl-cardapio__limpar { min-height: 44px; padding: 0 var(--space-3); border: 0; background: transparent; color: var(--color-brand-text); font-family: var(--font-display); font-weight: var(--weight-bold); font-size: 1.0625rem; letter-spacing: 0.05em; text-transform: uppercase; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.pl-cardapio.is-buscando .pl-chips { display: none; }

/* ---------- Áreas ---------- */
.pl-cardapio__lista { padding-top: var(--space-4); padding-bottom: calc(var(--space-9) + env(safe-area-inset-bottom)); min-width: 0; }
.pl-area { min-width: 0; }
.pl-area + .pl-area { margin-top: var(--space-8); }

/* Com JS pronto só a área escolhida aparece; antes disso o CSS escolhe pela âncora para não piscar */
.pl-cardapio.is-pronto:not(.is-buscando) .pl-area:not(.is-ativa) { display: none; }
html.js .pl-cardapio:not(.is-pronto) .pl-area:not(:first-of-type):not(:target):not(:has(:target)) { display: none; }
html.js .pl-cardapio:not(.is-pronto) .pl-area:first-of-type:has(~ .pl-area:target),
html.js .pl-cardapio:not(.is-pronto) .pl-area:first-of-type:has(~ .pl-area :target) { display: none; }
.pl-cardapio.is-buscando .pl-capa, .pl-cardapio.is-buscando .pl-area > .pl-notas { display: none; }
.pl-cardapio.is-buscando .pl-area + .pl-area { margin-top: 0; }

/* Capa da área: foto da casa e título da área */
.pl-capa { position: relative; display: flex; align-items: flex-end; min-height: 128px; margin-bottom: var(--space-5); overflow: hidden; background: var(--piola-ink-900); color: var(--piola-white); isolation: isolate; }
.pl-capa__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.pl-capa::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgb(15 15 16 / 0.05) 0%, rgb(15 15 16 / 0.78) 100%); }
.pl-capa__texto { padding: var(--space-5) var(--space-4) var(--space-4); }
.pl-capa__titulo { margin: 0; font-family: var(--font-display); font-weight: var(--weight-bold); font-size: var(--text-xl); line-height: 1; letter-spacing: var(--tracking-caps); text-transform: uppercase; text-wrap: balance; }

/* Avisos (fermento Caputo, opções sem glúten, notas de categoria) */
.pl-notas { display: grid; gap: var(--space-3); margin: 0 0 var(--space-4); padding: var(--space-3) 0; list-style: none; border-block: 1px solid var(--color-border); }
.pl-nota-casa { display: grid; align-content: start; align-self: start; gap: 2px; margin: 0; font-size: var(--text-sm); line-height: 1.5; color: var(--color-text-muted); }
.pl-nota-casa__rotulo { font-family: var(--font-label); font-size: var(--text-2xs); letter-spacing: 0.18em; text-transform: uppercase; color: var(--color-code); }
.pl-nota-casa__texto { color: var(--color-text-muted); }
.pl-cat__nota { margin: var(--space-2) 0 0; }

/* Categoria */
.pl-cat { padding-top: var(--space-5); }
.pl-cat__topo { display: grid; gap: var(--space-2); margin-bottom: var(--space-2); }
.pl-cat__titulo { margin: 0; font-family: var(--font-display); font-weight: var(--weight-bold); font-size: var(--text-lg); line-height: 1.05; letter-spacing: var(--tracking-caps); text-transform: uppercase; color: var(--color-brand-text); text-wrap: balance; }
.pl-cat__sub { margin: 0; font-family: var(--font-display); font-weight: var(--weight-medium); font-size: 1.0625rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--color-link); }
.pl-grupo + .pl-grupo { margin-top: var(--space-4); }
.pl-grupo__titulo { margin: var(--space-4) 0 0; padding-bottom: var(--space-1); font-family: var(--font-label); font-weight: 400; font-size: var(--text-2xs); letter-spacing: 0.2em; text-transform: uppercase; color: var(--color-code); border-bottom: 1px solid var(--color-border); }
.pl-itens { margin: 0; padding: 0; list-style: none; }

/* ---------- Linha de produto ---------- */
.pl-item { position: relative; display: grid; grid-template-columns: 2.75rem minmax(0, 1fr) auto; column-gap: var(--space-3); align-items: start; min-height: 56px; padding: var(--space-4) var(--space-1); border-bottom: 1px solid var(--color-border); transition: background-color var(--dur-fast) var(--ease-out); }
.pl-item__codigo { padding-top: 3px; font-family: var(--font-display); font-weight: var(--weight-medium); font-size: 1.125rem; line-height: 1.15; color: var(--color-code); font-variant-numeric: tabular-nums; }
.pl-item__texto { min-width: 0; }
.pl-item__nome { margin: 0; font-family: var(--font-display); font-weight: var(--weight-bold); font-size: 1.25rem; line-height: 1.15; letter-spacing: 0.02em; text-transform: uppercase; }
.pl-item__abrir { color: inherit; text-decoration: none; -webkit-tap-highlight-color: transparent; }
.pl-item__abrir::after { content: ""; position: absolute; inset: 0; }
.pl-item__abrir:focus-visible { box-shadow: none; outline: none; }
.pl-item:has(.pl-item__abrir:focus-visible) { outline: 3px solid var(--color-focus); outline-offset: -3px; }
.pl-item__abrir small { display: inline; font-family: var(--font-body); font-weight: var(--weight-regular); font-size: var(--text-xs); letter-spacing: 0; text-transform: none; color: var(--color-text-muted); }
.pl-item__desc { margin: 4px 0 0; max-width: 52ch; font-size: var(--text-sm); font-weight: var(--weight-light); line-height: 1.4; color: var(--color-text); }
.pl-item__lado { padding-top: 1px; text-align: right; }
.pl-preco { white-space: nowrap; font-family: var(--font-display); font-variant-numeric: tabular-nums; line-height: 1.15; }
.pl-preco__valor { font-weight: var(--weight-bold); font-size: 1.25rem; }
.pl-preco--consulte .pl-preco__valor { font-weight: var(--weight-medium); font-size: 1rem; letter-spacing: 0.05em; text-transform: uppercase; color: var(--color-text-muted); }
.pl-item__precos { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-5); margin-top: var(--space-2); }
.pl-item__precos .pl-preco { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 0; }
.pl-preco__rotulo { font-family: var(--font-body); font-weight: var(--weight-semibold); font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-text-muted); }
.pl-item__lado .pl-preco__rotulo { display: none; }

/* Foto do prato (só os que já têm foto no site): miniatura na direita */
.pl-item--foto { grid-template-columns: 2.75rem minmax(0, 1fr) 76px; }
.pl-item--foto .pl-item__foto { grid-column: 3; grid-row: 1 / span 2; width: 76px; height: 76px; overflow: hidden; background: var(--piola-ink-900); }
.pl-item--foto .pl-item__img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur-slow) var(--ease-out); }
.pl-item--foto .pl-item__lado { grid-column: 2; grid-row: 2; text-align: left; padding-top: var(--space-2); }

@media (hover: hover) {
  .pl-item:hover { background: rgb(255 255 255 / 0.7); }
  .pl-item:hover .pl-item__nome { color: var(--color-brand-text); }
  .pl-item:hover .pl-item__img { transform: scale(1.06); }
  .pl-chip:hover:not(.is-ativa) { background: var(--piola-ink-900); border-color: var(--piola-ink-900); color: var(--piola-white); }
  .pl-aba:hover:not(.is-ativa) { background: var(--piola-paper-100); }
}
.pl-item:active { background: rgb(255 255 255 / 0.9); }

/* Resultado vazio */
.pl-vazio { display: grid; justify-items: center; gap: var(--space-3); padding: var(--space-8) var(--space-4); text-align: center; }
.pl-vazio__titulo { margin: 0; font-family: var(--font-display); font-weight: var(--weight-bold); font-size: var(--text-lg); letter-spacing: var(--tracking-caps); text-transform: uppercase; overflow-wrap: anywhere; }
.pl-vazio__texto { margin: 0; max-width: 40ch; color: var(--color-text-muted); }

/* Faixa de fechamento: iFood, uma vez, depois da última categoria (some só durante a busca) */
.pl-fecho { display: grid; gap: var(--space-4); justify-items: start; margin-top: var(--space-8); padding: var(--space-5); background: var(--piola-ink-900); color: var(--piola-white); }
.pl-fecho__titulo { margin: 0; font-family: var(--font-display); font-weight: var(--weight-bold); font-size: var(--text-lg); line-height: 1.05; letter-spacing: var(--tracking-caps); text-transform: uppercase; }
.pl-fecho__frase { margin: var(--space-1) 0 0; color: var(--piola-ink-300); font-size: var(--text-base); }
.pl-cardapio.is-buscando .pl-fecho { display: none; }
@media (min-width: 768px) { .pl-fecho { grid-template-columns: minmax(0, 1fr) auto; align-items: center; padding: var(--space-5) var(--space-6); } }

/* ---------- Folha de detalhe (gaveta no celular, janela no computador) ---------- */
html:not(.js) .pl-folha { display: none; }
html.folha-aberta { overflow: hidden; scrollbar-gutter: stable; }
.pl-folha { position: fixed; inset: 0; z-index: var(--z-modal); visibility: hidden; transition: visibility 0s linear var(--dur-slow); }
.pl-folha.is-aberta { visibility: visible; transition-delay: 0s; }
.pl-folha__fundo { position: absolute; inset: 0; background: rgb(15 15 16 / 0.62); opacity: 0; transition: opacity var(--dur-slow) var(--ease-out); }
.pl-folha.is-aberta .pl-folha__fundo { opacity: 1; }
.pl-folha__painel { --arraste: 0px; position: absolute; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; max-height: 90vh; max-height: 90dvh; background: var(--piola-white); color: var(--piola-ink-900); border-radius: var(--radius-lg) var(--radius-lg) 0 0; box-shadow: 0 -12px 40px rgb(15 15 16 / 0.3); transform: translateY(100%); transition: transform var(--dur-slow) var(--ease-out); outline: none; overflow: hidden; padding-bottom: env(safe-area-inset-bottom); }
.pl-folha.is-aberta .pl-folha__painel { transform: translateY(var(--arraste)); }
.pl-folha.is-arrastando .pl-folha__painel, .pl-folha.is-arrastando .pl-folha__fundo { transition: none; }
.pl-folha__alca { flex: none; display: grid; place-items: center; height: 28px; cursor: grab; touch-action: none; }
.pl-folha__alca i { display: block; width: 44px; height: 5px; border-radius: var(--radius-full); background: var(--piola-ink-300); }
.pl-folha__fechar { position: absolute; top: 6px; right: 6px; z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: var(--radius-full); background: var(--piola-paper-100); color: var(--piola-ink-900); cursor: pointer; transition: background-color var(--dur-fast) var(--ease-out); }
.pl-folha__fechar svg { width: 18px; height: 18px; }
.pl-folha__fechar:hover { background: var(--piola-paper-200); }
.pl-folha__rolagem { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.pl-folha__foto { margin: 0; aspect-ratio: 16 / 10; overflow: hidden; background: var(--piola-ink-900); }
.pl-folha__foto img { width: 100%; height: 100%; object-fit: cover; }
.pl-folha__corpo { display: grid; gap: var(--space-3); padding: var(--space-2) var(--space-5) var(--space-5); }
.pl-folha__meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-2) var(--space-3); margin: 0; padding-right: 48px; }
.pl-folha__codigo { font-family: var(--font-display); font-weight: var(--weight-bold); font-size: 1.25rem; color: var(--color-code); font-variant-numeric: tabular-nums; }
.pl-folha__cat { font-family: var(--font-label); font-size: var(--text-2xs); letter-spacing: 0.16em; text-transform: uppercase; color: var(--color-text-muted); }
.pl-folha__nome[hidden] { display: none; }
.pl-folha__nome { margin: 0; font-family: var(--font-display); font-weight: var(--weight-bold); font-size: var(--text-xl); line-height: 1; letter-spacing: var(--tracking-caps); text-transform: uppercase; color: var(--color-brand-text); text-wrap: balance; }
.pl-folha__detalhe { margin: -4px 0 0; color: var(--color-text-muted); font-size: var(--text-sm); }
.pl-folha__desc { margin: 0; font-size: var(--text-base); line-height: 1.5; max-width: 52ch; }
.pl-folha__precos { display: grid; gap: 0; margin: var(--space-2) 0 0; padding: 0; list-style: none; border-top: 1px solid var(--color-border); }
.pl-folha__precos li { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); min-height: 48px; padding: var(--space-2) 0; border-bottom: 1px solid var(--color-border); }
.pl-folha__precos span { font-weight: var(--weight-semibold); font-size: var(--text-sm); text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-text-muted); }
.pl-folha__precos b { margin-left: auto; font-family: var(--font-display); font-weight: var(--weight-bold); font-size: 1.5rem; font-variant-numeric: tabular-nums; }
.pl-folha__precos .is-consulte { font-weight: var(--weight-medium); font-size: 1.125rem; letter-spacing: 0.05em; text-transform: uppercase; color: var(--color-text-muted); }
.pl-folha__nota { margin: 0; }
.pl-folha__wa { margin-top: var(--space-2); }
.pl-folha__wa svg { width: 22px; height: 22px; }

@media (min-width: 768px) {
  .pl-folha__painel { left: 50%; right: auto; bottom: auto; top: 50%; width: min(560px, calc(100% - 48px)); max-height: min(86vh, 760px); max-height: min(86dvh, 760px); padding-bottom: 0; border-radius: var(--radius-md); opacity: 0; transform: translate(-50%, calc(-50% + 24px)) scale(0.98); transition: transform var(--dur-slow) var(--ease-out), opacity var(--dur-base) var(--ease-out); }
  .pl-folha.is-aberta .pl-folha__painel { opacity: 1; transform: translate(-50%, -50%); }
  .pl-folha__alca { display: none; }
  .pl-folha__fechar { top: 12px; right: 12px; }
  .pl-folha__corpo { padding: var(--space-6) var(--space-6) var(--space-6); }
  .pl-folha.tem-foto .pl-folha__painel { width: min(880px, calc(100% - 48px)); }
  .pl-folha.tem-foto .pl-folha__rolagem { display: grid; grid-template-columns: 5fr 6fr; overflow: hidden; }
  .pl-folha.tem-foto .pl-folha__foto { aspect-ratio: auto; height: 100%; min-height: 420px; }
  .pl-folha.tem-foto .pl-folha__corpo { overflow-y: auto; align-content: start; }
}

/* ---------- Computador: coluna lateral fixa (busca, áreas, categorias) + lista ---------- */
@media (min-width: 1024px) {
  .pl-cardapio { padding-block: var(--space-6) var(--space-9); }
  .pl-cardapio__grade { grid-template-columns: 280px minmax(0, 1fr); column-gap: var(--space-8); }
  .pl-cardapio__lateral { display: block; position: sticky; top: calc(var(--topo) + var(--space-4)); max-height: calc(100vh - var(--topo) - var(--space-6)); max-height: calc(100dvh - var(--topo) - var(--space-6)); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; padding-right: 2px; }
  .pl-busca { padding-top: 0; }
  .pl-cardapio__sentinela { display: none; }
  .pl-cardapio__barra { position: static; margin: 0; padding: 0; background: transparent; border: 0; box-shadow: none !important; }
  .pl-abas { grid-template-columns: minmax(0, 1fr); }
  .pl-aba { min-height: 52px; justify-items: start; padding: 4px 16px; text-align: left; font-size: 1.125rem; }
  .pl-aba + .pl-aba { border-left: 0; border-top: 2px solid var(--piola-ink-900); }
  .pl-aba__n { top: 50%; right: 12px; transform: translateY(-50%); }
  .pl-cardapio__navs { margin-top: var(--space-4); }
  .pl-chips__lista { flex-direction: column; flex-wrap: nowrap; gap: 2px; margin: 0; padding: 0; overflow: visible; -webkit-mask-image: none; mask-image: none; }
  .pl-chip { display: flex; width: 100%; min-height: 44px; border: 0; border-left: 4px solid transparent; border-radius: 0; background: transparent; padding: 0 var(--space-3); }
  .pl-chip.is-ativa { background: var(--piola-white); border-left-color: var(--color-band); color: var(--color-text); }
  @media (hover: hover) { .pl-chip:hover:not(.is-ativa) { background: rgb(255 255 255 / 0.7); border-color: transparent; border-left-color: var(--color-band); color: var(--color-text); } }
  .pl-cardapio__lista { padding-top: 0; }
  .pl-pg-cardapio .pl-cardapio [id] { scroll-margin-top: calc(var(--topo) + var(--space-4)); }
  .pl-capa { min-height: 176px; margin-bottom: var(--space-5); }
  .pl-capa__texto { padding: var(--space-6); }
  .pl-cat { padding-top: var(--space-7); }
  .pl-cat:first-of-type { padding-top: var(--space-4); }
}
@media (min-width: 768px) { .pl-notas { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-6); } }
@media (min-width: 1280px) {
  .pl-itens { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-7); }
  .pl-cardapio__grade { grid-template-columns: 300px minmax(0, 1fr); }
}

/* ---------- Sem JS: tudo em sequência, sem barra fixa ---------- */
html:not(.js) .pl-cardapio__barra { position: static; }
html:not(.js) .pl-chips { display: block; }
html:not(.js) .pl-chips__lista { flex-wrap: wrap; overflow: visible; -webkit-mask-image: none; mask-image: none; }
html:not(.js) .pl-busca, html:not(.js) .pl-cardapio__status { display: none; }
html:not(.js) .pl-pg-cardapio .pl-cardapio [id] { scroll-margin-top: calc(var(--topo) + var(--space-3)); }

/* ---------- Movimento reduzido ---------- */
@media (prefers-reduced-motion: reduce) {
  .pl-cardapio, .pl-cardapio__barra, .pl-aba, .pl-chip, .pl-item, .pl-item__img, .pl-folha, .pl-folha__fundo, .pl-folha__painel { transition-duration: 0.01ms !important; transition-delay: 0s !important; }
  .pl-aba:active, .pl-chip:active { transform: none; }
}
