/* CheckoutWC logo: keep the brand mark (CSS background-image). Do not use
   background:transparent on .cfw-logo .logo — that wipes --cfw-logo-url. */
html body .cfw-logo .logo,
html body #cfw .logo,
html body.checkout-wc .logo {
  background-color: transparent !important;
  background-image: var(--cfw-logo-url) !important;
  background-repeat: no-repeat !important;
  background-position: 0 center !important;
  background-size: contain !important;
  box-shadow: none !important;
  min-height: 88px;
  height: 110px;
  width: 180px;
  max-width: 58%;
}

/* CheckoutWC side cart + checkout buttons: forest / cream, always. */
#cfw,
body.checkoutwc,
.cfw,
#cfw-side-cart,
.cfw-side-cart,
html body #cfw-side-cart {
  --cfw-buttons-primary-background-color: #2f3d2a;
  --cfw-buttons-primary-hover-background-color: #3d4f37;
  --cfw-buttons-primary-text-color: #f7f2eb;
  --cfw-buttons-primary-hover-text-color: #f7f2eb;
  --cfw-buttons-secondary-background-color: #2f3d2a;
  --cfw-buttons-secondary-hover-background-color: #3d4f37;
  --cfw-buttons-secondary-text-color: #f7f2eb;
  --cfw-buttons-secondary-hover-text-color: #f7f2eb;
  --cfw-body-link-color: #2f3d2a;
  --cfw-body-text-color: #2f3d2a;
  --cfw-header-text-color: #2f3d2a;
  --cfw-cart-summary-link-color: #2f3d2a;
  --cfw-cart-summary-item-quantity-background-color: #2f3d2a;
  --cfw-cart-summary-item-quantity-text-color: #f7f2eb;
  --cfw-cart-summary-background-color: #f4efe6;
  --cfw-cart-summary-mobile-background-color: #f4efe6;
  --cfw-footer-text-color: #6b6458;
  --cfw-heading-font-family: "Cormorant Garamond", Georgia, serif;
  --cfw-body-font-family: Montserrat, system-ui, sans-serif;
  --cfw-side-cart-free-shipping-progress-indicator: #c9a84c;
  --cfw-side-cart-button-background: #2f3d2a;
  --cfw-side-cart-button-icon-color: #f7f2eb;
}

html body #cfw .cfw-primary-btn,
html body #cfw .cfw-secondary-btn,
html body #cfw .cfw-secondary-btn-inactive,
html body #cfw #place_order,
html body #cfw-side-cart .cfw-primary-btn,
html body #cfw-side-cart .cfw-secondary-btn,
html body #cfw-side-cart a.cfw-primary-btn,
html body #cfw-side-cart button.cfw-primary-btn,
html body #cfw-side-cart a.checkout,
html body #cfw-side-cart .checkout,
html body #cfw-side-cart .button.checkout,
html body #cfw-side-cart a.button,
html body #cfw-side-cart button.button,
html body .cfw-side-cart .cfw-primary-btn,
html body .cfw-side-cart a.checkout,
html body #cfw-side-cart .cfw-side-cart-actions a,
html body #cfw-side-cart .cfw-side-cart-actions button {
  background: #2f3d2a !important;
  background-color: #2f3d2a !important;
  color: #f7f2eb !important;
  border-color: #2f3d2a !important;
  opacity: 1 !important;
}

html body #cfw .cfw-primary-btn:hover,
html body #cfw .cfw-secondary-btn:hover,
html body #cfw #place_order:hover,
html body #cfw-side-cart .cfw-primary-btn:hover,
html body #cfw-side-cart a.checkout:hover,
html body #cfw-side-cart .button.checkout:hover,
html body #cfw-side-cart a.button:hover {
  background: #3d4f37 !important;
  background-color: #3d4f37 !important;
  color: #f7f2eb !important;
}

html body #cfw-side-cart a.cfw-secondary-btn,
html body #cfw-side-cart .cfw-side-cart-close,
html body #cfw-side-cart a[href*="cart"] {
  color: #2f3d2a !important;
}
html body #cfw-side-cart a.cfw-secondary-btn.cfw-primary-btn,
html body #cfw-side-cart a.button.checkout {
  color: #f7f2eb !important;
}

