.cntl-wrapper,.commitm{width:100%!important}.main-site-wrapper,main{background:0 0!important}#search-page .search-hidden-aside{display:none!important}.search-layout-container>aside:not(#search-sidebar){display:none!important}.search-layout-container{display:flex!important;flex-direction:row!important;gap:20px!important;align-items:flex-start!important;width:100%!important}.search-layout-container>#search-sidebar{order:2!important;flex-shrink:0!important;max-width:35%!important;display:flex!important;flex-direction:column!important;gap:16px!important}.search-layout-container>#search-page{order:1!important;flex:1!important;min-width:0!important;width:auto!important}.search-layout-container>#search-sidebar>#tags-block{width:100%!important;display:flex!important;flex-direction:column!important;flex-wrap:wrap!important;margin-top:16px!important}main>section#tags-block:not(#search-sidebar #tags-block){display:none!important}@media (min-width:961px){#search-page #tags-block,#search-tags-mobile{display:none!important}}#search-sidebar{display:flex!important;min-width:280px!important;max-width:35%!important;padding-top:0!important;flex-direction:column!important;gap:16px!important}#search-sidebar #tags-block{width:100%!important;display:flex!important;flex-direction:column!important;flex-wrap:wrap!important;margin-top:0!important;order:2!important}#search-sidebar .card{order:1!important}#search-page{display:flex!important;gap:16px;flex-direction:column;align-items:flex-start;flex:1!important;min-width:0!important}#search-page section,#tags-block .tags-card.full{width:100%}#search-page #search-block{display:flex!important;visibility:visible!important;opacity:1!important}#search-page * h1{font-size:1.5rem!important}#search-page #search-block{background-image:url("/assets/img/layout/search-test.jpg");border-radius:8px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:32px;background-position-y:40%}#search-page #search-block h1{font-weight:700;color:#fff;font-size:2.5rem!important;margin-bottom:0}#search-page #search-block form{border-radius:8px;background:rgba(0,0,0,.6);display:flex;padding:12px 16px;flex-direction:column;align-items:flex-start;gap:10px;align-self:stretch}#search-page #search-block form #search-targets,#tags-block .tags-card .tags{display:flex;flex-wrap:wrap;gap:5px}#search-page #search-block form #search-targets p{font-size:16px;font-weight:500;padding-right:8px;width:fit-content;color:#fff;display:table-cell;padding-top:4px}#search-page #search-block form #search-checkboxes input[type=checkbox],#search-page #search-block form #search-targets div input[type=radio],#search-page .search-checkbox-item input[type=checkbox]{position:absolute;clip:rect(0,0,0,0)}#search-page #search-block form #search-targets div input[type=radio]+label{display:inline-block;padding:4px 16px;border-radius:40px;border:1px solid #65c6c9;color:#fff;font-size:16px}#search-page #search-block form #search-targets div input[type=radio]:checked+label{background:#65c6c9}#search-page #search-block form #search-targets div input[type=radio]:focus-visible+label,#search-page .search-checkbox-item input[type=checkbox]:focus-visible+label{outline:2px solid #fff;outline-offset:2px;box-shadow:0 0 0 2px rgba(101,198,201,.85);background-color:rgba(101,198,201,.25)}#search-page #search-block form #search-targets div label:hover{background:rgba(101,198,201,.5)}#search-page #search-block form #search-main{gap:16px;display:flex;align-items:center;align-self:stretch}#search-page #search-block form #search-main input[type=text]{padding:16px;border-radius:10px;background:#fff;width:80%;border:none;color:#8c9cac;outline:0}#search-page #search-block form #search-main input[type=text]::placeholder{color:#9e9e9e;opacity:1}#search-page #search-block form #search-main button[type=submit]{width:100%;padding:16px;border-radius:10px;background:#0fa6ab;border:none;color:#fff;font-size:100%}#search-page #search-block form #search-params{display:flex;flex-wrap:wrap;gap:16px;align-items:center}#search-page #search-block form #search-params input[type=number],#search-page #search-block form #search-params input[type=text],#search-page #search-block form #search-params select{padding:9px 16px;background:#fff;border-radius:10px;-moz-appearance:textfield;color:#8c9cac;outline:0}#search-page #search-block form #search-params input[type=number]::-webkit-inner-spin-button,#search-page #search-block form #search-params input[type=number]::-webkit-outer-spin-button,#search-page #search-block form #search-params input[type=text]::-webkit-inner-spin-button,#search-page #search-block form #search-params input[type=text]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}#search-page #search-block form #search-params input[type=number],select[name=grl]{width:15%}#search-page #search-block form #search-checkboxes{display:flex;flex-wrap:wrap;gap:5px 24px}#search-page #search-block form #search-checkboxes label,#search-page .search-checkbox-item label{color:#fff}#search-page #search-block form #search-checkboxes input[type=checkbox]+label::before,#search-page .search-checkbox-item input[type=checkbox]+label::before{content:'';display:inline-block;width:1em;height:1em;flex-shrink:0;flex-grow:0;border:1px solid #adb5bd;border-radius:.25em;margin-right:.5em;background-repeat:no-repeat;background-position:center center;background-size:50% 50%}#search-page #search-block form #search-checkboxes input[type=checkbox]:checked+label::before,#search-page .search-checkbox-item input[type=checkbox]:checked+label::before{border-color:#65c6c9;background:url("/assets/img/icons/svg/check.svg") 0 0/cover #65c6c9}#search-page #search-block form #advanced-filter-button{color:#fff;cursor:pointer}#search-page #bookslist-operation{background:#fff;border-radius:10px;padding:24px;display:flex;flex-direction:column;gap:40px}#search-page #bookslist-operation h1{padding:0}#search-page #bookslist-operation * :not(h1){color:#000}#search-page #bookslist-operation * .description{font-weight:600;padding:10px;border:1px solid #65c6c9}#search-page #bookslist-operation .operations{display:flex;flex-direction:row;gap:5%}#search-page #bookslist-operation .operations #bookslist-remove{width:47.5%}#search-page #bookslist-operation .operations #bookslist-add{display:flex;flex-direction:column;width:47.5%}#search-page #bookslist-operation .operations #bookslist-add select{border:none;border-bottom:1px solid #65c6c9;border-radius:10px;padding:8px 0 8px 5px}#search-sidebar #tags-block{display:flex!important;flex-direction:column!important;flex-wrap:wrap!important;width:100%!important;margin-top:16px!important}#tags-block{display:flex;flex-wrap:wrap}@media (min-width:961px){#search-sidebar #tags-block{display:flex!important;flex-direction:column!important;flex-wrap:wrap!important;width:100%!important;margin-top:16px!important}#search-page #tags-block,#search-tags-mobile{display:none!important}}#tags-block .tags-card{display:flex;flex-direction:column;gap:10px;border-radius:10px;background:#fff;padding:24px;height:fit-content}#tags-block .tags-card .tags-card-header{display:flex;justify-content:space-between;margin-bottom:10px;position:relative;width:100%}#tags-block .tags-card .tags-card-header h1{padding:0;margin:0;z-index:1;pointer-events:none}#tags-block .tags-card .tags-card-header .tags-card-expanded{margin:auto 0;cursor:pointer;background:0 0;border:none;position:absolute;right:0;top:0;height:100%;width:100px;display:flex;align-items:center;justify-content:flex-end;padding-right:10px}#tags-block .tags-card .tags .tag,#tags-block .tags-card .tags .tag1,#tags-block .tags-card .tags .tag2{padding:5px 12px;color:#0fa6ab;border-radius:10px;border:1px solid #0fa6ab;height:fit-content;user-select:none;width:fit-content}#tags-block .tags-card .tags .tag.more{margin-top:0;border-color:#0f5bab;color:#0f5bab}#tags-block .tags-card .tags .tag1{background:#e0f0e0}#tags-block .tags-card .tags .tag2{background:#f0e0e0;text-decoration:line-through}#tags-block .tags-card .tags .tag:hover{background:rgba(101,198,201,.3)}#search-page #result{background:#fff;display:flex;flex-direction:column;gap:20px;border-radius:10px;padding:24px}.commitm{border-bottom:none!important;padding:24px!important}#result button{width:fit-content;background:0 0;padding:5px 12px;color:#0fa6ab;border-radius:10px;border:1px solid #0fa6ab;height:fit-content;user-select:none}.search-main-actions{display:flex;align-items:center;gap:inherit;width:20%}#toggleAdditionalParamsExtFilter{display:none;max-width:40px;cursor:pointer}#search-checkboxes-mobile,#search-params-mobile,#search-tags-mobile{display:none}@media screen and (max-width:1000px){#result .items{gap:10px 2.5%!important}#result .items .item_card{width:22.5%!important}}@media screen and (max-width:960px){#result .items{gap:10px .5%!important}#result .items .item_card{width:33%!important}}@media screen and (max-width:650px){#result .items .item_card{width:49%!important}}@media screen and (max-width:550px){#result .items .item_card{width:100%!important}#result .items .item_card img{max-height:145px!important;max-width:100px!important;aspect-ratio:200/284!important;object-fit:cover!important}}@media screen and (max-width:949px){#search-page #search-block form #search-params,#search-page #search-block form #search-targets *{font-size:12px!important}#search-page #search-block form #search-main button[type=submit],#search-page #search-block form #search-main input[type=text]{font-size:16px!important}#search-page #search-block form #search-main{gap:10px;flex-direction:column}#search-page #search-block form #search-main *{width:100%!important;font-size:12px!important}#search-page #search-block form #search-params{gap:5%}#search-page #search-block form #search-params input[type=number],#search-page #search-block form #search-params input[type=text]{width:47.5%}#search-page #search-block form #search-params select{width:100%}#search-page #search-block form #search-checkboxes *{font-size:12px}#tags-block .tags-card .tags-card-header h1{font-size:2rem!important}#tags-block .tags-card .tags-card-header .tags-card-expanded{margin:1rem 0!important}#tags-block .tags-card .tags .tag{font-size:13px!important}#bookslist-operation .operations{flex-direction:column!important}#search-page #bookslist-operation .operations #bookslist-add,#search-page #bookslist-operation .operations #bookslist-remove{width:100%!important}}@media screen and (max-width:514px){#search-page #search-block h1{font-size:2.5rem!important}#search-page #search-block form #search-params{font-size:8px}}@media screen and (max-width:400px){#search-page #search-block #search-main,#search-page #search-block form #search-params{font-size:6px}}@media screen and (max-width:749px){#tags-block .tags-card{width:100%}}@media (max-width:750px){.tags_left_column,.tags_right_column{display:flex;flex-direction:column;width:100%;padding-top:5px;gap:5px}}@media (min-width:750px){.tags_left_column,.tags_right_column{display:flex;flex-direction:column;width:50%;padding-top:5px;gap:5px}.tags_left_column{padding-right:2px}.tags_right_column{padding-left:2px}}@media (max-width:960px){#search-sidebar{display:none!important}#search-page #search-block form #search-main{gap:10px}#search-main .search-main-actions{flex-direction:row;justify-content:space-between}#search-main button[type=submit]{flex-grow:1}#search-main .search-input-wrapper{position:relative;width:100%}#search-main .search-input-wrapper input[type=text]{width:100%;padding-right:44px}#search-main .search-input-wrapper .search-clear-btn{position:absolute;top:50%;right:12px;transform:translateY(-50%);border:none;background:transparent;color:#8c9cac;padding:8px;width:auto!important;height:auto!important;display:none;align-items:center;justify-content:center;line-height:1;cursor:pointer}#search-main .search-input-wrapper .search-clear-btn.visible{display:flex}#search-main .search-input-wrapper .search-clear-btn:focus-visible{outline:2px solid #0fa6ab;border-radius:50%}#toggleAdditionalParamsExtFilter{flex-shrink:0;display:flex!important;max-width:40px;cursor:pointer}#search-page{flex-direction:column}}.page-container{display:flex;gap:20px;align-items:flex-start}.content{flex:1;min-width:0}.sidebar{flex:1;padding:1rem;border-radius:8px}.sidebar h3{margin-top:0}.sidebar ul{list-style:none;padding:0}.sidebar ul li a{text-decoration:none;color:#007bff}.sidebar ul li a:hover{text-decoration:underline}
#result.no-more-button{padding-bottom:0}#result.no-more-button .items{margin-bottom:0}
/* Отступы между карточками книг (поиск, каталог) */
#result .items{display:flex!important;flex-direction:column!important;gap:10px!important}
/* Десктоп: меньше паддинги карточек, меньше отступ между карточками */
@media (min-width:1025px){
#search-page #result{padding:16px!important}
#search-page #result .item_card .commitm,
#search-page #result .item_card .bookinfo,
#search-page #result .commitm{padding:12px!important}
#search-page #result .items{gap:16px!important}
}
.search-main__input-wrapper{position:relative;width:100%;}.search-suggestions{display:none;position:absolute;top:100%;left:0;right:auto;width:min(640px,calc(100vw - 32px));min-width:100%;background:#fff;border:1px solid #e4e4e4;box-shadow:0 10px 30px rgba(0,0,0,.08);border-radius:10px;margin-top:6px;z-index:5;max-height:360px;overflow-y:auto;}.search-suggestions.is-visible{display:block;}.search-suggestion{width:100%;border:0;background:transparent;display:flex;justify-content:space-between;align-items:flex-start;padding:10px 14px;gap:10px;cursor:pointer;white-space:normal;text-align:left;}.search-suggestion:hover,.search-suggestion:focus{background:#f5f9fb;outline:none;}.search-suggestion__type{font-size:12px;color:#7a7a7a;text-transform:uppercase;white-space:nowrap;flex:0 0 auto;}.search-suggestion__text{display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;gap:2px;}.search-suggestion__label{color:#202020;font-weight:600;line-height:1.4;text-align:left;flex:1;overflow-wrap:anywhere;word-break:normal;}.search-suggestion__subtitle{color:#6b7280;font-size:12px;line-height:1.3;overflow-wrap:anywhere;}.search-suggestion__fuzzy{display:inline-flex;align-items:center;padding:1px 8px;border-radius:10px;background:#e6f8f8;color:#0b7f84;font-size:11px;line-height:1.4;}.search-suggestion--hint,.search-suggestion--loading{color:#52606d;cursor:default;}
/* Десктоп: крестик очистки в поле поиска (раньше без стилей — виден как дефолтная кнопка) */
#search-page #search-block form #search-main .search-main__input-wrapper input[type="text"]{padding-right:44px;box-sizing:border-box;}
#search-main .search-main__input-wrapper .search-clear-btn{position:absolute;top:50%;right:10px;transform:translateY(-50%);width:32px;height:32px;padding:0;margin:0;border:none;border-radius:50%;background:transparent;color:#8c9cac;display:none;align-items:center;justify-content:center;cursor:pointer;line-height:0;z-index:2;transition:color .15s ease,background .15s ease;-webkit-appearance:none;appearance:none;}
#search-main .search-main__input-wrapper .search-clear-btn svg{display:block;pointer-events:none;flex-shrink:0;}
#search-main .search-main__input-wrapper .search-clear-btn.visible{display:flex;}
#search-main .search-main__input-wrapper .search-clear-btn:hover{color:#0fa6ab;background:rgba(15,166,171,.1);}
#search-main .search-main__input-wrapper .search-clear-btn:focus-visible{outline:2px solid #0fa6ab;outline-offset:2px;}
/* Пустое состояние поиска */
.search-results-empty__state{box-sizing:border-box;padding:32px!important;text-align:center;}
.search-results-empty__text{max-width:760px;margin:0 auto 16px;line-height:1.5;}
.search-results-empty__cta{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 24px;}
.search-results-empty__cta .btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;margin:0!important;white-space:normal;}
.search-results-empty__cta .search-empty-clear.btn{background:#0fa6ab;color:#fff;border-color:#0fa6ab;}
.search-results-empty__cta .search-empty-clear.btn:hover,.search-results-empty__cta .search-empty-clear.btn:focus{background:#0b8b90;color:#fff;border-color:#0b8b90;}
.search-empty-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;width:100%;max-width:920px;margin:0 auto;text-align:left;}
.search-empty-card{box-sizing:border-box;padding:16px;border:1px solid #dce7ef;border-radius:8px;background:#f9fcff;text-align:left;}
.search-empty-card h4{margin:0 0 12px;font-size:16px;line-height:1.25;color:#2f3f4f;}
.search-empty-list{margin:0;padding-left:18px;}
.search-empty-list li{margin:6px 0;line-height:1.4;}
.search-empty-list a{color:#0b8b90;text-decoration:none;}
.search-empty-list a:hover{text-decoration:underline;}
.search-empty-list span{color:#6b7280;font-size:13px;}
.search-empty-tags{display:flex;flex-wrap:wrap;gap:8px 10px;}
.search-empty-tags a{display:inline-flex;align-items:center;max-width:100%;padding:6px 12px;border-radius:999px;border:1px solid #0fa6ab;color:#0fa6ab;text-decoration:none;font-size:13px;line-height:1.25;overflow-wrap:anywhere;}
.search-empty-tags a:hover{background:rgba(15,166,171,.08);}
@media (max-width:600px){
    .search-results-empty__state{padding:24px 16px!important;}
    .search-results-empty__cta .btn{width:100%;}
    .search-empty-grid{grid-template-columns:1fr;}
}

/* Catalog tags multiselect: choose several tags before applying filters. */
.search-tags-apply {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid #d6eef0;
    border-radius: 12px;
    background: #f4fbfc;
    color: #53636f;
    font-size: 13px;
    line-height: 1.35;
}
.search-tags-apply--dirty {
    border-color: #0fa6ab;
    background: #eefafa;
}
.search-tags-apply__summary {
    min-width: 0;
    overflow-wrap: anywhere;
}
.search-tags-apply__button {
    flex: 0 0 auto;
    border: 1px solid #0fa6ab;
    border-radius: 10px;
    background: #0fa6ab;
    color: #fff;
    font-weight: 700;
    padding: 8px 12px;
    cursor: pointer;
}
.search-tags-apply__button:disabled {
    border-color: #d6e2e5;
    background: #eef3f5;
    color: #8b9aa5;
    cursor: default;
}
.search-tags-apply__button:not(:disabled):hover,
.search-tags-apply__button:not(:disabled):focus {
    background: #0b8b90;
    border-color: #0b8b90;
}
.search-tags-help {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px 12px;
    border: 1px dashed #c8e6e8;
    border-radius: 12px;
    background: #fbffff;
    color: #53636f;
    font-size: 13px;
    line-height: 1.35;
}
.search-tags-help__title {
    font-weight: 700;
    color: #20313a;
}
.search-tags-help__items {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
}
.search-tags-help__items span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.search-tags-help__mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border: 1px solid #cad7dc;
    border-radius: 50%;
    background: #fff;
    color: #53636f;
    font-size: 14px;
    line-height: 1;
}
.search-tags-help__mark--include {
    border-color: #0fa6ab;
    background: #e8faf8;
    color: #087c80;
}
.search-tags-help__mark--exclude {
    border-color: #f0a0a0;
    background: #fff0f0;
    color: #b42318;
}
#tags-block .tags-card .tags .tag1,
#tags-block .tags-card .tags .tag2 {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
#tags-block .tags-card .tags .tag1::before,
#tags-block .tags-card .tags .tag2::before {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    font-weight: 700;
    line-height: 1;
}
#tags-block .tags-card .tags .tag1::before {
    content: "+";
    background: #0fa6ab;
    color: #fff;
}
#tags-block .tags-card .tags .tag2::before {
    content: "−";
    background: #d84c4c;
    color: #fff;
}
@media (max-width: 949px) {
    .search-tags-apply {
        align-items: stretch;
        flex-direction: column;
    }
    .search-tags-apply__button {
        width: 100%;
    }
}

/* Mobile search cards: keep covers readable and prevent title/author columns from collapsing. */
@media (max-width: 600px) {
    #search-page #result .item_card.item_card--mobile-full {
        padding: 14px !important;
        box-sizing: border-box !important;
    }

    #search-page #result .item_card.item_card--mobile-full .commitm,
    #search-page #result .item_card.item_card--mobile-full .commitm.seriawrapper {
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    #search-page #result .item_card.item_card--mobile-full .commitm > div:has(> .w300b):has(> .w600),
    #search-page #result .item_card.item_card--mobile-full .bookinfo > div:has(> .w300b):has(> .w600),
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .commitm > div:has(> .w300b):has(> .w600),
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .bookinfo > div:has(> .w300b):has(> .w600) {
        display: grid !important;
        grid-template-columns: 104px minmax(0, 1fr) !important;
        gap: 10px 12px !important;
        align-items: start !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    #search-page #result .item_card.item_card--mobile-full .w300b,
    #search-page #result .item_card.item_card--mobile-full .ptr,
    #search-page #result .item_card.item_card--mobile-full .seriaclass,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .w300b,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .ptr,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .seriaclass {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 104px !important;
        max-width: 104px !important;
        min-width: 0 !important;
        margin: 0 !important;
        float: none !important;
    }

    #search-page #result .item_card.item_card--mobile-full .w600,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .w600 {
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        float: none !important;
    }

    #search-page #result .item_card.item_card--mobile-full .w300b .relat,
    #search-page #result .item_card.item_card--mobile-full .ptr .relat,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .w300b .relat,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .ptr .relat {
        width: 104px !important;
        max-width: 104px !important;
        height: auto !important;
        overflow: visible !important;
        border-radius: 8px !important;
    }

    #search-page #result .item_card.item_card--mobile-full .w300b picture,
    #search-page #result .item_card.item_card--mobile-full .ptr picture,
    #search-page #result .item_card.item_card--mobile-full .w300b img,
    #search-page #result .item_card.item_card--mobile-full .ptr img,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .w300b picture,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .ptr picture,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .w300b img,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .ptr img {
        width: 104px !important;
        max-width: 104px !important;
        height: auto !important;
        aspect-ratio: 200 / 284 !important;
        object-fit: contain !important;
        object-position: center !important;
        box-sizing: border-box !important;
    }

    #search-page #result .item_card.item_card--mobile-full .bookname .txt,
    #search-page #result .item_card.item_card--mobile-full .bookname a,
    #search-page #result .item_card.item_card--mobile-full .flex_trophy .bookname .txt,
    #search-page #result .item_card.item_card--mobile-full .flex_trophy .bookname a,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .bookname .txt,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .bookname a {
        font-size: 18px !important;
        line-height: 1.25 !important;
        font-weight: 700 !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        hyphens: auto !important;
    }

    #search-page #result .item_card.item_card--mobile-full .book-author-line,
    #search-page #result .item_card.item_card--mobile-full .author_link,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .book-author-line,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .author_link {
        font-size: 14px !important;
        line-height: 1.25 !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        hyphens: auto !important;
    }

    #search-page #result .item_card.item_card--mobile-full .synopsis,
    #search-page #result .item_card.item_card--mobile-full .description,
    #search-page #result .item_card.item_card--mobile-full .book-card-mini__synopsis,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .synopsis,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .description,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .book-card-mini__synopsis {
        font-size: 14px !important;
        line-height: 1.35 !important;
        max-height: 5.4em !important;
        overflow: hidden !important;
    }
}

