.sws-map-tool{--lime:#bce243;--ink:#111;--text:#191919;--muted:#686b65;--border:#e4e6de;--soft:#f7f8f3;--good:#2f9650;--warn:#c99420;--bad:#d85b4e;font-family:inherit;color:var(--text);background:#f6f7f1;border:1px solid var(--border);border-radius:26px;padding:clamp(24px,4vw,54px);max-width:1160px;margin:24px auto;box-sizing:border-box}.sws-map-tool *{box-sizing:border-box}.sws-map-tool__head{max-width:820px}.sws-map-eyebrow,.sws-map-result-eyebrow{display:inline-flex;background:var(--lime);color:#111;border-radius:999px;padding:8px 13px;font-size:11px;font-weight:800;letter-spacing:.1em}.sws-map-tool h2{font-size:clamp(35px,4.4vw,58px);line-height:1.06;letter-spacing:-.05em;margin:20px 0 13px;font-weight:850}.sws-map-tool p{color:var(--muted);line-height:1.65}.sws-map-form{margin-top:28px}.sws-map-form label{display:block;font-size:14px;font-weight:750;margin-bottom:8px;color:#000}.sws-map-form__row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:13px!important;align-items:stretch!important}.sws-map-form__row input{width:100%!important;min-width:0!important;margin:0!important;background:#fff!important;border:1px solid #cacdc5!important;border-radius:12px!important;padding:17px 19px!important;font-size:16px!important;color:#111!important;box-shadow:none!important}.sws-map-form__row input:focus{outline:none!important;border-color:#96c036!important;box-shadow:0 0 0 3px rgba(150,192,54,.2)!important}.sws-map-tool button{background:#111!important;color:#fff!important;border:2px solid #111!important;border-radius:12px!important;padding:15px 26px!important;font-weight:800!important;font-size:14px!important;text-transform:uppercase!important;letter-spacing:.06em!important;cursor:pointer!important;box-shadow:0 6px 16px rgba(0,0,0,.1)!important;transition:.25s ease!important}.sws-map-tool button:hover{background:var(--lime)!important;border-color:var(--lime)!important;transform:translateY(-2px)!important}.sws-map-tool button:disabled{opacity:.6;cursor:wait!important;transform:none!important}.sws-map-form__row button{min-width:225px!important;margin:0!important}.sws-map-form__meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}.sws-map-form__meta span{background:#eef0e8;border-radius:999px;padding:6px 9px;color:#676b62;font-size:11px;font-weight:700}.sws-map-progress{margin-top:26px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:20px}.sws-map-progress__top{display:flex;justify-content:space-between;gap:20px;align-items:center}.sws-map-progress__top strong{display:block;font-size:17px}.sws-map-progress__top span{display:block;color:var(--muted);font-size:13px;margin-top:4px}.sws-map-progress__top b{font-size:22px}.sws-map-progress__track{height:12px;background:#ecefe6;border-radius:999px;overflow:hidden;margin-top:15px}.sws-map-progress__track span{display:block;height:100%;background:linear-gradient(90deg,#83d74f,var(--lime));border-radius:999px;transition:width .3s ease}.sws-map-progress__foot{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;color:#777a73;font-size:12px}.sws-map-loading,.sws-map-error{font-size:14px}.sws-map-error{border-left:4px solid var(--bad);padding-left:14px}.sws-map-error strong,.sws-map-error span{display:block}.sws-map-error span{color:var(--muted);margin-top:5px}.sws-map-results{margin-top:28px}.sws-map-results[hidden]{display:none}.sws-map-heroresult{background:#fff;border:1px solid var(--border);border-radius:22px;padding:24px}.sws-map-heroresult__main{display:flex;justify-content:space-between;gap:30px;align-items:center}.sws-map-heroresult__main h3{font-size:28px;line-height:1.15;margin:9px 0 8px;word-break:break-word}.sws-map-heroresult__main p{margin:0;max-width:720px}.sws-map-big-ring,.sws-map-ring{border-radius:50%;display:grid;place-items:center;position:relative;flex:0 0 auto;background:conic-gradient(var(--lime) calc(var(--score,0)*1%),#edf0e8 0)}.sws-map-big-ring{width:112px;height:112px}.sws-map-ring{width:68px;height:68px}.sws-map-big-ring:before,.sws-map-ring:before{content:"";position:absolute;inset:8px;background:#fff;border-radius:50%}.sws-map-big-ring span,.sws-map-ring span{position:relative;z-index:1;font-weight:850;color:#111}.sws-map-big-ring span{font-size:34px}.sws-map-ring span{font-size:21px}.sws-map-heroresult.good .sws-map-big-ring,.sws-map-score.good .sws-map-ring{background:conic-gradient(var(--good) calc(var(--score,0)*1%),#edf0e8 0)}.sws-map-heroresult.warn .sws-map-big-ring,.sws-map-score.warn .sws-map-ring{background:conic-gradient(var(--warn) calc(var(--score,0)*1%),#edf0e8 0)}.sws-map-heroresult.bad .sws-map-big-ring,.sws-map-score.bad .sws-map-ring{background:conic-gradient(var(--bad) calc(var(--score,0)*1%),#edf0e8 0)}.sws-map-scoregrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}.sws-map-score{display:flex;align-items:center;gap:12px;background:var(--soft);border-radius:16px;padding:14px}.sws-map-score small{display:block;text-transform:uppercase;letter-spacing:.07em;color:#777b73;font-size:10px;font-weight:800}.sws-map-score strong{display:block;margin-top:4px;font-size:16px}.sws-map-section{background:#fff;border:1px solid var(--border);border-radius:22px;padding:24px;margin-top:18px}.sws-map-section__head{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start;margin-bottom:20px}.sws-map-section__head>div>span{display:block;color:#777b73;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px}.sws-map-section__head h3{font-size:28px;line-height:1.15;letter-spacing:-.035em;margin:0}.sws-map-section__head p{margin:0}.sws-map-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sws-map-stat{background:var(--soft);border:1px solid #eaede4;border-radius:15px;padding:17px}.sws-map-stat small{display:block;color:#777b73;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.07em}.sws-map-stat strong{display:block;font-size:25px;margin-top:6px}.sws-map-stat span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.sws-map-coverage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.sws-map-coverage__card{border:1px solid var(--border);border-radius:17px;padding:18px;border-top:4px solid var(--lime)}.sws-map-coverage__card.good{border-top-color:var(--good)}.sws-map-coverage__card.warn{border-top-color:var(--warn)}.sws-map-coverage__card.bad{border-top-color:var(--bad)}.sws-map-coverage__card strong{font-size:28px}.sws-map-coverage__card span{display:block;font-weight:800;margin-top:5px}.sws-map-coverage__card p{font-size:13px;margin:7px 0 0}.sws-map-architecture{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.sws-map-depth{background:var(--soft);border-radius:17px;padding:18px}.sws-map-depth-row+ .sws-map-depth-row{margin-top:14px}.sws-map-depth-label{display:flex;justify-content:space-between;gap:12px;font-size:13px}.sws-map-depth-track{height:10px;background:#e8ebe2;border-radius:999px;overflow:hidden;margin-top:7px}.sws-map-depth-track span{display:block;height:100%;background:var(--lime);border-radius:999px}.sws-map-mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sws-map-issues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sws-map-issue{border:1px solid var(--border);border-left:4px solid var(--warn);border-radius:16px;padding:17px}.sws-map-issue.high{border-left-color:var(--bad)}.sws-map-issue.low{border-left-color:var(--good)}.sws-map-issue__top{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.sws-map-issue h4{margin:0;font-size:18px}.sws-map-issue p{font-size:13px;margin:8px 0 0}.sws-map-issue__urls{display:grid;gap:5px;margin-top:10px}.sws-map-issue__urls code{display:block;background:#f5f6f1;padding:6px 8px;border-radius:7px;overflow-wrap:anywhere;font-size:11px}.sws-map-badge{display:inline-flex;border-radius:999px;background:#eef0e8;padding:5px 8px;font-size:10px;font-weight:800}.sws-map-badge.high{background:rgba(216,91,78,.12);color:#8d3027}.sws-map-badge.medium{background:rgba(201,148,32,.13);color:#805d13}.sws-map-badge.low,.sws-map-badge.good{background:rgba(47,150,80,.12);color:#1d6a37}.sws-map-goodbox{background:#eef8e4;border-radius:14px;padding:16px}.sws-map-tabletools{display:grid;grid-template-columns:minmax(0,1fr) 230px auto;gap:10px;align-items:center;margin-bottom:13px}.sws-map-tabletools input,.sws-map-tabletools select{margin:0!important;background:#fff!important;border:1px solid #ccd0c7!important;border-radius:10px!important;padding:12px 13px!important;color:#111!important;font-size:14px!important;box-shadow:none!important}.sws-map-table-count{font-size:12px;color:var(--muted);white-space:nowrap}.sws-map-tablewrap{overflow-x:auto;border:1px solid var(--border);border-radius:14px}.sws-map-table{width:100%;min-width:920px;border-collapse:collapse;font-size:12px;background:#fff}.sws-map-table th,.sws-map-table td{text-align:left;padding:12px;border-bottom:1px solid #eceee8;vertical-align:top}.sws-map-table th{background:#f5f6f1;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.sws-map-table td:first-child{min-width:300px}.sws-map-table a{color:#111!important;font-weight:800;text-decoration:none!important}.sws-map-table code{display:block;color:#777b73;font-size:10px;overflow-wrap:anywhere;margin-top:4px}.sws-map-actions{display:flex;flex-wrap:wrap;gap:10px}.sws-map-notes ul{margin:0;padding-left:20px;color:var(--muted);font-size:13px;line-height:1.7}.sws-map-notes li+li{margin-top:5px}
@media(max-width:900px){.sws-map-scoregrid{grid-template-columns:1fr 1fr}.sws-map-section__head,.sws-map-architecture{grid-template-columns:1fr;gap:15px}.sws-map-stats,.sws-map-coverage{grid-template-columns:1fr 1fr}.sws-map-issues{grid-template-columns:1fr}.sws-map-tabletools{grid-template-columns:1fr 1fr}.sws-map-table-count{grid-column:1/-1}}
@media(max-width:768px){.sws-map-form__row{grid-template-columns:1fr!important}.sws-map-form__row button{width:100%!important;min-width:0!important}.sws-map-heroresult__main{align-items:flex-start;flex-direction:column}.sws-map-scoregrid,.sws-map-stats,.sws-map-coverage,.sws-map-mini-stats{grid-template-columns:1fr}.sws-map-section{padding:18px}.sws-map-tabletools{grid-template-columns:1fr}.sws-map-table-count{grid-column:auto}.sws-map-actions{flex-direction:column}.sws-map-actions button{width:100%!important}.sws-map-progress__top{align-items:flex-start}.sws-map-progress__foot{flex-direction:column;gap:5px}}
@media(max-width:480px){.sws-map-tool{padding:18px;border-radius:18px}.sws-map-tool h2{font-size:34px}.sws-map-big-ring{width:92px;height:92px}.sws-map-section__head h3{font-size:24px}}

/* =========================================================
   v0.2.0 professional report UX
   ========================================================= */
.sws-map-confidence{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.sws-map-confidence>span:last-child{color:var(--muted);font-size:12px;line-height:1.5}.sws-map-tabs{position:sticky;top:0;z-index:8;display:flex;gap:7px;overflow-x:auto;margin-top:18px;padding:8px;background:rgba(249,250,245,.94);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:15px}.sws-map-tab{min-width:auto!important;width:auto!important;margin:0!important;padding:10px 14px!important;border-radius:10px!important;background:transparent!important;border:1px solid transparent!important;color:#555a52!important;box-shadow:none!important;font-size:12px!important;white-space:nowrap!important}.sws-map-tab:hover{transform:none!important;background:#fff!important;border-color:var(--border)!important;color:#111!important}.sws-map-tab.active{background:#111!important;border-color:#111!important;color:#fff!important}.sws-map-tab span{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;margin-left:5px;padding:0 5px;border-radius:999px;background:rgba(188,226,67,.22);color:#111;font-size:10px}.sws-map-tab.active span{background:var(--lime)}.sws-map-panel[hidden]{display:none!important}.sws-map-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sws-map-issue__num{font-size:10px;font-weight:900;letter-spacing:.06em;color:#92958d}.sws-map-issue__details{margin-top:11px}.sws-map-issue__details summary{cursor:pointer;color:#555a52;font-size:12px;font-weight:800}.sws-map-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:14px}.sws-map-pagination button{min-width:0!important;width:auto!important;padding:10px 14px!important;font-size:11px!important;box-shadow:none!important}.sws-map-pagination button:disabled{opacity:.35!important}.sws-map-table-page{font-size:12px;color:var(--muted)}.sws-map-sitemapdocs{background:var(--soft);border:1px solid var(--border);border-radius:16px;padding:18px}.sws-map-sitemapdocs>h4,.sws-map-urlgroup h4{margin:0;font-size:17px}.sws-map-sitemapdoc{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:11px 0;border-bottom:1px solid #e5e8df}.sws-map-sitemapdoc:last-child{border-bottom:0}.sws-map-sitemapdoc a{color:#111!important;font-size:12px;font-weight:800;text-decoration:none!important;overflow-wrap:anywhere}.sws-map-urlgroups{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.sws-map-urlgroup{border:1px solid var(--border);border-radius:16px;padding:18px}.sws-map-urlgroup__head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:11px}.sws-map-urlgroup__head span{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;border-radius:999px;background:var(--soft);font-size:12px;font-weight:850}.sws-map-urllist{max-height:380px;overflow:auto;display:grid;gap:6px}.sws-map-urllist a{display:block;background:#f7f8f4;border-radius:8px;padding:7px 8px;color:#444940!important;font-size:11px;text-decoration:none!important;overflow-wrap:anywhere}.sws-map-urllist a:hover{background:#eef5dc!important;color:#111!important}.sws-map-mini-stats{grid-template-columns:1fr 1fr}
@media(max-width:900px){.sws-map-kpis{grid-template-columns:1fr 1fr}.sws-map-urlgroups{grid-template-columns:1fr}}
@media(max-width:767px){.sws-map-tabs{top:0;border-radius:12px}.sws-map-kpis{grid-template-columns:1fr}.sws-map-sitemapdoc{align-items:flex-start;flex-direction:column}.sws-map-pagination{justify-content:space-between}.sws-map-pagination button{width:auto!important}.sws-map-mini-stats{grid-template-columns:1fr}.sws-map-tablewrap{border:0;overflow:visible}.sws-map-table{min-width:0;width:100%;display:block;background:transparent}.sws-map-table thead{display:none}.sws-map-table tbody{display:grid;gap:10px}.sws-map-table tr{display:block;background:#fff;border:1px solid var(--border);border-radius:14px;padding:13px}.sws-map-table td{display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px;padding:7px 0;border-bottom:1px solid #eef0ea}.sws-map-table td:last-child{border-bottom:0}.sws-map-table td:before{content:attr(data-label);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:#8a8e85}.sws-map-table td:first-child{min-width:0}.sws-map-table td:first-child a,.sws-map-table td:first-child code{grid-column:2}.sws-map-table td:first-child:before{grid-row:1/3}}


/* =========================================================
   v0.2.2 — compact, form-first widget matching SWS Website Audit
   Only the top form is restyled; scan/results styles remain intact.
   ========================================================= */
.sws-map-tool {
  width: 100% !important;
  max-width: 1160px !important;
  padding: clamp(20px, 3vw, 32px) !important;
  margin: 8px auto 16px !important;
  border-radius: 20px !important;
}
.sws-map-tool .sws-map-tool__head {
  max-width: none !important;
}
.sws-map-tool .sws-map-tool__head h2 {
  margin: 0 0 7px !important;
  padding: 0 !important;
  color: #171717 !important;
  font-size: clamp(23px, 2.5vw, 31px) !important;
  letter-spacing: -.035em !important;
  line-height: 1.16 !important;
  font-weight: 800 !important;
}
.sws-map-tool .sws-map-tool__head p {
  margin: 0 !important;
  max-width: 790px;
  color: #666963 !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}
.sws-map-tool .sws-map-form {
  margin: 17px 0 0 !important;
}
.sws-map-tool .sws-map-sr-only {
  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;
}
.sws-map-tool .sws-map-form .sws-map-form__row {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  gap: 12px !important;
  align-items: stretch !important;
  width: 100% !important;
}
.sws-map-tool .sws-map-form .sws-map-form__row > input {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border: 1px solid #cacdc5 !important;
  border-radius: 11px !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 16px !important;
  line-height: normal !important;
  box-shadow: none !important;
  transform: none !important;
}
.sws-map-tool .sws-map-form .sws-map-form__row > input:focus {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(188,226,67,.22) !important;
  border-color: #96c036 !important;
}
.sws-map-tool .sws-map-form .sws-map-form__row > button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  width: auto !important;
  min-width: 206px !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  margin: 0 !important;
  padding: 0 20px !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  border-radius: 11px !important;
  box-shadow: 0 6px 16px rgba(0,0,0,.10) !important;
}
.sws-map-tool .sws-map-form .sws-map-form__row > button:hover {
  color: #111 !important;
}
.sws-map-tool .sws-map-form__note {
  margin: 9px 0 0 !important;
  color: #757970 !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
}
.sws-map-tool .sws-map-progress[hidden] {
  display: none !important;
}
.sws-map-tool .sws-map-progress {
  margin-top: 18px;
}
.sws-map-tool .sws-map-results {
  margin-top: 20px;
}
.sws-map-tool .sws-map-form .sws-map-form__row > button:focus-visible,
.sws-map-tool .sws-map-form .sws-map-form__row > input:focus-visible {
  outline: 3px solid #647d20 !important;
  outline-offset: 2px !important;
}
@media (max-width: 700px) {
  .sws-map-tool {
    padding: 20px 18px !important;
    border-radius: 18px !important;
    margin-top: 6px !important;
  }
  .sws-map-tool .sws-map-tool__head h2 {
    font-size: 25px !important;
  }
  .sws-map-tool .sws-map-tool__head p {
    font-size: 14px !important;
  }
  .sws-map-tool .sws-map-form {
    margin-top: 15px !important;
  }
  .sws-map-tool .sws-map-form .sws-map-form__row {
    grid-template-columns: minmax(0,1fr) !important;
    gap: 9px !important;
  }
  .sws-map-tool .sws-map-form .sws-map-form__row > button {
    min-width: 0 !important;
    width: 100% !important;
  }
}

/* v0.3.0 — predictable field focus in Elementor / Astra / SWS styles */
.sws-map-tool .sws-map-form .sws-map-form__row > input:focus,
.sws-map-tool .sws-map-form .sws-map-form__row > input:focus-visible {
  outline: none !important;
  border: 1px solid #a6d330 !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 1px #a6d330, 0 0 0 4px rgba(188,226,67,.23) !important;
  color: #111 !important;
}
.sws-map-tool .sws-map-form .sws-map-form__row > input {
  caret-color: #111;
  transition: border-color .16s ease, box-shadow .16s ease !important;
}
.sws-map-tool .sws-map-form .sws-map-form__row > button:focus-visible,
.sws-map-tool .sws-map-tab:focus-visible,
.sws-map-tool .sws-map-arch-node:focus-visible {
  outline: 3px solid #a6d330 !important;
  outline-offset: 3px !important;
}
/* Actual crawl hierarchy by link depth. Scrolling is contained within the diagram. */
.sws-map-arch-legend { display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin:0 0 16px; font-size:12px; color:#5c6158; }
.sws-map-arch-legend > span {display:inline-flex; align-items:center; gap:7px}
.sws-map-arch-legend i,.sws-map-arch-node__dot {display:inline-block; width:9px; height:9px; border-radius:50%; flex:0 0 9px; background:#32965a}
.sws-map-arch-legend i.warn,.sws-map-arch-node.warn .sws-map-arch-node__dot {background:#d09b2a}
.sws-map-arch-legend i.bad,.sws-map-arch-node.bad .sws-map-arch-node__dot {background:#dc6154}
.sws-map-arch-scroll {display:flex;align-items:stretch;gap:12px;overflow-x:auto;padding:4px 3px 18px;scrollbar-width:thin}
.sws-map-arch-column {min-width:200px;max-width:255px;flex:1 0 205px;padding:12px;border:1px solid #e4e9dc;border-radius:15px;background:#f7f9f2}
.sws-map-arch-column__head {display:flex;justify-content:space-between;gap:10px;align-items:center;padding:4px 2px 12px;margin-bottom:8px;border-bottom:1px solid #e1e7d7}
.sws-map-arch-column__head strong {font-size:13px}
.sws-map-arch-column__head span {color:#777c74;font-size:11px;white-space:nowrap}
.sws-map-arch-nodes {display:grid;gap:8px;max-height:370px;overflow-y:auto;padding:3px 2px}
.sws-map-tool button.sws-map-arch-node {display:flex!important;gap:8px!important;align-items:center!important;min-width:0!important;width:100%!important;padding:10px!important;margin:0!important;border:1px solid #e2e6dd!important;border-radius:10px!important;background:#fff!important;color:#242722!important;letter-spacing:0!important;text-transform:none!important;text-align:left!important;box-shadow:none!important;transform:none!important;line-height:1.3!important;font-size:12px!important;font-weight:650!important}
.sws-map-tool button.sws-map-arch-node:hover,.sws-map-tool button.sws-map-arch-node.selected {border-color:#a4cb45!important;background:#f2f8df!important;box-shadow:0 0 0 1px rgba(188,226,67,.28)!important}
.sws-map-arch-node__text {overflow-wrap:anywhere;min-width:0;flex:1}
.sws-map-arch-node small {font-size:9px;color:#868b80;font-weight:600;white-space:nowrap}
.sws-map-arch-detail {border:1px solid #e4e8df;background:#fff;border-radius:15px;padding:18px;margin-top:7px;overflow-wrap:anywhere}
.sws-map-arch-detail__eyebrow {color:#71796c;font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:850}
.sws-map-arch-detail h4 {font-size:19px;line-height:1.3;margin:7px 0}
.sws-map-arch-detail a {font-size:12px;overflow-wrap:anywhere}
.sws-map-arch-detail__stats {display:flex;gap:7px;flex-wrap:wrap;margin:13px 0}
.sws-map-arch-detail p {font-size:13px;margin:8px 0 0;color:#595f57}
.sws-map-arch-detail strong {color:#212621}
@media (max-width:767px) {
  .sws-map-arch-column {min-width:183px;flex-basis:190px}
  .sws-map-arch-detail {padding:15px}
  .sws-map-tool .sws-map-form .sws-map-form__row > input {min-height:54px!important}
}
.sws-map-arch-referrers {margin-top:14px;padding-top:10px;border-top:1px solid #e8ebe4}
.sws-map-arch-referrers summary {cursor:pointer;font-size:12px;font-weight:800;color:#454b43}
.sws-map-arch-referrers a {display:block;padding-top:7px;font-size:11px;overflow-wrap:anywhere}

/* ==========================================================
   v0.3.1 — navigation clarity, readable real-URL sitemap, and hover
   ========================================================== */

/* White text on the dark green hover (adequate contrast). Keep lime accents. */
.sws-map-tool .sws-map-form .sws-map-form__row > button:hover,
.sws-map-tool .sws-map-form .sws-map-form__row > button:focus-visible,
.sws-map-tool button.sws-map-tab:hover,
.sws-map-tool button.sws-map-download-csv:hover,
.sws-map-tool button.sws-map-download-xml:hover,
.sws-map-tool button.sws-map-download-json:hover {
  background: #365b1b !important;
  border-color: #365b1b !important;
  color: #ffffff !important;
  box-shadow: 0 7px 20px rgba(54,91,27,.20) !important;
}
.sws-map-hero .sws-map-hero__button:hover,
.sws-map-hero .sws-map-hero__button:focus-visible {
  background: #365b1b !important;
  border-color: #365b1b !important;
  color: #ffffff !important;
}
.sws-map-tool .sws-map-form .sws-map-form__row > button:hover span,
.sws-map-hero .sws-map-hero__button:hover span {
  color: #ffffff !important;
}
.sws-map-tool .sws-map-tabs {
  gap: 8px;
  padding: 9px;
  top: 0;
  scroll-padding-inline: 10px;
}
.sws-map-tool button.sws-map-tab {
  white-space: nowrap !important;
  min-height: 45px !important;
  padding: 11px 18px !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
}
.sws-map-tool button.sws-map-tab.active {
  background: var(--lime) !important;
  border-color: #97c52b !important;
  color: #111111 !important;
  box-shadow: 0 0 0 2px rgba(188,226,67,.23) !important;
}
.sws-map-tool button.sws-map-tab.active:hover {
  background: #365b1b !important;
  border-color: #365b1b !important;
  color: #ffffff !important;
}
.sws-map-tool .sws-map-tab[aria-selected="true"]:focus-visible {
  outline: 3px solid #365b1b !important;
  outline-offset: 2px !important;
}

.sws-map-tree-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 10px;
  margin-bottom: 16px;
}
.sws-map-tree-summary > div {
  padding: 15px 17px;
  background: var(--soft);
  border: 1px solid #e7ebe1;
  border-radius: 12px;
}
.sws-map-tree-summary strong {display: block;color: #141714;font-size: 25px;line-height: 1.2}
.sws-map-tree-summary span {display: block;color: #6d7469;font-size: 12px;margin-top: 4px}
.sws-map-tree-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(250px, .75fr);
  align-items: start;
  gap: 14px;
}
.sws-map-tree-browser {
  min-width: 0;
  background: #f7f9f3;
  border: 1px solid #e1e7d9;
  padding: 15px;
  border-radius: 16px;
}
.sws-map-tree-browser-head {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.sws-map-tree-browser-head strong {color:#192019;font-size:16px;font-weight:800}
.sws-map-tree-browser-head p {font-size:12px;line-height:1.5;margin:4px 0 0 !important;color:#667061}
.sws-map-tool button.sws-map-tree-expand,
.sws-map-tool button.sws-map-xml-more {
  font-size:11px !important;
  padding:9px 12px !important;
  flex-shrink:0;
  border:1px solid #d9e5c8 !important;
  background:#fff !important;
  color:#31591f !important;
  border-radius:9px !important;
  box-shadow:none !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}
.sws-map-tool button.sws-map-tree-expand:hover,
.sws-map-tool button.sws-map-xml-more:hover {
  background:#365b1b !important;
  color:#fff !important;
  border-color:#365b1b !important;
  transform:none !important;
}
.sws-map-tree-viewport {max-height:570px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:2px 6px 8px 2px}
.sws-map-tree-viewport.expanded {max-height:none;overflow:visible}
.sws-map-tree-root,.sws-map-tree-children {margin:0 !important;list-style:none !important;padding:0 !important}
.sws-map-tree-children {padding-left:21px !important;margin-left:10px !important;border-left:1px solid #cfddbe}
.sws-map-tree-node {position:relative;margin:0 !important;padding:0 !important;list-style:none !important}
.sws-map-tree-children > .sws-map-tree-node::before {content:"";position:absolute;top:24px;left:-21px;width:19px;border-top:1px solid #cfddbe}
.sws-map-tree-row {
  display:flex;align-items:center;gap:8px;min-width:0;
  margin:0 0 7px;padding:10px;
  background:#fff;border:1px solid #e1e6d9;border-radius:11px;
  transition:border-color .17s ease,background .17s ease;
}
.sws-map-tree-row:hover {border-color:#accd66;background:#fdfff9}
.sws-map-tree-row.bad {border-left:3px solid #d85b4e}
.sws-map-tree-row.warn {border-left:3px solid #ce9c2a}
.sws-map-tree-row.good {border-left:3px solid #3d9653}
.sws-map-tree-dot {width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#369653}
.sws-map-tree-row.warn .sws-map-tree-dot{background:#ce9c2a}
.sws-map-tree-row.bad .sws-map-tree-dot{background:#d85b4e}
.sws-map-tree-link {min-width:0;flex:1;font-size:13px !important;line-height:1.4 !important;font-weight:750 !important;overflow-wrap:anywhere;color:#172119 !important;text-decoration:none !important}
.sws-map-tree-link:hover {text-decoration:underline !important;color:#365b1b !important}
.sws-map-tree-link span {font-weight:700;color:#77846c}
.sws-map-tree-status {flex-shrink:0;font-size:10px;font-weight:800;color:#68766a;background:#f2f6ed;border-radius:6px;padding:4px 5px}
.sws-map-tool button.sws-map-tree-inspect {
  flex-shrink:0;padding:7px 9px !important;
  min-width:0 !important;margin:0 !important;
  font-size:10px !important;letter-spacing:0 !important;text-transform:none !important;
  line-height:1.2 !important;border-radius:8px !important;
  background:#eff4e8 !important;color:#31532a !important;
  border:1px solid #d6e3cb !important;box-shadow:none !important;
  transform:none !important;
}
.sws-map-tool button.sws-map-tree-inspect:hover,
.sws-map-tool button.sws-map-tree-inspect.selected {
  background:#365b1b !important;color:#fff !important;border-color:#365b1b !important;
  transform:none !important;
}
.sws-map-tree-workspace .sws-map-arch-detail {margin-top:0;min-width:0;position:sticky;top:82px;padding:20px}
.sws-map-tree-workspace .sws-map-arch-detail-url {display:block;font-size:13px;word-break:break-word}
.sws-map-tree-workspace .sws-map-arch-detail h4 {font-size:19px}
.sws-map-tree-workspace .sws-map-arch-detail p {overflow-wrap:anywhere}
.sws-map-tree-workspace .sws-map-arch-detail p a {word-break:break-all}
.sws-map-tree-workspace .sws-map-arch-detail__stats {align-items:flex-start}
.sws-map-tree-caveat,.sws-map-tree-note {color:#747c71 !important;font-size:11px !important;line-height:1.55 !important;margin:11px 0 0 !important}
.sws-map-xml-only {margin-top:16px;padding:17px 19px;background:#fafbf7;border:1px solid #e4e8de;border-radius:14px}
.sws-map-xml-only h4 {font-size:17px;margin:0 0 5px;color:#222}
.sws-map-xml-only p {font-size:12px;margin:0 0 11px !important}
.sws-map-xml-only-links {display:grid;grid-template-columns:1fr 1fr;gap:7px}
.sws-map-xml-only-links a,.sws-map-xml-only-links code {display:block;border:1px solid #e1e7d8;border-radius:9px;background:#fff;padding:9px 10px;font-size:12px;word-break:break-word;color:#275424 !important;text-decoration:none !important}
.sws-map-xml-only-links a:hover {text-decoration:underline !important;border-color:#a6cb61}
.sws-map-xml-only .sws-map-xml-more {margin-top:10px !important}
@media(max-width:900px){
  .sws-map-tree-workspace {grid-template-columns:1fr}
  .sws-map-tree-workspace .sws-map-arch-detail {position:static}
}
@media(max-width:640px){
  .sws-map-tree-summary {gap:7px}
  .sws-map-tree-summary > div {padding:11px}
  .sws-map-tree-summary strong {font-size:21px}
  .sws-map-tree-summary span {font-size:10px}
  .sws-map-tree-browser {padding:11px}
  .sws-map-tree-browser-head {align-items:flex-start;flex-direction:column}
  .sws-map-tree-viewport {max-height:520px}
  .sws-map-tree-children {padding-left:10px !important;margin-left:5px !important}
  .sws-map-tree-children > .sws-map-tree-node::before {left:-10px;width:9px}
  .sws-map-tree-row {gap:5px;padding:8px}
  .sws-map-tree-link {font-size:11px !important}
  .sws-map-tree-status {display:none}
  .sws-map-tool button.sws-map-tree-inspect {font-size:9px !important;padding:6px !important}
  .sws-map-xml-only-links {grid-template-columns:1fr}
  .sws-map-tool button.sws-map-tab {padding:10px 13px !important;font-size:11px !important}
}


/* ==========================================================
   SWS Sitemap Explorer v0.3.2 — unified hover only
   Before hover: preserve the current button styles and active tabs.
   Hover: lime #bce243 + white labels + subtle lift and shadow.
   Scoped to Sitemap Explorer, its optional Elementor hero and SEO CTAs.
   ========================================================== */

@media (hover: hover) {
  /* All clickable controls INSIDE the sitemap plugin, including search,
     tabs, pagination, expand / details and export buttons. */
  .sws-map-tool.sws-map-tool.sws-map-tool button:not(:disabled):hover {
    background-color: #bce243 !important;
    border-color: #bce243 !important;
    color: #ffffff !important;
    box-shadow: 0 10px 22px rgba(188,226,67,.35) !important;
    transform: translateY(-2px) !important;
    transition: background-color .22s ease, border-color .22s ease,
                color .22s ease, box-shadow .22s ease,
                transform .22s ease !important;
  }
  /* Keep icons, counts and labels in the same white color. */
  .sws-map-tool.sws-map-tool.sws-map-tool button:not(:disabled):hover :is(span,small,strong,svg) {
    color: #ffffff !important;
  }
  /* Tab count badges should remain readable over the lime button. */
  .sws-map-tool.sws-map-tool.sws-map-tool button.sws-map-tab:not(:disabled):hover span {
    background: rgba(0,0,0,.16) !important;
    color: #ffffff !important;
  }
  /* Elementor hero CTA: its HTML is separate but its class is known. */
  body .sws-map-hero .sws-map-hero__button:hover,
  body .sws-map-hero .sws-map-hero__button:focus-visible {
    background: #bce243 !important;
    border-color: #bce243 !important;
    color: #ffffff !important;
    box-shadow: 0 10px 22px rgba(188,226,67,.35) !important;
    transform: translateY(-2px) !important;
  }
  body .sws-map-hero .sws-map-hero__button:hover :is(span,svg) {
    color: #ffffff !important;
  }
  /* Footer CTA links in the separately authored Elementor SEO block. */
  body .sws-structure-seo .sws-structure-cta a:hover,
  body .sws-map-guide .sws-map-guide__button:hover {
    background: #bce243 !important;
    border-color: #bce243 !important;
    color: #ffffff !important;
    box-shadow: 0 10px 22px rgba(188,226,67,.35) !important;
    transform: translateY(-2px) !important;
  }
  body .sws-structure-seo .sws-structure-cta a:hover :is(span,svg),
  body .sws-map-guide .sws-map-guide__button:hover :is(span,svg) {
    color: #ffffff !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sws-map-tool.sws-map-tool.sws-map-tool button:not(:disabled):hover,
  body .sws-map-hero .sws-map-hero__button:hover,
  body .sws-structure-seo .sws-structure-cta a:hover,
  body .sws-map-guide .sws-map-guide__button:hover {
    transform: none !important;
  }
}
