/* Carrinho isolado: grade no fluxo normal impede que os cartões invadam o rodapé. */
body.penha2.woocommerce-cart .penha2-main { padding: 30px 0 56px; min-height: 0; }
body.penha2.woocommerce-cart .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; align-items: start; }
body.penha2.woocommerce-cart .woocommerce::before,
body.penha2.woocommerce-cart .woocommerce::after { content: none; }
body.penha2.woocommerce-cart .woocommerce > * { grid-column: 1 / -1; min-width: 0; }
body.penha2.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }
body.penha2.woocommerce-cart form.woocommerce-cart-form { grid-column: 1; width: 100%; float: none; margin: 0; }
body.penha2.woocommerce-cart .cart-collaterals { grid-column: 2; width: 100%; float: none; }
body.penha2.woocommerce-cart .penha2-footer { clear: both; }

body.penha2.woocommerce-cart .penha2-cart-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 0 20px; margin: 0; }
body.penha2.woocommerce-cart .penha2-cart-header h1 { font-size: 2.25rem; line-height: 1.15; margin: 0 0 8px; }
body.penha2.woocommerce-cart .penha2-cart-header p { font-size: .92rem; }
body.penha2.woocommerce-cart .penha2-cart-header .penha2-eyebrow { font-size: .72rem; margin-bottom: 7px; }
body.penha2.woocommerce-cart .penha2-continue-shopping { flex: 0 0 auto; gap: 9px; border: 1px solid #b8cbd8; background: #fff; color: var(--penha-navy-900); font-size: .88rem; }
body.penha2.woocommerce-cart .penha2-continue-shopping:hover { background: #eaf4f9; color: var(--penha-navy-900); box-shadow: none; }
body.penha2.woocommerce-cart .penha2-continue-shopping svg { width: 19px; height: 19px; }
.penha2-cart-delivery-notice { display: flex; align-items: flex-start; gap: 12px; padding: 15px 18px; border: 1px solid #bdd9e7; border-radius: 12px; background: #eaf5fb; font-size: .88rem; }
.penha2-cart-delivery-notice > svg { width: 24px; height: 24px; flex-shrink: 0; color: var(--penha-blue-600); }
.penha2-cart-delivery-notice strong { display: block; color: var(--penha-navy-900); }
.penha2-cart-delivery-notice p { margin: 3px 0 0; line-height: 1.5; color: #3d5b70; }

body.penha2.woocommerce-cart table.shop_table { width: 100%; margin: 0; border-spacing: 0; overflow: hidden; font-size: .88rem; }
body.penha2.woocommerce-cart table.shop_table th { padding: 13px 10px; font-size: .8rem; color: var(--penha-muted); font-weight: 650; }
body.penha2.woocommerce-cart table.shop_table td { padding: 16px 10px; border-top: 1px solid var(--penha-line); vertical-align: middle; }
body.penha2.woocommerce-cart table.cart .product-remove { width: 44px; padding-left: 12px; padding-right: 0; }
body.penha2.woocommerce-cart table.cart .product-thumbnail { width: 120px; min-width: 120px; }
body.penha2.woocommerce-cart table.cart .product-thumbnail img { display: block; width: 100px; height: 104px; max-width: none; object-fit: contain; object-position: center; }
body.penha2.woocommerce-cart table.cart .product-name { line-height: 1.45; }
body.penha2.woocommerce-cart table.cart .product-name > a { color: var(--penha-navy-900); font-weight: 650; text-decoration: none; }
body.penha2.woocommerce-cart table.cart .product-name > a:hover { text-decoration: underline; }
body.penha2.woocommerce-cart table.cart .product-price,
body.penha2.woocommerce-cart table.cart .product-subtotal { white-space: nowrap; }
body.penha2.woocommerce-cart table.cart .product-subtotal { font-weight: 750; text-align: right; padding-right: 16px; }
body.penha2.woocommerce-cart table.cart .product-quantity { width: 132px; }
body.penha2.woocommerce-cart table.cart a.remove { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 40px; border-radius: 8px; color: #a92936 !important; }
body.penha2.woocommerce-cart table.cart a.remove:hover { background: #fff0f1; color: #8c1522 !important; }
body.penha2.woocommerce-cart table.cart a.remove svg { width: 19px; height: 19px; }
.penha2-cart-gas { display: table; margin-top: 7px; padding: 3px 8px; background: var(--penha-blue-100); border-radius: 6px; color: var(--penha-navy-900); font-size: .7rem; font-weight: 800; }
body.penha2.woocommerce-cart .quantity.penha2-quantity-control { display: inline-flex; align-items: center; width: 112px; height: 44px; border: 1px solid #b8c9d4; border-radius: 9px; background: #fff; overflow: hidden; }
body.penha2.woocommerce-cart .quantity.penha2-quantity-control .qty { width: 36px; height: 42px; min-height: 0; padding: 0; border: 0; border-radius: 0; text-align: center; font-size: .9rem; -moz-appearance: textfield; appearance: textfield; }
body.penha2.woocommerce-cart .quantity .qty::-webkit-inner-spin-button,
body.penha2.woocommerce-cart .quantity .qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
body.penha2.woocommerce-cart .penha2-quantity-step { display: inline-grid; place-items: center; flex: 0 0 36px; width: 36px; height: 42px; padding: 0; border: 0; background: #fff; color: var(--penha-navy-900); font-size: 1.15rem; cursor: pointer; }
body.penha2.woocommerce-cart .penha2-quantity-step:hover:not(:disabled) { background: var(--penha-blue-100); }
body.penha2.woocommerce-cart .penha2-quantity-step:disabled { color: #a1aeb7; cursor: default; }
body.penha2.woocommerce-cart .penha2-quantity-step:focus-visible { outline: 2px solid var(--penha-blue-600); outline-offset: -3px; }

body.penha2.woocommerce-cart table.cart td.actions { padding: 16px; background: #fbfdfe; }
body.penha2.woocommerce-cart table.cart td.actions .coupon { display: inline-flex; align-items: center; gap: 8px; float: left; max-width: 100%; }
body.penha2.woocommerce-cart .woocommerce-cart-form .coupon #coupon_code { width: 180px; min-width: 0; height: 44px; min-height: 44px; margin: 0; padding: 10px 12px; font-size: .85rem; }
body.penha2.woocommerce-cart table.cart td.actions .button { min-height: 44px; padding: 10px 14px; border: 1px solid #a7c1d2; background: #fff; color: var(--penha-navy-900) !important; font-size: .82rem; box-shadow: none; transform: none; }
body.penha2.woocommerce-cart table.cart td.actions .button:hover:not(:disabled) { background: #eaf4f9; border-color: var(--penha-blue-600); }
body.penha2.woocommerce-cart table.cart td.actions button[name="update_cart"]:not(:disabled) { background: var(--penha-blue-600); border-color: var(--penha-blue-600); color: #fff !important; }
body.penha2.woocommerce-cart table.cart td.actions .button:disabled { opacity: 1; background: #edf1f4; border-color: #d5dfe5; color: #617484 !important; cursor: not-allowed; }

body.penha2.woocommerce-cart .cart-collaterals .cart_totals { float: none; width: 100%; padding: 24px; border-radius: 16px; }
body.penha2.woocommerce-cart .cart_totals h2 { font-size: 1.5rem; line-height: 1.2; margin: 0 0 18px; }
body.penha2.woocommerce-cart .cart_totals table.shop_table { border: 0; border-radius: 0; margin: 0 0 20px; }
body.penha2.woocommerce-cart .cart_totals table.shop_table th,
body.penha2.woocommerce-cart .cart_totals table.shop_table td { padding: 12px 0; font-size: .9rem; }
body.penha2.woocommerce-cart .cart_totals table.shop_table td { text-align: right; }
body.penha2.woocommerce-cart .cart_totals table.shop_table tr:first-child th,
body.penha2.woocommerce-cart .cart_totals table.shop_table tr:first-child td { border-top: 0; }
body.penha2.woocommerce-cart .cart_totals .order-total th { color: var(--penha-navy-900); font-size: 1rem; }
body.penha2.woocommerce-cart .cart_totals .order-total td { font-size: 1.3rem; color: var(--penha-navy-900); }
body.penha2.woocommerce-cart .penha2-freight-pending td { color: #755312; }
body.penha2.woocommerce-cart .wc-proceed-to-checkout { padding: 0; }
body.penha2.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { min-height: 52px; padding: 14px 16px; font-size: .94rem; line-height: 1.35; }
body.penha2.woocommerce-cart .penha2-cart-summary-note { margin: 12px 0 0; font-size: .76rem; color: var(--penha-muted); line-height: 1.5; text-align: center; }
body.penha2.woocommerce-cart .cart_totals #penha-installation-card { display:none!important; }
body.penha2.woocommerce-cart .p360-cart-offer { display:grid; grid-template-columns:112px minmax(0,1fr) auto; align-items:center; gap:22px; margin:18px 0 0; padding:20px 24px; border:1px solid #bad6e5; border-radius:18px; background:linear-gradient(135deg,#f4fbff,#fff); box-shadow:0 10px 28px #052f4810; }
body.penha2.woocommerce-cart .p360-cart-offer-media { display:grid; place-items:center; width:112px; height:96px; margin:0; overflow:hidden; border:1px solid #d8e5ec; border-radius:14px; background:#fff; }
body.penha2.woocommerce-cart .p360-cart-offer-media img { display:block; width:100%; height:100%; margin:0; padding:8px; object-fit:contain; }
body.penha2.woocommerce-cart .p360-cart-offer-media-technician img { padding:0; object-fit:cover; object-position:62% center; }
body.penha2.woocommerce-cart .p360-cart-offer-copy { min-width:0; }
body.penha2.woocommerce-cart .p360-cart-offer h2 { margin:5px 0 8px; color:var(--penha-navy-900); font-size:1.28rem; line-height:1.25; }
body.penha2.woocommerce-cart .p360-cart-offer p { margin:0; color:#405d70; font-size:.9rem; line-height:1.55; }
body.penha2.woocommerce-cart .p360-cart-offer-kicker,body.penha2.woocommerce-cart .penha-sp-offer-badge { display:inline-flex; color:#087a55; font-size:.72rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
body.penha2.woocommerce-cart .p360-cart-offer-action,body.penha2.woocommerce-cart #penha-installation-whatsapp { display:inline-flex; justify-content:center; align-items:center; min-height:50px; padding:12px 18px; border:0; border-radius:11px; background:#087f4f; color:#fff!important; font-size:.88rem; font-weight:850; text-decoration:none; white-space:nowrap; }
body.penha2.woocommerce-cart .p360-cart-kit .p360-cart-offer-action { background:var(--penha-red-600); }
body.penha2.woocommerce-cart .p360-cart-shower { border-color:#c8d7ed; background:linear-gradient(135deg,#f5f8ff,#fff); }
body.penha2.woocommerce-cart .p360-cart-shower .p360-cart-offer-kicker { color:#315aa6; }
body.penha2.woocommerce-cart .p360-cart-shower .p360-cart-offer-action { background:#315aa6; }
body.penha2.woocommerce-cart #penha-sp-installation-offer { border-color:#a9dec5; background:linear-gradient(135deg,#edf9f3,#fff); }
body.penha2.woocommerce-cart #penha-sp-installation-offer .p360-quote-status { grid-column:2/-1; margin:0; }

@media (max-width: 1100px) {
  body.penha2.woocommerce-cart .woocommerce { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  body.penha2.woocommerce-cart .cart-collaterals { grid-column: 1; }
}
@media (max-width: 768px) {
  body.penha2.woocommerce-cart .penha2-main { padding: 22px 0 88px; }
  body.penha2.woocommerce-cart .penha2-cart-header { align-items: flex-start; flex-direction: column; gap: 14px; }
  body.penha2.woocommerce-cart .penha2-cart-header h1 { font-size: 1.8rem; }
  body.penha2.woocommerce-cart .penha2-continue-shopping { width: 100%; min-height: 44px; }
  body.penha2.woocommerce-cart table.cart thead { display: none; }
  body.penha2.woocommerce-cart table.cart tbody { display: block; }
  body.penha2.woocommerce-cart table.cart tr.cart_item { display: grid; grid-template-columns: 78px minmax(0, 1fr) 36px; grid-template-areas: "photo name remove" "photo price price" "quantity quantity subtotal"; gap: 12px 10px; padding: 16px; border-bottom: 1px solid var(--penha-line); }
  body.penha2.woocommerce-cart table.cart tr.cart_item td { display: block; width: auto; min-width: 0; padding: 0; border: 0; text-align: left !important; background: #fff; }
  body.penha2.woocommerce-cart table.cart tr.cart_item td::before { display: none; }
  body.penha2.woocommerce-cart table.cart tr.cart_item .product-thumbnail { grid-area: photo; }
  body.penha2.woocommerce-cart table.cart .product-thumbnail img { width: 78px; height: 92px; }
  body.penha2.woocommerce-cart table.cart tr.cart_item .product-name { grid-area: name; font-size: .86rem; }
  body.penha2.woocommerce-cart table.cart tr.cart_item .product-remove { grid-area: remove; }
  body.penha2.woocommerce-cart table.cart tr.cart_item .product-price { grid-area: price; font-size: .8rem; color: var(--penha-muted); }
  body.penha2.woocommerce-cart table.cart tr.cart_item .product-price::before { content: "Preço unitário: "; display: inline; float: none; font-weight: 400; }
  body.penha2.woocommerce-cart table.cart tr.cart_item .product-quantity { grid-area: quantity; }
  body.penha2.woocommerce-cart table.cart tr.cart_item .product-subtotal { grid-area: subtotal; justify-self: end; align-self: center; white-space: nowrap; }
  body.penha2.woocommerce-cart table.cart tr.cart_item .product-subtotal::before { content: "Subtotal"; display: block; float: none; text-align: right; font-size: .68rem; font-weight: 400; color: var(--penha-muted); }
  body.penha2.woocommerce-cart table.cart td.actions { display: flex; flex-direction: column; gap: 12px; width: 100%; border: 0; }
  body.penha2.woocommerce-cart table.cart td.actions .coupon { display: flex; float: none; padding: 0; width: 100%; }
  body.penha2.woocommerce-cart .woocommerce-cart-form .coupon #coupon_code { flex: 1 1 0; width: 0; }
  body.penha2.woocommerce-cart table.cart td.actions .coupon .button { flex: 0 0 auto; width: auto; }
  body.penha2.woocommerce-cart table.cart td.actions button[name="update_cart"] { width: 100%; }
  body.penha2.woocommerce-cart .cart-collaterals .cart_totals { padding: 20px; }
  body.penha2.woocommerce-cart .cart_totals table.shop_table tr { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--penha-line); }
  body.penha2.woocommerce-cart .cart_totals table.shop_table tr:first-child { border-top: 0; }
  body.penha2.woocommerce-cart .cart_totals table.shop_table th,
  body.penha2.woocommerce-cart .cart_totals table.shop_table td { display: block; width: auto; border: 0; background: #fff; }
  body.penha2.woocommerce-cart .cart_totals table.shop_table td::before { display: none; }
	body.penha2.woocommerce-cart .p360-cart-offer { grid-template-columns:82px minmax(0,1fr); gap:14px; padding:18px; }
	body.penha2.woocommerce-cart .p360-cart-offer-media { width:82px; height:82px; }
	body.penha2.woocommerce-cart .p360-cart-offer .p360-cart-offer-action,body.penha2.woocommerce-cart .p360-cart-offer #penha-installation-whatsapp { grid-column:1/-1; }
	body.penha2.woocommerce-cart #penha-sp-installation-offer .p360-quote-status { grid-column:1/-1; }
	body.penha2.woocommerce-cart .p360-cart-offer-action,body.penha2.woocommerce-cart #penha-installation-whatsapp { width:100%; white-space:normal; text-align:center; }
}

@media (max-width: 380px) {
  body.penha2.woocommerce-cart table.cart td.actions .coupon { flex-direction: column; align-items: stretch; }
  body.penha2.woocommerce-cart .woocommerce-cart-form .coupon #coupon_code { flex: 0 0 auto; width: 100%; }
  body.penha2.woocommerce-cart table.cart td.actions .coupon .button { width: 100%; }
}
