/* Подключение Stolzl Light */
@font-face {
    font-family: 'Stolzl';
    src: url('/price-editor/fonts/stolzl_light.otf') format('opentype');
    font-weight: 100;
    font-style: normal;
}

/* Подключение Stolzl Bold */
@font-face {
    font-family: 'Stolzl';
    src: url('/price-editor/fonts/stolzl_bold.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Stolzl';
    src: url('/price-editor/fonts/stolzl_regular.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

body {
    font-family: 'Stolzl', sans-serif;
    font-weight: 100;
    background: #fff;
    color: #1a1a1a;
}

.document {
    width: 100%;
}

/* A4 page simulation */
.page {
    width: 100%;
    max-width: 1100px;
    background: #fff;
    margin: 0 auto;
    padding: 0 32px;
    position: relative;

    /* убираем печатное поведение */
    page-break-after: auto;
    break-after: auto;
}

/* ─── COVER PAGE ─── */
.cover {
    text-align: center;
    padding-top: 8mm;
}

.cover .logo-img {
    margin: 0 auto 4mm;
    display: block;
    margin-bottom: 10mm;
}

.cover .tagline-wrap {
    display: inline-block;
    position: relative;
    padding: 1mm 2.5mm;
    margin-bottom: 2mm;
}

.cover .tagline-wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgb(13, 116, 186);
    border-radius: 4px;
    transform: rotate(-1.5deg);
    transform-origin: center;
    z-index: 0;
}

.cover .tagline-box {
    position: relative;
    z-index: 1;
    display: inline-block;
    background: transparent;
    color: #fff;
    font-size: 18pt;
    font-weight: 750;
    border-radius: 3px;
    letter-spacing: 2px;
}

.cover .brand-name {
    font-size: 20pt;
    font-weight: 750;
    color: #111;
    margin-bottom: 1mm;
}

.cover .brand-sub {
    font-size: 8pt;
    letter-spacing: 1px;
    color: #868585;
    text-transform: uppercase;
    margin-bottom: 6mm;
}

.cover-divider {
    border: none;
    border-top: 1px solid #ddd;
    margin: 4mm 0;
}

.contacts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4mm;
    text-align: left;
    margin: 3mm 0 5mm;
}

.contacts-block h4 {
    font-size: 7.5pt;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 2mm;
}

.contacts-block p,
.contacts-block a {
    font-size: 8pt;
    line-height: 1.6;
    color: #222;
    text-decoration: none;
}

.contacts-block a {
    text-decoration: underline;
    font-weight: 500;
    color: rgb(13, 116, 186);
}

.pricelist-title {
    font-size: 16pt;
    font-weight: 750;
    text-transform: uppercase;
    margin-bottom: 8mm;
}

.notice-box {
    font-size: 10pt;
    color: rgb(13, 116, 186);
    font-weight: 300;
    line-height: 1.5;
    margin-bottom: 4mm;
    padding: 0 19mm;
}

/* ─── SECTION HEADER ─── */
.section-header {
    display: flex;
    align-items: flex-end;
    gap: 3mm;
    margin-bottom: 1mm;
}

.sec-num {
    font-size: 25pt;
    font-weight: 600;
    color: rgb(13, 116, 186);
    line-height: 1;
}

.sec-title {
    font-family: 'Manrope', sans-serif;
    font-size: 16pt;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1.1;
    margin: 1mm 0;
}

.sec-subtitle {
    font-size: 6.5pt;
    color: #666;
    margin-bottom: 2mm;
    text-align: left;
    margin-left: 13mm;
    font-weight: 300;
}

.sec-line {
    border: none;
    border-top: 2.5px solid #222;
    margin-bottom: 3mm;
    width: 95%;
    margin-left: 0;
    margin-right: 0;
}

#sec-line-1,
#sec-line-2,
#sec-line-3 {
    width: 45%;
}

/* ─── PRICE TABLE (all tables use this) ─── */
.price-page {
    width: 100%;
    table-layout: fixed;
    font-size: 6.5pt;
    border-collapse: separate;
    border-spacing: 2mm;
}

.price-page col {
    width: 16.66%;
}

.price-page table {
    border-spacing: 5px;
    border-collapse: separate;
}

.price-page thead th {
    background-color: #2f2e2e;
    color: #fff;
    font-size: 6pt;
    font-weight: 300;
    padding: 3mm 2mm;
    text-align: center;
    border-radius: 3px;
    line-height: 1.35;
    vertical-align: middle;
    text-transform: uppercase;
}

