/* Popups */
.atq-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.5);
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  box-sizing:border-box;
}

.atq-popup{
  background:#fff;
  padding:20px;
  max-width:440px;
  width:90%;
  max-height:88vh;
  overflow-y:auto;
  border-radius:10px;
  box-shadow:0 0 12px rgba(0,0,0,0.35);
  box-sizing:border-box;
}

.atq-popup-title{
  margin-top:0;
  margin-bottom:14px;
  padding-right:44px;
  font-size:22px;
  line-height:1.25;
  font-weight:600;
  color:#222;
}

.atq-register-quote-popup{
  max-width:480px;
}

.atq-field-label{
  display:block;
  font-weight:600;
  margin:10px 0 5px;
}

.atq-field-label span{
  color:#b00020;
}

.atq-input,
.atq-popup input[type="text"],
.atq-popup input[type="email"],
.atq-popup input[type="tel"],
.atq-popup textarea,
.atq-textarea{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}

.atq-input{
  min-height:38px;
  padding:6px 10px;
}

.atq-textarea,
.atq-popup textarea{
  height:90px;
  margin-top:8px;
  padding:8px 10px;
}

.atq-popup-note{
  margin:10px 0 0;
  color:#666;
  font-size:13px;
}

.atq-row{
  margin-top:10px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.atq-row .button{
  cursor:pointer;
}

/* Toast */
.atq-toast{
  position:fixed;
  left:50%;
  bottom:30px;
  transform:translateX(-50%) translateY(10px);
  opacity:0;
  padding:10px 14px;
  border-radius:10px;
  background:#111;
  color:#fff;
  z-index:10001;
  transition:all .25s ease;
  max-width:92%;
  box-sizing:border-box;
  text-align:center;
}

.atq-toast.show{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

.atq-toast-success{
  background:#1f7a1f;
}

.atq-toast-error{
  background:#b00020;
}

.atq-error{
  color:#b00020;
}

/* Product Page Quote Button */
.atq-auto-button-wrap{
  box-sizing:border-box;
}

/* When printed inside the WooCommerce add-to-cart form */
.atq-auto-button-form{
  display:inline-block;
  margin-left:10px;
  vertical-align:middle;
}

/* The button itself should inherit WooCommerce/theme button layout */
.atq-auto-button-form .add-to-quote-btn,
.atq-auto-button-summary-fallback .add-to-quote-btn,
.atq-shortcode-quote-btn{
  margin-left:0 !important;
}

/* When Add to Cart form is not available, such as out of stock */
.atq-auto-button-summary-fallback{
  margin-top:14px;
  margin-bottom:16px;
}

/* Shortcode button */
.atq-shortcode-quote-btn{
  display:inline-block;
}

/* Add to Quote button custom style */
.single_add_to_cart_button.add-to-quote-btn,
.add-to-quote-btn,
.atq-shortcode-quote-btn{
  background-color:#069EFA ;
  border-color:#069EFA ;
  color:#fff ;
  font-size:16px ;
  font-weight:500 ;
  text-transform:capitalize ;
  line-height:1.2em ;
}

.single_add_to_cart_button.add-to-quote-btn:hover,
.add-to-quote-btn:hover,
.atq-shortcode-quote-btn:hover{
  background-color:#058ee1 ;
  border-color:#058ee1 ;
  color:#fff ;
}

/* Detailed Quote Form */
.atq-detailed-quote-popup{
  width:100%;
  max-width:620px;
  max-height:88vh;
  overflow-y:auto;
  padding:24px;
  box-sizing:border-box;
}

.atq-detailed-quote-popup .atq-popup-title{
  margin:0 0 18px;
  padding-right:44px;
  font-size:22px;
  line-height:1.25;
  font-weight:600;
  color:#222;
}

.atq-detailed-quote-popup .atq-field-label{
  display:block;
  margin-top:13px;
  margin-bottom:6px;
  font-size:14px;
  font-weight:600;
  line-height:1.3;
}

.atq-detailed-quote-popup .atq-field-label span{
  color:#b00020;
}

.atq-detailed-quote-popup .atq-input,
.atq-detailed-quote-popup .atq-textarea{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  border:1px solid #d5d5d5;
  border-radius:8px;
  background:#fff;
  color:#222;
  font-size:15px;
  line-height:1.35;
}

.atq-detailed-quote-popup .atq-input{
  min-height:42px;
  padding:8px 11px;
}

.atq-detailed-quote-popup .atq-textarea{
  min-height:120px;
  height:auto;
  padding:10px 11px;
  resize:vertical;
}

.atq-detailed-quote-popup .atq-input:focus,
.atq-detailed-quote-popup .atq-textarea:focus{
  outline:none;
  border-color:#069EFA;
  box-shadow:0 0 0 1px #069EFA;
}

.atq-detailed-quote-popup .atq-input[readonly]{
  background:#f6f7f7;
  color:#555;
}

.atq-detailed-quote-popup .atq-form-subject{
  font-weight:500;
}

.atq-detailed-quote-popup .atq-row{
  margin-top:18px;
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:wrap;
}

.atq-detailed-quote-popup .atq-row .button{
  min-height:42px;
  padding:10px 18px;
  border-radius:6px;
  cursor:pointer;
}

/* Submit button in quote popup */
.atq-detailed-quote-popup .atq-submit-detailed-quote{
  background-color:#069EFA ;
  border-color:#069EFA ;
  color:#fff ;
  font-family:"Montserrat", Sans-serif ;
  font-size:16px ;
  font-weight:500 ;
  text-transform:capitalize ;
  line-height:1.2em ;
}

.atq-detailed-quote-popup .atq-submit-detailed-quote:hover{
  background-color:#058ee1 ;
  border-color:#058ee1 ;
  color:#fff ;
}

.atq-detailed-quote-popup .atq-popup-note{
  margin:14px 0 0;
  font-size:13px;
  line-height:1.4;
  color:#666;
}

/* Popup price summary */
.atq-popup-price-summary{
  margin-top:14px;
  padding:12px 14px;
  border:1px solid #e2e2e2;
  border-radius:8px;
  background:#f9fbfd;
}

.atq-popup-price-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:8px;
  font-size:14px;
  line-height:1.35;
}

.atq-popup-price-row:last-child{
  margin-bottom:0;
}

.atq-popup-price-row strong{
  text-align:right;
}

.atq-popup-price-row-total{
  padding-top:8px;
  border-top:1px dashed #d8e3ec;
  font-weight:700;
}

.atq-popup-price-row .price{
  margin:0;
}

/* My Quotes Grid/List */
.atq-toolbar{
  display:flex;
  gap:12px;
  align-items:center;
  margin-bottom:15px;
  flex-wrap:wrap;
}

#atq_view_buttons{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}

#atq_view_buttons .atq-view-btn{
  padding:6px 12px;
  cursor:pointer;
  border:1px solid #ccc;
  background:#f1f1f1;
  border-radius:6px;
  margin-right:0;
}

