/* Adapted from the supplied glass capsule. All effects stay inside the button;
   no body layout, global contrast filter, fixed height or page-level z-index. */
.glass-action {
  position: relative;
  isolation: isolate;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  inline-size: min(100%, 260px);
  max-inline-size: 100%;
  min-block-size: 75px;
  padding: 12px 16px 12px 24px;
  padding-inline: 24px 16px;
  border-radius: 999px;
  border: 1px double rgba(23, 73, 49, .14);
  background: rgba(255, 255, 255, .42);
  color: #174b36;
  box-shadow: inset 2px -2px 1px -1px rgba(255,255,255,.9),
    inset -2px 2px 1px -1px rgba(255,255,255,.9),
    inset 6px -6px 1px -6px rgba(255,255,255,.55),
    inset -6px 6px 1px -6px rgba(255,255,255,.55),
    inset 0 0 2px rgba(18,64,43,.55), 0 4px 8px rgba(18,64,43,.14);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  cursor: pointer;
  user-select: none;
  touch-action: manipulation;
  overflow: hidden;
  transition: transform 250ms cubic-bezier(.2,.8,.25,1.08), background-color 250ms;
}
.glass-action::before,
.glass-action::after,
.glass-action-overlay { position:absolute; border-radius:inherit; pointer-events:none; }
.glass-action::before {
  content:""; inset:35% 8px -19%; z-index:-1;
  border:1px solid rgba(18,64,43,.55); filter:blur(8px);
}
.glass-action::after {
  content:""; inset:0; z-index:-1; filter:blur(7px);
  background:linear-gradient(45deg,rgba(255,255,255,.8),transparent 15%,transparent 85%,rgba(255,255,255,.8));
}
.glass-action-overlay { inset:4px; border:1px solid rgba(255,255,255,.45); filter:blur(1px); }
.glass-action-text { min-inline-size:0; overflow-wrap:anywhere; text-align:start; font-size:20px; font-weight:600; line-height:1.45; text-shadow:0 18px 5px rgba(33,78,51,.1); }
.glass-action-icon {
  display:grid; place-items:center; flex:0 0 40px; inline-size:40px; block-size:40px;
  border-radius:50%; background:#00a86b; color:#fff;
  box-shadow:inset 0 1px 1px #ffffff80,0 0 6px #006c4538;
  transition:transform 250ms cubic-bezier(.2,.8,.25,1.08);
}
.glass-action-icon svg { inline-size:14px; block-size:18px; fill:currentColor; }
.glass-action:dir(rtl) .glass-action-icon svg { transform:rotate(180deg); }
.glass-action:hover { filter:none; }
@media(hover:hover) and (pointer:fine) {
  .glass-action:not(:disabled):hover { background:rgba(255,255,255,.6); transform:translateY(-3px); }
  .glass-action:not(:disabled):hover .glass-action-icon { transform:scale(1.1); }
}
.glass-action:not(:disabled):active { scale:1; transform:scale(.96); }
.glass-action:not(:disabled):active .glass-action-icon { transform:scale(.94); }
.glass-action:focus-visible { outline:3px solid #008353; outline-offset:4px; }
.glass-action:disabled { opacity:.5; cursor:default; }
@media(max-width:760px) {
  .glass-action { inline-size:100%; min-block-size:62px; padding-block:10px; gap:12px; }
  .glass-action-text { font-size:18px; }
}
.high-contrast .glass-action { background:#fff; border:2px solid #174b36; color:#174b36; }
.high-contrast .glass-action-text { text-shadow:none; }
.reduce-motion .glass-action,.reduce-motion .glass-action-icon { transition:none; }
.reduce-motion .glass-action:not(:disabled):is(:hover,:active),.reduce-motion .glass-action .glass-action-icon { transform:none; }
@media(prefers-reduced-motion:reduce) {
  .glass-action,.glass-action-icon { transition:none; }
  .glass-action:not(:disabled):is(:hover,:active),.glass-action .glass-action-icon { transform:none; }
}
@media(forced-colors:active) {
  .glass-action { border:2px solid ButtonText; background:ButtonFace; color:ButtonText; box-shadow:none; }
  .glass-action-icon { background:ButtonFace; color:ButtonText; border:1px solid ButtonText; }
  .glass-action::before,.glass-action::after,.glass-action-overlay { display:none; }
}
