/* MJ Marketplace v2.8.2 Unified Frontend Design System
   Final frontend polish layer: keeps all existing logic, only normalizes layout, spacing,
   colors, cards, forms, tables, account area, module pages and mobile behaviour. */
:root{
  --mj-primary:#2563eb;
  --mj-primary-dark:#1d4ed8;
  --mj-accent:#7c3aed;
  --mj-info:#06b6d4;
  --mj-warning:#f59e0b;
  --mj-success:#16a34a;
  --mj-danger:#dc2626;
  --mj-ink:#0f172a;
  --mj-text:#1f2937;
  --mj-muted:#64748b;
  --mj-soft:#f8fbff;
  --mj-soft-2:#f1f5f9;
  --mj-line:#e2e8f0;
  --mj-card:#ffffff;
  --mj-radius-sm:14px;
  --mj-radius:22px;
  --mj-radius-lg:30px;
  --mj-shadow-sm:0 10px 28px rgba(15,23,42,.06);
  --mj-shadow:0 18px 48px rgba(15,23,42,.08);
  --mj-shadow-lg:0 28px 76px rgba(15,23,42,.13);
  --mj-grad:linear-gradient(135deg,var(--mj-primary),var(--mj-accent));
  --mj-grad-dark:radial-gradient(circle at 12% 12%,rgba(6,182,212,.25),transparent 28%),radial-gradient(circle at 88% 18%,rgba(245,158,11,.22),transparent 24%),linear-gradient(135deg,#0f172a 0%,#1e3a8a 52%,#4c1d95 100%);
}
html{scroll-behavior:smooth}
body.mj-public-body,body{background:linear-gradient(180deg,#f8fbff 0%,#ffffff 44%,#f8fafc 100%)!important;color:var(--mj-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.mj-main{min-height:64vh}.container{max-width:1180px}.site-header{box-shadow:0 8px 30px rgba(15,23,42,.05)}.mj-navbar{min-height:72px}.mj-brand span:last-child{letter-spacing:-.02em}.navbar .nav-link{transition:.18s ease}.dropdown-menu{border:1px solid rgba(226,232,240,.9)!important}.dropdown-item{border-radius:12px;font-weight:700}.dropdown-menu li{padding:0 6px}.dropdown-item:hover{background:#eef2ff;color:#1d4ed8}.mj-nav-cta,.btn-primary{background:var(--mj-grad)!important;border:0!important}.btn{border-radius:999px;font-weight:850;letter-spacing:-.01em}.btn-lg{padding:.78rem 1.35rem}.btn-outline-primary{border-color:#bfdbfe;color:#1d4ed8}.btn-outline-primary:hover{background:#eff6ff;color:#1d4ed8;border-color:#93c5fd}.btn-light{box-shadow:0 12px 28px rgba(15,23,42,.08)}
/* Consistent page containers */
.mj-section,section.container.py-4,.mj-static-page{padding-top:42px!important;padding-bottom:42px!important}.mj-main>.card.card-body{max-width:1120px;margin:42px auto;padding:30px;border:1px solid var(--mj-line);border-radius:var(--mj-radius-lg);box-shadow:var(--mj-shadow);background:#fff}.mj-main>.card.card-body h1{font-weight:950;letter-spacing:-.04em}.mj-main>.card.card-body p{color:var(--mj-muted)}
/* Unified heroes */
.mj-page-hero,.mj-hero-ultimate,.mj-static-hero{position:relative;overflow:hidden;border-radius:var(--mj-radius-lg)!important;padding:32px!important;background:radial-gradient(circle at 9% 14%,rgba(6,182,212,.18),transparent 26%),radial-gradient(circle at 94% 12%,rgba(245,158,11,.16),transparent 23%),linear-gradient(135deg,#eef6ff,#ffffff 50%,#fff7ed)!important;border:1px solid #dbeafe!important;box-shadow:var(--mj-shadow)!important;color:var(--mj-ink)!important}.mj-hero-ultimate{background:var(--mj-grad-dark)!important;color:#fff!important}.mj-page-hero:before,.mj-static-hero:before{content:"";position:absolute;right:-70px;bottom:-85px;width:230px;height:230px;border-radius:50%;background:rgba(37,99,235,.08)}.mj-page-hero>* ,.mj-static-hero>* ,.mj-hero-ultimate>*{position:relative;z-index:1}.mj-page-hero h1,.mj-static-hero h1,.mj-hero-ultimate h1{font-weight:950!important;letter-spacing:-.045em;line-height:1.04}.mj-page-hero p,.mj-static-hero p{font-size:1.02rem;color:var(--mj-muted)!important}.mj-hero-ultimate p,.mj-hero-ultimate .lead{color:rgba(255,255,255,.84)!important}.mj-badge,.mj-badge-soft,.mj-filter-pill,.mj-home-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px!important;font-weight:900!important;font-size:.78rem;line-height:1.2;padding:7px 12px!important;border:1px solid #bfdbfe!important;background:#eef6ff!important;color:#1d4ed8!important}.mj-hero-ultimate .mj-filter-pill,.mj-hero-ultimate .badge{background:rgba(255,255,255,.15)!important;border-color:rgba(255,255,255,.24)!important;color:#fff!important;backdrop-filter:blur(10px)}
/* Cards and grids */
.card,.mj-card,.mj-mini-card,.mj-account-tile,.mj-card-hover,.stat,.form-card,.mj-crm-mini-card,.mj-quote-stat,.mj-quote-mini,.mj-upgrade-pay-method,.mj-invoice-card,.mj-static-card{border:1px solid var(--mj-line)!important;border-radius:var(--mj-radius)!important;background:#fff!important;box-shadow:var(--mj-shadow-sm)!important}.card.border-0,.card.shadow-sm{border:1px solid var(--mj-line)!important;box-shadow:var(--mj-shadow-sm)!important}.mj-card-hover,.mj-account-tile,.mj-mini-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.mj-card-hover:hover,.mj-account-tile:hover,.mj-mini-card:hover{transform:translateY(-3px);box-shadow:var(--mj-shadow)!important;border-color:#bfdbfe!important}.mj-card-hover>div:first-child{background:linear-gradient(135deg,#eff6ff,#f5f3ff)!important;border-bottom:1px solid #e0e7ff}.mj-card-hover>div:first-child i{color:#2563eb!important}.mj-account-tile i,.mj-mini-card .mj-icon{background:#eef6ff;color:#2563eb;border-radius:16px;padding:10px}.mj-account-tile i{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;font-size:1.35rem}.stat{padding:18px!important}.stat b{font-size:clamp(1.45rem,3vw,2rem);letter-spacing:-.03em;color:var(--mj-ink)}.muted,.text-muted{color:var(--mj-muted)!important}.grid{gap:16px}.row.g-4{--bs-gutter-y:1.25rem;--bs-gutter-x:1.25rem}
/* Forms */
.form-control,.form-select,textarea.form-control{border-radius:16px!important;border:1px solid #dbe3ef!important;background:#fff;min-height:46px;font-weight:650}.form-control:focus,.form-select:focus{border-color:#93c5fd!important;box-shadow:0 0 0 .24rem rgba(37,99,235,.13)!important}.label,label.form-label,.form-label{font-weight:850;color:#334155;margin-bottom:.4rem}.form-check-input{border-color:#cbd5e1}.form-check-input:checked{background-color:#2563eb;border-color:#2563eb}.input-group-text{border-radius:16px;background:#f8fafc;border-color:#dbe3ef;color:#64748b;font-weight:800}
/* Tables and lists */
.table{margin-bottom:0}.table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.035em;color:#475569;background:#f8fafc!important;border-bottom:1px solid var(--mj-line);white-space:nowrap}.table td{vertical-align:middle;color:#334155}.table-hover tbody tr:hover{background:#f8fbff}.list-group-item{border-color:#edf2f7!important}.accordion-item{border:1px solid var(--mj-line)!important;border-radius:18px!important;overflow:hidden;margin-bottom:10px;box-shadow:0 8px 22px rgba(15,23,42,.04)}.accordion-button{font-weight:900}.accordion-button:not(.collapsed){background:#eef6ff;color:#1d4ed8;box-shadow:none}.alert{border-radius:18px;border:0;box-shadow:0 10px 26px rgba(15,23,42,.06)}.badge{font-weight:850;border-radius:999px}.pagination .page-link{border-radius:12px;margin:0 3px;border-color:#dbeafe;color:#1d4ed8;font-weight:800}.pagination .active .page-link{background:var(--mj-grad);border-color:transparent}
/* Account area consistency */
.sidebar-layout{max-width:1180px;margin:42px auto;grid-template-columns:286px minmax(0,1fr);align-items:start}.side-menu{border-radius:26px!important;padding:12px!important;background:rgba(255,255,255,.92)!important;backdrop-filter:blur(14px);box-shadow:var(--mj-shadow)!important;top:92px}.side-menu .mj-side-section{display:block!important;padding:12px 12px 5px;color:#94a3b8;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:950}.side-menu a{border-radius:16px!important;margin:3px 0!important;color:#334155!important;transition:.18s ease}.side-menu a i{width:20px;text-align:center}.side-menu a:hover{background:#eef6ff!important;color:#1d4ed8!important;transform:translateX(2px)}.side-menu a.active{background:var(--mj-grad)!important;color:#fff!important;box-shadow:0 12px 26px rgba(37,99,235,.22)}.mj-user-dashboard-hero{border-radius:var(--mj-radius-lg)!important;background:var(--mj-grad-dark)!important;box-shadow:var(--mj-shadow-lg)!important}.mj-tabs{border-radius:22px!important;box-shadow:var(--mj-shadow-sm)!important;overflow-x:auto;scrollbar-width:thin}.mj-tabs a{white-space:nowrap}.mj-empty-state{border-radius:24px!important;background:linear-gradient(135deg,#fff,#f8fbff)!important}.mj-feature-list .item{border-radius:18px!important;background:#fff!important;box-shadow:0 8px 22px rgba(15,23,42,.04)}.mj-progress-soft{height:10px}.mj-timeline-item{border-radius:18px!important}
/* Public marketplace cards */
.listing-card,.company-card,.deal-card{border-radius:var(--mj-radius)!important;border:1px solid var(--mj-line)!important;box-shadow:var(--mj-shadow-sm)!important;overflow:hidden;background:#fff}.listing-card:hover,.company-card:hover,.deal-card:hover{box-shadow:var(--mj-shadow)!important;transform:translateY(-2px)}.mj-home-category-card,.mj-home-country-card,.mj-home-step-card{border:1px solid var(--mj-line)!important;box-shadow:var(--mj-shadow-sm)!important}.mj-home-cta,.mj-app-cta{box-shadow:var(--mj-shadow-lg)!important}.mj-local-priority-bar{border-radius:18px!important;background:linear-gradient(135deg,#ecfeff,#eef2ff)!important;box-shadow:var(--mj-shadow-sm)}
/* Static pages */
.mj-static-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.mj-static-card{padding:22px;height:100%}.mj-static-card i{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:16px;background:#eef6ff;color:#2563eb;font-size:1.35rem;margin-bottom:12px}.mj-static-card h3{font-size:1.05rem;font-weight:950;color:#0f172a;margin-bottom:6px}.mj-static-card p{color:#64748b;margin:0}.mj-static-content{background:#fff;border:1px solid var(--mj-line);border-radius:var(--mj-radius-lg);box-shadow:var(--mj-shadow-sm);padding:28px}.mj-static-content h2{font-weight:950;letter-spacing:-.03em}.mj-static-content p,.mj-static-content li{color:#475569;line-height:1.7}.mj-static-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
/* Footer and mobile nav */
.mj-app-cta{background:var(--mj-grad-dark)!important}.mj-footer{background:#0f172a!important}.mj-mobile-bottom{border-top:1px solid #e2e8f0;background:rgba(255,255,255,.96);backdrop-filter:blur(16px)}.mj-mobile-bottom a{font-weight:850;color:#64748b}.mj-mobile-bottom a.active{color:#1d4ed8}.mj-mobile-bottom a.active i{background:#eef6ff;color:#1d4ed8}
@media(max-width:991px){.navbar-nav{padding:12px 0}.navbar .nav-link{border-radius:14px}.sidebar-layout{grid-template-columns:1fr;margin:24px auto}.side-menu{position:relative!important;top:auto!important;display:flex;gap:8px;overflow:auto;white-space:nowrap;border-radius:20px!important}.side-menu .mj-side-section, .side-menu hr{display:none!important}.side-menu a{min-width:max-content}.mj-page-hero,.mj-hero-ultimate,.mj-static-hero{padding:24px!important;border-radius:24px!important}.mj-static-content{padding:22px}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.mj-main>.card.card-body{margin:24px 12px}.mj-mobile-bottom a span{font-size:.69rem}}
@media(max-width:575px){body{padding-bottom:76px}.container{padding-left:16px;padding-right:16px}.mj-section,section.container.py-4,.mj-static-page{padding-top:28px!important;padding-bottom:28px!important}.mj-page-hero h1,.mj-static-hero h1,.mj-hero-ultimate h1{font-size:2rem!important}.display-5{font-size:2rem}.grid-4,.grid-3,.grid-2{grid-template-columns:1fr!important}.stat{padding:15px!important}.mj-tabs{padding:8px}.mj-tabs a{padding:9px 12px;font-size:.86rem}.card-body{padding:1rem}.mj-static-actions .btn{width:100%}.mj-app-cta .btn{width:100%;margin:.25rem 0!important}.table-responsive{border-radius:18px;border:1px solid var(--mj-line)}}
@media print{.mj-top-strip,.site-header,.mj-app-cta,.mj-footer,.mj-mobile-bottom,.side-menu,.mj-tabs,.btn{display:none!important}.mj-page-hero,.mj-static-hero,.mj-invoice-card,.card{box-shadow:none!important;border:1px solid #ddd!important}body{background:#fff!important;padding:0!important}}

/* v2.8.3 Country pages unified with homepage design */
.mj-home-hero .mj-home-pill{
  background:rgba(255,255,255,.13)!important;
  border-color:rgba(255,255,255,.22)!important;
  color:#fff!important;
  box-shadow:0 10px 25px rgba(0,0,0,.08);
  backdrop-filter:blur(12px);
}
.mj-home-hero .mj-home-pill.is-local{
  background:#fef3c7!important;
  color:#78350f!important;
  border-color:#fde68a!important;
}
.mj-home-hero .mj-badge{
  background:rgba(255,255,255,.16)!important;
  border-color:rgba(255,255,255,.26)!important;
  color:#fff!important;
}
.mj-home-hero .mj-home-search .form-control,
.mj-home-hero .mj-home-search .form-select{
  min-height:48px;
  color:#0f172a!important;
}
.mj-home-hero .mj-home-quick a{
  text-decoration:none!important;
}
.mj-country-home-hero{
  border-radius:0 0 42px 42px;
  padding:74px 0 64px!important;
}
.mj-country-stats{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.mj-country-home-hero .mj-home-window img{
  min-height:280px;
  object-fit:contain;
}
.mj-country-home-hero .mj-home-floating-card.card-a{left:-12px;bottom:58px}
.mj-country-home-hero .mj-home-floating-card.card-b{right:-10px;bottom:8px}
.mj-country-home-hero .mj-home-floating-card.card-c{right:22px;top:10px}
.mj-home-category-section .mj-home-category-card,
.mj-home-category-section .mj-home-country-card{
  min-height:100%;
}
.mj-home-category-section .mj-home-country-card .flag i{
  font-size:1.35rem;
  color:#2563eb;
}
.mj-home-country-card .flag{
  overflow:hidden;
}
@media(max-width:991px){
  .mj-country-home-hero{padding:54px 0!important;border-radius:0 0 28px 28px}
  .mj-country-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mj-country-home-hero .mj-home-window img{min-height:auto}
}
@media(max-width:575px){
  .mj-country-stats{grid-template-columns:1fr 1fr}
  .mj-country-home-hero .mj-home-quick a:first-of-type{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

/* v2.9.0 Billing payment modal fix */
.mj-pay-method-option{display:flex;gap:.75rem;width:100%;height:100%;padding:1rem;border:1px solid #dbe7ff;border-radius:18px;background:#fff;cursor:pointer;transition:.18s ease;box-shadow:0 10px 24px rgba(15,23,42,.04)}
.mj-pay-method-option:hover{border-color:#4f46e5;box-shadow:0 14px 30px rgba(79,70,229,.12);transform:translateY(-1px)}
.mj-pay-method-option input{margin-top:.25rem;accent-color:#4f46e5}
.mj-pay-method-option span{display:block;min-width:0}
.mj-pay-method-option b{display:block;color:#0f172a;margin-bottom:.25rem}
.mj-pay-method-option small{display:block;color:#64748b;white-space:pre-line;line-height:1.45}

/* v2.9.1 Bulk payment cart + invoice checkout */
.mj-cart-list{display:grid;gap:12px}.mj-cart-item{display:flex;align-items:center;gap:14px;border:1px solid rgba(59,92,255,.16);border-radius:18px;padding:16px;background:#fff;box-shadow:0 10px 28px rgba(17,34,68,.05);cursor:pointer;transition:.18s ease}.mj-cart-item:hover{transform:translateY(-1px);border-color:rgba(76,68,255,.35);box-shadow:0 16px 40px rgba(17,34,68,.08)}.mj-cart-item input{width:20px;height:20px}.mj-cart-main{display:flex;flex-direction:column;min-width:0;flex:1}.mj-cart-main b{font-weight:800;color:#0f1b33}.mj-cart-main small{color:#60708e}.mj-cart-price{font-weight:900;color:#06142d;white-space:nowrap}.mj-slot-box{border:1px solid rgba(59,92,255,.16);border-radius:18px;padding:18px;background:linear-gradient(180deg,#fff,#f9fbff);height:100%}.mj-checkout-summary .card{border:1px solid rgba(59,92,255,.12)!important}.mj-pay-method-option{display:block;border:1px solid rgba(59,92,255,.17);border-radius:18px;padding:14px;cursor:pointer;background:#fff;height:100%;transition:.18s ease}.mj-pay-method-option:hover{border-color:#5b4dff;box-shadow:0 10px 30px rgba(84,76,255,.12)}.mj-pay-method-option input{margin-right:8px}.mj-pay-method-option span{display:inline-flex;flex-direction:column;vertical-align:top;max-width:calc(100% - 32px)}.mj-pay-method-option small{color:#60708e;margin-top:4px}.mj-mini-card{border:1px solid rgba(59,92,255,.14);border-radius:18px;padding:18px;background:#fff;box-shadow:0 10px 28px rgba(17,34,68,.05)}@media(max-width:767px){.mj-cart-item{align-items:flex-start}.mj-cart-price{margin-left:auto}.mj-checkout-summary{position:static!important}.mj-pay-method-option{min-height:auto}}

/* v2.9.2 Invoice-first checkout + wider desktop layout */
@media (min-width:1200px){
  .container{max-width:1420px!important;}
  .container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1420px!important;}
  .mj-account-wide{max-width:1560px;margin-left:auto;margin-right:auto;padding-left:28px!important;padding-right:28px!important;}
  .sidebar-layout{max-width:1500px!important;grid-template-columns:300px minmax(0,1fr)!important;gap:32px!important;margin-left:auto!important;margin-right:auto!important;}
}
@media (min-width:1600px){
  .container{max-width:1500px!important;}
  .mj-account-wide{max-width:1660px;}
  .sidebar-layout{max-width:1600px!important;}
}
.mj-invoice-stack{display:grid;gap:18px}.mj-invoice-card{border:1px solid rgba(59,92,255,.14);border-radius:24px;background:#fff;padding:20px;box-shadow:0 14px 38px rgba(17,34,68,.06)}.mj-invoice-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.mj-invoice-head b{font-size:1.08rem;color:#0f172a}.mj-invoice-head small{display:block;color:#64748b;margin-top:3px}.mj-invoice-items{display:grid;gap:8px;background:linear-gradient(180deg,#f8fbff,#fff);border:1px solid rgba(148,163,184,.18);border-radius:18px;padding:12px}.mj-invoice-item-row{display:grid;grid-template-columns:minmax(0,1fr)70px 140px;gap:10px;align-items:center}.mj-invoice-item-row b{display:block;color:#0f172a}.mj-invoice-item-row small{display:block;color:#64748b}.mj-invoice-item-row strong{text-align:right;color:#06142d}.mj-pay-invoice-form,.mj-edit-invoice-box{border:1px solid rgba(59,92,255,.14);border-radius:20px;background:linear-gradient(180deg,#fff,#f9fbff);padding:16px;height:100%}.mj-edit-invoice-box{background:linear-gradient(135deg,#f8fbff,#fff7ed)}@media(max-width:767px){.mj-account-wide{padding-left:12px!important;padding-right:12px!important}.mj-invoice-head{flex-direction:column}.mj-invoice-item-row{grid-template-columns:1fr;gap:4px}.mj-invoice-item-row strong{text-align:left}.mj-checkout-summary{position:static!important}.sidebar-layout{gap:18px!important}}
