/* Share — one component (includes/pt-share.php, js/pt-share.js). Mockup Plan/pt-garage-parts-share.html §3. No tokens declared here. */

/* the trigger: outline button (pages can add their own class next to .pt-shr-btn) */
.pt-shr-btn{display:inline-flex;align-items:center;gap:7px;font-family:inherit;font-size:14px;font-weight:600;line-height:1.2;padding:10px 16px;border:1px solid #1A1A1A;background:#fff;color:#1A1A1A;border-radius:0;cursor:pointer;white-space:nowrap}
.pt-shr-ic{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* desktop dropdown: 280px, under the button, right-aligned */
.pt-shr-dd{position:absolute;z-index:100050;width:280px;background:#fff;border:1px solid #E4E2DB;box-shadow:0 10px 28px rgba(0,0,0,.12);color:#1A1A1A;font-size:14px;line-height:1.4}
.pt-shr-prev{display:flex;gap:10px;align-items:center;padding:12px 16px;border-bottom:1px solid #E4E2DB;background:#FBFAF7}
.pt-shr-prev img,.pt-shr-ph{width:56px;height:42px;flex:none;object-fit:cover;display:block;background:#E4E2DB}
.pt-shr-prev div{min-width:0}
.pt-shr-prev b{display:block;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-shr-prev span{display:block;font-size:12px;color:#5C5A54;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-shr-g{padding:6px 0}
.pt-shr-it{display:flex;align-items:center;gap:12px;width:100%;min-height:40px;padding:10px 16px;border:0;border-radius:0;background:#fff;color:#1A1A1A;font-family:inherit;font-size:14px;font-weight:400;line-height:1.2;text-align:left;cursor:pointer}
.pt-shr-it .pt-shr-ic{width:18px;height:18px;color:#5C5A54}
.pt-shr-it.is-done,.pt-shr-it.is-done .pt-shr-ic{color:#2E7D4F}

/* phone + app: bottom sheet */
.pt-shr-sh{position:fixed;inset:0;z-index:100050}
.pt-shr-sh__bd{position:absolute;inset:0;background:rgba(0,0,0,.4);opacity:0;transition:opacity .18s}
.pt-shr-sh__p{position:absolute;left:0;right:0;bottom:0;background:#fff;color:#1A1A1A;padding-bottom:max(14px,env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .2s ease-out}
.pt-shr-sh.is-on .pt-shr-sh__bd{opacity:1}
.pt-shr-sh.is-on .pt-shr-sh__p{transform:none}
.pt-shr-grab{width:40px;height:4px;background:#C9C7BF;margin:10px auto 6px}
.pt-shr-sh__t{padding:6px 16px 12px;font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-shr-big{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:4px 16px 14px}
.pt-shr-sq{display:block;padding:0;border:0;border-radius:0;background:#fff;color:#1A1A1A;font-family:inherit;font-size:12px;font-weight:400;line-height:1.3;text-align:center;cursor:pointer}
.pt-shr-sq i{width:52px;height:52px;border:1px solid #E4E2DB;display:flex;align-items:center;justify-content:center;margin:0 auto 6px;font-style:normal}
.pt-shr-sq .pt-shr-ic{width:22px;height:22px}
.pt-shr-sh .pt-shr-g{border-top:1px solid #E4E2DB}
html.pt-shr-lock{overflow:hidden}

/* toast */
.pt-shr-toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:100060;transform:translate(-50%,12px);background:#1A1A1A;color:#fff;font-size:14px;padding:10px 16px;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s}
.pt-shr-toast.is-on{opacity:1;transform:translate(-50%,0)}
html.pt-standalone .pt-shr-toast{bottom:calc(76px + env(safe-area-inset-bottom))}

/* Send in a message — modal (Noir: white card, dark backdrop, black confirm + ghost cancel); a bottom sheet under 900px */
.pt-shr-md{position:fixed;inset:0;z-index:100055;display:flex;align-items:center;justify-content:center;padding:16px}
.pt-shr-md__bd{position:absolute;inset:0;background:rgba(0,0,0,.5);opacity:0;transition:opacity .18s}
.pt-shr-md.is-on .pt-shr-md__bd{opacity:1}
.pt-shr-md__p{position:relative;width:440px;max-width:100%;max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:#fff;color:#1A1A1A;font-size:14px;line-height:1.4;box-shadow:0 10px 28px rgba(0,0,0,.18)}
.pt-shr-md__h{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #E4E2DB;font-size:15px}
.pt-shr-md__b{padding:14px 16px;overflow:auto;display:flex;flex-direction:column;gap:10px}
.pt-shr-md__f{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid #E4E2DB}
.pt-shr-x{width:32px;height:32px;padding:0;border:0;border-radius:0;background:#fff;color:#888780;font-size:22px;line-height:1;cursor:pointer}
.pt-shr-md .pt-shr-q,.pt-shr-md .pt-shr-note{width:100%;box-sizing:border-box;border:1px solid #C9C7BF;border-radius:0;padding:9px 12px;font-family:inherit;font-size:14px;color:#1A1A1A;background:#fff}
.pt-shr-md .pt-shr-note{resize:vertical;min-height:60px}
.pt-shr-ppl{display:flex;flex-direction:column;max-height:240px;overflow:auto}
.pt-shr-opt{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:8px 4px;border:0;border-bottom:1px solid #F1EFE9;border-radius:0;background:#fff;color:#1A1A1A;font-family:inherit;font-size:14px;font-weight:400;text-align:left;cursor:pointer}
.pt-shr-opt img{width:28px;height:28px;border-radius:50%;object-fit:cover;flex:none}
.pt-shr-rad{width:16px;height:16px;border:1.5px solid #C9C7BF;border-radius:50%;flex:none;box-sizing:border-box}
.pt-shr-opt.is-on .pt-shr-rad{border:5px solid #1A1A1A}
.pt-shr-opt.is-on .pt-shr-nm{font-weight:600}
.pt-shr-nm{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-shr-ago{font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:12px;color:#888780}
.pt-shr-muted{margin:6px 0;color:#5C5A54;font-size:13px}
.pt-shr-card{display:flex;gap:10px;align-items:center;padding:10px;border:1px solid #E4E2DB;background:#FBFAF7}
.pt-shr-card img,.pt-shr-card .pt-shr-ph{width:56px;height:42px;object-fit:cover;flex:none}
.pt-shr-card div{min-width:0}
.pt-shr-card b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-shr-card span{display:block;font-size:12px;color:#5C5A54;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-shr-err{margin:0;color:#5C5A54;font-size:13px;font-weight:600}
.pt-shr-cta,.pt-shr-ghost{font-family:inherit;font-size:14px;font-weight:600;line-height:1.2;padding:10px 16px;border-radius:0;cursor:pointer}
.pt-shr-cta{border:1px solid #1A1A1A;background:#1A1A1A;color:#fff}
.pt-shr-ghost{border:1px solid #C9C7BF;background:#fff;color:#1A1A1A}
.pt-shr-toast a{color:#fff;text-decoration:underline;margin-left:8px;font-weight:600}
.pt-shr-toast.has-link{pointer-events:auto}
@media (max-width:899px){
  .pt-shr-md{align-items:flex-end;padding:0}
  .pt-shr-md__p{width:100%;max-height:88vh;padding-bottom:env(safe-area-inset-bottom);transform:translateY(100%);transition:transform .2s ease-out}
  .pt-shr-md.is-on .pt-shr-md__p{transform:none}
  .pt-shr-md__f button{flex:1}
}

.pt-shr-crest{width:28px;height:28px;flex:none;background:#E4E2DB center/cover no-repeat;display:inline-flex;align-items:center;justify-content:center;font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:11px;font-weight:600;color:#1A1A1A}
.pt-shr-opt.is-off{color:#888780;cursor:default}
.pt-shr-opt.is-off .pt-shr-crest{opacity:.5}
.pt-shr-opt .pt-shr-ago{white-space:nowrap}
/* the card inside a tribe feed post */
.pt-shr-fcard{display:flex;gap:12px;align-items:center;margin:10px 14px;padding:10px;border:1px solid #E4E2DB;background:#FBFAF7;color:#1A1A1A;text-decoration:none;max-width:520px}
.pt-shr-fcard img,.pt-shr-fcard .pt-shr-ph{width:96px;height:72px;object-fit:cover;flex:none;display:block;background:#E4E2DB}
.pt-shr-fcard__t{min-width:0;display:flex;flex-direction:column;gap:2px}
.pt-shr-fcard__t em{font-style:normal;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#5C5A54}
.pt-shr-fcard__t b{font-size:15px;font-weight:600}
.pt-shr-fcard__t span{font-size:13px;color:#5C5A54}
.pt-shr-fcard:hover{border-color:#C9C7BF;color:#1A1A1A}

/* OVERRIDES — GeneratePress prints button:hover/:focus{#333;#fff} inline (CLAUDE.md 5a): every state declares background AND color. Hover dims, never recolours. */
body .pt-shr-btn:hover,body .pt-shr-btn:focus,body .pt-shr-btn:active{background:#F1EFE9;color:#1A1A1A}
body .pt-shr-btn[aria-expanded="true"]{background:#F1EFE9;color:#1A1A1A}
body .pt-shr-it:hover,body .pt-shr-it:focus,body .pt-shr-it:active{background:#F5F4F0;color:#1A1A1A}
body .pt-shr-it.is-done:hover,body .pt-shr-it.is-done:focus,body .pt-shr-it.is-done:active{background:#F5F4F0;color:#2E7D4F}
body .pt-shr-sq:hover,body .pt-shr-sq:focus,body .pt-shr-sq:active{background:#fff;color:#1A1A1A}
body .pt-shr-sq:hover i,body .pt-shr-sq:focus-visible i{background:#F5F4F0}
.pt-shr-btn:focus-visible,.pt-shr-it:focus-visible,.pt-shr-sq:focus-visible{outline:2px solid #1A1A1A;outline-offset:-2px}
body .pt-shr-x:hover,body .pt-shr-x:focus,body .pt-shr-x:active{background:#F5F4F0;color:#1A1A1A}
body .pt-shr-opt:hover,body .pt-shr-opt:focus,body .pt-shr-opt:active{background:#F5F4F0;color:#1A1A1A}
body .pt-shr-cta:hover,body .pt-shr-cta:focus,body .pt-shr-cta:active{background:#1f1f1f;color:#fff}
body .pt-shr-ghost:hover,body .pt-shr-ghost:focus,body .pt-shr-ghost:active{background:#F5F4F0;color:#1A1A1A}
.pt-shr-x:focus-visible,.pt-shr-opt:focus-visible,.pt-shr-cta:focus-visible,.pt-shr-ghost:focus-visible{outline:2px solid #1A1A1A;outline-offset:2px}
body .pt-shr-opt.is-off:hover,body .pt-shr-opt.is-off:focus,body .pt-shr-opt.is-off:active{background:#fff;color:#888780}
