/* Child-owned checkout styles. Overrides snippet 25 only for the new table. */
.psg-checkout { --psg-green:#28695b; --psg-line:#dce5e0; }
.psg-order-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin:16px 0; }
.psg-order-heading h3 { margin:0 !important; }
.psg-continue,.psg-remove { display:inline-flex; min-height:44px; align-items:center; padding:0 8px; color:#28695b !important; text-decoration:underline; text-underline-offset:3px; font-size:15px; }
.psg-checkout .psg-order-table { table-layout:fixed; width:100% !important; font-family:inherit; border:1px solid #dce5e0; border-radius:8px; }
.psg-checkout .psg-order-table th:first-child { width:70%; }
.psg-checkout .psg-order-table thead th { background:#f1f6f3; border-bottom:1px solid #dce5e0; color:#28695b; }
.psg-checkout .psg-order-table td { padding:18px 12px; vertical-align:top; overflow-wrap:anywhere; }
.psg-product { display:flex; gap:14px; align-items:flex-start; }
.psg-product-image { flex:0 0 60px; }
.psg-product-image img { width:60px; height:70px; object-fit:contain; border-radius:4px; }
.psg-product-info { min-width:0; flex:1; font-weight:400; }
.psg-product-kind { display:block; font-size:13px; color:#617168; margin:4px 0; font-weight:400; }
.psg-product-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-top:10px; }
.psg-quantity { display:inline-flex; align-items:center; border:1px solid #b9ccc1; border-radius:6px; overflow:hidden; }
.psg-quantity button,.psg-quantity input { box-sizing:border-box; width:44px !important; min-width:44px; height:44px; padding:0 !important; margin:0; border:0; border-radius:0; font:inherit; text-align:center; background:#fff; color:#244a3d; }
.psg-quantity button { font-size:22px; cursor:pointer; }
.psg-quantity input { border-left:1px solid #dce5e0; border-right:1px solid #dce5e0; appearance:textfield; -moz-appearance:textfield; }
.psg-quantity input::-webkit-inner-spin-button,.psg-quantity input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.psg-quantity button:disabled { cursor:default; color:#929d97; background:#f2f4f2; }
.psg-quantity-fixed { font-size:14px; color:#4e5d55; padding:8px 0; }
.psg-subscription-price { font-size:14px; font-weight:400; line-height:1.6; }
.psg-quantity-warning { font-size:14px; color:#8b3a15; }
.psg-checkout .psg-order-table .product-total { text-align:right; font-size:16px; }
.psg-order-table .product-total small,.psg-order-table .product-total del { display:block; font-size:13px; color:#637268; font-weight:400; }
.psg-checkout .psg-order-table tfoot th,.psg-checkout .psg-order-table tfoot td { font-size:16px; padding:12px; width:auto; }
.psg-checkout .psg-order-table tfoot th { background:#f6f8f6; }
.psg-checkout .psg-order-table tfoot td { text-align:right; }
.psg-order-table tfoot small { display:block; font-size:12px; font-weight:400; line-height:1.5; }
.psg-order-table #shipping_method { padding:0; margin:0; list-style:none; text-align:left; }
.psg-order-table #shipping_method li { padding:5px 0; }
.psg-order-table #shipping_method label { display:inline; font-size:14px; }
.psg-checkout .psg-order-table .order-total th,.psg-checkout .psg-order-table .order-total td { font-size:20px; background:#edf5ef; }
#psg-cart-feedback:not(:empty) { color:#28695b; line-height:1.6; }
#psg-cart-feedback.psg-cart-error { color:#8b3a15; }
#psg-cart-feedback button { min-height:44px; border:0; background:transparent; color:#28695b; text-decoration:underline; font:inherit; cursor:pointer; }
.psg-empty-cart { text-align:center; padding:32px 12px; }
.psg-checkout a:focus-visible,.psg-checkout button:focus-visible,.psg-checkout input:focus-visible { outline:3px solid #28695b; outline-offset:3px; }
.psg-checkout [aria-busy="true"] { opacity:.7; }
@media(max-width:600px) {
    .psg-checkout .psg-order-table { display:block; border:0; }
    .psg-order-table thead { display:none; }
    .psg-order-table tbody,.psg-order-table tfoot { display:block; width:100%; }
    .psg-order-table tbody tr { display:grid; grid-template-columns:minmax(0,1fr) auto; border:1px solid #dce5e0; border-radius:8px; margin-bottom:12px; padding:14px; gap:8px; }
    .psg-checkout .psg-order-table tbody td { display:block; padding:0; border:0; }
    .psg-order-table tbody td.product-name { grid-column:1 / -1; }
    .psg-checkout .psg-order-table tbody td.product-total { grid-column:1 / -1; text-align:right; border-top:1px solid #eef1ee; padding-top:10px; }
    .psg-product { gap:10px; }
    .psg-product-image { flex-basis:46px; }
    .psg-product-image img { width:46px; height:58px; }
    .psg-product-info > strong { font-size:16px; line-height:1.5; }
    .psg-product-actions { margin-left:-56px; padding-top:6px; }
    .psg-order-table tfoot tr { display:grid; grid-template-columns:minmax(88px,.9fr) minmax(0,1.1fr); border-bottom:1px solid #dce5e0; }
    .psg-checkout .psg-order-table tfoot th,.psg-checkout .psg-order-table tfoot td { display:block; padding:10px; border:0; min-width:0; }
    .psg-checkout .psg-order-table tfoot tr.recurring-totals { display:block; }
    .psg-checkout #place_order { max-width:100%; padding:16px 20px; font-size:20px; }
    .psg-checkout .odr-order-bump-banner { box-sizing:border-box; max-width:100%; }
}