#atq_view_buttons .atq-view-btn.active{
  background:#0073aa;
  color:#fff;
  border-color:#0073aa;
}

.atq-grid{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.atq-list{
  display:block;
}

.atq-quote-box{
  border:1px solid #ccc;
  padding:10px;
  background:#fafafa;
  cursor:pointer;
  border-radius:10px;
  box-sizing:border-box;
  overflow-wrap:anywhere;
}

.atq-grid .atq-quote-box{
  width:240px;
}

.atq-list .atq-quote-box{
  margin-bottom:10px;
}

.atq-highlight{
  background:#ffffcc;
}

/* Dialog */
#atq_quote_dialog_overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.5);
  z-index:10000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  box-sizing:border-box;
}

#atq_quote_dialog{
  background:#fff;
  padding:20px;
  max-width:680px;
  width:92%;
  max-height:88vh;
  border-radius:12px;
  box-shadow:0 0 12px rgba(0,0,0,0.35);
  position:relative;
  box-sizing:border-box;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

#atq_dialog_close{
  position:absolute;
  top:10px;
  right:10px;
  z-index:2;
}

#atq_dialog_content{
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:0;
}

#atq_dialog_content .atq-dialog-title{
  padding-right:70px;
  margin:0 0 14px;
  font-size:22px;
  line-height:1.25;
  font-weight:600;
  color:#222;
}

.atq-product-line{
  margin-top:-6px;
  color:#444;
}

.atq-contact-line{
  margin-top:-4px;
  color:#444;
  font-size:14px;
}

.atq-dialog-messages{
  max-height:340px;
  overflow-y:auto;
  margin-bottom:10px;
  padding-right:4px;
}

.msg-bubble{
  max-width:70%;
  padding:10px;
  margin:6px 0;
  border-radius:12px;
  clear:both;
  box-sizing:border-box;
  overflow-wrap:anywhere;
}

.msg-customer{
  float:left;
  background:#fff;
  border:1px solid #ddd;
}

.msg-admin{
  float:right;
  background:#e0e0e0;
}

.msg-time{
  font-size:12px;
  color:#555;
  margin-top:6px;
  text-align:right;
}

.clear{
  clear:both;
}

