body.woocommerce-checkout .woocommerce {max-width:1320px;margin:0 auto;padding:20px;box-sizing:border-box;color:#202824;}
body.woocommerce-checkout form.checkout {display:flow-root;}
body.woocommerce-checkout #customer_details {width:59%;float:left;box-sizing:border-box;}
body.woocommerce-checkout #customer_details .col-1,body.woocommerce-checkout #customer_details .col-2 {width:100%;float:none;}
body.woocommerce-checkout #order_review_heading,body.woocommerce-checkout #order_review {width:37%;float:right;clear:right;box-sizing:border-box;}
body.woocommerce-checkout #order_review {border:1px solid #d6ddd8;border-radius:8px;padding:20px;background:#fff;}
body.woocommerce-checkout #order_review_heading {font-size:24px;margin:0 0 18px;}
body.woocommerce-checkout .form-row input.input-text,body.woocommerce-checkout .form-row select,body.woocommerce-checkout .form-row textarea {min-height:52px;padding:12px;border:1px solid #9aa49e;border-radius:5px;font-size:16px;width:100%;box-sizing:border-box;}
body.woocommerce-checkout #payment {margin-top:28px;background:#f5f8f5;border:1px solid #d6ddd8;border-radius:8px;}
body.woocommerce-checkout #payment ul.payment_methods {padding:20px;}
body.woocommerce-checkout #payment .payment_box {background:#e6efe8;color:#203d2c;}
body.woocommerce-checkout table.shop_table {border:0;margin:0;width:100%;}
body.woocommerce-checkout table.shop_table th,body.woocommerce-checkout table.shop_table td {padding:14px 5px;vertical-align:top;}
body.woocommerce-checkout .product-total {white-space:nowrap;}
body.woocommerce-checkout dl.variation {font-size:13px;line-height:1.6;}
body.woocommerce-checkout dl.variation dt,body.woocommerce-checkout dl.variation dd {float:none;margin:0;}
body.woocommerce-checkout h3 {font-size:23px;}
@media(max-width:800px){body.woocommerce-checkout #customer_details,body.woocommerce-checkout #order_review,body.woocommerce-checkout #order_review_heading {width:100%;float:none;}body.woocommerce-checkout #order_review_heading {margin-top:28px;}body.woocommerce-checkout .woocommerce {padding:12px;}}
/* Totals and payment are separate cards in the right column. */
body.woocommerce-checkout #order_review {border:0;padding:0;background:transparent;}
body.woocommerce-checkout #order_review table.shop_table {border:1px solid #d6ddd8;border-radius:8px;padding:16px;background:#fff;border-collapse:separate;}
body.woocommerce-checkout #payment {clear:both;width:100%;margin-top:20px;}
body.woocommerce-checkout .form-row[hidden] {display:none!important;}
.jb-selected-options {list-style:none;margin:8px 0;padding:0;font-size:14px;font-weight:400;}
/* Use the same spacious two-column presentation for the actual cart. */
body.woocommerce-cart .woocommerce {max-width:1320px;margin:auto;padding:20px;display:flow-root;color:#202824;box-sizing:border-box;}
body.woocommerce-cart .woocommerce-cart-form {width:64%;float:left;box-sizing:border-box;}
body.woocommerce-cart .cart-collaterals {width:32%;float:right;clear:none;}
body.woocommerce-cart .cart-collaterals .cart_totals {width:100%;float:none;border:1px solid #d6ddd8;padding:20px;border-radius:8px;box-sizing:border-box;}
body.woocommerce-cart .shop_table {border:1px solid #d6ddd8;border-radius:8px;background:white;}
body.woocommerce-cart .shop_table td {padding:18px 10px;vertical-align:top;}
body.woocommerce-cart .product-thumbnail {width:110px;}
body.woocommerce-cart .jb-cart-thumbnail {width:110px!important;}
body.woocommerce-cart .product-name {min-width:180px;}
body.woocommerce-cart dl.variation {font-size:14px;line-height:1.6;}
body.woocommerce-cart dl.variation dt,body.woocommerce-cart dl.variation dd {float:none;margin:0;padding:0;}
body.woocommerce-cart .checkout-button {background:#2e7d32!important;color:white!important;border-radius:5px;padding:16px!important;}
@media(max-width:900px){body.woocommerce-cart .woocommerce-cart-form,body.woocommerce-cart .cart-collaterals {width:100%;float:none;}body.woocommerce-cart .cart-collaterals {margin-top:24px;}}
/* Each option is one flowing text row, with no definition-list indentation. */
.woocommerce .jb-item-options {display:block!important;list-style:none!important;padding:0!important;margin:10px 0 0!important;font-size:14px;line-height:1.5;text-align:left;}
.woocommerce .jb-item-options li {display:block!important;padding:0!important;margin:0 0 5px!important;white-space:normal;overflow-wrap:anywhere;}
.woocommerce .jb-order-name {font-weight:600;font-size:18px;}
.woocommerce .jb-order-product {min-width:0;}
.woocommerce .jb-order-photo {margin:0 0 12px;}
body.woocommerce-checkout #customer_details {width:51%;}
body.woocommerce-checkout #order_review_heading,body.woocommerce-checkout #order_review {width:45%;}
body.woocommerce-checkout #order_review table {table-layout:fixed;}
body.woocommerce-checkout #order_review .product-name {width:73%;}
body.woocommerce-checkout #order_review .product-total {width:27%;font-size:16px;text-align:right;}
body.woocommerce-checkout #order_review .jb-order-photo img {width:160px!important;max-width:100%;}
body.woocommerce-cart table.cart {table-layout:auto;width:100%;}
body.woocommerce-cart table.cart .product-name {width:auto;min-width:230px;}
body.woocommerce-cart table.cart .product-price,body.woocommerce-cart table.cart .product-subtotal {font-size:16px;white-space:nowrap;}
body.woocommerce-cart table.cart .product-quantity input {max-width:65px;}
/* Defensive concealment for already-rendered/cached messaging containers. */
.ppcp-messages,[data-pp-message],.ppcp-cart-paylater-messages,.ppcp-checkout-paylater-messages {display:none!important;}
body.woocommerce-cart .ppc-button-wrapper,body.woocommerce-cart #ppc-button,body.woocommerce-cart .ppcp-button-apm,body.woocommerce-cart #ppcp-googlepay,body.woocommerce-cart #ppcp-applepay {display:none!important;}
@media(max-width:800px){body.woocommerce-checkout #customer_details,body.woocommerce-checkout #order_review_heading,body.woocommerce-checkout #order_review {width:100%;}body.woocommerce-cart table.cart .product-name {min-width:0;}}

/* Cart recap and totals share one left-aligned vertical flow. */
body.woocommerce-cart .woocommerce-cart-form {width:100%;float:none;clear:both;}
body.woocommerce-cart .cart-collaterals {width:100%;float:none;clear:both;margin-top:24px;}
body.woocommerce-cart .cart-collaterals .cart_totals {width:100%;max-width:640px;float:none;margin-left:0;margin-right:auto;}
body.woocommerce-cart .shop_table .product-name {text-align:left;}
/* Match checkout: installation/actions left, recap and totals stacked right. */
body.woocommerce-cart .jb-cart-layout {display:grid;grid-template-columns:minmax(0,51fr) minmax(0,45fr);gap:4%;align-items:start;}
body.woocommerce-cart .jb-cart-address-column,body.woocommerce-cart .jb-cart-summary-column {min-width:0;text-align:left;}
body.woocommerce-cart .jb-cart-summary-column .cart_totals {max-width:none;}
body.woocommerce-cart .jb-cart-address-column h2 {margin-top:0;}
body.woocommerce-cart .jb-cart-summary-column table.cart,body.woocommerce-cart .jb-cart-summary-column table.cart tbody {display:block;width:100%;}
body.woocommerce-cart .jb-cart-summary-column table.cart thead {display:none;}
body.woocommerce-cart .jb-cart-summary-column table.cart tr.cart_item {display:grid;grid-template-columns:100px minmax(0,1fr) minmax(90px,auto);position:relative;padding:26px 12px 12px;gap:10px;}
body.woocommerce-cart .jb-cart-summary-column table.cart tr.cart_item td {display:block!important;width:auto!important;min-width:0!important;padding:0!important;text-align:left!important;border:0;float:none!important;}
body.woocommerce-cart .jb-cart-summary-column table.cart tr.cart_item td:before {display:none!important;}
body.woocommerce-cart .jb-cart-summary-column table.cart td.product-remove {position:absolute;right:10px;top:4px;}
body.woocommerce-cart .jb-cart-summary-column table.cart td.product-thumbnail {grid-column:1;grid-row:1;}
body.woocommerce-cart .jb-cart-summary-column table.cart td.product-name {grid-column:2 / 4;grid-row:1;}
body.woocommerce-cart .jb-cart-summary-column table.cart td.product-price {grid-column:1;grid-row:2;}
body.woocommerce-cart .jb-cart-summary-column table.cart td.product-quantity {grid-column:2;grid-row:2;}
body.woocommerce-cart .jb-cart-summary-column table.cart td.product-subtotal {grid-column:3;grid-row:2;}
body.woocommerce-cart .jb-cart-summary-column table.cart tr.cart_item td.product-price:before,body.woocommerce-cart .jb-cart-summary-column table.cart tr.cart_item td.product-quantity:before,body.woocommerce-cart .jb-cart-summary-column table.cart tr.cart_item td.product-subtotal:before {content:attr(data-title);display:block!important;float:none;font-size:12px;font-weight:600;margin-bottom:6px;}
body.woocommerce-cart .jb-cart-summary-column table.cart tr:has(> td.actions) {display:block;width:100%;}
body.woocommerce-cart .jb-cart-summary-column table.cart td.actions {box-sizing:border-box;width:100%!important;display:flex!important;flex-direction:column;align-items:stretch;gap:12px;padding:12px!important;text-align:left!important;}
body.woocommerce-cart .jb-cart-summary-column table.cart td.actions:before {display:none!important;}
body.woocommerce-cart .jb-cart-summary-column table.cart td.actions .coupon {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:10px;width:100%;float:none!important;padding:0!important;}
body.woocommerce-cart .jb-cart-summary-column table.cart td.actions .coupon label {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
body.woocommerce-cart .jb-cart-summary-column table.cart td.actions .coupon #coupon_code {box-sizing:border-box;width:100%!important;min-width:0;max-width:none;height:48px;margin:0!important;padding:10px 12px;float:none!important;font:inherit;border:1px solid #b8c4b8;border-radius:5px;}
body.woocommerce-cart .jb-cart-summary-column table.cart td.actions button[name="apply_coupon"],body.woocommerce-cart .jb-cart-summary-column table.cart td.actions button[name="update_cart"] {box-sizing:border-box;float:none!important;width:auto!important;min-height:48px;margin:0!important;padding:11px 18px!important;border-radius:5px;font:600 16px/1.4 Arial,sans-serif!important;text-align:center;white-space:normal;cursor:pointer;}
body.woocommerce-cart .jb-cart-summary-column table.cart td.actions button[name="apply_coupon"] {background:#f4ead7!important;color:#203d2c!important;border:1px solid #c6b994!important;}
body.woocommerce-cart .jb-cart-summary-column table.cart td.actions button[name="apply_coupon"]:hover {background:#e9dcc1!important;}
body.woocommerce-cart .jb-cart-summary-column table.cart td.actions button[name="update_cart"] {align-self:flex-end;min-width:160px;background:#2e7d32!important;color:#fff!important;border:1px solid #2e7d32!important;}
body.woocommerce-cart .jb-cart-summary-column table.cart td.actions button[name="update_cart"]:hover:not(:disabled) {background:#246428!important;}
body.woocommerce-cart .jb-cart-summary-column table.cart td.actions button:disabled {background:#e1e5e1!important;color:#4e584f!important;border-color:#c4cbc4!important;opacity:1!important;cursor:not-allowed;}
body.woocommerce-cart .jb-cart-summary-column table.cart td.actions button:focus-visible,body.woocommerce-cart .jb-cart-summary-column table.cart td.actions #coupon_code:focus-visible {outline:3px solid #b18640;outline-offset:3px;}
@media(max-width:480px){body.woocommerce-cart .jb-cart-summary-column table.cart td.actions .coupon {grid-template-columns:minmax(0,1fr);}body.woocommerce-cart .jb-cart-summary-column table.cart td.actions button[name="update_cart"] {align-self:stretch;width:100%!important;min-width:0;}}
@media(max-width:900px){body.woocommerce-cart .jb-cart-layout {display:block;}body.woocommerce-cart .jb-cart-summary-column {margin-top:28px;}}
@media(max-width:480px){body.woocommerce-cart .jb-cart-summary-column table.cart tr.cart_item {grid-template-columns:75px minmax(0,1fr) minmax(85px,auto);gap:8px;}}

body.woocommerce-cart .jb-cart-summary-column .product-thumbnail img.jb-cart-thumbnail {width:90px!important;max-width:100%!important;}

/* Required fields: text and focus feedback as well as color. */
.woocommerce .jb-invalid input,.woocommerce .jb-invalid select,.woocommerce .jb-invalid textarea{border:2px solid #b42318!important;background:#fff6f5!important;color:#1f2937!important;}
.woocommerce .jb-field-error{display:block;color:#b42318;font-size:14px;font-weight:600;margin:6px 0;}

body.woocommerce-cart .return-to-shop a.button.wc-backward{background:#2e7d32!important;color:#fff!important;padding:14px 24px;min-height:44px;box-sizing:border-box;border-radius:4px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}

.jb-address-confirmation {border:2px solid #2e7d32;padding:16px;margin:16px 0;min-width:0;}
.jb-address-confirmation legend {font-weight:700;}
.jb-address-confirmation label {display:flex;align-items:flex-start;gap:10px;cursor:pointer;}
.jb-address-confirmation input {flex:none;width:20px;height:20px;margin-top:3px;}

body.woocommerce-checkout #order_review .woocommerce-additional-fields {margin-top:24px;padding:20px;border:1px solid #d6ddd8;border-radius:8px;background:white;}

/* Shared installation fields and a compact, explicit SMS Yes/No answer. */
.jb-tax-address select{box-sizing:border-box;width:100%;max-width:480px;min-height:52px;padding:12px 14px;font-size:16px;line-height:1.5;background:#fff;color:#20362a;border:1px solid #b8c2bc;border-radius:4px;}
.woocommerce .jb-sms-choice>label:first-child{display:block;margin-bottom:10px;font-weight:600;}
.woocommerce .jb-sms-choice input[type=radio]{display:inline-block!important;width:20px;height:20px;margin:0 8px 0 0;vertical-align:middle;accent-color:#2e7d32;cursor:pointer;}
.woocommerce .jb-sms-choice label.radio{display:inline-flex!important;align-items:center;min-height:44px;margin:0 28px 8px 0;cursor:pointer;font-weight:400;}
.woocommerce .jb-sms-choice .description{display:block;margin-top:6px;line-height:1.55;font-size:14px;}

/* Installation recap and collapsed cart editor. */
.jb-installation-recap{font-size:17px;line-height:1.65;color:#202824;margin:12px 0 20px;overflow-wrap:anywhere;}
.jb-address-editor{margin:12px 0 24px;max-width:520px;}
.jb-address-editor>summary{display:list-item;cursor:pointer;color:#245a35;font-weight:600;padding:12px 0;}
.jb-address-editor[open]{padding-bottom:16px;border-bottom:1px solid #d6ddd8;}
.jb-address-save-help{font-size:14px;line-height:1.5;color:#3f4f45;}
.jb-cart-notes{margin-top:24px;max-width:520px;}
.jb-cart-notes label{display:block;margin-bottom:10px;font-weight:600;}
.jb-cart-notes textarea{width:100%;box-sizing:border-box;padding:14px;font:16px/1.5 Arial,sans-serif;border:1px solid #9aa49e;border-radius:5px;min-height:130px;}
body.woocommerce-checkout #jb-separate-billing{margin:24px 0;padding:20px;background:#fff;border:1px solid #d6ddd8;border-radius:8px;}
body.woocommerce-checkout #jb-separate-billing[hidden]{display:none!important;}
body.woocommerce-checkout #order_review .woocommerce-additional-fields.jb-installation-controls{border:0;background:none;margin:0;padding:0;}
body.woocommerce-checkout .jb-installation-hidden{display:none!important;}
body.woocommerce-checkout .jb-sms-choice{border:0;min-width:0;padding:0;margin:20px 0;}
body.woocommerce-checkout .jb-sms-choice legend{float:none;display:block;width:100%;font-size:16px;font-weight:600;margin:0 0 8px;padding:0;line-height:1.5;}
body.woocommerce-checkout .jb-sms-answers{display:flex;gap:28px;flex-wrap:wrap;}
body.woocommerce-checkout .jb-sms-answers label{display:inline-flex!important;align-items:center;min-height:44px;cursor:pointer;margin:0;font-weight:400;}
body.woocommerce-checkout .jb-sms-disclosure,body.woocommerce-checkout .jb-contact-notice{display:block!important;position:static!important;float:none!important;inset:auto!important;transform:none!important;opacity:1!important;visibility:visible!important;max-width:none!important;width:auto!important;height:auto!important;overflow:visible!important;background:transparent!important;box-shadow:none!important;color:#111!important;font-size:14px!important;line-height:1.6!important;padding:0!important;margin:8px 0 0!important;white-space:normal!important;}
body.woocommerce-checkout .jb-sms-disclosure::before,body.woocommerce-checkout .jb-sms-disclosure::after{display:none!important;}
body.woocommerce-checkout .jb-sms-disclosure a{color:#245a35;text-decoration:underline;}

.jb-cart-referral{margin-top:24px;max-width:520px;}
.jb-cart-referral label{display:block;font-weight:600;margin-bottom:10px;}

/* Staff action mirrors checkout dimensions without using checkout-button's submit behavior. */
body.woocommerce-cart .wc-proceed-to-checkout.jb-phone-order-action{padding:0;margin:0;clear:both}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,body.woocommerce-cart .wc-proceed-to-checkout a.jb-phone-order-button{display:block;box-sizing:border-box;width:100%;text-align:center;text-decoration:none!important;font-size:1.25em;font-weight:700;line-height:1.5;padding:16px!important;margin:0 0 1em;border:0;border-radius:5px;color:#fff!important;cursor:pointer}
body.woocommerce-cart .wc-proceed-to-checkout a.jb-phone-order-button{background:#506e88!important}
body.woocommerce-cart .wc-proceed-to-checkout a.jb-phone-order-button:hover{background:#40586d!important;color:#fff!important}
body.woocommerce-cart .wc-proceed-to-checkout a.jb-phone-order-button:focus-visible{outline:3px solid #b18640;outline-offset:3px}