@media (max-width: 960px) {
    #search-page #result .item_card.item_card--mobile-full .w300b picture,
    #search-page #result .item_card.item_card--mobile-full .ptr picture,
    #search-page #result .item_card.item_card--mobile-full .w300b img,
    #search-page #result .item_card.item_card--mobile-full .ptr img,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .w300b picture,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .ptr picture,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .w300b img,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .ptr img {
        object-fit: contain !important;
        object-position: center !important;
    }
}
.search-range {
    display: flex;
    gap: 8px;
    align-items: center;
}
.search-range .form-control {
    min-width: 0;
}
.search-range-error {
    margin-top: 6px;
    color: #b42318;
    font-size: 12px;
    line-height: 1.35;
}
.search-range .form-control[aria-invalid="true"] {
    border-color: #b42318;
    box-shadow: 0 0 0 2px rgba(180, 35, 24, .12);
}
.search-filter-label {
    font-weight: 600;
    margin-bottom: 6px;
    color: #586673;
}
.search-history {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #e4e4e4;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
    border-radius: 10px;
    margin-top: 6px;
    z-index: 5;
    max-height: 320px;
    overflow-y: auto;
    padding: 10px 14px;
}
.search-history.is-visible {
    display: block;
}
.search-history__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}
.search-history__title {
    font-size: 12px;
    color: #7a7a7a;
    text-transform: uppercase;
}
.search-history__clear {
    border: none;
    background: transparent;
    color: #0fa6ab;
    font-size: 12px;
    cursor: pointer;
}
.search-history__row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}
.search-history__row:last-child {
    margin-bottom: 0;
}
.search-history__item {
    flex: 1;
    border: 0;
    background: transparent;
    color: #202020;
    font-weight: 600;
    line-height: 1.4;
    text-align: left;
    cursor: pointer;
    padding: 6px 0;
}
.search-history__delete {
    border: 1px solid #0fa6ab;
    border-radius: 8px;
    background: transparent;
    color: #0fa6ab;
    font-size: 12px;
    padding: 4px 8px;
    cursor: pointer;
}
.search-history__item:hover,
.search-history__item:focus {
    outline: none;
    background: #f5f9fb;
}
.search-history__delete:hover,
.search-history__delete:focus {
    outline: none;
    background: #f5f9fb;
}

