/* ======================================================================
   YASTA FASHION V2.8.7
   LIVE READINESS — CONTRAST, TEXT VISIBILITY & COLOR COLLISION GUARD

   Loaded after the storefront layers. Every rule is scoped to the customer
   frontend so the Admin application remains unchanged.
   ====================================================================== */

:root {
    --yf-live-primary: #d83e21;
    --yf-live-primary-hover: #b92f14;
    --yf-live-primary-soft: #fff1ec;
    --yf-live-primary-text: #a92d16;
    --yf-live-ink: #172033;
    --yf-live-text: #202939;
    --yf-live-muted: #5f697a;
    --yf-live-muted-soft: #667085;
    --yf-live-line: #dfe4eb;
    --yf-live-surface: #ffffff;
    --yf-live-bg: #f5f6f8;
    --yf-live-success: #0f6b3c;
    --yf-live-success-soft: #e8f7ef;
    --yf-live-warning: #7a4d00;
    --yf-live-warning-soft: #fff4d6;
    --yf-live-danger: #a62117;
    --yf-live-danger-soft: #fff0ee;
    --yf-live-info: #174ea6;
    --yf-live-info-soft: #eaf2ff;
    --yf-live-dark-muted: #d3dbe7;

    /* Normalize the older storefront layers to the accessible live palette. */
    --yf-color-primary: #d83e21;
    --yf-color-primary-dark: #b92f14;
    --yf-fe-primary: #d83e21;
    --yf-fe-primary-strong: #d83e21;
    --yf-fe-primary-dark: #b92f14;
    --yf-v280-primary: #d83e21;
    --yf-v280-primary-hover: #b92f14;
    --yf-commerce-orange: #d83e21;
    --yf-commerce-orange-dark: #b92f14;
}

/* ----------------------------------------------------------------------
   FOUNDATION — readable text on every standard surface
   ---------------------------------------------------------------------- */
body.yf-frontend-app {
    color: var(--yf-live-text) !important;
    background-color: var(--yf-live-bg) !important;
}

body.yf-frontend-app :where(h1, h2, h3, h4, h5, h6) {
    color: var(--yf-live-ink);
}

body.yf-frontend-app :where(p, li, dd, .text-body-secondary) {
    color: var(--yf-live-muted);
}

body.yf-frontend-app :where(.text-muted, small, .small) {
    color: var(--yf-live-muted-soft) !important;
}

body.yf-frontend-app :where(.card, .modal-content, .dropdown-menu, .offcanvas, .list-group-item) {
    color: var(--yf-live-text);
}

body.yf-frontend-app :where(.card, .modal-content, .dropdown-menu, .offcanvas):not(.bg-dark):not(.text-bg-dark) {
    background-color: var(--yf-live-surface);
}

body.yf-frontend-app :where(.bg-dark, .text-bg-dark) {
    color: #fff !important;
    background-color: var(--yf-live-ink) !important;
}

body.yf-frontend-app :where(.bg-dark, .text-bg-dark) :where(h1,h2,h3,h4,h5,h6,strong,b) {
    color: #fff !important;
}

body.yf-frontend-app :where(.bg-dark, .text-bg-dark) :where(p,span,small,li) {
    color: var(--yf-live-dark-muted) !important;
}


/* Supporting copy must remain readable on small mobile displays. */
body.yf-frontend-app :where(
    .yf-brand-caption,
    .yf-product-official,
    .yf-all-product-official,
    .yf-products-count,
    .yf-all-product-stock,
    .yf-all-product-meta,
    .yf-product-status,
    .yf-product-meta,
    .yf-shopping-info-item small,
    .yf-home-benefit small,
    .yf-side-card small,
    .yf-section-eyebrow,
    .yf-gallery-count,
    .yf-sold-ribbon,
    .yf-product-kicker,
    .yf-price-note,
    .yf-service strong,
    .yf-service small,
    .yf-variant-help,
    .variant-badge,
    .sku-text,
    .cart-eyebrow,
    .cart-progress-step,
    .cart-warning,
    .cart-trust-note,
    .mobile-cart-detail,
    .checkout-eyebrow,
    .checkout-progress-caption,
    .checkout-field-help,
    .shipping-estimate,
    .payment-method-badge,
    .order-variant-badge,
    .order-product-sku,
    .yf-mobile-checkout-meta,
    .yf-chat-date,
    .yf-chat-message-time,
    .yf-chat-connection,
    .yf-chat-powered,
    .yf-trust-item small,
    .yf-contact-label,
    .yf-secure-info
) {
    font-size: max(10px, .6875rem) !important;
    line-height: 1.45 !important;
}

