

/* Font role variables */
.unity-compatibility-widget{
  container-type: inline-size;
  container-name: unity-compat;
  --font-display: 'Refinery-75SemiBold', 'Barlow Condensed', sans-serif;
  --font-bold:    'Refinery-35Bold', 'Barlow Condensed', sans-serif;
  --font-medium:  'Refinery-35Medium', 'Barlow Condensed', sans-serif;
  --font-regular: 'Refinery-35Regular', 'Barlow Condensed', sans-serif;
  --font-light:   'Refinery-35Light', 'Barlow Condensed', sans-serif;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
.unity-compatibility-widget{
  --bg:#1F1F1F;
  --panel:#181818;
  --drawer:#222222;
  --stroke:#616260;
  --muted:#ABAAA9;
  --orange:#FF4F00;
  --orange-hover:#e64700;
  --green-bg:#697665;--green-stroke:#383F36;
  --red-bg:#885053;--red-stroke:#4D2D2F;
  --tan-bg:#987854;--tan-stroke:#675139;
  --side-w:56px;
  --drawer-w:220px;
  --transition:.32s cubic-bezier(.4,0,.2,1);
}

.unity-compatibility-widget{font-family:var(--font-regular);color:#fff;line-height:1;}

/* ── OUTER WRAPPER ── */
.unity-compatibility-widget .bc-outer{
  background:var(--bg);
  width:100%;
  min-height:520px;
  display:flex;
  position:relative;
  overflow:hidden;
}

/* Mobile fullscreen takeover close button — hidden unless active.
   Uses #id (not .unity-compatibility-widget-scoped) since this button gets
   moved to a direct child of <body> when the takeover opens, so it can't
   rely on being inside the widget's own DOM subtree. !important on the key
   visuals guards against the theme's own generic button styling (Salient
   applies !important border-radius/box-shadow rules to every <button>). */
#uc-fullscreen-close{
  display:none !important;
  position:fixed !important;
  top:16px !important;right:16px !important;
  width:40px !important;height:40px !important;
  align-items:center;justify-content:center;
  background:rgba(0,0,0,0.6) !important;
  border:1px solid rgba(255,255,255,0.25) !important;
  border-radius:50% !important;
  color:#fff !important;
  cursor:pointer;
  z-index:2147483647 !important;
  padding:0 !important;
  box-shadow:none !important;
}
#uc-fullscreen-close svg{width:16px;height:16px;display:block;}
body.uc-fullscreen-lock #uc-fullscreen-close{display:flex !important;}

/* Locks background page scroll while the mobile takeover is open */
html.uc-fullscreen-lock,body.uc-fullscreen-lock{overflow:hidden;height:100%;}

/* ── LEFT SIDE PANEL ── */
.unity-compatibility-widget .bc-side{
  display:flex;
  flex-shrink:0;
  position:relative;
  z-index:30;
}

/* HEIGHT column — always visible */
.unity-compatibility-widget .bc-side-col-height{
  width:var(--side-w);
  background:var(--panel);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
  padding:20px 0;
}

.unity-compatibility-widget .bc-side-label{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  font-family:var(--font-bold);
  font-size:clamp(14px,1.6cqw,20px);
  font-weight:700;
  letter-spacing:.4em;text-transform:uppercase;
  color:#fff;
  cursor:pointer;
  user-select:none;
  transition:color .2s;
  flex:1;
  display:flex;align-items:center;justify-content:center;
}
.bc-side-label:hover{color:var(--muted);}

.unity-compatibility-widget .bc-side-bottom{
  display:flex;flex-direction:column;align-items:center;gap:14px;
}
.unity-compatibility-widget .bc-icon-btn{
  background:none;border:none;cursor:pointer;
  color:var(--stroke);padding:4px;
  display:flex;align-items:center;justify-content:center;
  transition:color .2s;
}
.bc-icon-btn:hover{color:#fff;}
.bc-icon-btn svg{width:18px;height:18px;display:block;}

/* ACTIVE HEIGHT column — slides in next to HEIGHT column */
.unity-compatibility-widget .bc-side-col-active{
  width:0;
  overflow:hidden;
  background:#3a3a3a;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
  padding:20px 0;
  transition:width var(--transition);
}
.bc-side-col-active.visible{width:var(--side-w);}

.unity-compatibility-widget .bc-active-height-label{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  font-family:var(--font-bold);
  font-size:clamp(14px,1.6cqw,20px);
  font-weight:700;
  letter-spacing:.25em;
  color:#fff;
  flex:1;
  display:flex;align-items:center;justify-content:center;
  white-space:nowrap;
}

/* ── DRAWER ── */
.unity-compatibility-widget .bc-drawer{
  width:0;
  overflow:hidden;
  background:var(--drawer);
  flex-shrink:0;
  display:flex;
  flex-direction:column;
  z-index:20;
  transition:width var(--transition);
  border-right:1px solid rgba(255,255,255,0.06);
}
.bc-drawer.open{width:var(--drawer-w);}

.unity-compatibility-widget .bc-drawer-inner{
  width:var(--drawer-w);
  padding:20px 0 16px;
  display:flex;flex-direction:column;
  height:100%;
}
.unity-compatibility-widget .bc-drawer-title{
  font-family:var(--font-regular);
  font-size:12px;font-weight:400;
  letter-spacing:.3em;text-transform:uppercase;
  color:var(--muted);
  padding:0 18px 16px;
  border-bottom:1px solid rgba(255,255,255,0.07);
  margin-bottom:12px;
}

/* height tabs inside drawer */
.unity-compatibility-widget .bc-height-tabs{
  flex:1;
  display:flex;flex-direction:column;
  gap:2px;
  padding:0 8px;
}
.unity-compatibility-widget .bc-height-tab{
  padding:14px 12px;
  cursor:pointer;
  border-left:3px solid transparent;
  transition:background .15s,border-color .15s;
}
.bc-height-tab:hover{background:rgba(255,255,255,0.05);}
.unity-compatibility-widget .bc-height-tab.selected{
  border-left-color:var(--orange);
  background:rgba(255,79,0,0.08);
}
.unity-compatibility-widget .bc-height-tab-num{
  font-family:var(--font-bold);
  font-size:20px;font-weight:700;
  letter-spacing:.06em;
  color:#fff;line-height:1;
}
.bc-height-tab.selected .bc-height-tab-num{color:var(--orange);}
.unity-compatibility-widget .bc-height-tab-lbl{
  font-size:9px;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;
  color:var(--stroke);margin-top:3px;
}

.unity-compatibility-widget .bc-drawer-close{
  display:flex;align-items:center;gap:8px;
  padding:12px 18px 0;
  margin-top:auto;
  cursor:pointer;
  color:var(--stroke);
  font-family:var(--font-regular);
  font-size:10px;font-weight:400;
  letter-spacing:.2em;text-transform:uppercase;
  transition:color .2s;
  border-top:1px solid rgba(255,255,255,0.07);
  padding-top:12px;
}
.bc-drawer-close:hover{color:#fff;}
.bc-drawer-close svg{width:14px;height:14px;}

/* ── MAIN CONTENT ── */
.unity-compatibility-widget .bc-main{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  position:relative;
}

/* ── STATE 1: no height selected ── */
.unity-compatibility-widget .bc-state-default{
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:32px;
  padding:40px;
}
.bc-state-default.hidden{display:none;}

.unity-compatibility-widget .bc-main-title{
  font-family:var(--font-display);
  font-size:clamp(28px,4cqw,52px);
  font-weight:700;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:#fff;
  text-align:center;
}

.unity-compatibility-widget .bc-select-prompt{
  display:flex;align-items:center;gap:10px;
  font-family:var(--font-regular);
  font-size:17px;font-weight:400;
  letter-spacing:.25em;text-transform:uppercase;
  color:var(--muted);
}
.bc-select-prompt svg{width:14px;height:14px;opacity:.5;}

/* ── STATE 3: height selected, widget visible ── */
.unity-compatibility-widget .bc-state-widget{
  flex:1;
  padding:40px 40px 40px;
  display:none;
  flex-direction:column;
  justify-content:center;
}
.bc-state-widget.visible{display:flex;}

/* HEADER inside widget */
.unity-compatibility-widget .bc-header{
  display:flex;align-items:center;gap:clamp(8px,4cqw,36px);
  margin-bottom:32px;
}
.unity-compatibility-widget .bc-orn-bracket{
  height:clamp(22px,4.5cqw,52px);width:auto;
  display:block;flex-shrink:0;
  color:var(--stroke);
}
.unity-compatibility-widget .bc-dash{
  flex:1;height:2px;min-width:0;
  background:repeating-linear-gradient(
    to right,var(--stroke) 0,var(--stroke) 18px,transparent 18px,transparent 32px
  );
}
.unity-compatibility-widget .bc-title{
  font-family:var(--font-display);
  font-size:clamp(13px,2.6cqw,32px);
  font-weight:700;letter-spacing:clamp(.08em,1.4cqw,.22em);
  text-transform:uppercase;color:#fff;
  white-space:nowrap;flex-shrink:0;
}

/* GRID */
.unity-compatibility-widget .bc-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-areas:"mag opt" "magbtn optbtn";
  gap:14px;margin-bottom:14px;
}
.bc-area-mag    {grid-area:mag;}
.bc-area-opt    {grid-area:opt;}
.bc-area-magbtn {grid-area:magbtn;}
.bc-area-optbtn {grid-area:optbtn;}
.bc-area-magbtn,.bc-area-optbtn{overflow:hidden;max-height:0;transition:max-height .25s ease;}
.shop-visible .bc-area-magbtn,
.shop-visible .bc-area-optbtn{max-height:70px;}

/* DROPDOWNS */
.bc-sel-wrap{position:relative;width:100%;}
.unity-compatibility-widget select{
  width:100%;height:90px;
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  background:var(--bg) !important;color:#ABAAA9 !important;
  border:1.5px solid var(--stroke) !important;
  padding:0 50px 0 24px;
  font-family:var(--font-medium);
  font-size:17px;font-weight:500;
  letter-spacing:.22em;text-transform:uppercase;
  cursor:pointer;outline:none;
  transition:border-color .15s,color .15s;
  text-align:center;text-align-last:center;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  box-shadow:none !important;
}
.unity-compatibility-widget select:hover{border-color:#888 !important;color:#888 !important;}
.unity-compatibility-widget select:focus{border-color:#888 !important;color:var(--muted) !important;outline:none;}
.unity-compatibility-widget select option,.unity-compatibility-widget select optgroup{
  background:#1a1a1a !important;color:#fff !important;
  font-size:17px;font-weight:400;
  letter-spacing:.02em;text-transform:none;text-align:left;
}
.unity-compatibility-widget .bc-chevron{
  position:absolute;right:18px;top:50%;
  transform:translateY(-50%);pointer-events:none;
}

/* SHOP NOW */
.unity-compatibility-widget .bc-shop-btn{
  display:flex;align-items:center;justify-content:space-between;
  width:100%;height:55px;
  background:var(--orange);color:#fff;
  text-decoration:none;padding:0 18px;
  font-family:var(--font-bold);
  font-size:17px;font-weight:700;
  letter-spacing:.28em;text-transform:uppercase;
  transition:background .15s;border:none;cursor:pointer;
}
.bc-shop-btn:hover{background:var(--orange-hover);}
.btn-text{flex:1;text-align:center;padding-left:40px;}
.bc-shop-btn-row{display:flex;gap:10px;width:100%;}
.bc-shop-btn-row .bc-shop-btn{flex:1;width:auto;}
.bc-shop-btn-split .btn-text{padding-left:0;font-size:17px;letter-spacing:.16em;}
.bc-shop-btn-split .btn-icon{width:30px;height:30px;}
.unity-compatibility-widget .btn-icon{
  width:36px;height:36px;
  border:2px solid rgba(255,255,255,0.75);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.btn-icon svg{width:13px;height:13px;display:block;}

/* RESULT BANNER */
.unity-compatibility-widget .bc-result{
  position:relative;width:100%;min-height:90px;
  overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  padding:12px 16px;
  background:#2a2a2a;transition:background-color .2s;
}
.bc-result.yes     {background-color:var(--green-bg);border:1.5px solid var(--green-stroke);}
.bc-result.no      {background-color:var(--red-bg);border:1.5px solid var(--red-stroke);}
.bc-result.marginal{background-color:var(--tan-bg);border:1.5px solid var(--tan-stroke);}

.unity-compatibility-widget .topo-yes,.unity-compatibility-widget .topo-no,.unity-compatibility-widget .topo-marginal{
  display:none;position:absolute;
  top:0;left:0;right:0;bottom:0;
  width:100%;height:100%;pointer-events:none;overflow:visible;z-index:0;
}
.unity-compatibility-widget .topo-yes svg,.unity-compatibility-widget .topo-no svg,.unity-compatibility-widget .topo-marginal svg{
  position:absolute;top:0;left:0;width:100%;height:100%;display:block;
}
.bc-result.yes      .topo-yes     {display:block;}
.bc-result.no       .topo-no      {display:block;}
.bc-result.marginal .topo-marginal{display:block;}

/* Responsive topo density: denser tiles as viewport grows */
.topoYes-rect{fill:url(#topoYesPatternSm);}
.topoNo-rect{fill:url(#topoNoPatternSm);}
.topoMarginal-rect{fill:url(#topoMarginalPatternSm);}
@media (min-width:768px){
  .topoYes-rect{fill:url(#topoYesPatternMd);}
  .topoNo-rect{fill:url(#topoNoPatternMd);}
  .topoMarginal-rect{fill:url(#topoMarginalPatternMd);}
}
@media (min-width:1200px){
  .topoYes-rect{fill:url(#topoYesPatternLg);}
  .topoNo-rect{fill:url(#topoNoPatternLg);}
  .topoMarginal-rect{fill:url(#topoMarginalPatternLg);}
}

.unity-compatibility-widget .bc-result-default{
  position:relative;z-index:2;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:0;
  max-width:100%;
}
.unity-compatibility-widget .def-main{
  font-family:var(--font-bold);
  font-size:clamp(12px,3.4cqw,16px);font-weight:700;line-height:1.3;
  letter-spacing:clamp(.08em,2cqw,.3em);text-transform:uppercase;color:var(--muted);
  padding-bottom:10px;
}
.unity-compatibility-widget .def-sub{
  font-family:var(--font-light);
  font-size:clamp(10px,2.8cqw,14px);font-weight:300;line-height:1.3;
  letter-spacing:clamp(.04em,1.2cqw,.18em);text-transform:uppercase;color:var(--muted);
}
.unity-compatibility-widget .bc-result-label{
  position:relative;z-index:2;
  font-family:var(--font-display);
  font-size:30px;font-weight:600;line-height:1;
  letter-spacing:.45em;text-transform:uppercase;
  color:#fff;display:none;
}
.bc-result.yes .bc-result-default,
.bc-result.no .bc-result-default,
.bc-result.marginal .bc-result-default,
.bc-result.consult .bc-result-default{display:none;}
.bc-result.yes .bc-result-label,
.bc-result.no .bc-result-label,
.bc-result.marginal .bc-result-label,
.bc-result.consult .bc-result-label{display:block;}

.unity-compatibility-widget .bc-subtitle{
  font-family:var(--font-light);
  font-size:17px;font-weight:300;line-height:1;letter-spacing:.15em;text-transform:uppercase;
  color:var(--muted);text-align:center;margin-top:10px;min-height:14px;
  padding:10px 12px 0;
}

/* ── MOBILE ── */
@media(max-width:640px){
  .unity-compatibility-widget .bc-outer{flex-direction:column;min-height:auto;}

  /* Fullscreen takeover: covers the entire screen once active, regardless
     of where the widget sits in the page's layout/padding. */
  .unity-compatibility-widget.uc-fullscreen{
    position:fixed;
    top:0;left:0;right:0;bottom:0;
    width:100%;height:100%;height:100dvh;
    z-index:2147483000;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .unity-compatibility-widget.uc-fullscreen .bc-outer{
    min-height:100%;
    padding-bottom:env(safe-area-inset-bottom, 0px);
  }
  .unity-compatibility-widget.uc-fullscreen .bc-main{
    padding-bottom:100px;
  }

  /* Drawer becomes a full-width dropdown — center its text instead of
     left-aligning like the narrow desktop side panel does. */
  .unity-compatibility-widget .bc-drawer-title{text-align:center;font-size:18px;padding-top:20px;padding-bottom:30px;}
  .unity-compatibility-widget .bc-drawer-close{justify-content:center;font-size:22px;padding-top:30px;padding-bottom:10px;}

  /* Side panel becomes a horizontal top bar */
  .unity-compatibility-widget .bc-side{
    width:100%;
    flex-direction:column;
    position:relative;
  }

  /* HEIGHT row — full width, horizontal */
  .unity-compatibility-widget .bc-side-col-height{
    width:100%;height:52px;
    flex-direction:row;
    padding:0 16px;
    border-bottom:1px solid rgba(255,255,255,0.08);
    padding-top:40px;padding-bottom:40px;
  }
  .unity-compatibility-widget .bc-side-label{
    writing-mode:horizontal-tb;
    transform:none;
    font-size:22px;
    flex:1;text-align:center;
    justify-content:center;
    padding-top:40px;padding-bottom:40px;
  }
  /* hamburger goes left in mobile */
  .unity-compatibility-widget .bc-side-col-height .bc-side-bottom{
    position:static;
    transform:none;
    order:-1;
  }

  /* Active height row — full width, below HEIGHT row */
  .unity-compatibility-widget .bc-side-col-active{
    width:100% !important;
    max-height:0;
    overflow:hidden;
    transition:max-height var(--transition);
    flex-direction:row;
    padding:0 16px;
    height:auto;
    visibility:hidden;
  }
  .unity-compatibility-widget .bc-side-col-active.visible{
    max-height:52px;
    height:52px;
    border-bottom:1px solid rgba(255,255,255,0.08);
    visibility:visible;
    padding-top:40px;padding-bottom:40px;
  }
  .unity-compatibility-widget .bc-active-height-label{
    writing-mode:horizontal-tb;
    transform:none;
    font-size:22px;
    flex:1;text-align:center;
  }
  /* X goes left in mobile active row */
  .unity-compatibility-widget .bc-side-col-active .bc-side-bottom{
    position:static;
    transform:none;
    flex-direction:row;
  }

  /* Drawer full width below bars */
  .unity-compatibility-widget .bc-drawer{width:100%;max-height:0;overflow:hidden;transition:max-height var(--transition);}
  .unity-compatibility-widget .bc-drawer.open{width:100%;max-height:300px;}
  .unity-compatibility-widget .bc-drawer-inner{width:100%;padding:16px;}
  .unity-compatibility-widget .bc-height-tabs{flex-direction:row;gap:8px;padding:0;}
  .unity-compatibility-widget .bc-height-tab{border-left:none;border-bottom:3px solid transparent;flex:1;text-align:center;}
  .unity-compatibility-widget .bc-height-tab.selected{border-left-color:transparent;border-bottom-color:var(--orange);}
  .unity-compatibility-widget .bc-height-tab-num{font-size:22px;padding-top:10px;padding-bottom:20px;}

  .unity-compatibility-widget .bc-state-widget{padding:60px 16px 60px;}
  .unity-compatibility-widget .bc-grid{
    grid-template-columns:1fr;
    grid-template-areas:"mag" "magbtn" "opt" "optbtn";
    gap:20px;margin-bottom:12px;
  }
  .unity-compatibility-widget select{height:72px;font-size:17px;}
  .unity-compatibility-widget .bc-shop-btn{height:50px;font-size:16px;}
  .unity-compatibility-widget .bc-shop-btn-split .btn-text{font-size:clamp(10px,3cqw,13px);letter-spacing:.04em;white-space:nowrap;}
  .unity-compatibility-widget .bc-shop-btn-split .btn-icon{width:24px;height:24px;}
  .unity-compatibility-widget .bc-result{min-height:80px;}
  .unity-compatibility-widget .bc-result-label{font-size:24px;}
  .unity-compatibility-widget .bc-select-prompt .prompt-arrow{transform:rotate(90deg);}
  .unity-compatibility-widget .bc-state-default{padding:100px 100px;}
  .unity-compatibility-widget .bc-title{font-size:18px;}
  .unity-compatibility-widget .bc-main-title{font-size:clamp(22px,7cqw,32px);line-height:40px;}
  .unity-compatibility-widget .bc-header{margin-bottom:60px;}
  .unity-compatibility-widget .bc-subtitle{font-size:15px;line-height:22px;}
  .unity-compatibility-widget .bc-icon-btn svg{width:30px;height:30px;}
  .unity-compatibility-widget .bc-select-prompt{font-size:12px;}
}
