body.papillon-theme :where(.papillon-icon,.header-action svg,.site-search svg,.mobile-bottom-nav svg,.social-links svg){width:20px;height:20px;flex:0 0 20px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
body.papillon-theme :where(.service-icon,.icon-circle,.category-mega-icon,.pap-toast-icon)>svg{width:52%;height:52%;}
body.papillon-theme :where(.header-action,.mobile-bottom-nav a,.social-links a,.service-icon,.icon-circle,.category-mega-icon){contain:layout paint;}

body.papillon-theme .woocommerce :where(a.button,button.button,input.button,.button),
body.papillon-theme .wc-block-components-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:9px 17px;border:1px solid transparent;border-radius:var(--pap-control-radius);background:var(--pap-purple);color:#fff;font-family:var(--pap-font-family);font-size:11.5px;font-weight:750;line-height:1.35;text-align:center;text-decoration:none;box-shadow:none;transition:background-color var(--pap-motion-fast) var(--pap-ease),border-color var(--pap-motion-fast) var(--pap-ease),box-shadow var(--pap-motion-base) var(--pap-ease),transform var(--pap-motion-fast) var(--pap-ease);}
@media(hover:hover){body.papillon-theme .woocommerce :where(a.button,button.button,input.button,.button):hover,body.papillon-theme .wc-block-components-button:hover{background:var(--pap-purple-strong);color:#fff;transform:translateY(-1px);}}
body.papillon-theme .woocommerce :where(a.button,button.button,input.button,.button):disabled{opacity:.55;cursor:not-allowed;transform:none;}


body.papillon-theme :where(.woocommerce-notices-wrapper,.wc-block-components-notices){display:grid;gap:10px;width:100%;margin:0 0 20px;}
body.papillon-theme :where(.woocommerce-notices-wrapper,.wc-block-components-notices):empty{display:none;margin:0;}
body.papillon-theme :where(.woocommerce-message,.woocommerce-info,ul.woocommerce-error,.wc-block-components-notice-banner,.elementor-message,.wpcf7-response-output,.contact-notice,.newsletter-notice){position:relative;width:100%;min-height:58px;margin:0;padding:14px 54px 14px 48px;border:1px solid #d6dcde;border-radius:14px;background:var(--pap-panel);color:var(--pap-ink-2);box-shadow:0 9px 26px rgba(21,48,53,.06);font-size:11.5px;line-height:1.9;text-align:right;overflow-wrap:anywhere;overflow:hidden;}
body.papillon-theme :where(.woocommerce-message,.woocommerce-info,ul.woocommerce-error)::before{position:absolute;inset-block-start:50%;inset-inline-start:15px;inset-inline-end:auto;display:grid;width:28px;height:28px;place-items:center;margin:0;border-radius:9px;background:var(--pap-purple-soft);color:var(--pap-purple);font-family:var(--pap-font-family);font-size:14px;font-weight:900;line-height:1;transform:translateY(-50%);}
body.papillon-theme .woocommerce-message::before{content:"✓";background:#e9f7f0;color:#14845f;}
body.papillon-theme .woocommerce-info::before{content:"i";background:#ebf0f1;color:var(--pap-purple);}
body.papillon-theme ul.woocommerce-error::before{content:"!";background:#fdebf0;color:#c6325d;}
body.papillon-theme .woocommerce-message{border-color:#bcdccd;background:#f4fbf7;}
body.papillon-theme .woocommerce-info{border-color:#c9d6d9;background:#f8fafb;}
body.papillon-theme ul.woocommerce-error{display:block;padding-block:12px;border-color:#efc5d1;background:#fff6f8;}
body.papillon-theme ul.woocommerce-error li{margin:0;padding:2px 0;list-style:none;}
body.papillon-theme ul.woocommerce-error li+li{margin-top:4px;padding-top:4px;border-top:1px solid rgba(198,50,93,.12);}
body.papillon-theme :where(.woocommerce-message,.woocommerce-info,ul.woocommerce-error) a:not(.button){color:var(--pap-purple);font-weight:700;}
body.papillon-theme :where(.woocommerce-message,.woocommerce-info) :where(.button,a.button){float:none;display:inline-flex;min-height:34px;align-items:center;justify-content:center;margin:0 10px 0 0;padding:6px 11px;border:1px solid currentColor;border-radius:9px;background:var(--pap-panel);color:var(--pap-purple);font-size:11.5px;line-height:1.4;white-space:nowrap;}
body.papillon-theme .wc-block-components-notice-banner{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px 14px;}
body.papillon-theme .wc-block-components-notice-banner>svg{position:static;width:28px;height:28px;margin:0;}
body.papillon-theme .wc-block-components-notice-banner>.wc-block-components-notice-banner__content{min-width:0;margin:0;}
body.papillon-theme .wc-block-components-notice-banner__content .wc-forward{float:none;margin-inline-start:10px;}
body.papillon-theme :where(.elementor-message,.wpcf7-response-output,.contact-notice,.newsletter-notice)::before{position:absolute;inset-block-start:50%;inset-inline-start:15px;display:grid;width:28px;height:28px;place-items:center;border-radius:9px;background:var(--pap-purple-soft);color:var(--pap-purple);content:"i";font-size:13px;font-weight:900;line-height:1;transform:translateY(-50%);}
body.papillon-theme :where(.elementor-message-success,.wpcf7 form.sent .wpcf7-response-output,.contact-notice.is-success,.newsletter-notice.is-success)::before{content:"✓";background:#e9f7f0;color:#14845f;}
body.papillon-theme :where(.elementor-message-danger,.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output,.contact-notice.is-error,.newsletter-notice.is-error)::before{content:"!";background:#fdebf0;color:#c6325d;}


body.papillon-theme .pap-toast-region{position:fixed;left:22px;right:auto;top:auto;bottom:24px;z-index:10020;display:flex;width:min(410px,calc(100vw - 32px));max-height:min(70vh,520px);flex-direction:column-reverse;gap:10px;pointer-events:none;}
body.papillon-theme .pap-toast-region[data-position="bottom-right"]{right:22px;left:auto;}
body.papillon-theme .pap-toast-region[data-position="top-left"]{top:24px;bottom:auto;flex-direction:column;}
body.papillon-theme .pap-toast-region[data-position="top-right"]{right:22px;left:auto;top:24px;bottom:auto;flex-direction:column;}
body.papillon-theme .pap-toast-region:empty{display:none;}
body.papillon-theme .pap-toast{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) 34px;align-items:center;gap:12px;min-height:68px;padding:12px 13px;border:1px solid #d0d6d8;border-radius:16px;background:rgba(255,255,255,.98);color:var(--pap-ink);box-shadow:0 18px 44px rgba(12,34,39,.18);backdrop-filter:blur(14px);opacity:0;overflow:hidden;pointer-events:auto;transform:translateY(12px) scale(.985);transition:opacity 180ms var(--pap-ease),transform 220ms var(--pap-ease),border-color 180ms var(--pap-ease);}
body.papillon-theme .pap-toast.is-visible{opacity:1;transform:none;}
body.papillon-theme .pap-toast.is-leaving{opacity:0;transform:translateY(8px) scale(.985);}
body.papillon-theme .pap-toast:focus-within{border-color:var(--pap-purple);}
body.papillon-theme .pap-toast-icon{display:grid;width:36px;height:36px;place-items:center;border-radius:11px;background:#eaf7f1;color:#14845f;font-size:16px;font-weight:900;line-height:1;}
body.papillon-theme .pap-toast.is-error .pap-toast-icon{background:#fdebf0;color:#c6325d;}
body.papillon-theme .pap-toast.is-warning .pap-toast-icon{background:#fff3dd;color:#9b6510;}
body.papillon-theme .pap-toast.is-info .pap-toast-icon{background:#ebf0f1;color:var(--pap-purple);}
body.papillon-theme .pap-toast-content{display:grid;min-width:0;gap:7px;}
body.papillon-theme .pap-toast-copy{min-width:0;direction:rtl;font-size:13px;font-weight:700;line-height:1.8;text-align:right;overflow-wrap:anywhere;}
body.papillon-theme .pap-toast-action{display:inline-flex;width:max-content;max-width:100%;min-height:32px;align-items:center;justify-content:center;padding:5px 10px;border:1px solid currentColor;border-radius:9px;background:transparent;color:var(--pap-purple);font-size:12px;font-weight:800;text-decoration:none;cursor:pointer;}
body.papillon-theme .pap-toast-close{display:grid;width:34px;height:34px;place-items:center;padding:0;border:0;border-radius:10px;background:transparent;color:var(--pap-muted);font-size:22px;line-height:1;}
body.papillon-theme .pap-toast-close:hover{background:#f0f3f3;color:var(--pap-ink);}
body.papillon-theme .pap-toast-progress{position:absolute;right:0;bottom:0;left:0;height:3px;background:rgba(40,64,70,.08);overflow:hidden;}
body.papillon-theme .pap-toast-progress::after{display:block;width:100%;height:100%;background:currentColor;content:"";transform-origin:right center;animation:pap-toast-progress var(--pap-toast-duration,4300ms) linear forwards;}
body.papillon-theme .pap-toast-progress.is-paused::after{animation-play-state:paused;}
body.papillon-theme .pap-toast.is-success .pap-toast-progress{color:#14845f;}body.papillon-theme .pap-toast.is-error .pap-toast-progress{color:#c6325d;}body.papillon-theme .pap-toast.is-warning .pap-toast-progress{color:#b27616;}body.papillon-theme .pap-toast.is-info .pap-toast-progress{color:var(--pap-purple);}
@keyframes pap-toast-progress{from{transform:scaleX(1)}to{transform:scaleX(0)}}

@media(max-width:700px){
  body.papillon-theme :where(.woocommerce-message,.woocommerce-info,ul.woocommerce-error,.wc-block-components-notice-banner,.elementor-message,.wpcf7-response-output,.contact-notice,.newsletter-notice){min-height:54px;padding:12px 49px 12px 13px;font-size:11.5px;border-radius:12px;}
  body.papillon-theme :where(.woocommerce-message,.woocommerce-info,ul.woocommerce-error)::before{inset-inline-start:12px;width:26px;height:26px;border-radius:8px;}
  body.papillon-theme :where(.woocommerce-message,.woocommerce-info) :where(.button,a.button){display:flex;width:100%;margin:9px 0 0;}
  body.papillon-theme .pap-toast-region{right:12px;left:12px;top:auto;bottom:calc(86px + env(safe-area-inset-bottom));width:auto;max-height:52vh;}
  body.papillon-theme .pap-toast-region[data-position="top-left"],body.papillon-theme .pap-toast-region[data-position="top-right"]{right:12px;left:12px;top:12px;bottom:auto;}
  body.papillon-theme .pap-toast{grid-template-columns:34px minmax(0,1fr) 32px;min-height:64px;gap:10px;padding:11px;border-radius:14px;}
  body.papillon-theme .pap-toast-icon{width:34px;height:34px;}
  body.papillon-theme .pap-toast-copy{font-size:12.5px;}
}
body.papillon-theme .pap-toast-copy>strong,body.papillon-theme .pap-toast-copy>span{display:block;}
body.papillon-theme .pap-toast-copy>strong{margin-bottom:2px;color:var(--pap-ink);font-size:13px;line-height:1.65;}
body.papillon-theme .pap-toast-copy>span{color:var(--pap-ink-2);font-size:12.5px;font-weight:550;line-height:1.8;}

/* Unified notification contract: native notices keep context; success notices
 * without actions collapse after being mirrored into the global toast region. */
body.papillon-theme .pap-notice-toast-only{display:none!important;}
body.papillon-theme .pap-toast{border-inline-start-width:3px;}
body.papillon-theme .pap-toast.is-success{border-inline-start-color:#14845f;}
body.papillon-theme .pap-toast.is-error{border-inline-start-color:#c6325d;}
body.papillon-theme .pap-toast.is-warning{border-inline-start-color:#b27616;}
body.papillon-theme .pap-toast.is-info{border-inline-start-color:var(--pap-purple);}
body.papillon-theme .pap-toast-close:focus-visible{outline:2px solid currentColor;outline-offset:2px;}
@media(prefers-reduced-motion:reduce){body.papillon-theme .pap-toast{transition:none!important;}body.papillon-theme .pap-toast-progress::after{animation:none!important;}}
body.papillon-theme .pap-notice-wrapper-toast-only{display:none!important;margin:0!important;}
body.papillon-theme :where(.woocommerce-notice--success,.woocommerce-notice--error,.woocommerce-notice--info){position:relative;width:100%;min-height:58px;margin:0 0 16px;padding:14px 54px 14px 48px;border:1px solid #d6dcde;border-radius:14px;background:var(--pap-panel);color:var(--pap-ink-2);box-shadow:0 9px 26px rgba(21,48,53,.06);font-size:11.5px;line-height:1.9;text-align:right;overflow-wrap:anywhere;}
body.papillon-theme .woocommerce-notice--success{border-color:#bcdccd;background:#f4fbf7;}
body.papillon-theme .woocommerce-notice--error{border-color:#efc5d1;background:#fff6f8;}
body.papillon-theme .woocommerce-notice--info{border-color:#c9d6d9;background:#f8fafb;}
body.papillon-theme :where(.woocommerce-notice--success,.woocommerce-notice--error,.woocommerce-notice--info)::before{position:absolute;inset-block-start:50%;inset-inline-start:15px;display:grid;width:28px;height:28px;place-items:center;border-radius:9px;font-family:var(--pap-font-family);font-size:14px;font-weight:900;line-height:1;transform:translateY(-50%);}
body.papillon-theme .woocommerce-notice--success::before{content:"✓";background:#e9f7f0;color:#14845f;}
body.papillon-theme .woocommerce-notice--error::before{content:"!";background:#fdebf0;color:#c6325d;}
body.papillon-theme .woocommerce-notice--info::before{content:"i";background:#ebf0f1;color:var(--pap-purple);}
