/* Admin improvements */
.wrap .haa5-topbar{margin:8px 0 16px;display:flex;gap:8px;align-items:center}
.haa5-select{min-width:480px}
.haa5-form .haa5-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:12px;margin:12px 0}
.haa5-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.haa5-grid label{display:flex;flex-direction:column;gap:6px}
.haa5-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}
.haa5-card textarea{width:100%}
.haa5-multi{width:100%}

/* Frontend — containment and polish */
.haa5__panel, .haa5__fbt { position:relative; display:block; background:#fff; border:1px solid #e6edf5; border-radius:12px; padding:12px; margin:16px 0; box-shadow:0 8px 20px rgba(0,0,0,.05); z-index:0 }
.haa5__title{ font-weight:700; margin-bottom:8px }
.haa5__bubbles{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:8px }
.haa5__bubble{ padding:8px 14px; border-radius:999px; border:1px solid #dbeafe; background:#eff6ff; color:#073b61; cursor:pointer; transition:transform .15s ease }
.haa5__bubble:hover{ transform:translateY(-2px) }
.haa5__body{ position:relative }
.haa5__typing{ display:none; gap:8px; margin-bottom:8px }
.haa5__typing span{ width:8px; height:8px; background:#94a3b8; border-radius:50%; animation:haa5-bounce 1.2s infinite; display:inline-block }
@keyframes haa5-bounce{ 0%,80%,100%{ transform:scale(0) } 40%{ transform:scale(1) } }
.haa5__answers .haa5__answer{ display:none; padding:10px; border:1px solid #eef6ff; background:#fbfdff; border-radius:8px; line-height:1.5; overflow-wrap:anywhere }
.haa5__note{ margin-top:8px; padding:8px; background:#f7fbff; border-left:4px solid #0a8f5b; border-radius:6px; font-size:13px; color:#0a3f2b }
.haa5__purpose{ margin-top:8px; padding:8px; background:#f9fafb; border-radius:6px; font-weight:600; color:#0a3f2b }
.haa5__close{ position:absolute; right:8px; top:-8px; border:none; background:transparent; font-size:20px; cursor:pointer; color:#666 }

/* Carousel */
.haa5__carousel{ position:relative }
.haa5__car_track{ display:flex; gap:10px; overflow-x:auto; scroll-behavior:smooth; padding:4px }
.haa5__card{ min-width:160px; max-width:180px; border:1px solid #f1f5f9; background:#fafafa; border-radius:10px; padding:8px; text-decoration:none; color:inherit; transition:transform .15s ease }
.haa5__card:hover{ transform:translateY(-2px) }
.haa5__card img{ width:100%; border-radius:8px; display:block }
.haa5__card_t{ font-weight:600; margin-top:6px; font-size:13px; min-height:32px }
.haa5__card_p{ font-weight:600; margin-top:4px; font-size:13px }
.haa5__car_btn{ position:absolute; top:40%; transform:translateY(-50%); border:none; background:#fff; border:1px solid #e5e7eb; border-radius:999px; width:28px; height:28px; cursor:pointer; box-shadow:0 2px 6px rgba(0,0,0,.06) }
.haa5__car_btn.prev{ left:-8px } .haa5__car_btn.next{ right:-8px }

/* FBT */
.haa5__fbt_head{ text-align:center; font-weight:700; }
.haa5__fbt_sub{ text-align:center; color:#6b7280; font-size:12px; margin-bottom:10px }
.haa5__fbt_list{ display:flex; gap:10px; overflow-x:auto; padding-bottom:6px; justify-content:center; flex-wrap:wrap }
.haa5__fbt_card{ width:150px; border:1px solid #f1f5f9; border-radius:10px; padding:8px; background:#fafafa; text-align:center }
.haa5__fbt_title{ font-size:13px; margin-top:6px; min-height:32px }
.haa5__fbt_price{ font-weight:600; margin-top:4px }
.haa5__fbt_summary{ display:flex; justify-content:space-between; align-items:center; margin-top:8px; gap:10px; flex-wrap:wrap }
.haa5__fbt_add{ background:#0a8f5b; color:#fff; border:none; border-radius:8px; padding:8px 12px; cursor:pointer }

@media (max-width:782px){
  .haa5__bubbles{ overflow-x:auto }
}
