/* BMSDock v10 UI 1.9.12 — Share UI (authoritative component source) */
:root{
  --share-control-height:var(--ui-action-height);
  --share-control-radius:var(--ui-action-radius);
  --share-font-size:var(--ui-action-font-size);
  --share-font-weight:var(--ui-action-font-weight);
  --share-description-size:var(--ui-font-body);
  --share-description-weight:var(--ui-weight-regular);
  --share-neutral:var(--ui-color-subtle);
  --share-action-bg:var(--ui-action-primary-bg);
  --share-action-bg-hover:var(--ui-action-primary-bg-hover);
  --share-action-text:var(--ui-action-primary-fg);
  --share-focus:var(--ui-state-focus-primary);
}


/* Bottom Share panel shell moved from legacy style.css in UI 1.9.12. */
.share-bottom-panel{
  display:none;
  margin:10px 0 12px;
  padding:0 8px;
}
.share-bottom-panel.show{display:block;}

/* One authoritative visual slot: Share -> Progress -> Copy link. */
.share-state-slot{
  width:100%;
  position:relative;
}
.share-state-slot-bottom{
  width:100%;
  max-width:320px;
  margin:0 auto;
}
.share-state-slot-settings{width:100%;}

.share-state-slot > .share-ride-btn,
.share-state-slot > .share-result.ready .share-ready-btn{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 14px !important;
  border:0 !important;
  background:var(--share-action-bg) !important;
  color:var(--share-action-text) !important;
  box-shadow:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  line-height:1 !important;
  text-align:center !important;
  cursor:pointer;
  transition:background-color .16s ease, transform .12s ease, box-shadow .16s ease;
}
.share-state-slot > .share-ride-btn:hover,
.share-state-slot > .share-result.ready .share-ready-btn:hover{
  background:var(--share-action-bg-hover) !important;
}
.share-state-slot > .share-ride-btn:active,
.share-state-slot > .share-result.ready .share-ready-btn:active{
  transform:translateY(1px);
}
.share-state-slot > .share-ride-btn:focus-visible,
.share-state-slot > .share-result.ready .share-ready-btn:focus-visible{
  outline:none !important;
  box-shadow:0 0 0 3px var(--share-focus) !important;
}
.share-state-slot > .share-ride-btn:disabled{opacity:.62;cursor:wait;}

.share-ride-btn > .share-small-icon{
  flex:0 0 20px !important;
  position:static !important;
  inset:auto !important;
  transform:none !important;
  margin:0 !important;
  display:block !important;
}
.share-ride-btn > .share-action-label{
  display:block !important;
  width:auto !important;
  margin:0 !important;
  font-size:inherit !important;
  font-weight:inherit !important;
  line-height:1.1 !important;
}

.share-state-slot > .share-result{
  width:100%;
  max-width:none !important;
  margin:0 !important;
  font-size:var(--share-description-size) !important;
  font-weight:var(--share-description-weight) !important;
}