body.yf-frontend-app :where(
    .form-text,
    .checkout-summary-note,
    .yf-payment-action-help,
    .yf-recovery-privacy,
    .yf-order-hub-products,
    .yf-order-hub-meta
) {
    font-size: max(11px, .75rem) !important;
    line-height: 1.55 !important;
}

/* ----------------------------------------------------------------------
   PRIMARY CTA — accessible white text on brand orange
   ---------------------------------------------------------------------- */
body.yf-frontend-app :where(
    .btn-primary,
    .checkout-btn,
    .yf-btn-buy,
    .yf-payment-submit,
    .order-summary-submit,
    .yf-mobile-checkout-submit,
    .yf-recovery-button:not(.secondary):not(.whatsapp),
    .yf-order-hub-action.accent,
    .yf-order-hub-cta,
    .yf-live-chat-button,
    .yf-mobile-search-submit,
    .yf-v280-pagebar-badge,
    .cart-progress-step.is-active .cart-progress-number,
    .yf-order-hub-filter.active
) {
    color: #fff !important;
    background: var(--yf-live-primary) !important;
    border-color: var(--yf-live-primary) !important;
    text-shadow: none !important;
}

body.yf-frontend-app :where(
    .btn-primary,
    .checkout-btn,
    .yf-btn-buy,
    .yf-payment-submit,
    .order-summary-submit,
    .yf-mobile-checkout-submit,
    .yf-recovery-button:not(.secondary):not(.whatsapp),
    .yf-order-hub-action.accent,
    .yf-order-hub-cta,
    .yf-live-chat-button,
    .yf-mobile-search-submit
):is(:hover, :focus-visible, :active) {
    color: #fff !important;
    background: var(--yf-live-primary-hover) !important;
    border-color: var(--yf-live-primary-hover) !important;
}

body.yf-frontend-app .btn-outline-primary {
    color: var(--yf-live-primary-text) !important;
    border-color: var(--yf-live-primary) !important;
    background: #fff !important;
}

body.yf-frontend-app .btn-outline-primary:is(:hover,:focus-visible,:active) {
    color: #fff !important;
    background: var(--yf-live-primary) !important;
    border-color: var(--yf-live-primary) !important;
}

/* Brand text/icon on pale orange must use a darker foreground. */
body.yf-frontend-app :where(
    .yf-nav-link.active,
    .yf-nav-link:hover,
    .yf-mobile-link.active,
    .yf-mobile-dock-item.active,
    .yf-product-action,
    .yf-all-product-action,
    .yf-v280-catalog-chip.active,
    .yf-v280-catalog-chip:hover,
    .yf-service-icon,
    .yf-options input:checked + span,
    .variant-option.active,
    .yf-option.active,
    .yf-btn-cart,
    .yf-v280-description-toggle,
    .cart-count,
    .yf-payment-card-icon,
    .checkout-section-icon,
    .shipping-card-icon,
    .payment-card-icon,
    .order-summary-icon,
    .yf-home-quick-icon,
    .yf-chat-quick,
    .yf-cart-mobile-continue,
    .cart-mobile-continue
) {
    color: var(--yf-live-primary-text) !important;
}

body.yf-frontend-app :where(
    .yf-nav-link.active,
    .yf-nav-link:hover,
    .yf-mobile-link.active,
    .yf-mobile-dock-item.active,
    .yf-product-action,
    .yf-all-product-action,
    .yf-v280-catalog-chip.active,
    .yf-v280-catalog-chip:hover,
    .yf-service-icon,
    .yf-options input:checked + span,
    .variant-option.active,
    .yf-option.active,
    .yf-btn-cart,
    .yf-v280-description-toggle,
    .cart-count,
    .yf-payment-card-icon,
    .checkout-section-icon,
    .shipping-card-icon,
    .payment-card-icon,
    .order-summary-icon,
    .yf-home-quick-icon
) {
    background-color: var(--yf-live-primary-soft) !important;
}

/* ----------------------------------------------------------------------
   DARK SURFACES — explicit foregrounds prevent navy-on-black collisions
   ---------------------------------------------------------------------- */
body.yf-frontend-app :where(
    .yf-shopping-info,
    .success-panel,
    .success-head,
    .yf-success-hero,
    .yf-products-hero,
    .yf-tracking-hero,
    .yf-payment-hero,
    .yf-recovery-hero,
    .yf-info-hero,
    .yf-contact-hero,
    .yf-policy-hero,
    .not-found-card,
    .yf-side-card.dark,
    .yf-site-footer,
    .yf-footer-bottom
) {
    color: #fff !important;
}