/* Shortcode variation option selectors */
.atq-shortcode-quote-block{
  display:flex;
  gap:10px;
  align-items:flex-start;
  flex-wrap:wrap;
  box-sizing:border-box;
}

.atq-shortcode-layout-stack{
  flex-direction:column;
}

.atq-shortcode-layout-inline{
  flex-direction:row;
  align-items:center;
}

.atq-shortcode-options{
  font-family:"Montserrat", Sans-serif;
  font-size:14px;
  line-height:1.4;
  color:#333;
  background:#f6f7f7;
  border:1px solid #e2e2e2;
  border-radius:8px;
  padding:10px;
  box-sizing:border-box;
}

.atq-shortcode-options-selectors{
  width:100%;
  max-width:460px;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.atq-shortcode-option-field{
  width:100%;
  box-sizing:border-box;
}

.atq-shortcode-option-label{
  display:block;
  margin-bottom:6px;
  font-family:"Montserrat", Sans-serif;
  font-size:14px;
  font-weight:600;
  color:#333;
}

.atq-shortcode-option-select{
  width:100%;
  min-height:42px;
  border:1px solid #d5d5d5;
  border-radius:8px;
  padding:8px 10px;
  background:#fff;
  color:#222;
  font-family:"Montserrat", Sans-serif;
  font-size:14px;
  line-height:1.35;
  box-sizing:border-box;
}

.atq-shortcode-option-select:focus{
  outline:none;
  border-color:#069EFA;
  box-shadow:0 0 0 1px #069EFA;
}

.atq-shortcode-option-choices{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}

.atq-shortcode-option-choice{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:8px 11px;
  border:1px solid #d5d5d5;
  border-radius:8px;
  background:#fff;
  color:#222;
  font-family:"Montserrat", Sans-serif;
  font-size:14px;
  font-weight:500;
  line-height:1.2;
  cursor:pointer;
  box-sizing:border-box;
  transition:all .18s ease;
  user-select:none;
}

.atq-shortcode-option-choice:hover{
  border-color:#069EFA;
  background:#f5fbff;
}

.atq-shortcode-option-radio{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.atq-shortcode-option-ui{
  position:relative;
  width:16px;
  height:16px;
  flex:0 0 16px;
  border:2px solid #b8b8b8;
  background:#fff;
  box-sizing:border-box;
  transition:all .18s ease;
}

.atq-shortcode-option-text{
  display:inline-block;
}

/* Radio Dot */
.atq-shortcode-option-choice-radio .atq-shortcode-option-ui{
  border-radius:50%;
}

.atq-shortcode-option-choice-radio .atq-shortcode-option-ui:after{
  content:"";
  position:absolute;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#069EFA;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%) scale(0);
  transition:transform .18s ease;
}

.atq-shortcode-option-choice-radio.is-selected,
.atq-shortcode-option-choice-radio:has(.atq-shortcode-option-radio:checked){
  border-color:#069EFA;
  background:#edf8ff;
  color:#111;
}

.atq-shortcode-option-choice-radio.is-selected .atq-shortcode-option-ui,
.atq-shortcode-option-choice-radio .atq-shortcode-option-radio:checked + .atq-shortcode-option-ui{
  border-color:#069EFA;
}

.atq-shortcode-option-choice-radio.is-selected .atq-shortcode-option-ui:after,
.atq-shortcode-option-choice-radio .atq-shortcode-option-radio:checked + .atq-shortcode-option-ui:after{
  transform:translate(-50%, -50%) scale(1);
}

/* Checkbox-looking single select. Still radio logic. */
.atq-shortcode-option-choice-checkbox_radio .atq-shortcode-option-ui{
  border-radius:4px;
}

.atq-shortcode-option-choice-checkbox_radio .atq-shortcode-option-ui:after{
  content:"";
  position:absolute;
  width:8px;
  height:4px;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  top:4px;
  left:3px;
  transform:rotate(-45deg) scale(0);
  transition:transform .18s ease;
}

.atq-shortcode-option-choice-checkbox_radio.is-selected,
.atq-shortcode-option-choice-checkbox_radio:has(.atq-shortcode-option-radio:checked){
  border-color:#069EFA;
  background:#edf8ff;
  color:#111;
}

.atq-shortcode-option-choice-checkbox_radio.is-selected .atq-shortcode-option-ui,
.atq-shortcode-option-choice-checkbox_radio .atq-shortcode-option-radio:checked + .atq-shortcode-option-ui{
  border-color:#069EFA;
  background:#069EFA;
}

.atq-shortcode-option-choice-checkbox_radio.is-selected .atq-shortcode-option-ui:after,
.atq-shortcode-option-choice-checkbox_radio .atq-shortcode-option-radio:checked + .atq-shortcode-option-ui:after{
  transform:rotate(-45deg) scale(1);
}

/* Button Select */
.atq-shortcode-option-choices-button{
  gap:9px;
}

.atq-shortcode-option-choice-button{
  min-height:40px;
  padding:9px 14px;
  border-radius:999px;
  background:#fff;
}

.atq-shortcode-option-choice-button .atq-shortcode-option-ui{
  display:none;
}

.atq-shortcode-option-choice-button.is-selected,
.atq-shortcode-option-choice-button:has(.atq-shortcode-option-radio:checked){
  border-color:#069EFA;
  background:#069EFA;
  color:#fff;
}

.atq-shortcode-option-choice-button.is-selected:hover,
.atq-shortcode-option-choice-button:has(.atq-shortcode-option-radio:checked):hover{
  background:#058ee1;
  border-color:#058ee1;
  color:#fff;
}

/* Keyboard focus for radio/button styles */
.atq-shortcode-option-radio:focus-visible + .atq-shortcode-option-ui,
.atq-shortcode-option-choice:focus-within{
  outline:2px solid rgba(6,158,250,.35);
  outline-offset:2px;
}

.atq-shortcode-selected-options{
  font-family:"Montserrat", Sans-serif;
  font-size:14px;
  line-height:1.4;
  color:#333;
  background:#fff;
  border:1px solid #e2e2e2;
  border-radius:8px;
  padding:9px 10px;
  box-sizing:border-box;
}

.atq-shortcode-options-label{
  font-weight:600;
  color:#222;
}

.atq-shortcode-options-value{
  color:#555;
}

.atq-shortcode-options.is-empty .atq-shortcode-options-value{
  color:#888;
}

/* Section titles inside shortcode block */
.atq-shortcode-section-title{
  display:block;
  margin:0 0 6px;
  font-family:"Montserrat", Sans-serif;
  font-size:14px;
  font-weight:700;
  line-height:1.3;
  color:#222;
}

.atq-shortcode-options-title,
.atq-shortcode-extra-products-title{
  margin-bottom:4px;
}

/* =========================================================
   Extra Products - separate mode/style control
========================================================= */

.atq-shortcode-extra-products-wrap{
  width:100%;
  max-width:460px;
}

.atq-shortcode-extra-products{
  width:100%;
  font-family:"Montserrat", Sans-serif;
  font-size:14px;
  line-height:1.4;
  color:#333;
  background:#f6f7f7;
  border:1px solid #e2e2e2;
  border-radius:8px;
  padding:10px;
  box-sizing:border-box;
}

.atq-shortcode-extra-products-list,
.atq-extra-products-list{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:6px;
}

.atq-shortcode-extra-products-list-button,
.atq-extra-products-list-button{
  flex-direction:row;
  flex-wrap:wrap;
  gap:9px;
}

.atq-shortcode-extra-product-item,
.atq-extra-product-item{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:10px 12px;
  border:1px solid #d5d5d5;
  border-radius:8px;
  background:#fff;
  color:#222;
  cursor:pointer;
  box-sizing:border-box;
  transition:border-color .18s ease, background-color .18s ease, box-shadow .18s ease, color .18s ease;
  user-select:none;
}

.atq-shortcode-extra-product-item:hover,
.atq-extra-product-item:hover{
  border-color:#069EFA;
  background:#f5fbff;
}

.atq-shortcode-extra-product-input,
.atq-extra-product-input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.atq-shortcode-extra-product-ui,
.atq-extra-product-ui{
  position:relative;
  width:16px;
  height:16px;
  flex:0 0 16px;

  border:2px solid #b8b8b8;
  background:#fff;
  box-sizing:border-box;
  transition:all .18s ease;
}

.atq-shortcode-extra-product-text,
.atq-extra-product-text{
  display:inline-block;
  color:#222;
  font-size:14px;
  line-height:1.35;
  font-weight:500;
}

.atq-shortcode-extra-product-price,
.atq-extra-product-price{
  display:inline-block;
  margin-left:6px;
  font-size:12px;
  font-weight:600;
  color:#2686E0;
  line-height:1.2;
}

/* checkbox */
.atq-shortcode-extra-product-item-checkbox .atq-shortcode-extra-product-ui,
.atq-extra-product-item-checkbox .atq-extra-product-ui{
  border-radius:4px;
}

.atq-shortcode-extra-product-item-checkbox .atq-shortcode-extra-product-ui:after,
.atq-extra-product-item-checkbox .atq-extra-product-ui:after{
  content:"";
  position:absolute;
  width:8px;
  height:4px;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  top:4px;
  left:3px;
  transform:rotate(-45deg) scale(0);
  transition:transform .18s ease;
}

.atq-shortcode-extra-product-item-checkbox.is-selected,
.atq-shortcode-extra-product-item-checkbox:has(.atq-shortcode-extra-product-input:checked),
.atq-extra-product-item-checkbox.is-selected,
.atq-extra-product-item-checkbox:has(.atq-extra-product-input:checked){
  border-color:#069EFA;
  background:#edf8ff;
  box-shadow:0 0 0 1px rgba(6,158,250,.08);
}

.atq-shortcode-extra-product-item-checkbox .atq-shortcode-extra-product-input:checked + .atq-shortcode-extra-product-ui,
.atq-extra-product-item-checkbox .atq-extra-product-input:checked + .atq-extra-product-ui{
  border-color:#069EFA;
  background:#069EFA;
}

.atq-shortcode-extra-product-item-checkbox .atq-shortcode-extra-product-input:checked + .atq-shortcode-extra-product-ui:after,
.atq-extra-product-item-checkbox .atq-extra-product-input:checked + .atq-extra-product-ui:after{
  transform:rotate(-45deg) scale(1);
}

/* radio */
.atq-shortcode-extra-product-item-radio .atq-shortcode-extra-product-ui,
.atq-extra-product-item-radio .atq-extra-product-ui{
  border-radius:50%;
}

.atq-shortcode-extra-product-item-radio .atq-shortcode-extra-product-ui:after,
.atq-extra-product-item-radio .atq-extra-product-ui:after{
  content:"";
  position:absolute;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#069EFA;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%) scale(0);
  transition:transform .18s ease;
}

.atq-shortcode-extra-product-item-radio.is-selected,
.atq-shortcode-extra-product-item-radio:has(.atq-shortcode-extra-product-input:checked),
.atq-extra-product-item-radio.is-selected,
.atq-extra-product-item-radio:has(.atq-extra-product-input:checked){
  border-color:#069EFA;
  background:#edf8ff;
  box-shadow:0 0 0 1px rgba(6,158,250,.08);
}

.atq-shortcode-extra-product-item-radio .atq-shortcode-extra-product-input:checked + .atq-shortcode-extra-product-ui,
.atq-extra-product-item-radio .atq-extra-product-input:checked + .atq-extra-product-ui{
  border-color:#069EFA;
}

.atq-shortcode-extra-product-item-radio .atq-shortcode-extra-product-input:checked + .atq-shortcode-extra-product-ui:after,
.atq-extra-product-item-radio .atq-extra-product-input:checked + .atq-extra-product-ui:after{
  transform:translate(-50%, -50%) scale(1);
}

/* button */
.atq-shortcode-extra-product-item-button,
.atq-extra-product-item-button{
  min-height:40px;
  padding:9px 14px;
  border-radius:999px;
  justify-content:center;
}

.atq-shortcode-extra-product-item-button .atq-shortcode-extra-product-ui,
.atq-extra-product-item-button .atq-extra-product-ui{
  display:none;
}

.atq-shortcode-extra-product-item-button.is-selected,
.atq-shortcode-extra-product-item-button:has(.atq-shortcode-extra-product-input:checked),
.atq-extra-product-item-button.is-selected,
.atq-extra-product-item-button:has(.atq-extra-product-input:checked){
  border-color:#069EFA;
  background:#069EFA;
  color:#fff;
}

.atq-shortcode-extra-product-item-button.is-selected .atq-shortcode-extra-product-text,
.atq-shortcode-extra-product-item-button:has(.atq-shortcode-extra-product-input:checked) .atq-shortcode-extra-product-text,
.atq-extra-product-item-button.is-selected .atq-extra-product-text,
.atq-extra-product-item-button:has(.atq-extra-product-input:checked) .atq-extra-product-text{
  color:#fff;
}

.atq-shortcode-extra-product-item-button.is-selected .atq-shortcode-extra-product-price,
.atq-shortcode-extra-product-item-button:has(.atq-shortcode-extra-product-input:checked) .atq-shortcode-extra-product-price,
.atq-extra-product-item-button.is-selected .atq-extra-product-price,
.atq-extra-product-item-button:has(.atq-extra-product-input:checked) .atq-extra-product-price{
  color:#fff;
}

/* focus */
.atq-shortcode-extra-product-item:focus-within,
.atq-extra-product-item:focus-within{
  outline:2px solid rgba(6,158,250,.35);
  outline-offset:2px;
}

/* Tablet */
@media (max-width:1024px){

  .single_add_to_cart_button.add-to-quote-btn,
  .add-to-quote-btn,
  .atq-shortcode-quote-btn{
    font-size:14px !important;
  }

  .atq-overlay{
    padding:20px;
  }

  .atq-detailed-quote-popup{
    max-width:560px;
    padding:22px;
  }

  .atq-detailed-quote-popup .atq-popup-title{
    font-size:21px;
  }

  .atq-detailed-quote-popup .atq-submit-detailed-quote{
    font-size:14px !important;
  }

  .atq-extra-product-text,
  .atq-shortcode-extra-product-text{
    font-size:14px;
  }
}

/* Tablet / large mobile */
@media (max-width:768px){

  .atq-toolbar{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }

  #atq_view_buttons{
    width:100%;
  }

  #atq_view_buttons .atq-view-btn{
    flex:1 1 auto;
    text-align:center;
  }

  #atq_time_select{
    width:100%;
    max-width:100%;
  }

  .atq-grid{
    display:block;
  }

  .atq-grid .atq-quote-box,
  .atq-list .atq-quote-box{
    width:100%;
    margin-bottom:10px;
  }

  #atq_quote_dialog_overlay{
    align-items:flex-start;
    justify-content:center;
    padding:46px 12px 16px;
    overflow-y:auto;
  }

  #atq_quote_dialog{
    width:100%;
    max-width:100%;
    max-height:calc(100vh - 70px);
    padding:16px;
    border-radius:10px;
  }

  #atq_dialog_close{
    position:static;
    align-self:flex-end;
    margin-bottom:10px;
  }

  #atq_dialog_content .atq-dialog-title{
    padding-right:0;
  }

  .atq-dialog-messages{
    max-height:calc(100vh - 260px);
  }

  .msg-bubble{
    max-width:88%;
  }

  #atq_dialog_reply_form textarea{
    min-height:80px;
  }

  #atq_dialog_reply_form .button{
    width:100%;
    margin-top:8px;
  }

  .atq-popup{
    width:100%;
    max-width:520px;
  }
}

