/* Bijouterie Fethi COD form v1.1.0 — luxury ivory / champagne gold, high contrast.
   This stylesheet is restricted to the purchase area of either supported Fethi template.
   No styling for the cart, checkout, homepage or other product-page sections. */
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) {
  --bfcod-ink: #281f19;
  --bfcod-muted: #655b50;
  --bfcod-gold: #a88244;
  --bfcod-gold-bright: #d9b978;
  --bfcod-edge: #e5dac9;
  --bfcod-ivory: #faf7f0;
  --bfcod-paper: #ffffff;
}

/* Undo the horizontal WooCommerce purchase-row layout, without changing other elements. */
#dop-product-page .dop-cart-module form.cart.bfcod-form,
#bftp .bftp-purchase form.cart.bfcod-form {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  flex-wrap: nowrap !important;
  gap: 15px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-variable-controls {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 14px !important;
  width: 100% !important;
  min-width: 0 !important;
}

/* The entire form is one soft ivory concierge-style ordering card. */
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-fields {
  color-scheme: light;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 16px !important;
  flex-basis: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  margin: 6px 0 0 !important;
  padding: clamp(20px, 2.5vw, 34px) !important;
  background: linear-gradient(150deg, #fffefa 0%, #faf6ee 100%) !important;
  border: 1px solid #dfd2bf !important;
  border-top: 3px solid #b48c4e !important;
  border-radius: 13px !important;
  box-shadow: 0 16px 40px rgba(54, 35, 15, .08) !important;
  text-align: left !important;
}
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-fields::before {
  content: "BIJOUTERIE FETHI  /  COMMANDE PRIVÉE";
  display: block;
  margin: 0 0 -5px;
  color: #876431;
  font: 700 10px/1.4 Arial, sans-serif;
  letter-spacing: .19em;
  text-transform: uppercase;
}
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-fields .bfcod-heading {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(26px, 2.1vw, 34px) !important;
  font-weight: 500 !important;
  line-height: 1.22 !important;
  letter-spacing: -.035em !important;
  text-transform: none !important;
  color: #281f19 !important;
}
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-fields .bfcod-intro {
  margin: -6px 0 3px !important;
  max-width: 48ch;
  color: #5c5144 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  letter-spacing: 0 !important;
}
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-field {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 7px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-field label,
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-quantity label {
  display: block !important;
  margin: 0 !important;
  color: #302720 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: .015em !important;
  text-transform: none !important;
}
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-field label span { color: #98713b !important; }

/* Never inherit the previous black fields / near-white-on-white text. */
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-field input:not([type="hidden"]),
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-field textarea {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 54px !important;
  min-height: 54px !important;
  box-sizing: border-box !important;
  padding: 14px 16px !important;
  margin: 0 !important;
  background: #fff !important;
  background-image: none !important;
  color: #281f19 !important;
  -webkit-text-fill-color: #281f19 !important;
  caret-color: #8f6e3b !important;
  border: 1px solid #cfc2af !important;
  border-radius: 7px !important;
  outline: 0 !important;
  box-shadow: 0 1px 3px rgba(34, 22, 9, .04) !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  opacity: 1 !important;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease !important;
}
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-field textarea {
  height: auto !important;
  min-height: 112px !important;
  resize: vertical !important;
}
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-field input::placeholder,
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-field textarea::placeholder {
  color: #756d64 !important;
  -webkit-text-fill-color: #756d64 !important;
  opacity: 1 !important;
  font-weight: 400 !important;
}
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-field input:hover,
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-field textarea:hover { border-color: #ad946b !important; }
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-field input:focus,
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-field textarea:focus {
  background: #fff !important;
  border-color: #a68143 !important;
  outline: 2px solid transparent !important;
  box-shadow: 0 0 0 3px rgba(181, 138, 70, .21) !important;
}
/* Chrome/Safari autofill must remain legible, including under dark global themes. */
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-field input:-webkit-autofill,
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-field input:-webkit-autofill:focus {
  -webkit-text-fill-color: #281f19 !important;
  -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
  caret-color: #281f19 !important;
}

/* Gold is the main purchase action; the WhatsApp alternative is emerald green. */
#dop-product-page .dop-cart-module .bfcod-fields button.bfcod-submit,
#bftp .bftp-purchase .bfcod-fields button.bfcod-submit {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  min-height: 58px !important;
  padding: 15px 18px !important;
  margin: 7px 0 0 !important;
  background: linear-gradient(120deg, #e2c789 0%, #c8a260 52%, #e5c98e 100%) !important;
  border: 1px solid #ac874b !important;
  border-radius: 7px !important;
  box-shadow: 0 7px 16px rgba(133, 94, 36, .16) !important;
  color: #211a12 !important;
  -webkit-text-fill-color: #211a12 !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.5 !important;
  letter-spacing: .055em !important;
  text-align: center !important;
  text-transform: uppercase !important;
  white-space: normal !important;
  cursor: pointer !important;
  opacity: 1;
  transition: box-shadow .2s ease, filter .2s ease, transform .2s ease !important;
}
#dop-product-page .dop-cart-module .bfcod-fields button.bfcod-submit:hover,
#bftp .bftp-purchase .bfcod-fields button.bfcod-submit:hover {
  background: linear-gradient(120deg, #ecd49c, #d3ae6a, #ecd49c) !important;
  color: #211a12 !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(133, 94, 36, .2) !important;
}
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-fields button.bfcod-submit:focus-visible,
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-fields a.bfcod-whatsapp:focus-visible {
  outline: 2px solid #9b743a !important;
  outline-offset: 3px !important;
}
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-fields button.bfcod-submit:disabled { opacity: .6 !important; cursor: wait !important; }
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) a.bfcod-whatsapp {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 54px !important;
  padding: 13px 16px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  background: #166b50 !important;
  border: 1px solid #166b50 !important;
  border-radius: 7px !important;
  box-shadow: 0 4px 13px rgba(8, 72, 48, .12) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: .02em !important;
  text-align: center !important;
  text-transform: none !important;
  text-decoration: none !important;
  transition: background .18s ease, transform .18s ease !important;
}
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) a.bfcod-whatsapp:hover {
  background: #105b44 !important;
  border-color: #105b44 !important;
  color: #fff !important;
  transform: translateY(-1px);
}
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-whatsapp svg {
  display: block !important;
  flex: 0 0 20px !important;
  width: 20px !important;
  height: 20px !important;
  fill: currentColor !important;
}
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-disclaimer {
  margin: 0 !important;
  padding: 12px 0 0 !important;
  border-top: 1px solid #e5dac9 !important;
  color: #62584d !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  letter-spacing: 0 !important;
}

/* Existing WooCommerce quantity input: if shown, match the new light order card. */
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-quantity {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 !important;
}
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-quantity .quantity {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 112px !important;
  height: 50px !important;
  margin: 0 !important;
  padding: 0 4px !important;
  background: #fff !important;
  border: 1px solid #cfc2af !important;
  border-radius: 7px !important;
  box-shadow: none !important;
}
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-quantity .quantity input.qty {
  background: transparent !important;
  color: #281f19 !important;
  -webkit-text-fill-color: #281f19 !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-quantity .dop-qty-step {
  flex: 0 0 34px !important;
  width: 34px !important;
  height: 34px !important;
  border: 0 !important;
  border-radius: 5px !important;
  background: #f3eadb !important;
  color: #352718 !important;
  font-size: 21px !important;
}
/* Notices in the same elegant panel language, with accessible error/success contrast. */
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-notice {
  width: 100% !important;
  box-sizing: border-box;
  padding: 16px 18px !important;
  margin: 0 0 14px !important;
  border: 1px solid #cfb783 !important;
  border-radius: 8px !important;
  background: #fff8e9 !important;
  color: #3a2810 !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-notice strong { display: block; margin-bottom: 3px; font-size: 15px; }
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-success { background: #edf8f1 !important; color: #17472b !important; border-color: #8ec2a2 !important; }
:is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-error { background: #fff0ef !important; color: #7a2020 !important; border-color: #e7a4a0 !important; }
@media (max-width: 580px) {
  :is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-fields { padding: 20px 17px !important; gap: 14px !important; border-radius: 10px !important; }
  :is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-fields .bfcod-heading { font-size: 27px !important; }
  #dop-product-page .dop-cart-module .bfcod-fields button.bfcod-submit,
  #bftp .bftp-purchase .bfcod-fields button.bfcod-submit { font-size: 11px !important; letter-spacing: .025em !important; min-height: 56px !important; }
}
@media (prefers-reduced-motion: reduce) {
  :is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-fields button.bfcod-submit,
  :is(#dop-product-page .dop-cart-module, #bftp .bftp-purchase) .bfcod-fields a.bfcod-whatsapp { transition: none !important; transform: none !important; }
}
