/* ============================================================
   SIGN BOOKS — BOOKS / SHOP / CATALOGUE
   EDIT THE BOOK GRID, CARD SIZES AND SHOP COLORS HERE.
   Global colors/fonts live in assets/css/variables.css.
   ============================================================ */

.books-archive{
    padding:1rem 0 5rem;
    background:#fff;
}
.books-archive .site-container{
    width:min(calc(100% - 3rem),var(--content-max-width));
}

.books-archive__header{
    padding:0 0 1.5rem;
}

.product-breadcrumbs{
    margin-bottom:1.5rem;
    color:#777;
    font-size:.68rem;
}
.product-breadcrumbs a{
    color:#666;
    text-decoration:none;
}

.books-archive__title-row{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:2rem;
    padding-bottom:1.25rem;
    border-bottom:1px solid #e3e3e3;
}
.books-archive__title-row h1{
    margin:0 0 .45rem;
    font-size:clamp(2rem,4vw,3.5rem); /* EDIT SHOP TITLE SIZE */
    letter-spacing:-.03em;
}
.books-archive__intro,
.books-archive__description{
    max-width:650px;
    margin:0;
    color:#6f6f6f;
    font-size:.82rem; /* EDIT SHOP INTRO SIZE */
    line-height:1.7;
}
.books-archive__description p:last-child{margin-bottom:0}
.books-archive__count{
    white-space:nowrap;
    color:#777;
    font-size:.7rem; /* EDIT BOOK COUNT SIZE */
}

