/* Cart and checkout: restrained typography, one price, clear native form fields. */
body.woocommerce-cart .page-container,body.woocommerce-checkout .page-container{max-width:1240px;margin:36px auto 72px;padding:0 28px}
body.woocommerce-cart .page-title,body.woocommerce-checkout .page-title{display:none}
body.woocommerce-cart .woocommerce,body.woocommerce-checkout .woocommerce{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.pt-cart{grid-template-columns:minmax(0,1fr) 340px;gap:32px}
.pt-cart-item{grid-template-columns:72px minmax(0,1fr) auto 58px;gap:20px;padding:24px}
.pt-item-title{font-size:25px;line-height:1.15}
.pt-item-single{font-size:13px;text-transform:none;letter-spacing:0;line-height:1.5;margin-top:8px}
.pt-item-total,.pt-sum-value{font-family:var(--font-sans);font-size:16px;font-weight:500;font-variant-numeric:lining-nums tabular-nums}
.pt-item-remove .pt-remove{min-height:44px;display:inline-flex;align-items:center;border:0;text-decoration:underline;text-underline-offset:4px}
.pt-cart-summary{padding:26px;border-radius:12px;top:100px}
.pt-cart-note{display:none}
.pt-checkout-btn{margin-top:22px;min-height:52px;font-size:15px}
body.woocommerce-cart .woocommerce-message{padding:14px 18px!important;border:1px solid var(--border-subtle)!important;border-radius:6px;margin-bottom:24px;font:14px/1.5 var(--font-sans)}
.pt-secure{margin-top:16px}
.pt-cart-coupon{font:13px/1.6 var(--font-sans);margin-top:18px}
/* Checkout introduction and two-column composition. */
.pt-flow-heading{margin:0 0 30px}
.pt-flow-heading>a{display:inline-flex;min-height:44px;align-items:center;font:13px var(--font-sans);color:var(--accent)}
.pt-flow-heading h1{font:500 clamp(38px,4vw,52px)/1.05 var(--font-serif-display);margin:6px 0 10px}
.pt-flow-heading>p{font:14px/1.5 var(--font-sans);color:var(--text-secondary)}
.pt-flow-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:36px;align-items:start}
.pt-flow-main{min-width:0}
.pt-flow-section{padding:26px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:12px;margin-bottom:20px}
.pt-flow-section h2{font:500 28px/1.15 var(--font-serif-display);margin:0 0 18px;color:var(--text-main)}
.pt-section-help{font:13px/1.6 var(--font-sans);color:var(--text-secondary);margin:-7px 0 20px}
.pt-checkout-v2 #customer_details{display:block;width:100%;margin:0}
.pt-checkout-v2 #customer_details .col-1,.pt-checkout-v2 #customer_details .col-2{float:none!important;width:100%!important;margin:0;padding:0}
body.woocommerce-checkout .pt-checkout-v2 .pt-field-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:16px}
body.woocommerce-checkout .pt-checkout-v2 .form-row{float:none!important;clear:none!important;width:auto!important;padding:0;margin:0;min-width:0}
.pt-checkout-v2 .pt-field-grid>.form-row-wide{grid-column:1/-1}
body.woocommerce-checkout .pt-checkout-v2 .form-row label{font:500 13px/1.5 var(--font-sans);color:var(--text-body);margin:0 0 7px;display:block}
body.woocommerce-checkout .pt-checkout-v2 .form-row input.input-text,body.woocommerce-checkout .pt-checkout-v2 .form-row textarea,body.woocommerce-checkout .pt-checkout-v2 .form-row select{font:400 16px/1.5 var(--font-sans)!important;min-height:48px;border:1px solid var(--border-strong)!important;border-radius:6px!important;padding:11px 12px!important;color:var(--text-main)!important;box-shadow:none!important;box-sizing:border-box;width:100%}
body.woocommerce-checkout .pt-checkout-v2 .form-row input:focus,body.woocommerce-checkout .pt-checkout-v2 .form-row textarea:focus{outline:2px solid var(--accent);outline-offset:2px}
body.woocommerce-checkout .pt-checkout-v2 .select2-container--default .select2-selection--single{height:48px!important;border-radius:6px;border-color:var(--border-strong)!important}
body.woocommerce-checkout .pt-checkout-v2 .select2-container--default .select2-selection--single .select2-selection__rendered{font:400 16px/46px var(--font-sans);padding-left:12px}
.pt-checkout-v2 .select2-selection__arrow{height:46px!important}
body.woocommerce-checkout .pt-checkout-v2 #ship-to-different-address{display:block!important;margin:0!important;font:14px var(--font-sans)}
.pt-address-toggle{display:flex!important;align-items:center;gap:12px;min-height:44px;cursor:pointer;color:var(--text-main)!important;margin:0!important}
.pt-address-toggle input{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0;margin:0!important}
.pt-checkout-v2 .shipping_address{margin-top:18px}
.pt-order-notes{margin:0 0 20px;font:13px/1.6 var(--font-sans)}
.pt-order-notes summary{cursor:pointer;min-height:44px;display:list-item;color:var(--text-secondary)}
.pt-order-notes .form-row{margin-top:10px!important}
.pt-order-notes textarea{min-height:90px!important}
/* Payment method cards use native radios with a stable Stripe mount. */
.pt-payment-choices{border:0;padding:0;margin:0 0 18px;display:grid;gap:10px}
.pt-payment-choice{display:flex!important;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;margin:0!important;background:var(--bg-surface)}
.pt-payment-choice:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.pt-payment-choice input{accent-color:var(--accent);width:18px;height:18px;flex-shrink:0;margin:3px 0 0}
.pt-payment-choice strong{font:500 15px/1.5 var(--font-sans);display:block;color:var(--text-main)}
.pt-payment-choice small{font:400 12px/1.6 var(--font-sans);display:block;color:var(--text-secondary);margin-top:3px}
.pt-payment-choice[hidden]{display:none!important}
.pt-payment-section:not(.pt-payment-enhanced) .pt-payment-choices{display:none}
.pt-wallet-panel{position:absolute;visibility:hidden;pointer-events:none;height:0;overflow:hidden;width:calc(100% - 52px)}
.pt-payment-section{position:relative}
.pt-payment-section[data-choice="wallet"] .pt-wallet-panel{position:static;visibility:visible;pointer-events:auto;height:auto;width:100%;overflow:visible;margin-bottom:20px}
#wc-stripe-express-checkout-button-separator{display:none!important}
.pt-payment-section #wc-stripe-express-checkout-element{max-width:100%!important;margin:16px 0!important}
.pt-wallet-unavailable{font:12px/1.6 var(--font-sans);color:var(--text-secondary);margin-top:12px}
body.woocommerce-checkout .pt-checkout-v2 #payment{background:transparent!important;border:0!important;padding:0!important}
body.woocommerce-checkout .pt-checkout-v2 #payment ul.payment_methods{border:0!important;padding:0!important;margin:0!important}
.pt-payment-enhanced #payment ul.payment_methods>li>input,.pt-payment-enhanced #payment ul.payment_methods>li>label{display:none!important}
.pt-payment-section[data-choice="wallet"] #payment .payment_box,.pt-payment-section[data-choice="wallet"] #place_order{display:none!important}
body.woocommerce-checkout .pt-checkout-v2 #payment div.payment_box{background:transparent!important;border:0!important;border-radius:0;padding:0!important;margin:16px 0!important;font:14px/1.6 var(--font-sans)}
.pt-checkout-v2 #payment .payment_box fieldset{border:0!important;padding:0!important;margin:0!important}
.pt-checkout-v2 #payment .payment_box p{font:13px/1.6 var(--font-sans)}
body.woocommerce-checkout .pt-checkout-v2 #payment #place_order{min-height:52px;font-size:16px!important;font-weight:500!important;border-radius:6px!important;letter-spacing:0!important;text-transform:none!important;padding:14px 18px!important;margin-top:18px;line-height:1.4}
.pt-checkout-v2 .woocommerce-terms-and-conditions-wrapper{margin-top:16px}
.pt-checkout-v2 .woocommerce-privacy-policy-text{font:12px/1.6 var(--font-sans);color:var(--text-secondary)}
/* Compact review, keeping tables only for quantities and totals. */
.pt-flow-summary{position:sticky;top:100px;border:1px solid var(--border-subtle);border-radius:12px;padding:24px;background:var(--bg-surface);min-width:0}
.pt-flow-summary .pt-order-head{margin-bottom:10px}
.pt-flow-summary .pt-order-head h2{font-size:28px}
body.woocommerce-checkout .pt-review-table{table-layout:fixed;border:0!important;border-radius:0;margin:0!important;background:transparent!important;width:100%}
.pt-review-table td.product-name{width:auto}
.pt-review-table td.product-total{width:96px;white-space:nowrap}
body.woocommerce-checkout .pt-review-table tbody td{padding:16px 0!important;border:0!important;border-bottom:1px solid var(--border-subtle)!important;background:transparent!important}
.pt-review-item{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:start;padding-right:8px}
.pt-review-item img{width:42px!important;height:auto!important;box-shadow:none!important;margin:0;float:none}
.pt-review-item strong{font:500 15px/1.4 var(--font-serif-body);display:block;overflow-wrap:normal}
.pt-review-item small{font:11px/1.6 var(--font-sans);display:block;color:var(--text-secondary);margin-top:4px}
body.woocommerce-checkout .pt-review-table .product-total,body.woocommerce-checkout .pt-review-table tfoot td{font:500 14px/1.5 var(--font-sans);font-variant-numeric:tabular-nums;vertical-align:top;text-align:right}
body.woocommerce-checkout .pt-review-table tfoot th{font:400 13px/1.5 var(--font-sans)}
body.woocommerce-checkout .pt-review-table tfoot th,body.woocommerce-checkout .pt-review-table tfoot td{padding:14px 0!important;border:0!important;background:transparent!important}
body.woocommerce-checkout .pt-review-table .order-total th,body.woocommerce-checkout .pt-review-table .order-total td{font:500 19px/1.5 var(--font-sans)!important;border-top:1px solid var(--border-subtle)!important}
.pt-summary-help{font:12px/1.6 var(--font-sans);color:var(--text-secondary);margin-top:12px}
.pt-coupon-toggle{margin:0 0 20px;font:13px var(--font-sans)}
body.woocommerce-checkout .pt-coupon-toggle .woocommerce-info{border:0!important;background:transparent!important;padding:0!important;font:13px/1.6 var(--font-sans)}
.pt-checkout-v2 .required{color:var(--accent)}
/* Select2 country search must never spill past its field; touch-friendly width. */
.pt-checkout-v2 .pt-field-grid>#billing_email_field,.pt-checkout-v2 .pt-field-grid>#billing_phone_field{grid-column:auto!important;width:auto}
body .select2-container .select2-search--inline .select2-search__field{width:100%!important;min-width:0!important;box-sizing:border-box;margin:0}
body .select2-search--dropdown .select2-search__field{width:calc(100% - 2px)!important;box-sizing:border-box}
body.woocommerce-checkout .pt-checkout-v2 .select2-dropdown{max-width:100%;box-sizing:border-box}
@media(max-width:1000px){.pt-flow-grid,.pt-cart{grid-template-columns:minmax(0,1fr)}.pt-flow-summary,.pt-cart-summary{position:static}.pt-flow-summary{order:-1}.pt-review-table tbody{display:table-row-group}.pt-flow-heading{margin-bottom:24px}.pt-cart-summary{max-width:none}}
@media(max-width:600px){body.woocommerce-cart .page-container,body.woocommerce-checkout .page-container{padding:0 16px;margin:20px auto 48px}.pt-flow-section,.pt-flow-summary,.pt-cart-summary{padding:20px 18px}.pt-flow-grid{gap:20px}.pt-flow-section h2{font-size:26px}.pt-flow-heading h1{font-size:40px}.pt-cart-item{grid-template-columns:52px minmax(0,1fr) auto;gap:12px;padding:18px 14px;align-items:start}.pt-item-cover{grid-row:1/3}.pt-item-cover img{width:48px}.pt-item-title{font-size:21px}.pt-item-info{grid-column:2/4;grid-row:1}.pt-item-total{grid-column:2;grid-row:2;text-align:left;align-self:center}.pt-item-remove{grid-column:3;grid-row:2}.pt-item-single{font-size:12px;margin-top:6px}.pt-cart-head{align-items:flex-start}.pt-payment-choice{padding:14px}.pt-review-item{grid-template-columns:36px minmax(0,1fr);gap:10px}.pt-review-item img{width:36px!important}.pt-review-table td.product-total{width:70px}.pt-checkout-v2 .pt-field-grid{gap:14px!important}}
@media(max-width:400px){body.woocommerce-checkout .pt-checkout-v2 .pt-field-grid{grid-template-columns:1fr}.pt-checkout-v2 .pt-field-grid>.form-row{grid-column:1!important}}

