/*@@@remdiv.emsform input:not([type="button"]):not([type="submit"]):not([type="reset"]),
div.emsform select,
div.emsform textarea {
    border: 1px solid var(--bs-border-color);
}*/
div.emsform .form-check .form-check-label {
    font-weight: normal;
    line-height: 28px;
}
#emsform-quote-page .btn-submit {
    font-size: 22px !important;
    min-width: 200px;
}
#emsform-quote-page .form-control::placeholder {
    opacity: 0.5;
}

/* Custom accordion styles */
div.accordion-header {
    padding: 0;
}
div.accordion-header > button.accordion-button {
    font-weight: bold;
    font-size: 18px;
}
#emsform-quote-page .part-title {
    min-width: 58px;
}
#emsform-quote-page .part-source-summary {
    min-width: 80px;
}
#emsform-quote-page .part-source-summary .badge {
    min-width: 80px;
    text-align: center;
}

.accordion-item {
    border-color: #c5c5c5;
}
.accordion-item:first-of-type .accordion-custom-header {
    border-top-right-radius: var(--bs-accordion-border-radius);
    border-top-left-radius: var(--bs-accordion-border-radius);
}
.accordion-item:last-of-type .accordion-custom-header:not(:has(.accordion-toggle-button[aria-expanded="true"])) {
    border-bottom-right-radius: var(--bs-accordion-border-radius);
    border-bottom-left-radius: var(--bs-accordion-border-radius);
}

.accordion-custom-header {
    width: 100%;
    padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
    color: var(--bs-accordion-btn-color);
    background-color: #f7f7f7;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.accordion-custom-header .part-title {
    font-size: 1.1rem;
    font-weight: bold;
    min-width: 50px;
}

.part-item.is-collapsed .accordion-custom-header {
    cursor: pointer;
}

.accordion-custom-header .btn-group label.btn {
    min-width: 100px;
}

.accordion-toggle-button {
    width: var(--bs-accordion-btn-icon-width);
    height: var(--bs-accordion-btn-icon-width);
    flex-shrink: 0;

    padding: 0;
    border: 0;

    background-color: transparent;
    background-image: var(--bs-accordion-btn-icon);
    background-repeat: no-repeat;
    background-size: var(--bs-accordion-btn-icon-width);

    transition: var(--bs-accordion-btn-icon-transition);
}

.accordion-toggle-button[aria-expanded="true"] {
    background-image: var(--bs-accordion-btn-active-icon);
    transform: var(--bs-accordion-btn-icon-transform);
}
.accordion-custom-header:has(.accordion-toggle-button[aria-expanded="true"]) {
    color: var(--bs-accordion-active-color);
    background-color: var(--bs-accordion-active-bg);
    box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0
    var(--bs-accordion-border-color);
}
#emsform-quote-page .accordion-body {
    padding: 25px 20px 30px 20px;
}

#emsform-quote-page div.dropdown-menu .container {
    padding-top: 0 !important;
}
#emsform-quote-page #material-list-desktop .container {
    margin-left: 7px;
}

#emsform-quote-page .finish-control.flex-grow-1 {
    flex: 1 1 0;
    min-width: 0;
}
#emsform-quote-page .finish-control > button.material-finish-dropdown {
    width: 100%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#emsform-quote-page button.material-finish-dropdown {
    border: 1px solid lightgray;
    background-color: white;
    cursor: pointer;
    padding-top: 4px;
}
#emsform-quote-page button.material-finish-dropdown:hover {
    background-color: #f6f6f6;
}
#emsform-quote-page .material-finish-dropdown .container {
    width: 800px;
    padding-bottom: 0 !important;
}
#finishes-list-desktop > .container {
    max-width: 640px;
}
#emsform-quote-page .material-finish-dropdown .sub-notes-block {
    border-top: 1px solid #eee;
}
#emsform-quote-page .material-finish-dropdown .sub-note {
    display: flex;
    align-items: center;
}
#emsform-quote-page .material-finish-dropdown .sub-note i.custicon-info {
    margin-right: 4px;
}
div.emsform .multiviewdd span.multiviewdd-title {
    line-height: 22px;
}
#emsform-quote-page .col-materials {
    padding-left: 5px;
    padding-right: 5px;
}
.border-left-desktop {
    border-left: 1px solid #ddd;
}

