/* Shared public layout for Customer Information Pages. */
body.CustomerInformationPublicPage .products_wrap,
body.customer_information_public_page .products_wrap {
    display:grid;
    grid-template-columns:300px minmax(0, 1fr);
    column-gap:20px;
    align-items:start;
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
}

body.CustomerInformationPublicPage .products_wrap > .column.left,
body.customer_information_public_page .products_wrap > .column.left {
    display:block;
    width:300px;
    max-width:300px;
    min-width:0;
    margin-right:0;
    box-sizing:border-box;
}

@media (min-width:901px) {
    body.CustomerInformationPublicPage .products_wrap > .column.left,
    body.customer_information_public_page .products_wrap > .column.left {
        position:sticky;
        top:53px;
    }
}

body.CustomerInformationPublicPage .products_wrap > .column.right.customer_information_public_page,
body.customer_information_public_page .products_wrap > .column.right.customer_information_public_page {
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
}

body.CustomerInformationPublicPage .customer_information_public_page,
body.CustomerInformationPublicPage .customer_information_public_page *,
body.CustomerInformationPublicPage .customer_information_public_page *:before,
body.CustomerInformationPublicPage .customer_information_public_page *:after,
body.customer_information_public_page .customer_information_public_page,
body.customer_information_public_page .customer_information_public_page *,
body.customer_information_public_page .customer_information_public_page *:before,
body.customer_information_public_page .customer_information_public_page *:after {
    box-sizing:border-box;
    min-width:0;
}

body.CustomerInformationPublicPage .customer_information_public_page p,
body.CustomerInformationPublicPage .customer_information_public_page a,
body.CustomerInformationPublicPage .customer_information_public_page li,
body.CustomerInformationPublicPage .customer_information_public_page span,
body.CustomerInformationPublicPage .customer_information_public_page strong,
body.customer_information_public_page .customer_information_public_page p,
body.customer_information_public_page .customer_information_public_page a,
body.customer_information_public_page .customer_information_public_page li,
body.customer_information_public_page .customer_information_public_page span,
body.customer_information_public_page .customer_information_public_page strong {
    overflow-wrap:anywhere;
}