.pt-order-details>summary{display:none}.pt-order-details>summary span{font-variant-numeric:tabular-nums;margin-left:auto}.pt-order-details>summary .amount,.pt-review-table .order-total .amount{font-family:var(--font-sans)!important;font-weight:500!important}
@media(max-width:1000px){.pt-order-details>summary{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer;font:13px/1.5 var(--font-sans);color:var(--text-main)}.pt-order-details>summary:before{content:'+';font-size:18px;color:var(--accent)}.pt-order-details[open]>summary:before{content:'−'}.pt-order-details>summary::-webkit-details-marker{display:none}.pt-flow-summary{padding-top:16px;padding-bottom:16px}.pt-flow-summary .pt-order-head{margin-bottom:4px}.pt-flow-summary .pt-order-head h2{font-size:25px}}
.pt-coupon-toggle .woocommerce-info a{display:inline-flex!important;align-items:center;justify-content:flex-start!important;min-height:44px;margin:0!important;padding:0!important;font:13px/1.5 var(--font-sans);text-align:left!important}

.pt-sum-total .pt-sum-value .amount{font-family:var(--font-sans)!important;font-size:24px;font-weight:500;font-variant-numeric:tabular-nums}
.pt-payment-section[data-choice="card"] #payment .payment_box:not(.payment_method_stripe),.pt-payment-section[data-choice="cod"] #payment .payment_box:not(.payment_method_patriarchs_cod){display:none!important}