html body #cfw-side-cart-floating-button,
html body #cfw-side-cart-floating-button a.cfw-side-cart-floating-button-anchor,
html body a.cfw-side-cart-open-trigger.cfw-side-cart-floating-button-anchor {
  background: #2f3d2a !important;
  background-color: #2f3d2a !important;
  color: #f7f2eb !important;
  border-color: #2f3d2a !important;
}
html body #cfw-side-cart-floating-button a.cfw-side-cart-floating-button-anchor svg,
html body a.cfw-side-cart-floating-button-anchor svg,
html body #cfw-side-cart-floating-button svg {
  stroke: #f7f2eb !important;
  color: #f7f2eb !important;
}
html body.checkout-wc #cfw-side-cart-floating-button,
html body.woocommerce-checkout #cfw-side-cart-floating-button {
  display: none !important;
}

html body #cfw .cfw-small {
  color: #5c6658 !important;
}

html body #cfw,
html body #cfw-side-cart {
  font-family: Montserrat, system-ui, sans-serif !important;
  color: #2f3d2a;
}
html body #cfw h1,
html body #cfw h2,
html body #cfw h3,
html body #cfw h4 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  color: #2f3d2a !important;
}

/* Warm fields */
html body #cfw .input-text,
html body #cfw input[type="text"],
html body #cfw input[type="email"],
html body #cfw input[type="tel"],
html body #cfw input[type="password"],
html body #cfw select,
html body #cfw textarea,
html body #cfw .cfw-input-wrap input:not([type="checkbox"]):not([type="radio"]) {
  color: #2f3d2a !important;
  border-color: #e0d8cc !important;
  border-radius: 8px !important;
  background: #fff !important;
}
html body #cfw input:focus,
html body #cfw select:focus,
html body #cfw textarea:focus,
html body #cfw .input-text:focus {
  border-color: #c9a84c !important;
  box-shadow: 0 0 0 1px #c9a84c !important;
  outline: none;
}

/* Returning-customer row */
html body #cfw .cfw-have-acc-text,
html body #cfw .cfw-have-acc-text.cfw-small,
html body #cfw .cfw-have-acc-text span {
  color: #5c6658 !important;
  font-family: Montserrat, system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
  opacity: 1 !important;
}
html body #cfw .cfw-have-acc-text {
  display: flex !important;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.2rem 0.4rem;
  margin: 0 0 1rem !important;
  padding: 0.7rem 1rem;
  background: #f7f2eb;
  border: 1px solid #e6dfd4;
  border-radius: 10px;
}
html body #cfw .cfw-have-acc-text a,
html body #cfw #cfw-login-modal-trigger {
  color: #2f3d2a !important;
  font-weight: 650 !important;
  text-decoration: underline !important;
  text-underline-offset: 0.18em;
  text-decoration-thickness: 1px;
  white-space: nowrap;
}
html body #cfw .cfw-have-acc-text a:hover,
html body #cfw #cfw-login-modal-trigger:hover {
  color: #c9a84c !important;
}

/* Login modal */
html body .react-responsive-modal-overlay {
  background: rgba(47, 61, 42, 0.45) !important;
}
html body .cfw-modal,
html body .react-responsive-modal-modal.cfw-modal {
  color: #2f3d2a;
  font-family: Montserrat, system-ui, sans-serif;
  background: #fff !important;
  border-radius: 14px !important;
  padding: 1.55rem 1.45rem 1.35rem !important;
  max-width: 420px;
  box-shadow: 0 18px 48px rgba(47, 61, 42, 0.18);
}
html body .cfw-modal h3,
html body .cfw-modal .cfw-login-modal-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  color: #2f3d2a !important;
  font-size: 1.65rem !important;
  font-weight: 600 !important;
  margin: 0 0 0.75rem !important;
}
html body .cfw-modal p,
html body .cfw-modal label,
html body .cfw-modal .woocommerce-form-login p {
  color: #5c6658 !important;
  font-size: 14px !important;
}
html body .cfw-modal input[type="text"],
html body #cfw .cfw-modal input,
html body .cfw-modal input[type="email"],
html body .cfw-modal input[type="password"] {
  border: 1px solid #d9d2c6 !important;
  border-radius: 8px !important;
  color: #2f3d2a !important;
  background: #fff !important;
}
html body .cfw-modal .cfw-primary-btn,
html body .cfw-modal button[type="submit"],
html body .cfw-modal .woocommerce-form-login .button {
  background: #2f3d2a !important;
  color: #f7f2eb !important;
  border-color: #2f3d2a !important;
  border-radius: 8px !important;
}
html body .cfw-modal a {
  color: #2f3d2a !important;
}