/* Mobile */
@media (max-width:767px){

  .atq-overlay{
    align-items:flex-start;
    justify-content:center;
    padding:18px 12px;
    overflow-y:auto;
  }

  .atq-detailed-quote-popup{
    max-width:100%;
    width:100%;
    max-height:calc(100vh - 36px);
    padding:18px;
    border-radius:12px;
  }

  .atq-detailed-quote-popup .atq-popup-title{
    font-size:20px;
    margin-bottom:16px;
  }

  .atq-detailed-quote-popup .atq-field-label{
    margin-top:11px;
    font-size:14px;
  }

  .atq-detailed-quote-popup .atq-input{
    min-height:42px;
    font-size:14px;
  }

  .atq-detailed-quote-popup .atq-textarea{
    min-height:105px;
    font-size:14px;
  }

  .atq-detailed-quote-popup .atq-submit-detailed-quote{
    font-size:14px !important;
  }

  .atq-detailed-quote-popup .atq-row{
    flex-direction:column;
    align-items:stretch;
    gap:9px;
    margin-top:16px;
  }

  .atq-detailed-quote-popup .atq-row .button{
    width:100%;
    text-align:center;
  }

  .atq-popup-price-summary{
    padding:10px 12px;
  }

  .atq-popup-price-row{
    gap:8px;
    font-size:13px;
  }

  .atq-extra-products-list,
  .atq-shortcode-extra-products-list{
    gap:7px;
  }

  .atq-extra-product-item,
  .atq-shortcode-extra-product-item{
    padding:9px 10px;
  }

  .atq-extra-product-text,
  .atq-shortcode-extra-product-text{
    font-size:13px;
  }

  .atq-shortcode-extra-product-price,
  .atq-extra-product-price{
    font-size:11px;
  }

  .atq-shortcode-options-selectors,
  .atq-shortcode-extra-products-wrap,
  .atq-shortcode-extra-products{
    max-width:100%;
    width:100%;
  }

  .atq-shortcode-option-choices{
    gap:7px;
  }

  .atq-shortcode-option-choice{
    font-size:13px;
    min-height:38px;
    padding:8px 10px;
  }
}

