#llos-selector{--llos-accent:#00887a;--llos-dark:#00695f;--llos-soft:#f0faf8;--llos-border:#cfe4e0;margin:18px 0 20px;padding:18px;border:1px solid var(--llos-border);border-radius:12px;background:#fff;box-shadow:0 5px 16px rgba(0,0,0,.045)}
#llos-selector.llos-brand-resale{--llos-accent:#0068a5;--llos-dark:#005785;--llos-soft:#eef7fc;--llos-border:#cfe0ea}
#llos-selector.llos-brand-retro{--llos-accent:#5b25b9;--llos-dark:#351078;--llos-soft:#f3effc;--llos-border:#ded4f3}
#llos-selector .llos-title{margin:0 0 5px;color:var(--llos-dark);font-size:22px;font-weight:700}
#llos-selector .llos-intro{margin:0 0 15px;color:#53615e;font-size:13px;line-height:1.45}
#llos-selector .llos-grid{display:flex;flex-wrap:wrap;margin:0 -6px}
#llos-selector .llos-card-wrap{width:33.333%;padding:6px;box-sizing:border-box}
#llos-selector .llos-card{height:100%;min-height:135px;padding:13px;border:2px solid #dce5e3;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;box-sizing:border-box}
#llos-selector .llos-card:hover{border-color:var(--llos-accent);transform:translateY(-1px)}
#llos-selector .llos-card.is-selected{border-color:var(--llos-accent);box-shadow:0 0 0 3px rgba(0,136,122,.10)}
#llos-selector.llos-brand-resale .llos-card.is-selected{box-shadow:0 0 0 3px rgba(0,104,165,.10)}
#llos-selector.llos-brand-retro .llos-card.is-selected{box-shadow:0 0 0 3px rgba(91,37,185,.10)}
#llos-selector .llos-family{display:flex;align-items:center;gap:7px;color:#263633;font-size:15px;font-weight:700}
#llos-selector .llos-dot{width:13px;height:13px;flex:0 0 13px;border:2px solid var(--llos-accent);border-radius:50%;box-sizing:border-box;background:#fff}
#llos-selector .is-selected .llos-dot{background:var(--llos-accent);box-shadow:inset 0 0 0 2px #fff}
#llos-selector .llos-desc{min-height:38px;margin:7px 0 9px;color:#66716f;font-size:12px;line-height:1.4}
#llos-selector .llos-variant{width:100%;height:36px;border:1px solid #cbdad7;border-radius:6px;background:#fff;padding:5px 8px;color:#2d3937}
#llos-selector .llos-picked{margin-top:13px;padding:10px 12px;border-radius:7px;background:var(--llos-soft);color:var(--llos-dark);font-size:13px;font-weight:700}
#llos-selector.llos-compact{padding:14px}
#llos-selector.llos-compact .llos-card-wrap{width:50%}
#llos-selector.llos-compact .llos-card{min-height:150px;padding:11px}
#llos-selector.llos-compact .llos-title{font-size:20px}
#llos-launcher{margin:16px 0;padding:14px;border:1px solid #cfe4e0;border-radius:10px;background:#fff}
#llos-launcher .llos-launch-title{font-size:16px;font-weight:700;margin-bottom:5px}
#llos-launcher .llos-launch-summary{font-size:12px;color:#66716f;margin-bottom:9px}
#llos-launcher .btn{font-weight:700}
#llos-modal .modal-dialog{width:900px;max-width:94%}
#llos-modal .modal-content{border-radius:12px;overflow:hidden}
#llos-modal .modal-header{background:#f7faf9}
#llos-modal .modal-title{font-weight:700}
#llos-modal .modal-body #llos-selector{margin:0;box-shadow:none;border:0;padding:4px}
#llos-modal .modal-footer .llos-modal-selected{float:left;text-align:left;padding-top:7px;font-weight:600;color:#40504c}
@media(max-width:991px){ #llos-selector .llos-card-wrap{width:50%} }
@media(max-width:767px){ #llos-selector .llos-card-wrap,#llos-selector.llos-compact .llos-card-wrap{width:50%} #llos-modal .modal-dialog{width:auto;margin:10px} }
@media(max-width:480px){ #llos-selector .llos-card-wrap,#llos-selector.llos-compact .llos-card-wrap{width:100%} }

#llos-modal .modal-content{box-shadow:0 22px 58px rgba(0,0,0,.58)}

/* Stable popup overlay, independent of Bootstrap/theme backdrop animation */
#llos-dark-overlay{
  position:fixed;
  top:0;
  right:0;
  bottom:0;
  left:0;
  z-index:1040;
  display:none;
  background:#000;
  opacity:.80;
}
#llos-dark-overlay.in{display:block;}
body.llos-modal-open .modal-backdrop{display:none !important;}
#llos-modal{z-index:1050;}
#llos-modal .modal-dialog{position:relative;z-index:1051;}
#llos-modal .modal-content{box-shadow:0 24px 64px rgba(0,0,0,.62) !important;}

/* v1.1.6 visual polish */
#llos-selector{
  background:linear-gradient(180deg,#ffffff 0%,#fbfdfc 100%);
}
#llos-selector .llos-card{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#fff 0%,#fcfdfd 100%);
}
#llos-selector .llos-card:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:4px;
  height:100%;
  background:transparent;
  transition:background .15s ease;
}
#llos-selector .llos-card.is-selected{
  background:var(--llos-soft);
  border-color:var(--llos-accent);
  transform:translateY(-1px);
}
#llos-selector .llos-card.is-selected:before{
  background:var(--llos-accent);
}
#llos-selector .llos-card:not(.is-selected){
  opacity:.78;
}
#llos-selector .llos-card:not(.is-selected):hover{
  opacity:1;
}
#llos-selector .llos-card.is-selected .llos-family{
  color:var(--llos-dark);
}
#llos-selector .llos-select-badge{
  display:none;
  position:absolute;
  top:9px;
  right:9px;
  padding:3px 7px;
  border-radius:999px;
  background:var(--llos-accent);
  color:#fff;
  font-size:10px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.35px;
  text-transform:uppercase;
}
#llos-selector .llos-card.is-selected .llos-select-badge{
  display:inline-block;
}
#llos-selector .llos-family{
  padding-right:55px;
}
#llos-selector .llos-desc{
  min-height:52px;
  transition:color .15s ease;
}
#llos-selector .llos-card.is-selected .llos-desc{
  color:#40504c;
}
#llos-selector .llos-variant{
  transition:border-color .15s ease, box-shadow .15s ease;
}
#llos-selector .llos-card.is-selected .llos-variant{
  border-color:var(--llos-accent);
  box-shadow:0 0 0 2px rgba(0,136,122,.07);
}
#llos-selector.llos-brand-resale .llos-card.is-selected .llos-variant{
  box-shadow:0 0 0 2px rgba(0,104,165,.07);
}
#llos-selector.llos-brand-retro .llos-card.is-selected .llos-variant{
  box-shadow:0 0 0 2px rgba(91,37,185,.07);
}
#llos-selector .llos-variant-detail{
  margin-top:8px;
  padding:8px 9px;
  border-radius:6px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(0,0,0,.05);
  color:#596663;
  font-size:11px;
  line-height:1.35;
}
#llos-selector .llos-card.is-selected .llos-variant-detail{
  color:#33413e;
}
#llos-selector .llos-picked{
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--llos-border);
  font-size:14px;
}
#llos-selector .llos-picked:before{
  content:"✓";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:21px;
  height:21px;
  border-radius:50%;
  background:var(--llos-accent);
  color:#fff;
  font-weight:700;
  flex:0 0 21px;
}
#llos-launcher{
  background:linear-gradient(180deg,#fff 0%,#fbfdfc 100%);
  box-shadow:0 4px 14px rgba(0,0,0,.04);
}
#llos-launcher .llos-launch-summary{
  padding:7px 9px;
  border-radius:6px;
  background:#f6f8f8;
  border:1px solid #e3e9e8;
  color:#34423f;
  font-weight:600;
}
#llos-modal .modal-header{
  border-bottom:1px solid #dde7e4;
}
#llos-modal .modal-footer{
  border-top:1px solid #dde7e4;
}