.price-page th,
.price-page td {
    padding: 4mm 2mm;
    text-align: center;
    border-radius: 3px;
    font-size: 6.5pt;
    font-weight: 300;
    vertical-align: middle;
    line-height: 1.3;
}

.price-page tbody tr:nth-child(odd)>* {
    background-color: #f4f4f4;
}

.price-page tbody tr:nth-child(even)>* {
    background-color: #fff;
}


/* ─── LOGISTICS TABLE ─── */
.sub-title {
    font-size: 14pt;
    font-weight: 900;
    text-align: center;
    margin: 4mm 0 2mm;
    padding: 2mm 10mm;
}

.log-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 3mm;
    font-size: 6.5pt;
    table-layout: fixed;
}

.log-table col {
    width: 20%;
}

.log-table thead th {
    background-color: #2f2e2e;
    color: #fff;
    font-size: 6pt;
    font-weight: 300;
    padding: 3mm 2mm;
    text-align: center;
    border-radius: 3px;
    line-height: 1.35;
    vertical-align: middle;
    text-transform: uppercase;
}

.doc-fbs-comment {
    vertical-align: top !important;
    text-align: left;
}

.log-table td,
.log-table th {
    padding: 4mm 2mm;
    text-align: center;
    border-radius: 3px;
    font-size: 6.5pt;
    font-weight: 300;
    vertical-align: middle;
    line-height: 1.3;
}

.log-table tbody tr:nth-child(odd)>* {
    background-color: #f4f4f4;
}

.log-table tbody tr:nth-child(even)>* {
    background-color: #fff;
}

.log-table .log-cat {
    font-weight: 500;
    margin: 3mm;
}

.italic {
    font-style: italic;
    font-weight: 400 !important;
}



.fbs-comment {
    text-align: left !important;
    font-weight: 300 !important;
    font-size: 6pt !important;
    line-height: 1.4;
    background-color: #ffffff !important;
}



/* ─── SERVICE TABLE ─── */
.svc-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 2px;
    font-size: 6.5pt;
    table-layout: fixed;
}

.svc-table col {
    width: 33.33%;
}

.svc-table thead th {
    background-color: #2f2e2e;
    color: #fff;
    font-size: 6.5pt;
    font-weight: 800;
    padding: 3mm 2mm;
    text-align: center;
    border-radius: 3px;
    line-height: 1.35;
}

.svc-table td {
    padding: 3mm 2mm;
    text-align: center;
    border-radius: 3px;
    font-size: 6.5pt;
    font-weight: 300;
    vertical-align: middle;
    line-height: 1.3;
}

.svc-table tbody tr:nth-child(odd)>* {
    background-color: #f4f4f4;
}

.svc-table tbody tr:nth-child(even)>* {
    background-color: #fff;
}

.svc-desc {
    text-align: left !important;
    font-weight: 400 !important;
    font-size: 6pt !important;
    line-height: 1.4;
    vertical-align: top !important;
    background-color: #f4f4f4 !important;
}

.svc-desc ul {
    list-style: disc;
    padding-left: 4mm;
    margin: 0;
}

.svc-desc li {
    margin-bottom: 0.5mm;
}

/* ─── FOOTER ─── */
.footer {
    text-align: center;
    margin-top: 6mm;
    padding-top: 4mm;
    border-top: 2px solid #000;
    font-size: 6.5pt;
    color: #333;
}

.footer .logo-img {
    width: 16mm;
    margin: 0 auto 2mm;
    display: block;
}

.footer strong {
    font-size: 8pt;
    font-weight: 300;
}

.spacer {
    margin-top: 10mm;
}

.export-mode .document {
    width: 794px;
    /* A4 при 96dpi */
    margin: 0 auto;
}

.export-mode .page {
    width: 100%;
    max-width: none;
    /* Prevent visual page breaks when exporting to PDF */
    break-after: avoid;
    page-break-after: avoid;
}

/* Disable adaptive scaling in export mode */
.export-mode {
    zoom: 1 !important;
}

.export-mode * {
    max-width: none !important;
}

/* Запретить разрыв заголовков таблиц */
thead {
    display: table-header-group;
    /* браузерный дефолт — оставить */
}

/* Запретить разрыв внутри строки */
tr {
    page-break-inside: avoid;
    break-inside: avoid;
}

/* Запретить повтор thead на новой странице */
thead {
    break-after: avoid;
}