.bookentities-page { margin-bottom: 30px; }

.bookentities-search-form {
    display: flex;
    gap: 10px;
    align-items: flex-end;
    flex-wrap: wrap;
    margin-bottom: 15px;
}
.bookentities-search-form .field.search { flex: 1 1 360px; }
.bookentities-search-form .actions { flex: 0 0 auto; }

.bookentities-letters { margin: 10px 0 20px; }
.bookentities-letters-row {
    display: flex;
    flex-wrap: wrap; /* allow wrap (latin row + greek row) and avoid horizontal scroll */
    gap: 8px;
    margin: 6px 0;
    overflow: visible;
}

.bookentities-letter { text-decoration: none; padding: 4px 6px; border-radius: 4px; border: 1px solid rgba(0,0,0,.12); line-height: 1; }
.bookentities-letter.is-active { font-weight: 700; }

.bookentities-list {
    list-style: none;
    padding: 0;
    margin: 0;
    columns: 3;
    column-gap: 40px;
}
.bookentities-list-item { break-inside: avoid; padding: 6px 0; }
.bookentities-list-item a { text-decoration: none; }

.bookentities-hero { display: flex; gap: 25px; align-items: flex-start; margin: 0 0 25px; flex-wrap: wrap; }
.bookentities-hero-media { flex: 0 0 320px; max-width: 320px; }
.bookentities-entity-image { max-width: 100%; height: auto; display: block; }
.bookentities-hero-body { flex: 1 1 400px; min-width: 280px; }
.bookentities-description { margin-top: 10px; }
.bookentities-website { margin-top: 10px; }

.bookentities-products-title { margin: 0 0 12px; }
.bookentities-products-grid { margin: 0; }

@media (max-width: 900px) {
    .bookentities-list { columns: 2; }
}
@media (max-width: 600px) {
    .bookentities-list { columns: 1; }
    .bookentities-hero-media { flex-basis: 100%; max-width: 100%; }
}


.bookentities-products-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
}

.bookentities-products-grid {
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(2, auto);
    grid-auto-columns: 220px;
    gap: 16px;
}

.bookentities-products-grid .product-item {
    width: 220px;
}

/* Mobile/tablet: stack naturally (no forced horizontal scroll) */
@media (max-width: 768px) {
    .bookentities-products-scroll {
        overflow-x: visible;
        padding-bottom: 0;
    }

    .bookentities-products-grid {
        display: flex;
        flex-wrap: wrap;
        gap: 16px;
    }

    .bookentities-products-grid .product-item {
        width: calc(50% - 16px);
    }
}

@media (max-width: 520px) {
    .bookentities-products-grid .product-item {
        width: 100%;
    }
}


/* Product label (top-left) */
.bookentities-product-label{
  position:absolute;
  top:8px;
  left:8px;
  z-index:3;
}
.bookentities-product-label span{
  display:inline-block;
  padding:4px 8px;
  border-radius:3px;
  font-size:12px;
  line-height:1;
  background:#2e6da4;
  color:#fff;
  text-transform:uppercase;
}

/* Meta rows (SKU / ISBN / Availability) */
.bookentities-product-meta{
  margin-top:6px;
  font-size:12px;
}
.bookentities-meta-row{
  display:flex;
  gap:6px;
  align-items:center;
  line-height:1.3;
}
.bookentities-meta-key{
  font-weight:600;
  opacity:.85;
}
.bookentities-availability .bookentities-meta-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#3aa655;
  display:inline-block;
}

/* Ensure hover frame actions show */
.bookentities-products-grid .product-item-info{
  position:relative;
}
