/* Sitrin feedback: quiet surfaces, clear meaning, the existing Poppins typeface.
   Icons: Lucide, pinned source and licence in icons/. No validation or message content is changed. */
body.sitrin-storefront {
  --st-notice-paper:#f6f5f2;
  --st-notice-line:#dedbd3;
  --st-notice-ink:#292923;
  --st-notice-accent:#756953;
  --st-notice-error:#814e44;
  --st-notice-success:#4c5a43;
}
body.sitrin-storefront :is(.woocommerce-message,.woocommerce-info:not(.cart-empty),.woocommerce-error,.woocommerce-notice--error,.woocommerce-notice--success,.wc-block-components-notice-banner,.elementor-message,.st-cart-error) {
  --notice-accent:var(--st-notice-accent);
  --notice-icon:url('icons/info.svg');
  position:relative!important;
  inset:auto!important;
  box-sizing:border-box;
  min-width:0;
  max-width:100%;
  max-height:none;
  padding:16px 18px 16px 48px!important;
  margin:0 0 20px!important;
  border:1px solid var(--st-notice-line)!important;
  border-inline-start:2px solid var(--notice-accent)!important;
  border-radius:3px!important;
  background:var(--st-notice-paper)!important;
  color:var(--st-notice-ink)!important;
  box-shadow:none!important;
  font:400 13px/1.7 var(--st-sans,Poppins,Arial,sans-serif)!important;
  letter-spacing:0!important;
  text-align:start;
  text-transform:none;
  overflow-wrap:anywhere;
}
body.sitrin-storefront :is(.woocommerce-message,.woocommerce-notice--success,.wc-block-components-notice-banner.is-success,.elementor-message-success) {
  --notice-accent:var(--st-notice-success);
  --notice-icon:url('icons/circle-check.svg');
}
body.sitrin-storefront :is(.woocommerce-error,.woocommerce-notice--error,.wc-block-components-notice-banner.is-error,.wc-block-components-notice-banner.is-warning,.elementor-message-danger,.st-cart-error) {
  --notice-accent:var(--st-notice-error);
  --notice-icon:url('icons/circle-alert.svg');
  background:#faf7f4!important;
  color:#49362f!important;
}
body.sitrin-storefront :is(.woocommerce-message,.woocommerce-info:not(.cart-empty),.woocommerce-error,.woocommerce-notice--error,.woocommerce-notice--success,.wc-block-components-notice-banner,.elementor-message,.st-cart-error)::before {
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:18px auto auto 16px!important;
  float:none!important;
  width:19px!important;
  height:19px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:var(--notice-accent)!important;
  color:var(--notice-accent)!important;
  -webkit-mask:var(--notice-icon) center/contain no-repeat;
  mask:var(--notice-icon) center/contain no-repeat;
  font-size:0!important;
  line-height:0!important;
}
body.sitrin-storefront .wc-block-components-notice-banner>svg {display:none}
body.sitrin-storefront :is(ul.woocommerce-error,ul.woocommerce-info,ul.woocommerce-message) {list-style:none!important}
body.sitrin-storefront :is(.woocommerce-error,.woocommerce-info,.woocommerce-message) li {padding:0!important;margin:0!important;list-style:none!important}
body.sitrin-storefront .woocommerce-error li+li {margin-top:8px!important}
body.sitrin-storefront :is(.woocommerce-error,.woocommerce-info,.woocommerce-message,.elementor-message) p {margin:0}
body.sitrin-storefront :is(.woocommerce-error,.woocommerce-info,.woocommerce-message,.elementor-message) p+p {margin-top:8px}
body.sitrin-storefront :is(.woocommerce-error,.woocommerce-info,.woocommerce-message,.elementor-message) strong {font-weight:500}
body.sitrin-storefront :is(.woocommerce-error,.woocommerce-info,.woocommerce-message,.elementor-message) a:not(.button) {
  color:inherit!important;
  font:inherit;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  overflow-wrap:anywhere;
}
/* Woo renders its action before the text; flex order keeps the message first. */
body.sitrin-storefront .woocommerce-message:has(>.button):not([hidden]) {display:flex;flex-direction:column;align-items:flex-start;gap:8px}
body.sitrin-storefront :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) .button {
  order:1;
  float:none!important;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  width:auto!important;
  max-width:100%;
  min-height:44px;
  margin:8px 0 0!important;
  padding:10px 16px!important;
  border:1px solid var(--st-ink,#161616)!important;
  border-radius:2px!important;
  background:var(--st-ink,#161616)!important;
  color:#fff!important;
  font:500 11px/1.5 var(--st-sans,Poppins,Arial,sans-serif)!important;
  text-decoration:none!important;
  white-space:normal;
  text-transform:none!important;
  letter-spacing:0;
  text-align:center;
}
body.sitrin-storefront :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) .button:hover {background:#35372e!important;border-color:#35372e!important}
body.sitrin-storefront :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) a:focus-visible {outline:2px solid var(--st-ink,#161616);outline-offset:4px}
/* Cart errors remain in the scrolling content. Keep every line readable. */
body.sitrin-storefront #st-cart-drawer .st-cart-error {margin:16px 0!important;max-height:none!important;overflow:visible!important}
body.sitrin-storefront :is(.woocommerce-message,.woocommerce-info,.woocommerce-error,.st-cart-error)[hidden] {display:none!important}
/* Compact feedback stays next to its field; no decorative card for each invalid input. */
body.sitrin-storefront :is(.stp-inline-error,.st-quantity-error,.fc-inline-error,.validation-message,.elementor-help-inline,#pwgc-redeem-error),
body.sitrin-storefront #sitrin-capture .sc-error {
  color:var(--st-notice-error)!important;
  font:400 12px/1.65 var(--st-sans,Poppins,Arial,sans-serif)!important;
  letter-spacing:0;
  text-align:start;
  overflow-wrap:anywhere;
  max-width:100%;
}
body.sitrin-storefront :is(.stp-inline-error,.st-quantity-error,.fc-inline-error,.validation-message,.elementor-help-inline,#pwgc-redeem-error):not(:empty):not([hidden]),
body.sitrin-storefront #sitrin-capture .sc-error:not([hidden]) {
  box-sizing:border-box;
  margin-block:8px 0;
  padding:2px 0 2px 10px;
  border:0;
  border-inline-start:2px solid #b49383;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.sitrin-storefront .st-quantity-error {width:auto;max-width:190px}
body.sitrin-storefront .woocommerce form .form-row.woocommerce-invalid :is(input.input-text,select,textarea),
body.sitrin-storefront .woocommerce form :is(input.input-text,select,textarea)[aria-invalid=true],
body.sitrin-storefront .elementor-field.elementor-error {border-color:var(--st-notice-error)!important}
body.sitrin-storefront .woocommerce-password-strength {
  box-sizing:border-box;
  border:1px solid var(--st-notice-line);
  border-inline-start:2px solid var(--st-notice-error);
  border-radius:3px;
  margin:10px 0;
  padding:10px 12px;
  background:var(--st-notice-paper)!important;
  color:var(--st-notice-ink)!important;
  font:400 12px/1.6 var(--st-sans,Poppins,Arial,sans-serif)!important;
  text-align:start;
}
body.sitrin-storefront .woocommerce-password-strength.strong {border-inline-start-color:var(--st-notice-success)}
body.sitrin-storefront .woocommerce-password-strength.good {border-inline-start-color:var(--st-notice-accent)}
body.sitrin-storefront .woocommerce-password-hint {font:400 11px/1.7 var(--st-sans,Poppins,Arial,sans-serif);color:var(--st-muted,#595959)}
body.sitrin-storefront .stock.out-of-stock {color:var(--st-notice-error)!important}
@media(max-width:600px) {
  body.sitrin-storefront :is(.woocommerce-message,.woocommerce-info:not(.cart-empty),.woocommerce-error,.woocommerce-notice--error,.woocommerce-notice--success,.wc-block-components-notice-banner,.elementor-message,.st-cart-error) {padding:14px 14px 14px 42px!important;font-size:12px!important;line-height:1.75!important;margin-bottom:16px!important}
  body.sitrin-storefront :is(.woocommerce-message,.woocommerce-info:not(.cart-empty),.woocommerce-error,.woocommerce-notice--error,.woocommerce-notice--success,.wc-block-components-notice-banner,.elementor-message,.st-cart-error)::before {top:16px!important;left:13px!important;width:18px!important;height:18px!important}
}

body.sitrin-storefront.woocommerce-checkout #fc-wrapper .form-row :is(input.input-text,select,textarea)[aria-invalid=true] {border-color:var(--st-notice-error)!important}

body.sitrin-storefront .wc-block-components-notice-banner.is-warning {--notice-accent:#846a3c;background:#f8f6f0!important;color:#4d432e!important}
/* Fluid keeps control of when validation is visible; only its presentation changes. */
body.sitrin-storefront.woocommerce-checkout #fc-wrapper .fc-inline-error {
  padding:2px 0 2px 10px!important;
  margin-top:8px!important;
  border:0;
  border-inline-start:2px solid #b49383;
  background:transparent!important;
}
body.sitrin-storefront.woocommerce-checkout #fc-wrapper .fc-inline-error::before {content:none!important;display:none!important}
body.sitrin-storefront.woocommerce-checkout #fc-wrapper .fc-mailcheck-suggestion {
  margin-top:8px;
  padding:10px 12px 10px 34px!important;
  border:1px solid var(--st-notice-line);
  border-radius:3px;
  background:var(--st-notice-paper);
  color:var(--st-notice-ink);
  font:400 12px/1.7 var(--st-sans,Poppins,Arial,sans-serif);
}
body.sitrin-storefront.woocommerce-checkout #fc-wrapper .fc-mailcheck-suggestion::before {
  content:""!important;position:absolute;top:13px;left:11px;width:15px;height:15px;margin:0;transform:none;background:var(--st-notice-accent);-webkit-mask:url('icons/info.svg') center/contain no-repeat;mask:url('icons/info.svg') center/contain no-repeat;
}
body.sitrin-storefront .stock {font:400 12px/1.6 var(--st-sans,Poppins,Arial,sans-serif)}
body.sitrin-storefront .stock.in-stock {color:var(--st-notice-success)!important}
body.sitrin-storefront #st-cart-drawer .undo-box {position:relative;border:1px solid var(--st-notice-line);border-radius:3px;background:var(--st-notice-paper);padding:8px 12px 8px 38px;font:400 12px/1.6 var(--st-sans,Poppins,Arial,sans-serif)}
body.sitrin-storefront #st-cart-drawer .undo-box::before {content:"";position:absolute;top:50%;left:12px;width:16px;height:16px;transform:translateY(-50%);background:var(--st-notice-accent);-webkit-mask:url('icons/info.svg') center/contain no-repeat;mask:url('icons/info.svg') center/contain no-repeat}
body.sitrin-storefront.woocommerce-checkout {--fluidcheckout--color--error:var(--st-notice-error);--fluidcheckout--color--success:var(--st-notice-success)}
body.sitrin-storefront.woocommerce-checkout #fc-wrapper .form-row.woocommerce-invalid :is(input.input-text,select,textarea) {border-color:var(--st-notice-error)!important}
