/* Shared shaded cards and outlined form fields across every storefront model. */
body.pn-site.pn-theme-system {
 --pn-surface-shadow:0 4px 16px rgb(24 32 48 / 7%);
 --pn-field-border:color-mix(in srgb,var(--pnt-text) 38%,var(--pnt-surface));
 --pnt-shadow:var(--pn-surface-shadow)!important;
 --pn-shadow:var(--pn-surface-shadow)!important;
 --pnc-shadow:var(--pn-surface-shadow)!important;
}
body.pn-site.pn-theme-system .pn-site-frame {
 border-inline:1px solid var(--pnt-border)!important;
 box-shadow:0 5px 24px rgb(24 32 48 / 9%)!important;
}
/* Real panels/cards, including native WooCommerce and block templates. */
body.pn-site.pn-theme-system .pn-site-frame :is(
 .pn-header,.pn-navigation,
 li.product,.wc-block-grid__product,.wc-block-product,.pn-card,.pn-content,.pn-sidebar,.pn-widget,.pn-shop-sidebar,
 .pn-shop-menu-card,.pn-shop-filter-card,.pn-blog-sidecard,.pn-blog-sale-item,.pn-post-card,
 .pn-category,.pn-brand-card,.pn-brand-showcase,.pn-benefit,.pn-benefits>div,
 .pn-hero,.pn-promo,.pn-wide-banner,.pn-vitrine-collection,
 .pn-reference-panel,.pn-reference-product,.pn-reference-review,
 .pn-showcase-product,.pn-panorama-product,.pn-vitrine-rating,.pn-vitrine-review,.pn-info-card,.pn-comments,.pn-empty,.pn-help-faq details,
 .comment-body,.pn-newsletter,.pn-subscription-notice,
 fieldset,.pn-content details,.wp-block-group.has-border-color,
 .pn-cart-table,.pn-cart-summary,.woocommerce-cart-form,.cart_totals,
 .pn-cart-recommendations,.pn-commerce-carousel,.pn-cart-services>div,
 .pn-cart-summary-services>div,.pn-cart-note,.pn-cart-popover,.pn-menu .sub-menu,
 .pn-checkout-panel,.pn-checkout-details,.pn-checkout-summary,.pn-checkout-products,
 .pn-checkout-coupon,.pn-billing-account,.pn-checkout-product,
 #customer_details,#payment,.payment_box,.pn-account,.pn-account-panel,
 .woocommerce-MyAccount-content,.woocommerce-MyAccount-navigation,
 .woocommerce form.login,.woocommerce form.register,.woocommerce form.lost_reset_password,
 .wc-block-components-main,.wc-block-components-sidebar,.wc-block-components-order-summary,
 .wc-block-components-panel,.wc-block-components-totals-coupon,
 .pn-product-intro,.woocommerce-tabs .panel,
 .pn-product-services,.pn-product-bestsellers li,.pn-product-compare-dialog,
 #reviews .comment-text,#reviews #review_form_wrapper,.pn-review-menu>div,
 .woocommerce-product-gallery,.woocommerce-info,.woocommerce-message,.woocommerce-error
):not(.pn-category-style-transparent .pn-category):not(.pn-brand-style-transparent .pn-brand-card):not(.pn-brand-style-transparent .pn-brand-showcase):not(.woocommerce-checkout .pn-content):not(form.checkout *):not(form fieldset):not(.woocommerce-cart .pn-content):not(.woocommerce-account .pn-content):not(.woocommerce-account .woocommerce-MyAccount-navigation):not(.woocommerce-account .woocommerce-MyAccount-content) {
 border:0!important;
 box-shadow:var(--pn-surface-shadow)!important;
}
/* Layout boundaries and decorative separators share the same clean edges. */
body.pn-site.pn-theme-system .pn-site-frame :is(
 .pn-header,.pn-header-row,.pn-navigation,.pn-topbar,
 .pn-section-heading,.pn-section-heading h2,.pn-sidebar h2,.pn-sidebar h3,
 .pn-footer-main h3,.pn-shop-menu-header,.pn-blog-sidecard__bar,
 .pn-shop-category-link,.pn-shop-category-list li,.pn-blog-category-menu,
 .pn-blog-sidecard li,.pn-widget li,.pn-menu li,.pn-footer-column li,
 .pn-product-service,.product_meta,.woocommerce-tabs,.woocommerce-tabs ul.tabs,
 .woocommerce-tabs ul.tabs li,.woocommerce-MyAccount-navigation li,
 .woocommerce-MyAccount-navigation li a,.pn-checkout-summary-title,
 .woocommerce-billing-fields h3,.pn-summary-title,.pn-cart-heading,
 .pn-checkout-heading,.pn-account-heading,.pn-products-section,.pn-blog-section,
 .pn-category-grid,.pn-benefits,.pn-hero-grid,.pn-hero-promos,
 .pn-reference-intro,.pn-vitrine-intro,.pn-vitrine-photo-caption
) {border:0!important;}
/* Media sits flush in its parent card, without a second inner frame. */
body.pn-site.pn-theme-system .pn-site-frame :is(
 .pn-product-media,.pn-product-media img,.pn-card-copy-surface,
 .pn-category>span,.pn-brand-card__media,.pn-brand-card__logo,
 .pn-brand-card__logo img,.pn-post-media,.pn-post-media img,
 .pn-product-side-image,.pn-product-side-image img,
 .flex-control-thumbs li,.flex-control-thumbs img,
 .woocommerce-product-gallery__image,.woocommerce-product-gallery__image>a,
 .woocommerce-product-gallery__image img:not(.zoomImg),
 .pn-checkout-photo,.pn-checkout-photo img,.product-thumbnail a,.product-thumbnail img,
 .pn-blog-sale-item__thumb,.pn-blog-sale-item__thumb img
) {border:0!important;box-shadow:none!important;}
body.pn-site.pn-theme-system .pn-site-frame #pn-main :is(
 table,table th,table td,
 .pn-cart-layout tr.cart_item,.wc-block-cart-items__row,.pn-compare-table th,.pn-compare-table td
) {border:0!important;}
body.pn-site.pn-theme-system .pn-site-frame #payment .wc_payment_methods{border:0!important;}
/* Actions retain soft shading; editable fields have their own visible edges. */
body.pn-site.pn-theme-system .pn-site-frame :is(
 .pn-button,.pn-pill,.button,.pn-wishlist-toggle,.pn-compare-toggle,
 .pn-newsletter button,
 .pn-variation-option,.pn-product-qty,.quantity,.pn-checkout-quantity,
 .pn-gallery-autoplay,.pn-gallery-nav,.woocommerce-product-gallery__trigger,
 .pn-carousel-controls button,.pn-all-categories,.page-numbers,
 input:is([type=submit],[type=button],[type=reset],[type=image]),
 .wp-block-button__link,.wc-block-components-button
):not(form.checkout *) {border:0!important;box-shadow:0 2px 8px rgb(24 32 48 / 6%)!important;}
/* Shared by all models: account, checkout, reviews, search, coupons and plugin forms.
   The main-content selector also overrides WooCommerce's ID-scoped field rules. */
