.tour-share-section-header { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:12px; }
.tour-share-section-header .section-hdr { flex:1; margin:0; }
.tour-share-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
/* Appearance comes from the same .wf-pill used by Artery Edge. */
.tour-share-button { display:inline-flex; align-items:center; justify-content:center; min-height:36px; text-decoration:none; white-space:nowrap; }
.tour-share-button:disabled { opacity:.45; cursor:not-allowed; }
.tour-share-dialog { position:fixed; inset:0; margin:auto; width:min(680px, calc(100vw - 32px)); max-height:calc(100dvh - 48px); padding:26px; overflow-y:auto; border:1px solid var(--border-med); border-radius:22px; background:var(--surface); color:var(--text); font-family:var(--font-body); box-shadow:0 24px 90px var(--border-med); }
.tour-share-dialog::backdrop { background:color-mix(in srgb, var(--text) 35%, transparent); backdrop-filter:blur(4px); }
.tour-share-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.tour-share-dialog-header h2 { margin:0; font-size:23px; font-weight:600; letter-spacing:-.5px; }
.tour-share-dialog-header .overlay-close-x { position:static; flex-shrink:0; }
.tour-share-description { font-size:13px; line-height:1.6; color:var(--text-2); margin:8px 34px 22px 0; }
.tour-share-dialog h3 { font-size:14px; font-weight:600; }
.tour-share-fields { border:0; padding:0; min-width:0; }
.tour-share-label { display:block; font-size:12px; font-weight:500; line-height:1.6; color:var(--text-2); }
.tour-share-input { display:block; box-sizing:border-box; width:100%; min-width:0; min-height:40px; padding:10px 12px; margin-top:6px; border:1px solid var(--border-med); border-radius:9px; background:var(--bg); color:var(--text); font:400 13px/1.4 var(--font-body); }
.tour-share-input:disabled { opacity:.5; }
.tour-share-input[aria-invalid="true"] { border-color:var(--coral); }
.tour-share-dialog :focus-visible, .tour-share-section-header :focus-visible { outline:2px solid var(--green); outline-offset:3px; }
.tour-share-fan-message-label { margin-top:18px; }
.tour-share-fan-message { min-height:96px; resize:vertical; }
.tour-share-message-count { display:block; margin-top:5px; }
.tour-share-poster { margin:22px 0; }
.tour-share-poster > .tour-share-muted { margin:5px 0; }
.tour-share-image-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; margin-top:12px; }
.tour-share-image-card { min-width:0; padding:10px; border:1px solid var(--border); border-radius:12px; background:var(--bg); }
.tour-share-image-caption { margin:8px 0; font-size:12px; font-weight:500; }
.tour-share-image-actions { display:flex; align-items:center; gap:5px; flex-wrap:wrap; }
.tour-share-image-actions .tour-share-button { min-width:36px; padding:5px 9px; font-size:11px; }
.tour-share-image-actions .rh-exp-cancel { margin-left:auto; }
.tour-share-muted { color:var(--text-2); font-size:12px; line-height:1.6; font-weight:400; }
.tour-share-file { display:block; margin:10px 0; width:100%; font:400 12px var(--font-body); }
.tour-share-file::file-selector-button { padding:8px 12px; margin-right:10px; border:1px solid var(--border-med); border-radius:8px; background:var(--bg); color:var(--text); font:500 12px var(--font-body); cursor:pointer; }
.tour-share-poster-preview { display:block; height:160px; width:100%; border-radius:8px; margin:0; object-fit:contain; }
.tour-share-video-editor { margin-top:12px; }
.tour-share-video-card { max-width:360px; padding:14px; border:1px solid var(--border); border-radius:12px; background:var(--bg); }
.tour-share-video-card > .tour-share-image-caption { margin-top:0; }
.tour-share-video-frame { position:relative; width:100%; aspect-ratio:var(--tour-video-mobile-ratio, 1); overflow:hidden; border-radius:8px; background:var(--surface); }
.tour-share-video-preview { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.tour-share-video-drag { position:absolute; inset:0 0 64px; cursor:grab; touch-action:none; user-select:none; -webkit-user-select:none; }
.tour-share-video-drag-label { position:absolute; top:12px; left:50%; transform:translateX(-50%); padding:7px 11px; border:1px solid var(--border); border-radius:999px; background:color-mix(in srgb, var(--surface) 94%, transparent); color:var(--text); font:500 11px/1.3 var(--font-body); white-space:nowrap; pointer-events:none; }
.tour-share-video-frame::after { content:''; position:absolute; inset:0; opacity:0; pointer-events:none; background:linear-gradient(to right, transparent calc(33.333% - .5px), var(--surface) 33.333%, transparent calc(33.333% + .5px), transparent calc(66.667% - .5px), var(--surface) 66.667%, transparent calc(66.667% + .5px)), linear-gradient(to bottom, transparent calc(33.333% - .5px), var(--surface) 33.333%, transparent calc(33.333% + .5px), transparent calc(66.667% - .5px), var(--surface) 66.667%, transparent calc(66.667% + .5px)); }
.tour-share-video-frame.is-repositioning::after { opacity:.45; }
.tour-share-video-frame.is-repositioning .tour-share-video-drag { cursor:grabbing; }
.tour-share-video-frame.is-repositioning .tour-share-video-drag-label { opacity:0; }
@supports not (aspect-ratio: 1) {
  .tour-share-video-frame::before { content:''; display:block; padding-top:calc(100% / var(--tour-video-mobile-ratio, 1)); }
  .tour-share-video-preview, .tour-share-video-frame::after { top:0; right:0; bottom:0; left:0; }
  .tour-share-video-drag { top:0; right:0; bottom:64px; left:0; }
}
.tour-share-video-framing { margin:14px 0; }
.tour-share-video-framing-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.tour-share-video-framing-heading .tour-share-video-center { min-height:36px; padding:6px 11px; font-size:11px; }
/* House-style track and thumb, with a generous touch area. */
.tour-share-video-position { display:block; box-sizing:border-box; width:100%; height:44px; margin:0; padding:0; border:0; border-radius:8px; background:transparent; appearance:none; -webkit-appearance:none; cursor:pointer; touch-action:pan-y; }
.tour-share-video-position::-webkit-slider-runnable-track { height:3px; border-radius:3px; background:var(--border-med); }
.tour-share-video-position::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; width:20px; height:20px; margin-top:-8.5px; border:3px solid var(--surface); border-radius:50%; background:var(--green); box-shadow:0 0 0 1px var(--border-med); }
.tour-share-video-position::-moz-range-track { height:3px; border:0; border-radius:3px; background:var(--border-med); }
.tour-share-video-position::-moz-range-thumb { box-sizing:border-box; width:20px; height:20px; border:3px solid var(--surface); border-radius:50%; background:var(--green); box-shadow:0 0 0 1px var(--border-med); }
.tour-share-video-position:disabled { cursor:default; opacity:.45; }
.tour-share-video-position-labels { display:flex; justify-content:space-between; color:var(--text-2); font-size:11px; font-weight:500; }
.tour-share-dialog [hidden] { display:none; }
.tour-share-shows-header { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:12px 0; border-bottom:1px solid var(--border); }
.tour-share-count { font-size:11px; color:var(--text-2); }
.tour-share-select-all { display:flex; align-items:center; gap:7px; margin-left:auto; font-size:12px; cursor:pointer; }
.tour-share-dialog input[type="checkbox"] { width:16px; height:16px; accent-color:var(--green); cursor:pointer; flex-shrink:0; }
.tour-share-show { padding:16px 0; border-bottom:1px solid var(--border); }
.tour-share-show-choice { display:flex; align-items:center; gap:12px; cursor:pointer; }
.tour-share-show-detail { display:flex; flex-direction:column; gap:3px; min-width:0; }
.tour-share-date { font:400 11px/1.6 var(--font-mono); color:var(--text-2); }
.tour-share-venue { font-size:13px; font-weight:500; overflow-wrap:anywhere; }
.tour-share-ticket-label { margin:12px 0 0 28px; font-size:11px; }
.tour-share-editor-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; margin-top:22px; }
.tour-share-page { padding:18px 0; border-bottom:1px solid var(--border); }
.tour-share-page h3 { overflow-wrap:anywhere; }
.tour-share-page .tour-share-actions { margin-top:10px; }
.tour-share-empty { padding:28px 0; font-size:13px; line-height:1.7; color:var(--text-2); }
.tour-share-message, .tour-share-tracking-message { font-size:12px; line-height:1.6; color:var(--text-2); margin-top:16px; overflow-wrap:anywhere; }
.tour-share-message:empty, .tour-share-tracking-message:empty { display:none; }
.tour-share-message.is-error, .tour-share-tracking-message.is-error { color:var(--coral); }
.tour-share-saved { padding:20px; border:1px solid var(--border); border-radius:12px; background:var(--bg); margin-bottom:14px; }
.tour-share-saved h3 { margin-bottom:14px; }
.tour-share-saved .tour-share-actions { margin-top:16px; }
.tour-share-tracking { margin-top:22px; padding-top:16px; border-top:1px solid var(--border); }
.tour-share-tracking summary { font-size:13px; font-weight:500; cursor:pointer; }
.tour-share-tracking .tour-share-muted { margin:8px 0 14px; }
.tour-share-tracking-steps { padding-left:18px; }
.tour-share-tracking-steps li { margin:4px 0; }
.tour-share-tracking-ids:empty { display:none; }
.tour-share-tracking-ids code { font-family:var(--font-mono); font-size:11px; }
.tour-share-tracking-enable { display:flex; align-items:flex-start; gap:9px; margin-top:16px; font-size:13px; line-height:1.6; cursor:pointer; }
.tour-share-tracking-enable input { margin-top:3px; }
.tour-share-tracking-message { margin-bottom:0; }
@media (max-width:600px) {
  .tour-share-dialog { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); padding:18px; border-radius:16px; }
  .tour-share-dialog-header h2 { font-size:20px; }
  .tour-share-description { margin-right:0; }
  .tour-share-section-header { gap:10px; }
  .tour-share-section-header .section-hdr { flex-basis:100%; }
  .tour-share-editor-footer { align-items:stretch; }
  .tour-share-editor-footer .tour-share-actions { width:100%; }
  .tour-share-editor-footer .tour-share-button { flex:1; }
  .tour-share-ticket-label { margin-left:0; }
  .tour-share-button { min-height:42px; }
  .tour-share-tracking-form .tour-share-button { width:100%; }
}

@media (max-width:400px) {
  .tour-share-image-grid { grid-template-columns:1fr; }
}
