/* Homepage: search, compact category navigation and calculator shortcuts. */

.page-content {
    max-width:1180px!important;
    width:100%}
.app-shell-nav {
    display:none}
.app-shell-header {
    display:flex;
    flex-wrap:nowrap;
    gap:12px}
.app-shell-brand {
    flex:0 1 auto;
    min-width:0}
.app-shell-brand>span {
    display:block}
.app-shell-brand small {
    display:none}
.app-shell-language {
    margin-left:auto}

.catalog-hero {
    padding:38px 24px 24px;
    color:#182339}
.catalog-hero__content {
    max-width:760px;
    margin:auto}
.catalog-hero h1 {
    font-size:clamp(28px,3.5vw,40px);
    line-height:1.16;
    margin:0 0 10px;
    letter-spacing:-.025em}
.catalog-count {
    color:#647084;
    font-size:15px;
    margin:0 0 22px}

.catalog-hero .app-shell-search {
    width:100%;
    max-width:none;
    margin:0;
    flex:none;
    background:#fff;
    border:1px solid #b4c5de;
    border-radius:12px;
    box-shadow:0 3px 12px #17233908}
.catalog-hero .app-shell-search input {
    height:56px;
    padding-right:58px;
    font-size:17px!important;
    min-width:0}
.catalog-hero .app-shell-search-results {
    width:100%;
    left:0;
    right:0;
    max-height:min(420px,60vh)}
.home-search-submit {
    position:absolute;
    right:6px;
    top:6px;
    width:44px;
    height:44px;
    border:0;
    border-radius:8px;
    background:#2462d4;
    color:#fff;
    cursor:pointer}
.home-search-submit:hover {
    background:#174aaa;
    color:#fff}
.home-search-submit:focus-visible {
    outline:3px solid #89aeef;
    outline-offset:2px}

.catalog-section {
    padding:20px 24px 28px}
.catalog-section__header {
    margin-bottom:16px}
.catalog-section h2 {
    font-size:22px;
    line-height:1.3;
    color:#182339;
    margin:0}
.category-showcase {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px}
.category-card {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:58px;
    padding:12px 14px;
    border:1px solid #dce3ed;
    border-radius:10px;
    color:#26344b;
    text-decoration:none;
    background:#fff}
.category-card:hover {
    background:#f4f7fc;
    border-color:#9bb4d9;
    color:#174aaa;
    text-decoration:none}
.category-card__title {
    font-size:15px;
    font-weight:650;
    line-height:1.35}
.category-card__count {
    font-size:13px;
    color:#65748a;
    font-variant-numeric:tabular-nums}
.category-card:focus-visible,.calculator-card a:focus-visible,.catalog-extra a:focus-visible {
    outline:3px solid #89aeef;
    outline-offset:3px}

.calculator-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px}
.calculator-card {
    position:relative;
    background:#fff;
    border:1px solid #dce3ed;
    border-radius:12px;
    min-width:0}
.calculator-card:hover {
    border-color:#9bb4d9;
    background:#f9fbff}
.calculator-card>a {
    display:grid;
    grid-template-columns:52px minmax(0,1fr);
    gap:12px;
    min-height:120px;
    padding:16px;
    color:inherit;
    text-decoration:none;
    height:100%;
    box-sizing:border-box}
.calculator-card__body {
    min-width:0;
    padding-right:50px}
.calculator-card h3 {
    font-size:16px;
    line-height:1.35;
    margin:0 0 7px;
    color:#182339;
    font-weight:650;
    overflow-wrap:anywhere}
.calculator-card p {
    color:#647084;
    font-size:13px;
    line-height:1.5;
    margin:0;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden}
.calculator-card-cover {
    padding:0;
    width:52px;
    height:52px;
    border-radius:8px;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f1f4f8}
.calculator-card-cover::after {
    display:none}
.calculator-card-cover img {
    width:100%;
    height:100%;
    object-fit:contain}
.calculator-card-cover__mark {
    font-size:25px;
    color:#52677e}
.catalog-extra {
    margin:0 24px 28px;
    border-top:1px solid #dce3ed;
    padding-top:18px;
    color:#52627a}
.catalog-extra summary {
    cursor:pointer;
    min-height:44px;
    line-height:1.4;
    font-size:15px;
    font-weight:600}
.catalog-extra ul {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    list-style:none;
    padding:0;
    margin:8px 0}
.catalog-extra a {
    display:flex;
    align-items:center;
    gap:10px;
    color:#26344b;
    font-size:14px;
    text-decoration:none;
    min-height:44px;
    padding:6px}
.catalog-extra a:hover {
    text-decoration:underline}
.catalog-extra img {
    width:32px;
    height:32px;
    border-radius:5px}
.catalog-contact {
    display:block;
    margin:0 24px 32px;
    font-size:14px;
    color:#52627a}
.calculator-memory-shelf {
    margin:12px 24px 8px}

@media(max-width:900px) {
    .category-showcase {
    grid-template-columns:repeat(3,minmax(0,1fr))}
.calculator-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:560px) {
    .catalog-hero {
    padding:24px 16px 12px}
.catalog-hero h1 {
    font-size:28px}
.catalog-count {
    margin-bottom:16px}
.catalog-section {
    padding:18px 16px 22px}
.category-showcase {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px}
.category-card {
    padding:10px;
    min-height:54px}
.category-card__title {
    font-size:14px}
.calculator-grid {
    grid-template-columns:1fr;
    gap:10px}
.calculator-card>a {
    min-height:100px;
    padding:14px}
.catalog-extra,.calculator-memory-shelf {
    margin-left:16px;
    margin-right:16px}
.catalog-extra ul {
    grid-template-columns:1fr}
.catalog-contact {
    margin-left:16px;
    margin-right:16px}
.catalog-section h2 {
    font-size:21px}
}

@media(prefers-reduced-motion:reduce) {
    .calculator-card,.category-card {
    transition:none}
}


.category-card__title {
    min-width: 0;
    overflow-wrap: anywhere;
}
.category-card__count {
    flex: 0 0 auto;
}

.calculator-card > .calculator-save {
    width: 44px;
    height: 44px;
}
