/*
This file should only be used by hesk clients to apply any custom overwrites to core files,
and ensure these changes are included in the bundled css.

Please only change this file if you know what you are doing.
Any general thematic changes should rather be done as part of /theme changes of theme_overrides.css
*/

/*
Create ticket page (index.php?a=add):
Center the form card and let the fields fill its full width, so the
fields line up with the centered spam protection and submit button.
*/
.page-create-ticket .form-submit-ticket {
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
}

.page-create-ticket .form-submit-ticket .form-group,
.page-create-ticket .form-submit-ticket .param {
    max-width: 100%;
}

/* ==========================================================================
   Jira Service Management (Jira Cloud) look & feel
   Loaded last, on top of the bundled app.css. Scoped to .theme_jsm.
   Color tokens are defined in css/themes/jsm.css.
   ========================================================================== */

/* ---------- Typography ---------- */
.theme_jsm,
.theme_jsm body,
.theme_jsm .wrapper,
.theme_jsm button,
.theme_jsm input,
.theme_jsm select,
.theme_jsm textarea,
.theme_jsm .btn {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif !important;
}

/* ---------- Page shell ---------- */
.theme_jsm .wrapper { background-color: var(--jsm-bg); }
.theme_jsm .main__content { background-color: var(--jsm-bg); }
.theme_jsm .contr { max-width: 1200px; padding: 0 24px; }

