/* Wach yellow identity — customer modules.
   Color-only overrides: existing layouts, visibility, payments and state stay intact.
   The body/ID scopes intentionally beat lazy-loaded legacy module styles. */

/* Product detail, cart and the address/payment form. */
html body :is(#productModalBox, #wachCartModalBody, #wachCheckoutDetailsBody, #wachQuickAddSheetBody, #wachMyOrdersBody) {
  color: var(--wach-text, #202020);
  background-color: var(--wach-surface, #fff) !important;
  border-color: var(--wach-border, #e6e1d5) !important;
}
html body :is(#productModalBox, #wachCartModalBody, #wachCheckoutDetailsBody, #wachQuickAddSheetBody, #wachMyOrdersBody) .modal-head {
  background: var(--wach-surface, #fff);
  border-color: var(--wach-border, #e6e1d5);
}
html body :is(#productModalBox, #wachCartModalBody, #wachCheckoutDetailsBody, #wachQuickAddSheetBody) .blue-btn {
  background: var(--wach-yellow, #ffd43b) !important;
  border-color: var(--wach-yellow, #ffd43b) !important;
  color: var(--wach-text, #202020) !important;
  box-shadow: none !important;
}
html body :is(#productModalBox, #wachCartModalBody, #wachCheckoutDetailsBody, #wachQuickAddSheetBody) .blue-btn:hover:not(:disabled) {
  background: var(--wach-yellow-hover, #f2c529) !important;
}
html body :is(#productModalBox, #wachCartModalBody, #wachCheckoutDetailsBody, #wachQuickAddSheetBody) :is(.ghost-btn, .close),
html body .wach-qty-stepper button {
  background: var(--wach-yellow-soft, #fff8d8) !important;
  color: var(--wach-text, #202020) !important;
  border-color: var(--wach-border, #e6e1d5) !important;
}
html body #productModalBox .detail-price,
html body #productModalBox .detail-info > p:not(.detail-chip),
html body #productModalBox :is(.wach-tech-sheet, .wach-rich-details, .wach-rich-details h3),
html body #wachCartModalBody .cart-row .info {
  color: var(--wach-text, #202020) !important;
}
html body #productModalBox :is(.wach-desc, .wach-tech-sheet dd, .wach-rich-details p, .wach-tech-source, .wach-tech-empty) {
  color: var(--wach-yellow-muted, #66635a) !important;
}
html body #productModalBox :is(.detail-chip, .wach-tech-sheet) {
  background: var(--wach-yellow-soft, #fff8d8) !important;
  border-color: var(--wach-border, #e6e1d5) !important;
}
/* Stock warnings set an explicit inline color; keep that semantic state. */
html body #productModalBox .detail-chip:not([style*="color"]) {
  color: var(--wach-text, #202020) !important;
}
html body #productModalBox .detail-photo,
html body #wachCartModalBody .cart-row img,
html body #wachQuickAddSheetBody .wach-sheet-variant-row img {
  background-color: var(--wach-bg, #f8f7f3) !important;
  border-color: var(--wach-border, #e6e1d5);
}
html body #productModalBox .wach-rich-details-title span {
  background: var(--wach-yellow, #ffd43b);
}
html body #wachQuickAddSheetBody .wach-sheet-variant-row:not(.wach-sheet-variant-disabled) > span {
  color: var(--wach-text, #202020) !important;
}
html body #wachQuickAddSheetBody .wach-sheet-variant-row:not(.wach-sheet-variant-disabled):hover {
  background: var(--wach-yellow-soft, #fff8d8);
}
html body #wachCartModalBody :is(.cart-row, .cart-total, .wach-qty-stepper),
html body #productModalBox :is(.wach-qty-stepper, .wach-tech-sheet dl > div) {
  border-color: var(--wach-border, #e6e1d5);
}
html body #wachCartModalBody .cart-reminder-prompt,
html body #wachCartModalBody .wach-ten-item-banner:not(.wach-ten-item-banner-active),
html body #wachCheckoutDetailsBody :is(.wct-managed-shipping, .wct-shipping-note) {
  background: var(--wach-yellow-soft, #fff8d8) !important;
  border-color: var(--wach-border, #e6e1d5) !important;
  color: var(--wach-text, #202020) !important;
}
html body #wachCartModalBody .wach-ten-item-banner:not(.wach-ten-item-banner-active) > div {
  color: var(--wach-text, #202020) !important;
}
html body #wachCartModalBody .wach-ten-item-banner:not(.wach-ten-item-banner-active) > div:has(> div) {
  background: #e8e2cb !important;
}
html body #wachCartModalBody .wach-ten-item-banner:not(.wach-ten-item-banner-active) > div > div {
  background: var(--wach-yellow, #ffd43b) !important;
}
html body #wachCheckoutDetailsBody label:has(input[name="wachPaymentMethod"]),
html body .wct-shipping-option,
html body #wachCheckoutDetailsBody .wach-shipping-method-option {
  background: var(--wach-surface, #fff) !important;
  border-color: var(--wach-border, #e6e1d5) !important;
  color: var(--wach-text, #202020);
}
html body #wachCheckoutDetailsBody label:has(input[name="wachPaymentMethod"]:checked),
html body .wct-shipping-option:has(input:checked),
html body #wachCheckoutDetailsBody .wach-shipping-method-option:has(input:checked) {
  background: var(--wach-yellow-soft, #fff8d8) !important;
  border-color: #987000 !important;
}
html body #wachCheckoutDetailsBody input[type="radio"],
html body .wct-shipping-option input,
html body #productModalBox input[type="checkbox"] {
  accent-color: #806000;
}

/* Account, customer order tracking, and seller tools. Real order/payment
   status badges and completed timeline steps retain their status colors. */
html body .wct-app {
  --wct-ink: #202020;
  --wct-muted: #66635a;
  --wct-dark: #202020;
  background: var(--wach-bg, #f8f7f3);
  color: var(--wach-text, #202020);
}
html body .wct-app .wct-top {
  background: var(--wach-yellow, #ffd43b);
  color: var(--wach-text, #202020);
}
html body .wct-app .wct-top > button,
html body .wct-app .wct-brand > span {
  color: var(--wach-text, #202020);
}
html body .wct-app .wct-avatar,
html body .wct-app .wct-tabs > button[aria-pressed="true"],
html body .wct-app .wct-primary {
  background: var(--wach-yellow, #ffd43b);
  border-color: var(--wach-yellow, #ffd43b);
  color: var(--wach-text, #202020);
  box-shadow: none;
}
html body .wct-app .wct-primary:hover {
  background: var(--wach-yellow-hover, #f2c529);
}
html body .wct-app .wct-menu > button.selected,
html body .wct-app .wct-menu > button:hover,
html body .wct-app .wct-info {
  background: var(--wach-yellow-soft, #fff8d8);
  color: var(--wach-text, #202020);
}
html body .wct-app :is(.wct-user, .wct-account-menu, .wct-order, .wct-detail-summary, .wct-tracking, .wct-sidebar, .wct-tabs > button) {
  border-color: var(--wach-border, #e6e1d5);
}
html body .wct-app .wct-photo {
  background: var(--wach-bg, #f8f7f3);
  color: var(--wach-yellow-muted, #66635a);
}
html body .wct-app .wct-empty > svg {
  color: #806000;
}
html body .wct-app :focus-visible {
  outline-color: #806000;
}
/* Saved address/payment preferences insert their stylesheet when opened. */
html body #wachCheckoutProfileModal .wcp-card {
  background: var(--wach-surface, #fff);
  color: var(--wach-text, #202020);
}
html body #wachCheckoutProfileModal .wcp-save {
  background: var(--wach-yellow, #ffd43b);
  color: var(--wach-text, #202020);
}
html body #wachCheckoutProfileModal .wcp-save:hover:not(:disabled) {
  background: var(--wach-yellow-hover, #f2c529);
}
html body #wachCheckoutProfileModal :is(.wcp-note, .wcp-close) {
  background: var(--wach-yellow-soft, #fff8d8);
  border-color: var(--wach-border, #e6e1d5);
  color: var(--wach-text, #202020);
}
html body #wachCheckoutProfileModal :is(.wcp-section-title, .wcp-field label) {
  color: var(--wach-text, #202020);
}
html body #wachCheckoutProfileModal :is(.wcp-head, .wcp-field input, .wcp-pay label) {
  border-color: var(--wach-border, #e6e1d5);
}
html body #wachCheckoutProfileModal .wcp-pay label:has(input:checked) {
  background: var(--wach-yellow-soft, #fff8d8);
  border-color: #987000;
}
html body #wachCheckoutProfileModal input[type="radio"] {
  accent-color: #806000;
}
html body :is(.auth-status, .profile-photo-row, .wach-seller-v2-head, .wach-seller-v2-card, .wach-seller-v2-msg:not(.ok):not(.bad), .wach-haiti-location-box) {
  background: var(--wach-yellow-soft, #fff8d8) !important;
  border-color: var(--wach-border, #e6e1d5) !important;
  color: var(--wach-text, #202020);
}
html body .auth-tab.active,
html body .wach-seller-v2-primary {
  background: var(--wach-yellow, #ffd43b) !important;
  border-color: var(--wach-yellow, #ffd43b) !important;
  color: var(--wach-text, #202020) !important;
}
html body :is(.wach-seller-v2-secondary, .wach-seller-v2-x) {
  background: var(--wach-yellow-soft, #fff8d8);
  color: var(--wach-text, #202020);
}
html body :is(.profile-card h4, .auth-status b, .wach-seller-v2-head h2, .wach-haiti-location-title, .wach-seller-v2-field label, .wach-haiti-location-field label) {
  color: var(--wach-text, #202020);
}
html body .wach-seller-v2-panel {
  background: var(--wach-surface, #fff);
  border-color: var(--wach-border, #e6e1d5);
  color: var(--wach-text, #202020);
}
html body :is(.wach-seller-v2-field input, .wach-haiti-location-field select, .wach-quantity-field input) {
  background: var(--wach-surface, #fff);
  border-color: var(--wach-border, #e6e1d5);
  color: var(--wach-text, #202020);
}
html body :is(.wach-seller-v2-small, .wach-seller-v2-meta, .wach-haiti-location-help, .wach-haiti-optional, .wach-haiti-location-loading, .profile-card p) {
  color: var(--wach-yellow-muted, #66635a);
}

/* Listing creation, structured product data and search requests. */
html body :is(.smart-listing-box, .smart-listing-status, .smart-listing-tag, .market-specifics-chips span, .market-search-badge, .wach-search-alert-prompt[data-wach-magic="1"], .upload-zone, .form-note, .gps-note) {
  background: var(--wach-yellow-soft, #fff8d8) !important;
  border-color: var(--wach-border, #e6e1d5) !important;
  color: var(--wach-text, #202020) !important;
  box-shadow: none;
}
html body :is(.market-specifics-wrap, .market-specifics-view, .smart-listing-card, .wach-magic-match-toast) {
  background: var(--wach-surface, #fff) !important;
  border-color: var(--wach-border, #e6e1d5) !important;
  color: var(--wach-text, #202020) !important;
}
html body :is(.smart-listing-btn, .smart-listing-apply, .wach-magic-need-btn),
html body .wach-magic-match-toast button {
  background: var(--wach-yellow, #ffd43b) !important;
  border-color: var(--wach-yellow, #ffd43b) !important;
  color: var(--wach-text, #202020) !important;
  box-shadow: none;
}
html body :is(.smart-listing-btn, .smart-listing-apply, .wach-magic-need-btn):hover:not(:disabled),
html body .wach-magic-match-toast button:hover:not(:disabled) {
  background: var(--wach-yellow-hover, #f2c529) !important;
}
html body :is(.smart-listing-title, .smart-listing-value, .market-specifics-wrap summary, .market-family-head b, .wach-magic-need-copy b, .wach-magic-match-toast b, .form-note b),
html body .market-specifics-wrap summary::after {
  color: var(--wach-text, #202020);
}
html body :is(.smart-listing-label, .smart-listing-privacy, .market-family-head small, .market-family-loading, .wach-magic-need-copy small, .wach-magic-match-toast small),
html body .market-specifics-chips small {
  color: var(--wach-yellow-muted, #66635a);
}
html body .upload-zone:hover,
html body .upload-zone:focus-within {
  background: #fff1af !important;
  border-color: #987000 !important;
}
html body .smart-listing-dismiss {
  background: var(--wach-surface, #fff);
  color: var(--wach-text, #202020);
  border-color: var(--wach-border, #e6e1d5);
}

/* Messages and Bouba. The bubble tail/mascot keep their original geometry. */
html body :is(.thread-item, .chat-head, .chat-box, .bouba-shell, .bouba-daily, .bouba-compose, .bouba-note, .bouba-ai) {
  background: var(--wach-surface, #fff) !important;
  border-color: var(--wach-border, #e6e1d5) !important;
  color: var(--wach-text, #202020);
}
html body .chat-msg .bubble,
html body :is(.bouba-status, .bouba-messages) {
  background: var(--wach-yellow-soft, #fff8d8) !important;
  color: var(--wach-text, #202020);
  border-color: var(--wach-border, #e6e1d5) !important;
}
html body .chat-msg.me .bubble,
html body :is(.thread-avatar, .bouba-head, .bouba-user),
html body .bouba-compose button,
html body .bouba-row button:not(.bouba-skip),
html body .bouba-guest-actions button:not(.secondary) {
  background: var(--wach-yellow, #ffd43b) !important;
  color: var(--wach-text, #202020) !important;
  border-color: var(--wach-yellow, #ffd43b) !important;
}
html body #boubaFab,
html body.wach-seller-v2-ready #boubaFab {
  background: var(--wach-yellow, #ffd43b) !important;
  color: var(--wach-text, #202020) !important;
  border-color: var(--wach-yellow, #ffd43b) !important;
  box-shadow: 0 8px 24px rgba(64, 51, 8, .14) !important;
}
html body :is(.bouba-close, .bouba-skip),
html body .bouba-guest-actions button.secondary {
  background: #f1ede3 !important;
  color: var(--wach-text, #202020) !important;
  border-color: var(--wach-border, #e6e1d5);
}
html body :is(.bouba-mini-face, .bouba-mini-hand, .bouba-comic-pop),
html body .bouba-comic-pop::after {
  background: var(--wach-surface, #fff);
  border-color: var(--wach-text, #202020);
  color: var(--wach-text, #202020);
}
html body .bouba-avatar-face {
  background: #fff1af;
  border-color: var(--wach-text, #202020);
}
html body :is(.bouba-row input, .bouba-compose textarea) {
  border-color: var(--wach-border, #e6e1d5);
  background: var(--wach-surface, #fff);
  color: var(--wach-text, #202020);
}
html body :is(.thread-preview, .bouba-note, .bouba-guest-help, .bouba-learning-label) {
  color: var(--wach-yellow-muted, #66635a);
}

/* Businesses, properties and customer requests use the same identity.
   WhatsApp buttons, verified badges, warnings and destructive actions stay semantic. */
html body :is(.biz-hero-v10, .biz-cover-fallback, .biz-logo-fallback, .biz-profile-label, .biz-service-simple span, .biz-review-form, .need-message-box, .need-info-chip, .need-tag:not(.budget), .property-highlight) {
  background: var(--wach-yellow-soft, #fff8d8) !important;
  border-color: var(--wach-border, #e6e1d5) !important;
  color: var(--wach-text, #202020);
  box-shadow: none;
}
html body :is(.biz-eyebrow, .biz-hero-v10 h2, .biz-heading-copy h3, .biz-profile-title h1, .biz-profile-panel h2, .biz-back, .biz-detail-item b, .biz-info-list dt, .property-body h3, .property-price, .need-message-content h3),
html body :is(.biz-cover-fallback, .biz-profile-cover-empty, .need-info-chip) svg,
html body .biz-location-line b,
html body .biz-more-actions summary::after {
  color: var(--wach-text, #202020);
}
html body :is(.biz-action-secondary, .biz-action-profile),
html body .biz-profile-actions button:not(.wa),
html body .biz-quick-tags button,
html body .quick-market button {
  background: var(--wach-surface, #fff);
  color: var(--wach-text, #202020);
  border-color: var(--wach-border, #e6e1d5);
}
html body .biz-profile-actions .call,
html body .need-card-ribbon,
html body .need-quote,
html body .need-actions .mini-btn:nth-child(2):not(.red):not(.danger) {
  background: var(--wach-yellow, #ffd43b);
  border-color: var(--wach-yellow, #ffd43b);
  color: var(--wach-text, #202020);
  box-shadow: none;
}
html body .need-accent-line {
  background: var(--wach-yellow, #ffd43b);
}
html body .need-card::before {
  background: radial-gradient(circle, rgba(255, 212, 59, .16), transparent 68%);
}
html body .biz-profile-tabs button.active {
  color: var(--wach-text, #202020);
  border-bottom-color: var(--wach-yellow, #ffd43b);
}
html body .biz-quick-tags button:hover {
  background: var(--wach-yellow-soft, #fff8d8);
  color: var(--wach-text, #202020);
  border-color: #987000;
}
html body :is(.biz-card-v10, .biz-profile-panel, .need-card, .property-card) {
  background: var(--wach-surface, #fff) !important;
  border-color: var(--wach-border, #e6e1d5) !important;
  box-shadow: 0 8px 24px rgba(32, 32, 32, .06) !important;
}
html body :is(.biz-cover-wrap, .biz-profile-cover, .property-img) {
  background-color: var(--wach-bg, #f8f7f3);
  color: var(--wach-text, #202020);
}
html body :is(.biz-empty-v10, .need-empty) {
  background: var(--wach-surface, #fff);
  border-color: var(--wach-border, #e6e1d5);
  color: var(--wach-yellow-muted, #66635a);
}

/* Rechaj is styled independently; no checkout, payment or recharge behavior changes. */
html body .rechaj-hero {
  background: var(--wach-yellow, #ffd43b) !important;
  color: var(--wach-text, #202020) !important;
  box-shadow: 0 8px 24px rgba(64, 51, 8, .08);
}
html body .wach-rechaj-link {
  color: var(--wach-text, #202020) !important;
}
html body .wach-rechaj-pill {
  background: #fff1af;
  color: var(--wach-text, #202020);
  border-color: #b99627;
}
html body .rechaj-btn.primary,
html body .rechaj-chip.active,
html body .rechaj-last-card button,
html body .wach-rechaj-success-card button,
html body :is(.success-modal-actions, .receipt-actions) button {
  background: var(--wach-yellow, #ffd43b) !important;
  border-color: var(--wach-yellow, #ffd43b) !important;
  color: var(--wach-text, #202020) !important;
}
html body .rechaj-btn.primary:hover:not(:disabled),
html body .rechaj-last-card button:hover:not(:disabled),
html body .wach-rechaj-success-card button:hover:not(:disabled) {
  background: var(--wach-yellow-hover, #f2c529) !important;
}
html body :is(.rechaj-choice, .rechaj-summary, .rechaj-last-card, .rechaj-monthly-option),
html body .rechaj-phone-input span {
  background: var(--wach-yellow-soft, #fff8d8) !important;
  border-color: var(--wach-border, #e6e1d5) !important;
  color: var(--wach-text, #202020);
}
html body .rechaj-mode.active {
  background: var(--wach-yellow, #ffd43b);
  color: var(--wach-text, #202020);
  box-shadow: none;
}
html body .rechaj-summary .total strong,
html body .rechaj-last-card small,
html body :is(.rechaj-section-title h2, .rechaj-info-section h3, .rechaj-info-section summary, .wach-rechaj-success-card h2) {
  color: var(--wach-text, #202020);
}
html body .rechaj-phone-input:focus-within {
  border-color: #987000 !important;
  box-shadow: 0 0 0 3px rgba(152, 112, 0, .17);
}
html body .rechaj-monthly-option input {
  accent-color: #806000;
}
html body .rechaj-section-title button,
html body .rechaj-sub-actions button:not(.danger),
html body .rechaj-support-buttons a,
html body .rechaj-actions .public-share {
  background: var(--wach-yellow-soft, #fff8d8);
  border-color: var(--wach-border, #e6e1d5);
  color: var(--wach-text, #202020);
}
html body .rechaj-actions .public-share:hover {
  background: #fff1af;
}
html body .rechaj-sub-card:not(.error),
html body :is(.rechaj-operator, .rechaj-chip:not(.active)) {
  background: var(--wach-surface, #fff);
  border-color: var(--wach-border, #e6e1d5);
  color: var(--wach-text, #202020);
}
/* Explicit exceptions undo legacy surface overrides while preserving actual feedback. */
html body .rechaj-status.error {
  background: #fff0f0 !important;
  border-color: #efc3c3 !important;
  color: #9b1c1c !important;
}
html body .rechaj-status.success {
  background: #ecfbf2 !important;
  border-color: #c5e8d4 !important;
  color: #11683d !important;
}