/* Small phones */
@media (max-width:480px){

  .atq-overlay{
    align-items:flex-start;
    padding:12px 10px;
    overflow-y:auto;
  }

  .atq-popup{
    width:100%;
    max-width:100%;
    padding:16px;
    border-radius:10px;
  }

  .atq-detailed-quote-popup{
    max-height:calc(100vh - 24px);
    padding:16px;
    border-radius:10px;
  }

  .atq-detailed-quote-popup .atq-popup-title{
    font-size:19px;
  }

  .atq-detailed-quote-popup .atq-input,
  .atq-detailed-quote-popup .atq-textarea{
    border-radius:7px;
  }

  .atq-detailed-quote-popup .atq-popup-note{
    font-size:12px;
  }

  .atq-row{
    flex-direction:column;
    align-items:stretch;
  }

  .atq-row .button{
    width:100%;
    text-align:center;
  }

  #atq_view_buttons{
    flex-direction:column;
  }

  #atq_view_buttons .atq-view-btn{
    width:100%;
  }

  .msg-bubble{
    max-width:96%;
    float:none;
    clear:both;
  }

  .msg-customer,
  .msg-admin{
    float:none;
    margin-left:0;
    margin-right:0;
  }

  .msg-time{
    text-align:left;
  }

  .atq-auto-button-form{
    display:block;
    margin-left:0;
    margin-top:10px;
    width:100%;
  }

  .atq-auto-button-form .add-to-quote-btn,
  .atq-auto-button-summary-fallback .add-to-quote-btn,
  .atq-shortcode-quote-btn{
    display:block !important;
    width:100%;
    margin-left:0 !important;
    margin-top:10px !important;
    text-align:center;
  }

  .atq-toast{
    bottom:18px;
    width:calc(100% - 24px);
    max-width:calc(100% - 24px);
  }

  .atq-shortcode-quote-block,
  .atq-shortcode-layout-inline,
  .atq-shortcode-layout-stack{
    flex-direction:column;
    align-items:stretch;
  }

  .atq-shortcode-options,
  .atq-shortcode-options-selectors,
  .atq-shortcode-extra-products-wrap,
  .atq-shortcode-extra-products{
    width:100%;
    max-width:100%;
  }

  .atq-shortcode-option-choices{
    flex-direction:column;
    align-items:stretch;
  }

  .atq-shortcode-option-choice,
  .atq-shortcode-extra-product-item:not(.atq-shortcode-extra-product-item-button),
  .atq-extra-product-item:not(.atq-extra-product-item-button){
    width:100%;
  }

  .atq-shortcode-option-choice-button,
  .atq-shortcode-extra-product-item-button,
  .atq-extra-product-item-button{
    justify-content:center;
    border-radius:8px;
  }

  .atq-popup-price-row{
    flex-direction:column;
    align-items:flex-start;
  }

  .atq-popup-price-row strong{
    text-align:left;
  }
}