body.yf-frontend-app :where(
    .yf-shopping-info,
    .success-panel,
    .success-head,
    .yf-success-hero,
    .yf-products-hero,
    .yf-tracking-hero,
    .yf-payment-hero,
    .yf-recovery-hero,
    .yf-info-hero,
    .yf-contact-hero,
    .yf-policy-hero,
    .not-found-card,
    .yf-side-card.dark,
    .yf-site-footer
) :where(h1,h2,h3,h4,h5,h6,strong,b,.fw-bold) {
    color: #fff !important;
}

body.yf-frontend-app :where(
    .yf-shopping-info,
    .success-panel,
    .success-head,
    .yf-success-hero,
    .yf-products-hero,
    .yf-tracking-hero,
    .yf-payment-hero,
    .yf-recovery-hero,
    .yf-info-hero,
    .yf-contact-hero,
    .yf-policy-hero,
    .not-found-card,
    .yf-side-card.dark,
    .yf-site-footer
) :where(p,span,small,li,address,.text-muted) {
    color: var(--yf-live-dark-muted) !important;
}

body.yf-frontend-app :where(
    .yf-products-hero,
    .yf-tracking-hero,
    .yf-payment-hero,
    .yf-recovery-hero,
    .yf-info-hero,
    .yf-contact-hero,
    .yf-policy-hero,
    .not-found-card,
    .yf-site-footer
) a:not(.btn):not(.yf-recovery-button):not(.yf-order-hub-action) {
    color: #fff !important;
    text-decoration-color: rgba(255,255,255,.45) !important;
}

body.yf-frontend-app .yf-hero-content :where(h1,h2,h3,strong) {
    color: #fff !important;
}

body.yf-frontend-app .yf-hero-content :where(p,span,small) {
    color: rgba(255,255,255,.9) !important;
}

body.yf-frontend-app :where(
    .btn-dark,
    a.btn-dark,
    .yf-recovery-open,
    .yf-order-hub-action.primary,
    .yf-tracking-access-back,
    .yf-cart-button
) {
    color: #fff !important;
    background: var(--yf-live-ink) !important;
    border-color: var(--yf-live-ink) !important;
}

body.yf-frontend-app :where(
    .btn-dark,
    a.btn-dark,
    .yf-recovery-open,
    .yf-order-hub-action.primary,
    .yf-tracking-access-back,
    .yf-cart-button
) :where(i,span,strong) {
    color: #fff !important;
}


body.yf-frontend-app :where(.success-panel,.success-head,.yf-success-hero) :where(h1,h2,h3,strong,b) {
    color: #fff !important;
}

body.yf-frontend-app :where(.success-panel,.success-head,.yf-success-hero) :where(p,span,small) {
    color: rgba(255,255,255,.88) !important;
}

body.yf-frontend-app .yf-live-chat-button.is-open {
    color: #fff !important;
    background: var(--yf-live-ink) !important;
}

body.yf-frontend-app .yf-pixel-debug-head,
body.yf-frontend-app .yf-pixel-debug-head :where(h1,h2,h3,strong,span,small) {
    color: #fff !important;
}

/* ----------------------------------------------------------------------
   STATUS / ALERT TONES
   ---------------------------------------------------------------------- */
body.yf-frontend-app :where(
    .yf-stock.ready,
    .yf-status-chip[data-tone="success"],
    .yf-order-hub-status.success,
    .yf-recovery-status.success,
    .yf-order-status.success,
    .yf-payment-state-badge.success,
    .alert-success,
    .text-success
) {
    color: var(--yf-live-success) !important;
}

body.yf-frontend-app :where(
    .yf-stock.ready,
    .yf-status-chip[data-tone="success"],
    .yf-order-hub-status.success,
    .yf-recovery-status.success,
    .yf-order-status.success,
    .yf-payment-state-badge.success,
    .alert-success
) {
    background-color: var(--yf-live-success-soft) !important;
}

body.yf-frontend-app :where(
    .yf-status-chip[data-tone="warning"],
    .yf-order-hub-status.warning,
    .yf-recovery-status.warning,
    .yf-order-status.warning,
    .yf-payment-state-badge.warning,
    .alert-warning,
    .text-warning
) {
    color: var(--yf-live-warning) !important;
}