/* Мобильная и узкая версия: предотвращение обрезания текста в фильтрах */
@media (max-width: 900px) {
    .search-filter-title {
        word-wrap: break-word;
        overflow-wrap: break-word;
        hyphens: auto;
        white-space: normal;
    }
    #search-sidebar .search-checkbox-item label,
    #search-checkboxes-mobile .search-checkbox-item label {
        white-space: normal;
        word-wrap: break-word;
        overflow-wrap: anywhere;
        min-width: 0;
    }
    #search-sidebar .card,
    #search-params-mobile,
    #search-checkboxes-mobile {
        min-width: 0;
        overflow-wrap: break-word;
    }
}
@media (max-width: 600px) {
    #search-sidebar .row .col-6,
    #search-checkboxes-mobile .row .col-6 {
        flex: 0 0 100%;
        max-width: 100%;
        min-width: 0;
    }
}

/* Инпут поиска: меньше высота, крестик и фильтры сбоку, в одном ряду */
@media (max-width: 1024px) {
    #search-page #search-block form #search-main {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 10px !important;
    }
    #search-main .search-main__input-wrapper {
        position: relative;
        display: flex;
        align-items: stretch;
        flex: 1 !important;
        min-width: 0 !important;
        width: auto !important;
    }
    #search-main .search-main__input-wrapper input[type="text"] {
        padding: 8px 44px 8px 12px !important;
        min-height: auto !important;
        height: 36px !important;
        border-radius: 10px;
        flex: 1;
        width: 100% !important;
        font-size: 14px !important;
    }
    /* Крестик — компактно справа, не растягивать на весь инпут */
    #search-main .search-main__input-wrapper .search-clear-btn {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
        height: 100% !important;
        min-height: 36px !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
        border-radius: 0 10px 10px 0;
        background: #fff;
        color: #8c9cac;
        border: none;
        display: none;
        align-items: center;
        justify-content: center;
        font-size: 1rem;
        cursor: pointer;
        border-left: 1px solid #e8e8e8;
        z-index: 2;
        flex-shrink: 0 !important;
    }
    #search-main .search-main__input-wrapper .search-clear-btn.visible {
        display: flex !important;
    }
    #search-main .search-main__input-wrapper .search-clear-btn:hover {
        color: #0fa6ab;
    }
    #search-main .search-main-actions {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 10px !important;
        width: auto !important;
    }
    #search-main #toggleAdditionalParamsExtFilter {
        display: flex !important;
        flex-shrink: 0;
        width: 40px !important;
        height: 40px !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
    }
    #search-main #toggleAdditionalParamsExtFilter svg {
        width: 24px !important;
        height: 24px !important;
    }
    /* Уменьшить кнопку «Найти» */
    #search-main button[type="submit"] {
        padding: 8px 16px !important;
        font-size: 14px !important;
        min-height: 40px !important;
    }
    /* Крестик справа от инпута — всегда видим, компактно справа */
    #search-main .search-main__input-wrapper .search-clear-btn {
        display: flex !important;
        opacity: 0.6;
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
    }
    #search-main .search-main__input-wrapper .search-clear-btn.visible {
        opacity: 1;
    }
}

/* Лишняя секция bookslist-operation — скрыть на мобильной */
@media (max-width: 1024px) {
    #bookslist-operation {
        display: none !important;
    }
}