#emsform-quote-page .material-finish-alert {
    font-size: 16px;
    line-height: 1.25;
    padding: 7px 10px;
}

#emsform-quote-page .btn:disabled {
    background-color: #9f9f9f;
    border-color: #9f9f9f;
    opacity: 1;
    cursor: not-allowed;
}

[class^="custicon-"],
[class*=" custicon-"] {
    display: inline-block;
    width: 18px;
    height: 22px;
    line-height: 16px;
    vertical-align: text-top;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 18px 18px;
    flex-shrink: 0;
}
.custicon-info {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='7' fill='%232196f3'/%3E%3Crect x='7.25' y='6.5' width='1.5' height='5' fill='white'/%3E%3Ccircle cx='8' cy='4.5' r='1' fill='white'/%3E%3C/svg%3E");
}
.custicon-warning {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1.5L15 14H1L8 1.5Z' fill='%23f44336'/%3E%3Crect x='7.25' y='5' width='1.5' height='5' fill='white'/%3E%3Ccircle cx='8' cy='12' r='1' fill='white'/%3E%3C/svg%3E");
}
.custicon-star {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1.2L10.1 5.5L14.8 6.2L11.4 9.5L12.2 14.2L8 12L3.8 14.2L4.6 9.5L1.2 6.2L5.9 5.5L8 1.2Z' fill='%232196f3'/%3E%3C/svg%3E");
    height: 16px;
}

#emsform-quote-page .dimensions-length,
#emsform-quote-page .dimensions-width,
#emsform-quote-page .dimensions-height {
    width: 100%;
}

#country-zip-shipping .form-select,
#country-zip-shipping .form-control {
    width: 100%;
}
#emsform-quote-page textarea.comments {
    height: 80px;
}

#finish-params-color-title {
    text-transform: capitalize;
}
.powder-coat-color-input {
    position: relative;
}
#powder-coat-custcolor {
    padding-right: 130px;
}
#powder-coat-custcolor-name {
    position: absolute;
    top: 0;
    right: 12px;
    height: 36px;
    line-height: 36px;
    color: #777;
    font-size: 15px;
    white-space: nowrap;
    pointer-events: none;
}

#finish-params-modal hr {
    color: #aaa;
}


#btn-add-another-part {
    border: 1px solid #c5c5c5;
}
#btn-add-another-part .plus-icon {
    font-size: 18px;
    font-weight: 400;
    margin-right: 5px;
    line-height: 1;
}

/* Tooltip */
.tooltip {
    --bs-tooltip-font-size: 1rem;
    --bs-tooltip-max-width: 25rem;
}
.tooltip .tooltip-inner {
    font-family: inherit;
    line-height: 1.5;
    text-align: left;
}
.tooltip,
.tooltip .tooltip-inner {
    font-family: 'gilroy-light', sans-serif;
}

#next-part:disabled,
#next-part.disabled {
    cursor: not-allowed;
    box-shadow: none;
    opacity: .65;
}

/* Modal image */
.ems-cad-hint-icon {
    color: #3985d8;
    flex-shrink: 0;
}
.ems-cad-hint {
    display: flex;
    align-items: center;
    gap: 8px;
}
#ems-cad-help-modal .modal-body {
    text-align: center;
}
#ems-cad-help-modal .modal-body p {
    text-align: left;
}
#ems-cad-help-modal .ems-cad-help-image {
    display: block;
    width: 962px;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}