body.yf-frontend-app :where(
    .yf-status-chip[data-tone="warning"],
    .yf-order-hub-status.warning,
    .yf-recovery-status.warning,
    .yf-order-status.warning,
    .yf-payment-state-badge.warning,
    .alert-warning
) {
    background-color: var(--yf-live-warning-soft) !important;
}

body.yf-frontend-app :where(
    .yf-stock.empty,
    .yf-status-chip[data-tone="danger"],
    .yf-order-hub-status.danger,
    .yf-recovery-status.danger,
    .yf-order-status.danger,
    .yf-payment-state-badge.danger,
    .alert-danger,
    .text-danger,
    .remove-link,
    .yf-cart-sheet-icon
) {
    color: var(--yf-live-danger) !important;
}

body.yf-frontend-app :where(
    .yf-stock.empty,
    .yf-status-chip[data-tone="danger"],
    .yf-order-hub-status.danger,
    .yf-recovery-status.danger,
    .yf-order-status.danger,
    .yf-payment-state-badge.danger,
    .alert-danger
) {
    background-color: var(--yf-live-danger-soft) !important;
}

body.yf-frontend-app :where(
    .yf-order-hub-status.info,
    .yf-order-hub-status.primary,
    .yf-recovery-status.info,
    .yf-recovery-status.primary,
    .yf-order-status.info,
    .yf-order-status.primary,
    .yf-payment-state-badge.info,
    .alert-info,
    .text-info
) {
    color: var(--yf-live-info) !important;
}

body.yf-frontend-app :where(
    .yf-order-hub-status.info,
    .yf-order-hub-status.primary,
    .yf-recovery-status.info,
    .yf-recovery-status.primary,
    .yf-order-status.info,
    .yf-order-status.primary,
    .yf-payment-state-badge.info,
    .alert-info
) {
    background-color: var(--yf-live-info-soft) !important;
}

/* ----------------------------------------------------------------------
   FORMS / PLACEHOLDERS / DISABLED STATES
   ---------------------------------------------------------------------- */
body.yf-frontend-app :where(label,.form-label,.yf-recovery-label,.checkout-label) {
    color: #2b3445 !important;
}

body.yf-frontend-app :where(input,select,textarea,.form-control,.form-select) {
    color: var(--yf-live-ink) !important;
    background-color: #fff !important;
    border-color: var(--yf-live-line) !important;
}

body.yf-frontend-app :where(input,textarea,.form-control)::placeholder {
    color: #737e8f !important;
    opacity: 1 !important;
}

body.yf-frontend-app :where(input,select,textarea,.form-control,.form-select):disabled,
body.yf-frontend-app :where(button,.btn):disabled,
body.yf-frontend-app :where(button,.btn)[aria-disabled="true"] {
    color: #596273 !important;
    background: #e8ebf0 !important;
    border-color: #d8dde5 !important;
    opacity: 1 !important;
    box-shadow: none !important;
}

body.yf-frontend-app :where(input,select,textarea,.form-control,.form-select):focus {
    color: var(--yf-live-ink) !important;
    background-color: #fff !important;
    border-color: var(--yf-live-primary) !important;
    box-shadow: 0 0 0 3px rgba(216,62,33,.14) !important;
}

/* ----------------------------------------------------------------------
   CART / CHECKOUT — keep totals and helper copy clearly readable
   ---------------------------------------------------------------------- */
body.yf-frontend-page-cart :where(.cart-product-name,.cart-price,.cart-subtotal strong,.cart-mobile-total strong),
body.yf-frontend-page-checkout :where(.checkout-name,.checkout-total strong,.order-summary-total strong) {
    color: var(--yf-live-ink) !important;
}

body.yf-frontend-page-cart :where(.cart-meta,.cart-weight,.cart-subtotal small,.cart-mobile-total small),
body.yf-frontend-page-checkout :where(.checkout-meta,.checkout-summary-note,.form-text) {
    color: var(--yf-live-muted) !important;
}

body.yf-frontend-page-cart .yf-cart-sheet-delete {
    color: #fff !important;
    background: var(--yf-live-danger) !important;
}

body.yf-frontend-page-cart .cart-progress-number,
body.yf-frontend-page-checkout .checkout-progress-icon {
    color: #596273 !important;
}

body.yf-frontend-page-cart .cart-progress-step.is-active .cart-progress-number,
body.yf-frontend-page-checkout .checkout-progress-step.active .checkout-progress-icon {
    color: #fff !important;
    background: var(--yf-live-primary) !important;
}

/* ----------------------------------------------------------------------
   ORDER HUB / RECOVERY — known dark CTA collision safeguards
   ---------------------------------------------------------------------- */