/* v1.1.7 distro colour identities */
#llos-selector .llos-card.llos-distro-mint{
  --distro:#4caf50;
  --distro-soft:#eef8ef;
  --distro-dark:#2e7d32;
}
#llos-selector .llos-card.llos-distro-ubuntu{
  --distro:#e95420;
  --distro-soft:#fff1eb;
  --distro-dark:#a83a13;
}
#llos-selector .llos-card.llos-distro-debian{
  --distro:#d70751;
  --distro-soft:#fdeaf1;
  --distro-dark:#9b0038;
}
#llos-selector .llos-card.llos-distro-fedora{
  --distro:#294172;
  --distro-soft:#eef2f8;
  --distro-dark:#1d2f54;
}
#llos-selector .llos-card.llos-distro-popos{
  --distro:#48b9c7;
  --distro-soft:#eaf9fb;
  --distro-dark:#217f89;
}
#llos-selector .llos-card.llos-distro-zorin{
  --distro:#3fa9f5;
  --distro-soft:#eef8ff;
  --distro-dark:#1f78b7;
}
#llos-selector .llos-card[class*="llos-distro-"] .llos-dot{
  border-color:var(--distro);
}
#llos-selector .llos-card[class*="llos-distro-"]:hover{
  border-color:var(--distro);
}
#llos-selector .llos-card[class*="llos-distro-"].is-selected{
  border-color:var(--distro);
  background:var(--distro-soft);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--distro) 12%,transparent);
}
#llos-selector .llos-card[class*="llos-distro-"].is-selected:before{
  background:var(--distro);
}
#llos-selector .llos-card[class*="llos-distro-"].is-selected .llos-dot{
  background:var(--distro);
  border-color:var(--distro);
}
#llos-selector .llos-card[class*="llos-distro-"].is-selected .llos-family{
  color:var(--distro-dark);
}
#llos-selector .llos-card[class*="llos-distro-"] .llos-select-badge{
  background:var(--distro);
}
#llos-selector .llos-card[class*="llos-distro-"].is-selected .llos-variant{
  border-color:var(--distro);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--distro) 8%,transparent);
}