/* Планшет и мобильная: контент на всю ширину (PERF-007: класс body вместо :has на широких контейнерах) */
@media (max-width: 1024px) {
    /* Родительские контейнеры — на всю длину экрана */
    body.page-search .main-site-wrapper,
    body.page-search .cnt-wrapper,
    body.page-search .cntl-wrapper,
    body.page-search .cnt,
    body.page-search .cntl,
    body.page-search main {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }
    .search-layout-container {
        flex-direction: column !important;
        gap: 16px !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .search-layout-container > #search-page {
        order: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    #search-page #result {
        width: 100% !important;
        max-width: 100% !important;
    }
    .search-layout-container > #search-sidebar {
        order: 2 !important;
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        overflow: hidden !important;
        position: absolute !important;
        left: -9999px !important;
        width: 0 !important;
        min-width: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    /* Убрать пробел до верха на странице поиска */
    body.page-search .cntl-wrapper,
    body.page-search main {
        padding-top: 0 !important;
    }
    .search-layout-container {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
    /* Фон выходит за границы: на всю ширину экрана и вверх */
    #search-page #search-block {
        background-size: cover !important;
        background-position: center 40% !important;
        background-repeat: no-repeat !important;
        padding: 16px !important;
        min-height: auto !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        margin-top: 0 !important; /* BUG-057: убран отрицательный отступ, блок не перекрывал заголовок/фильтры */
        padding-top: 36px !important;
        gap: 10px !important;
    }
    #search-page #search-block h1 {
        font-size: 1.5rem !important;
    }
    #search-page #search-block form {
        width: 100% !important;
    }
    #search-page #search-block form #search-targets {
        flex-wrap: wrap !important;
    }
}

@media (max-width: 600px) {
    #search-page #search-block {
        padding: 12px !important;
        gap: 8px !important;
    }
    #search-page #search-block h1 {
        font-size: 1.25rem !important;
    }
    #search-page #search-block form {
        padding: 10px 12px !important;
        gap: 8px !important;
    }
}

/* BUG-121: /search/ — компактный hero и фильтры «искать в» на 390px */
@media (max-width: 390px) {
    #search-page #search-block {
        padding: 10px 12px !important;
        padding-top: 12px !important;
        gap: 6px !important;
        min-height: 0 !important;
    }

    #search-page #search-block h1 {
        font-size: 1.125rem !important;
        line-height: 1.25 !important;
        margin: 0 !important;
    }

    #search-page #search-block form {
        padding: 8px 10px !important;
        gap: 6px !important;
    }

    #search-page #search-block form #search-targets {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        gap: 6px !important;
        max-width: 100%;
        scrollbar-width: none;
        padding-bottom: 2px;
    }

    #search-page #search-block form #search-targets::-webkit-scrollbar {
        display: none;
    }

    #search-page #search-block form #search-targets > p {
        display: none !important;
    }

    #search-page #search-block form #search-targets div input[type=radio] + label {
        font-size: 11px !important;
        padding: 3px 10px !important;
        white-space: nowrap;
    }

    #search-main button[type="submit"] {
        min-height: 36px !important;
        padding: 6px 12px !important;
        font-size: 13px !important;
    }

    #search-main #toggleAdditionalParamsExtFilter {
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
    }

    #search-main #toggleAdditionalParamsExtFilter svg {
        width: 20px !important;
        height: 20px !important;
    }
}

/* Мобильная страница расширенного поиска (/search/go/): убрать боковые отступы оболочек.
   body.page-search в index — это /books/ без id; здесь целимся по #search-page. */
@media (max-width: 960px) {
    .main-site-wrapper:has(#search-page) {
        padding: 0 !important;
    }
    .cnt-wrapper:has(#search-page) {
        margin: 0 !important;
    }
    .cntl-wrapper:has(#search-page) {
        padding: 0 !important;
    }
}

/* Drawer фильтров на мобильной */
.search-filters-overlay,
.search-filters-drawer {
    display: none;
}
@media (max-width: 1024px) {
    .search-filters-overlay {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 1000003;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.25s ease;
    }
    .search-filters-overlay--open {
        opacity: 1;
        pointer-events: auto;
    }
    .search-filters-drawer {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        width: min(90vw, 360px);
        max-width: 360px;
        background: #fff;
        z-index: 1000004;
        box-shadow: -4px 0 16px rgba(0, 0, 0, 0.15);
        transform: translateX(100%);
        transition: transform 0.3s ease;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }
    .search-filters-drawer--open {
        display: flex;
        transform: translateX(0);
        visibility: visible;
    }
    .search-filters-drawer__header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 16px;
        border-bottom: 1px solid #e0e0e0;
        flex-shrink: 0;
    }
    .search-filters-drawer__title {
        font-size: 1.125rem;
        font-weight: 600;
        margin: 0;
    }
    .search-filters-drawer__close {
        width: 40px;
        height: 40px;
        padding: 0;
        border: none;
        background: transparent;
        font-size: 1.25rem;
        cursor: pointer;
        color: #555;
    }
    .search-filters-drawer__body {
        flex: 1;
        overflow-y: auto;
        padding: 16px;
    }
    /* Тёмный текст в drawer: переопределяем белый цвет от формы */
    .search-filters-drawer label,
    .search-filters-drawer .search-checkbox-item label,
    .search-filters-drawer .form-check label,
    .search-filters-drawer .search-filter-label,
    .search-filters-drawer .form-label,
    .search-filters-drawer legend {
        color: #333 !important;
    }
    .search-filters-drawer .tags-card h5,
    .search-filters-drawer .tags-card .tags-card-header h1 {
        color: #333 !important;
    }
    .search-filters-drawer .tag,
    .search-filters-drawer .tag1,
    .search-filters-drawer .tag2 {
        color: #0fa6ab !important;
        border-color: #0fa6ab !important;
    }
    /* Drawer скрыт, когда закрыт — без утечки в layout */
    .search-filters-drawer:not(.search-filters-drawer--open) {
        display: none;
        visibility: hidden;
    }
}

