.ks27-sitemap-page,
.ks27-sitemap-page *{
  box-sizing:border-box;
}

.ks27-sitemap-page{
  --ks27-sm-bg:#f3f8ff;
  --ks27-sm-card:#ffffff;
  --ks27-sm-title:#07111f;
  --ks27-sm-text:#43556c;
  --ks27-sm-muted:#64748b;
  --ks27-sm-link:#0057b8;
  --ks27-sm-link-dark:#003f8f;
  --ks27-sm-accent:#18b8e8;
  --ks27-sm-border:rgba(15,23,42,.08);
  --ks27-sm-shadow:0 24px 70px rgba(15,23,42,.10);
  --ks27-sm-soft:rgba(0,87,184,.10);
  width:100%;
  min-height:62vh;
  padding:72px 18px 86px;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(circle at 10% 0%,rgba(24,184,232,.22),transparent 34%),
    radial-gradient(circle at 94% 6%,rgba(0,87,184,.16),transparent 32%),
    linear-gradient(180deg,#ffffff 0%,var(--ks27-sm-bg) 100%);
  font-family:Arial,Helvetica,sans-serif;
}

.ks27-sitemap-page::before{
  content:"";
  position:absolute;
  right:-220px;
  bottom:-240px;
  width:560px;
  height:560px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(0,87,184,.16),transparent 68%);
  z-index:-1;
  pointer-events:none;
}

.ks27-sitemap-page::after{
  content:"";
  position:absolute;
  left:-180px;
  top:260px;
  width:400px;
  height:400px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(24,184,232,.15),transparent 70%);
  z-index:-1;
  pointer-events:none;
}

.ks27-sitemap-wrap{
  width:100%;
  max-width:1480px;
  margin:0 auto;
}

.ks27-sitemap-head{
  margin:0 auto 34px;
  max-width:1050px;
  text-align:center;
}

.ks27-sitemap-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 18px;
  border-radius:999px;
  color:var(--ks27-sm-link);
  background:#ffffff;
  border:1px solid rgba(0,87,184,.14);
  box-shadow:0 14px 32px rgba(15,23,42,.07);
  font-size:13px;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.ks27-sitemap-head h1{
  margin:18px 0 12px;
  color:var(--ks27-sm-title);
  font-size:clamp(38px,5vw,72px);
  line-height:1.02;
  font-weight:950;
  letter-spacing:-.06em;
}

.ks27-sitemap-head p{
  max-width:850px;
  margin:0 auto;
  color:var(--ks27-sm-text);
  font-size:17px;
  line-height:1.75;
  font-weight:750;
}

.ks27-sitemap-stats{
  width:100%;
  max-width:880px;
  margin:26px auto 0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.ks27-sitemap-stat{
  min-height:86px;
  padding:14px 12px;
  border-radius:22px;
  background:rgba(255,255,255,.82);
  border:1px solid var(--ks27-sm-border);
  box-shadow:0 16px 42px rgba(15,23,42,.07);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.ks27-sitemap-stat strong{
  color:var(--ks27-sm-title);
  font-size:26px;
  line-height:1;
  font-weight:950;
}

.ks27-sitemap-stat span{
  margin-top:7px;
  color:var(--ks27-sm-muted);
  font-size:12.5px;
  font-weight:850;
}

.ks27-sitemap-search{
  width:100%;
  max-width:780px;
  margin:26px auto 0;
  position:relative;
}

.ks27-sitemap-search input{
  width:100%;
  min-height:58px;
  padding:0 56px 0 20px;
  border:1px solid rgba(0,87,184,.16);
  border-radius:22px;
  background:#ffffff;
  color:var(--ks27-sm-title);
  box-shadow:0 18px 44px rgba(15,23,42,.08);
  outline:none;
  font-size:15px;
  font-weight:800;
}

.ks27-sitemap-search input::placeholder{
  color:#8a9aad;
}

.ks27-sitemap-search svg{
  position:absolute;
  right:18px;
  top:50%;
  width:22px;
  height:22px;
  transform:translateY(-50%);
  stroke:var(--ks27-sm-link);
  fill:none;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}

.ks27-sitemap-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
  align-items:start;
}

.ks27-sitemap-card{
  min-width:0;
  min-height:250px;
  padding:26px 24px;
  border-radius:28px;
  background:rgba(255,255,255,.94);
  border:1px solid var(--ks27-sm-border);
  box-shadow:var(--ks27-sm-shadow);
  position:relative;
  overflow:hidden;
}

.ks27-sitemap-card-wide{
  grid-column:span 2;
}

.ks27-sitemap-card::before{
  content:"";
  position:absolute;
  left:0;
  top:26px;
  bottom:26px;
  width:5px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--ks27-sm-accent),var(--ks27-sm-link));
}

.ks27-sitemap-card::after{
  content:"";
  position:absolute;
  right:-70px;
  top:-70px;
  width:180px;
  height:180px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(0,87,184,.09),transparent 68%);
  pointer-events:none;
}

