/* Component CSS — isolated selectors. Edit freely. */

.cp-page-header {
        padding: 0;
        margin-bottom: clamp(1.25rem, 2.5vw, 2rem);
    }
    .cp-page-header h1 {
        font-size: clamp(1.35rem, 2vw, 1.65rem);
        font-weight: 800;
        color: var(--color-dark, #1E293B);
        margin: 0;
        letter-spacing: -0.02em;
        line-height: 1.2;
    }
    .cp-page-header .cp-subtitle {
        font-size: 0.95rem;
        color: var(--color-gray, #756F6B);
        max-width: 42rem;
        line-height: 1.55;
        margin: 0.35rem 0 0;
    }
    .cp-page-header .cp-divider {
        height: 3px;
        width: 60px;
        border-radius: 2px;
        background: linear-gradient(90deg, var(--color-accent, #EE6D8A), var(--color-accent-light, #F59EB0));
        margin-top: 0.65rem;
    }
    .cp-card {
        background: var(--color-white, #fff);
        border-radius: var(--radius-xl, 1rem);
        padding: clamp(1.1rem, 1.8vw, 1.5rem) clamp(1.1rem, 2vw, 1.65rem);
        box-shadow: 0 1px 3px rgba(30, 41, 59, .04), 0 4px 20px rgba(30, 41, 59, .06);
        border: 1px solid var(--color-gray-light, #DCD9D6);
        margin-bottom: clamp(1.25rem, 2.5vw, 2rem);
    }
    .rental-container.catalog-page-inner.company-static-page.company-wysiwyg-page {
        max-width: min(52rem, calc(100vw - 2 * var(--container-px, 1.25rem))) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        width: 100% !important;
        box-sizing: border-box;
        padding-top: var(--listing-below-hero-gap, 1rem);
        padding-bottom: 0;
    }
    /* Юридические страницы — ширина контент-блока как у мест / статей (1340px rail) */
    .rental-container.catalog-page-inner.company-static-page.company-wysiwyg-page.company-legal-page {
        max-width: var(--catalog-rail-max, var(--site-content-max, 1340px)) !important;
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
    @media (max-width: 768px) {
        .rental-container.catalog-page-inner.company-static-page.company-wysiwyg-page.company-legal-page {
            padding-left: 14px !important;
            padding-right: 14px !important;
        }
    }
    .cp-prose h2 {
        font-size: 1.2rem;
        font-weight: 700;
        margin: 1.75rem 0 0.75rem;
        color: var(--color-dark, #1E293B);
    }
    .cp-prose h2:first-child { margin-top: 0; }
    .cp-prose h3 {
        font-size: 1.05rem;
        font-weight: 600;
        margin: 1.25rem 0 0.5rem;
        color: var(--color-dark, #1E293B);
    }
    .cp-prose p {
        color: var(--color-gray, #756F6B);
        line-height: 1.7;
        font-size: 0.95rem;
        margin: 0 0 0.85rem;
    }
    .cp-prose ul, .cp-prose ol {
        line-height: 1.75;
        font-size: 0.95rem;
        color: var(--color-gray, #756F6B);
        padding-left: 1.35rem;
        margin: 0 0 0.85rem;
    }
    .cp-prose li { margin-bottom: 0.35rem; }
    .cp-prose a {
        color: var(--color-primary, #496275);
        text-decoration: underline;
        text-underline-offset: 3px;
    }
    .cp-prose a:hover { color: var(--color-primary-dark, #364958); }
    .cp-prose blockquote {
        border-left: 4px solid var(--color-accent, #EE6D8A);
        margin: 1rem 0;
        padding: 0.85rem 1rem;
        background: rgba(238, 109, 138, .05);
        border-radius: 0 var(--radius-lg, 0.75rem) var(--radius-lg, 0.75rem) 0;
        color: var(--color-dark, #1E293B);
    }
    .cp-table-scroll {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        margin: 1rem 0 1.25rem;
        border-radius: var(--radius-lg, 0.75rem);
        border: 1px solid var(--color-gray-light, #DCD9D6);
    }
    .cp-prose table {
        width: 100%;
        min-width: 640px;
        border-collapse: collapse;
        font-size: 0.875rem;
        background: var(--color-white, #fff);
    }
    .cp-prose table th,
    .cp-prose table td {
        border-bottom: 1px solid var(--color-gray-light, #DCD9D6);
        padding: 0.65rem 0.75rem;
        text-align: left;
        vertical-align: top;
        line-height: 1.45;
    }
    .cp-prose table th {
        background: var(--color-bg, #F0EEE9);
        font-weight: 700;
        color: var(--color-dark, #1E293B);
        white-space: nowrap;
    }
    .cp-prose table tbody tr:last-child td { border-bottom: none; }
    .cp-prose table tbody tr:nth-child(even) { background: rgba(240, 238, 233, 0.35); }
    .company-page-empty {
        color: var(--color-gray, #756F6B);
        line-height: 1.7;
        font-size: 0.95rem;
    }
    .cp-ad-wrap {
        width: 100%;
        background: transparent;
    }
    .cp-ad-wrap .ad-strip-triple {
        margin: 0 0 1.5rem;
    }
    .cp-ad-inner {
        width: 100%;
        max-width: 1340px;
        margin: 0 auto;
        padding: clamp(0.5rem, 1.5vw, 1rem) 24px;
        box-sizing: border-box;
    }
    @media (max-width: 768px) {
        .cp-card { border-radius: var(--radius-lg, 0.75rem); }
    }

    /* Bla Bla how-it-works — ровные отступы на мобильном */
    .company-wysiwyg-page--blabla-how .blabla-how-head {
        display: flex;
        align-items: center;
        gap: 0.9rem;
        flex-wrap: wrap;
    }
    .company-wysiwyg-page--blabla-how .blabla-how-mascot {
        width: 64px;
        height: 64px;
        border-radius: 50%;
        object-fit: cover;
        box-shadow: 0 4px 18px rgba(0, 0, 0, 0.12);
        border: 3px solid rgba(255, 255, 255, 0.95);
        flex-shrink: 0;
    }
    .company-wysiwyg-page--blabla-how .cp-page-header h1 {
        font-size: clamp(1.45rem, 4.2vw, 2rem);
    }
    .company-wysiwyg-page--blabla-how .blabla-how-prose {
        display: flex;
        flex-direction: column;
        gap: 0;
    }
    .company-wysiwyg-page--blabla-how .blabla-how-prose .blabla-how-lead {
        font-size: 1.02rem;
        line-height: 1.75;
        color: var(--color-gray, #756F6B);
        margin: 0 0 0.25rem;
    }
    .company-wysiwyg-page--blabla-how .blabla-how-prose h2 {
        font-size: 1.15rem;
        font-weight: 700;
        margin: 0;
        padding-top: 1.35rem;
        color: var(--color-dark, #1E293B);
        position: relative;
        padding-left: 14px;
    }
    .company-wysiwyg-page--blabla-how .blabla-how-prose h2:first-of-type {
        padding-top: 1.1rem;
    }
    .company-wysiwyg-page--blabla-how .blabla-how-prose h2::before {
        content: '';
        position: absolute;
        left: 0;
        top: calc(1.35rem + 2px);
        bottom: 2px;
        width: 4px;
        border-radius: 2px;
        background: linear-gradient(180deg, var(--color-accent, #EE6D8A), var(--color-accent-light, #F59EB0));
    }
    .company-wysiwyg-page--blabla-how .blabla-how-prose h2:first-of-type::before {
        top: calc(1.1rem + 2px);
    }
    .company-wysiwyg-page--blabla-how .blabla-how-prose p {
        margin: 0.55rem 0 0;
        line-height: 1.75;
        font-size: 0.97rem;
    }
    .company-wysiwyg-page--blabla-how .blabla-how-prose ul {
        margin: 0.55rem 0 0;
        padding-left: 1.25rem;
        line-height: 1.7;
    }
    .company-wysiwyg-page--blabla-how .blabla-how-prose li {
        margin-bottom: 0.55rem;
    }
    .company-wysiwyg-page--blabla-how .blabla-how-prose li:last-child {
        margin-bottom: 0;
    }
    .company-wysiwyg-page--blabla-how .blabla-how-prose li::marker {
        color: var(--color-accent, #EE6D8A);
    }
    @media (max-width: 768px) {
        .company-wysiwyg-page--blabla-how .cp-card {
            padding: 1.25rem 1.05rem 1.5rem;
        }
        .company-wysiwyg-page--blabla-how .blabla-how-mascot {
            width: 56px;
            height: 56px;
        }
        .company-wysiwyg-page--blabla-how .blabla-how-prose .blabla-how-lead {
            font-size: 0.98rem;
            line-height: 1.7;
            margin-bottom: 0.15rem;
        }
        .company-wysiwyg-page--blabla-how .blabla-how-prose h2 {
            font-size: 1.08rem;
            padding-top: 1.5rem;
            line-height: 1.35;
        }
        .company-wysiwyg-page--blabla-how .blabla-how-prose h2:first-of-type {
            padding-top: 1.25rem;
        }
        .company-wysiwyg-page--blabla-how .blabla-how-prose h2::before {
            top: calc(1.5rem + 2px);
        }
        .company-wysiwyg-page--blabla-how .blabla-how-prose h2:first-of-type::before {
            top: calc(1.25rem + 2px);
        }
        .company-wysiwyg-page--blabla-how .blabla-how-prose p {
            margin-top: 0.65rem;
            font-size: 0.95rem;
            line-height: 1.72;
        }
        .company-wysiwyg-page--blabla-how .blabla-how-prose ul {
            margin-top: 0.65rem;
        }
        .company-wysiwyg-page--blabla-how .blabla-how-prose li {
            margin-bottom: 0.65rem;
        }
    }
