/* Shared frontend notices. Cart is the design source; see docs/FRONTEND-NOTICES.md. */
body :is(.ffehbo-notice, .woocommerce-error, .woocommerce-info, .woocommerce-message, .ffehbo-magic-login__notice, .ffehbo-checkout-gate__notice, .ffehbo-fly-cart-errors, .ffehbo-holiday-mode-notice) {
  position: relative;
  display: block;
  margin: 0 0 32px;
  padding: 24px 32px 24px 96px;
  background: linear-gradient(135deg, #fff9ec 0%, #fffdf8 70%);
  border: 1px solid #f0c979;
  border-radius: 18px;
  color: #15113f;
  font-family: var(--ffehbo-font-family);
  font-size: var(--ffehbo-font-size-body);
  line-height: var(--ffehbo-line-height-body);
  font-weight: var(--cmsmasters-text-font-weight, 400);
  text-align: start;
  overflow-wrap: anywhere;
  box-sizing: border-box;
  box-shadow: 0 12px 32px rgba(21, 17, 63, 0.06);
  list-style: none;
  overflow: hidden;
}

body :is(.ffehbo-notice, .woocommerce-error, .woocommerce-info, .woocommerce-message, .ffehbo-magic-login__notice, .ffehbo-checkout-gate__notice, .ffehbo-fly-cart-errors, .ffehbo-holiday-mode-notice)::before {
  content: "!";
  font-family: inherit;
  font-style: normal;
  text-indent: 0;
  position: absolute;
  left: 28px;
  top: 50%;
  right: auto;
  bottom: auto;
  margin: 0 !important; /* Reset the parent icon centering margins. */
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff4d6;
  border: 1px solid #f0c979;
  color: #15113f;
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
}

body :is(.ffehbo-notice, .woocommerce-error, .woocommerce-info, .woocommerce-message, .ffehbo-magic-login__notice, .ffehbo-checkout-gate__notice, .ffehbo-fly-cart-errors, .ffehbo-holiday-mode-notice)::after {
  content: "";
  position: absolute;
  right: -34px;
  bottom: -42px;
  top: auto;
  left: auto;
  display: block;
  transform: none;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 35%, #f0c979 0 5px, transparent 6px),
    radial-gradient(circle at 70% 70%, rgba(162, 209, 232, 0.65) 0 34px, transparent 35px),
    rgba(240, 201, 121, 0.16);
  pointer-events: none;
}

body :is(.ffehbo-notice, .woocommerce-error, .woocommerce-info, .woocommerce-message, .ffehbo-magic-login__notice, .ffehbo-checkout-gate__notice, .ffehbo-fly-cart-errors, .ffehbo-holiday-mode-notice) li {
  position: relative;
  z-index: 1;
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
}

body :is(.ffehbo-notice, .woocommerce-error, .woocommerce-info, .woocommerce-message, .ffehbo-magic-login__notice, .ffehbo-checkout-gate__notice, .ffehbo-fly-cart-errors, .ffehbo-holiday-mode-notice) li + li {
  margin-top: 10px;
}


body :is(.ffehbo-notice, .woocommerce-error, .woocommerce-info, .woocommerce-message, .ffehbo-magic-login__notice, .ffehbo-checkout-gate__notice, .ffehbo-fly-cart-errors, .ffehbo-holiday-mode-notice) p {
  margin: 0;
}

body :is(.ffehbo-notice, .woocommerce-error, .woocommerce-info, .woocommerce-message, .ffehbo-magic-login__notice, .ffehbo-checkout-gate__notice, .ffehbo-fly-cart-errors, .ffehbo-holiday-mode-notice) p + p {
  margin-top: 10px;
}

body :is(.ffehbo-notice, .woocommerce-error, .woocommerce-info, .woocommerce-message, .ffehbo-magic-login__notice, .ffehbo-checkout-gate__notice, .ffehbo-fly-cart-errors, .ffehbo-holiday-mode-notice) > :is(p, a, strong, span, button) {
  position: relative;
  z-index: 1;
}

/* Preserve hidden state for messages rendered before an AJAX response. */
body :is(.ffehbo-notice, .woocommerce-error, .woocommerce-info, .woocommerce-message, .ffehbo-magic-login__notice, .ffehbo-checkout-gate__notice, .ffehbo-fly-cart-errors, .ffehbo-holiday-mode-notice)[hidden] {
  display: none;
}

@media (max-width: 600px) {
  body :is(.ffehbo-notice, .woocommerce-error, .woocommerce-info, .woocommerce-message, .ffehbo-magic-login__notice, .ffehbo-checkout-gate__notice, .ffehbo-fly-cart-errors, .ffehbo-holiday-mode-notice) {
    padding: 20px 20px 20px 70px;
    border-radius: 18px;
  }

  body :is(.ffehbo-notice, .woocommerce-error, .woocommerce-info, .woocommerce-message, .ffehbo-magic-login__notice, .ffehbo-checkout-gate__notice, .ffehbo-fly-cart-errors, .ffehbo-holiday-mode-notice)::before {
    left: 18px;
    width: 36px;
    height: 36px;
    font-size: 24px;
  }
}
