/* BudgetDealz V2.5 professional dual theme.
 * Dark remains the default. Light uses accessible white/green contrast.
 */
:root,
html[data-bd-theme="dark"]{
  --bd-bg:#080c18;
  --bd-bg-2:#0c1220;
  --bd-card:#101624;
  --bd-card-2:#141d2f;
  --bd-surface-3:#19243a;
  --bd-text:#f7f9fc;
  --bd-heading:#ffffff;
  --bd-muted:#a6b2c5;
  --bd-border:#24314b;
  --bd-primary:#8b5cf6;
  --bd-primary-2:#3b82f6;
  --bd-success:#19c37d;
  --bd-danger:#ef4444;
  --bd-header:rgba(10,16,30,.96);
  --bd-nav:#0d1424;
  --bd-shadow:0 14px 38px rgba(0,0,0,.30);
  --bg-dark:var(--bd-bg);
  --card-dark:var(--bd-card);
  --text-light:var(--bd-text);
  --text-muted:var(--bd-muted);
  --border-color:var(--bd-border);
  --accent-purple:var(--bd-primary);
  --accent-blue:var(--bd-primary-2);
  color-scheme:dark;
}
html[data-bd-theme="light"]{
  --bd-bg:#f3f7f4;
  --bd-bg-2:#eaf5ee;
  --bd-card:#ffffff;
  --bd-card-2:#f8fbf9;
  --bd-surface-3:#edf7f1;
  --bd-text:#17251d;
  --bd-heading:#101b15;
  --bd-muted:#5f7066;
  --bd-border:#d2e2d8;
  --bd-primary:#11965d;
  --bd-primary-2:#08794a;
  --bd-success:#11965d;
  --bd-danger:#dc3545;
  --bd-header:rgba(255,255,255,.97);
  --bd-nav:#ffffff;
  --bd-shadow:0 14px 38px rgba(31,74,49,.12);
  --bg-dark:var(--bd-bg);
  --card-dark:var(--bd-card);
  --text-light:var(--bd-text);
  --text-muted:var(--bd-muted);
  --border-color:var(--bd-border);
  --accent-purple:var(--bd-primary);
  --accent-blue:var(--bd-primary-2);
  color-scheme:light;
}

html,body{background:var(--bd-bg)!important;color:var(--bd-text)!important}
body{min-height:100vh}
body,.card,.modal-content,.offcanvas,.dropdown-menu,.list-group-item,.accordion-item,.success-card,.checkout-card,.product-card,.product-card-slide,.recharge-card,.operator-icon,.mobile-nav-menu,.downbar{transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease}

