.mania-commerce { --mc-blue:#17345c; --mc-blue-2:#246ea3; --mc-green:#20c76f; --mc-border:#d9e3ec; --mc-muted:#657385; --mc-soft:#f5f9fc; color:var(--mc-blue); }
.mania-commerce *, .mania-commerce *::before, .mania-commerce *::after { box-sizing:border-box; }
.mania-commerce-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 22px; border:0; border-radius:11px; background:var(--mc-blue-2); color:#fff !important; font-weight:850; text-decoration:none !important; cursor:pointer; box-shadow:0 9px 22px rgba(36,110,163,.2); }
.mania-commerce-button.is-primary { width:100%; background:var(--mc-green); box-shadow:0 10px 26px rgba(32,199,111,.24); }
.mania-commerce-button:disabled { opacity:.7; cursor:wait; }
.mania-commerce-notice { margin:0 0 22px; padding:15px 18px; border:1px solid #b9d3e6; border-radius:12px; background:#eef8ff; color:var(--mc-blue); }
.mania-commerce-notice.is-success { border-color:#a8dfc1; background:#effbf4; }
.mania-commerce-notice.is-error { border-color:#efb3b3; background:#fff3f3; color:#8c2424; }
.mania-empty-cart { max-width:650px; margin:30px auto; padding:50px 30px; border:1px solid var(--mc-border); border-radius:20px; text-align:center; background:#fff; box-shadow:0 12px 34px rgba(23,52,92,.08); }
.mania-empty-cart > span { display:block; font-size:3rem; }
.mania-empty-cart h2 { margin:12px 0 8px; }
.mania-cart-layout { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:34px; align-items:start; }
.mania-cart-items { display:grid; gap:14px; }
.mania-cart-item { position:relative; display:grid; grid-template-columns:112px minmax(0,1fr) auto; gap:18px; align-items:center; min-height:126px; padding:14px 72px 14px 14px; border:1px solid var(--mc-border); border-radius:16px; background:#fff; box-shadow:0 8px 22px rgba(23,52,92,.06); }
.mania-cart-item-image img { display:block; width:112px; height:88px; border-radius:10px; object-fit:cover; }
.mania-cart-item-copy h2 { margin:0 0 7px; font-size:1.08rem; }
.mania-cart-item-copy h2 a { color:var(--mc-blue); text-decoration:none; }
.mania-cart-item-copy p { margin:0; color:var(--mc-muted); font-size:.9rem; }
.mania-cart-item-price { font-size:1.08rem; white-space:nowrap; }
.mania-cart-remove { position:absolute; right:16px; bottom:14px; }
.mania-cart-remove button, .mania-cart-actions button { padding:0; border:0; background:none; color:#b02f2f; font-weight:750; cursor:pointer; }
.mania-cart-summary, .mania-checkout-summary { position:sticky; top:28px; padding:24px; border:1px solid var(--mc-border); border-radius:18px; background:#fff; box-shadow:0 14px 36px rgba(23,52,92,.1); }
.mania-cart-summary h2, .mania-checkout-summary h2 { margin:0 0 20px; font-size:1.35rem; }
.mania-summary-row, .mania-summary-total { display:flex; justify-content:space-between; gap:20px; padding:10px 0; }
.mania-summary-row { color:var(--mc-muted); border-bottom:1px solid #edf1f5; }
.mania-summary-total { margin:7px 0 18px; font-size:1.25rem; }
.mania-cart-security { margin:14px 0 0; color:var(--mc-muted); text-align:center; font-size:.82rem; line-height:1.45; }
.mania-cart-bumps { margin-top:36px; padding:26px; border-radius:18px; background:#fff8dc; }
.mania-cart-bumps > h2 { margin-top:0; }
.mania-cart-bump-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.mania-cart-bump { display:flex; gap:12px; padding:12px; border:1px solid #eadca6; border-radius:13px; background:#fff; }
.mania-cart-bump img { width:82px; height:66px; border-radius:8px; object-fit:cover; }
.mania-cart-bump h3 { margin:0 0 6px; font-size:.92rem; }
.mania-cart-bump strong { display:block; margin-bottom:8px; }
.mania-cart-bump a { font-size:.85rem; font-weight:800; }
.mania-cart-actions { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:24px; }
.mania-cart-actions form { margin:0; }
.mania-checkout-form { width:100%; }
.mania-checkout-layout { display:grid; grid-template-columns:minmax(0,1fr) 390px; gap:34px; align-items:start; }
.mania-checkout-fields { display:grid; gap:18px; }
.mania-checkout-card { position:relative; padding:26px; border:1px solid var(--mc-border); border-radius:18px; background:#fff; box-shadow:0 8px 24px rgba(23,52,92,.055); }
.mania-checkout-card h2 { margin:0 0 20px; padding-left:38px; font-size:1.3rem; }
.mania-checkout-step { position:absolute; top:23px; left:24px; display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--mc-blue); color:#fff; font-weight:900; }
.mania-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.mania-form-grid .is-full { grid-column:1/-1; }
.mania-form-grid label, .mania-files-login label { display:grid; gap:7px; color:var(--mc-blue); font-size:.9rem; font-weight:800; }
.mania-form-grid input, .mania-files-login input { width:100%; min-height:48px; padding:11px 13px; border:1px solid #cbd8e3; border-radius:10px; background:#fff; color:#24384d; font:inherit; }
.mania-form-grid input:focus, .mania-files-login input:focus { border-color:var(--mc-blue-2); outline:3px solid rgba(36,110,163,.12); }
.mania-delivery-options, .mania-payment-options { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.mania-delivery-options label, .mania-payment-options label { position:relative; cursor:pointer; }
.mania-delivery-options input, .mania-payment-options input { position:absolute; opacity:0; }
.mania-delivery-options label > span, .mania-payment-options label > span { display:flex; flex-direction:column; min-height:92px; padding:17px; border:2px solid var(--mc-border); border-radius:13px; background:#fff; }
.mania-delivery-options input:checked + span, .mania-payment-options input:checked + span { border-color:var(--mc-blue-2); background:#eef8ff; box-shadow:0 0 0 3px rgba(36,110,163,.08); }
.mania-delivery-options strong, .mania-payment-options strong { margin-bottom:6px; }
.mania-delivery-options small, .mania-payment-options small { color:var(--mc-muted); line-height:1.35; }
.mania-payment-redirect { margin:14px 0 0; color:var(--mc-muted); font-size:.86rem; }
.mania-checkout-bumps > p { margin-top:-10px; color:var(--mc-muted); }
.mania-checkout-bump { display:grid; grid-template-columns:auto 64px minmax(0,1fr) auto; gap:13px; align-items:center; margin-top:11px; padding:11px 13px; border:1px solid var(--mc-border); border-radius:13px; cursor:pointer; }
.mania-checkout-bump > input { width:19px; height:19px; accent-color:var(--mc-green); }
.mania-checkout-bump-image img { display:block; width:64px; height:54px; border-radius:8px; object-fit:cover; }
.mania-checkout-bump-copy { display:flex; flex-direction:column; }
.mania-checkout-bump-copy small { margin-top:4px; color:var(--mc-green); font-weight:800; }
.mania-checkout-bump-check { padding:7px 10px; border-radius:8px; background:#eef8ff; color:var(--mc-blue-2); font-size:.78rem; font-weight:850; }
.mania-checkout-bump:has(input:checked) { border-color:var(--mc-green); background:#f2fcf6; }
.mania-checkout-products { display:grid; gap:13px; margin-bottom:16px; }
.mania-checkout-product { display:grid; grid-template-columns:60px minmax(0,1fr) auto; gap:10px; align-items:center; }
.mania-checkout-product img { width:60px; height:50px; border-radius:8px; object-fit:cover; }
.mania-checkout-product span { display:flex; flex-direction:column; min-width:0; }
.mania-checkout-product strong { font-size:.86rem; line-height:1.25; }
.mania-checkout-product small { color:var(--mc-muted); }
.mania-checkout-product b { font-size:.85rem; white-space:nowrap; }
.mania-checkout-terms { display:flex; gap:9px; align-items:flex-start; margin:17px 0; font-size:.78rem; line-height:1.45; color:var(--mc-muted); }
.mania-checkout-terms input { flex:0 0 auto; margin-top:3px; }
.mania-checkout-guarantees { display:grid; gap:6px; margin-top:16px; color:var(--mc-muted); font-size:.8rem; }
.mania-order-result { max-width:720px; margin:20px auto; padding:42px 30px; border:1px solid var(--mc-border); border-radius:20px; background:#fff; text-align:center; box-shadow:0 14px 38px rgba(23,52,92,.1); }
.mania-order-result h2 { margin:12px 0 10px; font-size:1.8rem; }
.mania-result-icon { display:grid; place-items:center; width:70px; height:70px; margin:auto; border-radius:50%; font-size:2rem; font-weight:900; }
.mania-result-icon.is-success { background:#e8faef; color:#138c4b; }
.mania-result-icon.is-error { background:#fff0f0; color:#b02f2f; }
.mania-result-icon.is-pending { background:#fff8dc; color:#9a6b00; }
.mania-order-result-box { display:flex; justify-content:center; flex-wrap:wrap; gap:13px 28px; margin:24px 0; padding:17px; border-radius:12px; background:var(--mc-soft); }
.mania-files-login { max-width:540px; margin:20px auto; padding:30px; border:1px solid var(--mc-border); border-radius:18px; background:#fff; box-shadow:0 12px 32px rgba(23,52,92,.08); }
.mania-files-login form { display:grid; gap:15px; }
.mania-files-header { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:24px; padding:20px 24px; border-radius:16px; background:#eef8ff; }
.mania-files-header h2 { margin:0 0 5px; }
.mania-files-header p { margin:0; }
.mania-files-header > span { padding:8px 12px; border-radius:8px; background:#fff; font-weight:850; }
.mania-files-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.mania-file-card { overflow:hidden; border:1px solid var(--mc-border); border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(23,52,92,.06); }
.mania-file-card > img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.mania-file-card > div { padding:18px; }
.mania-file-card h3 { margin:0 0 7px; font-size:1.05rem; }
.mania-file-card p { margin:0 0 16px; color:var(--mc-muted); }
.mania-files-expired { max-width:650px; margin:auto; padding:34px; border:1px solid #efcaca; border-radius:18px; background:#fff7f7; text-align:center; }
@media (max-width:960px) {
  .mania-cart-layout, .mania-checkout-layout { grid-template-columns:1fr; }
  .mania-cart-summary, .mania-checkout-summary { position:static; }
  .mania-cart-bump-grid, .mania-files-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
  .mania-cart-item { grid-template-columns:84px minmax(0,1fr); gap:12px; padding:11px 12px 48px; }
  .mania-cart-item-image img { width:84px; height:70px; }
  .mania-cart-item-price { grid-column:2; }
  .mania-cart-remove { right:13px; bottom:12px; }
  .mania-cart-summary, .mania-checkout-summary, .mania-checkout-card { padding:19px; border-radius:15px; }
  .mania-checkout-step { top:17px; left:18px; }
  .mania-checkout-card h2 { padding-left:35px; font-size:1.18rem; }
  .mania-form-grid, .mania-delivery-options, .mania-payment-options { grid-template-columns:1fr; }
  .mania-form-grid .is-full { grid-column:auto; }
  .mania-delivery-options label > span, .mania-payment-options label > span { min-height:76px; }
  .mania-checkout-bump { grid-template-columns:auto 54px minmax(0,1fr); }
  .mania-checkout-bump-image img { width:54px; height:48px; }
  .mania-checkout-bump-check { display:none; }
  .mania-cart-bump-grid, .mania-files-grid { grid-template-columns:1fr; }
  .mania-cart-actions, .mania-files-header { align-items:stretch; flex-direction:column; }
  .mania-order-result { padding:32px 20px; }
  .mania-order-result-box { flex-direction:column; }
}

/* Checkout transparente Mercado Pago */
.mania-test-mode { border-color:#e6c35f; background:#fff8dc; color:#775800; }
.mania-form-grid label small { color:var(--mc-muted); font-weight:500; line-height:1.35; }
.mania-transparent-payment .mania-payment-options { margin-bottom:18px; }
.mania-payment-panel { padding:18px; border:1px solid var(--mc-border); border-radius:14px; background:#f9fbfd; }
.mania-payment-panel[hidden] { display:none !important; }
.mania-payment-panel > p { margin-top:0; color:var(--mc-muted); }
.mania-brick-loading { padding:24px; color:var(--mc-muted); text-align:center; }
.mania-payment-feedback { min-height:22px; margin-top:14px; font-size:.9rem; font-weight:750; }
.mania-payment-feedback.is-error { color:#b02f2f; }
.mania-payment-feedback.is-success { color:#16864b; }
.mania-pix-result { margin-top:20px; padding:22px; border:1px solid #b9dfcc; border-radius:15px; background:#f1fbf5; }
.mania-pix-result[hidden] { display:none !important; }
.mania-pix-result h3 { margin:0 0 16px; }
.mania-pix-result-grid { display:grid; grid-template-columns:210px minmax(0,1fr); gap:22px; align-items:center; }
.mania-pix-result img { display:block; width:210px; height:210px; object-fit:contain; background:#fff; border-radius:10px; }
.mania-pix-result textarea { width:100%; min-height:92px; margin:8px 0 12px; padding:10px; border:1px solid #b9c9d7; border-radius:9px; resize:none; font-size:.78rem; }
.mania-pix-result .mania-commerce-button { display:inline-flex; margin:4px 7px 4px 0; }
.mania-3ds-modal { position:fixed; z-index:999999; inset:0; display:grid; place-items:center; padding:20px; background:rgba(12,31,52,.68); }
.mania-3ds-modal[hidden] { display:none !important; }
.mania-3ds-dialog { width:min(720px,100%); padding:20px; border-radius:18px; background:#fff; box-shadow:0 24px 70px rgba(0,0,0,.3); }
.mania-3ds-dialog h3 { margin:0 0 5px; }
.mania-3ds-dialog p { margin:0 0 14px; color:var(--mc-muted); }
.mania-3ds-dialog iframe { display:block; width:100%; height:min(620px,70vh); border:1px solid var(--mc-border); border-radius:12px; background:#fff; }
@media (max-width:620px) {
  .mania-pix-result-grid { grid-template-columns:1fr; }
  .mania-pix-result img { width:190px; height:190px; margin:auto; }
  .mania-transparent-payment .mania-payment-options { grid-template-columns:1fr; }
}


/* Sacola lateral deslizante */
body.mania-cart-drawer-open { overflow:hidden; }
.mania-cart-drawer-shell { --mc-blue:#17345c; --mc-blue-2:#246ea3; --mc-green:#20c76f; --mc-border:#d9e3ec; --mc-muted:#657385; position:fixed; z-index:999999; inset:0; }
.mania-cart-drawer-shell[hidden] { display:none !important; }
.mania-cart-drawer-overlay { position:absolute; inset:0; width:100%; height:100%; padding:0; border:0; background:rgba(10,24,39,.53); opacity:0; cursor:default; transition:opacity .24s ease; }
.mania-cart-drawer { position:absolute; top:0; right:0; display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; width:min(460px,100vw); height:100%; background:#fff; box-shadow:-18px 0 48px rgba(10,28,46,.22); transform:translateX(100%); transition:transform .26s ease; }
.mania-cart-drawer-shell.is-open .mania-cart-drawer-overlay { opacity:1; }
.mania-cart-drawer-shell.is-open .mania-cart-drawer { transform:translateX(0); }
.mania-cart-drawer-header { display:flex; align-items:center; justify-content:space-between; min-height:78px; padding:18px 24px; border-bottom:1px solid #e5e9ed; }
.mania-cart-drawer-header h2 { margin:0; color:var(--mc-blue); font-size:1.45rem; line-height:1.2; }
.mania-cart-drawer-close { display:grid; place-items:center; width:42px; height:42px; padding:0; border:0; border-radius:50%; background:transparent; color:#687681; font-size:2rem; line-height:1; cursor:pointer; }
.mania-cart-drawer-close:hover { background:#f1f4f6; color:var(--mc-blue); }
.mania-cart-drawer-notice { margin:12px 20px 0; padding:11px 13px; border:1px solid #a8dfbd; border-radius:10px; background:#effbf4; color:#116b3c; font-size:.9rem; font-weight:750; }
.mania-cart-drawer-notice.is-error { border-color:#efb2b2; background:#fff2f2; color:#9d2525; }
.mania-cart-drawer-body { min-height:0; overflow-y:auto; padding:12px 24px 24px; }
.mania-cart-drawer-loading { padding:34px 10px; color:var(--mc-muted); text-align:center; }
.mania-cart-drawer-error { display:grid; justify-items:center; gap:10px; padding:42px 14px; color:var(--mc-blue); text-align:center; }
.mania-cart-drawer-error strong { font-size:1.05rem; }
.mania-cart-drawer-error span { color:var(--mc-muted); font-size:.9rem; line-height:1.45; }
.mania-cart-drawer-error button { padding:10px 16px; border:0; border-radius:9px; background:var(--mc-blue-2); color:#fff; font-weight:850; cursor:pointer; }
.mania-cart-drawer-item { display:grid; grid-template-columns:76px minmax(0,1fr); gap:14px; align-items:center; padding:17px 0; border-bottom:1px solid #edf0f2; }
.mania-cart-drawer-image { display:grid; place-items:center; width:76px; height:66px; overflow:hidden; border-radius:10px; background:#f1f5f8; color:var(--mc-muted); font-size:.75rem; font-weight:850; text-decoration:none; }
.mania-cart-drawer-image img { width:100%; height:100%; object-fit:cover; }
.mania-cart-drawer-copy { display:grid; align-content:center; justify-items:start; min-width:0; }
.mania-cart-drawer-title { margin:0 0 5px; color:var(--mc-blue); font-size:.98rem; font-weight:800; line-height:1.25; text-decoration:none; }
.mania-cart-drawer-copy strong { color:#18a95b; font-size:.96rem; }
.mania-cart-drawer-remove { margin-top:3px; padding:0; border:0; background:transparent; color:#e33b32; font:inherit; font-size:.82rem; cursor:pointer; }
.mania-cart-drawer-remove:hover { text-decoration:underline; }
.mania-cart-drawer-empty { display:grid; justify-items:center; padding:62px 20px; text-align:center; }
.mania-cart-drawer-empty h3 { margin:0 0 7px; color:var(--mc-blue); }
.mania-cart-drawer-empty p { margin:0 0 18px; color:var(--mc-muted); }
.mania-cart-drawer-empty a { padding:11px 18px; border-radius:10px; background:var(--mc-blue-2); color:#fff; font-weight:850; text-decoration:none; }
.mania-cart-drawer-footer { padding:20px 24px 24px; border-top:1px solid #e3e8ec; background:#fff; box-shadow:0 -8px 22px rgba(19,48,76,.04); }
.mania-cart-drawer-footer[hidden] { display:none !important; }
.mania-cart-drawer-total { display:flex; align-items:center; justify-content:center; gap:7px; margin-bottom:16px; color:var(--mc-blue); font-size:1.35rem; }
.mania-cart-drawer-total strong { font-size:1.45rem; }
.mania-cart-drawer .mania-cart-drawer-checkout,
.mania-cart-drawer .mania-cart-drawer-checkout:link,
.mania-cart-drawer .mania-cart-drawer-checkout:visited,
.mania-cart-drawer .mania-cart-drawer-checkout:hover,
.mania-cart-drawer .mania-cart-drawer-checkout:focus,
.mania-cart-drawer .mania-cart-drawer-checkout:active {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:52px !important;
  padding:12px 18px !important;
  border:0 !important;
  border-radius:9px !important;
  background:#20c76f !important;
  background-color:#20c76f !important;
  background-image:none !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:1.05rem !important;
  font-weight:900 !important;
  line-height:1.25 !important;
  text-align:center !important;
  text-decoration:none !important;
  text-indent:0 !important;
  opacity:1 !important;
  visibility:visible !important;
  box-shadow:0 10px 24px rgba(31,196,106,.28) !important;
}
.mania-cart-drawer .mania-cart-drawer-checkout:hover,
.mania-cart-drawer .mania-cart-drawer-checkout:focus {
  background:#1bb964 !important;
  background-color:#1bb964 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  transform:translateY(-1px);
}
.mania-cart-drawer .mania-cart-drawer-checkout:focus-visible {
  outline:3px solid rgba(32,199,111,.28) !important;
  outline-offset:3px;
}
.mania-live-cart-count { font:inherit; }
.mania-add-to-cart.is-loading, a[href*="adicionar="].is-loading { pointer-events:none; opacity:.72; }
@media (max-width:620px) {
  .mania-cart-drawer { width:min(94vw,430px); }
  .mania-cart-drawer-header { min-height:70px; padding:14px 17px; }
  .mania-cart-drawer-header h2 { font-size:1.25rem; }
  .mania-cart-drawer-body { padding:8px 17px 20px; }
  .mania-cart-drawer-item { grid-template-columns:68px minmax(0,1fr); gap:11px; padding:14px 0; }
  .mania-cart-drawer-image { width:68px; height:59px; }
  .mania-cart-drawer-title { font-size:.9rem; }
  .mania-cart-drawer-footer { padding:16px 17px 20px; }
  .mania-cart-drawer-total { margin-bottom:13px; font-size:1.18rem; }
  .mania-cart-drawer-total strong { font-size:1.28rem; }
  .mania-cart-drawer-checkout { min-height:50px; }
}