/* Scoped sizing wins over legacy WooCommerce form and price rules. */
body.woocommerce-checkout .pt-checkout-v2 .pt-field-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
body.woocommerce-checkout .pt-checkout-v2 .pt-field-grid>#billing_email_field,
body.woocommerce-checkout .pt-checkout-v2 .pt-field-grid>#billing_phone_field{grid-column:auto!important;min-width:0;width:auto!important}
body.woocommerce-checkout .pt-flow-section,body.woocommerce-checkout .pt-flow-summary{box-sizing:border-box;min-width:0}
body.woocommerce-checkout .pt-review-table td.product-name{width:68%}
body.woocommerce-checkout .pt-review-table td.product-total{width:32%;white-space:normal}
body.woocommerce-checkout .pt-review-table .amount{font-family:var(--font-sans)!important;font-size:14px!important;white-space:normal;overflow-wrap:anywhere}
body.woocommerce-checkout .pt-review-table .order-total .amount{font-size:19px!important}
body.woocommerce-checkout .pt-review-item>div{min-width:0;overflow-wrap:anywhere}
body.woocommerce-checkout .pt-review-item strong{overflow-wrap:anywhere}
body.woocommerce-checkout .select2-container{max-width:100%;box-sizing:border-box}
body.woocommerce-checkout .select2-dropdown,body.woocommerce-checkout .select2-search--dropdown{box-sizing:border-box;min-width:0}
body.woocommerce-checkout .select2-container .select2-search--dropdown .select2-search__field{display:block;width:100%!important;min-width:0;max-width:100%;box-sizing:border-box!important;margin:0!important}
@media(max-width:600px){body.woocommerce-checkout .pt-checkout-v2 .pt-field-grid{grid-template-columns:minmax(0,1fr)}body.woocommerce-checkout .pt-checkout-v2 .pt-field-grid>.form-row{grid-column:1!important}}

/* Align the desktop summary with the cart items, below the cart heading. */
@media (min-width:1001px) { .pt-cart-summary { margin-top: 104px; } }
