.m1-hotline-overlay,
.hotline-help-overlay {
    position: fixed;
    inset: 0;
    z-index: 100100;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(15, 18, 20, .66);
    backdrop-filter: blur(5px);
}

.m1-hotline-overlay.open,
.hotline-help-overlay.open {
    display: flex;
}


/* =====================================
   MAIN POPUP
===================================== */

.m1-hotline-popup {
    width: min(1150px, 100%);
    max-height: 94vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 30px 90px rgba(0,0,0,.28);
}


.m1-hotline-header {
    height: 70px;
    min-height: 70px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 28px;
    border-bottom: 1px solid #e7e1da;
}


.m1-hotline-header-title {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -.05em;
}


.m1-hotline-close {
    border: 0;
    background: transparent;
    font-size: 34px;
    cursor: pointer;
}


.m1-hotline-content {
    overflow-y: auto;
    padding: 35px 40px 45px;
}


/* =====================================
   DESCRIPTION
===================================== */

.hotline-description-title {
    margin: 0 0 18px;
    color: #3a3734;
    font-size: 18px;
    line-height: 1.75;
    font-weight: 600;
    letter-spacing: -.045em;
}


.hotline-description {
    margin: 0 0 35px;
    color: #777;
    font-size: 13px;
    line-height: 1.9;
    letter-spacing: -.025em;
}


/* =====================================
   SECTION
===================================== */

.hotline-section-title {
    margin: 30px 0 15px;
    padding-left: 13px;
    border-left: 4px solid #b38b5f;
    color: #333;
    font-size: 17px;
    font-weight: 700;
}


.hotline-section-title span {
    color: #777;
    font-size: 12px;
    font-weight: 400;
}


/* =====================================
   PRIVACY
===================================== */

.hotline-privacy-box {
    display: flex;
    gap: 28px;
    padding: 18px 20px;
    border: 1px solid #ded8d0;
}


.privacy-option {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 13px;
}


.privacy-option input {
    width: 18px;
    height: 18px;
    accent-color: #b38b5f;
}


.hotline-terms-box {
    margin-top: 12px;
    padding: 20px;
    background: #faf8f5;
    border: 1px solid #eee9e3;
    color: #777;
    font-size: 12px;
    line-height: 1.8;
}


/* =====================================
   CONTACT TABLE
===================================== */

.hotline-contact-area {
    margin-top: 10px;
}


.hotline-contact-table-wrap {
    overflow-x: auto;
}


.hotline-contact-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}


.hotline-contact-table th,
.hotline-contact-table td {
    padding: 13px 15px;
    border: 1px solid #ddd7d0;
    font-size: 12px;
}


.hotline-contact-table th {
    background: #f7f4f0;
    color: #444;
    font-weight: 700;
}


.hotline-contact-table th:first-child,
.hotline-contact-table td:first-child {
    width: 55%;
}


.hotline-contact-table td input {
    width: 100%;
    box-sizing: border-box;
    padding: 9px;
    border: 1px solid #ddd7d0;
    outline: none;
}


.hotline-contact-table td input:focus {
    border-color: #b38b5f;
}


/* =====================================
   FORM
===================================== */

.hotline-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-bottom: 15px;
}


.hotline-form-row:first-child {
    grid-template-columns:
        1fr 1.3fr 1fr;
}


.hotline-field label,
.hotline-file-row > label,
.hotline-content-field > label {
    display: block;
    margin-bottom: 7px;
    color: #555;
    font-size: 12px;
    font-weight: 600;
}


.hotline-field label b,
.hotline-content-field label b {
    color: #b38b5f;
}


.hotline-field input,
.hotline-field select {
    width: 100%;
    height: 44px;
    box-sizing: border-box;
    padding: 0 12px;
    border: 1px solid #dcd6cf;
    background: #fff;
    outline: none;
}


.hotline-field input:focus,
.hotline-field select:focus {
    border-color: #b38b5f;
}