@media (max-width: 1024px) {
    #result .item_card .toptile .textcenter,
    #result .item_card h3.itemname,
    #result .item_card .booktc a,
    #result .item_card .booktc .lnk,
    #result .item_card .bookname,
    #result .item_card .description,
    #result .item_card .book-card-mini__synopsis,
    #result .item_card .item.book-card-mini .booktc,
    #result .item_card .item.book-card-mini .textcenter {
        hyphens: none !important;
        -webkit-hyphens: none !important;
        -ms-hyphens: none !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
    }
    #result .item_card .description,
    #result .item_card .book-card-mini__synopsis,
    #result .item_card .commitm .synopsis,
    #result .item_card .synopsis {
        text-align: left !important;
        word-spacing: normal !important;
    }
    #result .item_card .toptile,
    #result .item_card .item.book-card-mini .toptile {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 14px !important;
        align-items: flex-start !important;
    }
    #result .item_card .toptile > div:first-child,
    #result .item_card .item.book-card-mini .toptile > div:first-child {
        flex: 0 0 103px !important;
        width: 103px !important;
        min-width: 103px !important;
    }
    #result .item_card .toptile > div:first-child picture,
    #result .item_card .toptile > div:first-child img,
    #result .item_card .item.book-card-mini .toptile > div:first-child picture,
    #result .item_card .item.book-card-mini .toptile > div:first-child img {
        width: 103px !important;
        max-width: 103px !important;
    }
    #result .item_card .toptile > div:nth-child(2),
    #result .item_card .item.book-card-mini .toptile > div:nth-child(2) {
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }
    #result .item_card .commitm,
    #result .item_card .commitm.seriawrapper,
    #result .item_card .seriawrapper {
        padding: 0 !important;
    }
    #result .item_card .commitm > div,
    #result .item_card .commitm.seriawrapper > div {
        padding: 0 !important;
    }
    #result .item_card .commitm .w600,
    #result .item_card .commitm .w300b,
    #result .item_card .commitm .seriaclass {
        padding: 0 !important;
    }
    #result .item_card .book-card-layout-wrapper {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }
    #result .item_card .book-card-layout-wrapper {
        display: grid !important;
        grid-template-columns: 103px 1fr !important;
        gap: 12px 10px !important;
        align-items: start !important;
    }
    #result .item_card .book-card-layout-wrapper > .w300b,
    #result .item_card .book-card-layout-wrapper > .seriaclass,
    #result .item_card .book-card-layout-wrapper > div.seriaclass1 {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 103px !important;
        max-width: 103px !important;
        min-width: 103px !important;
        margin: 0 !important;
        align-self: start !important;
    }
    #result .item_card .book-card-layout-wrapper .relat,
    #result .item_card .book-card-layout-wrapper .relat picture {
        width: 103px !important;
        max-width: 103px !important;
    }
    #result .item_card .book-card-layout-wrapper > .bookname,
    #result .item_card .book-card-layout-wrapper > p.book-card-layout-wrapper__author,
    #result .item_card .book-card-layout-wrapper > p.book-author-line,
    #result .item_card .book-card-layout-wrapper > .bookinfo-badges,
    #result .item_card .book-card-layout-wrapper > .bi_mobile,
    #result .item_card .book-card-layout-wrapper > .genres-container,
    #result .item_card .book-card-layout-wrapper > .w600 {
        grid-column: 2 !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
    #result .item_card div:has(> .w300b):has(> .w600) {
        display: grid !important;
        grid-template-columns: 103px 1fr !important;
        gap: 12px 10px !important;
        align-items: start !important;
    }
    #result .item_card div:has(> .w300b):has(> .w600) > .w300b {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 103px !important;
        max-width: 103px !important;
        margin: 0 !important;
        align-self: start !important;
    }
    #result .item_card div:has(> .w300b):has(> .w600) > .w600 {
        grid-column: 2 !important;
        max-width: 100% !important;
    }
    #result .item_card .commitm,
    #result .item_card .bookinfo {
        display: block !important;
    }
    #result .item_card .commitm:has(> div .w300b):has(> .w600) {
        display: grid !important;
        grid-template-columns: 103px 1fr !important;
        gap: 12px 10px !important;
        align-items: start !important;
    }
    #result .item_card .commitm:has(> div .w300b):has(> .w600) > div:has(> .w300b) {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        box-sizing: border-box !important;
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 103px !important;
        max-width: 103px !important;
        min-width: 103px !important;
        align-self: start !important;
    }
    #result .item_card .commitm:has(> div .w300b):has(> .w600) > .w600 {
        grid-column: 2 !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
    #result .item_card .commitm:has(> div .w300b):has(> .w600) > div:has(> .w300b) > .w300b {
        width: 103px !important;
        max-width: 103px !important;
        min-width: 0 !important;
        flex: 0 0 auto !important;
        box-sizing: border-box !important;
    }
    #result .item_card .commitm > div:has(> .w300b):has(> .w600),
    #result .item_card .bookinfo > div:has(> .w300b):has(> .w600) {
        display: grid !important;
        grid-template-columns: 103px 1fr !important;
        gap: 12px 10px !important;
        align-items: start !important;
        width: 100% !important;
    }
    #result .item_card .commitm > div:has(> .w300b):has(> .w600) > .w300b,
    #result .item_card .bookinfo > div:has(> .w300b):has(> .w600) > .w300b {
        width: 103px !important;
        max-width: 103px !important;
        grid-column: 1 !important;
        grid-row: 1 !important;
        align-self: start !important;
    }
    #result .item_card .commitm > div:has(> .w300b):has(> .w600) > .w600,
    #result .item_card .bookinfo > div:has(> .w300b):has(> .w600) > .w600 {
        grid-column: 2 !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
    #result .item_card .flex_trophy.space-between,
    #result .item_card .w600 {
        width: 100% !important;
        max-width: 100% !important;
    }
    #result .item_card .w600 .bookname,
    #result .item_card .w600 .synopsis,
    #result .item_card .w600 .description {
        margin-right: 0 !important;
    }
    #result .item_card .flex_trophy {
        width: 100% !important;
        display: block !important;
    }
    #result .item_card .flex_trophy .bookname {
        display: block !important;
        width: 100% !important;
    }
    #result .item_card .bookname,
    #result .item_card .w600 .bookname {
        margin-right: 0 !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    #result .item_card .book-author-line,
    #result .item_card p.book-author-line,
    #result .item_card .w600 .book-author-line {
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    #result .item_card .bookname a,
    #result .item_card .bookname .txt {
        font-size: 16px !important;
        line-height: 1.3 !important;
        padding-right: 34px !important;
        box-sizing: border-box !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }
    #result .item_card .author_link,
    #result .item_card .book-author-line,
    #result .item_card .book-author-line a,
    #result .item_card .booktc .lnk,
    #result .item_card .booktc a {
        font-size: 14px !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
    }
    #result .item_card .book-author-line a,
    #result .item_card .author_link {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    #result .item_card .book-card-item__dropdown,
    #result .item_card .book-card-item__dropdown-toggle {
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
        padding: 4px !important;
    }
    #result .item_card .book-card-item__dropdown-toggle svg {
        width: 14px !important;
        height: 14px !important;
    }
    #result .item_card .f20.ready_block > div > a,
    #result .item_card .nmstyle.lft {
        min-width: 28px !important;
        width: 28px !important;
        padding: 4px !important;
    }
    #result .item_card .synopsis {
        padding-bottom: 0 !important;
    }
    #result .item_card .synopsis .promo_book {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        align-items: flex-start !important;
    }
    #result .item_card .synopsis .promo_book .synopsis-text {
        margin-bottom: 0 !important;
    }
    #result .item_card .synopsis .promo_book--truncated:not(.promo_book--expanded) .synopsis-text {
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
        overflow: hidden !important;
        max-height: calc(1.4em * 2) !important;
        text-overflow: ellipsis !important;
        width: 100% !important;
    }
    #result .item_card .synopsis .toggle-bann-full {
        display: block !important;
        margin-top: 4px !important;
    }
    #result .items {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
    }
    #result .item_card {
        margin-bottom: 0 !important;
    }
    #result .item_card .w300b .relat,
    #result .item_card .ptr .relat {
        position: relative !important;
        height: auto !important;
        min-height: 0 !important;
    }
    #result .item_card .seriaclass .relat,
    #result .item_card .toptile > div:first-child {
        position: relative !important;
    }
    #result .item_card .prc.mobstyle,
    #result .item_card .prc,
    #result .item_card .toptile .prc {
        position: absolute !important;
        left: 6px !important;
        right: auto !important;
        bottom: 6px !important;
        top: auto !important;
        display: flex !important;
    }
    #result .item_card {
        position: relative !important;
    }
    #result .item_card .bookinfo-badges {
        position: absolute !important;
        left: 0 !important;
        bottom: 6px !important;
        top: auto !important;
        right: auto !important;
        margin: 0 !important;
        z-index: 2 !important;
        text-align: left !important;
    }
    #result .items .item_card img,
    #result .item_card img.shadow {
        max-width: 103px !important;
        width: 103px !important;
        height: auto !important;
        aspect-ratio: 200/284 !important;
        object-fit: cover !important;
    }
    #result .item_card .w300b .book-cover-wrap,
    #result .item_card .w300b .book-cover-link,
    #result .item_card .ptr .book-cover-wrap,
    #result .item_card .ptr .book-cover-link {
        display: block !important;
        line-height: 0 !important;
        position: relative !important;
        width: 103px !important;
        max-width: 103px !important;
    }
    #result .item_card .w300b picture,
    #result .item_card .ptr picture {
        position: relative !important;
        width: 103px !important;
        max-width: 103px !important;
        aspect-ratio: 200 / 284 !important;
        border: 2px solid #0fa6ab !important;
        border-radius: 10px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
        display: block !important;
        line-height: 0 !important;
    }
    #result .item_card .w300b picture img,
    #result .item_card .ptr picture img {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        object-fit: cover !important;
        object-position: center top !important;
        border-radius: 8px !important;
        display: block !important;
    }
    #result .item_card .cover_free_label {
        position: absolute !important;
        left: 6px !important;
        right: 6px !important;
        bottom: 6px !important;
        z-index: 4 !important;
        margin: 0 !important;
        padding: 2px 4px !important;
        border-radius: 4px !important;
        background: rgba(255, 255, 255, 0.9) !important;
        color: #c650d8 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        text-align: center !important;
        box-sizing: border-box !important;
        pointer-events: none !important;
    }
    .book-card-item .w300b picture img,
    .book-card-item .ptr picture img {
        border-radius: 10px !important;
        display: block !important;
    }
    #result .item_card {
        margin-bottom: 0 !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 12px !important;
        padding: 16px !important;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06) !important;
    }
    #result .item_card .book-card-item,
    #result .item_card .commitm {
        border: none !important;
        box-shadow: none !important;
    }
    #result .item_card .book-card-layout-wrapper,
    #result .item_card div:has(> .w300b):has(> .w600) {
        align-items: flex-start !important;
    }
    #result .item_card div:has(> .w300b):has(> .w600) > .w300b,
    #result .item_card .book-card-layout-wrapper > .w300b,
    #result .item_card .book-card-layout-wrapper > .seriaclass,
    #result .item_card .book-card-layout-wrapper > div.seriaclass1,
    #result .item_card .commitm > .w300b,
    #result .item_card .bookinfo > .w300b,
    #result .item_card .commitm > .ptr,
    #result .item_card .commitm > .seriaclass {
        margin: 0 !important;
    }
    #result .item_card .w300b .rating-wrapper,
    #result .item_card .w300b .rating {
        align-items: flex-start !important;
        justify-content: flex-start !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }
    #result .item_card .make-rating-interactive {
        flex-wrap: wrap !important;
        gap: 2px !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
    #result .item_card .rating-stars-row {
        gap: 1px !important;
    }
    #result .item_card .book-cover-zoom {
        width: 28px !important;
        height: 28px !important;
        top: 6px !important;
        left: 6px !important;
        font-size: 10px !important;
    }
}

@media (max-width: 550px) {
    #result .items .item_card img,
    #result .item_card img.shadow {
        max-width: 103px !important;
        width: 103px !important;
    }
}
@media (max-width: 1024px) {
    #result .items .item_card,
    #search-page #result .items .item_card,
    #search-page #result .item_card {
        flex: 1 1 auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
}
@media (max-width: 960px) {
    #result .item_card div.w600,
    #result .item_card .book-card-layout-wrapper > .w600,
    #result .item_card .commitm > .w600 {
        float: none !important;
        flex: 1 1 auto !important;
        width: calc(100% - 118px) !important;
        max-width: calc(100% - 118px) !important;
        min-width: 0 !important;
    }
    #result .item_card .bookname a,
    #result .item_card .bookname .txt,
    #result .item_card .book-author-line,
    #result .item_card .book-author-line a {
        hyphens: none !important;
        -webkit-hyphens: none !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
    }
}
body:not(.page-search) select[name=grl] {
    width: auto !important;
}

#search-main .search-main-actions button[type=submit]:disabled {
    background: #a4adb5 !important;
    color: #eef1f4 !important;
    cursor: not-allowed !important;
    opacity: 1 !important;
}

#search-page #search-query-error {
    margin-top: 6px;
    color: #ffd9d9;
    font-size: 14px;
    font-weight: 600;
}
#result .search-author-card,
#result .search-author-card .pad32 {
    width: 100% !important;
}
#result .search-author-card .pad32 {
    margin: 0 !important;
    padding: 4px 0 !important;
}
#result .search-author-card h2.book {
    align-items: center;
    gap: 8px;
    font-size: 18px;
    line-height: 1.35;
}
#result .search-author-card h2.book a,
#result .search-author-card .abtme {
    color: #26323f !important;
}
#result .search-author-card .abtme {
    margin-left: 42px;
    font-size: 14px;
    line-height: 1.5;
}

