/* Scoped controls matching the existing forest and gold palette. */
.zj-share-target { scroll-margin-top: 7rem; }
.zj-share-control { display: block; margin: .65rem 0 1rem; }
.zj-share-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-height: 40px;
  padding: .5rem .85rem;
  border: 1px solid #7f7751;
  border-radius: 999px;
  background: #10261c;
  color: #ead19a;
  font: 600 .75rem/1.35 'Manrope', sans-serif;
  letter-spacing: .015em;
  text-decoration: none;
  text-transform: none;
  cursor: pointer;
  vertical-align: middle;
}
.zj-share-trigger svg { flex: none; }
.zj-share-trigger:hover { background: #203b2a; border-color: #dfbd75; }
.zj-share-trigger:focus-visible,
.zj-share-dialog :is(a, button, input):focus-visible {
  outline: 2px solid #efcf87;
  outline-offset: 4px;
}
.zj-share-dialog {
  position: fixed;
  inset: 0;
  box-sizing: border-box;
  width: min(560px, calc(100vw - 2rem));
  max-height: calc(100dvh - 2rem);
  margin: auto;
  padding: clamp(1.2rem, 4vw, 2rem);
  overflow: auto;
  border: 1px solid #68734c;
  border-radius: 18px;
  background: #0c2118;
  color: #edf3e9;
  font: 400 .9rem/1.65 'Manrope', sans-serif;
  box-shadow: 0 24px 100px #0009;
  text-align: left;
  z-index: 10020;
  overscroll-behavior: contain;
}
.zj-share-dialog:not([open]), .zj-share-dialog [hidden] { display: none !important; }
.zj-share-dialog::backdrop { background: #000a; backdrop-filter: blur(4px); }
.zj-share-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.zj-share-dialog h2 {
  margin: 0;
  color: #edf3e9;
  font: 500 clamp(1.7rem, 4vw, 2.05rem)/1.15 'Cormorant Garamond', Georgia, serif;
  letter-spacing: 0;
  text-transform: none;
}
.zj-share-dialog .zj-share-section-name { margin: 1rem 0 .4rem; color: #e4c889; font-size: 1rem; font-weight: 600; }
.zj-share-dialog .zj-share-hint { margin: .4rem 0 1.1rem; color: #b6c7bb; font-size: .83rem; }
.zj-share-link-label { display: block; margin: 0 0 .45rem; font-size: .76rem; color: #b6c7bb; }
.zj-share-copy-row { display: flex; gap: .5rem; align-items: stretch; }
.zj-share-dialog input {
  box-sizing: border-box;
  flex: 1;
  min-width: 0;
  width: 100%;
  border: 1px solid #42604a;
  border-radius: 8px;
  background: #091b13;
  color: #edf3e9;
  padding: .7rem;
  font: 400 .77rem/1.5 'Manrope', sans-serif;
}
.zj-share-dialog button, .zj-share-dialog .zj-share-instagram-open {
  box-sizing: border-box;
  min-height: 44px;
  padding: .6rem .85rem;
  border: 1px solid #42604a;
  border-radius: 8px;
  background: #183123;
  color: #edf3e9;
  font: 600 .8rem/1.45 'Manrope', sans-serif;
  text-transform: none;
  letter-spacing: 0;
  text-decoration: none;
  cursor: pointer;
}
.zj-share-dialog .zj-share-close { flex: none; min-height: 36px; padding: .35rem .6rem; background: transparent; font-size: .74rem; }
.zj-share-dialog .zj-share-copy { background: #dfbd75; border-color: #dfbd75; color: #102015; white-space: nowrap; }
.zj-share-networks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; margin: 1.1rem 0 .7rem; }
/* The same 48 px solar medallions used by the footer, scoped for every page. */
.zj-share-dialog .zj-share-network {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: .45rem;
  box-sizing: border-box;
  min-width: 0;
  min-height: 90px;
  padding: .45rem .3rem .35rem;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: #edf3e9;
  font: 600 .8rem/1.45 'Manrope', sans-serif;
  text-decoration: none;
  cursor: pointer;
}
.zj-share-network-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  border: 1px solid #edc56a;
  border-radius: 50%;
  background: radial-gradient(circle at 27% 18%, rgba(255,238,166,.30), transparent 58%),
    linear-gradient(145deg, #384b29, #173a27 56%, #10281c);
  box-shadow: inset 0 1px 1px rgba(255,246,196,.32), 0 0 12px rgba(240,179,58,.19);
  transition: border-color .2s, box-shadow .2s, transform .2s, background .2s;
}
.zj-share-network-icon img {
  display: block;
  width: 25px;
  height: 25px;
  object-fit: contain;
  filter: brightness(1.14) saturate(1.04) drop-shadow(0 0 3px rgba(255,235,153,.22));
}
.zj-share-network--linkedin .zj-share-network-icon img { width: 28px; height: 28px; }
.zj-share-network--x .zj-share-network-icon img { width: 23px; height: 24px; }
.zj-share-network-label { text-align: center; }
.zj-share-dialog .zj-share-network:hover { filter: none; }
.zj-share-network:is(:hover, :focus-visible, [aria-expanded="true"]) .zj-share-network-icon {
  transform: translateY(-3px);
  border-color: #fff0ad;
  background: radial-gradient(circle at 27% 18%, rgba(255,240,173,.43), transparent 65%),
    linear-gradient(145deg, #4b5b2e, #22462d 56%, #153320);
  box-shadow: inset 0 1px 2px rgba(255,249,213,.50), 0 0 19px rgba(255,196,65,.36);
}
.zj-share-dialog .zj-share-network:focus-visible { outline: 3px solid #fff0ad; outline-offset: 2px; }
.zj-share-instagram-panel {
  padding: 1rem;
  margin: .25rem 0 .85rem;
  border: 1px solid #7f7751;
  border-radius: 12px;
  background: linear-gradient(145deg, #253923, #10281c);
}
.zj-share-dialog .zj-share-instagram-panel h3 {
  margin: 0 0 .4rem;
  color: #e4c889;
  font: 600 .9rem/1.45 'Manrope', sans-serif;
  text-transform: none;
  letter-spacing: 0;
}
.zj-share-dialog .zj-share-instagram-hint { margin: 0 0 .7rem; color: #cfdbce; font-size: .8rem; }
.zj-share-dialog .zj-share-instagram-open { display: inline-flex; align-items: center; border-color: #b59b61; }
.zj-share-dialog .zj-share-native { width: 100%; margin: .15rem 0 0; }
.zj-share-dialog :is(button:not(.zj-share-network), .zj-share-instagram-open):hover { filter: brightness(1.16); border-color: #dfbd75; }
.zj-share-dialog .zj-share-status { min-height: 1.65em; margin: .7rem 0 0; color: #e4c889; font-size: .8rem; }
@media (max-width: 520px) {
  .zj-share-networks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .zj-share-copy-row { flex-direction: column; }
  .zj-share-trigger { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .zj-share-network-icon { transition: none; }
  .zj-share-network:is(:hover, :focus-visible, [aria-expanded="true"]) .zj-share-network-icon { transform: none; }
}
@media print {
  .zj-share-control, .zj-share-dialog { display: none !important; }
}
