.noa-share-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 18px 0; }
.noa-share-button, .noa-share-download {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 42px; padding: 9px 14px; border: 1px solid currentColor;
  border-radius: 4px; color: inherit; background: transparent;
  font: 500 12px/1.25 Inter, Arial, sans-serif; letter-spacing: .04em;
  text-decoration: none; cursor: pointer; transition: background .2s, color .2s, border-color .2s;
}
.noa-share-button:hover, .noa-share-download:hover { background: #bda77b; border-color: #bda77b; color: #122b20; }
.noa-share-button:focus-visible, .noa-share-download:focus-visible,
.noa-share-option:focus-visible, .noa-share-panel__close:focus-visible { outline: 3px solid #bda77b; outline-offset: 3px; }
.nav__right.noa-share-nav { gap: clamp(10px, 1vw, 18px); }
.noa-share-button--nav { color: #172a21; border-color: #172a2166; background: #fff9; white-space: nowrap; }
.nav--scrolled .noa-share-button--nav { color: #e8dac0; border-color: #bda77b80; background: #10221999; }
.noa-share-bar--page { padding: 90px 24px 0; color: #174d3a; }
.noa-share-bar--prices { margin: 12px 18px 8px; color: #e8dac0; }
.noa-share-bar--plans { margin: 18px 0 12px; }
.noa-share-button--pdf { margin-left: 10px; vertical-align: middle; color: #e8dac0; }
.memoria__pdf-btn + .noa-share-button--pdf { margin-top: 10px; }
.noa-share-layer[hidden] { display: none; }
.noa-share-layer { position: fixed; inset: 0; z-index: 10100; }
.noa-share-layer__backdrop { position: absolute; inset: 0; background: #07130ec4; }
.noa-share-panel {
  position: absolute; top: min(16vh, 112px); right: max(18px, env(safe-area-inset-right));
  width: min(380px, calc(100vw - 36px)); max-height: calc(100dvh - 40px); overflow-y: auto;
  border: 1px solid #bda77b78; border-radius: 10px; padding: 24px;
  background: #102219; color: #f4f1e8; box-shadow: 0 24px 70px #0008;
}
.noa-share-panel__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.noa-share-panel__head h2 { margin: 0; color: #f4f1e8; font: 400 24px/1.18 Georgia, serif; }
.noa-share-panel__close { border: 1px solid #bda77b7a; border-radius: 50%; width: 34px; height: 34px; flex: none; color: #e8dac0; background: none; font-size: 24px; line-height: 1; cursor: pointer; }
.noa-share-panel__context { margin: 10px 0 20px; color: #d4d6cf; font: 400 13px/1.5 Inter, Arial, sans-serif; overflow-wrap: anywhere; }
.noa-share-panel__options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.noa-share-option {
  display: flex; align-items: center; justify-content: center; min-height: 48px;
  border: 1px solid #bda77b78; border-radius: 5px; padding: 9px;
  color: #f4f1e8; background: #203b2d; font: 500 13px/1.2 Inter, Arial, sans-serif;
  text-align: center; text-decoration: none; cursor: pointer;
}
.noa-share-option:hover { border-color: #bda77b; background: #345641; }
.noa-share-option--native { grid-column: 1 / -1; color: #122b20; background: #bda77b; }
.noa-share-option--native:hover { background: #d1b982; }
body.noa-share-open .wa-float { opacity: 0 !important; pointer-events: none !important; }
.noa-share-status {
  position: fixed; z-index: 10101; left: 50%; bottom: max(20px, env(safe-area-inset-bottom));
  transform: translate(-50%, 15px); padding: 11px 17px; border-radius: 4px;
  background: #174d3a; color: #fff; font: 500 13px/1.3 Inter, Arial, sans-serif;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .2s, transform .2s, visibility .2s;
}
.noa-share-status.is-visible { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
@media (max-width: 600px) {
  .noa-share-button--nav { min-height: 38px; padding: 7px 10px; font-size: 12px; }
  .noa-share-button--nav svg { width: 16px; height: 16px; }
  .noa-share-bar { gap: 8px; }
  .noa-share-button, .noa-share-download { min-height: 42px; padding: 9px 10px; }
  .noa-share-bar--prices { margin: 10px 12px; }
  .noa-share-panel { top: auto; right: 0; bottom: 0; left: 0; width: 100%; max-height: min(88dvh, 650px); border-radius: 16px 16px 0 0; padding: 22px max(20px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left)); }
}