/* CAT-UI-01: десктопный поиск не должен выезжать за левый край контейнера. */
@media (min-width: 961px) {
    .cnt-wrapper:has(#search-page) .cntl-wrapper,
    .cnt-wrapper:has(#search-page) main {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }
    .search-layout-container {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box;
        padding: 0 16px;
        margin-left: 0 !important;
        margin-right: 0 !important;
        transform: none !important;
        left: auto !important;
        right: auto !important;
        justify-self: stretch !important;
        place-self: stretch !important;
        overflow: visible;
    }
    .search-layout-container > #search-page {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        max-width: calc(100% - 300px) !important;
    }
    .search-layout-container > #search-sidebar,
    #search-sidebar {
        flex: 0 0 280px !important;
        width: 280px !important;
        min-width: 240px !important;
        max-width: 280px !important;
    }
    #search-page #result {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }
    #search-page #result .items,
    #search-page #result .item_card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box;
    }
    #search-page #result .item_card {
        border: 1px solid #e5e7eb !important;
        border-radius: 12px !important;
        padding: 14px !important;
        box-shadow: 0 1px 3px rgba(0, 0, 0, .06) !important;
        overflow: hidden;
    }
    #search-page #result .item_card .commitm,
    #search-page #result .item_card .bookinfo {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
        border: 0 !important;
        box-shadow: none !important;
    }
    #search-page #result .item_card div:has(> .w300b):has(> .w600),
    #search-page #result .item_card .bookinfo > div:has(> .w300b):has(> .w600),
    #search-page #result .item_card .commitm > div:has(> .w300b):has(> .w600) {
        display: grid !important;
        grid-template-columns: 150px minmax(0, 1fr) !important;
        gap: 14px 18px !important;
        align-items: start !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    #search-page #result .item_card .w300b,
    #search-page #result .item_card .ptr,
    #search-page #result .item_card .seriaclass {
        float: none !important;
        width: 150px !important;
        max-width: 150px !important;
        min-width: 0 !important;
        margin: 0 !important;
        grid-column: 1 !important;
    }
    #search-page #result .item_card .w600 {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        grid-column: 2 !important;
    }
    #search-page #result .item_card .w300b picture,
    #search-page #result .item_card .ptr picture,
    #search-page #result .item_card .w300b img,
    #search-page #result .item_card .ptr img {
        width: 150px !important;
        max-width: 150px !important;
        height: auto !important;
        aspect-ratio: 200 / 284 !important;
        object-fit: cover !important;
        box-sizing: border-box;
    }
}
/* BUG-115 mobile: grid карточки и нормальный перенос заголовка (правила были только в min-width:961px) */
@media (max-width: 960px) {
    #search-page #result .item_card div:has(> .w300b):has(> .w600),
    #search-page #result .item_card .bookinfo > div:has(> .w300b):has(> .w600),
    #search-page #result .item_card .commitm > div:has(> .w300b):has(> .w600) {
        display: grid !important;
        grid-template-columns: 120px minmax(0, 1fr) !important;
        gap: 12px 14px !important;
        align-items: start !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    #search-page #result .item_card .w300b,
    #search-page #result .item_card .ptr,
    #search-page #result .item_card .seriaclass {
        float: none !important;
        width: 120px !important;
        max-width: 120px !important;
        min-width: 0 !important;
        margin: 0 !important;
        grid-column: 1 !important;
    }
    #search-page #result .item_card .w600 {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        grid-column: 2 !important;
    }
    #search-page #result .item_card .w300b picture,
    #search-page #result .item_card .ptr picture,
    #search-page #result .item_card .w300b img,
    #search-page #result .item_card .ptr img {
        width: 120px !important;
        max-width: 120px !important;
        height: auto !important;
        aspect-ratio: 200 / 284 !important;
        object-fit: cover !important;
    }
    #search-page #result .book-card-layout-wrapper {
        display: grid !important;
        grid-template-columns: 120px minmax(0, 1fr) !important;
        gap: 12px 14px !important;
        align-items: start !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    #search-page #result .book-card-layout-wrapper > .seriaclass,
    #search-page #result .book-card-layout-wrapper > .seriaclass1,
    #search-page #result .book-card-layout-wrapper > div.seriaclass1 {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 120px !important;
        max-width: 120px !important;
        min-width: 0 !important;
        margin: 0 !important;
    }
    #search-page #result .book-card-layout-wrapper > .bookname,
    #search-page #result .book-card-layout-wrapper > p.book-author-line,
    #search-page #result .book-card-layout-wrapper > .bookinfo-badges,
    #search-page #result .book-card-layout-wrapper > .bi_mobile,
    #search-page #result .book-card-layout-wrapper > .genres-container,
    #search-page #result .book-card-layout-wrapper > .w600 {
        grid-column: 2 !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
    #search-page #result .w600 .bookname,
    #search-page #result .w600 .bookname .txt,
    #search-page #result .book-card-layout-wrapper > .bookname,
    #search-page #result .book-card-layout-wrapper > .bookname .txt,
    #search-page #result .flex_trophy .bookname,
    #search-page #result .flex_trophy .bookname .txt,
    #search-page #result .w600 .synopsis,
    #search-page #result .w600 .description,
    #search-page #result .book-card-mini__synopsis {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        white-space: normal !important;
    }
}
@media (max-width: 1024px) {
    #result .item_card .w300b .relat,
    #result .item_card .commitm .w300b .relat {
        overflow: hidden !important;
        border-radius: 10px !important;
        isolation: isolate;
        height: auto !important;
        min-height: 0 !important;
        max-width: 100% !important;
    }

    #result .item_card .book-cover-overlay-badges {
        overflow: visible !important;
        max-width: 100% !important;
    }

    #result .item_card .exclusive-pack,
    #result .item_card .exclusive {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        left: auto !important;
        bottom: auto !important;
        background: none !important;
        background-image: none !important;
        width: 0 !important;
        min-width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        border: none !important;
        box-shadow: none !important;
    }
    #search-page #result .item_card .relat .exclusive-pack::before,
    #search-page #result .item_card .relat .exclusive::before,
    #search-page #result .item_card .book-cover-overlay-badges .exclusive-pack::before,
    #search-page #result .item_card .book-cover-overlay-badges .exclusive::before,
    #result .item_card .w300b .relat .exclusive-pack::before,
    #result .item_card .w300b .relat .exclusive::before,
    #result .item_card .commitm .w300b .relat .exclusive-pack::before,
    #result .item_card .commitm .w300b .relat .exclusive::before,
    #result .item_card .book-cover-overlay-badges .exclusive-pack::before,
    #result .item_card .book-cover-overlay-badges .exclusive::before {
        content: 'ЭКСКЛЮЗИВ' !important;
        position: absolute !important;
        top: 11px !important;
        right: -22px !important;
        left: auto !important;
        width: 92px !important;
        max-width: 92px !important;
        padding: 3px 0 !important;
        font-size: 7px !important;
        font-weight: 700 !important;
        letter-spacing: 0.04em !important;
        line-height: 1 !important;
        text-align: center !important;
        height: auto !important;
        min-height: 0 !important;
        transform: rotate(45deg) !important;
        transform-origin: center center !important;
        box-sizing: border-box !important;
    }

    #result .item_card .tech_description.book-desc-mobile {
        display: block !important;
    }
    #result .item_card .tech_description.book-desc-desktop {
        display: none !important;
    }
    #result .item_card .bookinfo-top__meta {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    #result .item_card .book-card-meta-groups {
        width: 100% !important;
        min-width: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 8px !important;
        overflow: visible !important;
    }
    #result .item_card .book-card-meta-groups__group {
        width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 4px !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }
    #result .item_card .book-card-meta-groups__content,
    #result .item_card .book-card-meta-groups__item {
        min-width: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        line-height: 1.35 !important;
    }
    #result .item_card .book-card-meta-groups__content {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: flex-start !important;
        gap: 4px 8px !important;
    }
    #result .item_card .book-card-meta-groups__item {
        display: inline-flex !important;
        flex: 0 1 auto !important;
        align-items: center !important;
        flex-wrap: wrap !important;
    }
    #result .item_card .book-card-meta-groups__item .fa,
    #result .item_card .book-card-meta-groups__item i,
    #result .item_card .book-card-meta-groups__item span {
        float: none !important;
        position: static !important;
        max-width: 100% !important;
    }
    #result .item_card .book-publication-regularity {
        display: inline-flex !important;
        flex-wrap: wrap !important;
        max-width: 100% !important;
        margin-top: 0 !important;
        box-decoration-break: clone;
        -webkit-box-decoration-break: clone;
    }
}

@media (max-width: 960px) {
    #result .item_card div:has(> .w300b):has(> .w600) > .w600,
    #result .item_card .commitm > div:has(> .w300b):has(> .w600) > .w600 {
        width: auto !important;
        max-width: 100% !important;
    }
}

