/* NAVI article measurements and provenance: docs/share-controls.md.
   Keep the space/height of its row even though Bookmark/Follow are omitted. */
.share-controls {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 20px;
  min-height: calc(10px * 2.5714285714);
}
.share-controls--top { margin: -12px 0 16px; }
.share-controls--bottom { margin: 34px 0 60px; }
.share-control {
  position: relative;
  display: block;
  flex: none;
  aspect-ratio: 1;
  padding: 0;
  border: 0;
  background: none;
  line-height: 1;
  text-decoration: none;
}
.share-control--x { width: 1.75vw; max-width: 28px; }
.share-control--facebook { width: 2.125vw; max-width: 34px; }
.share-control::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: no-repeat top / contain;
  pointer-events: none;
  transition: transform .2s linear;
}
.share-control--x::before { background-image: url('/assets/ui/x.png'); }
.share-control--facebook::before { background-image: url('/assets/ui/icon_sns_fb_03.svg'); }
@media (hover: hover) and (pointer: fine) { .share-control:hover::before { transform: scale(1.1); } }
/* Live NAVI custom balloon: immediate hover, no fade or delay. */
.share-tooltip {
  display: none;
  position: absolute;
  left: 50%;
  bottom: calc(100% + 1.33333em);
  transform: translateX(calc(-50% + var(--tooltip-shift, 0px)));
  width: max-content;
  max-width: 15em;
  padding: .32em .9333333333em;
  background: #000;
  color: #fff;
  font-family: var(--font);
  font-size: clamp(8px, .9375vw, 15px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: normal;
  text-align: center;
  border: 0;
  border-radius: .2666666667em;
  box-shadow: none;
  z-index: 1;
}
.share-tooltip::before {
  content: "";
  position: absolute;
  display: inline-block;
  left: calc(50% - var(--tooltip-shift, 0px));
  top: calc(100% - .13333em);
  transform: translateX(-50%);
  width: 1em;
  height: .8em;
  background: url('/assets/ui/icon_arrows_04_down_black.svg') no-repeat top / contain;
  pointer-events: none;
}
/* Only collision cases change position; the arrow still points at its icon. */
.share-control.is-tooltip-below .share-tooltip { bottom: auto; top: calc(100% + 1.33333em); }
.share-control.is-tooltip-below .share-tooltip::before { top: auto; bottom: calc(100% - .13333em); transform: translateX(-50%) rotate(180deg); }
@media (hover:hover) and (pointer:fine) {
  .share-control:hover:not(.is-tooltip-dismissed) .share-tooltip { display: block; }
}
@media (prefers-reduced-motion:reduce) {
  .share-control::before { transition: none; }
}
/* Keyboard focus inherits Atelier's existing visible 3px blue outline. */
.event-heading-meta { display: flex; align-items: baseline; }
/* The status keeps its existing 12px top margin inside the new flex row. */
.event-page .page-heading:has(> .event-heading-meta) h1 { margin-bottom: 0; }
.event-updated-date {
  font-family: var(--number-font);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .05em;
  color: #9c9c9c;
  margin-left: auto;
  padding-left: 1em;
  text-align: right;
}
.event-updated-date-label { font-weight: 400; letter-spacing: 0; }
@media (min-width:1280px) {
  .share-controls { min-height: 36px; }
}
@media (max-width:1023.98px) {
  .share-controls { gap: min(3.2vw, 12px); min-height: 28px; }
  .share-controls--top { margin-top: -5px; }
  .share-controls--bottom { margin: 20px 0 35px; }
  .share-control--x { width: 5.6vw; max-width: 21px; }
  .share-control--facebook { width: 6.4vw; max-width: 24px; }
  .event-heading-meta { flex-wrap: wrap; }
  .event-updated-date { width: 100%; font-size: 11px; margin-top: 3px; padding-left: 0; }
}
