/* --- BUTTON STYLES --- */
.add-to-quote-button{background-color:#000!important;color:#fff!important;border-radius:50px!important;padding:10px 24px!important;font-weight:700!important;text-align:center;border:none!important;transition:opacity .2s ease;cursor:pointer;display:inline-block!important}
.add-to-quote-button:hover{opacity:.9}
.add-to-quote-button:focus,.add-to-quote-button:active{outline:none!important;box-shadow:none!important}

/* --- NEW: Safe Loading Style --- */
/* This style applies to our unique class and will not conflict with the theme. */
.add-to-quote-button.custom-raq-loading {
    cursor: wait !important;
    opacity: 0.7 !important;
}

/* --- BUTTON WRAPPER STYLES --- */
.custom-raq-button-wrapper{position:relative;display:block;margin-top:10px;text-align:left}
.single-product .custom-raq-button-wrapper{margin-top:15px;margin-bottom:15px;text-align:center;}

/* --- FLOATING ICON & ANIMATIONS --- */
@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-3px,0,0)}40%,60%{transform:translate3d(3px,0,0)}}
@keyframes fadeInOut{0%,100%{opacity:0;transform:translateY(10px)}15%,85%{opacity:1;transform:translateY(0)}}
#custom-raq-floating-icon{display:block;position:fixed;bottom:20px;right:20px;z-index:1000}
#custom-raq-floating-icon a{position:relative;display:block;width:60px;height:60px;background-color:#fff;border:2px solid #000;border-radius:50%;box-shadow:0 2px 5px rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center}
#custom-raq-floating-icon img{width:32px;height:32px}
#custom-raq-item-count{position:absolute;top:-5px;right:-5px;background-color:red;color:#fff;border-radius:50%;width:24px;height:24px;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}
#custom-raq-floating-icon.shake{animation:shake .82s cubic-bezier(.36,.07,.19,.97) both}
#custom-raq-toast-message{position:absolute;right:75px;top:50%;transform:translateY(-50%);background:#fff;color:#000;padding:8px 15px;border-radius:20px;box-shadow:0 2px 8px rgba(0,0,0,.2);font-size:14px;font-weight:700;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility .3s ease}
#custom-raq-toast-message.show{visibility:visible;animation:fadeInOut 3s ease-in-out forwards}

/* --- MODAL STYLES --- */
#custom-raq-modal-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.6);z-index:9998}#custom-raq-modal-container{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:900px;max-height:90vh;background:#fff;z-index:9999;overflow-y:auto;box-shadow:0 5px 15px rgba(0,0,0,.3)}#custom-raq-modal-content{padding:30px 40px;position:relative}#custom-raq-close-modal{position:absolute;top:15px;right:20px;font-size:28px;background:0 0;border:0;cursor:pointer}.custom-raq-modal-wrapper{display:flex;flex-wrap:wrap;gap:40px}.custom-raq-modal-list{flex:1 1 55%;min-width:300px}.custom-raq-modal-form{flex:1 1 40%;min-width:300px}.custom-raq-modal-wrapper h2{font-family:Montserrat,sans-serif;font-weight:700;font-size:27px;position:relative;padding-bottom:10px;margin-bottom:20px}.custom-raq-modal-wrapper h2::after{content:'';position:absolute;bottom:0;left:0;width:100px;height:3px;background-color:#0000ff}.custom-raq-table{width:100%;border-collapse:collapse}.custom-raq-table td{padding:8px 0;border-bottom:1px solid #eee;vertical-align:middle}.custom-raq-table .product-name{font-weight:700;word-break:break-word}.custom-raq-table .product-name a{color:#333;text-decoration:none}.custom-raq-table .product-name a:hover{color:#0000ff}.custom-raq-table .product-thumbnail img{width:50px;height:auto;border-radius:5px}.custom-raq-table .product-quantity input{width:60px;text-align:center;border-radius:8px;border:1px solid #ccc;padding:5px}.custom-raq-table .product-remove a{color:#a00;font-size:.9em}
.custom-raq-modal-form input[type=text],.custom-raq-modal-form input[type=email],.custom-raq-modal-form input[type=tel],.custom-raq-modal-form textarea{width:100%;padding:12px;box-sizing:border-box;border:1px solid #ccc;border-radius:8px}
#custom-raq-form-feedback.error{color:#a00;background:#fdd;border:1px solid #a00;padding:10px;border-radius:8px;display:block;margin-bottom:1em}
body.modal-open{overflow:hidden}
.custom-raq-modal-form .input-error{border-color:#a00!important;box-shadow:0 0 3px rgba(200,0,0,.5)}