/* Carrinho das duas lojas: layout estável sem depender do CDN. */
.loja-cart { width: 100%; max-width: 960px; margin: 0 auto; padding: 24px 16px 40px; box-sizing: border-box; }
.loja-cart *, .loja-cart *::before, .loja-cart *::after { box-sizing: border-box; }
.loja-cart-mobile { display: grid !important; gap: 12px; }
.loja-cart-desktop { display: none !important; }
.loja-cart-mobile article { min-width: 0; background: white; border: 1px solid #e5e7eb; border-radius: 16px; padding: 16px; }
.loja-cart-mobile article h2 { overflow-wrap: anywhere; min-width: 0; }
.loja-cart-quantity { display: flex; flex: 0 0 auto; align-items: center; border: 1px solid #e5e7eb; border-radius: 10px; overflow: hidden; }
.loja-cart-quantity button { width: 44px; height: 44px; flex: 0 0 44px; }
.loja-cart-quantity input { width: 48px; height: 44px; flex: 0 0 48px; padding: 0; text-align: center; font-size: 16px; min-width: 0; appearance: textfield; }
.loja-cart-quantity input::-webkit-inner-spin-button, .loja-cart-quantity input::-webkit-outer-spin-button { appearance: none; margin: 0; }
.loja-cart-summary { position: static !important; margin-top: 20px; padding: 20px; background: white; border: 1px solid #e5e7eb; border-radius: 16px; }
.loja-cart-actions { display: flex; flex-direction: column-reverse; gap: 12px; }
.loja-cart-actions a { display: flex; justify-content: center; align-items: center; min-height: 48px; width: 100%; padding: 12px 16px; text-align: center; border-radius: 12px; }
@media (min-width: 900px) {
  .loja-cart-mobile { display: none !important; }
  .loja-cart-desktop { display: block !important; }
  .loja-cart-desktop table { width: 100%; table-layout: fixed; }
  .loja-cart-desktop th:first-child { width: auto; }
  .loja-cart-desktop td:first-child { overflow-wrap: anywhere; }
  .loja-cart-desktop th:nth-child(2), .loja-cart-desktop th:nth-child(4) { width: 116px; }
  .loja-cart-desktop th:nth-child(3) { width: 168px; }
  .loja-cart-desktop th:last-child { width: 100px; }
  .loja-cart-desktop td:nth-child(2), .loja-cart-desktop td:nth-child(4) { white-space: nowrap; }
}
@media (min-width: 640px) { .loja-cart-actions { flex-direction: row; } .loja-cart-actions a { flex: 1; min-width: 0; } }
@media (max-width: 359px) { .loja-cart { padding-left: 12px; padding-right: 12px; } .loja-cart-summary { padding: 16px; } }
/* Estilo completo local: o carrinho não depende do Tailwind remoto. */
body.loja-cart-page { margin: 0; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 1.5; color: #172033; background: #f5f7fa; min-height: 100vh; }
.loja-cart-page a { text-decoration: none; }
.loja-cart-page button, .loja-cart-page input { font: inherit; }
.loja-cart-page .loja-header { position: sticky; top: 0; z-index: 50; background: #fff; border-bottom: 1px solid #e5e7eb; }
.loja-cart-page .loja-header > div { max-width: 1200px; margin: auto; padding: 0 16px; }
.loja-cart-page .loja-header-row { display: flex; align-items: center; gap: 16px; padding: 12px 0; }
.loja-cart-page .loja-brand { display: flex; align-items: center; flex: 0 0 auto; min-width: 0; color: #172033; }
.loja-cart-page .loja-brand-logo { height: 42px !important; max-width: 140px !important; }
.loja-cart-page .loja-header-row > form { flex: 1; min-width: 0; }
.loja-cart-page .loja-header input[type="search"] { box-sizing: border-box; display: block; width: 100%; height: 44px; padding: 10px 12px 10px 38px; border: 1px solid #dfe3e8; border-radius: 24px; background: #f8fafc; font-size: 14px; }
.loja-cart-page .loja-header-actions { display: flex; align-items: center; gap: 10px; }
.loja-cart-page .loja-header-actions a { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; min-width: 44px; min-height: 44px; border-radius: 50%; background: #059669; color: #fff; position: relative; }
.loja-cart-page #loja-carrinho-badge:not(:empty) { position: absolute; right: -4px; top: -4px; background: #dc2626; color: white; border-radius: 12px; min-width: 18px; padding: 1px 4px; font-size: 11px; line-height: 18px; text-align: center; }
.loja-cart-page #loja-carrinho-badge:empty { display: none; }
.loja-cart-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.loja-cart-title h1 { font-size: 24px; line-height: 1.2; margin: 0; font-weight: 700; }
.loja-cart-title > span { font-size: 13px; color: #64748b; white-space: nowrap; }
.loja-cart-item-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.loja-cart-item-top .loja-cart-product-heading { flex: 1; }
.loja-cart-mobile article h2 { font-size: 14px; line-height: 1.4; margin: 0; font-weight: 600; }
.loja-cart-remove { border: 0; background: transparent; color: #b91c1c; cursor: pointer; padding: 8px 0 8px 8px; font-size: 12px !important; flex: 0 0 auto; }
.loja-cart-unit { font-size: 12px; color: #64748b; margin: 12px 0; }
.loja-cart-item-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.loja-cart-quantity { width: 136px; max-width: 100%; background: #f8fafc; }
.loja-cart-quantity button { padding: 0; border: 0; background: transparent; color: #334155; font-size: 20px; cursor: pointer; }
.loja-cart-quantity button:hover { background: #e2e8f0; }
.loja-cart-quantity input { border: 0; border-left: 1px solid #e5e7eb; border-right: 1px solid #e5e7eb; border-radius: 0; background: white; color: #172033; font-weight: 600; }
.loja-cart-subtotal { font-size: 16px; font-weight: 700; color: #047857; white-space: nowrap; margin: 0; }
.loja-cart-total { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid #e5e7eb; }
.loja-cart-total > span:last-child { color: #047857; font-size: 22px; font-weight: 700; white-space: nowrap; }
.loja-cart-checkout { background: #059669; color: white; font-weight: 700; }
.loja-cart-continue { background: #f1f5f9; color: #334155; font-weight: 600; }
.loja-cart-desktop table { border-collapse: collapse; background: #fff; }
.loja-cart-desktop { border: 1px solid #e5e7eb; border-radius: 16px; overflow: hidden; }
.loja-cart-desktop th, .loja-cart-desktop td { padding: 16px; text-align: left; border-bottom: 1px solid #e5e7eb; }
.loja-cart-desktop th { background: #f8fafc; font-size: 12px; color: #64748b; }
.loja-cart-desktop th:nth-child(2), .loja-cart-desktop th:nth-child(4), .loja-cart-desktop td:nth-child(2), .loja-cart-desktop td:nth-child(4) { text-align: right; }
.loja-cart-desktop .loja-cart-quantity { margin: auto; }
.loja-cart-desktop button:not(.loja-cart-quantity button) { border: 0; background: transparent; color: #b91c1c; cursor: pointer; }
.loja-cart-page button:focus-visible, .loja-cart-page a:focus-visible, .loja-cart-page input:focus-visible { outline: 2px solid #059669; outline-offset: 3px; }
.loja-cart-page > footer:not(.bf-footer) { background: #fff; border-top: 1px solid #e5e7eb; margin-top: 24px; padding: 24px 16px; color: #64748b; font-size: 12px; }
@media (max-width: 767.98px) {
 .loja-cart-page .loja-header-row { flex-wrap: wrap; gap: 10px; }
 .loja-cart-page .loja-brand { flex: 1; max-width: calc(100% - 108px); }
 .loja-cart-page .loja-header-row > form { order: 3; flex: 1 0 100%; }
 .loja-cart-page .loja-header input[type="search"] { font-size: 16px; }
}
@media (max-width: 359px) {
 .loja-cart-item-top { flex-wrap: wrap; }
 .loja-cart-item-top .loja-cart-remove { margin-left: auto; }
 .loja-cart-item-bottom { gap: 8px; }
 .loja-cart-subtotal { font-size: 14px; }
}
.loja-cart-page #loja-carrinho-badge:not(:empty) { display: flex !important; align-items: center; justify-content: center; box-sizing: border-box; min-height: 20px !important; height: 20px !important; min-width: 20px; width: auto; padding: 0 4px; }
.loja-cart-page #painel-receita-medica { margin-top: 16px; padding: 16px; border: 1px solid #fda4af; border-radius: 12px; background: #fff1f2; }
.loja-cart-page #painel-receita-medica h2 { font-size: 16px; margin: 0 0 8px; }
.loja-cart-page #btnEnviarReceita { padding: 10px 16px; border: 0; border-radius: 8px; background: #be123c; color: white; margin-top: 12px; }
.loja-cart-page .loja-cart > div:not(.loja-cart-title):not(.loja-cart-summary):not(.space-y-3) { background: white; border-radius: 16px; padding: 24px; text-align: center; }