/* Mobile search cards: keep the book-cover list layout stable and readable. */
@media (max-width: 650px) {
    #search-page #result .item_card,
    #result .item_card.item_card--mobile-full {
        width: 100% !important;
        max-width: 100% !important;
        padding: 14px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    #search-page #result .item_card .commitm,
    #result .item_card.item_card--mobile-full .commitm {
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    #search-page #result .item_card .commitm > div:has(> .w300b):has(> .w600),
    #result .item_card.item_card--mobile-full .commitm > div:has(> .w300b):has(> .w600),
    #search-page #result .item_card div:has(> .w300b):has(> .w600),
    #result .item_card.item_card--mobile-full div:has(> .w300b):has(> .w600) {
        display: grid !important;
        grid-template-columns: 112px minmax(0, 1fr) !important;
        grid-template-areas:
            "cover info"
            "summary summary" !important;
        gap: 10px 12px !important;
        align-items: start !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    #search-page #result .item_card .w300b,
    #result .item_card.item_card--mobile-full .w300b,
    #search-page #result .item_card .ptr,
    #result .item_card.item_card--mobile-full .ptr,
    #search-page #result .item_card .seriaclass,
    #result .item_card.item_card--mobile-full .seriaclass {
        grid-area: cover !important;
        width: 112px !important;
        max-width: 112px !important;
        min-width: 112px !important;
        flex: 0 0 112px !important;
        margin: 0 !important;
        float: none !important;
        align-self: start !important;
    }

    #search-page #result .item_card .w300b picture,
    #result .item_card.item_card--mobile-full .w300b picture,
    #search-page #result .item_card .ptr picture,
    #result .item_card.item_card--mobile-full .ptr picture,
    #search-page #result .item_card .w300b img,
    #result .item_card.item_card--mobile-full .w300b img,
    #search-page #result .item_card .ptr img,
    #result .item_card.item_card--mobile-full .ptr img {
        width: 112px !important;
        max-width: 112px !important;
        aspect-ratio: 200 / 284 !important;
        height: auto !important;
        object-fit: cover !important;
        object-position: center top !important;
        box-sizing: border-box !important;
    }

    #search-page #result .item_card .w600,
    #result .item_card.item_card--mobile-full .w600 {
        grid-area: info !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        float: none !important;
        padding: 0 !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    #search-page #result .item_card .w600 .bookname,
    #result .item_card.item_card--mobile-full .w600 .bookname,
    #search-page #result .item_card .bookname,
    #result .item_card.item_card--mobile-full .bookname {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 6px !important;
        padding-right: 36px !important;
        box-sizing: border-box !important;
    }

    #search-page #result .item_card .bookname a,
    #result .item_card.item_card--mobile-full .bookname a,
    #search-page #result .item_card .bookname .txt,
    #result .item_card.item_card--mobile-full .bookname .txt,
    #search-page #result .item_card .bookname a span,
    #result .item_card.item_card--mobile-full .bookname a span {
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
        -webkit-hyphens: none !important;
        font-size: 19px !important;
        line-height: 1.16 !important;
        font-weight: 700 !important;
    }

    #search-page #result .item_card .author_link,
    #result .item_card.item_card--mobile-full .author_link,
    #search-page #result .item_card .book-author-line,
    #result .item_card.item_card--mobile-full .book-author-line {
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        max-width: 100% !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
        -webkit-hyphens: none !important;
        font-size: 15px !important;
        line-height: 1.25 !important;
    }

    #search-page #result .item_card .bookinfo-top__meta,
    #result .item_card.item_card--mobile-full .bookinfo-top__meta,
    #search-page #result .item_card .bookinfo-quick-meta,
    #result .item_card.item_card--mobile-full .bookinfo-quick-meta,
    #search-page #result .item_card .tech_description,
    #result .item_card.item_card--mobile-full .tech_description {
        width: 100% !important;
        max-width: 100% !important;
        margin: 8px 0 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 4px 8px !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        color: #0a9ea4 !important;
        font-size: 13px !important;
        line-height: 1.3 !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
    }

    #search-page #result .item_card .synopsis,
    #result .item_card.item_card--mobile-full .synopsis {
        grid-area: summary !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 2px 0 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    #search-page #result .item_card .synopsis .promo_book,
    #result .item_card.item_card--mobile-full .synopsis .promo_book,
    #search-page #result .item_card .synopsis .promo_book .synopsis-text,
    #result .item_card.item_card--mobile-full .synopsis .promo_book .synopsis-text {
        width: 100% !important;
        max-width: 100% !important;
        text-align: left !important;
        word-spacing: normal !important;
        letter-spacing: 0 !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        hyphens: none !important;
        -webkit-hyphens: none !important;
        font-size: 14px !important;
        line-height: 1.38 !important;
    }
}

/* catalog-card-polish: final cascade layer for search result cards. */
#search-page #result .item_card .bookname a,
#result .item_card.item_card--mobile-full .bookname a,
#search-page #result .item_card .bookname .txt,
#result .item_card.item_card--mobile-full .bookname .txt,
#search-page #result .item_card .bookname a span,
#result .item_card.item_card--mobile-full .bookname a span,
#search-page #result .item_card .author_link,
#result .item_card.item_card--mobile-full .author_link,
#search-page #result .item_card .book-author-line,
#result .item_card.item_card--mobile-full .book-author-line {
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
}

#search-page #result .item_card .w300b picture,
#result .item_card.item_card--mobile-full .w300b picture,
#search-page #result .item_card .ptr picture,
#result .item_card.item_card--mobile-full .ptr picture {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #f4fbfb !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

#search-page #result .item_card .w300b img,
#result .item_card.item_card--mobile-full .w300b img,
#search-page #result .item_card .ptr img,
#result .item_card.item_card--mobile-full .ptr img {
    object-fit: contain !important;
    object-position: center center !important;
    background: #f4fbfb !important;
}

#search-page #result .item_card .book-card-item__dropdown.mobile,
#result .item_card.item_card--mobile-full .book-card-item__dropdown.mobile {
    top: 12px !important;
    right: 12px !important;
}

@media (max-width: 650px) {
    #search-page #result,
    #search-page #result .items,
    #result .items {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    #search-page #result .item_card,
    #result .item_card.item_card--mobile-full {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    #search-page #result .item_card .commitm > div:has(> .w300b):has(> .w600),
    #result .item_card.item_card--mobile-full .commitm > div:has(> .w300b):has(> .w600),
    #search-page #result .item_card div:has(> .w300b):has(> .w600),
    #result .item_card.item_card--mobile-full div:has(> .w300b):has(> .w600) {
        grid-template-columns: 120px minmax(0, 1fr) !important;
        gap: 10px 14px !important;
    }

    #search-page #result .item_card .w300b,
    #result .item_card.item_card--mobile-full .w300b,
    #search-page #result .item_card .ptr,
    #result .item_card.item_card--mobile-full .ptr,
    #search-page #result .item_card .seriaclass,
    #result .item_card.item_card--mobile-full .seriaclass,
    #search-page #result .item_card .w300b picture,
    #result .item_card.item_card--mobile-full .w300b picture,
    #search-page #result .item_card .ptr picture,
    #result .item_card.item_card--mobile-full .ptr picture,
    #search-page #result .item_card .w300b img,
    #result .item_card.item_card--mobile-full .w300b img,
    #search-page #result .item_card .ptr img,
    #result .item_card.item_card--mobile-full .ptr img {
        width: 120px !important;
        max-width: 120px !important;
        min-width: 120px !important;
        flex-basis: 120px !important;
    }

    #search-page #result .item_card .w600 .bookname,
    #result .item_card.item_card--mobile-full .w600 .bookname,
    #search-page #result .item_card .bookname,
    #result .item_card.item_card--mobile-full .bookname {
        padding-right: 44px !important;
    }
}

@media (orientation: landscape) and (max-width: 960px) {
    #search-page #result .items,
    #result .items {
        display: grid !important;
        grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)) !important;
        gap: 18px !important;
        align-items: start !important;
    }

    #search-page #result .items .item_card,
    #result .items .item_card {
        width: auto !important;
        max-width: 180px !important;
        justify-self: center !important;
    }
}

@media (max-width: 374px) {
    #search-page #result .item_card .commitm > div:has(> .w300b):has(> .w600),
    #result .item_card.item_card--mobile-full .commitm > div:has(> .w300b):has(> .w600),
    #search-page #result .item_card div:has(> .w300b):has(> .w600),
    #result .item_card.item_card--mobile-full div:has(> .w300b):has(> .w600) {
        grid-template-columns: 96px minmax(0, 1fr) !important;
    }

    #search-page #result .item_card .w300b,
    #result .item_card.item_card--mobile-full .w300b,
    #search-page #result .item_card .ptr,
    #result .item_card.item_card--mobile-full .ptr,
    #search-page #result .item_card .seriaclass,
    #result .item_card.item_card--mobile-full .seriaclass,
    #search-page #result .item_card .w300b picture,
    #result .item_card.item_card--mobile-full .w300b picture,
    #search-page #result .item_card .ptr picture,
    #result .item_card.item_card--mobile-full .ptr picture,
    #search-page #result .item_card .w300b img,
    #result .item_card.item_card--mobile-full .w300b img,
    #search-page #result .item_card .ptr img,
    #result .item_card.item_card--mobile-full .ptr img {
        width: 96px !important;
        max-width: 96px !important;
        min-width: 96px !important;
        flex-basis: 96px !important;
    }

    #search-page #result .item_card .bookname a,
    #result .item_card.item_card--mobile-full .bookname a,
    #search-page #result .item_card .bookname .txt,
    #result .item_card.item_card--mobile-full .bookname .txt {
        font-size: 17px !important;
    }
}

