/* 采用rem进行排版：根字体大小在kalishell/js/kalishell.js中按屏幕宽度设置 */
* { box-sizing: border-box; }
html, body { height: 100%; }
body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "PingFang SC", "Microsoft YaHei", sans-serif; color: #222; background: #f5f7fb; }

.app { max-width: 750px; margin: 0 auto; background: #fff; }
.top{height: 2.96rem; position: relative;}
.top .kf {position: absolute; right: 0.4rem; top: 50%; transform: translateY(-50%); width: 1rem;}

/* 轮播图 */
.banner { padding: 0.25rem 0.25rem 0rem; }
.carousel { position: relative; overflow: hidden; border-radius: 0.4rem; }
.carousel .slides { display: flex; width: 100%; transition: transform 0.3s ease-out; will-change: transform; }
.carousel .slide { flex: 0 0 100%; position: relative; }
.carousel .slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.slide-content { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; color: #fff; background: linear-gradient(135deg, #0a6aff, #02c2ff); text-align: center; }
.slide-content.alt { background: linear-gradient(135deg, #1c7eff, #6ad3ff); }
.slide-content h2 { font-size: 1.2rem; margin: 0; line-height: 1; letter-spacing: 0.02rem; }
.slide-content p { font-size: 0.85rem; margin: 0.3rem 0 0.2rem; }
.slide-content .subtitle { font-size: 0.6rem; opacity: 0.92; }
.dots { position: absolute; left: 50%; bottom: 0.5rem; transform: translateX(-50%); display: flex; gap: 0.3rem; }
.dots .dot { width: 0.26rem; height: 0.26rem; border-radius: 50%; background: rgba(255,255,255,0.7); }
.dots .dot.active { background: #fff; }

/* 便民信息提示 */
.info { padding: 0.2rem 0.25rem; }
.section-title { font-size: 0.65rem; margin-bottom: 0.5rem; font-weight: 700; }
.info { --item-h: 3.6rem; }
.info-list { border: 0px solid #e6e9ef; overflow-y: auto; -webkit-overflow-scrolling: touch; max-height: calc(3 * var(--item-h)); }
.info-item { display: flex; align-items: center; gap: 0.5rem; padding: 0.3rem 0.15rem; color: #222; border-bottom: 0px dashed #e6e9ef; min-height: 3.6rem; }
.info-item:last-child { border-bottom: none; }
.info-item .date { display: flex; flex-direction: column; align-items: center; justify-content: center; background: transparent; width: 5rem; flex: 0 0 var(--date-w); }
.info-item .date b { font-size: 1.15rem; color: #111; font-weight: 800; line-height: 1; margin-bottom: 0.2rem;}
.info-item .date em { font-size: 0.45rem; color: #888; font-style: normal; }
.info-item .timeline { position: relative; height: 100%; width: 0.12rem; flex: 0 0 0.12rem; }
.info-item .timeline::after { content: ""; position: absolute; left: 50%; bottom: 0; width: 1px; background: #d7dbe4; transform: translateX(-50%); min-height: 4rem;}
.info-item .timeline::before { content: ""; position: absolute; left: 50%; top: 50%; width: 0.2rem; height: 0.2rem; background: #29a3ff; transform: translate(-50%, -50%); z-index: 1;}
.content { display: block; flex: 1 1 auto; width: 15rem; }
.title-link { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; word-break: break-word; font-size: 0.5rem; color: #004eff; text-decoration: none;}
.meta {font-size: 0.4rem;color: #A2A2A2;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;margin: .2rem 0;}

/* 导航卡片 */
.nav { padding: 0.2rem 0.25rem .35rem; }
.cards { display: grid; grid-template-columns: 1fr; gap: 0.6rem; }
.card { background: #fff; border: 1px solid #e6e9ef; border-radius: 0.4rem; padding: 0.5rem; box-shadow: 0 2px 8px rgba(0,0,0,0.04); display: flex;align-content: center;justify-content: flex-start;align-items: center;}
.card-title { font-size: 0.55rem; font-weight: 700; margin-bottom: 0.3rem; }
.card .tb{display: flex;flex-direction: column;align-items: center;width: 3.5em;border-right: 1px solid #D2D2D2;}
.card .tu img{width: 1.3rem;}
.links { display: grid; gap: 0.3rem;margin-left: .5rem;}
.link { font-size: 0.5rem; color: #2F2F2F; text-decoration: underline; }
.site-footer { padding: 0.5rem;background-color: #1A85BD;display: flex;align-items: center;}
.dinav { display: flex; gap: 2.1rem; justify-content: center; padding: 0.3rem; background-color: #afafaf;}
.dinav a { color: #ffffff; text-decoration: none; font-size: 0.5rem; }
.dinav span { width: .02rem;background-color: #ffffff;}
.footlogo{display: flex;}
.footlogo img{width: 1.6rem;}
.footzi{font-size: 0.39rem;color: #ffffff;margin-left: .3rem;display: grid;}
.footzi p{line-height: .01rem;}
.footzi p img{width: .5rem;vertical-align: middle;margin-top: -.11rem;}

.shanhuiinfo{padding: 0.25rem 0.25rem 0.9rem;}
.shanhui{border-bottom: 1px solid #D2D2D2;}
.shanhui .xzbt{display: flex;justify-content: flex-start;align-items: center;}
.shanhui .xzbt .sk{
    padding: .01rem .2rem;
    background-color: #1A85BD;
    color: #ffffff;
    font-size: .6rem;
    line-height: .8rem;
    font-weight: 700;
    margin-right: .4rem;
  }
.xzbt{
  font-size: .7rem;
  font-weight: 700;
  line-height: 1rem;
}
.xzbt1 span{
  font-weight: 400;
  margin-left: .3rem;
  color: #707478;
}
.neirong{
  font-size: .5rem;
  padding: .35rem;
  line-height: .95rem;
}
.neirong img{
  margin: 0 auto;
  display: block;
  width: 5rem;
}
.neirong span{
  font-weight: 700;
}
.newsinfo{
  padding: 0.25rem 0.25rem 0.9rem;
}
.newstop{
  padding: .2rem 0 .6rem;
  display: block;
  border-bottom: 1px solid #D2D2D2;
}
.newstop .title{
  font-size: .6rem;
  font-weight: 700;
  margin: .3rem 0rem;
}
.newstop .riqi{
  font-size: .4rem;
  color: #999;
}
.newsneirong{
  font-size: .4rem;
  color: #404040;
  margin-top: .6rem;
}

.yxtitle{
  font-size: .6rem;
  font-weight: 700;
  text-align: center;
  color: #ffffff;
  padding-top: 1rem;
}
.email{
  background-image: url('../img/bg.png');
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  height: 100vh;
  background-position: center center;
  display: flex;
  flex-direction: column;
}
/* 登录框样式（居中卡片、行内图标输入） */
.login-box {
    width: 80%;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 0.4rem;
    padding: 0.8rem;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
    margin: 1.8rem auto;
}
.login-form .form-row { 
    display: flex;
    align-items: center;
    gap: 0.5rem;
    border: 1px solid #dfe3eb;
    border-radius: 0.25rem;
    padding: 0.35rem 0.6rem;
    background: #fff;
    margin-bottom: 0.4rem;
 }
.login-form .form-row .icon { width: .6rem; height: .6rem; object-fit: contain; opacity: 0.9; }
.login-form input { flex: 1; border: none; outline: none; font-size: 0.4rem; background: transparent; color: #333; }
.login-btn { 
    width: 100%;
    border: none;
    border-radius: 0.25rem;
    background: #1A85BD;
    color: #fff;
    font-size: 0.4rem;
    padding: 0.4rem 0;
    cursor: pointer;
}
.login-btn:active { filter: brightness(0.95); }
video{
    width: 100%;
    height: auto;
}
.newsneirong img{
    width: 100%;
}
