/* After Hours global WooCommerce notices */
:root {
  --ahp-notice-bg: rgba(8, 5, 15, 0.97);
  --ahp-notice-panel: rgba(22, 14, 35, 0.94);
  --ahp-notice-line: rgba(181, 114, 255, 0.34);
  --ahp-notice-purple: #a45cff;
  --ahp-notice-purple-soft: #d2adff;
  --ahp-notice-blue: #6fb4ff;
  --ahp-notice-green: #63e6b0;
  --ahp-notice-red: #ff7d96;
}

/* Empty wrappers should never create a visible strip or gap. */
.woocommerce-notices-wrapper:empty,
.wc-block-components-notices:empty {
  display: none !important;
}

/* Give classic WooCommerce notices a full-width dark stage beneath the header. */
.woocommerce-notices-wrapper:not(:empty) {
  box-sizing: border-box !important;
  width: 100vw !important;
  max-width: none !important;
  margin: 0 calc(50% - 50vw) !important;
  padding: 14px max(18px, calc((100vw - 1320px) / 2)) !important;
  background:
    radial-gradient(700px 140px at 76% 0%, rgba(156, 92, 255, 0.18), transparent 72%),
    linear-gradient(180deg, rgba(6, 4, 11, 0.98), rgba(2, 2, 4, 0.98)) !important;
  border-top: 1px solid rgba(156, 92, 255, 0.18) !important;
  border-bottom: 1px solid rgba(156, 92, 255, 0.28) !important;
}

/* Classic notices. */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
ul.woocommerce-error {
  position: relative !important;
  box-sizing: border-box !important;
  width: min(100%, 1320px) !important;
  min-height: 54px !important;
  margin: 0 auto !important;
  padding: 15px 18px 15px 52px !important;
  color: rgba(255, 255, 255, 0.9) !important;
  background:
    radial-gradient(420px 120px at 0% 0%, rgba(156, 92, 255, 0.17), transparent 72%),
    linear-gradient(180deg, rgba(27, 18, 42, 0.96), rgba(10, 8, 15, 0.98)) !important;
  border: 1px solid var(--ahp-notice-line) !important;
  border-left: 4px solid var(--ahp-notice-purple) !important;
  border-radius: 16px !important;
  box-shadow:
    0 16px 42px rgba(0, 0, 0, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 0 24px rgba(156, 92, 255, 0.1) !important;
  font-family: Inter, Poppins, Montserrat, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1.55 !important;
  list-style: none !important;
}

.woocommerce-notices-wrapper > * + *,
.wc-block-components-notices > * + * {
  margin-top: 10px !important;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before,
ul.woocommerce-error::before {
  position: absolute !important;
  top: 50% !important;
  left: 17px !important;
  display: grid !important;
  place-items: center !important;
  width: 24px !important;
  height: 24px !important;
  margin: 0 !important;
  transform: translateY(-50%) !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: rgba(164, 92, 255, 0.18) !important;
  border: 1px solid rgba(210, 173, 255, 0.42) !important;
  box-shadow: 0 0 16px rgba(164, 92, 255, 0.25) !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}

.woocommerce-message {
  border-left-color: var(--ahp-notice-green) !important;
}

.woocommerce-message::before {
  color: var(--ahp-notice-green) !important;
  background: rgba(99, 230, 176, 0.12) !important;
  border-color: rgba(99, 230, 176, 0.38) !important;
}

.woocommerce-info {
  border-left-color: var(--ahp-notice-blue) !important;
}

.woocommerce-info::before {
  color: var(--ahp-notice-blue) !important;
  background: rgba(111, 180, 255, 0.12) !important;
  border-color: rgba(111, 180, 255, 0.4) !important;
}

.woocommerce-error,
ul.woocommerce-error {
  border-left-color: var(--ahp-notice-red) !important;
}

.woocommerce-error::before,
ul.woocommerce-error::before {
  color: var(--ahp-notice-red) !important;
  background: rgba(255, 125, 150, 0.12) !important;
  border-color: rgba(255, 125, 150, 0.4) !important;
}

.woocommerce-error li {
  margin: 0 !important;
  color: inherit !important;
}

.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a,
ul.woocommerce-error a {
  color: var(--ahp-notice-purple-soft) !important;
  font-weight: 850 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(210, 173, 255, 0.42) !important;
}

.woocommerce-message a:hover,
.woocommerce-message a:focus,
.woocommerce-info a:hover,
.woocommerce-info a:focus,
.woocommerce-error a:hover,
.woocommerce-error a:focus {
  color: #fff !important;
  border-bottom-color: var(--ahp-notice-purple) !important;
}

/* WooCommerce notice action buttons. */
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
  float: right !important;
  min-height: 36px !important;
  margin: -6px -5px -6px 18px !important;
  padding: 8px 15px !important;
  border: 1px solid rgba(210, 173, 255, 0.35) !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #9c5cff, #5b1ee8) !important;
  box-shadow: 0 0 20px rgba(156, 92, 255, 0.25) !important;
  text-decoration: none !important;
  line-height: 1.25 !important;
}

/* Store API / block-based WooCommerce notices. */
.wc-block-components-notice-banner {
  box-sizing: border-box !important;
  margin: 12px 0 !important;
  padding: 15px 18px !important;
  color: rgba(255, 255, 255, 0.9) !important;
  background:
    radial-gradient(420px 120px at 0% 0%, rgba(156, 92, 255, 0.17), transparent 72%),
    linear-gradient(180deg, rgba(27, 18, 42, 0.96), rgba(10, 8, 15, 0.98)) !important;
  border: 1px solid var(--ahp-notice-line) !important;
  border-radius: 16px !important;
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.3) !important;
}

.wc-block-components-notice-banner.is-info {
  border-left: 4px solid var(--ahp-notice-blue) !important;
}

.wc-block-components-notice-banner.is-success {
  border-left: 4px solid var(--ahp-notice-green) !important;
}

.wc-block-components-notice-banner.is-error,
.wc-block-components-notice-banner.is-warning {
  border-left: 4px solid var(--ahp-notice-red) !important;
}

.wc-block-components-notice-banner > svg {
  color: var(--ahp-notice-purple-soft) !important;
  background: rgba(164, 92, 255, 0.15) !important;
  border-radius: 999px !important;
}

.wc-block-components-notice-banner__content,
.wc-block-components-notice-banner__content a {
  color: inherit !important;
}

.wc-block-components-notice-banner__content a {
  color: var(--ahp-notice-purple-soft) !important;
  font-weight: 850 !important;
}

@media (max-width: 700px) {
  .woocommerce-notices-wrapper:not(:empty) {
    padding: 10px 12px !important;
  }

  .woocommerce-message,
  .woocommerce-info,
  .woocommerce-error,
  ul.woocommerce-error {
    min-height: 50px !important;
    padding: 13px 14px 13px 46px !important;
    border-radius: 13px !important;
    font-size: 13px !important;
  }

  .woocommerce-message::before,
  .woocommerce-info::before,
  .woocommerce-error::before,
  ul.woocommerce-error::before {
    left: 13px !important;
    width: 22px !important;
    height: 22px !important;
  }

  .woocommerce-message .button,
  .woocommerce-info .button,
  .woocommerce-error .button {
    float: none !important;
    display: inline-flex !important;
    margin: 10px 0 0 !important;
  }
}