/* Empty wallet row: don't leave a blank Express checkout gap. */
html body #cfw #cfw-payment-request-buttons:not(:has(iframe)):not(:has(button)):not(:has(apple-pay-button)) {
  display: none !important;
}

/* Address: placeholder is enough — drop the extra heading + hairline. */
html body #cfw .cfw-input-wrap-row:has(#shipping_fetchify_search_field) > h4,
html body #cfw .cfw-input-wrap-row:has(#billing_fetchify_search_field) > h4 {
  display: none !important;
}
html body #cfw .cfw-fetchify-search-hr {
  border: 0 !important;
  height: 0 !important;
  margin: 0.35rem 0 0.7rem !important;
  background: transparent !important;
}

/* Create-account card: same cream chip as Log in / terms. */
html body #cfw .cfw-check-input:has(#createaccount) {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.7rem;
  margin: 0.15rem 0 1rem !important;
  padding: 0.8rem 1rem;
  background: #f7f2eb;
  border: 1px solid #e6dfd4;
  border-radius: 10px;
  cursor: pointer;
}
html body #cfw label[for="createaccount"] {
  display: inline-flex !important;
  align-items: center;
  gap: 0.35rem;
  margin: 0 !important;
  color: #2f3d2a !important;
  font-family: Montserrat, system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.3;
  letter-spacing: 0 !important;
  cursor: pointer;
}
html body #cfw label[for="createaccount"] .chb-opt {
  color: #5c6658 !important;
  font-weight: 500 !important;
  font-size: 13px !important;
}
html body #cfw .cfw-check-input:has(#createaccount:checked) label[for="createaccount"] .chb-opt {
  display: none !important;
}
html body #cfw #createaccount,
html body #cfw input.cfw-create-account-checkbox {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px;
  margin: 0 !important;
  border: 1.5px solid #c4bdb2 !important;
  border-radius: 4px !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: none !important;
  flex-shrink: 0;
  cursor: pointer;
  position: relative;
}
html body #cfw #createaccount::before,
html body #cfw #createaccount::after,
html body #cfw input.cfw-create-account-checkbox::before,
html body #cfw input.cfw-create-account-checkbox::after {
  content: none !important;
  display: none !important;
}
html body #cfw #createaccount:checked,
html body #cfw input.cfw-create-account-checkbox:checked {
  background-color: #2f3d2a !important;
  border-color: #2f3d2a !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23f7f2eb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M2.5 6.2 5 8.7 9.5 3.5'/%3E%3C/svg%3E") !important;
  background-size: 11px 11px !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}
html body #cfw #createaccount:checked::after,
html body #cfw input.cfw-create-account-checkbox:checked::after {
  content: none !important;
  display: none !important;
}
html body #cfw #chb-account-password-wrap {
  flex: 1 0 100%;
  margin: 0.15rem 0 0;
}
html body #cfw #chb-account-password-wrap[hidden] {
  display: none !important;
}
html body #cfw #chb-account-password-wrap .form-row,
html body #cfw #account_password_field {
  position: relative;
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
}
html body #cfw #account_password_field .cfw-floatable-label,
html body #cfw #account_password_field label {
  position: absolute !important;
  left: 13px !important;
  top: 8px !important;
  font-size: 11px !important;
  line-height: 1 !important;
  color: #5c6658 !important;
  opacity: 1 !important;
  clip: auto !important;
  height: auto !important;
  width: auto !important;
  overflow: visible !important;
  transform: none !important;
  pointer-events: none;
}
html body #cfw #account_password {
  width: 100% !important;
  height: 47px !important;
  padding: 18px 13px 6px !important;
  border: 1px solid #e0d8cc !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #2f3d2a !important;
  font-size: 16px !important;
}
html body #cfw .chb-create-hint {
  display: none;
}
html body #cfw input[type="checkbox"] {
  accent-color: #2f3d2a;
}

/* Privacy: quiet supporting copy, not a second headline. */
html body #cfw .woocommerce-privacy-policy-text,
html body #cfw .woocommerce-privacy-policy-text p {
  font-size: 12.5px !important;
  line-height: 1.45 !important;
  color: #5c6658 !important;
  margin: 0.35rem 0 0.85rem !important;
}

