/* Blue Collar Social Share */
.bcss-share{
  margin:1.25rem 0;
  --bcss-theme-color:currentColor;
  --bcss-icon-size:20px;
  --bcss-tooltip-delay:180ms;
}
.bcss-share__heading{font-weight:600;margin-bottom:.55rem}
.bcss-share__buttons{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.bcss-share--vertical .bcss-share__buttons{flex-direction:column;align-items:flex-start}
.bcss-share__button{
  appearance:none;border:1px solid currentColor;border-radius:.35rem;background:transparent;color:inherit;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font:inherit;font-size:.925rem;line-height:1.2;
  padding:.55rem .75rem;min-height:44px;text-decoration:none;position:relative;
  transition:filter .15s ease,transform .15s ease,background-color .15s ease,border-color .15s ease;
}
.bcss-share__button:hover{filter:brightness(.94)}
.bcss-share__button:active{transform:translateY(1px)}
.bcss-share__button:focus-visible{outline:3px solid currentColor;outline-offset:2px}
.bcss-share__icon{
  width:var(--bcss-icon-size);height:var(--bcss-icon-size);display:inline-flex;align-items:center;justify-content:center;
  flex:0 0 var(--bcss-icon-size);line-height:0;
}
.bcss-share__icon svg{
  width:100%;height:100%;display:block;fill:currentColor;overflow:visible;
  transform:translate(var(--bcss-icon-x,0),var(--bcss-icon-y,0)) scale(var(--bcss-icon-scale,1));
  transform-origin:50% 50%;
}
/* Optical compensation keeps visually different brand marks balanced at one nominal size. */
.bcss-share__icon--facebook{--bcss-icon-scale:1.06;--bcss-icon-y:.2px}
.bcss-share__icon--x{--bcss-icon-scale:.96}
.bcss-share__icon--linkedin{--bcss-icon-scale:.93}
.bcss-share__icon--bluesky{--bcss-icon-scale:.91}
.bcss-share__icon--threads{--bcss-icon-scale:.92}
.bcss-share__icon--reddit{--bcss-icon-scale:.88;--bcss-icon-y:.4px}
.bcss-share__icon--whatsapp{--bcss-icon-scale:.89}
.bcss-share__icon--email{--bcss-icon-scale:.91}
.bcss-share__icon--sms{--bcss-icon-scale:.91}
.bcss-share__icon--copy{--bcss-icon-scale:.89}
.bcss-share__icon--native{--bcss-icon-scale:.91}
.bcss-share__status{display:block;font-size:.85rem;margin-top:.45rem;min-height:1.1em}
.bcss-share.aligncenter .bcss-share__buttons{justify-content:center}
.bcss-share.alignright .bcss-share__buttons{justify-content:flex-end}

/* Icon size presets. Custom uses the inline --bcss-icon-size variable. */
.bcss-share--icon-small{--bcss-icon-size:16px}
.bcss-share--icon-medium{--bcss-icon-size:20px}
.bcss-share--icon-large{--bcss-icon-size:28px}

/* Platform colour tokens. Coloured styles intentionally use white icons/text. */
.bcss-share__button--facebook{--bcss-brand:#1877f2;--bcss-brand-fg:#fff}
.bcss-share__button--x{--bcss-brand:#000;--bcss-brand-fg:#fff}
.bcss-share__button--linkedin{--bcss-brand:#0a66c2;--bcss-brand-fg:#fff}
.bcss-share__button--bluesky{--bcss-brand:#1185fe;--bcss-brand-fg:#fff}
.bcss-share__button--threads{--bcss-brand:#000;--bcss-brand-fg:#fff}
.bcss-share__button--reddit{--bcss-brand:#ff4500;--bcss-brand-fg:#fff}
.bcss-share__button--whatsapp{--bcss-brand:#25d366;--bcss-brand-fg:#fff}
.bcss-share__button--email,.bcss-share__button--sms,.bcss-share__button--copy,.bcss-share__button--native{--bcss-brand:#4b5563;--bcss-brand-fg:#fff}

/* Branded Rectangle — classic icon + network-name style. */
.bcss-share--style-inline-branded .bcss-share__button{
  background:var(--bcss-brand,#4b5563);border-color:var(--bcss-brand,#4b5563);color:var(--bcss-brand-fg,#fff);border-radius:.28rem;padding:.62rem .85rem;
}
/* Circle Icons — compact icon-only style. */
.bcss-share--style-round .bcss-share__button{
  background:var(--bcss-brand,#4b5563);border-color:var(--bcss-brand,#4b5563);color:var(--bcss-brand-fg,#fff);
  width:max(44px,calc(var(--bcss-icon-size) + 20px));height:max(44px,calc(var(--bcss-icon-size) + 20px));padding:0;border-radius:999px;
}
/* Rounded Square — icon-only. */
.bcss-share--style-rounded .bcss-share__button{
  background:var(--bcss-brand,#4b5563);border-color:var(--bcss-brand,#4b5563);color:var(--bcss-brand-fg,#fff);
  width:max(44px,calc(var(--bcss-icon-size) + 20px));height:max(44px,calc(var(--bcss-icon-size) + 20px));padding:0;border-radius:.7rem;
}
/* Compact Oval — platform-colour pill. */
.bcss-share--style-pill .bcss-share__button{
  background:var(--bcss-brand,#4b5563);border-color:var(--bcss-brand,#4b5563);color:var(--bcss-brand-fg,#fff);border-radius:999px;padding:.56rem .82rem;
}
.bcss-share--style-round .bcss-share__label,
.bcss-share--style-rounded .bcss-share__label,
.bcss-share--style-minimal .bcss-share__label{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;
  clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}

/* Neutral styles use the site/theme's current text colour. */
.bcss-share--style-outline .bcss-share__button{background:transparent;color:inherit;border-color:currentColor}
.bcss-share--style-outline .bcss-share__button:hover{background:rgba(127,127,127,.1)}
.bcss-share--style-monochrome .bcss-share__button{background:var(--bcss-theme-color);border-color:var(--bcss-theme-color);color:#fff;border-radius:.45rem}
.bcss-share--style-minimal .bcss-share__button{background:transparent;border-color:transparent;color:inherit;padding:.45rem;min-width:max(44px,calc(var(--bcss-icon-size) + 16px))}
.bcss-share--style-minimal .bcss-share__button:hover{background:rgba(127,127,127,.1)}

/* Styled, accessible-by-label tooltips for icon-focused layouts. */
.bcss-share--tooltips .bcss-share__button::after{
  content:attr(data-tooltip);position:absolute;z-index:9999;left:50%;width:max-content;max-width:220px;
  background:#111827;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:6px;
  padding:.34rem .5rem;font-size:12px;font-weight:500;line-height:1.2;white-space:nowrap;pointer-events:none;
  opacity:0;visibility:hidden;transform:translateX(-50%) translateY(2px);transition:opacity .12s ease,transform .12s ease,visibility 0s linear .12s;
  transition-delay:0ms;filter:none;box-shadow:0 4px 14px rgba(0,0,0,.2);
}
.bcss-share--tooltip-top .bcss-share__button::after{bottom:calc(100% + 8px)}
.bcss-share--tooltip-bottom .bcss-share__button::after{top:calc(100% + 8px)}
.bcss-share--tooltips .bcss-share__button:hover::after,
.bcss-share--tooltips .bcss-share__button:focus-visible::after{
  opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);transition-delay:var(--bcss-tooltip-delay);transition-property:opacity,transform,visibility;
}

@media(max-width:600px){
  .bcss-share__buttons{gap:.4rem}
  .bcss-share__button{min-width:44px;min-height:44px}
}
@media(prefers-reduced-motion:reduce){
  .bcss-share__button,.bcss-share--tooltips .bcss-share__button::after{transition:none}
}

/* Media-aware share dialog (1.5.0). Other plugins can open this through
 * window.BlueCollarSocialShare.open({...}). */
body.bcss-media-modal-open{overflow:hidden}
.bcss-media-modal[hidden]{display:none!important}
.bcss-media-modal{position:fixed;inset:0;z-index:100120;display:flex;align-items:center;justify-content:center;padding:1rem}
.bcss-media-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62)}
.bcss-media-modal__dialog{
  position:relative;z-index:1;width:min(560px,100%);max-height:min(90vh,700px);overflow:auto;
  background:var(--global-palette9,#fff);color:var(--global-palette3,#1f2937);
  border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.28);padding:1.35rem
}
.bcss-media-modal__close{
  position:absolute!important;right:.7rem!important;top:.55rem!important;
  width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;
  padding:0!important;margin:0!important;border:0!important;box-sizing:border-box!important;
  display:grid!important;place-items:center!important;aspect-ratio:1/1!important;
  background:transparent!important;color:inherit!important;font-size:1.65rem!important;line-height:1!important;
  cursor:pointer;border-radius:50%!important;box-shadow:none!important;transform:none!important
}
.bcss-media-modal__close:hover,.bcss-media-modal__close:focus,.bcss-media-modal__close:active{
  width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;
  padding:0!important;border-radius:50%!important;background:rgba(0,0,0,.07)!important;color:inherit!important;
  box-shadow:none!important;transform:none!important
}
.bcss-media-modal__close:focus-visible{outline:3px solid currentColor;outline-offset:2px}
.bcss-media-modal__eyebrow{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.62;margin:0 2.7rem .2rem 0}
.bcss-media-modal__dialog h2{margin:.1rem 2.7rem .4rem 0;font-size:1.55rem;line-height:1.15;color:inherit}
.bcss-media-modal__intro{margin:.25rem 0 1rem;line-height:1.45}
.bcss-media-modal__actions{margin-top:1rem}
.bcss-media-primary{
  appearance:none;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  border:1px solid var(--global-palette-btn-bg,var(--global-palette2,#ff6a13));
  background:var(--global-palette-btn-bg,var(--global-palette2,#ff6a13));
  color:var(--global-palette-btn,var(--global-palette8,#fff));
  border-radius:8px;padding:.72rem 1rem;font:inherit;font-weight:700;line-height:1.2;cursor:pointer;
  transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .15s ease
}
.bcss-media-primary:hover,.bcss-media-primary:focus,.bcss-media-primary:active{
  background:var(--global-palette-btn-bg-hover,var(--global-palette1,#d7590f));
  color:var(--global-palette-btn-hover,var(--global-palette9,#fff));
  border-color:var(--global-palette-btn-bg-hover,var(--global-palette1,#d7590f));
}
.bcss-media-primary:active{transform:translateY(1px)}
.bcss-media-primary:focus-visible{outline:3px solid currentColor;outline-offset:2px}
.bcss-media-primary:disabled{opacity:.55;cursor:wait;transform:none}
.bcss-media-primary__icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;line-height:0}
.bcss-media-primary__icon svg{width:100%;height:100%;display:block;fill:currentColor}

.bcss-media-modal__fallback{margin-top:.9rem}
.bcss-media-modal__fallback[hidden]{display:none!important}
.bcss-media-modal__fallback .bcss-share{margin:0}
.bcss-media-modal__fallback .bcss-share__heading{display:none}
.bcss-media-modal__fallback .bcss-share__status{margin-bottom:0}
.bcss-media-modal__note{font-size:.88rem;line-height:1.45;opacity:.76;margin:1rem 0 .4rem}
.bcss-media-modal__status{min-height:1.3em;font-size:.9rem;font-weight:600;margin:.55rem 0 0}
.bcss-media-modal__status[data-tone="success"]{opacity:.9}
.bcss-media-modal__status[data-tone="error"]{font-weight:700}
@media(max-width:560px){
  .bcss-media-modal{align-items:flex-end;padding:.6rem}
  .bcss-media-modal__dialog{width:100%;max-height:92vh;border-radius:16px 16px 10px 10px;padding:1.05rem}
}
