/* página do carrinho (usa as variáveis de style.css) */
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:10px 16px;border-radius:8px;z-index:100}.skip:focus{left:8px}
.cart-wrap{max-width:var(--max);margin:0 auto;padding:8px 16px 48px}
@media(min-width:768px){.cart-wrap{padding:16px 32px 72px}}
#carrinho:focus{outline:none}
.cart-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:24px}
.cart-head h1{font-size:clamp(32px,4vw,44px);font-weight:400}
.cart-back{font-size:14px;text-decoration:underline;text-underline-offset:3px;padding:12px 0}
.cart-empty{text-align:center;padding:48px 0;display:flex;flex-direction:column;align-items:center;gap:24px}
.cart-empty[hidden],#cartFull[hidden]{display:none}
.cart-empty p{font-size:24px}
.cart-cols{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-bottom:16px;border-bottom:1px solid var(--line)}
.cart-item{display:grid;grid-template-columns:96px 1fr auto;gap:16px;padding:24px 0;border-bottom:1px solid var(--line);align-items:start}
@media(min-width:640px){.cart-item{grid-template-columns:150px 1fr auto;gap:24px}}
.cart-item__img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:16px}
.cart-item__name{font-size:clamp(18px,2.4vw,24px);font-weight:500;line-height:1.25}
.cart-item__unit,.cart-item__kit{font-size:14px;color:var(--muted);margin-top:8px}
.cart-item__total{font:600 clamp(16px,2vw,20px) var(--head);white-space:nowrap}
.cart-item__ctl{display:flex;align-items:center;gap:4px;margin-top:16px}
.qty{display:inline-flex;align-items:center;border:1px solid #9a9aa6;border-radius:12px;overflow:hidden}
.qty button{width:40px;height:48px;border:0;background:none;display:grid;place-items:center}
.qty button:disabled{opacity:.35;cursor:not-allowed}
.qty svg{width:12px;height:12px}
.qty output{min-width:40px;text-align:center;font-weight:500}
.cart-rm{width:44px;height:44px;border:0;background:none;display:grid;place-items:center;border-radius:12px}
.cart-rm:hover{background:var(--surface)}.cart-rm svg{width:20px;height:20px}
.sum{margin-top:32px}
@media(min-width:900px){.sum{max-width:460px;margin-left:auto}}
.sum__body{background:#fff;border:1px solid #ddd6fe;border-radius:20px;padding:24px;box-shadow:0 8px 28px rgba(124,58,237,.08)}
.sum h2{font-size:18px;font-weight:600;color:#2e1a5c;margin-bottom:16px}
.ship{background:#faf8ff;border:1px solid #ede9fe;border-radius:14px;padding:14px;margin-bottom:16px}
.ship__msg{display:flex;align-items:center;gap:10px;font-size:14px;color:#52525e}.ship__msg svg{width:22px;height:22px;flex:none;color:var(--blue)}
.ship__msg strong{color:var(--blue)}
.ship__track{height:8px;background:#e9e4f7;border-radius:99px;margin-top:12px;overflow:hidden}
.ship__track span{display:block;height:100%;background:var(--blue);border-radius:99px;transition:width .3s}
.sum__rows{margin:0}
.sum__row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:14px}
.sum__row[hidden]{display:none}
.sum__row dt,.sum__row dd{margin:0}
.sum__row s{color:var(--muted)}
.sum__row--save{background:#f3eefe;border-radius:12px;padding:12px 14px;color:var(--blue);font-weight:600;margin:4px 0}
.sum__row--save dt{display:flex;align-items:center;gap:8px}.sum__row--save svg{width:16px;height:16px}
.sum__row--save dd{font-size:18px;font-weight:700}
.sum__row--total{border-top:1px solid var(--line);margin-top:8px;padding-top:16px}
.sum__row--total dd{font:700 clamp(24px,3vw,30px) var(--head);color:#2e1a5c}
.sum__note{font-size:12px;color:var(--muted);margin-top:4px}
/* barra fixa do total */
.cart-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(0,0,0,.06);display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px}
.cart-bar[hidden]{display:none}
.cart-bar__t{display:flex;flex-direction:column;font-size:12px;color:var(--muted)}.cart-bar__t strong{font:700 22px var(--head);color:#2e1a5c}
.cart-bar__btn{background:var(--blue);color:#fff;font:600 16px var(--body);min-height:52px;padding:14px 28px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;flex:1;max-width:320px}
.cart-bar__btn:hover{opacity:.9}
.cart-page.has-bar .foot{padding-bottom:84px}

.cart-item__promo{margin:6px 0 0;padding:6px 10px;border-radius:8px;background:#eaf7f0;color:#1d6b46;font-size:13px;font-weight:600;line-height:1.35}
