/* Home features: card grid for legacy JS-generated lists (UC-safe) */

/* ===== Page head (same vibe as Shop) ===== */
.wrap{ max-width:1100px; margin:0 auto; }
.headbar{ padding:16px 0 10px 0; }
.row{ display:flex; align-items:flex-end; justify-content:space-between; }
.title{
  margin:0;
  font-size:34px;
  line-height:1.1;
  font-weight:900;
  color:#b91c1c;
  letter-spacing:.2px;
}
.subtitle{ color:#64748b; margin-top:6px; font-size:14px; }
.badge{
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  background:#e7f0ff;
  color:#1d4ed8;
  font-weight:800;
  font-size:12px;
  border:1px solid #d6e6ff;
  white-space:nowrap;
}

@media (max-width: 600px){
  .row{ display:block; }
  .title{ font-size:28px; }
  .badge{ margin-top:8px; }
}

/* ===== Normalize legacy wrapper that caused left-indent on some pages ===== */
.fl.user-right{ float:none !important; width:100% !important; }
.fl.user-right .side-bg{ display:none !important; }
.fl.user-right .main,
.fl.user-right .content,
.fl.user-right .user-form{
  margin:0 !important;
  padding:0 !important;
  width:auto !important;
}
.fl.user-right .user-head2{ margin:0 0 8px 0 !important; padding:0 !important; }
.feature-area{
  margin: 12px 0 18px 0;
  padding: 14px;
  background:#fff;
  border:1px solid #eef2f7;
  border-radius:16px;
}
.feature-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  /* avoid flex-gap for old UC */
  margin-bottom:10px;
}
.feature-head > *{ margin-left:10px; }
.feature-head > *:first-child{ margin-left:0; }
.feature-title{
  font-weight:900;
  color:#0f172a;
  letter-spacing:.3px;
}
.feature-sub{
  color:#64748b;
  font-size:12px;
  text-align:right;
}

/* legacy structure */
.feature-list .hang{
  /* UC-safe grid:
     - Avoid flex-gap (often broken)
     - Avoid calc() for widths on old UC
     - Avoid hard "rows of 3" in JS (we render all items in 1 .hang)
     Use justify-content:space-between so gutters are always symmetric.
  */
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  margin: 0 0 12px 0;
}
.feature-list .item{
  /* Fixed width so last row never stretches full width */
  flex: 0 0 auto;
  width: 32.2%;
  min-width: 0;
  background:#f8fafc;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:12px;
  display:flex;
  /* spacing (UC-safe) */
  margin: 0 0 12px 0;
  box-sizing:border-box;
  align-items:flex-start;
}
.feature-list .zb{
  width:64px;
  height:64px;
  border-radius:12px;
  background:#fff;
  border:1px solid #e5e7eb;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 64px;
  overflow:hidden;
}
.feature-list .zb img{
  max-width: 64px;
  max-height: 64px;
  display:block;
}
.feature-list .wz{
  flex:1;
  min-width:0;
}
.feature-list .wz p{
  margin:0 0 6px 0;
  color:#0f172a;
  font-size:13px;
  line-height:1.35;
}
.feature-list .wz p span{
  color:#1d4ed8;
  font-weight:800;
}
.feature-list .wz input{
  padding:6px 8px;
  border:1px solid #dbe3ee;
  border-radius:10px;
  outline:none;
}
.feature-list .wz a,
.feature-list .wz button.send{
  display:inline-block;
  padding:8px 12px;
  border-radius:12px;
  background:#15803d;
  color:#fff;
  text-decoration:none;
  font-weight:800;
  border:0;
  cursor:pointer;
  margin-top:4px;
}
.feature-list .wz a:hover,
.feature-list .wz button.send:hover{ opacity:.92; }

/* Mobile */
@media (max-width: 900px){
  /* Mobile/Tablet: always 2 columns */
  .feature-list .item{ width: 49%; }
}

@media (max-width: 600px){
  .feature-head{ display:block; }
  .feature-sub{ text-align:left; margin-top:4px; }

  /* On mobile, stack image on top to prevent "lộn xộn" when text wraps */
  .feature-list .item{
    flex-direction:column;
    align-items:stretch;
  }
  .feature-list .zb{
    width:72px;
    height:72px;
    margin:0 0 8px 0;
  }
  .feature-list .zb img{ max-width:72px; max-height:72px; }
}

/* Keep 2 columns on very small screens too (per requirement) */
@media (max-width: 420px){
  .feature-list .item{ width: 49%; }
}
