/* Falconclaw Export Quote Mode — front-end styles */

/* ---- Archive/category/shop loop: "Pricing on request" + Request a quote ---- */
.fc-loop-quote-price {
  display: inline-block;
  font-family: 'Oswald','Source Sans 3',sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  color: #5c6e2e;
  padding: 4px 0;
}
.fc-loop-quote-price a {
  color: #5c6e2e !important;
  text-decoration: none !important;
  border-bottom: 1px dashed #5c6e2e;
}
.fc-loop-quote-price a:hover {
  color: #3b4326 !important;
  border-bottom-color: #3b4326;
}
.fc-loop-quote-cta,
a.button.fc-loop-quote-cta {
  display: inline-block;
  background: #5c6e2e !important;
  color: #fff !important;
  border: none !important;
  font-family: 'Oswald','Source Sans 3',sans-serif !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  font-size: 12.5px;
  padding: 8px 16px !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  transition: filter 0.15s;
}
.fc-loop-quote-cta:hover,
a.button.fc-loop-quote-cta:hover {
  background: #3b4326 !important;
  color: #fff !important;
  filter: brightness(1.05);
}

/* ---- Modal: select fields ---- */
.fc-q-field select {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  font-size: 14px;
  font-family: 'Source Sans 3',sans-serif;
  color: #1a1a18;
  background: #fff;
  border: 1px solid #e2e0da;
  border-radius: 6px;
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath fill='%237a7a72' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 10px 6px;
  padding-right: 32px;
}
.fc-q-field select:focus {
  outline: none;
  border-color: #5c6e2e;
  box-shadow: 0 0 0 2px rgba(92,110,46,0.15);
}


/* ---- Hide every price + buy UI when body has fc-quote-mode class ---- */
body.fc-quote-mode .summary .price,
body.fc-quote-mode .product > .price,
body.fc-quote-mode .woocommerce-variation-price,
body.fc-quote-mode .woocommerce-Price-amount,
body.fc-quote-mode .fc-up-price-old,
body.fc-quote-mode .fc-up-price-new,
body.fc-quote-mode .fc-up-save,
body.fc-quote-mode .fc-up-cta,
body.fc-quote-mode .woobt-wrap,
body.fc-quote-mode .woobt-price,
body.fc-quote-mode .woobt-total,
body.fc-quote-mode .woobt-total-price,
body.fc-quote-mode .fc-mount-pick-price,
body.fc-quote-mode .fc-kit-bar,
body.fc-quote-mode .fc-kit-cta,
body.fc-quote-mode .fc-dealer-card-price,
body.fc-quote-mode .fc-dealer-card-actions,
body.fc-quote-mode form.cart .quantity,
body.fc-quote-mode form.cart .single_add_to_cart_button,
body.fc-quote-mode .single_add_to_cart_button,
body.fc-quote-mode .woodmart-sticky-cart,
body.fc-quote-mode .wd-sticky-add-to-cart,
body.fc-quote-mode .wd-sticky-btn-cart,
body.fc-quote-mode .wd-buy-now,
body.fc-quote-mode .wd-buy-now-btn,
body.fc-quote-mode .single_add_to_cart_button.wd-buy-now-btn,
body.fc-quote-mode [class*="buy-now"],
body.fc-quote-mode .woobt-button,
body.fc-quote-mode .woobt-submit-button,
body.fc-quote-mode .woobt-add-to-cart,
body.fc-quote-mode .product_meta .wd-buy-now,
body.fc-quote-mode .wc-revolut-payment-request-instance,
body.fc-quote-mode #wc-revolut-payment-request-container,
body.fc-quote-mode #revolut-payment-request-button,
body.fc-quote-mode .wc-stripe-payment-request-wrapper,
body.fc-quote-mode .payment-request-wrapper,
body.fc-quote-mode .wc-block-components-express-payment,
body.fc-quote-mode [class*="payment-request"],
body.fc-quote-mode [class*="express-checkout"],
body.fc-quote-mode [class*="apple-pay"],
body.fc-quote-mode [class*="google-pay"],
body.fc-quote-mode .fc-grid .fc-price,
body.fc-quote-mode .fc-grid .fc-price-label,
body.fc-quote-mode .fc-grid .fc-price-num,
body.fc-quote-mode .fc-grid .fc-price-value,
body.fc-quote-mode .fc-grid .fc-price-block,
body.fc-quote-mode .fc-card .fc-price,
body.fc-quote-mode .fc-card .fc-card-price,
body.fc-quote-mode .fc-card .fc-serial-price,
body.single-product.fc-quote-mode .fc-loop-quote-price,
body.single-product.fc-quote-mode .fc-loop-quote-cta { display: none !important; }