/* Shortcode custom price module */
.atq-shortcode-price-wrap{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  width:100%;
  box-sizing:border-box;
  margin:2px 0 6px;
  padding:10px 12px;
  border:1px solid #e2e2e2;
  border-radius:8px;
  background:#fff;
  font-family:"Montserrat", Sans-serif;
  line-height:1.35;
}

.atq-shortcode-price-label{
  display:inline-block;
  font-size:14px;
  font-weight:600;
  color:#222;
}

.atq-shortcode-price-value{
  display:inline-flex;
  align-items:center;
  flex-wrap:wrap;
  gap:4px;
  min-height:24px;
  font-size:18px;
  font-weight:700;
  color:#111;
}

.atq-shortcode-price-value .price{
  display:inline-flex;
  align-items:center;
  flex-wrap:wrap;
  gap:4px;
  margin:0;
  color:inherit;
  font-size:inherit;
  font-weight:inherit;
  line-height:1.2;
}

.atq-shortcode-price-value .amount,
.atq-shortcode-price-value bdi{
  color:inherit;
  font-size:inherit;
  font-weight:inherit;
}

.atq-shortcode-price-value del{
  opacity:.6;
  font-size:.92em;
  font-weight:500;

}

.atq-shortcode-price-value ins{
  text-decoration:none;
}

