@charset "UTF-8";
/* SteelLand 2.0.9: visible navigation overlay, catalog logos and private catalog UX. */

/* Main navigation overlay: dark sheet, visible content, no empty white canvas. */
.modal.sl-overlay-open {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    padding: 18px !important;
}
.modal .layout { display: contents !important; }
.modal .layout_inner {
    display: block !important;
    width: min(100%, 920px) !important;
    max-height: calc(100dvh - 36px) !important;
    margin: 0 !important;
    padding: 74px clamp(20px,4vw,42px) 34px !important;
    overflow-y: auto !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 20px !important;
    color: #edf4f8 !important;
    background: linear-gradient(160deg,#263945 0%,#172731 100%) !important;
    box-shadow: 0 30px 90px rgba(0,0,0,.45) !important;
}
.modal .logo_modal {
    display: flex !important;
    justify-content: flex-start !important;
    margin: 0 0 24px !important;
}
.modal .logo_modal img {
    width: auto !important;
    max-width: 245px !important;
    height: auto !important;
    max-height: 52px !important;
    margin: 0 !important;
    object-fit: contain !important;
}
.modal .wide-nav { display: block !important; padding: 0 !important; }
.modal .top_columns,
.modal .top_columns_group {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 18px 32px !important;
    width: 100% !important;
}
.modal .top_columns_group { grid-column: span 2 !important; }
.modal .top_columns_item { display: block !important; min-width: 0 !important; }
.modal .top_list { display: grid !important; gap: 4px !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.modal .top_list_item { display: block !important; }
.modal .top_list_item a {
    display: flex !important;
    min-height: 42px !important;
    align-items: center !important;
    padding: 9px 12px !important;
    border-radius: 9px !important;
    color: #eaf3f7 !important;
    background: rgba(255,255,255,.035) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
}
.modal .top_list_item a:hover { color:#fff !important; background:rgba(98,167,217,.2) !important; }
.modal .top_list_blue a { color:#fff !important; background:#2878ad !important; }
.modal .top_list_lines { margin-top:14px !important; }
.modal .header_content { position:fixed !important; top:18px !important; right:18px !important; z-index:3 !important; }

/* New companies on the home page. */
.sl-new-firms { margin: 26px 0; }
.sl-new-firms__list { display:grid; gap:14px; }
.sl-new-firm-card {
    display:grid;
    grid-template-columns:74px minmax(0,1fr);
    gap:15px;
    align-items:center;
    min-width:0;
    padding:16px;
    border:1px solid #d7e0e7;
    border-radius:13px;
    background:#fff;
    box-shadow:0 5px 18px rgba(25,48,64,.06);
}
.sl-new-firm-card__logo {
    display:grid;
    width:74px;
    height:74px;
    place-items:center;
    overflow:hidden;
    border:1px solid #e1e7eb;
    border-radius:11px;
    background:#fff;
}
.sl-new-firm-card__logo img { display:block; max-width:66px; max-height:66px; width:auto; height:auto; object-fit:contain; }
.sl-new-firm-card__body { min-width:0; }
.sl-new-firm-card h3 { margin:0 0 8px; font-size:17px; line-height:1.3; }
.sl-new-firm-card__meta { display:grid; grid-template-columns:minmax(0,1fr) minmax(150px,.45fr); gap:8px 18px; color:#4f5e68; font-size:14px; }
.sl-new-firm-card__address::before { content:"⌂"; margin-right:7px; color:#7a8b96; }
.sl-new-firm-card__phone::before { content:"☎"; margin-right:7px; color:#7a8b96; }
.sl-load-more { display:inline-flex; margin:14px 0 0 !important; }
.sl-load-more img { width:18px; height:18px; }

/* Private catalog: eliminate table-era blank bars and malformed buttons. */
.section-private .content { min-width:0; }
.sl-private-catalog {
    width:min(100%,980px);
    margin:22px auto;
    padding:clamp(18px,4vw,34px);
    border:1px solid #d7e0e7;
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 28px rgba(24,46,62,.08);
}
.sl-private-catalog__header p { max-width:780px; margin:12px 0; line-height:1.65; }
.sl-private-catalog__note { padding:13px 15px; border-left:3px solid #62a7d9; border-radius:0 9px 9px 0; background:#f2f8fc; }
.sl-private-userbar {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin:24px 0;
    padding:16px;
    border:1px solid #dce4e9;
    border-radius:12px;
    background:#f8fafb;
}
.sl-private-userbar > div { display:grid; gap:3px; }
.sl-private-userbar span,.sl-private-userbar small { color:#6a7882; }
.sl-private-logout,.sl-private-logout button { margin:0 !important; }
.sl-private-payment { margin:0 0 24px; padding:0; border:1px solid #dce4e9; border-radius:12px; background:#fff; }
.sl-private-payment summary { padding:14px 16px; cursor:pointer; color:#1f648f; font-weight:700; }
.sl-private-payment .payment-form { display:grid; gap:13px; padding:0 16px 16px; }
.sl-private-payment label { display:grid; gap:6px; }
.sl-private-payment__methods { display:flex; gap:18px; flex-wrap:wrap; }
.sl-private-payment__methods label { display:flex; align-items:center; gap:7px; }
.sl-private-taxonomy { margin:24px 0; }
.sl-private-taxonomy h2,.sl-private-firms h2 { margin:0 0 12px; font-size:20px; }
.sl-private-choice-list { display:flex; flex-wrap:wrap; gap:8px; }
.sl-private-choice-list a {
    display:inline-flex;
    min-height:40px;
    align-items:center;
    padding:8px 13px;
    border:1px solid #c9d6df;
    border-radius:9px;
    color:#245f84 !important;
    background:#fff;
    font:600 14px/1.25 'Fira Sans',sans-serif;
}
.sl-private-choice-list a:hover,.sl-private-choice-list a.is-active { color:#fff !important; border-color:#2878ad; background:#2878ad; text-decoration:none !important; }
.sl-private-catalog__primary-action { margin:22px 0; }
.sl-private-catalog__primary-action button { margin:0 !important; }
.sl-private-firms { margin-top:30px; padding-top:24px; border-top:1px solid #dce4e9; }
.sl-private-firms__list { display:grid; gap:12px; }
.sl-private-firm-card {
    display:grid;
    grid-template-columns:62px minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
    padding:14px;
    border:1px solid #dce4e9;
    border-radius:12px;
    background:#fff;
}
.sl-private-firm-card>img { width:62px; height:62px; object-fit:contain; border:1px solid #e2e8ec; border-radius:9px; background:#fff; }
.sl-private-firm-card h3 { margin:4px 0 0; font-size:17px; }
.sl-private-firm-card small { color:#6d7b85; }
.sl-private-firm-card__actions { display:flex; gap:7px; flex-wrap:wrap; justify-content:flex-end; }
.sl-private-firm-card__actions button { margin:0 !important; min-height:38px; padding:8px 11px; }
.sl-private-firm-card__actions .danger { background:#a13a3a !important; }
.sl-private-back { display:inline-flex; margin-top:22px; font-weight:600; }
.sl-empty-state { padding:18px; border:1px dashed #cbd7df; border-radius:11px; color:#6c7b85; text-align:center; }

/* Footer always spans the viewport, including pages nested in legacy containers. */
.site-footer {
    position:relative !important;
    left:50% !important;
    width:100vw !important;
    max-width:none !important;
    margin-left:-50vw !important;
}

@media (max-width:760px) {
    .modal.sl-overlay-open { padding:0 !important; align-items:stretch !important; }
    .modal .layout_inner {
        width:100% !important;
        max-height:100dvh !important;
        min-height:100dvh !important;
        padding:76px 18px 30px !important;
        border:0 !important;
        border-radius:0 !important;
    }
    .modal .logo_modal img { max-width:205px !important; max-height:44px !important; }
    .modal .top_columns,.modal .top_columns_group { grid-template-columns:minmax(0,1fr) !important; gap:12px !important; }
    .modal .top_columns_group { display:contents !important; }
    .modal .top_list_item a { min-height:46px !important; font-size:16px !important; }

    .sl-new-firm-card { grid-template-columns:64px minmax(0,1fr); padding:13px; gap:12px; }
    .sl-new-firm-card__logo { width:64px; height:64px; }
    .sl-new-firm-card__logo img { max-width:56px; max-height:56px; }
    .sl-new-firm-card__meta { grid-template-columns:minmax(0,1fr); font-size:13px; }

    .sl-private-catalog { width:calc(100% - 20px); margin:14px auto; padding:18px 14px; border-radius:14px; }
    .sl-private-userbar { align-items:flex-start; flex-direction:column; }
    .sl-private-userbar .sl-private-logout,.sl-private-userbar .sl-private-logout button { width:100%; }
    .sl-private-choice-list { display:grid; grid-template-columns:minmax(0,1fr); }
    .sl-private-choice-list a { width:100%; }
    .sl-private-firm-card { grid-template-columns:54px minmax(0,1fr); }
    .sl-private-firm-card>img { width:54px; height:54px; }
    .sl-private-firm-card__actions { grid-column:1/-1; justify-content:stretch; }
    .sl-private-firm-card__actions button { flex:1 1 130px; }
}