.ks27-sitemap-title-row{
  margin:0 0 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.ks27-sitemap-title-row h2{
  margin:0;
  color:var(--ks27-sm-title);
  font-size:22px;
  line-height:1.22;
  font-weight:950;
  letter-spacing:-.025em;
}

.ks27-sitemap-count{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  min-width:38px;
  padding:5px 11px;
  border-radius:999px;
  background:var(--ks27-sm-soft);
  color:var(--ks27-sm-link);
  font-size:12px;
  font-weight:950;
}

.ks27-sitemap-links{
  display:grid;
  gap:9px;
  position:relative;
  z-index:2;
}

.ks27-sitemap-links.is-scroll{
  max-height:540px;
  overflow:auto;
  padding-right:5px;
}

.ks27-sitemap-links.is-two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.ks27-sitemap-links::-webkit-scrollbar{
  width:8px;
}

.ks27-sitemap-links::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:rgba(0,87,184,.24);
}

.ks27-sitemap-links a{
  min-height:42px;
  padding:10px 12px 10px 14px;
  border-radius:15px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#0f172a;
  background:rgba(0,87,184,.065);
  border:1px solid rgba(0,87,184,.055);
  text-decoration:none;
  font-size:14px;
  line-height:1.36;
  font-weight:850;
  transition:.2s ease;
}

.ks27-sitemap-links a::after{
  content:"→";
  color:var(--ks27-sm-link);
  font-size:15px;
  font-weight:950;
}

.ks27-sitemap-links a:hover{
  color:#ffffff;
  background:linear-gradient(135deg,var(--ks27-sm-link),var(--ks27-sm-accent));
  border-color:transparent;
  text-decoration:none;
  transform:translateX(3px);
  box-shadow:0 12px 26px rgba(0,87,184,.18);
}

.ks27-sitemap-links a:hover::after{
  color:#ffffff;
}

.ks27-sitemap-empty{
  min-height:42px;
  padding:11px 13px;
  border-radius:15px;
  display:flex;
  align-items:center;
  color:var(--ks27-sm-muted);
  background:rgba(100,116,139,.09);
  font-size:14px;
  line-height:1.5;
  font-weight:750;
}

.ks27-sitemap-no-result{
  display:none;
  width:100%;
  margin:22px 0 0;
  padding:16px 18px;
  border-radius:18px;
  background:#ffffff;
  border:1px solid rgba(0,87,184,.12);
  color:var(--ks27-sm-muted);
  text-align:center;
  font-size:14px;
  font-weight:850;
}

.ks27-sitemap-page.is-filtering .ks27-sitemap-card:not(.has-match){
  display:none;
}

.ks27-sitemap-page.is-filtering .ks27-sitemap-link-hidden{
  display:none !important;
}

.ks27-sitemap-page.is-filtering .ks27-sitemap-no-result.is-active{
  display:block;
}

@media(max-width:1280px){
  .ks27-sitemap-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .ks27-sitemap-card-wide{
    grid-column:span 3;
  }
}

@media(max-width:991px){
  .ks27-sitemap-page{
    padding:58px 14px 74px;
  }

  .ks27-sitemap-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }

  .ks27-sitemap-card-wide{
    grid-column:span 2;
  }

  .ks27-sitemap-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .ks27-sitemap-links.is-two{
    grid-template-columns:1fr;
  }
}

@media(max-width:767px){
  .ks27-sitemap-page{
    width:100vw;
    padding:42px 10px 62px;
  }

  .ks27-sitemap-wrap{
    width:100%;
    max-width:100%;
  }

  .ks27-sitemap-head{
    margin-bottom:24px;
    padding:0 6px;
  }

  .ks27-sitemap-head h1{
    font-size:34px;
    letter-spacing:-.04em;
  }

  .ks27-sitemap-head p{
    font-size:14.7px;
    line-height:1.65;
  }

  .ks27-sitemap-badge{
    min-height:36px;
    padding:8px 15px;
    font-size:12px;
  }

  .ks27-sitemap-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:20px;
  }

  .ks27-sitemap-stat{
    min-height:76px;
    border-radius:18px;
  }

  .ks27-sitemap-stat strong{
    font-size:23px;
  }

  .ks27-sitemap-search{
    margin-top:20px;
  }

  .ks27-sitemap-search input{
    min-height:54px;
    border-radius:18px;
    font-size:14px;
  }

  .ks27-sitemap-grid{
    grid-template-columns:1fr;
    gap:15px;
  }

  .ks27-sitemap-card,
  .ks27-sitemap-card-wide{
    grid-column:auto;
    min-height:0;
    border-radius:22px;
    padding:22px 18px;
  }

  .ks27-sitemap-card::before{
    top:22px;
    bottom:22px;
  }

  .ks27-sitemap-title-row h2{
    font-size:20px;
  }

  .ks27-sitemap-links.is-scroll{
    max-height:500px;
  }

  .ks27-sitemap-links a{
    min-height:44px;
    padding:10px 11px;
    font-size:13.7px;
  }
}
