*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px}
body{font-family:'Noto Sans KR','Malgun Gothic',sans-serif;color:#333;background:#fff;line-height:1.6;min-height:100vh}

.page-wrap{max-width:1200px;margin:0 auto;padding:0 20px}

/* ══════════ BANNER ══════════ */
.banner{
  margin-top:16px;
  background:linear-gradient(135deg,#e8f0fe 0%,#dce8fb 40%,#f0f4fa 100%);
  border-radius:16px;
  padding:24px 30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:relative;
  overflow:hidden;
  min-height:120px;
}
.banner-logo-left{flex-shrink:0;width:60px;margin-right:20px}
.banner-logo-left svg{display:block}
.banner-texts{flex:1;display:flex;flex-direction:column;gap:8px;align-items:center}
.banner-line{
  display:inline-block;
  background:linear-gradient(90deg,#e84560,#d43a55);
  color:#fff;
  font-size:15px;
  font-weight:700;
  padding:8px 28px;
  border-radius:22px;
  letter-spacing:.3px;
  white-space:nowrap;
  text-align:center;
}
.banner-line:nth-child(2){
  background:linear-gradient(90deg,#d43a55,#c0324c);
  font-size:14px;
  padding:7px 24px;
}
.banner-right{flex-shrink:0;display:flex;align-items:center;gap:14px;margin-left:20px}
.banner-right svg{display:block}
.banner-more{
  display:inline-flex;
  align-items:center;
  gap:4px;
  background:#f47920;
  color:#fff;
  font-size:13px;
  font-weight:700;
  padding:8px 16px;
  border-radius:6px;
  text-decoration:none;
  white-space:nowrap;
}
.banner-more:hover{background:#e06a15}

/* ══════════ HEADER (mascot area, white bg) ══════════ */
.header-section{padding:30px 0 10px;position:relative;min-height:160px}
.header-mascot{position:absolute;right:10px;top:10px;width:150px}
.header-mascot img{width:100%;height:auto}

/* ══════════ COUNT ══════════ */
.count-bar{padding:14px 0;font-size:15px;color:#333}
.count-bar strong{color:#333;font-weight:700;font-size:16px}

/* ══════════ LIST ══════════ */
.welfare-list-wrap{background:#fff;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden}
.welfare-item{display:flex;align-items:center;padding:20px 24px;border-bottom:1px solid #eee;cursor:pointer;transition:background .15s}
.welfare-item:last-child{border-bottom:none}
.welfare-item:hover{background:#f8faff}
.welfare-item-body{flex:1;min-width:0}
.welfare-item-title{font-size:15px;font-weight:700;color:#111;margin-bottom:5px}
.welfare-item-desc{font-size:13.5px;color:#666;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.welfare-item-arrow{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#bbb;margin-left:16px}
.welfare-item-arrow svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ══════════ PAGINATION ══════════ */
.pagination{display:flex;justify-content:center;align-items:center;gap:4px;padding:30px 0;flex-wrap:wrap}
.pg-btn{min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #ddd;border-radius:6px;background:#fff;font-size:13px;color:#555;cursor:pointer;font-family:inherit;padding:0 6px}
.pg-btn:hover{background:#f0f4ff;border-color:#b0c4ef}
.pg-btn.active{background:#2563eb;color:#fff;border-color:#2563eb;font-weight:700}
.pg-btn.nav{color:#888;font-size:11px}
.pg-btn:disabled{opacity:.35;cursor:default;pointer-events:none}

/* ══════════ BOTTOM BUTTON ══════════ */
.bottom-actions{display:flex;justify-content:center;padding:10px 0 50px}
.btn-home{display:inline-flex;align-items:center;justify-content:center;min-width:180px;height:48px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit}
.btn-home:hover{background:#1d4ed8}

/* ══════════ DETAIL VIEW ══════════ */
.detail-view{display:none}
.detail-view.active{display:block}
.list-view.hidden{display:none}

.detail-header{text-align:center;padding:40px 0 30px;border-bottom:1px solid #e0e0e0}
.detail-title{font-size:22px;font-weight:700;color:#111;margin-bottom:12px}
.detail-outline{font-size:15px;color:#555;line-height:1.7;max-width:700px;margin:0 auto}

.detail-section{padding:32px 0;border-bottom:1px solid #e8e8e8}
.detail-section:last-of-type{border-bottom:none}
.detail-section-q{font-size:17px;font-weight:600;color:#2563eb;margin-bottom:18px}
.detail-section-q span{color:#111}
.detail-card{background:#f7f8fa;border-radius:12px;padding:28px 32px}
.detail-card-label{font-size:16px;font-weight:700;color:#111;margin-bottom:12px;padding-left:12px;border-left:3px solid #2563eb}
.detail-card-body{font-size:15px;color:#444;line-height:1.8}
.detail-card-body ul{list-style:none;padding:0}
.detail-card-body li{padding:3px 0;position:relative;padding-left:16px}
.detail-card-body li::before{content:"\25A0";position:absolute;left:0;color:#666;font-size:8px;top:7px}
.detail-card-body li li::before{content:"\25CB";font-size:9px;top:6px}
.detail-card-body li ul{margin-top:2px}

.detail-mascot{position:absolute;right:20px;top:10px;width:100px;opacity:.6}
.detail-mascot img{width:100%}

.detail-back-area{display:flex;justify-content:center;padding:36px 0 50px}
.btn-back{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #d0d0d0;border-radius:8px;padding:12px 28px;font-size:15px;font-weight:600;color:#333;cursor:pointer;font-family:inherit}
.btn-back:hover{background:#f5f5f5;border-color:#aaa}

/* ══════════ RESPONSIVE ══════════ */
@media(max-width:480px){
  .banner{flex-direction:column;padding:16px;gap:12px}
  .banner-logo-left{width:40px;margin-right:0}
  .banner-right{margin-left:0}
  .banner-line{font-size:12px;padding:6px 14px}
  .header-mascot{width:80px}
  .welfare-item{padding:14px}
  .welfare-item-desc{white-space:normal}
  .detail-card{padding:16px}
}
