/* Shared teal glass for public actions, inspired by the Arrowhead 7 bridge. */
body .btn,
body .dream-catcher-buy,
body a.mono.glass,
body #sndBtn {
  --action-tint: rgba(41, 116, 100, .16);
  --action-edge: rgba(109, 224, 199, .42);
  background: linear-gradient(155deg, rgba(224, 255, 246, .16) 0%, rgba(162, 248, 225, .055) 24%, transparent 48%),
    linear-gradient(135deg, var(--action-tint), rgba(8, 25, 22, .78)) !important;
  color: #e2d2b4 !important;
  border: 1px solid var(--action-edge) !important;
  border-top-color: rgba(190, 255, 235, .58) !important;
  border-radius: 999px;
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  box-shadow: inset 0 1px 0 rgba(232, 255, 247, .18), inset 0 -1px 0 rgba(67, 190, 159, .1),
    0 8px 24px rgba(0, 0, 0, .28), 0 0 20px rgba(36, 172, 139, .06);
  text-shadow: 0 1px 2px rgba(0, 18, 13, .7);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body .btn-ember,
body .btn-primary,
body .btn-signal,
body .shop-cta,
body .dream-catcher-buy {
  --action-tint: rgba(44, 176, 142, .34);
  --action-edge: rgba(109, 235, 202, .65);
}

body .btn:hover,
body .dream-catcher-buy:hover,
body a.mono.glass:hover,
body #sndBtn:hover {
  border-color: rgba(151, 255, 222, .85) !important;
  box-shadow: inset 0 1px 0 rgba(237, 255, 249, .3), inset 0 -1px 0 rgba(94, 231, 190, .16),
    0 10px 28px rgba(0, 0, 0, .32), 0 0 26px rgba(57, 202, 164, .15);
}

body .btn:focus-visible,
body .dream-catcher-buy:focus-visible,
body a.mono.glass:focus-visible,
body #sndBtn:focus-visible {
  outline: 3px solid #e2d2b4;
  outline-offset: 4px;
}

/* Static refraction keeps the finish calm; the existing hover sheen remains. */
body .btn.autoglint::after { animation: none; }
body .service-card .btn + .btn { margin-top: 10px; }

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  body .btn, body .dream-catcher-buy, body a.mono.glass, body #sndBtn {
    background: linear-gradient(145deg, #244d43, #10221e) !important;
  }
}
@media (prefers-reduced-transparency: reduce) {
  body .btn, body .dream-catcher-buy, body a.mono.glass, body #sndBtn {
    background: linear-gradient(145deg, #244d43, #10221e) !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  body .btn, body .dream-catcher-buy, body a.mono.glass, body #sndBtn { transition: none; }
  body .btn::after { animation: none; transition: none; }
}

/* Ember / copper primary actions; teal remains the secondary navigation accent. */
body .btn-ember, body .btn-primary, body .shop-cta,
body .upcta, body .dream-catcher-buy {
  background: linear-gradient(155deg, rgba(255,224,193,.24), rgba(255,171,119,.06) 35%, transparent 54%),
    linear-gradient(125deg, rgba(235,100,43,.52) 0%, rgba(203,66,35,.38) 55%, rgba(74,28,20,.3) 100%) !important;
  color: #e2d2b4 !important;
  border: 1px solid #d37c54 !important;
  border-top-color: #ecaa7d !important;
  border-radius: 999px;
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  box-shadow: inset 0 1px 0 rgba(255,232,210,.3), inset 0 -1px 0 rgba(220,99,52,.2), 0 8px 24px rgba(0,0,0,.28);
  text-shadow: 0 1px 2px #32130e;
}
body .btn-ember:hover, body .btn-primary:hover, body .shop-cta:hover,
body .upcta:hover, body .dream-catcher-buy:hover {
  border-color: #ffbe8f !important;
  box-shadow: inset 0 1px 0 rgba(255,232,210,.4), 0 10px 28px rgba(0,0,0,.32), 0 0 24px rgba(207,83,39,.18);
}
body .upm-grid a, body .upm-grid a:visited {
  color: #ee9a70;
  text-decoration-color: rgba(238,154,112,.6);
  text-decoration-thickness: 1px;
  text-underline-offset: .22em;
}
body .upm-grid a:hover { color: #ffc399; }
body .upm-grid li::before { background: #db784c; }
body .upm-eyebrow { color: #ee9a70; }
body .upm-grid a:focus-visible, body .upcta:focus-visible {
  outline: 3px solid #ffc399; outline-offset: 5px; border-radius: 3px;
}
@media (prefers-reduced-transparency: reduce) {
  body .btn-ember, body .btn-primary, body .shop-cta, body .upcta, body .dream-catcher-buy {
    backdrop-filter: none; -webkit-backdrop-filter: none;
  }
}
/* Keep long action labels inside their glass panel on narrow screens. */
body .upm-rail .btn { max-width: 100%; box-sizing: border-box; white-space: normal; text-align: center; }
@media (max-width: 720px) {
  body .upm-rail .btn { flex: 1 1 100%; width: 100%; padding: 14px 18px; min-height: 48px; }
}

/* Purchase intent consistently uses teal-green. */
body .dream-catcher-buy, body .shop-cta,
body a.btn[href*="buy.stripe.com"], body a.btn[href*="checkout.stripe.com"] {
  background: linear-gradient(155deg, rgba(224,255,246,.22), rgba(162,248,225,.08) 30%, transparent 54%),
    linear-gradient(135deg, rgba(44,176,142,.42), rgba(8,45,37,.56)) !important;
  color: #e2d2b4 !important;
  border-color: rgba(109,235,202,.7) !important;
  border-top-color: rgba(190,255,235,.75) !important;
  box-shadow: inset 0 1px 0 rgba(232,255,247,.24), 0 8px 24px rgba(0,0,0,.2) !important;
  text-shadow: 0 1px 2px rgba(0,18,13,.7);
}