.atq-shortcode-price-value .woocommerce-Price-currencySymbol{
  font-size:.95em;
}

/* Better spacing inside shortcode block */
.atq-shortcode-quote-block .atq-shortcode-price-wrap{
  max-width:460px;
}

.atq-shortcode-layout-stack .atq-shortcode-price-wrap{
  width:100%;
}

.atq-shortcode-layout-inline .atq-shortcode-price-wrap{
  width:auto;
  min-width:180px;
}

/* When only price is shown without options */
.atq-shortcode-quote-block:not(:has(.atq-shortcode-options)) .atq-shortcode-price-wrap{
  margin-top:0;
}

/* Tablet */
@media (max-width:1024px){
  .atq-shortcode-price-value{
    font-size:17px;
  }
}

/* Mobile */
@media (max-width:767px){
  .atq-shortcode-price-wrap{
    padding:9px 10px;
    gap:6px;
  }

  .atq-shortcode-price-label{
    font-size:13px;
  }

  .atq-shortcode-price-value{
    font-size:16px;
  }

  .atq-shortcode-quote-block .atq-shortcode-price-wrap,
  .atq-shortcode-layout-inline .atq-shortcode-price-wrap{
    width:100%;
    max-width:100%;
  }
}

/* Small phones */
@media (max-width:480px){
  .atq-shortcode-price-wrap{
    border-radius:7px;
  }

  .atq-shortcode-price-label{
    width:100%;
  }

  .atq-shortcode-price-value{
    width:100%;
  } 
}
/* =========================================================
   ATQ Popup Scroll Lock + Round Close Button
   - Do NOT force global border-radius
   - Popup top-right close button is round
   - Original page cannot scroll while popup is open
   - Popup / overlay owns scroll
========================================================= */

