/*** Quote modal ***/
.modal.modal--quote-request .modal-dialog { height: 100%; height: max(75vh, 644px); }
.modal.modal--quote-request .modal-dialog .modal-dialog__header { border-bottom: 1px solid var(--clr-border); }
.modal.modal--quote-request .modal-dialog .modal-dialog__header h2 { margin: 0; display: flex; align-items: center; column-gap: 10px; }
.modal.modal--quote-request .modal-dialog .modal-dialog__header h2 span { font-size: clamp(20px, 4vw, 28px); }
.modal.modal--quote-request .modal-dialog .modal-dialog__header > span { display: inline-flex; cursor: pointer; }
.modal.modal--quote-request .modal-dialog .modal-dialog__header > span .material-symbols-rounded { font-size: 38px; font-weight: 600; color: var(--clr-light); }
.modal.modal--quote-request .modal-dialog .modal-dialog__body { position: relative; display: flex; flex-direction: column; overflow: hidden; flex-grow: 1; gap: 14px; }
.modal.modal--quote-request .modal-dialog .modal-dialog__body.--loading { pointer-events: none; }
.modal.modal--quote-request .modal-dialog .modal-dialog__body.--loading::before { content: ''; position: absolute; left: calc(50% - 20px); top: 100px; width: 40px; height: 40px; border-radius: 50%; display: inline-block; border: 4px solid var(--clr-dark); border-bottom-color: transparent; box-sizing: border-box; animation: rotation 1s linear infinite; }
.modal.modal--quote-request .modal-dialog .modal-dialog__footer { cursor: pointer; display: flex; justify-content: center; gap: 5px; text-transform: uppercase; font-style: italic; font-size: 15px; font-weight: 700; }
.modal.modal--quote-request .modal-dialog__search { padding: 20px; position: absolute; top: 0; right: 0; bottom: 0; left: 0; opacity: 0; pointer-events: none; background-color: rgba(var(--clr-dark-rgb), .73); z-index: 3; display: grid; place-items: center; transition: opacity var(--global-ts-duration) ease; }
.modal.modal--quote-request .modal-dialog__search.is-active { opacity: 1; pointer-events: all; } 
.modal.modal--quote-request .modal-dialog__search .search-form { display: flex; flex-direction: column; gap: 10px; background-color: rgba(0,0,0,.44); backdrop-filter: blur(38px); -webkit-backdrop-filter: blur(38px); width: 100%; max-width: 417px; height: 360px; margin: auto; padding: 20px; border-radius: 6px; }
.modal.modal--quote-request .modal-dialog__search .search-form .search-form__group { position: relative; display: flex; }
.modal.modal--quote-request .modal-dialog__search .search-form .search-form__group i { color: #fff; font-size: 14px; position: absolute; left: 0; bottom: 10px; }
.modal.modal--quote-request .modal-dialog__search .search-form .search-form__group input { padding: 0 0 0 30px; height: 33px; outline: none; font-size: 15px; background: transparent; border: none; color: #fff; border-bottom: 2px solid #fff; width: 100%; font-family: var(--font-primary); }
.modal.modal--quote-request .modal-dialog__search .search-form .search-form__results { overflow-y: auto; overflow-x: hidden; position: relative; padding-left: 20px; height: 100%; }
.modal.modal--quote-request .modal-dialog__search .search-form .search-form__results.--loading::before { content: ''; position: absolute; left: calc(50% - 16px); top: 34px; width: 32px; height: 32px; border-radius: 50%; display: inline-block; border: 4px solid #FFF; border-bottom-color: transparent; box-sizing: border-box; animation: rotation 1s linear infinite; }
.modal.modal--quote-request .modal-dialog__search .search-form .search-form__results::-webkit-scrollbar { width: 3px; background-color: rgba(255,255,255,.15); }
.modal.modal--quote-request .modal-dialog__search .search-form .search-form__results::-webkit-scrollbar-thumb { cursor: grab; background-color: rgba(255,255,255,.5); }
.modal.modal--quote-request .modal-dialog__search .search-form .search-form__results .quote-search-result { cursor: pointer; font-size: 15px; color: #fff; display: grid; grid-template-columns: 55px 1fr auto; align-items: center; font-weight: 700; column-gap: 14px; }
.modal.modal--quote-request .modal-dialog__search .search-form .search-form__results .quote-search-result .material-symbols-sharp { transition: transform var(--global-ts-duration) ease; }
.modal.modal--quote-request .modal-dialog__search .search-form .search-form__results .quote-search-result:hover .material-symbols-sharp { transform: rotate(90deg); }
.modal.modal--quote-request .modal-dialog__search .search-form .search-form__results .quote-search-result + .quote-search-result { margin-top: 5px; }
.modal.modal--quote-request .toggle-search { margin-right: auto; position: sticky; bottom: 0; margin-top: 20px; } 
.modal.modal--quote-request .quote-request-product-list { flex-grow: 1; }
.modal.modal--quote-request .quote-request-product-list__items { margin: 0; padding: 0; overflow-y: auto; }  
.modal.modal--quote-request .quote-request-product-list__items .quote-request-item { padding: 10px 0; display: grid; grid-template-columns: 60px 1fr 30px; align-items: center; border-bottom: 1px solid var(--clr-border); gap: 14px; }
.modal.modal--quote-request .quote-request-product-list__items .quote-request-item .quote-request-item__title { margin: 0; font-size: 15px; } 
.modal.modal--quote-request .quote-request-product-list__items .quote-request-item .quote-request-item__excerpt { font-size: 10px; line-height: 1.2; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; color: var(--clr-dark); margin: 0; }
.modal.modal--quote-request .quote-request-product-list__items .quote-request-item .quote-request-item__info { grid-column: span 2; }
.modal.modal--quote-request .quote-request-product-list__items .quote-request-item .quote-request-item__remove { cursor: pointer; text-align: right; }
.modal.modal--quote-request .quote-request-product-list__items .quote-request-item .quote-request-item__quantity { grid-column: span 2; display: flex; align-items: start; justify-content: end; }
.modal.modal--quote-request .quote-request-product-list__items .quote-request-item .quote-request-item__quantity input { text-align: center; width: 66px; height: 40px; padding: 0; font-size: 14px; border: none; border-top: 1px solid var(--clr-border); border-bottom: 1px solid var(--clr-border); outline: none; }  
.modal.modal--quote-request .quote-request-product-list__items .quote-request-item .quote-request-item__quantity input::-webkit-outer-spin-button,
.modal.modal--quote-request .quote-request-product-list__items .quote-request-item .quote-request-item__quantity input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.modal.modal--quote-request .quote-request-product-list__items .quote-request-item .quote-request-item__quantity > span { user-select: none; cursor: pointer; display: grid; place-items: center; font-weight: 700; font-size: 14px; width: 26px; height: 40px; border: 1px solid var(--clr-border); transition: background-color var(--global-ts-duration) var(--global-ts-function); }
.modal.modal--quote-request .quote-request-product-list__items .quote-request-item .quote-request-item__quantity > span:hover { background-color: var(--clr-light); }  
.modal.modal--quote-request .quote-request-product-list__items .quote-request-item .quote-request-item__quantity .quote-minus { border-radius: 2px 0 0 2px; }
.modal.modal--quote-request .quote-request-product-list__items .quote-request-item .quote-request-item__quantity .quote-plus { border-radius: 0 2px 2px 0; }

.modal.modal--quote-request .modal-dialog__tabs { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 20px; gap: 5px; }
.modal.modal--quote-request .modal-dialog__tabs > span { cursor: pointer; }
.modal.modal--quote-request .modal-dialog__tabs .is-active { font-weight: 700; }
.modal.modal--quote-request .modal-dialog__tabs .btn-group .btn { width: 100%; }
.modal.modal--quote-request .modal-dialog__panes { display: grid; grid-template-areas: 'panes'; flex-grow: 1; overflow: hidden; }
.modal.modal--quote-request .modal-dialog__panes .pane { display: flex; flex-direction: column; grid-area: panes; opacity: 0; height: 100%; pointer-events: none; margin-bottom: auto; overflow-y: auto; transition: opacity var(--global-ts-duration) ease; }
.modal.modal--quote-request .modal-dialog__panes .pane.is-active { opacity: 1; pointer-events: all; }

.modal.modal--quote-request .pane form { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.modal.modal--quote-request .pane form label { font-size: 10px; line-height: 1.2; }
.modal.modal--quote-request .pane form [for="get-in-touch"] { font-size: 10px; display: grid; grid-template-columns: 8px 1fr; column-gap: 7px; }
.modal.modal--quote-request .pane form [name="get_in_touch"] { margin-top: 2px; display: block; width: 8px; height: 8px; border: 1px solid var(--clr-dark); border-radius: 1px; }
.modal.modal--quote-request .pane form textarea { font-family: inherit; }
.modal.modal--quote-request .pane form .form-phone { display: grid; grid-template-columns: 115px 1fr; gap: 14px; }
.modal.modal--quote-request .pane form .is-invalid { border-bottom: 1px solid red!important; }

.modal.modal--quote-request .modal-dialog__success { display: none; padding: var(--p); position: relative; }
.modal.modal--quote-request .modal-dialog__success.is-active { display: block; }
.modal.modal--quote-request .modal-dialog__success > .text { display: grid; grid-template-columns: auto 1fr; column-gap: 20px; padding-right: 20%; }
.modal.modal--quote-request .modal-dialog__success > .text > span { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background-color: var(--clr-light); font-size: 1em; font-weight: 600; }
.modal.modal--quote-request .modal-dialog__success > .text ul { list-style: none; padding: 0; }
.modal.modal--quote-request .modal-dialog__success > .text ul li { display: flex; align-items: center; font-size: 15px; }
.modal.modal--quote-request .modal-dialog__success > .text ul li + li { margin-top: .5em; }
.modal.modal--quote-request .modal-dialog__success > .text ul li p { margin: 0;     line-height: 1.4; }
.modal.modal--quote-request .modal-dialog__success > .text ul li > span { font-size: 18px; font-weight: 600; margin: 2px 10px 0 0;}
.modal.modal--quote-request .modal-dialog__success .image { position: absolute; bottom: 0; right: 0; top: auto; left: auto; width: 25%; }
.modal.modal--quote-request .modal-dialog__success .image img { object-fit: contain; object-position: bottom; }
.modal.modal--quote-request:has(.modal-dialog__success.is-active) .modal-dialog { height: auto; }
.modal.modal--quote-request:has(.modal-dialog__success.is-active) .modal-dialog__footer { display: none; }

@media (min-width: 576px) {
    .modal.modal--quote-request .quote-request-product-list__items .quote-request-item { grid-template-columns: 76px 1fr auto 30px; }
    .modal.modal--quote-request .quote-request-product-list__items .quote-request-item .quote-request-item__info { grid-column: span 1; }
    .modal.modal--quote-request .quote-request-product-list__items .quote-request-item .quote-request-item__quantity { grid-column: span 1; }
    
    .modal.modal--quote-request .modal-dialog__tabs { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
    .modal.modal--quote-request .modal-dialog__tabs .btn-group { margin-left: auto; }

    .modal.modal--quote-request .pane form { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .modal.modal--quote-request .modal-dialog__success > .text > span { width: 62px; height: 62px; font-size: 2em; }
}

@media (min-width: 768px) {
    .modal.modal--quote-request .pane form { column-gap: 40px; }
    .modal.modal--quote-request .pane form .form-phone { column-gap: 32px; }
    .modal.modal--quote-request .modal-dialog__success { padding-block: 48px; }
}

@media (min-width: 992px) {
    .modal.modal--quote-request .modal-dialog__header { padding-block: calc(var(--p) / 2); padding-inline: 64px; }
    .modal.modal--quote-request .modal-dialog__body { padding-inline: 64px; }
    .modal.modal--quote-request .modal-dialog__success { padding: 80px 64px; }
    .modal.modal--quote-request .modal-dialog .modal-dialog__footer { padding-inline: 64px; padding-top: 20px; padding-bottom: 20px; }
}