/* Dedicated commerce layout. Native WooCommerce totals, validation and payment remain authoritative. */
.tpc-page{padding:80px 15px 95px;max-width:1268px}.tpc-page-empty{padding:0;max-width:1268px}.tpc-page .woocommerce{width:100%}.tpc-page .woocommerce-info,.tpc-page .woocommerce-message,.tpc-page .woocommerce-error{border-radius:9px;margin-bottom:22px}.tpc-page-empty .woocommerce-info{border-radius:0;margin:0;border-top-color:#2a8caa}.tpc-empty{text-align:center;min-height:506px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:55px 20px}.tpc-empty>div{font-size:52px;line-height:1}.tpc-empty h1{font-size:44px;font-weight:750;margin:0 0 20px;letter-spacing:-1.4px;color:#303334}.tpc-empty p{margin:0 0 24px;color:#51606a}.tpc-empty .tpp-button{padding:10px 20px;border-radius:5px}.tpc-heading{position:relative;background:#f4faf9;border:1px solid #cce3e1;border-radius:10px;padding:26px 24px;margin:0 0 32px;box-shadow:0 8px 24px #174c4b05}.tpc-heading h1{font-size:44px;color:#303334;font-weight:750;margin:8px 0 10px;line-height:1.15;letter-spacing:-1.3px}.tpc-heading p{margin:0;color:#65717d;padding-right:85px}.tpc-count{position:absolute;bottom:22px;right:24px;padding:8px 14px;background:white;border:1px solid #e2eceb;border-radius:24px;font-weight:600}.tpc-cart-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(300px,1fr);gap:32px;align-items:start}.tpc-items{display:grid;gap:18px}.tpc-item{display:flex;position:relative;padding:20px;gap:20px;background:white;border:1px solid #dfebe9;border-radius:10px;box-shadow:0 10px 24px #134b4a0a;min-width:0}.tpc-thumb{width:110px;flex:0 0 110px}.tpc-thumb img{width:110px;height:110px;object-fit:contain;border-radius:10px}.tpc-item-body{flex:1;min-width:0}.tpc-item .tpp-kicker{font-size:10px;letter-spacing:1px}.tpc-item h2{font-size:19px;margin:0 25px 8px 0;line-height:1.3;letter-spacing:0}.tpc-item h2 a{color:#303334}.tpc-item dl.variation{font-size:12px;color:#697482;margin:0 0 8px}.tpc-item dl.variation p{margin:0}.tpc-item-bottom{border-top:1px solid #e4edec;padding-top:10px;display:flex;align-items:center;justify-content:space-between;gap:12px}.tpc-item-bottom strong{white-space:nowrap}.tpc-tag{display:inline-block;border-radius:20px;background:#eef8f6;color:#287f80;padding:5px 12px;font-size:12px}.tpc-page.woocommerce a.tpc-remove,.woocommerce .tpc-item a.tpc-remove{position:absolute;right:18px;top:22px;font-size:23px;line-height:1;color:#b72424!important;background:transparent!important;width:22px;height:22px}.tpc-item .quantity input.qty{width:70px;height:34px;padding:4px;border-radius:6px;background:#f5faf9;border:1px solid #d4e2df}.tpc-cart-actions{margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:15px}.tpc-cart-actions>a{color:#238888;font-weight:600}.tpc-summary,.tpc-panel{background:#fff;border:1px solid #dfebe9;border-radius:10px;box-shadow:0 10px 24px #134b4a0a;padding:20px}.woocommerce .tpc-summary.cart-collaterals .cart_totals{float:none;width:100%;margin:0}.tpc-summary .cart_totals>h2{font-size:24px;margin:0 0 14px;letter-spacing:-.5px}.woocommerce .tpc-summary table.shop_table,.woocommerce .tpc-order-summary table.shop_table{border:0;border-collapse:collapse;margin-bottom:14px}.tpc-summary table th,.tpc-summary table td,.tpc-order-summary table th,.tpc-order-summary table td{padding:12px 0!important;border-top:1px solid #e7eeee!important;font-size:15px}.tpc-summary table td{text-align:right}.tpc-summary tr:first-child th,.tpc-summary tr:first-child td{border:0!important}.tpc-summary tr.order-total,.tpc-order-summary tr.order-total{background:#f0f8f7}.tpc-summary tr.order-total th,.tpc-order-summary tr.order-total th{padding-left:12px!important}.tpc-summary tr.order-total td,.tpc-order-summary tr.order-total td{padding-right:12px!important;color:#238888}.woocommerce .tpc-summary .wc-proceed-to-checkout{padding:10px 0 0}.woocommerce .tpc-summary .wc-proceed-to-checkout a.checkout-button{margin:0;font-size:14px;border-radius:5px;padding:12px}.tpc-coupon{margin-top:22px}.tpc-coupon label{display:block;font-size:14px;font-weight:650;margin-bottom:10px}.tpc-coupon>div{display:flex;gap:12px}.tpc-coupon input{width:100%;min-width:0;padding:12px;border:1px solid #d3dddf;border-radius:6px;font-size:12px}.tpc-coupon button{white-space:nowrap;font-size:13px!important;padding:12px!important;border-radius:5px!important}.tpc-page .button,.tpc-page button.button,.tpc-page a.button{background:#238888!important;color:#fff!important;border-radius:5px;padding:11px 18px;font-weight:650}.tpc-checkout-grid{display:grid;grid-template-columns:minmax(0,1.44fr) minmax(320px,1fr);gap:36px;align-items:start}.tpc-checkout-main{display:grid;gap:28px}.tpc-checkout-main #customer_details{display:grid;gap:28px}.tpc-panel{padding:24px 20px}.tpc-checkout-grid h2,.tpc-checkout-grid h3{font-size:17px;letter-spacing:0;margin:0 0 20px;font-weight:700}.tpc-checkout-grid h2:after,.tpc-checkout-grid h3:after{display:block;content:'';width:34px;height:2px;background:#238888;margin-top:7px}.tpc-page .woocommerce form .form-row{padding:0;margin:0 0 13px}.tpc-page .woocommerce form .form-row label{font-size:12px;font-weight:650;line-height:1.7;margin-bottom:4px}.tpc-page .woocommerce form .form-row input.input-text,.tpc-page .woocommerce form .form-row textarea,.tpc-page .select2-container .select2-selection{border:1px solid #dfe9e8;background:#f6faf9;border-radius:7px;min-height:39px;padding:9px 11px;box-shadow:none}.tpc-page input:focus,.tpc-page textarea:focus{outline:2px solid #91c6c5;outline-offset:1px}.tpc-checkout-grid .col2-set .col-1,.tpc-checkout-grid .col2-set .col-2{float:none;width:100%}.tpc-panel:empty{display:none}.tpc-additional:has(.woocommerce-additional-fields:empty):not(:has(.woocommerce-shipping-fields input)){display:none}.tpc-order-summary{position:sticky;top:110px}.tpc-order-summary table .product-total,.tpc-order-summary tfoot td{text-align:right}.tpc-page.woocommerce-checkout #payment,.tpc-page #payment{background:transparent!important;border-radius:0}.tpc-page #payment ul.payment_methods{padding:0 0 18px;border-bottom:1px solid #e5eeed}.tpc-page #payment div.form-row{padding:18px 0 0}.tpc-page #payment div.payment_box{background:#eff8f6;border-radius:6px}.tpc-page #payment #place_order{float:none;width:100%;font-size:15px}.tpc-page #order_review_heading,.tpc-page #order_review{float:none;width:100%;clear:none}.tpc-page .woocommerce-privacy-policy-text{font-size:12px}.tpc-page .woocommerce-form-login,.tpc-page .checkout_coupon{background:#fff;border:1px solid #dce9e7;border-radius:9px}.tpc-page+.tpp-footer .tps-footer-top{display:none}
@media(max-width:780px){.tpc-page{padding:32px 20px 55px}.tpc-page-empty{padding:0 20px}.tpc-empty{min-height:440px;padding:55px 0}.tpc-empty h1{font-size:34px}.tpc-heading{padding:22px 20px}.tpc-heading h1{font-size:34px}.tpc-heading p{padding:0;font-size:14px}.tpc-count{position:static;display:inline-block;margin-top:14px}.tpc-cart-grid,.tpc-checkout-grid{grid-template-columns:1fr;gap:24px}.tpc-order-summary{position:static}.tpc-thumb,.tpc-thumb img{width:76px;height:76px}.tpc-thumb{flex-basis:76px}.tpc-item{padding:16px;gap:14px}.tpc-item h2{font-size:16px}.tpc-item-bottom{flex-wrap:wrap}.tpc-summary,.tpc-panel{padding:20px 16px}.tpc-cart-actions .button{font-size:12px}.tpc-checkout-grid .form-row-first,.tpc-checkout-grid .form-row-last{width:100%;float:none}.tpc-coupon>div{gap:8px}}
body:has(.tpc-page) .tpp-footer .tps-footer-top{display:none}
.tpc-page .tps-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
@media(max-width:780px){.tpc-page .tps-form-grid{grid-template-columns:1fr}}

/* Override Astra's classic checkout floats inside the custom grid. */
.tpc-page .woocommerce .cart-collaterals .cart_totals{border:0!important;padding:0!important;border-radius:0!important;box-shadow:none!important}
.tpc-page .woocommerce .cart-collaterals .cart_totals>h2{background:transparent!important;padding:0!important;border:0!important;margin:0 0 16px!important}
.tpc-page .woocommerce .cart-collaterals table,.tpc-page .woocommerce .cart-collaterals table th,.tpc-page .woocommerce .cart-collaterals table td{border-left:0!important;border-right:0!important;border-bottom:0!important}
.tpc-page form.woocommerce-checkout #order_review,.tpc-page form.woocommerce-checkout #order_review_heading{float:none!important;width:100%!important;clear:none!important;margin:0!important;border:0!important;padding:0!important;background:transparent!important}
.tpc-page form.woocommerce-checkout #order_review_heading{margin-bottom:18px!important}
.tpc-page .tpc-order-summary table{width:100%!important;table-layout:auto;border:0!important}
.tpc-page .tpc-order-summary table th,.tpc-page .tpc-order-summary table td{border-left:0!important;border-right:0!important;border-bottom:0!important;overflow-wrap:anywhere}
.tpc-page .tpc-coupon{margin:18px 0 22px}.tpc-page .tpc-coupon label{font-size:14px!important}.tpc-page .tpc-coupon input{border-radius:6px!important}
.tpa-account p,.tpa-activation p{font-size:13px;color:#566773}.tpa-fields,.tpa-credential-fields{display:flow-root}.tpa-activation [hidden]{display:none!important}.tpa-activation .woocommerce-input-wrapper input[type=checkbox]{accent-color:#238888}.tpa-activation label.checkbox{font-weight:500!important;font-size:12px!important}.tpa-account input,.tpa-activation input,.tpa-activation select{max-width:100%;width:100%}.tpa-activation input[type=checkbox]{width:auto}.tpa-activation select{height:42px;background:#f6faf9;border:1px solid #dfe9e8;border-radius:7px;padding:9px}.tpa-activation .tpp-muted{margin-top:16px}.tpa-account .form-row-first,.tpa-credential-fields .form-row-first{width:48%;float:left}.tpa-account .form-row-last,.tpa-credential-fields .form-row-last{width:48%;float:right}@media(max-width:780px){.tpa-account .form-row-first,.tpa-account .form-row-last,.tpa-credential-fields .form-row-first,.tpa-credential-fields .form-row-last{width:100%;float:none}}
.tpc-page .password-input{position:relative;display:block}.tpc-page .password-input .show-password-input{position:absolute!important;right:8px!important;top:8px!important;width:26px!important;height:24px!important;min-height:0!important;min-width:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;font-size:0!important;color:#238888!important}.tpc-page .password-input .show-password-input:after{content:'◉';font-family:Arial!important;font-size:16px!important;line-height:24px;color:#238888!important}.tpc-page .password-input .input-text{padding-right:40px!important}