/* =====================================
   EMAIL
===================================== */

.email-input-group {
    display: flex;
    align-items: center;
    gap: 5px;
}


.email-input-group input,
.email-input-group select {
    min-width: 0;
}


.email-input-group input:first-child {
    flex: 1;
}


.email-input-group select {
    flex: 1;
}


.email-input-group span {
    color: #777;
}


/* =====================================
   PASSWORD HELP
===================================== */

.password-help {
    width: 18px;
    height: 18px;
    padding: 0;
    border: 1px solid #aaa;
    border-radius: 50%;
    background: #fff;
    color: #777;
    cursor: pointer;
}


/* =====================================
   FILE
===================================== */

.hotline-file-row {
    margin-top: 18px;
}


.hotline-file-box {
    display: flex;
    gap: 8px;
}


.hotline-file-box input {
    flex: 1;
    height: 44px;
    box-sizing: border-box;
    padding: 0 12px;
    border: 1px solid #dcd6cf;
    background: #faf9f7;
}


.hotline-file-button {
    min-width: 110px;
    height: 44px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: #5c5752;
    color: #fff !important;
    cursor: pointer;
}


/* =====================================
   CONTENT
===================================== */

.hotline-content-field {
    margin-top: 20px;
}


.hotline-content-field textarea {
    width: 100%;
    min-height: 230px;
    box-sizing: border-box;
    resize: vertical;
    padding: 15px;
    border: 1px solid #dcd6cf;
    outline: none;
    line-height: 1.7;
}


.hotline-content-field textarea:focus {
    border-color: #b38b5f;
}


/* =====================================
   BUTTON
===================================== */

.hotline-buttons {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 30px;
}


.hotline-save-button,
.hotline-cancel-button {
    min-width: 120px;
    height: 46px;
    border: 1px solid #b38b5f;
    cursor: pointer;
}


.hotline-save-button {
    background: #b38b5f;
    color: #fff;
}


.hotline-cancel-button {
    background: #fff;
    color: #444;
}


.hotline-submit-message {
    min-height: 20px;
    margin-top: 15px;
    text-align: center;
    color: #b34e4e;
    font-size: 12px;
}


.hotline-submit-message.success {
    color: #7b654c;
}


/* =====================================
   HELP POPUP
===================================== */

.hotline-help-popup {
    width: min(430px, calc(100% - 30px));
    background: #fff;
    box-shadow: 0 25px 70px rgba(0,0,0,.3);
}


.hotline-help-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 60px;
    padding: 0 20px;
    border-bottom: 1px solid #e5dfd8;
}


.hotline-help-header button {
    border: 0;
    background: transparent;
    font-size: 28px;
    cursor: pointer;
}


.hotline-help-content {
    padding: 25px;
    color: #666;
    font-size: 13px;
    line-height: 1.8;
}


.hotline-help-content button {
    width: 100%;
    height: 43px;
    margin-top: 15px;
    border: 0;
    background: #b38b5f;
    color: #fff;
    cursor: pointer;
}


/* =====================================
   MOBILE
===================================== */

@media(max-width: 760px){

    .m1-hotline-overlay {
        padding: 0;
        align-items: flex-end;
    }


    .m1-hotline-popup {
        max-height: 96vh;
        border-radius: 8px 8px 0 0;
    }


    .m1-hotline-content {
        padding: 25px 18px 35px;
    }


    .hotline-description-title {
        font-size: 16px;
    }


    .hotline-description {
        font-size: 12px;
    }


    .hotline-form-row,
    .hotline-form-row:first-child {
        grid-template-columns: 1fr;
        gap: 12px;
    }


    .email-input-group {
        flex-wrap: wrap;
    }


    .email-input-group input,
    .email-input-group select {
        flex: 1 1 40%;
    }


    .hotline-contact-table {
        min-width: 620px;
    }

}