/* ---------- Header ---------- */
.theme_jsm .cust-help .header { background-color: #fff; border-bottom: 1px solid var(--jsm-border); }
.theme_jsm .cust-help .header__inner { padding: 10px 0; }
.theme_jsm .cust-help .header__logo { color: var(--jsm-text); font-weight: 700; font-size: 20px; letter-spacing: -.01em; }
.theme_jsm .header .user__ava { font-weight: 600; }

/* ---------- Breadcrumbs ---------- */
.theme_jsm .breadcrumbs__inner { padding: 8px 0; }

/* ---------- Headings ---------- */
.theme_jsm .search__title { font-size: 28px; font-weight: 700; color: var(--jsm-text); margin: 32px 0 20px; }
.theme_jsm .select__title { color: var(--jsm-text); font-weight: 600; }
.theme_jsm .article__heading,
.theme_jsm .cust-help .h-3 { color: var(--jsm-text) !important; }

/* ---------- Home search hero ---------- */
.theme_jsm .search__form { background: transparent; padding: 0; }
.theme_jsm .search__form .form-group { max-width: 760px; }
.theme_jsm .search__form .form-group input.form-control {
    height: 52px;
    padding: 15px 16px 15px 52px;
    border: 2px solid var(--jsm-border);
    border-radius: 3px;
    background-color: #fff;
}
.theme_jsm .search__form .form-group input.form-control:hover { border-color: #C1C7D0; box-shadow: none; }
.theme_jsm .search__form .form-group input.form-control:focus { border-color: var(--jsm-focus); box-shadow: 0 0 0 1px var(--jsm-focus); }
.theme_jsm .search__form .search__submit { left: 20px; }
.theme_jsm .search__form .form-group .icon-search { fill: var(--jsm-text-subtle); }

/* ---------- Request-type cards (home navlinks) ---------- */
.theme_jsm .nav { margin: 8px -8px; }
.theme_jsm .navlink {
    border: 1px solid var(--jsm-border);
    border-radius: 8px;
    box-shadow: none;
    margin: 8px;
    transition: background-color 50ms ease, box-shadow 50ms ease;
}
.theme_jsm .navlink:hover { box-shadow: var(--jsm-e100); background-color: #fff; }
.theme_jsm .navlink__title { font-weight: 600; }

/* ---------- Sections / cards ---------- */
.theme_jsm .divider { height: 1px !important; background: var(--jsm-border) !important; margin: 24px 0 !important; }
.theme_jsm .form-submit-ticket { border-radius: 8px; box-shadow: var(--jsm-e100); padding: 24px 32px 40px; }
.theme_jsm.page-create-ticket .form-submit-ticket { max-width: 800px; }
.theme_jsm .form-submit-ticket { max-width: 800px; margin-left: auto; margin-right: auto; }

/* ---------- Form controls ---------- */
.theme_jsm .form-group { margin-bottom: 20px; }
.theme_jsm .form-group label,
.theme_jsm .form .label,
.theme_jsm .label { font-size: 12px; font-weight: 600; color: var(--jsm-text-subtle); }
.theme_jsm .form input.form-control,
.theme_jsm .form textarea.form-control,
.theme_jsm .form select.form-control {
    border: 1px solid var(--jsm-border-input);
    border-radius: 3px;
    background-color: #fff;
    color: var(--jsm-text);
    height: 40px;
}
.theme_jsm .form input.form-control:hover,
.theme_jsm .form textarea.form-control:hover,
.theme_jsm .form select.form-control:hover { border-color: var(--jsm-text-subtle); }
.theme_jsm .form input.form-control:focus,
.theme_jsm .form textarea.form-control:focus,
.theme_jsm .form select.form-control:focus {
    border-color: var(--jsm-focus) !important;
    box-shadow: 0 0 0 1px var(--jsm-focus) !important;
    background-color: #fff !important;
    color: var(--jsm-text) !important;
    outline: 0;
}
.theme_jsm .form textarea.form-control { height: 170px; padding-top: 8px; }

/* ---------- Checkboxes / radios / switch ---------- */
.theme_jsm .checkbox-custom [type=checkbox]:checked + label,
.theme_jsm .radio-custom [type=radio]:checked + label { color: var(--jsm-text); }
.theme_jsm .checkbox-custom [type=checkbox]:checked + label:before { background: var(--jsm-blue); border-color: var(--jsm-blue); }
.theme_jsm .checkbox-custom [type=checkbox]:checked + label:after {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='8' viewBox='0 0 11 8'%3E%3Cpath fill='%23FFFFFF' fill-rule='evenodd' d='M9.043 0L3.246 5.128 1.623 3.692 0 5.128 3.246 8l7.42-6.564z'/%3E%3C/svg%3E");
}
.theme_jsm .radio-custom [type=radio]:checked + label:before { border-color: var(--jsm-blue); border-width: 2px; }
.theme_jsm .switch-checkbox input[type=checkbox]:checked + .switch-checkbox__bullet { background-color: var(--jsm-blue); border-color: var(--jsm-blue); }

/* ---------- Buttons ---------- */
.theme_jsm .btn { border-radius: 3px; font-size: 14px; font-weight: 500; }
.theme_jsm .btn-full { height: 36px; min-width: 120px; border-radius: 3px; font-weight: 500; border: 1px solid transparent; box-shadow: none; }
.theme_jsm .btn-full:hover { background-color: var(--jsm-blue-hover); }
.theme_jsm .btn--blue-border { height: 36px; border-radius: 3px; font-weight: 500; }
.theme_jsm .form-footer .btn { min-width: 200px; height: 44px; }
.theme_jsm #cc-link { border-color: var(--jsm-blue) !important; }
.theme_jsm .go-back-button { background-color: var(--jsm-blue); }

/* ---------- Tables (My tickets) ---------- */
.theme_jsm .table-wrap { border: 1px solid var(--jsm-border); border-radius: 8px; box-shadow: var(--jsm-e100); padding: 0; background: #fff; }
.theme_jsm .table-wrap .table thead { background-color: #fff; color: var(--jsm-text-subtle); height: auto; border-bottom: 2px solid var(--jsm-border); }
.theme_jsm .table-wrap .table thead a { color: var(--jsm-text-subtle); }
.theme_jsm .table-wrap .table thead a:hover { color: var(--jsm-text) !important; }
.theme_jsm .table-wrap .table thead th { padding: 12px 16px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; }
.theme_jsm .table-wrap .table thead th:not(:first-child) { border-left: none; }
.theme_jsm .table thead th .handle::before { border-bottom-color: var(--jsm-text-subtlest); }
.theme_jsm .table thead th .handle::after { border-top-color: var(--jsm-text-subtlest); }
.theme_jsm .table-wrap .table tbody tr { background-color: #fff; border-bottom: 1px solid #F1F2F4; }
.theme_jsm .table-wrap .table tbody tr:nth-child(even) { background-color: #fff; }
.theme_jsm .table-wrap .table tbody tr:hover { background-color: var(--jsm-bg-subtle) !important; }
.theme_jsm .table-wrap .table tbody td { padding: 12px 16px; font-size: 14px; }
.theme_jsm .table-wrap .table tbody td:not(:first-child) { border-left: none; }
.theme_jsm .table-wrap .table tbody tr.new { font-weight: 400; }
.theme_jsm .table-wrap .table tbody tr.new td:first-child::before { background-color: var(--jsm-blue); border: none; width: 3px; }
.theme_jsm .table-wrap td a { text-decoration: none; color: var(--jsm-blue); }
.theme_jsm .table-wrap td a:hover { text-decoration: underline; }

/* ---------- Status lozenges ---------- */
.theme_jsm span.open,
.theme_jsm span.waitingreply,
.theme_jsm span.replied,
.theme_jsm span.resolved,
.theme_jsm span.inprogress,
.theme_jsm span.onhold {
    display: inline-flex;
    align-items: center;
    padding: 1px 8px;
    border-radius: 100px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .4px;
    text-transform: uppercase;
    line-height: 16px;
    white-space: nowrap;
}
.theme_jsm span.open { background: #F1F2F4; color: #44546F; }
.theme_jsm span.inprogress { background: var(--jsm-blue-subtle); color: #0055CC; }
.theme_jsm span.waitingreply { background: var(--jsm-yellow-bg); color: var(--jsm-yellow-text); }
.theme_jsm span.replied { background: var(--jsm-purple-bg); color: var(--jsm-purple-text); }
.theme_jsm span.onhold { background: #F1F2F4; color: #44546F; }
.theme_jsm span.resolved { background: var(--jsm-green-bg); color: var(--jsm-green-text); }

/* ---------- Priority (neutralize HESK triangle + inline colors) ---------- */
.theme_jsm .priority_img {
    width: 10px !important;
    height: 10px !important;
    border: none !important;
    border-radius: 50% !important;
    background: var(--jsm-text-subtlest) !important;
    margin-right: 6px !important;
    display: inline-block !important;
}
.theme_jsm .with-label.priority span { background-image: none !important; padding-left: 0 !important; }

/* ---------- Ticket view ---------- */
.theme_jsm .ticket__body_block { border: 1px solid var(--jsm-border); border-radius: 8px; box-shadow: var(--jsm-e100); text-align: left; padding: 20px 24px; }
.theme_jsm .ticket__body_block.response { background-color: #fff; }
.theme_jsm .ticket__body_block h1 { color: var(--jsm-text); font-size: 20px; font-weight: 600; }
.theme_jsm .ticket__body_block h2,
.theme_jsm .ticket__body_block h3 { color: var(--jsm-text); }
.theme_jsm .ticket__body_block .block--head .contact > span,
.theme_jsm .ticket__body_block .block--head .contact .dropdown span { color: var(--jsm-text-subtle); }
.theme_jsm .ticket__params .params--block { border: 1px solid var(--jsm-border); border-radius: 8px; box-shadow: var(--jsm-e100); }
.theme_jsm .ticket__params .params--block h2,
.theme_jsm .ticket__params .params--block h4 {
    height: auto;
    padding: 12px 16px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .4px;
    color: var(--jsm-text-subtle);
}
.theme_jsm .ticket__params .params--block h2 > span,
.theme_jsm .ticket__params .params--block h4 > span { text-transform: uppercase; white-space: nowrap; }
.theme_jsm .ticket__params .params--block .accordion-title .link { text-transform: none; letter-spacing: normal; font-size: 12px; font-weight: 500; }
.theme_jsm .ticket__params .params--block .accordion-body { padding: 4px 16px 12px; }
.theme_jsm .ticket__params .params--block .row { border-bottom: 1px solid #F1F2F4; margin-top: 0; padding: 8px 0; }
.theme_jsm .ticket__params .params--block .row .title { color: var(--jsm-text-subtlest); }
.theme_jsm .ticket__block-footer { border-top: 1px solid #F1F2F4; color: var(--jsm-text-subtlest); }

/* ---------- Attachments ---------- */
.theme_jsm .wrapper .dropzone { border: 2px dashed var(--jsm-border); border-radius: 3px; }

/* ---------- Alerts / notifications ---------- */
.theme_jsm .alert { border: 1px solid var(--jsm-border); border-radius: 3px; background: var(--jsm-bg-subtle); }
.theme_jsm .alert.warning { border-color: #F5CD47; background: var(--jsm-yellow-bg); }
.theme_jsm .alert.success { border-color: #7EE2B8; background: var(--jsm-green-bg); }
.theme_jsm .alert.danger { border-color: #F87168; background: var(--jsm-red-bg); }
.theme_jsm .notification { border-radius: 3px; box-shadow: none; }

/* ---------- Modal ---------- */
.theme_jsm .modal .modal__body { border-radius: 8px; box-shadow: var(--jsm-e400); }

/* ---------- Knowledge base ---------- */
.theme_jsm .topics { border-radius: 8px; box-shadow: var(--jsm-e100); }
.theme_jsm .topics__title { color: var(--jsm-text); }
.theme_jsm .preview { border-bottom: 1px solid #F1F2F4; box-shadow: none; }
.theme_jsm .preview:hover { background-color: var(--jsm-bg-subtle); }
.theme_jsm .suggest-preview { border-bottom-color: #F1F2F4; }
.theme_jsm .article .block__head .h-3 { color: #fff !important; }

/* ---------- Selectize (search selects) ---------- */
.theme_jsm .selectize-control.single .selectize-input,
.theme_jsm .selectize-input {
    border: 1px solid var(--jsm-border-input);
    border-radius: 3px;
    background: #fff;
    box-shadow: none;
}
.theme_jsm .selectize-control.single .selectize-input.focus { border-color: var(--jsm-focus); box-shadow: 0 0 0 1px var(--jsm-focus); }
.theme_jsm.page-my-tickets .selectize-input { height: 40px !important; }
.theme_jsm.page-my-tickets #search-by,
.theme_jsm.page-my-tickets #search-button,
.theme_jsm.page-my-tickets #kb_search { height: 40px; }

/* ---------- Pagination ---------- */
.theme_jsm .pagination a { color: var(--jsm-text-subtle); }
.theme_jsm .pagination__link { border-radius: 3px; }
.theme_jsm .pagination__item.is-current .pagination__link { background: var(--jsm-blue); color: #fff; }

/* ---------- Footer ---------- */
.theme_jsm .footer { color: var(--jsm-text-subtlest); }