/* Десктоп: липкая панель фильтров + заголовок со счётчиком */
@media (min-width: 961px) {
    #search-sidebar {
        position: static;
        top: auto;
        align-self: flex-start;
        max-height: none;
        overflow: visible;
    }
    #search-sidebar .card {
        padding: 0.75rem !important;
    }
    #search-sidebar .mb-3 {
        margin-bottom: 0.75rem !important;
    }
    #search-sidebar .form-control,
    #search-sidebar .form-select {
        min-height: 36px;
        padding: 6px 10px;
    }
    #search-sidebar .search-checkbox-item label {
        font-size: 14px;
        line-height: 1.3;
    }
    #search-sidebar .search-filter-checkbox-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        margin-left: 0;
        margin-right: 0;
    }
    #search-sidebar .search-filter-checkbox-grid > [class*="col"] {
        width: 100%;
        max-width: none;
        padding-left: 0;
        padding-right: 0;
    }
    #search-sidebar .search-checkbox-item,
    #search-sidebar .form-check {
        display: flex;
        align-items: flex-start;
        gap: 8px;
        min-width: 0;
        padding-left: 0;
    }
    #search-sidebar .search-checkbox-item .form-check-input,
    #search-sidebar .form-check .form-check-input {
        flex: 0 0 auto;
        margin: 0;
        float: none;
    }
    #search-sidebar .search-checkbox-item label,
    #search-sidebar .form-check label {
        min-width: 0;
        margin: 0;
        overflow-wrap: anywhere;
    }
    #search-sidebar #tags-block {
        gap: 12px;
    }
    #search-sidebar #tags-block .tags-card {
        padding: 16px;
    }
    .search-sidebar__toolbar {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 8px 12px;
        width: 100%;
        padding: 10px 14px;
        background: #fff;
        border-radius: 10px;
        box-sizing: border-box;
    }
    .search-sidebar__heading {
        color: #3d4d5c;
        font-weight: 700;
        line-height: 1.25;
    }
    .search-sidebar__reset {
        font-size: 0.875rem;
        color: #0fa6ab;
        text-decoration: none;
        white-space: nowrap;
        border: 1px solid #0fa6ab;
        border-radius: 8px;
        padding: 6px 12px;
        line-height: 1.2;
    }
    .search-sidebar__reset:hover {
        background: rgba(15, 166, 171, 0.08);
    }
    .search-sidebar__reset:focus-visible {
        outline: 2px solid #0fa6ab;
        outline-offset: 2px;
    }
}
@media (min-width: 1025px) {
    .search-layout-container {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) clamp(260px, 20vw, 320px) !important;
        gap: 24px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        transform: none !important;
        align-items: flex-start !important;
    }
    /* BUG-115: flex order не меняет колонки в grid — сайдбар в DOM первым съедал 1fr */
    .search-layout-container > #search-page {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
    }
    .search-layout-container > #search-sidebar {
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }
    #search-page #result,
    #search-page #bookslist-operation,
    #search-page #search-block {
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }
    #search-page #result .item_card,
    #search-page #result .commitm,
    #search-page #result .bookinfo,
    #search-page #result .book-card-layout-wrapper {
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }
    #search-page #result .w600,
    #search-page #result .col-sm-7,
    #search-page #result .book-card-layout-wrapper > .w600 {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
    #search-page #result .synopsis,
    #search-page #result .description,
    #search-page #result .promo_book,
    #search-page #result .synopsis-text {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    /* BUG-115: вертикальное «лесенкой» имя/синопсис при узкой колонке в grid */
    #search-page #result .w600 .bookname,
    #search-page #result .w600 .bookname .txt,
    #search-page #result .w600 .synopsis,
    #search-page #result .w600 .description,
    #search-page #result .book-card-mini__synopsis,
    #search-page #result .book-card-layout-wrapper > .w600 {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        white-space: normal !important;
    }
}

/* BUG-115/118: карточки книг вне #search-page — прямые дети .search-layout-container (сломанный DOM на prod) */
@media (min-width: 961px) {
    html:has(#search-page) .search-layout-container > #search-page {
        grid-column: 1 / 2 !important;
        grid-row: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
    html:has(#search-page) .search-layout-container > #search-sidebar {
        grid-column: 2 / 3 !important;
        grid-row: 1 / span 40 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) {
        grid-column: 1 / 2 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .commitm,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .bookinfo,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .book-card-layout-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .w600,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .col-sm-7,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .book-card-layout-wrapper > .w600 {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .bookname,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .bookname .txt,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .synopsis,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .description,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .synopsis-text {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        white-space: normal !important;
    }
}
@media (max-width: 960px) {
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm.seriawrapper) {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        order: 3 !important;
        box-sizing: border-box !important;
    }
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) div:has(> .w300b):has(> .w600),
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .bookinfo > div:has(> .w300b):has(> .w600),
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .commitm > div:has(> .w300b):has(> .w600) {
        display: grid !important;
        grid-template-columns: 120px minmax(0, 1fr) !important;
        gap: 12px 14px !important;
        align-items: start !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .w300b,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .ptr,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .seriaclass {
        float: none !important;
        width: 120px !important;
        max-width: 120px !important;
        min-width: 0 !important;
        margin: 0 !important;
        grid-column: 1 !important;
    }
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .w600 {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        grid-column: 2 !important;
    }
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .w300b picture,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .ptr picture,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .w300b img,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .ptr img {
        width: 120px !important;
        max-width: 120px !important;
        height: auto !important;
        aspect-ratio: 200 / 284 !important;
        object-fit: cover !important;
    }
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .w600 .bookname,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .w600 .bookname .txt,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .w600 .synopsis,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .w600 .description,
    html:has(#search-page) .search-layout-container > .item_card.item_card--mobile-full:has(.commitm) .book-card-mini__synopsis {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        white-space: normal !important;
    }
}

/* Final mobile search-card layout: Litnet/Author.Today-like compact card. */
@media (max-width: 650px) {
    #search-page #result .item_card.item_card--mobile-full {
        padding: 14px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    #search-page #result .item_card.item_card--mobile-full .commitm > div:has(> .w300b):has(> .w600),
    #search-page #result .item_card.item_card--mobile-full div:has(> .w300b):has(> .w600) {
        display: grid !important;
        grid-template-columns: 104px minmax(0, 1fr) !important;
        gap: 8px 12px !important;
        align-items: start !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    #search-page #result .item_card.item_card--mobile-full .w300b,
    #search-page #result .item_card.item_card--mobile-full .ptr,
    #search-page #result .item_card.item_card--mobile-full .seriaclass {
        grid-column: 1 !important;
        grid-row: 1 / span 6 !important;
        width: 104px !important;
        max-width: 104px !important;
        min-width: 104px !important;
        flex: 0 0 104px !important;
        margin: 0 !important;
        float: none !important;
    }

    #search-page #result .item_card.item_card--mobile-full .w300b picture,
    #search-page #result .item_card.item_card--mobile-full .ptr picture,
    #search-page #result .item_card.item_card--mobile-full .w300b img,
    #search-page #result .item_card.item_card--mobile-full .ptr img {
        width: 104px !important;
        max-width: 104px !important;
        aspect-ratio: 200 / 284 !important;
        height: auto !important;
        object-fit: cover !important;
        object-position: center top !important;
    }

    #search-page #result .item_card.item_card--mobile-full .w600,
    #search-page #result .item_card.item_card--mobile-full .w600 > .bookinfo,
    #search-page #result .item_card.item_card--mobile-full .w600 > .bookinfo > .serie,
    #search-page #result .item_card.item_card--mobile-full .w600 .bookinfo-top {
        display: contents !important;
    }

    #search-page #result .item_card.item_card--mobile-full .w600 > .flex_trophy,
    #search-page #result .item_card.item_card--mobile-full .w600 > .bookname,
    #search-page #result .item_card.item_card--mobile-full .w600 > .book-author-line,
    #search-page #result .item_card.item_card--mobile-full .w600 > .genres-container,
    #search-page #result .item_card.item_card--mobile-full .w600 > .city3,
    #search-page #result .item_card.item_card--mobile-full .w600 .bookinfo-top > .bi_desktop {
        grid-column: 2 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    #search-page #result .item_card.item_card--mobile-full .w600 .bookinfo-top > .bookinfo-top__panes,
    #search-page #result .item_card.item_card--mobile-full .w600 .bookinfo-top__pane--annotation,
    #search-page #result .item_card.item_card--mobile-full .w600 .bookinfo-top__pane-content,
    #search-page #result .item_card.item_card--mobile-full .w600 .synopsis {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 4px 0 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    #search-page #result .item_card.item_card--mobile-full .w600 .bookname,
    #search-page #result .item_card.item_card--mobile-full .w600 .flex_trophy {
        margin: 0 !important;
        padding-right: 36px !important;
    }

    #search-page #result .item_card.item_card--mobile-full .w600 .bookname a,
    #search-page #result .item_card.item_card--mobile-full .w600 .bookname .txt,
    #search-page #result .item_card.item_card--mobile-full .w600 .bookname a span {
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
        -webkit-hyphens: none !important;
        font-size: 18px !important;
        line-height: 1.18 !important;
        font-weight: 700 !important;
    }

    #search-page #result .item_card.item_card--mobile-full .w600 .author_link,
    #search-page #result .item_card.item_card--mobile-full .w600 .book-author-line {
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
        -webkit-hyphens: none !important;
        font-size: 14px !important;
        line-height: 1.24 !important;
    }

    #search-page #result .item_card.item_card--mobile-full .w600 .bookinfo-top > .bi_desktop {
        margin-top: 6px !important;
        padding: 0 !important;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 4px 8px !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        color: #0a9ea4 !important;
        font-size: 13px !important;
        line-height: 1.3 !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
    }

    #search-page #result .item_card.item_card--mobile-full .w600 .bookinfo-top__meta .book-desc-desktop {
        display: none !important;
    }

    #search-page #result .item_card.item_card--mobile-full .w600 .bookinfo-top__meta .book-desc-mobile {
        display: flex !important;
    }

    #search-page #result .item_card.item_card--mobile-full .w600 .promo_book,
    #search-page #result .item_card.item_card--mobile-full .w600 .promo_book .synopsis-text,
    #search-page #result .item_card.item_card--mobile-full .w600 .synopsis,
    #search-page #result .item_card.item_card--mobile-full .w600 .bookinfo-top__pane--annotation,
    #search-page #result .item_card.item_card--mobile-full .w600 .bookinfo-top__pane-content {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        text-align: left !important;
        word-spacing: normal !important;
        letter-spacing: 0 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        hyphens: none !important;
        -webkit-hyphens: none !important;
        font-size: 14px !important;
        line-height: 1.38 !important;
    }
}
