/* ═══════════════════════════════════════════════════════════
   Jen Products — Global Stylesheet
   Theme: Blue · White · Black ONLY
   "Elevating Everyday Essentials!"
   ═══════════════════════════════════════════════════════════ */

::-webkit-scrollbar { width: 7px; }
::-webkit-scrollbar-track { background: #EFF6FF; }
::-webkit-scrollbar-thumb { background: #2563EB; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #1D4ED8; }

::selection { background: rgba(37,99,235,0.18); color: #1E3A8A; }

*:focus-visible { outline: 2px solid #2563EB; outline-offset: 3px; border-radius: 4px; }

@keyframes fadeInUp { from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);} }
.fade-in { animation: fadeInUp 0.5s ease both; }

@keyframes shimmer { 0%{background-position:-200% 0;}100%{background-position:200% 0;} }
.skeleton { background:linear-gradient(90deg,#EFF6FF 25%,#DBEAFE 50%,#EFF6FF 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px; }
.loading { opacity:0.6;pointer-events:none; }

/* ══ GLOBAL: Default all text to near-black ══ */
body { color: #111827 !important; }
p, h1, h2, h3, h4, h5, h6, span, div, a, li, td, th, label, strong, em { color: inherit; }

/* ══ NAV TEXT — BLACK ══ */
.navbar-nav a { color: #111827 !important; font-weight: 600; }
.navbar-nav a:hover, .navbar-nav a.active { color: #1D4ED8 !important; background: #EFF6FF !important; }
.nav-icon-btn { color: #111827 !important; }
.nav-icon-btn:hover { color: #1D4ED8 !important; background: #EFF6FF !important; }
.nav-user-name { color: #111827 !important; }
.logo-name { color: #111827 !important; }
.logo-tagline { color: #4B5563 !important; letter-spacing: 2.5px; }
.logo-mark i { color: #ffffff !important; }
.nav-avatar { color: #ffffff !important; }
.nav-badge { color: #ffffff !important; }

/* ══ MOBILE NAV — BLACK ══ */
.mob-nav-link { color: #111827 !important; font-weight: 500; }
.mob-nav-link i { color: #2563EB !important; }
.mob-nav-link:hover, .mob-nav-link.active { color: #1D4ED8 !important; background: #EFF6FF !important; }
.mob-nav-actions a { color: #ffffff !important; }
.mob-nav-actions a.secondary { color: #111827 !important; }

/* ══ ANNOUNCEMENT BAR ══ */
.ann-bar { color: #ffffff !important; }
.ann-bar strong { color: #93C5FD !important; }
.ann-close { color: rgba(255,255,255,0.7) !important; }

/* ══ SEARCH ══ */
.search-wrap input { color: #111827 !important; }
.search-wrap input::placeholder { color: #9CA3AF !important; }
.search-btn-nav { color: #ffffff !important; }
.s-name { color: #111827 !important; }
.s-price { color: #4B5563 !important; }

/* ══ BUTTONS ══ */
.btn-primary, .btn-primary *, .btn-accent, .btn-accent * { color: #ffffff !important; }
.btn-secondary { color: #111827 !important; }
.btn-secondary:hover { color: #1D4ED8 !important; }
.btn-ghost { color: #ffffff !important; }
.btn-add-cart, .btn-add-cart * { color: #ffffff !important; }
.btn-cart-wishlist, .btn-cart-wishlist * { color: #ffffff !important; }
.search-btn-nav { color: #ffffff !important; }

/* ══ PRODUCT CARDS ══ */
.product-card-category { color: #2563EB !important; font-weight: 700; }
.product-card-name a { color: #111827 !important; }
.product-card-name a:hover { color: #2563EB !important; }
.price-current { color: #1E40AF !important; font-weight: 800; }
.price-original { color: #6B7280 !important; }
.price-discount { color: #059669 !important; }
.stars { color: #F59E0B !important; }
.rating-count { color: #6B7280 !important; }
.product-action-btn { color: #2563EB !important; }
.product-action-btn:hover { color: #ffffff !important; }
.product-action-btn.in-wishlist { color: #ffffff !important; }

/* ══ SECTION HEADERS ══ */
.section-label { color: #2563EB !important; font-weight: 700; }
.section-title { color: #111827 !important; font-weight: 700; }
.section-title em { color: #2563EB !important; font-style: italic; }
.section-subtitle { color: #4B5563 !important; }

/* ══ TABS ══ */
.tab { color: #4B5563 !important; font-weight: 600; }
.tab:hover { color: #1D4ED8 !important; }
.tab.active { color: #111827 !important; }
.tab.active::after { background: #2563EB !important; }

/* ══ CHIPS ══ */
.chip { color: #111827 !important; background: white; }
.chip i { color: #2563EB !important; }
.chip:hover, .chip.active { color: #ffffff !important; background: #1D4ED8 !important; border-color: #1D4ED8 !important; }
.chip:hover i, .chip.active i { color: #ffffff !important; }

/* ══ TRUST STRIP ══ */
.trust-item { color: #111827 !important; }
.trust-item strong { color: #111827 !important; }
.trust-item i { color: #2563EB !important; }
.trust-item span { color: #4B5563 !important; font-weight: 400; }

/* ══ FEATURES BAND ══ */
.feat-title { color: #111827 !important; font-weight: 700; }
.feat-desc { color: #4B5563 !important; }
.feat-icon { color: #2563EB !important; border-color: #BFDBFE !important; }

/* ══ CATEGORY CARDS ══ */
.cat-name { color: #111827 !important; }
.cat-count { color: #4B5563 !important; }
.cat-label { color: #4B5563 !important; }
.cat-card:hover .cat-arrow { background: white !important; color: #1D4ED8 !important; }

/* ══ TESTIMONIALS ══ */
.testi-card::before { color: #DBEAFE !important; }
.testi-stars { color: #F59E0B !important; }
.testi-text { color: #111827 !important; }
.testi-name { color: #111827 !important; font-weight: 700; }
.testi-role { color: #4B5563 !important; }
.testi-avatar { color: #ffffff !important; background: linear-gradient(135deg,#3B82F6,#1E40AF) !important; }

/* ══ STATS BAND ══ */
.stats-band, .stats-band * { color: #ffffff !important; }
.stat-val { color: #ffffff !important; }
.stat-label { color: rgba(255,255,255,0.75) !important; }
.stat-divider { background: rgba(147,197,253,0.4) !important; }

/* ══ HERO ══ */
.hero, .hero-left { color: #ffffff !important; }
.hero-tag { color: #93C5FD !important; background: rgba(147,197,253,0.15) !important; border-color: rgba(147,197,253,0.3) !important; }
.hero-title { color: #ffffff !important; }
.hero-title em { color: #93C5FD !important; }
.hero-title .block2 { color: rgba(255,255,255,0.5) !important; }
.hero-desc { color: rgba(255,255,255,0.82) !important; }
.metric-val { color: #ffffff !important; }
.metric-val span { color: #93C5FD !important; }
.metric-label { color: rgba(255,255,255,0.65) !important; }
.hero-card-title { color: rgba(255,255,255,0.65) !important; text-transform: uppercase; }
.hero-card-val { color: #ffffff !important; font-weight: 700; }
.hero-card-icon i { color: #93C5FD !important; }

/* ══ PROMO SECTION ══ */
.promo-wrap, .promo-wrap * { color: #ffffff !important; }
.promo-eyebrow { color: #93C5FD !important; }
.promo-title { color: #ffffff !important; }
.promo-desc { color: rgba(255,255,255,0.8) !important; }
.code-text { color: #ffffff !important; }
.btn-copy { background: white !important; color: #1E40AF !important; }
.btn-copy:hover { background: #DBEAFE !important; color: #1E40AF !important; }
.btn-copy * { color: #1E40AF !important; }

/* ══ NEWSLETTER ══ */
.newsletter-section { background: #1E40AF !important; }
.newsletter-section * { color: #ffffff !important; }
.newsletter-label { color: #93C5FD !important; }
.newsletter-title { color: #ffffff !important; }
.newsletter-desc { color: rgba(255,255,255,0.82) !important; }
.newsletter-hint { color: rgba(255,255,255,0.65) !important; }
.newsletter-input { color: #ffffff !important; background: rgba(255,255,255,0.12) !important; border-color: rgba(255,255,255,0.25) !important; }
.newsletter-input::placeholder { color: rgba(255,255,255,0.5) !important; }
.newsletter-input:focus { border-color: #93C5FD !important; box-shadow: 0 0 0 3px rgba(147,197,253,0.2) !important; }

/* ══ FORMS ══ */
.form-group label { color: #1D4ED8 !important; font-weight: 700; }
.form-input, .form-select, .form-textarea { color: #111827 !important; }
.form-input::placeholder, .form-textarea::placeholder { color: #9CA3AF !important; }
.errorlist li { color: #DC2626 !important; }
.invalid-feedback { color: #DC2626 !important; }

/* ══ FOOTER ══ */
.footer { color: rgba(255,255,255,0.75) !important; }
.footer-brand-name { color: #ffffff !important; }
.footer-tagline { color: rgba(255,255,255,0.45) !important; }
.footer-brand p { color: rgba(255,255,255,0.72) !important; }
.footer-col h4 { color: #ffffff !important; }
.footer-col ul li a { color: rgba(255,255,255,0.62) !important; }
.footer-col ul li a:hover { color: #ffffff !important; }
.footer-bottom { color: rgba(255,255,255,0.45) !important; }
.pay-icon { color: rgba(255,255,255,0.8) !important; }
.social-link { color: rgba(255,255,255,0.65) !important; }
.social-link:hover { color: #ffffff !important; }

/* ══ MESSAGE TOASTS ══ */
.message-toast { color: #111827 !important; }

/* ══ BREADCRUMBS ══ */
.breadcrumb-item { color: #4B5563 !important; }
.breadcrumb-item.active { color: #111827 !important; }

/* ══ BADGES ══ */
.badge-sale, .badge-new, .badge-best, .badge-sold-out { color: #ffffff !important; }

/* ══ CART ══ */
.cart-item-name { color: #111827 !important; font-weight: 600; }
.cart-item-price { color: #1E40AF !important; }
.cart-item-qty-btn { color: #111827 !important; }
.cart-summary-label { color: #111827 !important; }
.cart-total { color: #1E40AF !important; }

/* ══ WISHLIST ══ */
.wishlist-card-category { color: #2563EB !important; }
.wishlist-card-name a { color: #111827 !important; }
.wishlist-card-name a:hover { color: #2563EB !important; }
.wishlist-card-price { color: #1E40AF !important; }
.wishlist-hero h1 { color: #ffffff !important; }
.wishlist-hero p { color: rgba(255,255,255,0.85) !important; }
.wishlist-hero h1 em { color: #93C5FD !important; }

/* ══ PROFILE ══ */
.profile-name { color: #111827 !important; }
.profile-email { color: #4B5563 !important; }
.profile-nav-item { color: #111827 !important; }
.profile-nav-item:hover, .profile-nav-item.active { color: #1D4ED8 !important; }
.content-title { color: #111827 !important; }
.order-mini-num { color: #1D4ED8 !important; }
.order-mini-date { color: #4B5563 !important; }

/* ══ AUTH PAGES ══ */
.auth-left * { color: #ffffff !important; }
.auth-left-tag { color: #93C5FD !important; }
.auth-left h1 { color: #ffffff !important; }
.auth-left h1 em { color: #93C5FD !important; }
.auth-left p { color: rgba(255,255,255,0.8) !important; }
.auth-perk span { color: rgba(255,255,255,0.85) !important; }
.auth-heading { color: #111827 !important; }
.auth-sub { color: #4B5563 !important; }
.auth-footer { color: #4B5563 !important; }
.auth-footer a { color: #1D4ED8 !important; }
.btn-auth { color: #ffffff !important; }
.auth-brand .logo-main { color: #111827 !important; }

/* ══ CONTACT ══ */
.contact-info-val { color: #111827 !important; }
.contact-info-label { color: #4B5563 !important; }

/* ══ POLICY PAGES ══ */
.policy-section h2 { color: #111827 !important; }
.policy-section p, .policy-section li { color: #374151 !important; }

/* ══ PRODUCT DETAIL ══ */
.product-title { color: #111827 !important; }
.product-price { color: #1E40AF !important; }
.product-category-tag { color: #2563EB !important; }
.product-desc { color: #374151 !important; }
.review-author { color: #111827 !important; }
.review-text { color: #374151 !important; }
.review-date { color: #6B7280 !important; }

/* ══ ADMIN PANEL ══ */
.topbar .page-title { color: #1E40AF !important; }
.stat-card .value { color: #111827 !important; }
.stat-card .label { color: #4B5563 !important; }

/* ══ ABOUT PAGE ══ */
.about-hero *, .about-hero h1, .about-hero p { color: #ffffff !important; }

/* ══ CATEGORY / BRAND HERO ══ */
.category-hero *, .brand-hero * { color: #ffffff !important; }
.category-hero h1, .brand-hero h1 { color: #ffffff !important; }
.category-hero p, .brand-hero p { color: rgba(255,255,255,0.85) !important; }

/* ══════════════════════════════════════════════
   COMPREHENSIVE MOBILE & TABLET RESPONSIVENESS
   ══════════════════════════════════════════════ */

/* ── Tablet (max 1024px) ── */
@media (max-width: 1024px) {
    .container { padding: 0 20px; }
    .section { padding: 64px 0; }
    .section-title { font-size: 32px; }
    .products-grid { grid-template-columns: repeat(3, 1fr); gap: 18px; }
    /* Cart layout */
    .cart-layout { grid-template-columns: 1fr !important; }
}

/* ── Mobile (max 768px) ── */
@media (max-width: 768px) {
    .container { padding: 0 16px; }
    .section { padding: 48px 0; }
    .section-title { font-size: 26px; }
    .section-subtitle { font-size: 14px; }
    .products-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }

    /* Product card smaller on mobile */
    .product-card-name { font-size: 13.5px; }
    .price-current { font-size: 16px; }
    .btn-add-cart { padding: 9px; font-size: 12px; }

    /* Cart page */
    .cart-layout { grid-template-columns: 1fr !important; gap: 20px; }
    .cart-item { grid-template-columns: 80px 1fr !important; gap: 12px; }
    .cart-item-img { width: 80px !important; height: 80px !important; }
    .cart-item-actions { flex-direction: row !important; align-items: center !important; }

    /* Checkout */
    .checkout-grid { grid-template-columns: 1fr !important; }

    /* Product detail */
    .product-detail-grid { grid-template-columns: 1fr !important; gap: 24px !important; }
    .product-images-main { height: 300px !important; }
    .product-title { font-size: 24px !important; }

    /* Wishlist grid */
    .wishlist-grid { grid-template-columns: repeat(2, 1fr) !important; }

    /* Footer */
    .footer { padding: 48px 0 24px; }
    .footer-grid { grid-template-columns: 1fr !important; gap: 28px; }
    .footer-bottom { flex-direction: column; gap: 14px; text-align: center; }

    /* Order pages */
    .order-detail-grid { grid-template-columns: 1fr !important; }
    .tracking-steps { flex-direction: column !important; gap: 16px; }

    /* Auth pages */
    .auth-card { padding: 24px 16px !important; margin: 16px !important; }

    /* Brand / category hero */
    .brand-hero, .category-hero { padding: 60px 0 !important; }
    .brand-hero h1, .category-hero h1 { font-size: 30px !important; }

    /* Search page */
    .search-filters { display: none; }
    .search-main { padding: 0 !important; }

    /* Announcements bar */
    .ann-bar { font-size: 11px; padding: 8px 40px 8px 16px; }
    .ann-bar .sep { display: none; }
}

/* ── Small Mobile (max 480px) ── */
@media (max-width: 480px) {
    .products-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
    .product-card-body { padding: 10px 10px 4px; }
    .product-card-footer { padding: 0 10px 10px; }
    .product-card-name { font-size: 12.5px; }
    .price-current { font-size: 14.5px; }
    .btn-add-cart { padding: 8px; font-size: 11.5px; gap: 4px; }
    .btn-add-cart i { font-size: 11px; }

    /* Navbar */
    .navbar-inner { height: 60px; padding: 0 12px; gap: 8px; }
    .logo-name { font-size: 17px !important; }
    .logo-tagline { display: none; }

    /* Hero text */
    .hero-title { font-size: 30px !important; }
    .hero-desc { font-size: 14px !important; }
    .hero-actions { gap: 8px; }
    .hero-btn-primary, .hero-btn-secondary { padding: 11px 18px !important; font-size: 13px !important; }
    .hero-metrics { gap: 0; padding-top: 20px; }
    .metric-val { font-size: 22px !important; }
    .metric-label { font-size: 10px !important; }

    /* Section headers */
    .section-title { font-size: 22px; }
    .section-label { font-size: 10px; }

    /* Buttons */
    .btn-lg { padding: 12px 22px !important; font-size: 13px !important; }

    /* Cart */
    .cart-item { grid-template-columns: 70px 1fr !important; }
    .cart-item-img { width: 70px !important; height: 70px !important; }
    .cart-item-name { font-size: 14px !important; }
    .qty-btn-sm { width: 30px !important; height: 30px !important; }

    /* Toast messages */
    .messages-container { right: 8px; left: 8px; max-width: none; top: 70px; }
    .message-toast { font-size: 12.5px; padding: 10px 14px; }
}