body.yf-frontend-app :where(
    .yf-recovery-open,
    .yf-order-hub-action.primary,
    .yf-order-hub-action.accent,
    .yf-order-hub-cta,
    .yf-tracking-access-back
) {
    text-decoration: none !important;
}

body.yf-frontend-app .yf-recovery-button.secondary,
body.yf-frontend-app .yf-order-hub-action.secondary,
body.yf-frontend-app .yf-tracking-access-back.secondary {
    color: #344054 !important;
    background: #fff !important;
    border-color: var(--yf-live-line) !important;
}

body.yf-frontend-app .yf-recovery-button.whatsapp {
    color: #fff !important;
    background: #107a43 !important;
    border-color: #107a43 !important;
}

body.yf-frontend-app .yf-recovery-button.whatsapp:is(:hover,:focus-visible,:active) {
    color: #fff !important;
    background: #0b6135 !important;
    border-color: #0b6135 !important;
}

/* ----------------------------------------------------------------------
   CUSTOMER LIVE CHAT
   ---------------------------------------------------------------------- */
body.yf-frontend-app .yf-chat-message-row.customer .yf-chat-message {
    color: #fff !important;
    background: var(--yf-live-primary) !important;
}

body.yf-frontend-app .yf-chat-message-row.customer .yf-chat-message :where(span,small,time) {
    color: rgba(255,255,255,.86) !important;
}

body.yf-frontend-app .yf-chat-message-row.admin .yf-chat-message {
    color: var(--yf-live-text) !important;
    background: #fff !important;
}

body.yf-frontend-app .yf-chat-message-row.system .yf-chat-message {
    color: #4b5565 !important;
    background: #eef1f5 !important;
}

body.yf-frontend-app :where(.yf-chat-quick,.yf-v280-chat-attach) {
    color: var(--yf-live-primary-text) !important;
    background: #fff7f3 !important;
    border-color: #f2cec0 !important;
}

body.yf-frontend-app .yf-chat-input,
body.yf-frontend-app .yf-live-chat-panel textarea {
    color: var(--yf-live-ink) !important;
    background: #fff !important;
}

/* ----------------------------------------------------------------------
   FOOTER — all headings, links and contact data stay visible
   ---------------------------------------------------------------------- */
body.yf-frontend-app .yf-site-footer :where(.yf-footer-title,h2,h3,h4,strong,b) {
    color: #fff !important;
}

body.yf-frontend-app .yf-site-footer :where(p,span,small,address,.yf-footer-description,.yf-contact-label) {
    color: #c7d1df !important;
}

body.yf-frontend-app .yf-site-footer :where(a,.yf-footer-link,.yf-contact-value) {
    color: #eef3fa !important;
}

body.yf-frontend-app .yf-site-footer :where(a,.yf-footer-link):is(:hover,:focus-visible) {
    color: #fff !important;
}

body.yf-frontend-app .yf-footer-bottom {
    color: #d3dbe7 !important;
}

/* ----------------------------------------------------------------------
   BOOTSTRAP / GENERIC SAFETY NETS
   ---------------------------------------------------------------------- */
body.yf-frontend-app .badge.bg-primary,
body.yf-frontend-app .text-bg-primary {
    color: #fff !important;
    background-color: var(--yf-live-primary) !important;
}

body.yf-frontend-app .badge.bg-success,
body.yf-frontend-app .text-bg-success {
    color: #fff !important;
    background-color: #0f6b3c !important;
}

body.yf-frontend-app .badge.bg-warning,
body.yf-frontend-app .text-bg-warning {
    color: #2d1c00 !important;
    background-color: #f5bd40 !important;
}

body.yf-frontend-app .badge.bg-danger,
body.yf-frontend-app .text-bg-danger {
    color: #fff !important;
    background-color: var(--yf-live-danger) !important;
}

body.yf-frontend-app a:not(.btn):focus-visible,
body.yf-frontend-app button:focus-visible {
    outline-color: var(--yf-live-primary) !important;
}

/* Minimum text sizes for supporting information on mobile. */
@media (max-width: 767.98px) {
    body.yf-frontend-app :where(.yf-order-hub-status,.yf-order-status,.yf-payment-state-badge) {
        font-size: 10px !important;
    }

    body.yf-frontend-app :where(.yf-order-hub-products,.yf-order-hub-meta,.yf-info-label) {
        font-size: 11px !important;
    }

    body.yf-frontend-app :where(.yf-info-value,.form-text,.checkout-summary-note) {
        font-size: 12px !important;
    }
}
