/* Native Cart / Checkout blocks share the classic storefront's typography and surfaces. */
body.pn-site.pn-theme-system .pn-site-frame #pn-main .pn-content:has(:is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout)) {
 padding:0;background:transparent!important;border:0!important;box-shadow:none!important;
}
body.pn-site.pn-theme-system #pn-main :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) {
 --wc-form-border-color:var(--pn-field-border);
 --wc-form-border-radius:10px;
 --wc-form-color-text:var(--pnt-text);
 --wc-form-color-background:var(--pnt-surface);
 font-family:var(--pnt-font);font-size:16px;line-height:1.6;color:var(--pnt-text);margin:0 0 32px;
}
body.pn-site.pn-theme-system #pn-main .wc-block-components-sidebar-layout {
 display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.43fr);gap:24px;align-items:start;
}
body.pn-site.pn-theme-system #pn-main .wc-block-components-sidebar-layout > :is(.wc-block-components-main,.wc-block-components-sidebar) {
 width:100%;min-width:0;margin:0;padding:24px!important;border:0!important;
 border-radius:max(12px,var(--pnt-radius));background:var(--pnt-surface);box-shadow:var(--pn-surface-shadow)!important;box-sizing:border-box;
}
body.pn-site.pn-theme-system #pn-main :is(.wc-block-components-checkout-step,.wc-block-components-checkout-step__container,.wc-block-components-order-summary,.wc-block-components-panel,.wc-block-components-totals-coupon) {
 border:0!important;box-shadow:none!important;background:transparent;
}
body.pn-site.pn-theme-system #pn-main .wp-block-woocommerce-checkout-order-summary-block {border:0!important;box-shadow:none!important;}
body.pn-site.pn-theme-system #pn-main .wc-block-components-checkout-step {
 padding:0;margin:0 0 28px;min-width:0;
}
body.pn-site.pn-theme-system #pn-main :is(.wc-block-components-checkout-step__title,.wc-block-cart__totals-title) {
 font:700 22px/1.35 var(--pnt-font);color:var(--pnt-text);margin-bottom:16px;text-transform:none;
}
body.pn-site.pn-theme-system #pn-main .wc-block-components-checkout-step__description {font-size:14px;color:var(--pnt-muted)}
body.pn-site.pn-theme-system #pn-main :is(.wc-block-components-text-input,.wc-block-components-combobox,.wc-block-components-address-form__country,.wc-block-components-address-form__state) {
 box-shadow:none!important;background:transparent!important;min-width:0;
}
/* Floating labels and validation stay under WooCommerce's control. */
body.pn-site.pn-theme-system #pn-main :is(.wc-block-components-text-input input,.wc-block-components-combobox input.components-combobox-control__input,.wc-block-components-textarea) {
 font-family:var(--pnt-font);font-size:16px;line-height:1.5;min-height:52px;
 border:1px solid var(--pn-field-border)!important;border-radius:10px!important;
 background:var(--pnt-surface);color:var(--pnt-text);box-shadow:none!important;
}
body.pn-site.pn-theme-system #pn-main .wc-block-components-text-input label {font-family:var(--pnt-font);color:var(--pnt-muted)}
body.pn-site.pn-theme-system #pn-main .wc-block-components-text-input:focus-within input {
 outline:2px solid color-mix(in srgb,var(--pn-accent) 25%,transparent);outline-offset:2px;border-color:var(--pn-accent)!important;
}
body.pn-site.pn-theme-system #pn-main .wc-block-components-validation-error {font-size:13px;color:#b4233a}
body.pn-site.pn-theme-system #pn-main :is(.wc-block-components-button,.wc-block-cart__submit-button) {
 min-height:46px;padding:12px 20px;border:0;border-radius:10px!important;
 background:var(--pn-accent);color:var(--pnt-on-accent);font:700 16px/1.4 var(--pnt-font);text-decoration:none;
}
body.pn-site.pn-theme-system #pn-main .wc-block-components-button:hover {filter:brightness(.94)}
body.pn-site.pn-theme-system #pn-main .wc-block-components-button:disabled {opacity:.5;cursor:default}
body.pn-site.pn-theme-system #pn-main .wc-block-components-product-name {color:var(--pnt-text);font-size:16px;font-weight:700;line-height:1.5}
body.pn-site.pn-theme-system #pn-main :is(.wc-block-cart-item__total-price-and-sale-badge-wrapper,.wc-block-components-product-price) {font-size:16px;color:var(--pnt-text)}
body.pn-site.pn-theme-system #pn-main .wc-block-cart-item__image img {border-radius:10px;object-fit:contain}
body.pn-site.pn-theme-system #pn-main :is(.wc-block-components-quantity-selector input,.wc-block-components-quantity-selector button) {font-family:var(--pnt-font);font-size:16px}
body.pn-site.pn-theme-system #pn-main .wc-block-components-quantity-selector {border-radius:10px;background:var(--pnt-surface)}
body.pn-site.pn-theme-system #pn-main .wc-block-components-order-summary-item {padding-block:16px}
body.pn-site.pn-theme-system #pn-main .wc-block-components-totals-wrapper {border-color:color-mix(in srgb,var(--pn-border) 60%,transparent);padding-block:16px}
body.pn-site.pn-theme-system #pn-main .wc-block-components-totals-wrapper:empty {display:none!important;padding:0!important;border:0!important;}
body.pn-site.pn-theme-system #pn-main .wc-block-components-totals-item {font-size:15px;line-height:1.6}
body.pn-site.pn-theme-system #pn-main .wc-block-components-totals-footer-item {font-size:20px;font-weight:700}
body.pn-site.pn-theme-system #pn-main .wc-block-components-checkout-return-to-cart-button {color:var(--pn-accent);font-weight:600}
body.pn-site.pn-theme-system #pn-main .wc-block-components-radio-control-accordion-option {
 border:1px solid var(--pn-field-border)!important;border-radius:10px;padding:12px;margin-block:8px;box-shadow:none!important;
}
@media(max-width:1000px) {
 body.pn-site.pn-theme-system #pn-main .wc-block-components-sidebar-layout {grid-template-columns:minmax(0,1fr)}
 body.pn-site.pn-theme-system #pn-main .wc-block-components-sidebar {position:static}
}
@media(max-width:600px) {
 body.pn-site.pn-theme-system #pn-main .wc-block-components-sidebar-layout {gap:16px}
 body.pn-site.pn-theme-system #pn-main .wc-block-components-sidebar-layout > :is(.wc-block-components-main,.wc-block-components-sidebar) {padding:16px!important}
 body.pn-site.pn-theme-system #pn-main :is(.wc-block-components-checkout-step__title,.wc-block-cart__totals-title) {font-size:20px}
}