/* Lock original page when popup is open */
html.atq-popup-open,
body.atq-popup-open{
  overflow:hidden !important;
  height:100%;
}

/* Main quote popup overlay owns scroll */
.atq-overlay{
  overflow-y:auto !important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

/* Popup itself owns inner scroll */
.atq-popup{
  position:relative;
  overflow-y:auto !important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

/* Detailed popup should also stay inside viewport */
.atq-detailed-quote-popup{
  max-height:88vh;
  overflow-y:auto !important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}



/* Popup quantity field */
.atq-popup input[type="number"],
.atq-detailed-quote-popup input[type="number"]{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}

/* Prevent popup title from using any H-tag based theme styles */
.atq-popup-title,
.atq-dialog-title{
  display:block;
  text-transform:none;
}

/* Make popup overlays capture pointer/wheel context */
.atq-overlay,
#atq_quote_dialog_overlay{
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
/* Independent round X close button - isolated from theme styles */
.atq-popup{
  position: relative;
}

button.atq-popup-x-close,
button.atq-popup-x-close:hover,
button.atq-popup-x-close:focus,
button.atq-popup-x-close:active{
  all: unset !important;
  appearance: none !important;
  -webkit-appearance: none !important;

  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 99999 !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  max-width: 32px !important;
  max-height: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;

  border: 1px solid #e3342f !important;
  border-radius: 50% !important;
  background: #dc2626 !important;
  color: #222 !important;

  display: grid !important;
  place-items: center !important;

  font-size: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-indent: 0 !important;

  cursor: pointer !important;
  box-shadow: none !important;
  outline: none !important;
  overflow: hidden !important;
  transform: none !important;
}

button.atq-popup-x-close::before{
  content: "\00d7";
  display: block;

  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 34px !important;
  font-weight: 400 !important;
  line-height: 30px !important;

  color: #fff !important;
  text-align: center !important;
}

button.atq-popup-x-close span{
  display: none !important;
}

button.atq-popup-x-close:hover,
button.atq-popup-x-close:focus{
  background: #b91c1c !important;
  border-color: #b91c1c !important;
  color: #ffffff !important;
}

button.atq-popup-x-close:hover::before,
button.atq-popup-x-close:focus::before{
  color: #fff !important;
}

button.atq-popup-x-close:focus-visible{
  outline: 2px solid rgba(6,158,250,.35) !important;
  outline-offset: 2px !important;
}

button.atq-popup-x-close + .atq-popup-title{
  padding-right: 44px;
}

/* Quote popup select fields */
.atq-popup select.atq-input,
.atq-detailed-quote-popup select.atq-input{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  min-height:42px;
  padding:8px 11px;
  border:1px solid #d5d5d5;
  border-radius:8px;
  background:#fff;
  color:#222;
  font-size:15px;
  line-height:1.35;
}

.atq-popup select.atq-input:focus,
.atq-detailed-quote-popup select.atq-input:focus{
  outline:none;
  border-color:#069EFA;
  box-shadow:0 0 0 1px #069EFA;
}

/* Quoted total display: show estimate as crossed out and prompt contact */
.atq-quoted-total-strike{
  text-decoration: line-through;
  text-decoration-thickness: 2px;
  opacity: .72;
}

.atq-better-quote-note{
  display:block;
  margin-top:4px;
  color:#069EFA;
  font-size:13px;
  font-weight:700;
  line-height:1.35;
}

.atq-popup-better-quote-note{
  margin-top:8px;
  padding-top:8px;
  border-top:1px dashed #d8e3ec;
  text-align:right;
}
