/* Domadora commerce UI (cart, add-to-cart controls, assistant). Shared by the three brand sites and themed by each
 * site's own tokens (--primary, --bg, --surface, --text, --muted, --line, --radius, --on-primary). Logical
 * properties only (inset-inline, margin-inline, …) so RTL and LTR both work. Copied to
 * <site>/assets/css/dmd-commerce.vN.css by tools/commerce/Sync-Commerce.ps1; never edit the copies. */
.dmd-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dmd-ic{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* floating buttons: cart above the WhatsApp button, assistant on the other side */
.dmd-fab{position:fixed;z-index:61;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:56px;height:56px;padding:0 16px;border:0;border-radius:28px;
  background:var(--primary,#8e1014);color:var(--on-primary,#fff);box-shadow:0 12px 30px rgba(0,0,0,.3);cursor:pointer;font:inherit;font-weight:700}
.dmd-fab:focus-visible,.dmd-iconbtn:focus-visible,.dmd-btn:focus-visible,.dmd-chipbtn:focus-visible,.dmd-link:focus-visible{outline:3px solid var(--accent,#c9a86a);outline-offset:2px}
.dmd-fab--cart{bottom:88px;inset-inline-end:20px;padding:0}
.dmd-fab--chat{bottom:20px;inset-inline-start:20px}
.dmd-badge{position:absolute;top:-4px;inset-inline-end:-4px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#fff;color:#111;font-size:.75rem;font-weight:800;line-height:22px;text-align:center;box-shadow:0 2px 6px rgba(0,0,0,.3)}
@media (max-width:560px){ .dmd-fab__label{display:none} .dmd-fab--chat{padding:0} }

/* buttons */
.dmd-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border:0;border-radius:var(--radius,4px);background:var(--primary,#8e1014);color:var(--on-primary,#fff);
  font:inherit;font-weight:800;font-size:.86rem;cursor:pointer;text-decoration:none;text-align:center}
.dmd-btn:hover{filter:brightness(1.08)}
.dmd-btn--sm{padding:8px 12px;font-size:.8rem}
.dmd-btn--ghost{background:transparent;color:var(--text,#111);border:1px solid var(--line,rgba(0,0,0,.2))}
.dmd-btn--wa{background:#1fa855;color:#fff;width:100%}
.dmd-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line,rgba(0,0,0,.2));border-radius:var(--radius,4px);background:transparent;color:inherit;cursor:pointer;flex:none}
.dmd-iconbtn--sm{width:32px;height:32px}
.dmd-iconbtn--sm .dmd-ic{width:16px;height:16px}
.dmd-iconbtn:disabled{opacity:.5;cursor:default}
.dmd-link{background:none;border:0;padding:4px 0;color:var(--muted,#666);text-decoration:underline;cursor:pointer;font:inherit;font-size:.82rem}
.dmd-chip{display:inline-block;margin:0;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:800;color:#fff;background:#555}
.dmd-chip--elrancho{background:#8e1014}
.dmd-chip--gomeat{background:#1e7d3c}
.dmd-chip--egbutcher{background:#c1121f}

/* add-to-cart controls on product cards */
.dmd-buy{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.dmd-buy__pack{margin:0;font-size:.82rem;color:var(--muted,#666)}
.dmd-buy__row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dmd-buy__row .dmd-btn--add{flex:1 1 120px}
.dmd-stepper{display:inline-flex;align-items:center;gap:6px}
.dmd-stepper__n{min-width:2ch;text-align:center;font-weight:800;font-variant-numeric:tabular-nums}

/* cart drawer */
.dmd-drawer{position:fixed;inset-block:0;inset-inline-end:0;inset-inline-start:auto;margin:0;width:min(440px,100vw);max-width:100vw;height:100%;max-height:100dvh;padding:0;border:0;
  background:var(--surface,#fff);color:var(--text,#111);box-shadow:var(--sh,0 0 40px rgba(0,0,0,.4));display:none;flex-direction:column}
.dmd-drawer[open]{display:flex}
.dmd-drawer::backdrop{background:rgba(0,0,0,.5)}
.dmd-drawer__head,.dmd-chat__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line,rgba(0,0,0,.15))}
.dmd-drawer__head h2,.dmd-chat__head h2{margin:0;font-size:1.1rem}
.dmd-drawer__body{flex:1;overflow:auto;padding:12px 16px;display:flex;flex-direction:column;gap:16px}
.dmd-drawer__foot{padding:12px 16px 16px;border-top:1px solid var(--line,rgba(0,0,0,.15));display:flex;flex-direction:column;gap:8px}
.dmd-group{display:flex;flex-direction:column;gap:10px}
.dmd-group > .dmd-chip{align-self:flex-start}
.dmd-line{display:grid;grid-template-columns:64px 1fr;gap:10px;align-items:start}
.dmd-line--noimg{grid-template-columns:1fr}
.dmd-line__img{width:64px;height:48px;object-fit:cover;border-radius:var(--radius,4px)}
.dmd-line__main{display:flex;flex-direction:column;gap:4px;min-width:0}
.dmd-line__name{margin:0;font-weight:700;overflow-wrap:anywhere}
.dmd-line__meta{margin:0;font-size:.8rem;color:var(--muted,#666)}
.dmd-line__row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dmd-line__total{margin-inline-start:auto;font-variant-numeric:tabular-nums}
.dmd-subtotal,.dmd-total{display:flex;justify-content:space-between;gap:12px;margin:0}
.dmd-subtotal{font-size:.86rem;color:var(--muted,#666);border-top:1px dashed var(--line,rgba(0,0,0,.2));padding-top:6px}
.dmd-total{font-size:1.1rem}
.dmd-note{margin:0;font-size:.78rem;color:var(--muted,#666)}
.dmd-empty{margin:24px 0;text-align:center;color:var(--muted,#666)}
.dmd-unavailable{font-size:.85rem;color:var(--muted,#666)}
.dmd-unavailable ul{margin:6px 0 0;padding-inline-start:18px}
.dmd-unavailable li{display:flex;gap:8px;align-items:center;justify-content:space-between}
.dmd-clear{align-self:flex-start}
.dmd-toast{position:fixed;z-index:70;bottom:160px;inset-inline:16px;margin-inline:auto;max-width:420px;padding:10px 14px;border-radius:var(--radius,4px);background:#111;color:#fff;font-size:.88rem;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.35)}

/* assistant */
.dmd-chat{position:fixed;z-index:62;bottom:88px;inset-inline-start:20px;width:min(400px,calc(100vw - 40px));height:min(620px,calc(100dvh - 120px));display:flex;flex-direction:column;
  background:var(--surface,#fff);color:var(--text,#111);border:1px solid var(--line,rgba(0,0,0,.15));border-radius:12px;box-shadow:0 20px 50px rgba(0,0,0,.35);overflow:hidden}
.dmd-chat[hidden]{display:none}
@media (max-width:560px){ .dmd-chat{inset:0;width:100vw;height:100dvh;border-radius:0;bottom:0} }
.dmd-chat__log{flex:1;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:10px}
.dmd-msg{max-width:88%;display:flex;flex-direction:column;gap:8px}
.dmd-msg p{margin:0;padding:9px 12px;border-radius:12px;white-space:pre-line;overflow-wrap:anywhere;line-height:1.5}
.dmd-msg--user{align-self:flex-end}
.dmd-msg--user p{background:var(--primary,#8e1014);color:var(--on-primary,#fff)}
.dmd-msg--bot{align-self:flex-start}
.dmd-msg--bot p{background:var(--bg,#f3f3f3);border:1px solid var(--line,rgba(0,0,0,.1))}
.dmd-msg--wait p{opacity:.7;font-style:italic}
.dmd-msg--cards{max-width:100%}
.dmd-msg__actions{display:flex;gap:8px;flex-wrap:wrap}
.dmd-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.dmd-pcard{display:flex;flex-direction:column;gap:4px;padding:8px;border:1px solid var(--line,rgba(0,0,0,.15));border-radius:var(--radius,6px);background:var(--bg,#fafafa)}
.dmd-pcard img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:4px}
.dmd-pcard .dmd-chip{align-self:flex-start}
.dmd-pcard p{margin:0;padding:0;border:0;background:none;font-size:.82rem}
.dmd-pcard__name{font-weight:800}
.dmd-pcard__pack,.dmd-pcard__price{color:var(--muted,#666)}
.dmd-chat__chips{display:flex;gap:6px;overflow-x:auto;padding:6px 12px;scrollbar-width:none}
.dmd-chat__chips::-webkit-scrollbar{display:none}
.dmd-chipbtn{flex:none;padding:6px 10px;border:1px solid var(--line,rgba(0,0,0,.2));border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:.78rem;cursor:pointer}
.dmd-chat__form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line,rgba(0,0,0,.15))}
.dmd-chat__input{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--line,rgba(0,0,0,.25));border-radius:var(--radius,6px);background:var(--bg,#fff);color:inherit;font:inherit;font-size:16px}
.dmd-chat__send{background:var(--primary,#8e1014);color:var(--on-primary,#fff);border:0}
.dmd-chat__disc{margin:0;padding:0 12px 10px;font-size:.72rem;color:var(--muted,#666)}
.dmd-chat__tools{display:flex;gap:8px;align-items:center}
.dmd-chat__voice{display:flex;align-items:center;gap:4px;flex:none}
.dmd-chat__mic.is-listening{background:#c62828;color:#fff;border-color:#c62828}
@media (prefers-reduced-motion:no-preference){ .dmd-chat__mic.is-listening{animation:dmd-pulse 1.2s ease-in-out infinite} }
@keyframes dmd-pulse{0%,100%{box-shadow:0 0 0 0 rgba(198,40,40,.5)}50%{box-shadow:0 0 0 8px rgba(198,40,40,0)}}
.dmd-chat__miclang{min-width:32px;height:32px;padding:0 6px;border:1px solid var(--line,rgba(0,0,0,.2));border-radius:var(--radius,4px);background:transparent;color:inherit;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}
.dmd-chat__status{margin:0;padding:6px 12px;font-size:.85rem;font-style:italic;color:var(--muted,#666);border-top:1px solid var(--line,rgba(0,0,0,.1))}
.dmd-chat__status[hidden]{display:none}
@media (prefers-reduced-motion:no-preference){ .dmd-btn,.dmd-fab{transition:filter .2s,transform .2s} .dmd-fab:hover{transform:translateY(-2px)} }
