.alf-atq-table {
    width: 100%;
    border-collapse: collapse;
}
.alf-atq-table td, .alf-atq-table th {
    padding: 10px;
    border-bottom: 1px solid #ddd;
}
.alf-atq-table tfoot {
    background: #f9f9f9;
    font-weight: bold;
}
.alf-atq-table td img {
    max-width: 35px;
}
.atq-remove-item {
    border: 1px solid;
    border-radius: 100px;
    width: 20px;
    height: 20px;
    display: inline-block;
    line-height: 20px;
    text-align: center;
    margin: 0 11px 0 0;
    background: #f00;
    color: #fff;
    font-weight: bold;
}
.alf-atq-quote-list {
    position: relative;
}
.alf-atq-quote-list .alf-atq-loader-con {
    position: absolute;
    background: rgba(255, 255, 255, 0.8);
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
}
.alf-atq-quote-list .alf-atq-loader-con .alf-atq-loader {
    width: 20px;
    height: 20px;
    border-width: 10px;
}
.quote-completion-section {
    margin: 0 auto;
    display: flex;
    gap: 25px;
}
.alf-atf-products {
    gap: 10px;
    display: flex;
    flex-direction: column;
}
.alf-atf-products img {
    max-width: 75px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 5px;
}
.alf-atf-products h3 {
    font-weight: normal;
    font-size: 1em;
    max-width: 230px;
    margin: 0;
}
.alf-atf-products strong {
    font-weight: normal;
}
table.alf-atq-table {
    text-align: center;
}
.alf-atq-button-wrapper {
    text-align: center;
}
.alf-atq-button {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.3s ease;
    cursor: pointer;
}
.alf-atq-button:not(.elementor-button).atq-added {
    display: inline-flex;
}
.alf-atq-button[disabled] {
    cursor: not-allowed;
    pointer-events: none;
    opacity: 0.6;
}
.alf-atq-button.alf-atq-button:not(.elementor-button).atq-added {
    pointer-events: none;
    cursor: default;
    background: transparent !important;
    color: unset;
}
.alf-atq-button-wrapper .alf-atq-variations {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0 auto 10px;
}
.alf-atq-button-wrapper .alf-atq-variations > div {
    display: flex;
    align-items: center;
    gap: 15px;
}
.alf-atq-button-wrapper {
    margin-top: 10px;
}
.alf-atq-view-list-link {
    border-bottom: 2px dotted;
    font-size: 0.95em;
    font-weight: bold;
}
.elementor-button-icon {
    display: inline-flex;
}
.alf-atq-loader {
    aspect-ratio: 1;
    border-radius: 50%;
    border: 8px solid;
    margin-left: 10px;
    animation:
        l20-1 0.8s infinite linear alternate,
        l20-2 1.6s infinite linear;
}
@keyframes l20-1{
    0%    {clip-path: polygon(50% 50%,0       0,  50%   0%,  50%    0%, 50%    0%, 50%    0%, 50%    0% )}
    12.5% {clip-path: polygon(50% 50%,0       0,  50%   0%,  100%   0%, 100%   0%, 100%   0%, 100%   0% )}
    25%   {clip-path: polygon(50% 50%,0       0,  50%   0%,  100%   0%, 100% 100%, 100% 100%, 100% 100% )}
    50%   {clip-path: polygon(50% 50%,0       0,  50%   0%,  100%   0%, 100% 100%, 50%  100%, 0%   100% )}
    62.5% {clip-path: polygon(50% 50%,100%    0, 100%   0%,  100%   0%, 100% 100%, 50%  100%, 0%   100% )}
    75%   {clip-path: polygon(50% 50%,100% 100%, 100% 100%,  100% 100%, 100% 100%, 50%  100%, 0%   100% )}
    100%  {clip-path: polygon(50% 50%,50%  100%,  50% 100%,   50% 100%,  50% 100%, 50%  100%, 0%   100% )}
}
@keyframes l20-2{ 
    0%    {transform:scaleY(1)  rotate(0deg)}
    49.99%{transform:scaleY(1)  rotate(135deg)}
    50%   {transform:scaleY(-1) rotate(0deg)}
    100%  {transform:scaleY(-1) rotate(-135deg)}
}