/* v1.52.0: cardápio digital com as cores do parceiro. As cores vêm do <body style>: --cd-cor (marca), --cd-sobre (texto por cima dela),
   --cd-cor-texto (a marca ajustada para ler no fundo) e --cd-suave (fundo leve da marca). */
.cd { --fundo:#fff; --cartao:#fff; --texto:#1a1a1a; --mudo:#6b6b6b; --linha:#ececec; --rosa:var(--cd-cor-texto);
  margin:0; background:var(--fundo); color:var(--texto); font:16px/1.45 "DM Sans", system-ui, sans-serif; -webkit-font-smoothing:antialiased; padding-bottom:96px; }
.cd-escuro { --fundo:#141414; --cartao:#1e1e1e; --texto:#f3f3f3; --mudo:#a5a5a5; --linha:#2b2b2b; color-scheme:dark; }
.cd *, .cd *::before, .cd *::after { box-sizing:border-box; }
.cd a { color:inherit; }
.cd .muted { color:var(--mudo); } .cd .small { font-size:.85em; }

/* topo: capa com a cor da marca por cima, logo e nome */
.cd-topo { position:relative; background:var(--cd-cor); color:var(--cd-sobre); }
.cd-capa { height:170px; background:var(--cd-cor) center/cover no-repeat; }
.cd-capa::after { content:""; position:absolute; inset:0 0 auto; height:170px; background:linear-gradient(180deg, transparent 30%, var(--cd-cor) 100%); }
.cd-voltar { position:absolute; top:12px; left:12px; z-index:2; width:38px; height:38px; border-radius:50%; display:grid; place-items:center;
  background:rgba(0,0,0,.45); color:#fff !important; text-decoration:none; font-size:26px; line-height:1; }
.cd-marca { position:relative; display:flex; gap:14px; align-items:flex-end; padding:0 16px 18px; margin-top:-46px; max-width:760px; margin-left:auto; margin-right:auto; }
.cd-logo { width:84px; height:84px; flex:none; border-radius:20px; object-fit:cover; background:#fff; border:3px solid var(--cd-cor); box-shadow:0 4px 16px rgba(0,0,0,.18); }
.cd-logo-letra { display:grid; place-items:center; font-size:38px; font-weight:700; color:var(--cd-cor); }
.cd-marca h1 { margin:0; font-size:24px; line-height:1.15; letter-spacing:-.01em; }
.cd-local { margin:2px 0 0; opacity:.85; font-size:14px; }
.cd .card-hoje { margin:6px 0 0; font-size:13px; display:flex; flex-wrap:wrap; gap:4px 10px; }
.cd .card-hoje span { background:rgba(0,0,0,.18); padding:2px 9px; border-radius:99px; }
.cd .card-aberto::first-letter { color:inherit; }

/* atalhos das seções e busca, presos no alto */
.cd-secoes { position:sticky; top:0; z-index:5; background:var(--fundo); border-bottom:1px solid var(--linha); padding:10px 0 0; }
.cd-busca { max-width:760px; margin:0 auto; padding:0 16px 10px; }
.cd-busca input { width:100%; font:inherit; font-size:15px; padding:10px 14px 10px 38px; border-radius:12px; border:1px solid var(--linha); background:var(--cartao) no-repeat 12px center / 18px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E"); color:var(--texto); }
.cd-busca input:focus { outline:2px solid var(--cd-cor); outline-offset:-1px; }
.cd-chips { display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; padding:0 16px 10px; max-width:760px; margin:0 auto; }
.cd-chips::-webkit-scrollbar { display:none; }
.cd-chips a { flex:none; text-decoration:none; font-size:14px; font-weight:500; padding:7px 14px; border-radius:99px; background:var(--cd-suave); color:var(--texto); white-space:nowrap; }
.cd-chips a.on { background:var(--cd-cor); color:var(--cd-sobre); }

/* itens */
.cd-menu { max-width:760px; margin:0 auto; padding:0 16px; }
.cd-secao { scroll-margin-top:120px; }
.cd-secao h2 { font-size:19px; margin:26px 0 6px; color:var(--cd-cor-texto); letter-spacing:-.01em; display:flex; align-items:center; gap:10px; }
.cd-secao h2::after { content:""; flex:1; height:2px; background:var(--cd-suave); border-radius:2px; }
.cd-item { all:unset; box-sizing:border-box; display:flex; gap:14px; width:100%; padding:14px 0; border-bottom:1px solid var(--linha); cursor:pointer; text-align:left; }
.cd-item:focus-visible { outline:2px solid var(--cd-cor); outline-offset:2px; border-radius:8px; }
.cd-txt { flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.cd-nome { font-size:16px; font-weight:700; }
.cd-desc { color:var(--mudo); font-size:14px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cd-preco { font-weight:700; color:var(--cd-cor-texto); font-size:15px; margin-top:2px; }
.cd-preco s { color:var(--mudo); font-weight:400; }
.cd-preco .menu-promo { display:flex; flex-wrap:wrap; gap:0 6px; align-items:baseline; }
.cd-selos { display:flex; flex-wrap:wrap; gap:4px; margin-top:4px; }
.cd-selo { font-size:12px; padding:2px 8px; border-radius:99px; background:var(--cd-suave); color:var(--texto); }
.cd-selo-promo { background:var(--cd-cor); color:var(--cd-sobre); font-weight:700; }
.cd-foto { width:104px; height:104px; flex:none; border-radius:14px; object-fit:cover; background:var(--cd-suave); }
.cd-ilustra { display:grid; place-items:center; overflow:hidden; }
.cd-ilustra img { width:100%; height:100%; object-fit:cover; }
.cd-vazio { text-align:center; color:var(--mudo); padding:40px 0; }

/* grade: foto grande em cima, dois por linha (três no computador) */
.cd-grade .cd-itens { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px; padding-top:8px; }
@media (min-width:640px) { .cd-grade .cd-itens { grid-template-columns:repeat(3, minmax(0,1fr)); } }
.cd-grade .cd-item { flex-direction:column-reverse; justify-content:flex-end; gap:0; padding:0; border:1px solid var(--linha); border-radius:16px; overflow:hidden; background:var(--cartao); }
.cd-grade .cd-foto { width:100%; height:auto; aspect-ratio:4/3; border-radius:0; }
.cd-grade .cd-txt { padding:10px 12px 12px; }
.cd-grade .cd-nome { font-size:15px; }

/* folha do item */
.cd-folha { border:0; padding:0; margin:auto auto 0; width:100%; max-width:560px; max-height:88vh; border-radius:22px 22px 0 0; background:var(--cartao); color:var(--texto); }
@media (min-width:640px) { .cd-folha { margin:auto; border-radius:22px; } }
.cd-folha::backdrop { background:rgba(0,0,0,.55); }
.cd-folha-corpo .cd-foto { width:100%; height:auto; aspect-ratio:4/3; border-radius:0; display:block; }
.cd-folha-corpo .cd-txt { padding:18px 20px 24px; gap:6px; }
.cd-folha-corpo .cd-nome { font-size:20px; }
.cd-folha-corpo .cd-desc { -webkit-line-clamp:unset; font-size:15px; }
.cd-folha-corpo .cd-preco { font-size:18px; }
.cd-fechar { position:absolute; top:10px; right:10px; width:36px; height:36px; border-radius:50%; border:0; background:rgba(0,0,0,.55); color:#fff; font-size:16px; cursor:pointer; }

/* reservar e rodapé */
.cd-reservar { position:fixed; left:50%; bottom:calc(16px + env(safe-area-inset-bottom)); transform:translateX(-50%); z-index:6; text-decoration:none;
  background:var(--cd-cor); color:var(--cd-sobre) !important; font-weight:700; padding:14px 28px; border-radius:99px; box-shadow:0 6px 20px rgba(0,0,0,.25); white-space:nowrap; }
.cd-rodape { text-align:center; color:var(--mudo); font-size:12px; padding:28px 16px 0; }
.cd-rodape a { text-decoration:none; }

/* v1.52.2: o mesmo cardápio dentro do site (página do lugar e aba Cardápio da folha): segue o tema claro ou escuro do site */
.cd-embed { --texto:currentColor; --mudo:color-mix(in srgb, currentColor 62%, transparent); --linha:color-mix(in srgb, currentColor 14%, transparent);
  --cartao:color-mix(in srgb, currentColor 4%, transparent); --cd-suave:color-mix(in srgb, var(--cd-cor) 18%, transparent); --cd-cor-texto:var(--cd-ct-escuro); --rosa:var(--cd-cor-texto); }
[data-tema="claro"] .cd-embed { --cd-cor-texto:var(--cd-ct-claro); }
.cd-embed .cd-chips { padding:4px 0 8px; margin:0; max-width:none; flex-wrap:wrap; }
.cd-embed .cd-menu, .cd-embed .cd-secao { max-width:none; }
.cd-embed .cd-secao h2 { margin-top:18px; }
.cd-embed .cd-item { cursor:default; }
.cd-embed .cd-desc { -webkit-line-clamp:unset; }
.cd-embed .cd-foto { width:88px; height:88px; }
.cd-embed.cd-grade .cd-foto { width:100%; height:auto; }
