/* Shared storefront feedback: paper, quiet borders and brush-mark symbols. */
body:not(.wp-admin) :is(.wc-block-components-notice-banner,.woocommerce-message,.woocommerce-info,.woocommerce-error,.pm-form-notice) {
 --pm-notice-symbol: url('../icons/notice-info.svg');
 position: relative; box-sizing: border-box; background: var(--wash) !important; color: var(--ink) !important;
 border: 1px solid var(--line) !important; border-radius: 0 !important; box-shadow: none;
 padding: 20px 24px 20px 60px !important; margin: 20px 0; font: 400 14px/1.7 var(--sans); overflow-wrap: anywhere;
}
body:not(.wp-admin) :is(.wc-block-components-notice-banner,.woocommerce-message,.woocommerce-info,.woocommerce-error,.pm-form-notice)::before {
 content: ''; position: absolute; inset: 22px auto auto 23px; width: 22px; height: 22px;
 background: var(--icon); mask: var(--pm-notice-symbol) center/contain no-repeat; -webkit-mask: var(--pm-notice-symbol) center/contain no-repeat;
}
body:not(.wp-admin) :is(.wc-block-components-notice-banner.is-success,.woocommerce-message) { --pm-notice-symbol: url('../icons/notice-check.svg'); }
body:not(.wp-admin) :is(.wc-block-components-notice-banner.is-error,.wc-block-components-notice-banner.is-warning,.woocommerce-error,.pm-form-notice) { --pm-notice-symbol: url('../icons/notice-attention.svg'); }
body:not(.wp-admin) .wc-block-components-notice-banner { display: flex; align-items: center; gap: 18px; }
body:not(.wp-admin) .wc-block-components-notice-banner > svg { display: none; }
body:not(.wp-admin) .wc-block-components-notice-banner__content { flex: 1; min-width: 0; color: inherit; font: inherit; }
body:not(.wp-admin) :is(.wc-block-components-notice-banner,.woocommerce-message,.woocommerce-info,.woocommerce-error,.pm-form-notice) :is(p,li) { font: inherit; color: inherit; margin: 0; }
body:not(.wp-admin) :is(.wc-block-components-notice-banner,.woocommerce-error,.pm-form-notice) ul { padding-left: 20px; margin: 8px 0 0; }
body:not(.wp-admin) .woocommerce-error { list-style: none; }
body:not(.wp-admin) :is(.wc-block-components-notice-banner,.woocommerce-error,.pm-form-notice) li+li { margin-top: 8px; }
body:not(.wp-admin) :is(.wc-block-components-notice-banner,.woocommerce-message,.woocommerce-info,.woocommerce-error,.pm-form-notice) a {
 color: var(--ink); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px;
}
body:not(.wp-admin) :is(.wc-block-components-notice-banner,.woocommerce-message,.woocommerce-info,.woocommerce-error) :is(a.button,.button.wc-forward) {
 display: inline-flex; align-items: center; justify-content: center; float: right; width: auto; min-height: 38px; padding: 7px 15px !important; margin: 0 0 0 24px;
 border: 1px solid var(--line) !important; border-radius: 0; background: var(--paper) !important; color: var(--ink) !important; box-shadow: none !important; opacity: 1 !important;
 font: 400 12px/1.5 var(--sans); text-decoration: none !important; white-space: nowrap;
}
body:not(.wp-admin) :is(.wc-block-components-notice-banner,.woocommerce-message,.woocommerce-info,.woocommerce-error):focus { outline: 2px solid var(--icon); outline-offset: 4px; }
body:not(.wp-admin) :is(.wc-block-components-notice-banner,.woocommerce-message,.woocommerce-info,.woocommerce-error) :is(a,button):focus-visible { outline: 2px solid var(--icon); outline-offset: 4px; }
body:not(.wp-admin) .wc-block-components-notice-banner__content:has(.pm-notice-copy),
body:not(.wp-admin) .woocommerce-message:has(.pm-notice-copy) { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px; }
.pm-notice-copy { flex: 1 1 240px; min-width: 0; }
.pm-notice-action { flex: 0 0 auto; }
body:not(.wp-admin) .pm-notice-action a.button { float: none; margin: 0; }
.pm-shop-notices.wrap { padding: 0; margin-block: 20px 0; }
.pm-shop-notices > :first-child { margin-top: 0 !important; }
.pm-shop-notices > :last-child { margin-bottom: 0 !important; }
.pm-shop-notices:empty,.woocommerce-notices-wrapper:empty { display: none; }
body:not(.wp-admin) .pm-shop-notices > :has(.pm-notice-close) { padding-right: 66px !important; }
.pm-notice-close { position: absolute; top: 12px; right: 10px; width: 40px; height: 40px; padding: 10px !important; display: grid; place-items: center; border: 0; background: transparent; color: var(--icon); }
.pm-notice-close .sketch-icon { width: 18px; height: 18px; }
.pm-notice-close:hover { background: var(--paper); }
/* WooCommerce Blocks may insert banners, snackbars or drawers after page load. */
body:not(.wp-admin) .wc-block-components-notice-banner__dismiss { background: transparent !important; color: var(--icon) !important; box-shadow: none !important; border: 0 !important; }
body:not(.wp-admin) .wc-block-components-notice-banner__dismiss svg { fill: currentColor; }
body:not(.wp-admin) :is(.wc-block-components-notices__snackbar .components-snackbar,.wc-block-components-notice-snackbar,.wc-block-mini-cart__drawer .components-snackbar) { background: var(--paper) !important; color: var(--ink) !important; border: 1px solid var(--line); border-radius: 0; font: 400 14px/1.7 var(--sans); box-shadow: 0 8px 32px #00000014; }
body:not(.wp-admin) :is(.wc-block-components-notices__snackbar,.wc-block-mini-cart__drawer) .components-snackbar :is(a,button) { color: var(--icon) !important; }
body:not(.wp-admin) :is(.wc-block-components-drawer,.wc-block-components-modal) { background: var(--paper); color: var(--ink); font-family: var(--sans); border-color: var(--line); }
body:not(.wp-admin) :is(.wc-block-components-drawer,.wc-block-components-modal) :is(h2,h3) { font-family: var(--serif); font-weight: 400; }
body:not(.wp-admin) :is(.wc-block-components-drawer__close,.wc-block-components-modal__close) { color: var(--icon); }
/* Confirmation dialogs share the same palette; the submitted message stays truthful. */
body:not(.wp-admin) .submission-receipt { background: var(--paper); color: var(--ink); border: 1px solid var(--line); box-shadow: 0 12px 60px #00000018; }
body:not(.wp-admin) .submission-receipt::backdrop { background: rgb(25 26 23 / .56); }
body:not(.wp-admin) .receipt-close { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); }
body:not(.wp-admin) .receipt-close::after { content: ''; width: 15px; height: 15px; background: var(--icon); mask: url('../icons/x.svg') center/contain no-repeat; -webkit-mask: url('../icons/x.svg') center/contain no-repeat; }
/* Inline validation replaces browser alert boxes on the theme's public forms. */
body:not(.wp-admin) .pm-form-notice { grid-column: 1/-1; margin-bottom: 24px; }
body:not(.wp-admin) .pm-form-notice strong { font-weight: 500; }
body:not(.wp-admin) .pm-form-notice p { margin-top: 4px; }
body:not(.wp-admin) .pm-field-error { display: block; font: 400 12px/1.6 var(--sans); color: var(--ink); margin-top: 8px; }
body:not(.wp-admin) :is([data-contact-form],#commentform,.pm-review-login-form,.woocommerce-form-login,.woocommerce-form-register,.woocommerce-ResetPassword) [aria-invalid=true] { border-color: var(--icon) !important; outline: 1px solid var(--icon); outline-offset: 0; }
body:not(.wp-admin) :is(input,textarea,select,p.stars a,.pm-form-notice) { scroll-margin-top: calc(var(--nav-height,80px) + 36px); }
body:not(.wp-admin) .wc-block-components-validation-error { color: var(--ink); font: 400 12px/1.6 var(--sans); }
body:not(.wp-admin) .wc-block-components-validation-error p { color: inherit; }
body:not(.wp-admin) .pm-turnstile-status { color: var(--muted); font: 400 12px/1.7 var(--sans); }
/* No-script/server-side form errors receive a complete, readable page. */
.pm-form-error-page { padding: clamp(24px,6vw,80px) 20px; }
.pm-error-card { max-width: 690px; margin: 0 auto; padding: clamp(25px,5vw,60px); border: 1px solid var(--line); background: var(--paper); }
.pm-error-brand { display: inline-block; font: italic 36px/1 var(--serif); color: var(--icon); margin-bottom: 55px; }
.pm-error-card h1 { font: 400 clamp(40px,6vw,66px)/1.08 var(--serif); letter-spacing: -.035em; margin: 22px 0 30px; }
.pm-error-card > p:not(.eyebrow) { color: var(--muted); font-size: 14px; }
.pm-error-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 32px; }
.pm-error-actions .line-link { margin: 0; }
@media(max-width:600px) {
 body:not(.wp-admin) :is(.wc-block-components-notice-banner,.woocommerce-message,.woocommerce-info,.woocommerce-error,.pm-form-notice) { padding: 18px 18px 18px 49px !important; font-size: 13px; }
 body:not(.wp-admin) :is(.wc-block-components-notice-banner,.woocommerce-message,.woocommerce-info,.woocommerce-error,.pm-form-notice)::before { left: 17px; top: 20px; width: 19px; height: 19px; }
 body:not(.wp-admin) .pm-shop-notices > :has(.pm-notice-close) { padding-right: 47px !important; }
 .pm-notice-close { top: 8px; right: 4px; }
 body:not(.wp-admin) :is(.wc-block-components-notice-banner,.woocommerce-message,.woocommerce-info,.woocommerce-error) :is(a.button,.button.wc-forward) { float: none; display: table; margin: 12px 0 0; }
 body:not(.wp-admin) .pm-notice-action a.button { margin: 0; }
 .pm-shop-notices.wrap { margin-top: 14px; }
 body:not(.wp-admin) .submission-receipt { width: min(620px,calc(100% - 28px)); }
 .pm-error-card { padding-inline: 22px; }
 .pm-error-brand { margin-bottom: 38px; }
}

body:not(.wp-admin) p.woocommerce-store-notice.demo_store { background: var(--wash); color: var(--ink); border: 1px solid var(--line); box-shadow: none; font: 400 14px/1.7 var(--sans); padding: 16px 30px; }
body:not(.wp-admin) .woocommerce-store-notice__dismiss-link { color: var(--muted); text-decoration: underline; text-underline-offset: 4px; margin-inline-start: 16px; }
body:not(.wp-admin) .pm-variation-notice { flex-basis: 100%; width: 100%; }

body:not(.wp-admin) :is(.wc-block-components-drawer__close,.wc-block-components-modal__close,.wc-block-components-notices__snackbar button) svg { fill: var(--icon); }

body:not(.wp-admin) .woocommerce-message:has(.pm-notice-copy)::after { display: none; }
