/* Manto — mini-carrinho lateral (wireframes V1 §4). */
.manto-minicart { position: fixed; inset: 0; z-index: 130; }
.admin-bar .manto-minicart { top: 46px; }
@media (min-width: 783px) { .admin-bar .manto-minicart { top: 32px; } }
.manto-minicart[hidden] { display: none; }
.manto-minicart__scrim { position: absolute; inset: 0; background: rgba(11, 11, 12, 0.45); opacity: 0; transition: opacity var(--dur-base) var(--ease-out); }
.manto-minicart__panel {
  position: absolute; top: 0; right: 0; bottom: 0; width: min(100vw, 420px);
  background: var(--manto-paper); transform: translateX(100%);
  transition: transform var(--dur-base) var(--ease-out);
}
.manto-minicart.is-open .manto-minicart__panel { transform: none; }
.manto-minicart.is-open .manto-minicart__scrim { opacity: 1; }
.manto-minicart.is-busy .manto-minicart__items { opacity: 0.5; pointer-events: none; }

.manto-minicart__content { display: flex; flex-direction: column; height: 100%; }
.manto-minicart__head { display: flex; justify-content: space-between; align-items: center; padding: 12px 12px 12px 24px; border-bottom: 1px solid var(--border); }
.manto-minicart__title { margin: 0; font: 700 var(--fs-lg)/1 var(--font-display); }
.manto-minicart__ship { padding: 14px 24px; border-bottom: 1px solid var(--border); }
.manto-minicart__ship p { margin: 0 0 8px; font-size: var(--fs-xs); color: var(--text-muted); }
.manto-minicart__ship strong { color: var(--text); }
.manto-progress { height: 4px; background: var(--manto-sand); border-radius: 2px; overflow: hidden; }
.manto-progress span { display: block; height: 100%; background: var(--manto-carbon); transition: width var(--dur-base) var(--ease-out); }

.manto-minicart__items { list-style: none; margin: 0; padding: 0 24px; overflow-y: auto; flex: 1; transition: opacity var(--dur-fast) linear; }
.manto-mcitem { display: grid; grid-template-columns: 72px 1fr; gap: 14px; padding: 18px 0; border-bottom: 1px solid var(--border); }
.manto-mcitem__img { display: block; aspect-ratio: 4 / 5; background: var(--manto-sand); border-radius: var(--radius-sm); overflow: hidden; }
.manto-mcitem__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.manto-mcitem__name { font: 600 var(--fs-sm)/1.3 var(--font-display); color: var(--text); text-decoration: none; }
.manto-mcitem__meta { margin: 2px 0 10px; font-size: var(--fs-xs); color: var(--text-muted); }
.manto-mcitem__row { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.manto-mcitem__price { margin: 0; font-weight: 600; font-size: var(--fs-sm); }
.manto-mcitem__remove { margin-top: 8px; padding: 0 !important; background: none !important; border: 0 !important; color: var(--text-muted) !important; font-size: var(--fs-xs) !important; text-decoration: underline; cursor: pointer; min-height: 0 !important; height: auto !important; box-shadow: none !important; }

.manto-qty { display: inline-flex; align-items: center; border: 1px solid var(--border); border-radius: var(--radius-sm); height: 36px; }
.manto-qty button { width: 34px; height: 34px; padding: 0 !important; background: none !important; border: 0 !important; color: var(--text) !important; font-size: 16px !important; cursor: pointer; min-height: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
.manto-qty span { min-width: 22px; text-align: center; font-size: var(--fs-sm); }

.manto-minicart__foot { padding: 16px 24px calc(16px + env(safe-area-inset-bottom)); border-top: 1px solid var(--border); }
.manto-minicart__sub { display: flex; justify-content: space-between; font-size: var(--fs-base); }
.manto-minicart__note { margin: 4px 0 14px; font-size: var(--fs-xs); color: var(--text-muted); }
.manto-minicart__cta { width: 100%; min-height: 52px; }
.manto-minicart__continue { display: block; width: 100%; margin-top: 10px; padding: 8px !important; background: none !important; border: 0 !important; color: var(--text) !important; text-decoration: underline; font-size: var(--fs-sm) !important; text-transform: none !important; cursor: pointer; min-height: 0 !important; box-shadow: none !important; }

.manto-minicart__empty { flex: 1; display: grid; place-content: center; gap: 16px; text-align: center; color: var(--text-muted); padding: 24px; }

/* Esconde o carrinho lateral do Natsy, se existir */
.nova-minicart, .header-cart-box, #nova-minicart, .nova-offcanvas-cart { display: none !important; }

@media (prefers-reduced-motion: reduce) { .manto-minicart__panel, .manto-minicart__scrim { transition: none; } }