#ems-cad-help-modal .modal-footer {
    display: flex;
    justify-content: flex-end;
    width: 100%;
}
#ems-cad-help-modal .modal-footer button {
    min-width: 160px;
}
.dimensions-break {
    display: none;
}

@media (min-width: 768px) {
    #emsform-quote-page .dimensions-length,
    #emsform-quote-page .dimensions-width,
    #emsform-quote-page .dimensions-height {
        width: 100px;
    }

    #emsform-quote-page .pdf-text-part-fields .dimensions-length,
    #emsform-quote-page .pdf-text-part-fields .dimensions-width,
    #emsform-quote-page .pdf-text-part-fields .dimensions-height {
        width: 85px;
    }

    #emsform-quote-page .pdf-text-part-fields .comments {
        height: 120px;
    }
    .modal.emsform::before {
        display: none;
        content: none;
    }
    .modal.emsform.show .modal-dialog {
        opacity: 1;
    }
    #finish-params-modal .modal-dialog {
        max-width: 600px;
    }
}

@media (min-width: 768px) and (max-width: 1399.98px) {
    .dimensions-break {
        display: block;
        flex-basis: 100%;
        height: 0;
    }
    #emsform-quote-page .pdf-text-part-fields .comments {
        height: 200px;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    #i-agree-bottom .form-check {
        justify-content: flex-start !important;
        text-align: left !important;
    }
    #i-agree-bottom .form-check .form-check-label {
        text-align: left !important;
    }
}

/* Responsive Material / Finish dropdowns */
@media (max-width: 991.98px) {
    #emsform-quote-page .dynamic-dropdown-menu {
        width: 375px;
        max-width: calc(100vw - 85px);
        max-height: 400px;
        overflow-y: auto;
        overflow-x: hidden;
        box-sizing: border-box;
    }
    #emsform-quote-page .dynamic-dropdown-menu .container {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
}

/* Mobile: Part header */
@media (max-width: 575.98px) {
    /* Header layout */
    #emsform-quote-page .accordion-custom-header {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 10px !important;
    }

    /* Part title */
    #emsform-quote-page .part-title {
        order: 1;
        margin-right: auto;
    }

    /* CAD badge in collapsed state */
    #emsform-quote-page .part-source-summary {
        order: 2;
        flex-shrink: 0;
        min-width: 0;
    }

    /* Remove + chevron container */
    #emsform-quote-page .accordion-custom-header > .ms-auto {
        display: contents !important;
    }

    /* Remove button */
    #emsform-quote-page .remove-part-btn {
        order: 3;
        height: 38px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    /* Chevron always last */
    #emsform-quote-page .accordion-toggle-button {
        order: 4;
        margin-left: 0;
        flex-shrink: 0;
    }

    /* CAD / PDF switch in expanded state */
    #emsform-quote-page .part-source-controls {
        order: 5;
        flex: 0 0 100% !important;
        width: 100%;
    }

    #emsform-quote-page .part-source-controls .btn-group {
        display: flex;
        width: 100%;
    }

    #emsform-quote-page .part-source-controls .btn-group label.btn {
        flex: 1 1 0;
        min-width: 0;
        text-align: center;
    }

    /* Part details on separate row */
    #emsform-quote-page .part-summary {
        order: 6;
        flex: 0 0 100%;
        min-width: 0;
    }

    /* Same height for Remove and CAD badge */
    #emsform-quote-page .part-source-summary .badge {
        height: 38px;
        min-width: 80px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
    }
}

@media (max-width: 359.98px) {
    #emsform-quote-page .accordion-custom-header {
        padding-left: 10px;
        padding-right: 10px;
        column-gap: 4px !important;
    }
    #emsform-quote-page .part-title {
        font-size: 16px;
    }
    #emsform-quote-page .remove-part-btn,
    #emsform-quote-page .part-source-summary .badge {
        font-size: 13px;
        padding-left: 6px;
        padding-right: 6px;
    }
}