body.CustomerInformationPublicPage .customer_information_hero,
body.customer_information_public_page .customer_information_hero {
    position:relative;
    overflow:hidden;
    margin:0 0 18px;
    padding:20px 24px 22px;
    border-left:4px solid #e3262e;
    border-radius:14px;
    background:linear-gradient(135deg, #3a3a3a 0%, #2f2f2f 100%);
    color:#ffffff;
    box-shadow:0 6px 18px rgba(0,0,0,0.10);
}

body.CustomerInformationPublicPage .customer_information_hero .caption-pg,
body.customer_information_public_page .customer_information_hero .caption-pg {
    margin:0;
    padding:0;
    border:0;
    background:transparent;
    color:#ffffff;
    font-size:24px;
    line-height:1.18;
    text-transform:none;
}

body.CustomerInformationPublicPage .customer_information_public_section,
body.customer_information_public_page .customer_information_public_section {
    margin:0 0 18px;
    padding:18px;
    border:1px solid rgba(0,0,0,0.08);
    border-radius:14px;
    background:#ffffff;
    box-shadow:0 4px 14px rgba(0,0,0,0.045);
}

body.CustomerInformationPublicPage .customer_information_public_page h2,
body.customer_information_public_page .customer_information_public_page h2,
body.CustomerInformationPublicPage .customer_information_public_section > h2,
body.customer_information_public_page .customer_information_public_section > h2 {
    margin:0 0 12px;
    color:#000000;
    font-size:17px;
    line-height:1.25;
    font-weight:700;
}

body.CustomerInformationPublicPage .customer_information_public_page h2.customer_information_public_subheading,
body.customer_information_public_page .customer_information_public_page h2.customer_information_public_subheading {
    color:#e3262e;
}

body.CustomerInformationPublicPage .customer_information_public_section > :last-child,
body.customer_information_public_page .customer_information_public_section > :last-child {
    margin-bottom:0;
}

body.CustomerInformationPublicPage .customer_information_public_section p,
body.CustomerInformationPublicPage .customer_information_public_section ul,
body.CustomerInformationPublicPage .customer_information_public_section ol,
body.customer_information_public_page .customer_information_public_section p,
body.customer_information_public_page .customer_information_public_section ul,
body.customer_information_public_page .customer_information_public_section ol {
    margin:0 0 12px;
    color:#000000;
    font-size:14px;
    line-height:1.62;
}

body.CustomerInformationPublicPage .customer_information_public_section ul,
body.CustomerInformationPublicPage .customer_information_public_section ol,
body.customer_information_public_page .customer_information_public_section ul,
body.customer_information_public_page .customer_information_public_section ol {
    padding-left:22px;
}

body.CustomerInformationPublicPage .customer_request_result,
body.customer_information_public_page .customer_request_result {
    margin:0 0 18px;
    padding:14px 16px;
    border-radius:12px;
    background:#ffffff;
    font-size:14px;
    line-height:1.5;
}

body.CustomerInformationPublicPage .customer_request_result.success,
body.customer_information_public_page .customer_request_result.success {
    border:1px solid rgba(31,122,62,0.28);
    color:#1f7a3e;
}

body.CustomerInformationPublicPage .customer_request_result.error,
body.customer_information_public_page .customer_request_result.error {
    border:1px solid rgba(227,38,46,0.28);
    color:#c91f27;
}

body.CustomerInformationPublicPage .customer_request_form_block,
body.customer_information_public_page .customer_request_form_block {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px;
    margin-top:18px;
    padding:18px;
    border:1px solid rgba(0,0,0,0.08);
    border-radius:12px;
    background:#fafafa;
}

body.CustomerInformationPublicPage .customer_request_form_block > h2,
body.customer_information_public_page .customer_request_form_block > h2 {
    grid-column:1 / -1;
    margin:0;
    color:#000000;
    font-size:18px;
    line-height:1.3;
}

body.CustomerInformationPublicPage .customer_request_form_block form,
body.customer_information_public_page .customer_request_form_block form {
    display:contents;
}

body.CustomerInformationPublicPage .customer_request_field,
body.customer_information_public_page .customer_request_field {
    display:block;
    margin:0;
    color:#333333;
    font-size:14px;
    line-height:1.4;
}

body.CustomerInformationPublicPage .customer_request_field span,
body.customer_information_public_page .customer_request_field span {
    display:block;
    margin:0 0 6px;
    font-weight:700;
}

body.CustomerInformationPublicPage .customer_request_field input,
body.CustomerInformationPublicPage .customer_request_field textarea,
body.customer_information_public_page .customer_request_field input,
body.customer_information_public_page .customer_request_field textarea {
    display:block;
    width:100%;
    padding:11px 12px;
    border:1px solid rgba(0,0,0,0.14);
    border-radius:10px;
    background:#ffffff;
    color:#222222;
    font:inherit;
    box-sizing:border-box;
}

body.CustomerInformationPublicPage .customer_request_field textarea,
body.customer_information_public_page .customer_request_field textarea {
    min-height:120px;
    resize:vertical;
}

body.CustomerInformationPublicPage .customer_request_field_full,
body.CustomerInformationPublicPage .customer_request_checkbox,
body.customer_information_public_page .customer_request_field_full,
body.customer_information_public_page .customer_request_checkbox {
    grid-column:1 / -1;
}

body.CustomerInformationPublicPage .customer_request_checkbox,
body.customer_information_public_page .customer_request_checkbox {
    display:flex;
    align-items:center;
    gap:8px;
    color:#333333;
    font-size:14px;
    line-height:1.35;
}

body.CustomerInformationPublicPage .customer_request_human_check,
body.customer_information_public_page .customer_request_human_check {
    position:absolute;
    left:-9999px;
    width:1px;
    height:1px;
    overflow:hidden;
}

body.CustomerInformationPublicPage .customer_request_form_block button[type="submit"],
body.customer_information_public_page .customer_request_form_block button[type="submit"] {
    grid-column:1 / -1;
    justify-self:start;
    min-width:150px;
    min-height:42px;
    padding:0 22px;
    border:0;
    border-radius:10px;
    background:#e3262e;
    color:#ffffff;
    font:inherit;
    font-weight:700;
    cursor:pointer;
}

@media (max-width:1220px) and (min-width:901px) {
    body.CustomerInformationPublicPage .products_wrap,
    body.customer_information_public_page .products_wrap {
        grid-template-columns:280px minmax(0, 1fr);
        column-gap:16px;
    }

    body.CustomerInformationPublicPage .products_wrap > .column.left,
    body.customer_information_public_page .products_wrap > .column.left {
        width:280px;
        max-width:280px;
    }
}

@media (max-width:1060px) and (min-width:901px) {
    body.CustomerInformationPublicPage .products_wrap,
    body.customer_information_public_page .products_wrap {
        grid-template-columns:260px minmax(0, 1fr);
        column-gap:14px;
    }

    body.CustomerInformationPublicPage .products_wrap > .column.left,
    body.customer_information_public_page .products_wrap > .column.left {
        width:260px;
        max-width:260px;
    }
}

@media (max-width:900px) {
    body.CustomerInformationPublicPage .products_wrap,
    body.customer_information_public_page .products_wrap {
        display:block;
    }

    body.CustomerInformationPublicPage .products_wrap > .column.left,
    body.customer_information_public_page .products_wrap > .column.left {
        display:none;
    }

    body.CustomerInformationPublicPage .customer_information_hero,
    body.customer_information_public_page .customer_information_hero {
        padding:22px 18px 24px 18px;
        border-radius:15px;
    }

    body.CustomerInformationPublicPage .customer_information_hero .caption-pg,
    body.customer_information_public_page .customer_information_hero .caption-pg {
        font-size:24px;
    }
}

@media (max-width:640px) {
    body.CustomerInformationPublicPage .customer_information_public_section,
    body.customer_information_public_page .customer_information_public_section,
    body.CustomerInformationPublicPage .customer_request_form_block,
    body.customer_information_public_page .customer_request_form_block {
        padding:15px;
    }

    body.CustomerInformationPublicPage .customer_request_form_block,
    body.customer_information_public_page .customer_request_form_block {
        grid-template-columns:1fr;
    }

    body.CustomerInformationPublicPage .customer_request_field_full,
    body.CustomerInformationPublicPage .customer_request_checkbox,
    body.customer_information_public_page .customer_request_field_full,
    body.customer_information_public_page .customer_request_checkbox {
        grid-column:auto;
    }
}