.share-result.compact-progress{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.share-progress-label{
  width:100%;
  max-width:none !important;
  margin:0 0 8px !important;
  color:var(--share-neutral) !important;
  font-size:var(--share-description-size) !important;
  font-weight:var(--share-description-weight) !important;
  line-height:1.25 !important;
  text-align:center !important;
}
.compact-share-progress{
  width:100% !important;
  max-width:none !important;
  height:8px !important;
  margin:0 !important;
  overflow:hidden;
  border-radius:999px !important;
  background:rgba(148,163,184,.25) !important;
}
.compact-share-progress > span{
  display:block;
  height:100%;
  border-radius:inherit !important;
  background:var(--share-action-bg) !important;
  transition:width .28s ease;
}

.share-result.ready{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.share-hidden-input{position:absolute !important;left:-9999px !important;opacity:0 !important;pointer-events:none !important;}

.share-result.error,
.share-result.info{
  margin:0 !important;
  border-radius:var(--share-control-radius) !important;
  padding:10px 12px !important;
  font-size:var(--share-description-size) !important;
  font-weight:var(--share-description-weight) !important;
  line-height:1.35 !important;
  box-shadow:none !important;
}
.share-result.error{
  background:#fef2f2 !important;
  color:#991b1b !important;
  border:1px solid #fecaca !important;
}

/* Strict single-slot visibility. */
.share-state-slot{display:block;}
.share-state-slot > .share-ride-btn{display:flex !important;}
.share-state-slot > .share-result{display:none !important;}
.share-state-slot[data-share-state="preparing"] > .share-ride-btn,
.share-state-slot[data-share-state="ready"] > .share-ride-btn,
.share-state-slot[data-share-state="error"] > .share-ride-btn,
.share-state-slot[data-share-state="status"] > .share-ride-btn{display:none !important;}
.share-state-slot[data-share-state="preparing"] > .share-result.compact-progress,
.share-state-slot[data-share-state="ready"] > .share-result.ready,
.share-state-slot[data-share-state="error"] > .share-result.error,
.share-state-slot[data-share-state="status"] > .share-result.show{display:block !important;}

@media(max-width:640px){
  .share-state-slot-bottom{max-width:none;}
  .share-bottom-panel{padding:0 6px;}
}

/* UI 1.9.12 — shared action bridge; preserves approved Share visuals. */
.share-state-slot > .share-ride-btn,
.share-state-slot > .share-result.ready .share-ready-btn {
  height: var(--ui-action-height) !important;
  min-height: var(--ui-action-height) !important;
  border-radius: var(--ui-action-radius) !important;
  font-size: var(--ui-action-font-size) !important;
  font-weight: var(--ui-action-font-weight) !important;
}
.share-ride-btn > .share-small-icon {
  width: var(--ui-action-icon-size) !important;
  height: var(--ui-action-icon-size) !important;
}


/* v12.0.2.0 S2: server-rendered share summary. It is injected only on /share/:id. */
.server-share-summary{
  width:min(620px,calc(100vw - 48px));
  margin:0 auto 18px;
  padding:14px 16px;
  border:1px solid var(--ui-border-subtle,rgba(148,163,184,.28));
  border-radius:14px;
  background:var(--ui-surface-elevated,rgba(255,255,255,.92));
  box-shadow:0 8px 24px rgba(15,23,42,.08);
  text-align:left;
}
.server-share-summary h2{margin:0 0 8px;font-size:18px;line-height:1.25}
.server-share-summary p{margin:0;color:var(--ui-text-secondary,#475569);font-size:14px;line-height:1.45}
.server-share-summary ul{display:flex;flex-wrap:wrap;gap:6px 14px;margin:10px 0 0;padding:0;list-style:none;font-size:13px}
.server-share-summary li{white-space:nowrap}

/* v12.0.3.0 S3: explicit share-only vs public/indexable opt-in. */
.share-privacy-control{
  display:none;
  align-items:flex-start;
  gap:9px;
  margin:9px 2px 0;
  color:var(--ui-color-subtle,#64748b);
  cursor:pointer;
  user-select:none;
}
.share-privacy-control.show{display:flex;}
.share-privacy-control input{
  width:16px;
  height:16px;
  margin:2px 0 0;
  flex:0 0 16px;
  accent-color:var(--share-action-bg);
}
.share-privacy-copy{display:flex;flex-direction:column;gap:2px;min-width:0;}
.share-privacy-copy strong{
  color:var(--ui-text-primary,#0f172a);
  font-size:12px;
  line-height:1.25;
  font-weight:var(--ui-weight-semibold,600);
}
.share-privacy-copy small{
  color:var(--share-neutral);
  font-size:11px;
  line-height:1.3;
  font-weight:var(--ui-weight-regular,400);
}
.share-ready-mode{
  margin-top:7px;
  color:var(--share-neutral);
  font-size:11px;
  line-height:1.25;
  text-align:center;
}
.share-state-slot[data-share-state="preparing"] > .share-privacy-control,
.share-state-slot[data-share-state="ready"] > .share-privacy-control,
.share-state-slot[data-share-state="error"] > .share-privacy-control,
.share-state-slot[data-share-state="status"] > .share-privacy-control{display:none !important;}
.server-share-privacy{
  margin-top:10px !important;
  font-size:11px !important;
  font-weight:var(--ui-weight-semibold,600) !important;
}
