/* File: css/custom-docs.css */

.ebook-card {
    background-color: #fff;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.ebook-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.ebook-card a {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.ebook-cover-container {
    width: 100%;
    padding-top: 141.42%; /* Tỉ lệ 1:sqrt(2) cho bìa sách */
    position: relative;
    background-color: #f0f0f0;
}

.ebook-cover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ebook-info {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.ebook-title {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 10px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 2.5em; /* Đảm bảo 2 dòng chiều cao */
}

.ebook-desc {
    font-size: 0.9rem;
    color: #6c757d;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-grow: 1;
}
/* Card gọn, đều nhau */
.ebook-card{
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 4px 16px rgba(0,0,0,.04);
  transition: transform .12s ease, box-shadow .12s ease;
}
.ebook-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,.07);
}

/* Ảnh bìa cố định tỉ lệ để mọi ô cao đều */
.ebook-cover-container{
  position: relative;
  aspect-ratio: 3 / 4;      /* đồng đều chiều cao */
  background: #f6f7f9;
}
.ebook-cover{
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  display: block;
}

/* Nội dung súc tích */
.ebook-info{ padding: 12px 12px 14px; }
.ebook-title{
  font-size: .98rem;
  line-height: 1.25rem;
  margin: 0 0 6px;
  font-weight: 600;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}
.ebook-desc{
  color: #6c757d;
  font-size: .88rem;
  line-height: 1.2rem;
  margin: 0 0 8px;
  min-height: 2.4rem; /* giữ chiều cao hàng mô tả đồng đều */
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}

.badge{
  font-weight: 500;
  border-radius: 999px;
}

/* Nút nhỏ gọn */
.btn.btn-sm{ padding: .35rem .6rem; }

/* Tối ưu hiển thị lớn: hơi thu nhỏ text để card trông nhỏ gọn */
@media (min-width: 1200px){
  .ebook-title{ font-size: .95rem; }
  .ebook-desc{  font-size: .85rem; }
}

/* Khoảng cách đều giữa các cột (đã dùng g-3/g-lg-4 trong HTML) */
/* === Search bar: 80% & centered === */
.custom-form .search-bar{
  width: 80%;
  max-width: 960px;      /* để không quá dài trên màn lớn */
}

/* căn giữa toàn form */
.custom-form .search-bar.mx-auto{
  margin-left: auto;
  margin-right: auto;
}

/* đảm bảo 3 phần tử cao bằng nhau */
.custom-form .search-bar{
  align-items: stretch;      /* mặc định của input-group, nhấn lại cho chắc */
}
.custom-form .search-bar > .input-group-text,
.custom-form .search-bar > .btn{
  display: flex;             /* giúp icon & text nằm giữa chiều dọc */
  align-items: center;
  padding-top: .5rem;        /* Match với form-control mặc định */
  padding-bottom: .5rem;
  border-width: var(--bs-border-width);
}

/* icon trong ô kính lúp */
.custom-form .search-bar .input-group-text i{
  font-size: 1rem;
  line-height: 1;
}

/* nếu bạn đang dùng .btn-sm cho nút Search, bỏ đi để đồng bộ chiều cao */
/* Card nhỏ gọn */
.ebook-card{
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 4px 14px rgba(0,0,0,.04);
}

/* Ảnh bìa thấp hơn chút để tổng chiều cao giảm */
.ebook-cover-container{
  aspect-ratio: 2 / 3;              /* từ 3/4 -> 2/3 để card thấp hơn */
  background: #f6f7f9;
}
.ebook-cover{
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
}

.ebook-info{ padding: 10px 10px 12px; }

.ebook-title{
  font-size: .9rem;
  line-height: 1.2rem;
  margin: 0 0 6px;
  font-weight: 600;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}

.ebook-desc{
  color: #6c757d;
  font-size: .82rem;
  line-height: 1.15rem;
  margin: 0 0 8px;
  min-height: 2.3rem;               /* giữ hàng đều nhau */
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}

.badge{
  font-size: .72rem;
  font-weight: 500;
  padding: .25em .5em;
  border-radius: 999px;
}

.btn.btn-sm{
  padding: .3rem .55rem;
  font-size: .82rem;
}
