.cmm {
  --cmm-bg:#1d1d1d; --cmm-surface:#262626; --cmm-ink:#f8f5ed; --cmm-muted:#b2b4a9;
  --cmm-line:#35382f; --cmm-accent:#e9ae45; --cmm-accent-ink:#15130f; --cmm-radius:18px;
  color:var(--cmm-ink); background:var(--cmm-bg); font:400 16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  position:relative; isolation:isolate; width:100%; color-scheme:dark; overflow-wrap:anywhere;
}
.cmm[data-theme="light"] { --cmm-bg:#f8f5ed; --cmm-surface:#ffffff; --cmm-ink:#20251c; --cmm-muted:#656b60; --cmm-line:#dddfd4; color-scheme:light; }
.cmm *, .cmm *::before, .cmm *::after { box-sizing:border-box; }
.cmm [hidden] { display:none!important; }
.cmm button,.cmm input,.cmm textarea,.cmm select { font:inherit; letter-spacing:inherit; }
.cmm button,.cmm a { -webkit-tap-highlight-color:transparent; }
.cmm button { cursor:pointer; text-transform:none; box-shadow:none; }
.cmm button:disabled { cursor:default; opacity:.5; }
.cmm button:focus-visible,.cmm a:focus-visible,.cmm input:focus-visible,.cmm textarea:focus-visible,.cmm select:focus-visible,.cmm summary:focus-visible { outline:3px solid var(--cmm-accent); outline-offset:4px; }
.cmm h1,.cmm h2,.cmm h3,.cmm p { padding:0; margin:0; color:inherit; }
.cmm h1,.cmm h2,.cmm h3 { font-family:inherit; font-weight:750; line-height:1.06; letter-spacing:-.055em; }
.cmm a { color:inherit; text-decoration:none; }
.cmm .cmm-shell { max-width:1280px; margin:0 auto; padding:0 44px 132px; }
.cmm .cmm-header { min-height:100px; padding:20px 0; display:flex; justify-content:space-between; align-items:center; gap:16px; border-bottom:1px solid var(--cmm-line); }
.cmm .cmm-identity { display:flex; align-items:center; gap:13px; min-width:0; }
.cmm .cmm-monogram { width:44px; height:44px; border-radius:50%; display:grid; place-items:center; background:var(--cmm-accent); color:var(--cmm-accent-ink); flex:none; font-size:25px; font-weight:800; }
.cmm .cmm-logo { width:52px; height:52px; object-fit:cover; border-radius:23%; }
.cmm .cmm-brand { font-size:23px; font-weight:800; letter-spacing:-.035em; line-height:1.2; }
.cmm .cmm-overline { font-size:10px; letter-spacing:.15em; color:var(--cmm-muted); margin-top:4px; }
.cmm .cmm-icon { display:inline-flex; width:21px; height:21px; align-items:center; justify-content:center; flex:none; }
.cmm .cmm-icon svg { width:100%; height:100%; }
.cmm .cmm-top-cart { color:var(--cmm-ink); display:flex; gap:12px; align-items:center; border:1px solid var(--cmm-line); background:transparent; border-radius:99px; padding:12px 18px; min-height:46px; white-space:nowrap; }
.cmm .cmm-intro { display:flex; align-items:flex-end; gap:40px; justify-content:space-between; padding:42px 0 32px; }
.cmm .cmm-eyebrow { display:block; font-size:11px; letter-spacing:.17em; font-weight:650; margin-bottom:13px; color:var(--cmm-accent); }
.cmm[data-theme="light"] .cmm-eyebrow { color:var(--cmm-muted); }
.cmm h1 { font-size:clamp(32px,4.4vw,59px); max-width:830px; }
.cmm .cmm-subtitle { color:var(--cmm-muted); font-size:15px; margin-top:15px; }
.cmm .cmm-service { color:var(--cmm-muted); font-size:12px; max-width:170px; flex:none; padding-bottom:4px; }
.cmm .cmm-feature-wrap { display:grid; grid-template-columns:1.05fr 1fr; background:var(--cmm-surface); border-radius:var(--cmm-radius); overflow:hidden; margin-bottom:40px; }
.cmm .cmm-media { position:relative; overflow:hidden; background:#191b17; aspect-ratio:4/5; border-radius:var(--cmm-radius); isolation:isolate; }
.cmm .cmm-media img,.cmm .cmm-media video { display:block; width:100%; height:100%; position:absolute; inset:0; object-fit:cover; border-radius:inherit; }
.cmm .cmm-media video { opacity:0; }
.cmm .cmm-media video.is-playing { opacity:1; }
.cmm .cmm-no-media { width:100%; height:100%; display:grid; place-items:center; padding:28px; text-align:center; color:#e4e7de; background:linear-gradient(140deg,#24291f,#111510); font-weight:700; font-size:28px; }
.cmm .cmm-video-control { position:absolute; bottom:14px; right:14px; border:1px solid #ffffff55; border-radius:50%; background:#10130ed9; color:#fff; height:44px; width:44px; display:grid; place-items:center; padding:0; z-index:2; }
.cmm .cmm-feature-wrap>.cmm-media { border-radius:0; aspect-ratio:1.1; }
.cmm .cmm-feature-copy { padding:44px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.cmm .cmm-feature-copy h2 { font-size:clamp(36px,4.5vw,65px); max-width:420px; }
.cmm .cmm-feature-description { color:var(--cmm-muted); margin-top:24px; max-width:350px; font-size:16px; }
.cmm .cmm-feature-bottom { display:flex; align-items:center; flex-wrap:wrap; gap:20px; margin-top:32px; width:100%; justify-content:space-between; }
.cmm .cmm-feature-price { font-size:25px; letter-spacing:-.04em; }
.cmm .cmm-primary { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:50px; padding:14px 22px; border:0; border-radius:10px; background:var(--cmm-accent); color:var(--cmm-accent-ink); font-weight:700; font-size:15px; line-height:1.3; text-align:center; }
.cmm .cmm-primary:hover { filter:brightness(1.06); }
.cmm .cmm-toolbar { padding:12px 0 20px; display:flex; flex-wrap:nowrap; gap:16px; justify-content:space-between; align-items:center; }
.cmm .cmm-cats-wrap { position:relative; flex:1 1 auto; min-width:0; display:flex; align-items:center; }
.cmm .cmm-cats-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:2; width:34px; height:34px; min-height:0; padding:0 0 3px; border-radius:50%; border:1px solid var(--cmm-line); background:var(--cmm-bg); color:var(--cmm-ink); font-size:22px; line-height:1; cursor:pointer; display:grid; place-items:center; }
/* As categorias somem suavemente sob a seta (sem aro nem cortes nas bordas dos botões). */
.cmm .cmm-cats-wrap.has-right .cmm-categories { -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 60px),transparent calc(100% - 36px)); mask-image:linear-gradient(90deg,#000 calc(100% - 60px),transparent calc(100% - 36px)); }
.cmm .cmm-cats-wrap.has-left .cmm-categories { -webkit-mask-image:linear-gradient(90deg,transparent 36px,#000 60px); mask-image:linear-gradient(90deg,transparent 36px,#000 60px); }
.cmm .cmm-cats-wrap.has-left.has-right .cmm-categories { -webkit-mask-image:linear-gradient(90deg,transparent 36px,#000 60px,#000 calc(100% - 60px),transparent calc(100% - 36px)); mask-image:linear-gradient(90deg,transparent 36px,#000 60px,#000 calc(100% - 60px),transparent calc(100% - 36px)); }
.cmm .cmm-cats-arrow[hidden] { display:none; }
.cmm .cmm-cats-arrow.is-left { left:0; }
.cmm .cmm-cats-arrow.is-right { right:0; }
.cmm .cmm-cats-arrow:hover { background:var(--cmm-ink); color:var(--cmm-bg); }
.cmm .cmm-categories { display:flex; flex-wrap:nowrap; gap:8px; flex:1 1 auto; min-width:0; width:100%; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; padding:4px 2px; margin:-4px -2px; -webkit-overflow-scrolling:touch; }
.cmm .cmm-categories::-webkit-scrollbar { display:none; }
.cmm .cmm-categories .cmm-category { flex:0 0 auto; white-space:nowrap; }
.cmm .cmm-category { border:1px solid var(--cmm-line); border-radius:99px; padding:10px 20px; background:transparent; color:var(--cmm-muted); min-height:44px; font-size:14px; }
.cmm .cmm-category[aria-pressed="true"] { background:var(--cmm-ink); color:var(--cmm-bg); border-color:var(--cmm-ink); }
.cmm .cmm-search { display:flex; align-items:center; gap:10px; padding:10px 16px; background:var(--cmm-surface); border:1px solid var(--cmm-line); border-radius:99px; color:var(--cmm-muted); min-width:240px; }
.cmm .cmm-search input { width:100%; min-width:0; padding:0; background:transparent; border:0; outline-offset:5px; color:var(--cmm-ink); box-shadow:none; height:auto; font-size:14px; }
.cmm .cmm-search input::placeholder { color:var(--cmm-muted); opacity:1; }
.cmm .cmm-menu-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 0; }
.cmm .cmm-menu-heading h2 { font-size:28px; letter-spacing:-.04em; }
.cmm .cmm-count { font-size:12px; color:var(--cmm-muted); white-space:nowrap; }
.cmm .cmm-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 24px; }
.cmm .cmm-product { min-width:0; }
.cmm .cmm-product-body { padding:18px 2px 0; }
.cmm .cmm-product h3 { font-size:22px; }
.cmm .cmm-name-button { border:0; padding:0; background:transparent; color:inherit; text-align:left; font:inherit; }
.cmm .cmm-description { color:var(--cmm-muted); font-size:14px; margin:10px 0 17px; min-height:44px; }
.cmm .cmm-product-bottom { display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; align-items:center; }
.cmm .cmm-price { font-size:19px; letter-spacing:-.02em; }
.cmm .cmm-add { display:flex; align-items:center; gap:10px; border:1px solid var(--cmm-line); color:var(--cmm-ink); background:var(--cmm-surface); border-radius:9px; padding:10px 13px; min-height:44px; font-size:13px; font-weight:600; }
.cmm .cmm-add:hover:not(:disabled) { border-color:var(--cmm-accent); }
.cmm .cmm-footer { margin-top:60px; padding-top:24px; border-top:1px solid var(--cmm-line); display:flex; justify-content:space-between; gap:20px; color:var(--cmm-muted); font-size:12px; }
.cmm .cmm-empty { padding:40px 10px; text-align:center; color:var(--cmm-muted); }
.cmm .cmm-cart-bar { position:fixed; bottom:max(20px,env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); z-index:1000; width:min(520px,calc(100% - 32px)); display:flex; align-items:center; gap:14px; padding:15px 20px; min-height:64px; border:1px solid #ffffff22; border-radius:14px; background:var(--cmm-accent); color:var(--cmm-accent-ink); box-shadow:0 10px 50px #0004; font-size:15px; font-weight:600; }
.cmm .cmm-cart-bar strong { margin-left:auto; white-space:nowrap; }
.cmm .cmm-cart-count { width:29px; height:29px; background:#0002; border-radius:7px; display:grid; place-items:center; flex:none; }
.cmm .cmm-toast { position:fixed; left:50%; bottom:104px; transform:translate(-50%,8px); max-width:calc(100% - 32px); background:var(--cmm-ink); color:var(--cmm-bg); border-radius:99px; padding:12px 22px; opacity:0; pointer-events:none; transition:opacity .18s,transform .18s; z-index:2147483647; text-align:center; font-size:13px; }
.cmm .cmm-toast.is-visible { opacity:1; transform:translate(-50%,0); }
.cmm .cmm-dialog { color:var(--cmm-ink); background:var(--cmm-bg); border:1px solid var(--cmm-line); border-radius:22px; padding:24px; width:min(560px,calc(100% - 24px)); max-height:calc(100dvh - 32px); overscroll-behavior:contain; }
.cmm .cmm-dialog::backdrop { background:#080a08bb; backdrop-filter:blur(5px); }
.cmm .cmm-dialog-head { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:20px; }
.cmm .cmm-dialog-head h2 { font-size:29px; }
.cmm .cmm-icon-button { display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--cmm-line); border-radius:50%; color:var(--cmm-ink); background:var(--cmm-surface); padding:0; flex:none; }
.cmm .cmm-dialog>.cmm-media { aspect-ratio:auto; height:clamp(170px,28vh,270px); }
.cmm .cmm-detail-description { color:var(--cmm-muted); font-size:15px; margin:18px 0 22px; }
.cmm .cmm-field { display:flex; flex-direction:column; gap:9px; font-size:14px; margin:20px 0; color:var(--cmm-ink); }
.cmm .cmm-field textarea,.cmm .cmm-field select { padding:12px; border:1px solid var(--cmm-line); border-radius:9px; color:var(--cmm-ink); background:var(--cmm-surface); width:100%; font-size:16px; box-shadow:none; min-height:48px; }
.cmm .cmm-field textarea { resize:vertical; }
.cmm .cmm-stepper { display:flex; gap:5px; align-items:center; border:1px solid var(--cmm-line); border-radius:10px; flex:none; }
.cmm .cmm-stepper button { display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; color:var(--cmm-ink); background:transparent; }
.cmm .cmm-stepper output { min-width:22px; text-align:center; color:var(--cmm-ink); padding:0; background:transparent; }
.cmm .cmm-detail-actions { display:flex; align-items:stretch; gap:16px; }
.cmm .cmm-detail-actions>.cmm-primary { flex:1; }
.cmm .cmm-cart-lines { border-top:1px solid var(--cmm-line); }
.cmm .cmm-cart-line { padding:20px 0; border-bottom:1px solid var(--cmm-line); display:grid; grid-template-columns:1fr auto; gap:20px; font-size:15px; }
.cmm .cmm-line-note { color:var(--cmm-muted); font-size:13px; margin-top:5px; }
.cmm .cmm-line-actions { display:flex; flex-direction:column; align-items:flex-end; gap:10px; }
.cmm .cmm-remove { display:block; border:0; background:transparent; color:var(--cmm-muted); font-size:12px; text-decoration:underline; padding:10px 0; min-height:40px; }
.cmm .cmm-total { display:flex; justify-content:space-between; gap:20px; font-size:16px; margin-top:24px; }
.cmm .cmm-help { font-size:12px; color:var(--cmm-muted); margin:12px 0; }
.cmm .cmm-send { display:flex; width:100%; margin-top:20px; min-height:54px; }
.cmm .cmm-send[aria-disabled="true"] { opacity:.55; }
.cmm .cmm-message-preview { margin-top:20px; font-size:12px; color:var(--cmm-muted); }
.cmm .cmm-message-preview summary { cursor:pointer; padding:8px 0; }
.cmm .cmm-message-preview pre { white-space:pre-wrap; overflow-wrap:anywhere; font-family:inherit; font-size:12px; line-height:1.6; padding:16px; background:var(--cmm-surface); color:var(--cmm-ink); border-radius:10px; max-width:100%; }
.cmm[data-layout="compact"] .cmm-feature-wrap { display:none; }
.cmm[data-layout="compact"] .cmm-product>.cmm-media { aspect-ratio:4/3; }
@media(min-width:1500px) { .cmm .cmm-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:900px) {
  .cmm .cmm-shell { padding-left:24px; padding-right:24px; }
  .cmm .cmm-feature-copy { padding:28px; }
  .cmm .cmm-feature-copy h2 { font-size:42px; }
  .cmm .cmm-feature-bottom { gap:16px; }
  .cmm .cmm-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cmm .cmm-toolbar { gap:12px; }
  .cmm .cmm-search { flex:0 0 auto; min-width:200px; }
  .cmm .cmm-service { display:none; }
}
@media(max-width:600px) {
  .cmm .cmm-shell { padding:0 18px 112px; }
  .cmm .cmm-header { min-height:82px; padding:16px 0; gap:10px; }
  .cmm .cmm-brand { font-size:20px; }
  .cmm .cmm-monogram { width:38px; height:38px; font-size:22px; }
  .cmm .cmm-identity { gap:9px; }
  .cmm .cmm-overline { font-size:8px; letter-spacing:.1em; }
  .cmm .cmm-top-cart { padding:10px 12px; font-size:11px; gap:7px; }
  .cmm .cmm-top-cart .cmm-icon { width:18px; height:18px; }
  .cmm .cmm-intro { padding:27px 0 23px; }
  .cmm h1 { font-size:36px; max-width:350px; }
  .cmm .cmm-eyebrow { font-size:9px; margin-bottom:11px; }
  .cmm .cmm-subtitle { font-size:13px; margin-top:12px; }
  .cmm .cmm-feature-wrap { display:block; margin-bottom:23px; }
  .cmm .cmm-feature-wrap>.cmm-media { aspect-ratio:4/4.6; }
  .cmm .cmm-feature-copy { padding:22px; }
  .cmm .cmm-feature-copy h2 { font-size:36px; }
  .cmm .cmm-feature-description { margin-top:12px; font-size:14px; }
  .cmm .cmm-feature-bottom { margin-top:20px; }
  .cmm .cmm-feature-price { font-size:22px; }
  .cmm .cmm-feature-bottom .cmm-primary { padding:12px 17px; }
  .cmm .cmm-categories { gap:7px; }
  .cmm .cmm-category { padding:9px 15px; font-size:12px; }
  .cmm .cmm-search { min-width:0; flex:0 0 36%; padding:10px 12px; }
  .cmm .cmm-search input { font-size:16px; }
  .cmm .cmm-menu-heading { padding:16px 0 22px; align-items:flex-start; }
  .cmm .cmm-menu-heading h2 { font-size:26px; max-width:250px; }
  .cmm .cmm-grid { grid-template-columns:1fr; gap:36px; }
  .cmm .cmm-product>.cmm-media { aspect-ratio:4/4.6; }
  .cmm .cmm-product h3 { font-size:25px; }
  .cmm .cmm-description { min-height:0; }
  .cmm .cmm-add { padding:11px 16px; }
  .cmm .cmm-footer { flex-direction:column; gap:6px; margin-top:40px; }
  .cmm .cmm-dialog { padding:20px; border-radius:18px; }
  .cmm .cmm-dialog-head h2 { font-size:26px; }
  .cmm .cmm-detail-actions { flex-wrap:wrap; gap:12px; }
  .cmm .cmm-detail-actions>.cmm-primary { min-width:155px; }
  .cmm .cmm-cart-line { gap:12px; }
  .cmm .cmm-cart-bar { font-size:13px; padding:13px 15px; gap:10px; }
  .cmm .cmm-cart-bar .cmm-icon { width:17px; }
  .cmm .cmm-stepper { gap:0; }
}
@media(prefers-reduced-motion:reduce) { .cmm *, .cmm *::before, .cmm *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }

/* The restaurant cover is independent of the product catalogue. */
.cmm .cmm-cover { margin-top:24px; }
.cmm .cmm-cover>.cmm-media { aspect-ratio:16/9; max-height:520px; }
.cmm .cmm-product-badge { display:block; color:var(--cmm-muted); font-size:10px; letter-spacing:.12em; margin-bottom:10px; }
@media(max-width:600px) { .cmm .cmm-cover { margin-top:18px; } .cmm .cmm-cover>.cmm-media { aspect-ratio:16/9; } }

.cmm .cmm-field input { padding:12px;border:1px solid var(--cmm-line);border-radius:9px;color:var(--cmm-ink);background:var(--cmm-surface);width:100%;font-size:16px;min-height:48px; }
.cmm .cmm-cover>.cmm-media { width:100%;height:clamp(180px,36vw,420px);max-height:none;aspect-ratio:auto; }
@media(max-width:600px) { .cmm .cmm-cover>.cmm-media { height:auto;aspect-ratio:16/9; } }
.cmm .cmm-cover img,.cmm .cmm-cover video{object-position:center 65%}
.cmm .cmm-primary:hover:not(:disabled),.cmm .cmm-cart-bar:hover{background:var(--cmm-accent-dark,var(--cmm-accent));filter:none}
.cmm .cmm-description,.cmm .cmm-help,.cmm .cmm-subtitle{color:var(--cmm-support,var(--cmm-muted))}
.cmm .cmm-count,.cmm .cmm-footer{color:var(--cmm-support-strong,var(--cmm-muted))}
/* Capa horizontal: quadro com respiro nas laterais e cantos arredondados, que cabe inteiro na tela. Proporção ajustável em --cmm-cover-ratio (2.1 = um pouco mais largo que 16:9). No celular fica em 16:9. */
.cmm { --cmm-cover-ratio:2.1; }
.cmm .cmm-cover { margin-top:24px; }
.cmm .cmm-cover>.cmm-media { width:min(100%,calc((100vh - 210px)*var(--cmm-cover-ratio))); height:auto; min-height:0; max-height:none; aspect-ratio:2.1/1; margin:0 auto; border-radius:var(--cmm-radius); background:var(--cmm-ink); }
.cmm .cmm-cover img,.cmm .cmm-cover video { object-fit:cover; object-position:center; }
@media(max-width:600px) { .cmm .cmm-cover { margin-top:18px; } .cmm .cmm-cover>.cmm-media { width:100%; aspect-ratio:16/9; } }
/* Destaques em laranja (cor de destaque da marca): segunda parte do título e filtros marcados. */
.cmm .cmm-headline-accent { color:var(--cmm-accent); }
.cmm .cmm-category[aria-pressed="true"] { background:var(--cmm-accent); color:#fff; border-color:var(--cmm-accent); }
.cmm .cmm-category:focus-visible,.cmm .cmm-add:focus-visible,.cmm button:focus-visible { outline:2px solid var(--cmm-accent); outline-offset:3px; }
/* Título animado (máquina de escrever): o texto completo fica invisível só para reservar a altura. */
.cmm h1.cmm-h1-anim { display:grid; }
.cmm .cmm-h1-ghost { grid-area:1/1; visibility:hidden; }
.cmm .cmm-h1-live { grid-area:1/1; }
.cmm .cmm-caret { display:inline-block; width:.055em; height:.82em; margin-left:.05em; background:currentColor; vertical-align:-.06em; animation:cmm-blink 1s steps(1) infinite; }
@keyframes cmm-blink { 50% { opacity:0; } }
/* Modelos com cards coloridos (ex.: açaí com lilás): o card inteiro ganha a cor e o texto recebe respiro. */
.cmm[data-card] .cmm-product { background:var(--cmm-card); border-radius:var(--cmm-radius); }
.cmm[data-card] .cmm-product>.cmm-media { border-bottom-left-radius:0; border-bottom-right-radius:0; }
.cmm[data-card] .cmm-product-body { padding:16px 16px 16px; }
.cmm[data-card] .cmm-add { background:#fff; }
/* Aba Promoções: padrão em todas as lojas. Preço antigo riscado e selo de promoção. */
.cmm .cmm-price-box { display:flex; flex-direction:column; align-items:flex-start; gap:2px; }
.cmm .cmm-price-old { font-size:13px; font-weight:500; color:var(--cmm-muted); text-decoration:line-through; }
.cmm .cmm-promo-badge { background:var(--cmm-accent); color:#fff; padding:4px 9px; border-radius:6px; letter-spacing:.06em; }
.cmm .cmm-promo-tab:not([aria-pressed="true"]) { border-color:var(--cmm-accent); color:var(--cmm-accent); font-weight:600; }
/* Celular: a 2ª frase do título (na cor de destaque) fica sempre na segunda linha. */
@media (max-width:640px) { .cmm h1 .cmm-headline-accent { display:block; } }
/* Tablet, notebook e PC: o título de abertura cabe em uma linha. */
@media (min-width:641px) {
  .cmm h1 { max-width:none; font-size:clamp(28px,4vw,56px); }
  .cmm .cmm-intro > div:first-child { flex:1; min-width:0; }
}
/* Mais respiro entre os pratos, com uma linha fina e discreta separando cada um. */
.cmm .cmm-grid { gap:64px 40px; }
.cmm .cmm-product { padding-bottom:30px; border-bottom:1px solid color-mix(in srgb,var(--cmm-line) 75%,transparent); }
.cmm[data-card] .cmm-product { padding-bottom:0; border-bottom:0; }
@media (max-width:980px) { .cmm .cmm-grid { gap:52px 28px; } }
@media (max-width:640px) { .cmm .cmm-grid { gap:48px; } .cmm .cmm-product { padding-bottom:28px; } }

/* Cartão da loja: faixa colorida, logo redonda, nome, cidade, "Mais informações", aberto/fechado e taxa de entrega. */
.cmm .cmm-store { margin:0 0 22px; display:grid; gap:14px; }
.cmm .cmm-store-band { height:96px; background:var(--cmm-accent); border-radius:22px 22px 0 0; }
.cmm .cmm-store-panel { position:relative; margin-top:-30px; padding:58px 20px 22px; background:var(--cmm-surface); border-radius:26px; text-align:center; display:grid; gap:10px; justify-items:center; box-shadow:0 1px 0 var(--cmm-line); }
.cmm .cmm-store-logo { position:absolute; left:50%; top:-52px; transform:translateX(-50%); width:104px; height:104px; border-radius:23%; background:var(--cmm-accent); border:6px solid var(--cmm-bg); overflow:hidden; display:grid; place-items:center; color:var(--cmm-accent-ink); font-size:42px; font-weight:800; }
.cmm .cmm-store-logo img { width:100%; height:100%; object-fit:cover; }
.cmm .cmm-store-name { font-size:clamp(24px,6.5vw,30px); letter-spacing:-.04em; }
.cmm .cmm-store-meta { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px 12px; font-size:15px; color:var(--cmm-muted); }
.cmm .cmm-store-city { display:inline-flex; align-items:center; gap:6px; }
.cmm .cmm-store-city .cmm-icon { width:19px; height:19px; }
.cmm .cmm-dot { width:5px; height:5px; border-radius:50%; background:currentColor; display:inline-block; opacity:.7; }
.cmm .cmm-store-more { border:0; background:transparent; padding:6px 2px; min-height:36px; color:var(--cmm-ink); font-weight:700; text-decoration:underline; text-underline-offset:3px; text-decoration-color:color-mix(in srgb,currentColor,transparent 60%); }
.cmm .cmm-store-status { font-weight:700; font-size:15px; }
.cmm .cmm-store-status.is-open { color:#2e9e57; }
.cmm .cmm-store-status.is-closed { color:#c0392b; }
.cmm .cmm-store-fee { display:flex; align-items:center; gap:14px; width:100%; text-align:left; background:var(--cmm-surface); color:var(--cmm-ink); border:1px solid var(--cmm-line); border-radius:14px; padding:16px 18px; min-height:60px; font-size:16px; font-weight:600; }
.cmm .cmm-store-fee .cmm-icon:first-child { color:var(--cmm-muted); width:24px; height:24px; }
.cmm .cmm-store-fee .cmm-icon:last-child { margin-left:auto; color:var(--cmm-accent); }
.cmm .cmm-info-block { padding:14px 0; border-top:1px solid var(--cmm-line); }
.cmm .cmm-info-block h3 { font-size:15px; letter-spacing:-.02em; margin-bottom:8px; }
.cmm .cmm-info-list { list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.cmm .cmm-info-list li { display:flex; justify-content:space-between; gap:12px; font-size:14px; }
.cmm .cmm-fee-result { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:14px 0; }
.cmm .cmm-fee-result div { background:var(--cmm-bg); border:1px solid var(--cmm-line); border-radius:14px; padding:14px 16px; display:grid; gap:2px; }
.cmm .cmm-fee-result span { font-size:12px; color:var(--cmm-muted); }
.cmm .cmm-fee-result strong { font-size:20px; letter-spacing:-.03em; }
/* Celular: o cartão da loja substitui o cabeçalho antigo. */
@media (max-width:640px) {
  .cmm .cmm-header { display:none; }
  .cmm .cmm-shell { padding-top:0; }
  .cmm .cmm-store { margin:0 -16px 22px; }
  .cmm .cmm-store-band { border-radius:0; height:104px; }
  .cmm .cmm-store-panel { margin:-34px 12px 0; }
  .cmm .cmm-store-fee { margin:0; width:calc(100% - 24px); margin-inline:12px; }
}
/* Tablet e PC: linha discreta com cidade, informações, status e taxa. */
@media (min-width:641px) {
  .cmm .cmm-store { display:flex; flex-wrap:wrap; align-items:center; gap:10px 28px; margin:18px 0 0; }
  .cmm .cmm-store-band, .cmm .cmm-store-logo, .cmm .cmm-store-name { display:none; }
  .cmm .cmm-store-panel { display:flex; flex-wrap:wrap; align-items:center; gap:8px 22px; margin:0; padding:0; background:transparent; box-shadow:none; text-align:left; }
  .cmm .cmm-store-fee { width:auto; border-radius:99px; padding:10px 18px; min-height:44px; font-size:14px; }
}


/* "Conheça também": espaço publicitário no fim da loja (carrossel de capas em vídeo) */
.cmm .cmm-disc { position:relative; max-width:1280px; margin:0 auto; padding:0 44px 132px; }
.cmm:has(.cmm-disc) .cmm-shell { padding-bottom:36px; }
.cmm .cmm-disc-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 14px; }
.cmm .cmm-disc-head h2 { margin:0; font-size:clamp(22px,3vw,32px); letter-spacing:-.04em; line-height:1.1; }
.cmm .cmm-disc-tag { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--cmm-muted); border:1px solid var(--cmm-line); border-radius:99px; padding:4px 10px; }
.cmm .cmm-disc-track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; border-radius:var(--cmm-radius); gap:0; -webkit-overflow-scrolling:touch; }
.cmm .cmm-disc-track::-webkit-scrollbar { display:none; }
.cmm .cmm-disc-slide { position:relative; flex:0 0 100%; scroll-snap-align:start; aspect-ratio:16/7; background:#000; overflow:hidden; display:block; color:#fff; text-decoration:none; }
.cmm .cmm-disc-slide > img,.cmm .cmm-disc-slide > video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cmm .cmm-disc-slide video { opacity:0; transition:opacity .35s; }
.cmm .cmm-disc-slide video.is-playing { opacity:1; }
.cmm .cmm-disc-bar { position:absolute; left:0; right:0; bottom:0; display:flex; align-items:center; gap:14px; padding:14px 18px; background:rgba(34,42,41,.66); }
.cmm .cmm-disc-logo { flex:none; width:clamp(44px,6vw,64px); height:clamp(44px,6vw,64px); border-radius:23%; object-fit:cover; border:2px solid rgba(255,255,255,.85); }
.cmm .cmm-disc-txt { flex:1; min-width:0; display:grid; gap:1px; }
.cmm .cmm-disc-bar strong { font-size:clamp(16px,2.4vw,24px); letter-spacing:-.03em; line-height:1.1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cmm .cmm-disc-bar small { font-size:clamp(12px,1.6vw,14px); opacity:.92; }
.cmm .cmm-disc-bar em { font-style:normal; font-weight:700; font-size:14px; background:var(--cmm-accent); color:#fff; border-radius:99px; padding:8px 16px; white-space:nowrap; }
.cmm .cmm-disc-slide:hover .cmm-disc-bar em { background:var(--cmm-accent-dark,var(--cmm-accent)); }
.cmm .cmm-disc-arrow { position:absolute; top:calc(50% - 6px); width:44px; height:44px; border-radius:50%; border:1px solid rgba(255,255,255,.5); background:rgba(34,42,41,.7); color:#fff; font-size:26px; line-height:1; display:grid; place-items:center; cursor:pointer; z-index:2; padding:0 0 3px; }
.cmm .cmm-disc-arrow.is-prev { left:58px; } .cmm .cmm-disc-arrow.is-next { right:58px; }
.cmm .cmm-disc-dots { display:flex; justify-content:center; gap:8px; margin-top:12px; }
.cmm .cmm-disc-dots button { width:9px; height:9px; border-radius:50%; border:0; padding:0; background:var(--cmm-line); cursor:pointer; transition:width .25s,background .25s; }
.cmm .cmm-disc-dots button[aria-selected="true"] { width:26px; border-radius:99px; background:var(--cmm-accent); }
@media (max-width:980px) { .cmm .cmm-disc { padding-left:24px; padding-right:24px; } .cmm .cmm-disc-arrow.is-prev { left:36px; } .cmm .cmm-disc-arrow.is-next { right:36px; } }
@media (max-width:600px) { .cmm .cmm-disc { padding:0 18px 112px; } .cmm .cmm-disc-slide { aspect-ratio:16/10; } .cmm .cmm-disc-arrow { display:none; } .cmm .cmm-disc-bar { padding:10px 12px; } .cmm .cmm-disc-bar em { padding:7px 12px; font-size:13px; } }
