/* DS Informática — Carrinho */
body { background:#f7f9fc; }
main > .section { padding:34px 0 58px; }
.section-head { margin-bottom:24px; }
.section-head .eyebrow { display:inline-block; margin-bottom:6px; color:#155eef; font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.section-head h1 { margin:0 0 7px; color:#111827; font-size:clamp(27px,3vw,38px); letter-spacing:-.035em; }
.section-head p { margin:0; color:#667085; font-size:14px; }

.cart-layout { display:grid; grid-template-columns:minmax(0,1fr) 350px; gap:24px; align-items:start; }
.cart-list { display:flex; flex-direction:column; gap:13px; }
.cart-item {
    display:grid; grid-template-columns:126px minmax(0,1fr) 160px; gap:20px; align-items:center;
    padding:18px; background:#fff; border:1px solid #e6eaf0; border-radius:14px;
    box-shadow:0 7px 24px rgba(15,23,42,.035);
}
.cart-item-image { width:126px; height:126px; display:flex; align-items:center; justify-content:center; padding:9px; border:1px solid #edf0f4; border-radius:10px; background:#fff; }
.cart-item-image img { width:100%; height:100%; object-fit:contain; }
.cart-item-info .product-category { display:inline-block; margin-bottom:7px; color:#155eef; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.05em; }
.cart-item-info h2 { margin:0 0 7px; font-size:16px; line-height:1.3; }
.cart-item-info h2 a { color:#172033; text-decoration:none; }
.cart-item-info p { margin:0 0 10px; color:#7a8494; font-size:11px; line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cart-item-info > strong { color:#0f172a; font-size:18px; }
.cart-item-actions { display:flex; flex-direction:column; align-items:stretch; gap:9px; }
.cart-item-actions label { color:#667085; font-size:10px; font-weight:800; }
.quantity-control { height:40px; display:grid; grid-template-columns:34px 1fr 34px; border:1px solid #dfe5ed; border-radius:8px; overflow:hidden; background:#fff; }
.quantity-control button { border:0; background:#f7f9fc; color:#172033; font-size:18px; cursor:pointer; }
.quantity-control input { width:100%; min-width:0; border:0; border-left:1px solid #e8ecf1; border-right:1px solid #e8ecf1; text-align:center; font-weight:800; outline:none; }
.cart-subtotal { color:#172033; font-size:15px; text-align:right; }
.cart-item-actions .btn-remove { min-height:36px; padding:7px 10px; border:1px solid #e3e7ed; background:#fff; color:#667085; font-size:11px; border-radius:8px; }
.cart-item-actions .btn-remove:hover { color:#b42318; border-color:#f3c7c2; background:#fff8f7; }

.cart-actions { display:flex; justify-content:space-between; gap:10px; margin-top:5px; }
.cart-actions .btn { min-height:40px; padding:9px 14px; border-radius:8px; font-size:11px; }

.cart-summary {
    position:sticky; top:92px; padding:24px; background:#fff; border:1px solid #e6eaf0;
    border-radius:14px; box-shadow:0 9px 28px rgba(15,23,42,.045);
}
.cart-summary h2 { margin:0 0 20px; color:#172033; font-size:19px; }
.summary-line { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:10px 0; color:#667085; font-size:12px; border-bottom:1px solid #f0f2f5; }
.summary-line strong { color:#344054; }
.summary-total { display:flex; align-items:end; justify-content:space-between; gap:15px; padding:19px 0; }
.summary-total span { color:#344054; font-size:13px; font-weight:800; }
.summary-total strong { color:#0f172a; font-size:24px; letter-spacing:-.025em; }
.cart-summary .btn-primary { min-height:50px; display:flex; align-items:center; justify-content:center; width:100%; border-radius:9px; background:#155eef; color:#fff; border:1px solid #155eef; font-size:13px; font-weight:900; text-decoration:none; }
.cart-summary .btn-primary:hover { background:#0f4fd1; }
.cart-security { margin-top:17px; padding:14px; border-radius:9px; background:#f8fafc; }
.cart-security strong { display:block; margin-bottom:4px; color:#344054; font-size:11px; }
.cart-security p { margin:0; color:#8490a2; font-size:10px; line-height:1.5; }

.empty { padding:55px 25px; text-align:center; background:#fff; border:1px solid #e6eaf0; border-radius:14px; }
.empty h2 { margin:0 0 8px; color:#172033; }
.empty p { margin:0 0 20px; color:#667085; }
.empty .btn { background:#155eef; color:#fff; border-radius:9px; }

@media (max-width:950px) {
    .cart-layout { grid-template-columns:1fr; }
    .cart-summary { position:static; }
}
@media (max-width:650px) {
    main > .section { padding:20px 0 40px; }
    .section-head { margin-bottom:17px; }
    .cart-item { grid-template-columns:92px minmax(0,1fr); gap:13px; padding:13px; align-items:start; }
    .cart-item-image { width:92px; height:92px; }
    .cart-item-info h2 { font-size:14px; }
    .cart-item-info p { display:none; }
    .cart-item-info > strong { font-size:16px; }
    .cart-item-actions { grid-column:1/-1; display:grid; grid-template-columns:110px 1fr auto; align-items:end; gap:9px; padding-top:4px; }
    .cart-item-actions label { grid-column:1; }
    .quantity-control { grid-column:1; }
    .cart-subtotal { grid-column:2; align-self:center; text-align:left; }
    .cart-item-actions .btn-remove { grid-column:3; align-self:center; }
    .cart-actions { flex-direction:column-reverse; }
    .cart-actions .btn { width:100%; }
    .cart-summary { padding:19px 16px; }
}
@media (max-width:390px) {
    .cart-item-actions { grid-template-columns:105px 1fr; }
    .cart-item-actions .btn-remove { grid-column:2; }
    .cart-subtotal { grid-column:2; }
}