#fc-quote-cta-host { margin: 14px 0 4px 0; }
#fc-quote-cta-host .fc-q-cta,
.fc-ship-quote-btn,
.fc-q-modal .fc-q-submit {
  font-family: 'Oswald','Source Sans 3',sans-serif; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.5px; font-size: 15px;
  background: #5c6e2e !important; color: #fff !important; border: none;
  border-radius: 6px; padding: 14px 22px; cursor: pointer;
  transition: filter .15s; -webkit-appearance: none; appearance: none;
}
#fc-quote-cta-host .fc-q-cta:hover,
.fc-ship-quote-btn:hover,
.fc-q-modal .fc-q-submit:hover { background: #5c6e2e !important; color: #fff !important; filter: brightness(1.08); }
#fc-quote-cta-host .fc-q-cta { width: 100%; }
#fc-quote-cta-host .fc-q-cta-note { font-size: 12.5px; color: #7a7a72; margin: 8px 2px 0; line-height: 1.45; font-family: 'Source Sans 3',sans-serif; }

/* ---- B2B/B2G inline button — sits next to Add-to-Cart for EU/EU001 ---- */
.fc-q-b2b-cta {
  display: inline-block;
  margin: 6px 0 0 8px;
  padding: 12px 18px;
  background: transparent;
  color: #5c6e2e !important;
  border: 2px solid #5c6e2e;
  border-radius: 6px;
  font-family: 'Oswald','Source Sans 3',sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  text-decoration: none !important;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
  vertical-align: middle;
  -webkit-appearance: none; appearance: none;
}
.fc-q-b2b-cta:hover, .fc-q-b2b-cta:focus {
  background: #5c6e2e !important;
  color: #fff !important;
}
@media (max-width: 600px) {
  .fc-q-b2b-cta { display: block; width: 100%; margin: 12px 0 0 0; text-align: center; }
}

/* ---- Modal overlay + form ---- */
.fc-q-overlay { position: fixed; inset: 0; background: rgba(20,20,18,0.55); z-index: 999999; display: none; align-items: flex-start; justify-content: center; padding: 40px 16px; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.fc-q-overlay.fc-q-open { display: flex; }
.fc-q-modal { background: #faf9f6; color: #3d3d38; width: 100%; max-width: 520px; border-radius: 10px; box-shadow: 0 18px 60px rgba(0,0,0,0.32); font-family: 'Source Sans 3',sans-serif; position: relative; margin: auto 0; }
.fc-q-head { padding: 22px 24px 14px; border-bottom: 1px solid #e2e0da; }
.fc-q-head h3 { font-family: 'Oswald',sans-serif; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; font-size: 21px; color: #1a1a18; margin: 0 0 6px; }
.fc-q-head p { margin: 0; font-size: 13.5px; color: #7a7a72; line-height: 1.5; }
.fc-q-close { position: absolute; top: 14px; right: 14px; width: 32px; height: 32px; border: none; background: transparent; font-size: 24px; line-height: 1; color: #7a7a72; cursor: pointer; border-radius: 6px; }
.fc-q-close:hover { background: #eceae4; color: #1a1a18; }
.fc-q-body { padding: 18px 24px 6px; }
.fc-q-field { margin-bottom: 14px; }
.fc-q-field label { display: block; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.6px; color: #3d3d38; margin-bottom: 5px; }
.fc-q-field label .fc-q-req { color: #b03020; }
.fc-q-field label .fc-q-opt { color: #a8a89e; font-weight: 400; text-transform: none; letter-spacing: 0; }
.fc-q-field input[type=text], .fc-q-field input[type=email], .fc-q-field input[type=tel], .fc-q-field input[type=number], .fc-q-field textarea { width: 100%; box-sizing: border-box; padding: 10px 12px; font-size: 14px; font-family: 'Source Sans 3',sans-serif; color: #1a1a18; background: #fff; border: 1px solid #e2e0da; border-radius: 6px; -webkit-appearance: none; }
.fc-q-field input:focus, .fc-q-field textarea:focus { outline: none; border-color: #5c6e2e; box-shadow: 0 0 0 2px rgba(92,110,46,0.15); }
.fc-q-field textarea { min-height: 78px; resize: vertical; }
.fc-q-ctype { display: flex; gap: 8px; flex-wrap: wrap; }
.fc-q-ctype label { flex: 1; min-width: 130px; display: flex; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid #e2e0da; border-radius: 6px; font-size: 13.5px; font-weight: 600; text-transform: none; letter-spacing: 0; color: #3d3d38; cursor: pointer; margin: 0; background: #fff; }
.fc-q-ctype label.fc-q-ctype-on { border-color: #5c6e2e; background: rgba(92,110,46,0.07); color: #1a1a18; }
.fc-q-ctype input { accent-color: #5c6e2e; }
.fc-q-row { display: flex; gap: 12px; }
.fc-q-row .fc-q-field { flex: 1; }
.fc-q-foot { padding: 6px 24px 22px; }
.fc-q-submit { width: 100%; }
.fc-q-submit[disabled] { opacity: 0.6; cursor: default; filter: none !important; }
.fc-q-status { margin: 12px 2px 0; font-size: 13.5px; line-height: 1.5; min-height: 18px; }
.fc-q-status.fc-q-err { color: #b03020; }
.fc-q-status.fc-q-ok  { color: #3a7a30; }
.fc-q-context { font-size: 12px; color: #7a7a72; margin: 2px 2px 12px; line-height: 1.5; }
.fc-q-context strong { color: #3d3d38; }

/* Inline field error highlighting */
.fc-q-field.fc-q-field-err input[type=text],
.fc-q-field.fc-q-field-err input[type=email],
.fc-q-field.fc-q-field-err input[type=tel],
.fc-q-field.fc-q-field-err input[type=number],
.fc-q-field.fc-q-field-err textarea,
.fc-q-field.fc-q-field-err select {
  border-color: #b03020 !important;
  background: #fff8f6;
  box-shadow: 0 0 0 2px rgba(176,48,32,0.10);
}
.fc-q-field.fc-q-field-err > .fc-q-ctype label {
  border-color: #b03020;
}

/* Privacy notice under submit button */
.fc-q-privacy {
  margin: 14px 2px 0;
  font-size: 12px;
  color: #7a7a72;
  line-height: 1.5;
}
.fc-q-privacy a {
  color: #5c6e2e;
  text-decoration: underline;
}
.fc-q-privacy a:hover { color: #3b4326; }

.fc-q-hp { position: absolute; left: -9999px; top: -9999px; width: 1px; height: 1px; overflow: hidden; }
.fc-q-sent { padding: 30px 24px 34px; text-align: center; }
.fc-q-sent .fc-q-sent-icon { width: 56px; height: 56px; border-radius: 50%; background: rgba(58,122,48,0.12); color: #3a7a30; display: flex; align-items: center; justify-content: center; font-size: 30px; margin: 0 auto 14px; }
.fc-q-sent h3 { font-family: 'Oswald',sans-serif; text-transform: uppercase; letter-spacing: 0.5px; color: #1a1a18; margin: 0 0 8px; }
.fc-q-sent p { font-size: 14px; color: #3d3d38; line-height: 1.55; margin: 0 0 18px; }
@media (max-width: 480px) { .fc-q-row { flex-direction: column; gap: 0; } }