/* Global readable surfaces */
.card,.modal-content,.offcanvas,.dropdown-menu,.list-group-item,.accordion-item,.success-card,.checkout-card,.recharge-card,.operator-icon{background:var(--bd-card)!important;color:var(--bd-text)!important;border-color:var(--bd-border)!important}
.app-header{background:var(--bd-header)!important;border-color:var(--bd-border)!important;color:var(--bd-text)!important}
.mobile-nav-menu,.navbar,.admin-sidebar{border-color:var(--bd-border)!important}
.form-control,.form-select,.input-group-text,textarea,input,select{background-color:var(--bd-card-2)!important;color:var(--bd-text)!important;border-color:var(--bd-border)!important}
.form-control::placeholder,textarea::placeholder,input::placeholder{color:var(--bd-muted)!important;opacity:1!important}
.table{--bs-table-bg:var(--bd-card)!important;--bs-table-color:var(--bd-text)!important;--bs-table-border-color:var(--bd-border)!important;color:var(--bd-text)!important}
.table-light,.bg-light{--bs-table-bg:var(--bd-card-2)!important;background:var(--bd-card-2)!important;color:var(--bd-text)!important}
.text-dark,.text-white{color:var(--bd-text)!important}.text-muted{color:var(--bd-muted)!important}
h1,h2,h3,h4,h5,h6,.section-title,.card-title,.modal-title,.offcanvas-title,.navbar-brand{color:var(--bd-heading)!important}
p,li,label,.form-label,.small,small{color:inherit}
a:not(.btn){color:var(--bd-primary)}
.btn-primary,.btn-success{background:linear-gradient(135deg,var(--bd-primary-2),var(--bd-primary))!important;border-color:transparent!important;color:#fff!important}
.btn-outline-light,.btn-outline-success,.btn-outline-primary{border-color:var(--bd-border)!important;color:var(--bd-primary)!important;background:transparent!important}
.btn-outline-light:hover,.btn-outline-success:hover,.btn-outline-primary:hover{background:var(--bd-primary)!important;color:#fff!important;border-color:var(--bd-primary)!important}
.alert{border-color:var(--bd-border)!important}
hr{border-color:var(--bd-border)!important;opacity:.8}

/* The old homepage has several hard-coded light/dark values. Force correct contrast. */
html[data-bd-theme="light"] .section-title,
html[data-bd-theme="light"] .section-title > *,
html[data-bd-theme="light"] .mobile-menu-body .nav-link,
html[data-bd-theme="light"] .mobile-menu-body .nav-link i,
html[data-bd-theme="light"] .header-logo span,
html[data-bd-theme="light"] .desktop-nav .nav-link,
html[data-bd-theme="light"] .operator-icon .op-name,
html[data-bd-theme="light"] .plan-desc,
html[data-bd-theme="light"] .card-title{color:#17251d!important;-webkit-text-fill-color:currentColor!important}
html[data-bd-theme="light"] .section-title .view-all-link{color:#7c3aed!important}
html[data-bd-theme="light"] .product-card-slide{background:#fff!important;color:#17251d!important;border-color:#d2e2d8!important}
html[data-bd-theme="light"] .product-card-slide .card-body{background:#fff!important}
html[data-bd-theme="light"] .product-card-slide .card-title{color:#17251d!important}
html[data-bd-theme="light"] .product-card-slide .card-price{color:#6d28d9!important}
html[data-bd-theme="light"] .trust-pill{background:#fff!important;color:#294336!important;border-color:#d2e2d8!important}
html[data-bd-theme="light"] .bd-home-module{color:#17251d!important}

html[data-bd-theme="dark"] .trust-pill,
html[data-bd-theme="dark"] .offer-box,
html[data-bd-theme="dark"] .manual-delivery-box,
html[data-bd-theme="dark"] .ai-box{background:var(--bd-card-2)!important;color:var(--bd-text)!important;border-color:var(--bd-border)!important}
html[data-bd-theme="dark"] .stars-bg{background:radial-gradient(circle at 20% 0%,rgba(139,92,246,.15),transparent 30%),radial-gradient(circle at 80% 10%,rgba(59,130,246,.10),transparent 28%),#080c18!important}
html[data-bd-theme="light"] .stars-bg{background:radial-gradient(circle at 20% 10%,rgba(17,150,93,.08),transparent 30%),radial-gradient(circle at 80% 25%,rgba(255,255,255,.95),transparent 28%),#f3f7f4!important}

/* Temporary Independence Day skin removed by request. */

/* Professional top theme switch */
#bdThemeToggle{position:fixed;top:13px;right:14px;z-index:2550;display:flex;align-items:center;gap:7px;height:42px;padding:0 12px;border:1px solid var(--bd-border);border-radius:999px;background:color-mix(in srgb,var(--bd-card) 94%,transparent);color:var(--bd-text);box-shadow:var(--bd-shadow);backdrop-filter:blur(14px);font:600 12px/1 Poppins,system-ui,-apple-system,Segoe UI,sans-serif;cursor:pointer}
#bdThemeToggle .bd-theme-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:linear-gradient(135deg,var(--bd-primary-2),var(--bd-primary));color:#fff;font-size:13px}
#bdThemeToggle .bd-theme-label{white-space:nowrap;color:var(--bd-text)!important}
#bdThemeToggle:focus-visible{outline:3px solid color-mix(in srgb,var(--bd-primary) 35%,transparent);outline-offset:2px}

/* Mobile drawer + backdrop: compact, readable and genuinely dismissible. */
.mobile-nav-backdrop{position:fixed;inset:0;background:rgba(2,6,15,.58);backdrop-filter:blur(2px);z-index:2580;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}
.mobile-nav-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto}
.mobile-nav-menu{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;width:min(88vw,380px)!important;max-width:100%!important;height:100dvh!important;background:var(--bd-nav)!important;color:var(--bd-text)!important;border-left:1px solid var(--bd-border)!important;box-shadow:-20px 0 50px rgba(0,0,0,.28)!important;z-index:2600!important;transform:translateX(105%)!important;padding:0!important;display:flex!important;flex-direction:column!important;transition:transform .25s cubic-bezier(.2,.8,.2,1)!important;overflow:hidden!important}
.mobile-nav-menu.is-open{transform:translateX(0)!important}
.mobile-menu-header{height:72px!important;min-height:72px!important;padding:12px 16px!important;border-bottom:1px solid var(--bd-border)!important;background:var(--bd-nav)!important;display:flex!important;align-items:center!important;justify-content:space-between!important}
.mobile-menu-header .header-logo{visibility:visible!important;opacity:1!important}
.mobile-menu-header .header-logo img{height:38px!important;max-width:125px!important;object-fit:contain!important}
.mobile-menu-close{width:42px!important;height:42px!important;border-radius:12px!important;border:1px solid var(--bd-border)!important;background:var(--bd-card-2)!important;color:var(--bd-text)!important;display:grid!important;place-items:center!important;font-size:27px!important;line-height:1!important;padding:0!important}
.mobile-menu-body{padding:18px 14px 26px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:10px!important;overflow-y:auto!important;background:var(--bd-nav)!important}
.mobile-menu-body .nav-link{display:flex!important;align-items:center!important;gap:12px!important;width:100%!important;margin:0!important;padding:14px 15px!important;border:1px solid var(--bd-border)!important;border-radius:14px!important;background:var(--bd-card-2)!important;color:var(--bd-text)!important;font-size:1rem!important;font-weight:600!important;text-decoration:none!important;box-shadow:none!important}
.mobile-menu-body .nav-link i{width:22px!important;margin:0!important;text-align:center!important;color:var(--bd-primary)!important}
.mobile-menu-body .nav-link:hover{border-color:color-mix(in srgb,var(--bd-primary) 55%,var(--bd-border))!important;background:color-mix(in srgb,var(--bd-card-2) 88%,var(--bd-primary) 12%)!important}
.mobile-menu-body .logout-link,.mobile-menu-body .logout-link i{color:var(--bd-danger)!important}

/* Mobile bottom navigation follows current theme. */
.downbar{background:color-mix(in srgb,var(--bd-card) 96%,transparent)!important;border-color:var(--bd-border)!important;box-shadow:0 -8px 28px rgba(0,0,0,.12)!important}
.downbar a{color:var(--bd-muted)!important}
.downbar a i{color:var(--bd-muted)!important}
.downbar a.active,.downbar a:hover{color:var(--bd-primary)!important;-webkit-text-fill-color:var(--bd-primary)!important;background:none!important}
.downbar a.active i,.downbar a:hover i{color:var(--bd-primary)!important}

@media(max-width:991.98px){
  #bdThemeToggle{top:12px;right:58px;height:40px;padding:0 8px}
  #bdThemeToggle .bd-theme-label{display:none}
  .app-header nav{padding-right:8px!important}
  .hamburger-btn{position:relative!important;z-index:2560!important;width:40px!important;height:40px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:8px!important;border:1px solid var(--bd-border)!important;border-radius:12px!important;background:var(--bd-card-2)!important;gap:4px!important}
  .hamburger-btn span{width:20px!important;height:2px!important;background:var(--bd-text)!important}
}
@media(min-width:992px){.mobile-nav-backdrop,.mobile-nav-menu{display:none!important}}
/* Homepage module contrast corrections. */
html[data-bd-theme="dark"] .bd-home-module{background:linear-gradient(180deg,rgba(16,22,36,.96),rgba(8,12,24,.25))!important;color:var(--bd-text)!important}
html[data-bd-theme="dark"] .section-title,html[data-bd-theme="dark"] .section-title>*{color:var(--bd-heading)!important}
html[data-bd-theme="dark"] .section-title .view-all-link{color:#a78bfa!important}
html[data-bd-theme="dark"] .product-card-slide{background:var(--bd-card)!important;color:var(--bd-text)!important;border-color:var(--bd-border)!important}
html[data-bd-theme="dark"] .product-card-slide .card-body{background:var(--bd-card)!important}
html[data-bd-theme="dark"] .product-card-slide .card-title{color:var(--bd-heading)!important}
html[data-bd-theme="dark"] .product-card-slide .card-price{color:#a78bfa!important}

/* V2.5 shared-product readability fix: never allow white text on a hard-coded light product surface. */
.shared-hero,.shared-card{color:var(--bd-text)!important}
.shared-card{background:var(--bd-card)!important;border-color:var(--bd-border)!important}
.shared-card h1,.shared-card h2,.shared-card h3,.shared-card h4,.shared-card h5,.shared-card h6{color:var(--bd-heading)!important}
.shared-card .muted{color:var(--bd-muted)!important}
.shared-card .trust-note{background:var(--bd-card-2)!important;color:var(--bd-muted)!important;border-color:var(--bd-border)!important}
.shared-card .partner-box{color:var(--bd-text)!important}
.shared-card .partner-box strong,.shared-card .partner-box small{color:var(--bd-text)!important}