/* Terms + Complete Order as one last step. */
html body #cfw .woocommerce-terms-and-conditions-wrapper,
html body #cfw .form-row.validate-required:has(#terms) {
  margin: 0.9rem 0 0.75rem;
}
html body #cfw #terms,
html body #cfw input[name="terms"] {
  width: 18px;
  height: 18px;
  accent-color: #2f3d2a;
  flex-shrink: 0;
}
html body #cfw .form-row:has(#terms) {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.85rem 1rem;
  background: #f7f2eb;
  border: 1px solid #e6dfd4;
  border-radius: 10px;
}
html body #cfw .form-row.chb-terms-needed {
  border-color: #c9a84c;
  box-shadow: 0 0 0 2px rgba(201, 168, 76, 0.28);
}
html body #cfw .chb-terms-note,
html body #cfw .form-row:has(#terms) .woocommerce-error {
  display: block;
  flex: 1 0 100%;
  width: 100%;
  margin: 0.15rem 0 0;
  padding: 0.55rem 0.7rem;
  background: #f8ece6;
  border-radius: 8px;
  color: #6b3a32;
  font-size: 13px;
  font-weight: 600;
  list-style: none;
}

html body #cfw #cfw-payment-action.cfw-bottom-controls {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.65rem;
  margin-top: 0.15rem;
}
html body #cfw #cfw-payment-action .previous-button,
html body #cfw .cfw-return-to-shipping-btn {
  display: none !important;
}
html body #cfw .cfw-place-order-wrap,
html body #cfw #cfw-place-order,
html body #cfw .place-order {
  width: 100% !important;
  max-width: 100% !important;
}
html body #cfw #place_order {
  display: block !important;
  width: 100% !important;
  min-height: 54px;
  font-size: 1.08rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em;
  border-radius: 10px !important;
}

/* Promo apply in the cart column. */
html body #cfw #cfw-promo-code-btn,
html body #cfw .cfw-promo-wrapper button,
html body #cfw button[name="apply_coupon"],
html body #cfw #cfw-cart-summary .cfw-secondary-btn,
html body #cfw #cfw-cart-summary .cfw-secondary-btn-inactive,
html body #cfw-cart-summary button {
  background: #2f3d2a !important;
  background-color: #2f3d2a !important;
  color: #f7f2eb !important;
  border-color: #2f3d2a !important;
  opacity: 1 !important;
}

/* Cart panel: same cream family as the form. */
html body #cfw #cfw-cart-summary,
html body #cfw #cfw-cart-summary-content {
  background: #f4efe6 !important;
}
html body #cfw .cfw-quantity-stepper,
html body #cfw .cfw-quantity-stepper-btn-minus,
html body #cfw .cfw-quantity-stepper-btn-plus {
  border-color: #d9d2c6 !important;
  color: #2f3d2a !important;
  background: #fff !important;
}
html body #cfw .cfw-side-cart-free-shipping-progress-wrap p,
html body #cfw .cfw-xtra-small {
  color: #5c6658 !important;
}
html body #cfw .cfw-side-cart-free-shipping-progress-indicator,
html body #cfw [class*="free-shipping-progress"] [class*="fill"],
html body #cfw [class*="free-shipping-progress"] [class*="bar"],
html body #cfw [class*="free-shipping-progress"] [class*="indicator"] {
  background: #c9a84c !important;
}

/* Payment methods */
html body #cfw .wc_payment_method {
  border-color: #e6dfd4 !important;
}
html body #cfw .wc_payment_method.cfw-active,
html body #cfw li.wc_payment_method.active {
  border-color: #2f3d2a !important;
}

html body #cfw #cfw-footer {
  font-size: 12px !important;
  color: #8a8478 !important;
  border-color: #ece6dc !important;
}

html body .cc_logo,
html body .c2a_logo,
html body .cc_c2a_logo,
html body .c2a_powered_by {
  display: none !important;
}

@media (max-width: 767px) {
  html body #cfw .logo,
  html body .cfw-logo .logo {
    width: 156px;
    height: 88px;
    min-height: 72px;
    max-width: 70%;
  }
  html body #cfw #place_order {
    min-height: 56px;
    font-size: 1.1rem !important;
  }
  html body #cfw input[type="checkbox"] {
    width: 20px;
    height: 20px;
  }
}