/* CATEGORY STRIP */
.books-category-strip{
    display:flex;
    gap:.35rem;
    overflow-x:auto;
    padding:1rem 0;
    border-bottom:1px solid #ededed;
    scrollbar-width:none;
}
.books-category-strip::-webkit-scrollbar{display:none}
.books-category-strip a{
    flex:0 0 auto;
    padding:.55rem .8rem;
    border:1px solid transparent;
    border-radius:999px;
    color:#555;
    font-size:.68rem; /* EDIT CATEGORY TEXT SIZE */
    font-weight:700;
    text-decoration:none;
}
.books-category-strip a:hover{
    border-color:var(--color-primary-border, #f4cbd3);
    color:var(--color-primary, #df1037);
}
.books-category-strip a.is-active{
    background:var(--color-primary, #df1037); /* EDIT ACTIVE CATEGORY */
    color:#fff;
}

/* TOOLBAR */
.books-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    margin-top:1.25rem;
    padding:.8rem;
    border:1px solid #e7ecef;
    border-radius:var(--radius-md);
    background:#fbfcfd;
}
.books-search{
    display:flex;
    width:min(520px,100%);
    border:1px solid #dfe4e7;
    border-radius:999px;
    overflow:hidden;
    background:#f7f8f9;
}
.books-search input{
    width:100%;
    min-width:0;
    padding:.72rem 1rem;
    border:0;
    outline:0;
    background:transparent;
    color:#222;
    font-size:.75rem;
}
.books-search:focus-within{border-color:var(--color-primary, #df1037);box-shadow:0 0 0 3px rgba(223,16,55,.12)}
.books-search button{
    width:46px;
    border:0;
    background:var(--color-primary, #df1037);
    color:#fff;
    cursor:pointer;
}
.books-search button:hover{background:var(--color-primary-dark, #b20d2c)}
.books-sort{
    display:flex;
    align-items:center;
    gap:.5rem;
}
.books-sort label{
    color:#777;
    font-size:.68rem;
}
.books-sort select{
    min-width:150px;
    padding:.65rem 2rem .65rem .75rem;
    border:1px solid #dfe4e7;
    border-radius:4px;
    background:#fff;
    color:#333;
    font-size:.7rem;
}

/* GRID */
.books-grid--archive{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:1.25rem;
}

/* CARD */
.book-card{
    position:relative;
    min-width:0;
    border:1px solid #e3e6e8;
    border-radius:5px;
    overflow:hidden;
    background:#fff;
    transition:transform var(--transition-fast),box-shadow var(--transition-fast);
}
.book-card:hover{
    transform:translateY(-3px);
    box-shadow:0 8px 22px rgba(0,0,0,.07);
}
.book-card__cover{
    position:relative;
    display:block;
    aspect-ratio:2/3;
    overflow:hidden;
    background:#f2f3f3;
}
.book-card__image,
.book-card__placeholder{
    width:100%;
    height:100%;
    object-fit:cover;
}
.book-card__image{
    transition:transform var(--transition-normal);
}
.book-card:hover .book-card__image{
    transform:scale(1.025);
}
.book-card__placeholder{
    display:grid;
    place-items:center;
    color:#888;
    background:#f2f2f2;
}
.book-card__badge{
    position:absolute;
    top:.6rem;
    left:.6rem;
    z-index:2;
    padding:.3rem .5rem;
    border-radius:3px;
    background:#c31435; /* EDIT SALE BADGE */
    color:#fff;
    font-size:.58rem;
    font-weight:800;
    text-transform:uppercase;
}
.book-card__body{
    padding:.75rem;
}
.book-card__author{
    margin:0 0 .7rem;
    color:#777;
    font-size:.58rem; /* EDIT AUTHOR SIZE */
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
}
/* CARD ORDER: title → author → price/cart */
.book-card__title{
    min-height:2.45em;
    margin:0 0 .28rem;
    font-size:.82rem; /* EDIT BOOK TITLE SIZE */
    line-height:1.35;
}
.book-card__title a{
    color:#171717;
    text-decoration:none;
}
.book-card__title a:hover{color:var(--color-primary, #df1037)}
.book-card__bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.5rem;
}
.book-card__price{
    color:#c31435; /* EDIT PRICE COLOR */
    font-size:.7rem; /* EDIT PRICE SIZE */
    font-weight:800;
}
.book-card__price del{
    color:#999;
    font-weight:400;
}
.book-card__price ins{text-decoration:none}
.book-card__add{
    display:grid;
    place-items:center;
    width:27px;
    height:27px;
    border-radius:50%;
    background:#36b86a; /* EDIT ADD BUTTON */
    color:#fff;
    font-size:1rem;
    font-weight:700;
    text-decoration:none;
}
.book-card__add:hover{filter:brightness(.94)}

/* PAGINATION */
.books-pagination{
    display:flex;
    justify-content:center;
    margin-top:2.5rem;
}
.books-load-more{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-width:240px;padding:.8rem 1.3rem;border:2px solid #36b86a;border-radius:999px;background:#fff;color:#25884a;font-size:.82rem;font-weight:800;cursor:pointer;box-shadow:0 8px 18px rgba(54,184,106,.1)}
.books-load-more:hover{background:#f0fbf4}.books-load-more:disabled{opacity:.65;cursor:wait}
.books-pagination ul{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:.35rem;
    margin:0;
    padding:0;
    list-style:none;
}
.books-pagination a,
.books-pagination span{
    display:grid;
    place-items:center;
    min-width:34px;
    height:34px;
    padding:0 .5rem;
    border:1px solid #e0e4e6;
    border-radius:4px;
    color:#444;
    font-size:.7rem;
    text-decoration:none;
}
.books-pagination .current{
    border-color:var(--color-primary, #df1037);
    background:var(--color-primary, #df1037);
    color:#fff;
}
.books-pagination a:hover{
    border-color:var(--color-primary, #df1037);
    color:var(--color-primary, #df1037);
}

/* EMPTY STATE */
.books-empty{
    display:grid;
    place-items:center;
    min-height:320px;
    padding:4rem 1rem;
    text-align:center;
    border:1px dashed #d8dde0;
    background:#fafafa;
}
.books-empty__mark{
    display:grid;
    place-items:center;
    width:70px;
    height:70px;
    margin-bottom:1.25rem;
    border-radius:50%;
    background:var(--color-primary, #df1037);
    color:#fff;
    font-size:1.15rem;
    font-weight:900;
}
.books-empty h2{
    margin:.25rem 0 .5rem;
    font-size:1.8rem;
}
.books-empty>p:not(.eyebrow){
    color:#777;
    font-size:.8rem;
}
.books-empty .button{
    margin-top:.5rem;
}

/* RESPONSIVE */
@media(max-width:1100px){
    .books-grid--archive{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:850px){
    .books-grid--archive{grid-template-columns:repeat(3,minmax(0,1fr))}
    .books-archive__title-row{align-items:start}
}
@media(max-width:650px){
    .books-archive{padding-bottom:3rem}
    .books-archive__title-row{flex-direction:column;gap:.6rem}
    .books-toolbar{align-items:stretch;flex-direction:column}
    .books-search{width:100%}
    .books-sort{justify-content:space-between}
    .books-sort select{flex:1}
    .books-grid--archive{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
    .book-card__body{padding:.6rem}
    .book-card__title{font-size:.75rem}
    .book-card__author{font-size:.53rem}
}