body.pn-site.pn-theme-system .pn-site-frame :is(
 input:not([type=hidden]):not([type=submit]):not([type=button]):not([type=reset]):not([type=image]):not([type=checkbox]):not([type=radio]):not([type=range]):not(.pn-search input),
 select:not(.select2-hidden-accessible),textarea,.select2-selection
),
body.pn-site.pn-theme-system .pn-site-frame #pn-main :is(
 input:not([type=hidden]):not([type=submit]):not([type=button]):not([type=reset]):not([type=image]):not([type=checkbox]):not([type=radio]):not([type=range]):not(.pn-search input),
 select:not(.select2-hidden-accessible),textarea,.select2-selection
) {
 border:1px solid var(--pn-field-border)!important;
 box-shadow:0 2px 8px rgb(24 32 48 / 6%)!important;
 box-sizing:border-box;
}
body.pn-site.pn-theme-system .pn-site-frame form fieldset {
 border:1px solid var(--pn-field-border)!important;
 border-radius:10px;
 box-shadow:var(--pn-surface-shadow)!important;
}
body.pn-site.pn-theme-system .pn-site-frame :is(input,select,textarea,.select2-selection):focus {
 --pn-field-border:var(--pn-accent);
}
body.pn-site.pn-theme-system .pn-site-frame .select2-container--focus .select2-selection,
body.pn-site.pn-theme-system .pn-site-frame .select2-container--open .select2-selection {
 --pn-field-border:var(--pn-accent);
}
body.pn-site.pn-theme-system .pn-site-frame .woocommerce-invalid :is(input,select,textarea,.select2-selection),
body.pn-site.pn-theme-system .pn-site-frame :is(input,select,textarea,.select2-selection)[aria-invalid=true] {
 --pn-field-border:#b81c23;
}
body.pn-site.pn-theme-system .pn-site-frame :is(input,select,textarea,button,a):not(form.checkout *):focus-visible{outline:2px solid var(--pn-accent)!important;outline-offset:3px;}
body.pn-site.pn-theme-system .pn-site-frame .woocommerce-invalid :is(input,select,textarea),
body.pn-site.pn-theme-system .pn-site-frame :is(input,select,textarea)[aria-invalid=true]{outline:2px solid #b81c23;outline-offset:2px;}
/* Decorative pseudo-elements also use borderless frames. */
body.pn-site.pn-theme-system .pn-site-frame :is(
 li.product,.pn-card-copy-surface,.pn-section-heading,.pn-sidebar,.pn-widget
)::before,
body.pn-site.pn-theme-system .pn-site-frame :is(
 li.product,.pn-card-copy-surface,.pn-section-heading,.pn-sidebar,.pn-widget
)::after {border:0!important;}

/* Native card appearance choices take precedence over decorative model skins. */
body.pn-site.pn-theme-system.pn-category-style-transparent .pn-site-frame #pn-main .pn-category-grid>.pn-category,
body.pn-site.pn-theme-system.pn-brand-style-transparent .pn-site-frame #pn-main :is(.pn-brand-showcase,.pn-brand-card){background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important}
body.pn-site.pn-theme-system.pn-category-style-transparent .pn-site-frame #pn-main .pn-category-grid>.pn-category :is(span,strong),
body.pn-site.pn-theme-system.pn-brand-style-transparent .pn-site-frame #pn-main .pn-brand-card :is(.pn-brand-card__media,.pn-brand-card__logo,.pn-brand-card__title,.pn-brand-card__count){background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important}
body.pn-site.pn-theme-system.pn-category-style-transparent .pn-site-frame #pn-main .pn-category-grid>.pn-category>strong,
body.pn-site.pn-theme-system.pn-brand-style-transparent .pn-site-frame #pn-main .pn-brand-card__title{color:var(--pnt-text)!important}
body.pn-site.pn-theme-system.pn-brand-style-transparent .pn-site-frame #pn-main .pn-brand-card__count{color:var(--pnt-muted)!important}
body.pn-site.pn-theme-system.pn-category-style-transparent .pn-site-frame #pn-main .pn-category-grid>.pn-category:before,
body.pn-site.pn-theme-system.pn-category-style-transparent .pn-site-frame #pn-main .pn-category-grid>.pn-category:after,
body.pn-site.pn-theme-system.pn-brand-style-transparent .pn-site-frame #pn-main .pn-brand-card:before,
body.pn-site.pn-theme-system.pn-brand-style-transparent .pn-site-frame #pn-main .pn-brand-card:after{background:none!important;border:0!important;box-shadow:none!important}
body.pn-site.pn-theme-system.pn-category-style-boxed .pn-site-frame #pn-main .pn-category-grid>.pn-category,
body.pn-site.pn-theme-system.pn-brand-style-boxed .pn-site-frame #pn-main .pn-brand-card{background:var(--pnt-surface)!important;background-image:none!important;border:0!important;box-shadow:var(--pn-surface-shadow)!important}
body.pn-site.pn-theme-system.pn-category-style-transparent .pn-site-frame #pn-main .pn-category-grid>.pn-category:focus-visible,
body.pn-site.pn-theme-system.pn-brand-style-transparent .pn-site-frame #pn-main .pn-brand-card:focus-visible{outline:2px solid var(--pnt-accent)!important;outline-offset:3px}
