/**
 * PNIDesign Premium — Brand Color Overrides
 * Pink #C2578F + Blue #568EC1 (extracted from PNI logo)
 * This file loads last and overrides any remaining navy/gold references.
 */

/* ── ROOT OVERRIDES ──────────────────────────────────────────── */
:root {
  --pni-primary:        #C2578F;   /* pink — main CTA */
  --pni-primary-light:  #D4729F;
  --pni-primary-dark:   #A3446F;
  --pni-primary-faint:  #F9EFF4;
  --pni-secondary:      #568EC1;   /* blue — accents, links */
  --pni-secondary-light:#76A6CF;
  --pni-secondary-dark: #3E6E9A;
  --pni-secondary-faint:#EEF4FA;
  --pni-dark:           #1E3A5F;   /* deep blue — dark sections */
  --pni-dark-mid:       #264D7A;
  --pni-dark-light:     #3A6494;
  /* Gradient */
  --pni-gradient:       linear-gradient(135deg, #C2578F 0%, #568EC1 100%);
  --pni-gradient-soft:  linear-gradient(135deg, #F9EFF4 0%, #EEF4FA 100%);
}

/* ── GLOBAL LINK + FOCUS ─────────────────────────────────────── */
a:hover,
a:focus { color: var(--pni-primary); }
:focus-visible { outline: 2px solid var(--pni-primary); outline-offset: 3px; }

/* ── BODY + PAGE BACKGROUND ──────────────────────────────────── */
body { background-color: var(--pni-white); color: var(--pni-text-primary); }

/* ── ANNOUNCEMENT BAR ────────────────────────────────────────── */
.pni-announcement,
.pni-announcement-bar {
  background: linear-gradient(90deg,
    var(--pni-pink-deep, #7A2A55) 0%,
    var(--pni-blue-deep, #1E4A72) 50%,
    var(--pni-pink-deep, #7A2A55) 100%) !important;
}
.pni-announcement__highlight,
.pni-announcement-bar span { color: #FFD6EC !important; }

/* ── HEADER ──────────────────────────────────────────────────── */
.pni-header { border-bottom-color: var(--pni-gray-100); }
.pni-logo__name { color: var(--pni-primary) !important; }
.pni-header__search:focus-within,
.pni-search-wrap:focus-within { border-color: var(--pni-primary) !important; box-shadow: 0 0 0 3px rgba(194,87,143,0.15) !important; }
.pni-header__search button,
.pni-search-btn { background: var(--pni-primary) !important; color: var(--pni-white) !important; }
.pni-header__action-btn:hover { color: var(--pni-primary); }
.pni-badge-count { background: var(--pni-primary) !important; color: var(--pni-white) !important; }

/* ── PRIMARY NAVIGATION ──────────────────────────────────────── */
.pni-nav a:hover,
.pni-nav a:focus,
.pni-nav .current-menu-item > a,
.pni-nav .current_page_item > a { color: var(--pni-primary); }
.pni-nav .current-menu-item > a::after,
.pni-nav .current_page_item > a::after { background: var(--pni-primary); }
.pni-nav .sub-menu a:hover { background: var(--pni-primary-faint); color: var(--pni-primary); }
.pni-mobile-nav a:hover { color: var(--pni-primary); }

/* ── BUTTONS — ALL VARIANTS ──────────────────────────────────── */
.pni-btn--primary,
.pni-btn--gold,
button.pni-sellfy-popup-trigger,
a.pni-sellfy-popup-trigger {
  background: var(--pni-primary) !important;
  color: var(--pni-white) !important;
  border-color: var(--pni-primary) !important;
  box-shadow: 0 4px 20px rgba(194,87,143,0.25);
}
.pni-btn--primary:hover,
.pni-btn--gold:hover,
button.pni-sellfy-popup-trigger:hover,
a.pni-sellfy-popup-trigger:hover {
  background: var(--pni-primary-dark) !important;
  box-shadow: 0 8px 28px rgba(194,87,143,0.35);
  transform: translateY(-2px);
}
.pni-btn--navy,
.pni-btn--dark {
  background: var(--pni-dark) !important;
  color: var(--pni-white) !important;
  border-color: var(--pni-dark) !important;
}
.pni-btn--navy:hover,
.pni-btn--dark:hover {
  background: var(--pni-secondary) !important;
  border-color: var(--pni-secondary) !important;
}
.pni-btn--secondary,
.pni-btn--outline {
  border-color: var(--pni-secondary) !important;
  color: var(--pni-secondary) !important;
}
.pni-btn--secondary:hover,
.pni-btn--outline:hover {
  background: var(--pni-secondary) !important;
  color: var(--pni-white) !important;
}
.pni-btn--ghost { border-color: rgba(255,255,255,0.3) !important; color: var(--pni-white) !important; }
.pni-btn--ghost:hover { background: rgba(255,255,255,0.15) !important; }

/* WooCommerce Add to Cart */
.single_add_to_cart_button,
.wc-block-components-checkout-place-order-button,
button[name="add-to-cart"],
.button.alt { background: var(--pni-primary) !important; color: var(--pni-white) !important; }
.single_add_to_cart_button:hover { background: var(--pni-primary-dark) !important; }

/* ── EYEBROW / LABELS ────────────────────────────────────────── */
.pni-eyebrow,
.eyebrow { color: var(--pni-primary) !important; }

/* ── SECTION HEADINGS ────────────────────────────────────────── */
.pni-section-title,
.pni-section__title { color: var(--pni-dark); }
.pni-title-accent::after { background: linear-gradient(90deg, var(--pni-primary), var(--pni-secondary)) !important; }

/* ── DARK / HERO SECTIONS ────────────────────────────────────── */
.pni-hero,
.pni-section--dark,
.section--dark,
.just-dropped,
.pni-gift-quiz,
.pni-newsletter-section,
footer.pni-footer,
.pni-footer {
  background: linear-gradient(135deg, var(--pni-dark) 0%, var(--pni-dark-mid) 100%) !important;
}
.pni-hero__subtitle,
.pni-hero p { color: rgba(255,255,255,0.8); }

/* Hero CTA secondary button in dark sections */
.pni-hero .pni-btn--ghost,
.pni-section--dark .pni-btn--ghost { border-color: rgba(255,255,255,0.35) !important; }

/* ── PRODUCT CARDS ───────────────────────────────────────────── */
.pni-product-card:hover,
.p-card:hover { box-shadow: 0 16px 48px rgba(194,87,143,0.16) !important; }
.pni-product-card__badge--sale,
.badge--sale { background: #FCE4EF !important; color: var(--pni-primary-dark) !important; }
.pni-product-card__badge--new,
.badge--new { background: #E4F0FC !important; color: var(--pni-secondary-dark) !important; }
.pni-quick-add,
.p-quick-add { background: var(--pni-dark) !important; }
.pni-quick-add:hover,
.p-quick-add:hover { background: var(--pni-primary) !important; color: var(--pni-white) !important; }
.pni-card-buy,
.p-card-buy { background: var(--pni-primary) !important; color: var(--pni-white) !important; border: none !important; }
.pni-card-buy:hover,
.p-card-buy:hover { background: var(--pni-dark) !important; }

/* Color swatches selected ring */
.pni-color-swatch.active::after,
.color-swatch.active::after { border-color: var(--pni-primary) !important; }
.pni-size-opt.active { border-color: var(--pni-dark) !important; background: var(--pni-dark) !important; }

/* ── SINGLE PRODUCT PAGE ─────────────────────────────────────── */
.pni-social-proof { }
.pni-proof-pill strong { color: var(--pni-dark) !important; }
.pni-proof-dot--live { background: #2E7D5B !important; }
.pni-proof-dot--orange { background: var(--pni-primary) !important; }

.pni-shipping-bar__fill { background: linear-gradient(90deg, var(--pni-primary), var(--pni-primary-light)) !important; }
.pni-shipping-bar__text strong { color: var(--pni-primary) !important; }

.pni-cd-block { background: var(--pni-dark) !important; }
.pni-cd-sep { color: var(--pni-dark) !important; }

.pni-urgency-block { background: linear-gradient(135deg, #FCE4EF, #F5C6DC) !important; border-color: var(--pni-primary-light) !important; }
.pni-urgency-text { color: var(--pni-primary-dark) !important; }
.pni-urgency-text strong { color: var(--pni-primary) !important; }
.pni-stock-fill { background: var(--pni-primary) !important; }

/* Product title + rating */
.product_title,
.pni-product-title { color: var(--pni-dark); }
.star-rating span,
.star-rating::before,
.star-rating span::before { color: var(--pni-primary) !important; }
.woocommerce-review-link:hover { color: var(--pni-primary); }

/* Price */
.price ins,
.price .woocommerce-Price-amount { color: var(--pni-dark) !important; }
.pni-product-price-save { background: #FCE4EF !important; color: var(--pni-primary-dark) !important; }

/* ── STICKY BUY BAR ──────────────────────────────────────────── */
.pni-sticky-buy-bar,
.pni-sticky-bar { border-top: 2px solid var(--pni-primary-faint); }
.pni-sticky-bar__name { color: var(--pni-dark); }

/* ── ORDER TOAST ─────────────────────────────────────────────── */
.pni-order-toast { border-left-color: var(--pni-primary) !important; }
.pni-order-toast__name { color: var(--pni-dark) !important; }

/* ── FREE SHIPPING BAR ───────────────────────────────────────── */
.pni-shipping-bar { background: var(--pni-primary-faint) !important; border-color: #F0C8DC !important; }

/* ── GIFT QUIZ ───────────────────────────────────────────────── */
.pni-quiz__step--done { background: var(--pni-primary) !important; }
.pni-quiz__opt:hover,
.pni-quiz__opt.selected { background: rgba(194,87,143,0.15) !important; border-color: var(--pni-primary) !important; }
.pni-quiz__result-price { color: var(--pni-primary-light) !important; }
.pni-gift-quiz::before { background: radial-gradient(circle, rgba(86,142,193,0.15) 0%, transparent 65%) !important; }

/* ── RECENTLY VIEWED ─────────────────────────────────────────── */
.pni-mini-card__price { color: var(--pni-primary) !important; }
.pni-mini-card:hover { box-shadow: 0 8px 24px rgba(194,87,143,0.14) !important; }
.pni-mini-card__name:hover { color: var(--pni-primary) !important; }

/* ── BUNDLE ──────────────────────────────────────────────────── */
.pni-bundle-upsell__box { border-color: var(--pni-primary-faint) !important; background: var(--pni-primary-faint) !important; }
.pni-bundle-save { background: #FCE4EF !important; color: var(--pni-primary-dark) !important; }

/* ── BACK IN STOCK ───────────────────────────────────────────── */
.pni-back-in-stock__icon { background: var(--pni-dark) !important; }
.pni-notify-input:focus,
.pni-back-in-stock__form input:focus { border-color: var(--pni-primary) !important; box-shadow: 0 0 0 3px rgba(194,87,143,0.15) !important; }

/* ── FAQ ACCORDION ───────────────────────────────────────────── */
.pni-faq__trigger { color: var(--pni-dark) !important; }
.pni-faq__trigger:hover { background: var(--pni-primary-faint) !important; }
.pni-faq__item.is-open .pni-faq__trigger { color: var(--pni-primary) !important; }

/* ── REVIEWS ─────────────────────────────────────────────────── */
.pni-reviews-score,
.reviews-big-score { color: var(--pni-dark) !important; }
.review-bar-fill,
.pni-review-bar__fill { background: var(--pni-primary) !important; }
.reviews-big-star,
.pni-reviews-star { color: var(--pni-primary) !important; }
.pni-verified-badge,
.verified-badge { color: #2E7D5B !important; }

/* ── WISHLIST ────────────────────────────────────────────────── */
.pni-wishlist-btn.is-active,
.pni-wishlist-btn:hover { color: var(--pni-primary) !important; }

/* ── FILTER BAR ──────────────────────────────────────────────── */
.pni-filter-chip.active { background: var(--pni-dark) !important; border-color: var(--pni-dark) !important; }
.pni-filter-chip:hover { border-color: var(--pni-primary) !important; color: var(--pni-primary) !important; }

/* ── NEWSLETTER ──────────────────────────────────────────────── */
.pni-newsletter-form input:focus { border-color: var(--pni-primary) !important; }
.pni-newsletter-section { background: linear-gradient(135deg, var(--pni-dark) 0%, var(--pni-dark-mid) 100%) !important; }

/* ── FORMS ───────────────────────────────────────────────────── */
.pni-form-input:focus,
.pni-form-select:focus,
.pni-form-textarea:focus { border-color: var(--pni-primary) !important; box-shadow: 0 0 0 3px rgba(194,87,143,0.15) !important; }

/* ── FOOTER ──────────────────────────────────────────────────── */
.pni-footer { background: linear-gradient(135deg, var(--pni-dark) 0%, #12263F 100%) !important; }
.pni-footer__brand-name { color: var(--pni-white) !important; }
.pni-footer__brand-name span,
.pni-footer .pni-logo__text span { color: var(--pni-primary-light) !important; }
.pni-footer__nav a:hover,
.pni-footer a:hover { color: var(--pni-primary-light) !important; }
.pni-footer__divider { background: rgba(194,87,143,0.2) !important; }
.pni-footer__social a:hover { background: var(--pni-primary) !important; border-color: var(--pni-primary) !important; }

/* ── WOOCOMMERCE OVERRIDES ───────────────────────────────────── */
.woocommerce-tabs .tabs li.active a,
.woocommerce-tabs .tabs li:hover a { color: var(--pni-primary) !important; }
.woocommerce-tabs .tabs li.active a::after { background: var(--pni-primary) !important; }
.woocommerce-breadcrumb a:hover { color: var(--pni-primary) !important; }
.pni-pagination a:hover,
.pni-pagination .current { background: var(--pni-primary) !important; border-color: var(--pni-primary) !important; color: var(--pni-white) !important; }

/* ── DARK MODE — remap to pink/blue ──────────────────────────── */
.pni-dark {
  --pni-primary:       #D4729F;   /* lighter pink for dark bg */
  --pni-secondary:     #76A6CF;   /* lighter blue */
  --pni-dark:          #EEF4FA;   /* text becomes light */
}
.pni-dark a:hover { color: var(--pni-primary); }
.pni-dark .pni-btn--primary { background: var(--pni-primary) !important; }

/* ── LOYALTY STRIP ───────────────────────────────────────────── */
.pni-loyalty-strip__pts { color: var(--pni-primary) !important; border-color: #F0C8DC !important; background: var(--pni-primary-faint) !important; }
.pni-loyalty-strip__text strong { color: var(--pni-dark) !important; }

/* ── SIZE GUIDE ──────────────────────────────────────────────── */
.pni-size-table th { background: var(--pni-dark) !important; }
.pni-size-table .highlight td { background: var(--pni-primary-faint) !important; color: var(--pni-dark) !important; }
.pni-modal__header { border-bottom-color: var(--pni-gray-100); }
.pni-size-guide-trigger { color: var(--pni-primary) !important; border-color: var(--pni-primary) !important; }

/* ── DROP BADGE / NEW BADGE ──────────────────────────────────── */
.drop-badge,
.pni-drop-badge { background: var(--pni-dark) !important; color: var(--pni-primary-light) !important; }
.drop-badge::before,
.pni-drop-badge::before { background: var(--pni-primary) !important; }

/* ── SPINNER ─────────────────────────────────────────────────── */
.pni-spinner { border-top-color: var(--pni-primary) !important; }

/* ── PRESS LOGOS / AS SEEN IN ────────────────────────────────── */
.press-logo:hover { color: var(--pni-primary) !important; }

/* ── TOAST NOTIFICATIONS ─────────────────────────────────────── */
.pni-toast { border-left-color: var(--pni-primary) !important; }

/* ── QUALITY / GUARANTEE CARDS ───────────────────────────────── */
.quality-card:hover,
.pni-quality-card:hover { border-color: var(--pni-primary) !important; }

/* ── SCROLLBAR (webkit) ──────────────────────────────────────── */
::-webkit-scrollbar-thumb { background: var(--pni-primary-light); }
::-webkit-scrollbar-thumb:hover { background: var(--pni-primary); }
