/**
 * WORLD OIL PORTAL — storefront design skin (excl. AdminLTE)
 * Soft SaaS look: light canvas, navy primary, gold premium accents.
 * Loaded after theme style.css so tokens cascade into existing components.
 */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

:root,
:root[theme='light'] {
  --wop-navy: #1a3b5d;
  --wop-navy-deep: #122a45;
  --wop-blue: #2f6fed;
  --wop-blue-soft: #e8f0fe;
  --wop-premium: #d4a017;
  --wop-premium-soft: #fff6dd;
  --wop-success: #1f9d55;
  --wop-success-deep: #187f44;
  --wop-canvas: #f4f7fb;
  --wop-card: #ffffff;
  --wop-border: #e6edf5;
  --wop-muted: #6b7c93;
  --wop-shadow: 0 8px 28px rgba(18, 42, 69, 0.08);
  --wop-radius: 12px;
  --wop-radius-sm: 8px;

  /* Remap theme tokens used across style.css */
  --bg-color: var(--wop-canvas);
  --primary-color: var(--wop-navy);
  --primary-dark: var(--wop-navy-deep);
  --primary-light: var(--wop-blue);
  --primary-text: #1c2b3a;
  --secondary-text: var(--wop-muted);
  --light: #eef3f9;
  --gray: var(--wop-border);
  --yellow: var(--wop-premium);
  --blue: var(--wop-blue);
  --primary-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --border-radius: var(--wop-radius-sm);
  --box-shadow: var(--wop-shadow);
}

.label.wop-tender-status {
  color: var(--wop-blue) !important;
}

.wop-tender-contact-access__button {
  margin-top: 12px;
  min-height: 48px;
  padding: 13px 18px;
  border-radius: var(--wop-radius-sm);
  font-size: 16px;
  font-weight: 700;
}

.wop-tender-contact-access__payment {
  border-color: var(--wop-border);
  background: var(--wop-blue-soft);
}

/* ---------- Global canvas ---------- */
body.ltr,
body.rtl {
  background: var(--wop-canvas) !important;
  color: var(--primary-text);
  font-family: var(--primary-font) !important;
  -webkit-font-smoothing: antialiased;
}

.wrapper {
  background: var(--wop-canvas);
}

#content-wrapper {
  min-height: 60vh;
}

/* ---------- Header / top nav ---------- */
header.header {
  background: transparent !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

.btn-primary,
.btn.btn-primary,
a.btn-primary {
  background: var(--wop-navy) !important;
  border-color: var(--wop-navy) !important;
  color: #fff !important;
  border-radius: var(--wop-radius-sm) !important;
  box-shadow: none !important;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background: var(--wop-navy-deep) !important;
  border-color: var(--wop-navy-deep) !important;
}

.wop-shop-now-btn,
.wop-shop-now-btn:hover,
.wop-shop-now-btn:focus,
.wop-shop-now-btn:active {
  background: linear-gradient(135deg, var(--wop-navy) 0%, var(--wop-blue) 100%) !important;
  border-color: var(--wop-blue) !important;
  color: #fff !important;
  box-shadow: 0 6px 14px rgba(47, 111, 237, 0.22) !important;
}

.wop-account-update-btn,
.wop-account-update-btn:hover,
.wop-account-update-btn:focus,
.wop-account-update-btn:active {
  background: linear-gradient(135deg, var(--wop-navy) 0%, var(--wop-blue) 100%) !important;
  border-color: var(--wop-blue) !important;
  color: #fff !important;
  box-shadow: 0 6px 14px rgba(47, 111, 237, 0.22) !important;
}

.btn-default,
.btn-outline,
.btn.btn-default {
  border-radius: var(--wop-radius-sm) !important;
  border-color: var(--wop-border) !important;
  color: var(--wop-navy) !important;
  background: #fff !important;
}

.btn-warning,
.btn.btn-warning {
  background: var(--wop-premium) !important;
  border-color: var(--wop-premium) !important;
  color: #1a2a3a !important;
  font-weight: 600;
  border-radius: var(--wop-radius-sm) !important;
}

/* ---------- Cards / panels / boxes ---------- */
.box,
.panel,
.panel-default,
.card,
.product,
.product-info-outer,
.neckbands,
.account-section .box,
.table-responsive {
  background: var(--wop-card) !important;
  border: 1px solid var(--wop-border) !important;
  border-radius: var(--wop-radius) !important;
  box-shadow: var(--wop-shadow) !important;
}

.panel-heading,
.box-header,
.panel-default > .panel-heading {
  background: transparent !important;
  border-bottom: 1px solid var(--wop-border) !important;
  color: var(--wop-navy) !important;
  font-weight: 600;
  border-radius: var(--wop-radius) var(--wop-radius) 0 0 !important;
}

.panel-body,
.box-body {
  background: transparent !important;
}

/* ---------- Forms ---------- */
.form-control,
select.form-control,
textarea.form-control,
input.form-control {
  border: 1px solid var(--wop-border) !important;
  border-radius: var(--wop-radius-sm) !important;
  box-shadow: none !important;
  background: #fff !important;
  color: var(--primary-text) !important;
  min-height: 42px;
}

.form-control:focus {
  border-color: var(--wop-blue) !important;
  box-shadow: 0 0 0 3px rgba(47, 111, 237, 0.15) !important;
}

.input-group-addon {
  border-radius: var(--wop-radius-sm) !important;
  border-color: var(--wop-border) !important;
  background: #f8fafc !important;
}

/* ---------- Tables ---------- */
.table {
  background: #fff;
}

.table > thead > tr > th {
  border-bottom: 1px solid var(--wop-border) !important;
  color: var(--wop-navy);
  font-weight: 600;
  background: #f8fafc;
}

.table > tbody > tr > td {
  border-top-color: var(--wop-border) !important;
  vertical-align: middle !important;
}

.table-striped > tbody > tr:nth-of-type(odd) {
  background: #fafcfe;
}

/* ---------- Breadcrumbs / page headers ---------- */
.page-header {
  border: 0 !important;
  margin: 12px 0 8px !important;
  padding: 0 !important;
}

.nav-breadcrumb.breadcrumb {
  background: transparent !important;
  padding: 8px 0 !important;
  margin: 0 !important;
}

.nav-breadcrumb > li + li:before {
  color: var(--wop-muted);
}

/* ---------- Account / dashboard shell ---------- */
.account-section {
  padding-bottom: 40px;
}

.account-section > .container {
  max-width: 1280px;
}

.account-section .row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.account-section .col-md-2 {
  width: 220px;
  max-width: 220px;
  flex: 0 0 220px;
  padding-right: 16px !important;
}

.account-section .col-md-10 {
  flex: 1 1 0;
  max-width: calc(100% - 220px);
  padding: 22px 24px !important;
  background: var(--wop-card);
  border: 1px solid var(--wop-border);
  border-radius: var(--wop-radius);
  box-shadow: var(--wop-shadow);
  min-height: 420px;
}

@media (max-width: 991px) {
  .account-section .col-md-2,
  .account-section .col-md-10 {
    width: 100%;
    max-width: 100%;
    flex: 1 1 100%;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}

.account-sidebar-nav-title {
  display: none !important;
}

ul.account-sidebar-nav {
  list-style: none;
  margin: 0;
  padding: 10px 8px !important;
  background: var(--wop-card) !important;
  border: 1px solid var(--wop-border) !important;
  border-radius: var(--wop-radius) !important;
  box-shadow: var(--wop-shadow) !important;
  position: sticky;
  top: 16px;
}

ul.account-sidebar-nav > li {
  margin: 0 !important;
  border: 0 !important;
}

ul.account-sidebar-nav > li.role-header {
  padding: 10px 12px 14px !important;
  margin-bottom: 6px !important;
  border-bottom: 1px solid var(--wop-border) !important;
}

ul.account-sidebar-nav > li.role-header > div,
ul.account-sidebar-nav > li.role-header .role-header__name {
  color: var(--wop-navy);
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 6px;
}

ul.account-sidebar-nav > li > a {
  display: flex !important;
  align-items: center;
  gap: 10px;
  padding: 10px 12px !important;
  margin: 2px 0 !important;
  border-radius: var(--wop-radius-sm) !important;
  color: var(--wop-muted) !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  background: transparent !important;
  border: 0 !important;
  transition: background 0.15s ease, color 0.15s ease;
}

ul.account-sidebar-nav > li > a i {
  width: 18px;
  text-align: center;
  color: inherit !important;
  opacity: 0.9;
}

ul.account-sidebar-nav > li:not(.active):hover > a {
  background: var(--wop-blue-soft) !important;
  color: var(--wop-blue) !important;
}

ul.account-sidebar-nav > li.active > a,
ul.account-sidebar-nav > li.active:hover > a {
  background: var(--wop-blue-soft) !important;
  color: var(--wop-blue) !important;
  font-weight: 600 !important;
}

/* Nested cards inside dashboard content stay flat */
.account-section .col-md-10 .wop-dashboard-panel {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
  min-height: 0;
}

.account-section .col-md-10 > .box,
.account-section .col-md-10 > .panel,
.account-section .col-md-10 .box,
.account-section .col-md-10 .panel {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.account-section .nav-tabs {
  border-bottom: 1px solid var(--wop-border) !important;
  margin-bottom: 18px !important;
}

.account-section .nav-tabs > li > a {
  border: 0 !important;
  color: var(--wop-muted) !important;
  border-radius: var(--wop-radius-sm) var(--wop-radius-sm) 0 0 !important;
  font-weight: 500;
}

.account-section .nav-tabs > li.active > a,
.account-section .nav-tabs > li.active > a:hover,
.account-section .nav-tabs > li.active > a:focus {
  color: var(--wop-navy) !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 2px solid var(--wop-blue) !important;
}

.wop-muted-label {
  font-size: 13px;
  color: var(--wop-muted);
  font-weight: 500;
}

.wop-balance-amount,
.wop-package-price {
  font-size: 28px;
  font-weight: 700;
  color: var(--wop-navy);
  line-height: 1.2;
}

.wop-package-price {
  font-size: 22px;
  margin: 4px 0 8px;
}

.wop-section-title {
  color: var(--wop-navy);
  font-weight: 700;
  font-size: 16px;
  margin: 8px 0 14px;
}

.wop-simple-list {
  padding-left: 18px;
  color: var(--primary-text);
}

.wop-balance-card {
  max-width: 420px;
}

.wop-card.h-100 {
  display: flex;
  flex-direction: column;
}

.badge-wop-success {
  background: var(--wop-success) !important;
  color: #fff !important;
  font-weight: 600;
}

.badge-wop-danger {
  background: #c0392b !important;
  color: #fff !important;
  font-weight: 600;
}

.badge-wop-soon {
  background: var(--wop-premium-soft) !important;
  color: #8a6d10 !important;
  border: 1px solid #f0d78a;
  font-weight: 600;
}

ul.account-sidebar-nav > li.sidebar-divider {
  margin-top: 8px !important;
  padding-top: 8px !important;
  border-top: 1px solid var(--wop-border) !important;
}

.customer-balance-sidebar {
  border: 1px solid var(--wop-border) !important;
  border-radius: var(--wop-radius) !important;
  box-shadow: var(--wop-shadow) !important;
}

/* Pages with sidebar but without .account-section (branch orders etc.) */
.row:has(> .col-md-2 .account-sidebar-nav) {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.row:has(> .col-md-2 .account-sidebar-nav) > .col-md-2 {
  width: 220px;
  max-width: 220px;
  flex: 0 0 220px;
  padding-right: 16px !important;
}

.row:has(> .col-md-2 .account-sidebar-nav) > .col-md-10 {
  flex: 1 1 0;
  max-width: calc(100% - 220px);
  background: var(--wop-card);
  border: 1px solid var(--wop-border);
  border-radius: var(--wop-radius);
  box-shadow: var(--wop-shadow);
  padding: 22px 24px !important;
  min-height: 420px;
}

@media (max-width: 991px) {
  .row:has(> .col-md-2 .account-sidebar-nav) > .col-md-2,
  .row:has(> .col-md-2 .account-sidebar-nav) > .col-md-10 {
    width: 100%;
    max-width: 100%;
    flex: 1 1 100%;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}

/* Public catalog surfaces */
.section-title,
.section-header h2,
.page-header h1,
.page-header h2 {
  color: var(--wop-navy);
  font-weight: 700;
}

.navbar-nav > li > a:hover,
.main-nav a:hover {
  color: var(--wop-blue) !important;
}

.label-primary,
.badge-primary {
  background: var(--wop-navy) !important;
}

.label-warning,
.badge-warning {
  background: var(--wop-premium) !important;
  color: #1a2a3a !important;
}

.account-section .nav-tabs {
  border-bottom: 1px solid var(--wop-border) !important;
  margin-bottom: 18px !important;
}

.account-section .nav-tabs > li > a {
  border: 0 !important;
  color: var(--wop-muted) !important;
  border-radius: var(--wop-radius-sm) var(--wop-radius-sm) 0 0 !important;
  font-weight: 500;
}

.account-section .nav-tabs > li.active > a,
.account-section .nav-tabs > li.active > a:hover,
.account-section .nav-tabs > li.active > a:focus {
  color: var(--wop-navy) !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 2px solid var(--wop-blue) !important;
}

/* ---------- Premium accents ---------- */
.wop-premium-card,
.pricing-card.is-premium,
.subscription-card.premium {
  border-color: var(--wop-premium) !important;
  box-shadow: 0 8px 28px rgba(212, 160, 23, 0.18) !important;
}

.badge-premium,
.badge.premium {
  background: var(--wop-premium) !important;
  color: #1a2a3a !important;
}

/* ---------- Alerts ---------- */
.alert {
  border-radius: var(--wop-radius-sm) !important;
  border: 1px solid transparent;
}

.alert-info {
  background: var(--wop-blue-soft) !important;
  border-color: #c9daf8 !important;
  color: var(--wop-navy) !important;
}

/* ---------- Footer ---------- */
.footer,
footer.footer,
.footer-main {
  background: #fff !important;
  border-top: 1px solid var(--wop-border);
  color: var(--wop-muted);
}

/* ---------- Product grids / listing soft polish ---------- */
.product-list-wrapper .product,
.product-info-outer {
  overflow: hidden;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.product-list-wrapper .product:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(18, 42, 69, 0.12) !important;
}

/* ---------- Pagination ---------- */
.pagination > li > a,
.pagination > li > span {
  border-radius: 8px !important;
  margin: 0 3px;
  border-color: var(--wop-border) !important;
  color: var(--wop-navy) !important;
}

.pagination > .active > a,
.pagination > .active > span {
  background: var(--wop-navy) !important;
  border-color: var(--wop-navy) !important;
  color: #fff !important;
}

/* ---------- Modals ---------- */
.modal-content {
  border-radius: var(--wop-radius) !important;
  border: 1px solid var(--wop-border) !important;
  box-shadow: var(--wop-shadow) !important;
}

.modal-header {
  border-bottom-color: var(--wop-border) !important;
}

.modal-footer {
  border-top-color: var(--wop-border) !important;
}

/* ---------- Links ---------- */
a {
  color: var(--wop-blue);
}

a:hover {
  color: var(--wop-navy);
}

/* ---------- Utility helpers for new markup ---------- */
.wop-card {
  background: var(--wop-card);
  border: 1px solid var(--wop-border);
  border-radius: var(--wop-radius);
  box-shadow: var(--wop-shadow);
  padding: 20px;
}

.wop-card-title {
  margin: 0 0 12px;
  color: var(--wop-navy);
  font-size: 18px;
  font-weight: 700;
}

.wop-btn-premium {
  background: var(--wop-premium) !important;
  border-color: var(--wop-premium) !important;
  color: #1a2a3a !important;
  font-weight: 700 !important;
  border-radius: var(--wop-radius-sm) !important;
  padding: 5px;
  display: inline-block;
  margin: 5px 0;
}

/* =========================================================
   WOP HEADER (mockup: logo + search/filters + user cluster)
   ========================================================= */
.wop-header-wrap {
  position: sticky;
  top: 0;
  z-index: 1040;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 8px 26px rgba(12, 43, 78, 0.1);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.wop-header {
  position: relative;
  background: radial-gradient(circle at 8% 0%, rgba(44, 195, 232, 0.11), transparent 28%), linear-gradient(105deg, #fff 0%, #f8fbff 52%, #eef8fc 100%);
  border-bottom: 1px solid rgba(21, 78, 139, 0.16);
}

.wop-header::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #123f7a 0%, #155da8 43%, #25c4e6 76%, rgba(37, 196, 230, 0.12) 100%);
  pointer-events: none;
}

.wop-header__inner {
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 82px;
  padding-top: 12px;
  padding-bottom: 12px;
}

.wop-header__brand {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
  min-width: 0;
}

.wop-header__menu-btn {
  color: var(--wop-navy) !important;
  font-size: 22px;
  line-height: 1;
  padding: 4px;
}

.wop-header__logo {
  display: inline-flex !important;
  align-items: center !important;
  gap: clamp(8px, 1vw, 14px) !important;
  text-decoration: none !important;
  color: var(--wop-navy) !important;
  min-width: 0;
  padding: clamp(5px, 0.5vw, 6px) clamp(7px, 1.1vw, 20px) clamp(5px, 0.5vw, 6px) clamp(5px, 0.5vw, 6px);
  border: 1px solid rgba(21, 93, 168, 0.12);
  border-radius: clamp(14px, 1.35vw, 19px);
  background: rgba(255, 255, 255, 0.76);
  box-shadow: 0 8px 24px rgba(18, 63, 122, 0.09);
  visibility: visible !important;
  opacity: 1 !important;
  transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.wop-header__logo:hover,
.wop-header__logo:focus-visible {
  background: #f4f9ff;
  box-shadow: 0 8px 22px rgba(14, 74, 140, 0.1);
  transform: translateY(-1px);
}

.wop-header__logo img,
.wop-header__mark {
  width: clamp(54px, calc(38px + 3.25vw), 77px) !important;
  height: clamp(51px, calc(36px + 3vw), 72px) !important;
  max-height: none !important;
  max-width: none !important;
  display: block !important;
  object-fit: contain !important;
  padding: 1px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  box-shadow: none;
  filter: drop-shadow(0 5px 8px rgba(10, 58, 119, 0.2)) contrast(1.06) saturate(1.08);
  image-rendering: auto;
  visibility: visible !important;
  opacity: 1 !important;
}

.wop-header__name {
  display: inline-flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  font-size: clamp(14px, calc(8px + 1.65vw), 28px) !important;
  font-weight: 900 !important;
  letter-spacing: 0.055em;
  text-transform: uppercase;
  line-height: 1.05;
  max-width: none;
  white-space: nowrap;
  color: var(--wop-navy) !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
  visibility: visible !important;
  opacity: 1 !important;
}

.wop-header__name-main,
.wop-header__name-accent {
  display: block;
}

.wop-header__name-accent {
  color: var(--wop-blue);
  font-size: 0.84em;
  letter-spacing: 0.19em;
  text-shadow: 0 5px 14px rgba(21, 93, 168, 0.16);
}

@media (max-width: 575px) {
  .wop-header__actions {
    gap: 2px;
  }

  .wop-header__icon-btn {
    width: 34px;
    height: 34px;
  }

  .wop-header__user {
    gap: 6px;
    padding: 2px 4px 2px 2px;
  }

  .wop-header__avatar {
    width: 30px;
    height: 30px;
  }

  .wop-header__logo {
    gap: 8px !important;
    padding-right: 5px;
  }
}

.wop-header__divider {
  width: 1px;
  height: 28px;
  background: var(--wop-border);
  margin: 0 4px;
}

.wop-header__tagline {
  color: var(--wop-muted);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
  max-width: 160px;
  white-space: normal;
}

.wop-header__search {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 720px;
  margin: 0 auto;
}

.wop-search-form {
  margin: 0;
}

.wop-search {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #f3f6fa;
  border: 1px solid var(--wop-border);
  border-radius: 999px;
  padding: 4px 4px 4px 16px;
  min-height: 46px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.wop-search:focus-within {
  border-color: #c5d4e8;
  box-shadow: 0 0 0 3px rgba(47, 111, 237, 0.1);
  background: #fff;
}

.wop-search__icon {
  color: var(--wop-muted);
  font-size: 15px;
  flex: 0 0 auto;
}

.wop-search__input {
  flex: 1 1 auto;
  min-width: 0;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  min-height: 36px !important;
  padding: 0 8px !important;
  color: var(--primary-text) !important;
  font-size: 14px !important;
}

.wop-search__input::placeholder {
  color: #9aabbe;
}

.wop-search__filters-wrap {
  position: relative;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  padding-left: 8px;
  margin-left: 4px;
  border-left: 1px solid #d7e0ec;
}

.wop-search__filters {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0;
  background: transparent;
  color: var(--wop-navy);
  font-weight: 600;
  font-size: 13px;
  padding: 8px 14px;
  border-radius: 999px;
  cursor: pointer;
  white-space: nowrap;
}

.wop-search__filters:hover,
.wop-search__filters[aria-expanded="true"] {
  background: rgba(26, 59, 93, 0.08);
}

.wop-search__filters-menu,
.wop-header__lang-menu,
.wop-header__create-menu,
.wop-header__user-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 220px;
  background: #fff;
  border: 1px solid var(--wop-border);
  border-radius: 12px;
  box-shadow: var(--wop-shadow);
  padding: 8px;
  z-index: 1060;
}

.wop-search__filters-menu a,
.wop-header__lang-menu a,
.wop-header__create-menu a,
.wop-header__user-dropdown a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 8px;
  color: var(--wop-navy) !important;
  text-decoration: none !important;
  font-weight: 500;
  font-size: 13px;
}

.wop-search__filters-menu a:hover,
.wop-header__lang-menu a:hover,
.wop-header__lang-menu a.is-active,
.wop-header__create-menu a:hover,
.wop-header__create-menu a.is-active,
.wop-header__user-dropdown a:hover {
  background: var(--wop-blue-soft);
  color: var(--wop-blue) !important;
}

.wop-header__lang-menu img {
  width: 18px;
  height: 12px;
  object-fit: cover;
}

.wop-header__lang-code {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 24px;
  padding: 0 6px;
  border-radius: 6px;
  background: #eef2f7;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.wop-header__lang-menu a.is-active .wop-header__lang-code,
.wop-header__lang-menu a:hover .wop-header__lang-code {
  background: #fff;
}

.wop-header__lang-full {
  font-weight: 500;
}

.wop-header__actions .dd-container,
.wop-header__lang .dd-container {
  display: none !important;
}

.wop-header__actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  margin-left: auto;
}

.wop-header__icon-btn {
  position: relative;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--wop-navy) !important;
  background: transparent;
  border: 0;
  font-size: 18px;
  text-decoration: none !important;
  cursor: pointer;
  transition: background 0.15s ease;
}

.wop-header__icon-btn:hover {
  background: var(--wop-blue-soft);
  color: var(--wop-blue) !important;
}

.wop-header__badge {
  position: absolute;
  top: 4px;
  right: 4px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 999px;
  background: #e74c3c;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 16px;
  text-align: center;
}

.wop-header__create {
  position: relative;
}

.wop-header__create-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 46px;
  padding: 0 22px;
  border: 0;
  border-radius: 999px;
  background: var(--wop-success);
  color: #fff !important;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  box-shadow: 0 4px 14px rgba(31, 157, 85, 0.35);
  transition: background 0.15s ease, box-shadow 0.15s ease;
}

.wop-header__create-btn:hover,
.wop-header__create-btn[aria-expanded="true"] {
  background: var(--wop-success-deep);
  box-shadow: 0 6px 18px rgba(31, 157, 85, 0.45);
}

.wop-header__create-btn .fa-plus {
  font-size: 17px;
  font-weight: 700;
}

.wop-header__create-caret {
  font-size: 12px;
  opacity: 0.8;
}

.wop-header__create-menu {
  min-width: 260px;
}

.wop-header__create-menu a .fal {
  width: 16px;
  text-align: center;
  opacity: 0.75;
}

.wop-header__lang {
  position: relative;
}

.wop-header__lang-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 40px;
  padding: 0 10px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--wop-navy) !important;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease;
}

.wop-header__lang-btn:hover,
.wop-header__lang-btn[aria-expanded="true"] {
  background: var(--wop-blue-soft);
  color: var(--wop-blue) !important;
}

.wop-header__lang-btn .fal.fa-globe {
  font-size: 16px;
}

.wop-header__lang-caret {
  font-size: 12px;
  opacity: 0.7;
}

.wop-header__lang-label {
  max-width: 90px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wop-header__user-menu {
  position: relative;
}

.wop-header__user {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-left: 4px;
  padding: 4px 10px 4px 4px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer;
  transition: background 0.15s ease;
}

.wop-header__user:hover,
.wop-header__user[aria-expanded="true"] {
  background: #f3f6fa;
}

.wop-header__user-caret {
  font-size: 12px;
  opacity: 0.7;
  color: var(--wop-navy);
}

.wop-header__user-dropdown {
  min-width: 200px;
}

.wop-header__user-dropdown a .fal {
  width: 16px;
  text-align: center;
  opacity: 0.75;
}

.wop-header__user-dropdown--logout {
  margin-top: 4px;
  border-top: 1px solid var(--wop-border);
  border-radius: 0 0 8px 8px !important;
  color: #8a3b3b !important;
}

.wop-header__user-dropdown--logout:hover {
  background: #fdf2f2 !important;
  color: #a12323 !important;
}

.wop-header__avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid var(--wop-border);
  background: #eef3f9;
}

.wop-header__avatar--icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--wop-navy);
  font-size: 16px;
}

.wop-header__user-meta {
  flex-direction: column;
  line-height: 1.15;
  min-width: 0;
}

.wop-header__user-meta strong {
  color: var(--wop-navy);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  max-width: 140px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.wop-header__user-meta small {
  color: var(--wop-muted);
  font-size: 11px;
  font-weight: 500;
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wop-header__user-meta small.is-premium {
  color: var(--wop-premium);
  font-weight: 700;
}

/* Secondary module nav under header */
.wop-primary-nav {
  background: #eef2f7 !important;
  border-bottom: 1px solid var(--wop-border);
  box-shadow: none !important;
}

.wop-primary-nav > .container {
  max-width: 1280px;
}

.wop-nav-list {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  margin: 0 !important;
  padding: 6px 0 !important;
  list-style: none !important;
}

.wop-nav-list > li {
  margin: 0;
  position: relative;
}

.wop-nav-list > li > a.menu-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 14px !important;
  border-radius: 8px !important;
  color: var(--wop-navy) !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  letter-spacing: 0.02em;
  text-transform: none;
  text-decoration: none !important;
  background: transparent !important;
  border: 0 !important;
  white-space: nowrap;
}

.wop-nav-list > li > a.menu-link:hover,
.wop-nav-list > li > a.menu-link.active,
.wop-nav-list > li.is-open > a.menu-link {
  color: var(--wop-blue) !important;
  background: rgba(47, 111, 237, 0.1) !important;
}

.wop-nav-list .nav-caret {
  font-size: 11px;
  opacity: 0.7;
}

.wop-nav-list .nav-create-plus {
  font-size: 11px;
}

.wop-nav-list > li.nav-has-dropdown > .nav-dropdown {
  display: none !important;
  position: absolute;
  top: calc(100% - 2px);
  left: 0;
  min-width: 220px;
  margin: 0;
  padding: 8px;
  list-style: none !important;
  background: #fff;
  border: 1px solid var(--wop-border);
  border-radius: 12px;
  box-shadow: var(--wop-shadow);
  z-index: 1060;
}

.wop-nav-list > li.nav-has-dropdown:hover > .nav-dropdown,
.wop-nav-list > li.nav-has-dropdown.is-open > .nav-dropdown {
  display: block !important;
}

.wop-nav-list > li.nav-has-dropdown > .nav-dropdown > li > a {
  display: block;
  padding: 10px 12px;
  border-radius: 8px;
  color: var(--wop-navy) !important;
  text-decoration: none !important;
  font-size: 13px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
}

.wop-nav-list > li.nav-has-dropdown > .nav-dropdown > li > a:hover,
.wop-nav-list > li.nav-has-dropdown > .nav-dropdown > li > a.is-active {
  background: var(--wop-blue-soft);
  color: var(--wop-blue) !important;
}

.wop-nav-list > li.nav-create-dropdown > .nav-dropdown {
  min-width: 260px;
}

.wop-header__tagline,
.wop-header__divider {
  display: none;
}

@media (min-width: 1200px) {
  .wop-header__tagline {
    display: inline-block;
    color: var(--wop-muted);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.3;
    max-width: 170px;
    white-space: normal;
  }

  .wop-header__divider {
    display: none;
  }
}

.wop-header__user-meta {
  display: none;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.15;
  min-width: 0;
  text-align: left;
}

.wop-header__user-meta strong,
.wop-header__user-meta small {
  display: block;
  width: 100%;
  text-align: left;
}

@media (min-width: 992px) {
  .wop-header__user-meta {
    display: flex;
  }
}

@media (max-width: 991px) {
  body.wop-dash-page .wop-header-wrap--dash .wop-header__inner.container {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .wop-header__lang-label,
  .wop-header__lang-caret {
    display: none;
  }

  .wop-nav-list {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
  }

  .wop-header__inner {
    flex-wrap: wrap;
    min-height: 60px;
    gap: 10px;
  }

  /* Keep the brand and action icons on the same row on phones. */
  .wop-header__brand {
    flex: 1 1 auto;
    min-width: 0;
  }

  .wop-header__actions {
    flex: 0 0 auto;
    margin-left: auto;
  }

  .wop-header__search {
    order: 3;
    flex: 1 1 100%;
    max-width: none;
    display: block;
  }

  .wop-search {
    border-radius: 12px;
    padding-left: 12px;
  }

  .wop-search__filters span {
    display: none;
  }
}

@media (max-width: 575px) {
  .wop-header__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 8px;
  }

  .wop-header__brand {
    grid-column: 1;
    grid-row: 1;
    width: auto;
  }

  .wop-header__actions {
    grid-column: 2;
    grid-row: 1;
    gap: 2px;
    margin-left: 0;
    white-space: nowrap;
  }

  .wop-header__search {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
  }
}

@media (max-width: 420px) {
  .wop-header__logo img,
  .wop-header__mark {
    width: 46px !important;
    height: 43px !important;
  }

  .wop-header__name {
    font-size: 12px !important;
  }

  .wop-header__icon-btn {
    width: 32px;
    height: 32px;
  }

  .wop-header__lang-btn {
    height: 32px;
    padding: 0 8px;
  }

  .wop-header__avatar {
    width: 28px;
    height: 28px;
  }

  .wop-header__user {
    gap: 4px;
    padding-right: 2px;
  }
}

/* Auth pages: align header content with globe/form cards (same shell as .wop-reg__body) */
body.wop-reg-page .wop-header-wrap--auth .wop-header__inner.container,
body.wop-reg-page .wop-header__inner.container {
  width: 100% !important;
  max-width: 1440px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 28px !important;
  padding-right: 28px !important;
  box-sizing: border-box !important;
}

body.wop-reg-page .wop-header-wrap {
  position: sticky;
  top: 0;
  z-index: 1040;
}

/* Keep burger visible on auth and flush with card column */
body.wop-reg-page .wop-header-wrap--auth .header-menu-toggler {
  display: block !important;
}

body.wop-reg-page .wop-header-wrap--auth .wop-header__brand {
  gap: 10px;
}

body.wop-reg-page .wop-header-wrap--auth .wop-header__user--guest {
  display: none !important;
}

@media (max-width: 900px) {
  body.wop-reg-page .wop-header__inner.container,
  body.wop-reg-page .wop-reg__body {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* Screen-reader helper for hidden language select */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* ===== WOP mobile drawer (auth + fallback) ===== */
.wop-mobile-drawer {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2005;
  width: min(320px, 88vw);
  height: 100vh;
  background: #fff;
  border-right: 1px solid var(--wop-border);
  box-shadow: 8px 0 28px rgba(18, 42, 69, 0.12);
  transform: translateX(-105%);
  transition: transform 0.22s ease;
  display: flex;
  flex-direction: column;
  overflow: auto;
}

body.wop-drawer-open .wop-mobile-drawer {
  transform: translateX(0);
}

.wop-mobile-drawer__backdrop {
  position: fixed;
  inset: 0;
  z-index: 2004;
  background: rgba(18, 42, 69, 0.35);
}

.wop-mobile-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px;
  border-bottom: 1px solid var(--wop-border);
}

.wop-mobile-drawer__brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--wop-navy) !important;
  text-decoration: none !important;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.wop-mobile-drawer__brand img {
  width: 36px;
  height: auto;
  display: block;
}

.wop-mobile-drawer__close {
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: #eef2f7;
  color: var(--wop-navy);
  cursor: pointer;
}

.wop-mobile-drawer__nav {
  display: flex;
  flex-direction: column;
  padding: 10px 12px 24px;
}

.wop-mobile-drawer__nav a {
  display: block;
  padding: 12px 10px;
  border-radius: 8px;
  color: var(--wop-navy) !important;
  text-decoration: none !important;
  font-weight: 600;
  font-size: 14px;
}

.wop-mobile-drawer__nav a:hover {
  background: var(--wop-blue-soft);
  color: var(--wop-blue) !important;
}

.wop-mobile-drawer__nav hr {
  border: 0;
  border-top: 1px solid var(--wop-border);
  margin: 8px 0;
}

/* Hide legacy theme mobile menus unless theme style.css positions them.
   On auth pages style.css is absent — without this they render as raw lists. */
body.wop-reg-page .wop-primary-nav {
  display: none !important;
}

/* ===== Dashboard shell (Subscription mockup) ===== */
body.wop-dash-page {
  background: var(--wop-canvas, #f4f7fb);
}

/* Above .wop-dash-sidebar (z-index 50) so header dropdowns are not clipped by it. */
body.wop-dash-page .wrapper > header.header {
  position: sticky;
  top: 0;
  z-index: 60;
  margin-left: 0;
  padding-left: 0;
  background: #fff;
  border-bottom: 1px solid var(--wop-border);
}

body.wop-dash-page .wop-header-wrap--dash .wop-header__inner.container {
  max-width: none;
  width: 100%;
  min-height: 80px;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 12px;
  padding-right: 12px;
}

body.wop-dash-page .wop-header-wrap--dash .header-menu-toggler {
  display: none;
}

body.wop-dash-page .wop-primary-nav {
  display: none !important;
}

body.wop-dash-page .wop-header__logo {
  display: inline-flex !important;
}

body.wop-dash-page .wop-header__divider {
  display: none !important;
}

body.wop-dash-page .wop-header__name {
  display: inline-flex !important;
}

body.wop-dash-page .wop-header__brand {
  flex: 0 0 auto;
  min-width: 0;
  padding-right: 0;
  border-right: 0;
}

body.wop-dash-page .footer .footer-newsletter-box,
body.wop-dash-page .footer .footer-content {
  display: none !important;
}

body.wop-dash-page .footer {
  display: none !important;
}

body.wop-dash-page footer,
body.wop-dash-page .copyright-area {
  display: none !important;
}

body.wop-dash-page .wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

/* Mockup chrome only — workspace links stay in DOM for role tests / deep links */
body.wop-dash-page .wop-dash .wop-dash-sidebar__workspace {
  display: none;
}

body.wop-dash-page .wop-dash-sidebar__brand {
  display: none;
}

body.wop-dash-page #content-wrapper {
  flex: 1 1 auto;
  margin-left: 260px;
  min-height: 0;
  overflow-x: hidden;
}

body.wop-dash-page .footer,
body.wop-dash-page .copyright {
  margin-left: 260px;
}

body.wop-dash-page .copyright {
  flex: 0 0 auto;
}

.wop-dash {
  display: block;
  min-height: 60vh;
}

.wop-dash-sidebar {
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(circle at 12% 0%, rgba(44, 195, 232, 0.11), transparent 30%),
    linear-gradient(105deg, #fff 0%, #f8fbff 52%, #eef8fc 100%);
  padding: 18px 14px 16px;
  overflow-y: auto;
}

body.wop-dash-page .wop-dash > .wop-dash-sidebar {
  position: fixed;
  top: 0;
  left: 0;
  width: 260px;
  height: 100vh;
  /* Header offset (98px) plus a 16px visual gap. */
  padding-top: 114px;
  z-index: 50;
  border-right: 1px solid var(--wop-border);
}

.wop-dash-sidebar__brand {
  padding: 4px 4px 22px;
  flex: 0 0 auto;
}

.wop-dash-sidebar__logo {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 10px 10px;
  border: 1px solid rgba(21, 93, 168, 0.12);
  border-radius: 14px;
  background: linear-gradient(135deg, #fff 0%, #f2f9ff 100%);
  box-shadow: 0 8px 22px rgba(18, 63, 122, 0.1);
  text-decoration: none !important;
  color: var(--wop-navy) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.wop-dash-sidebar__logo:hover,
.wop-dash-sidebar__logo:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 11px 26px rgba(18, 63, 122, 0.14);
}

.wop-dash-sidebar__logo img {
  width: 68px;
  height: 64px;
  object-fit: contain;
  flex: 0 0 auto;
  filter: drop-shadow(0 4px 6px rgba(10, 58, 119, 0.18));
}

.wop-dash-sidebar__brand-name {
  display: flex;
  flex-direction: column;
  gap: 1px;
  color: var(--wop-navy);
  font-size: 17px;
  font-weight: 900;
  letter-spacing: 0.055em;
  line-height: 1.05;
  white-space: nowrap;
}

.wop-dash-sidebar__brand-name strong {
  color: var(--wop-blue);
  font-size: 0.84em;
  letter-spacing: 0.2em;
}

@media (max-width: 575px) {
  .wop-dash-sidebar__brand {
    padding-bottom: 16px;
  }

  .wop-dash-sidebar__logo {
    gap: 10px;
    padding: 7px 8px;
  }

  .wop-dash-sidebar__logo img {
    width: 56px;
    height: 53px;
  }

  .wop-dash-sidebar__brand-name {
    font-size: 14px;
  }
}

.wop-dash-sidebar__nav {
  flex: 0 0 auto;
}

.wop-dash-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.wop-dash-menu > li > a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  margin: 2px 0;
  border-radius: 10px;
  color: #5b6b7c !important;
  text-decoration: none !important;
  font-size: 13.5px;
  font-weight: 500;
}

.wop-dash-menu > li > a i {
  width: 18px;
  text-align: center;
  opacity: 0.85;
}

.wop-dash-menu > li > a:hover {
  background: var(--wop-blue-soft);
  color: var(--wop-blue) !important;
}

.wop-dash-menu > li.is-active > a {
  background: var(--wop-blue-soft);
  color: var(--wop-blue) !important;
  font-weight: 650;
}

.wop-dash-menu__badge {
  margin-left: auto;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--wop-blue);
  color: #fff;
  font-style: normal;
  font-size: 11px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.wop-dash-sidebar__workspace {
  margin-top: 14px;
  padding-top: 10px;
  border-top: 1px solid var(--wop-border);
  flex: 1 1 auto;
}

body.wop-dash-page .wop-dash .wop-dash-sidebar__workspace ul.account-sidebar-nav {
  position: static;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.wop-dash-page .wop-dash .wop-dash-sidebar__workspace .role-header {
  display: none !important;
}

.wop-dash-premium {
  margin-top: 14px;
  border-radius: 14px;
  overflow: hidden;
  background: linear-gradient(160deg, #e8f1fb 0%, #d6e8f8 100%);
  border: 1px solid #c9dcf0;
  flex: 0 0 auto;
}

.wop-dash-premium__media {
  height: 72px;
  background-size: cover;
  background-position: center;
}

.wop-dash-premium__body {
  padding: 12px 14px 14px;
}

.wop-dash-premium__body strong {
  display: block;
  color: var(--wop-navy);
  font-size: 14px;
  margin-bottom: 4px;
}

.wop-dash-premium__body p {
  margin: 0 0 10px;
  font-size: 12px;
  color: #5b6b7c;
  line-height: 1.35;
}

.wop-dash-premium__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 8px 12px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid var(--wop-blue);
  color: var(--wop-blue) !important;
  font-weight: 650;
  font-size: 13px;
  text-decoration: none !important;
}

.wop-dash-premium__btn:hover {
  background: var(--wop-blue);
  color: #fff !important;
}

.wop-dash__main {
  padding: 8px 28px 40px;
}

.wop-dash__notice {
  margin: 12px 0 0;
}

.wop-dash__content {
  padding-top: 8px;
}

/* Nested account pages still using col-md-2: hide duplicate fixed sidebar offset */
body.wop-dash-page .account-section .col-md-2 .wop-dash-sidebar,
body.wop-dash-page .row > .col-md-2 .wop-dash-sidebar {
  position: sticky;
  top: 16px;
  width: 100%;
  height: auto;
  max-height: calc(100vh - 32px);
  border: 1px solid var(--wop-border);
  border-radius: var(--wop-radius);
  box-shadow: var(--wop-shadow);
}

/* Support for zcart_admintopnav (SuperAdmin topbar) offset */
body:has(#zcart_admintopnav) .wop-dash-sidebar,
body:has(#zcart_admintopnav) .account-section .col-md-2 .wop-dash-sidebar,
body:has(#zcart_admintopnav) .row > .col-md-2 .wop-dash-sidebar {
  top: 45px !important;
  max-height: calc(100vh - 60px) !important;
}

body:has(#zcart_admintopnav).wop-dash-page .wop-dash > .wop-dash-sidebar {
  top: 30px !important;
  height: calc(100vh - 30px) !important;
}

body.wop-dash-page .account-section .col-md-2,
body.wop-dash-page .row > .col-md-2:has(.wop-dash-sidebar) {
  width: 260px;
  max-width: 260px;
  flex: 0 0 260px;
}

/* When sidebar is inside a column (non-dashboard.blade), don't also use page margin for a second fixed bar */
body.wop-dash-page:has(.account-section .wop-dash-sidebar) .wrapper > header.header,
body.wop-dash-page:has(.row > .col-md-2 .wop-dash-sidebar) .wrapper > header.header,
body.wop-dash-page:has(.account-section .wop-dash-sidebar) #content-wrapper,
body.wop-dash-page:has(.row > .col-md-2 .wop-dash-sidebar) #content-wrapper,
body.wop-dash-page:has(.account-section .wop-dash-sidebar) .footer,
body.wop-dash-page:has(.row > .col-md-2 .wop-dash-sidebar) .footer,
body.wop-dash-page:has(.account-section .wop-dash-sidebar) .copyright,
body.wop-dash-page:has(.row > .col-md-2 .wop-dash-sidebar) .copyright {
  margin-left: 0;
}

/* ===== Subscription page ===== */
.wop-sub__title {
  margin: 0 0 6px;
  color: var(--wop-navy);
  font-size: 26px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.wop-sub__lead {
  margin: 0 0 22px;
  color: #6b7a8c;
  font-size: 14px;
  max-width: 640px;
}

.wop-sub__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 22px;
  align-items: start;
}

.wop-sub-section {
  margin-bottom: 28px;
  background: #fff;
  border: 1px solid var(--wop-border);
  border-radius: 14px;
  padding: 20px 22px;
  box-shadow: var(--wop-shadow);
}

.wop-sub-section__title {
  margin: 0 0 6px;
  color: var(--wop-navy);
  font-size: 15px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.wop-sub-section__desc {
  margin: 0 0 16px;
  color: #6b7a8c;
  font-size: 13px;
}

.wop-sub-agent,
.wop-sub-pubs {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 200px;
  gap: 18px;
  align-items: start;
}

.wop-sub-agent {
  grid-template-columns: minmax(0, 1fr) 180px 200px;
}

.wop-sub-cards {
  display: grid;
  gap: 12px;
}

.wop-sub-cards--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.wop-sub-card {
  background: #fff;
  border: 1px solid var(--wop-border);
  border-radius: 12px;
  padding: 14px 12px 12px;
  text-align: center;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.wop-sub-card.is-featured {
  border-color: var(--wop-premium, #f0b429);
  box-shadow: 0 0 0 1px rgba(240, 180, 41, 0.25);
}

.wop-sub-card__icon {
  width: 42px;
  height: 42px;
  margin: 0 auto 8px;
  border-radius: 50%;
  background: var(--wop-blue-soft);
  color: var(--wop-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}

.wop-sub-card.is-featured .wop-sub-card__icon {
  background: var(--wop-premium-soft, #fff6d9);
  color: #b8860b;
}

.wop-sub-card__name {
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 800;
  color: var(--wop-navy);
  letter-spacing: 0.02em;
}

.wop-sub-card__price {
  font-size: 22px;
  font-weight: 800;
  color: var(--wop-navy);
  line-height: 1.1;
}

.wop-sub-card__period {
  color: #7a8899;
  font-size: 12px;
  margin: 4px 0 12px;
  min-height: 32px;
}

.wop-sub-card__period small {
  display: block;
  margin-top: 2px;
}

.wop-sub-card__btn {
  margin-top: auto;
  width: 100%;
  border: 1px solid var(--wop-blue);
  background: #fff;
  color: var(--wop-blue);
  border-radius: 8px;
  padding: 8px 10px;
  font-weight: 650;
  font-size: 13px;
  cursor: pointer;
}

.wop-sub-card__btn:hover {
  background: var(--wop-blue);
  color: #fff;
}

.wop-sub-card__btn.is-premium {
  background: var(--wop-premium, #f0b429);
  border-color: var(--wop-premium, #f0b429);
  color: #1a2b3c;
}

.wop-sub-card__btn.is-premium:hover {
  filter: brightness(0.96);
  color: #1a2b3c;
}

.wop-sub-checklist {
  list-style: none;
  margin: 0;
  padding: 0;
}

.wop-sub-checklist li {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  margin: 0 0 8px;
  font-size: 12.5px;
  color: #3d4d5c;
  line-height: 1.35;
}

.wop-sub-checklist li i {
  color: var(--wop-blue);
  margin-top: 2px;
}

.wop-sub-globe {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  min-height: 180px;
  background: #0b1f33;
}

.wop-sub-globe img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  min-height: 180px;
  opacity: 0.92;
}

.wop-sub-globe__dot {
  position: absolute;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid var(--wop-blue);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.wop-sub-globe__dot--1 { top: 22%; left: 28%; }
.wop-sub-globe__dot--2 { top: 38%; left: 62%; }
.wop-sub-globe__dot--3 { top: 58%; left: 40%; }
.wop-sub-globe__dot--4 { top: 48%; left: 18%; }

.wop-sub-included {
  grid-column: 2;
}

.wop-sub-included h3 {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--wop-navy);
  letter-spacing: 0.03em;
}

.wop-sub-pubs .wop-sub-cards {
  grid-column: 1;
}

.wop-sub-table-wrap {
  overflow-x: auto;
}

.wop-sub-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12.5px;
}

.wop-sub-table th,
.wop-sub-table td {
  padding: 10px 8px;
  border-bottom: 1px solid var(--wop-border);
  text-align: center;
  color: #3d4d5c;
}

.wop-sub-table th:first-child,
.wop-sub-table td:first-child {
  text-align: left;
  font-weight: 600;
  color: var(--wop-navy);
  white-space: nowrap;
}

.wop-sub-table thead th {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: #6b7a8c;
  font-weight: 700;
}

.wop-sub-check {
  color: #1f9d55;
  font-weight: 800;
}

.wop-sub-dash {
  color: #b0bac5;
}

.wop-sub-widget {
  background: #fff;
  border: 1px solid var(--wop-border);
  border-radius: 14px;
  padding: 18px;
  box-shadow: var(--wop-shadow);
  margin-bottom: 16px;
}

.wop-sub-widget__title {
  margin: 0 0 14px;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--wop-navy);
}

.wop-sub-benefits {
  list-style: none;
  margin: 0;
  padding: 0;
}

.wop-sub-benefits li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 0 0 12px;
  font-size: 13px;
  color: #3d4d5c;
  line-height: 1.35;
}

.wop-sub-benefits li i {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: var(--wop-blue-soft);
  color: var(--wop-blue);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.wop-sub-help {
  background: linear-gradient(165deg, #eaf3fb, #d9e9f7);
  border-color: #c5daf0;
  position: relative;
  overflow: hidden;
}

.wop-sub-help p {
  margin: 0 0 14px;
  font-size: 13px;
  color: #3d4d5c;
}

.wop-sub-help__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--wop-navy) 0%, var(--wop-blue) 100%);
  border: 1px solid var(--wop-blue);
  color: #fff !important;
  box-shadow: 0 6px 14px rgba(47, 111, 237, 0.22);
  font-weight: 650;
  font-size: 13px;
  text-decoration: none !important;
}

.wop-sub-help__btn:hover,
.wop-sub-help__btn:focus {
  background: linear-gradient(135deg, var(--wop-navy) 0%, var(--wop-blue) 100%);
  border-color: var(--wop-blue);
  color: #fff !important;
}

.wop-sub-help__art {
  margin-top: 18px;
  text-align: right;
  font-size: 48px;
  color: rgba(26, 59, 93, 0.2);
}

.wop-sub-wallet {
  padding: 0;
}

.wop-sub-wallet__details {
  padding: 14px 18px;
}

.wop-sub-wallet__details summary {
  cursor: pointer;
  color: var(--wop-navy);
  font-weight: 600;
  list-style: none;
}

.wop-sub-wallet__details summary::-webkit-details-marker {
  display: none;
}

.wop-sub-wallet__body {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--wop-border);
}

.wop-sub-wallet__topup {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 8px;
  max-width: 320px;
}

.wop-footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none !important;
  color: var(--wop-navy) !important;
  font-weight: 800;
  font-size: 13px;
}

.wop-footer-brand img {
  width: 44px;
  height: auto;
}

@media (max-width: 1199px) {
  .wop-sub__layout {
    grid-template-columns: 1fr;
  }

  .wop-sub-agent,
  .wop-sub-pubs {
    grid-template-columns: 1fr;
  }

  .wop-sub-globe {
    max-width: 280px;
  }
}

@media (max-width: 991px) {
  body.wop-dash-page .wrapper > header.header,
  body.wop-dash-page #content-wrapper,
  body.wop-dash-page .footer,
  body.wop-dash-page .copyright {
    margin-left: 0;
  }

  body.wop-dash-page .wrapper > header.header {
    padding-left: 0;
  }

  body.wop-dash-page .wop-header__brand {
    flex-basis: auto;
    min-width: 0;
    padding-right: 0;
    border-right: 0;
  }

  body.wop-dash-page .wop-header__divider,
  body.wop-dash-page .wop-header__tagline {
    display: none !important;
  }

  body.wop-dash-page .wop-dash > .wop-dash-sidebar {
    position: relative;
    width: 100%;
    height: auto;
    padding-top: 18px;
    border-right: 0;
    border-bottom: 1px solid var(--wop-border);
    margin-bottom: 12px;
  }

  .wop-sub-cards--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575px) {
  .wop-sub-cards--4 {
    grid-template-columns: 1fr;
  }

  .wop-dash__main {
    padding: 8px 14px 28px;
  }
}

/* ===== Dashboard home ===== */
.wop-home-hero {
  margin-bottom: 18px;
}

.wop-home-hero__user {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 18px;
}

.wop-home-hero__avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--wop-blue-soft);
  border: 2px solid #fff;
  box-shadow: var(--wop-shadow);
}

.wop-home-hero__name {
  margin: 0;
  font-size: 22px;
  font-weight: 800;
  color: var(--wop-navy);
  display: flex;
  align-items: center;
  gap: 8px;
}

.wop-home-hero__edit {
  color: var(--wop-blue) !important;
  font-size: 14px;
}

.wop-home-hero__meta {
  margin: 4px 0 0;
  color: #6b7a8c;
  font-size: 13px;
}

.wop-home-hero__meta .is-premium {
  color: #b8860b;
  font-weight: 700;
}

.wop-home-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.wop-home-stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px;
  border-radius: 12px;
  background: #f7fafc;
  border: 1px solid var(--wop-border);
  text-decoration: none !important;
  color: inherit !important;
  text-align: center;
}

.wop-home-stat:hover {
  border-color: #c5daf0;
  background: var(--wop-blue-soft);
}

.wop-home-stat strong {
  font-size: 20px;
  color: var(--wop-navy);
  line-height: 1.1;
}

.wop-home-stat span {
  font-size: 12px;
  color: #6b7a8c;
}

.wop-home-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 18px;
}

.wop-home-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.wop-home-panel__head h2 {
  margin: 0;
  font-size: 15px;
  font-weight: 800;
  color: var(--wop-navy);
}

.wop-home-panel__head a {
  font-size: 12px;
  font-weight: 600;
  color: var(--wop-blue) !important;
}

.wop-home-empty {
  margin: 0;
  color: #8a97a6;
  font-size: 13px;
}

.wop-home-wish {
  list-style: none;
  margin: 0;
  padding: 0;
}

.wop-home-wish li {
  padding: 8px 0;
  border-bottom: 1px solid var(--wop-border);
}

.wop-home-wish li:last-child {
  border-bottom: 0;
}

.wop-home-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

@media (max-width: 991px) {
  .wop-home-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wop-home-grid {
    grid-template-columns: 1fr;
  }
}

/* ===== Marketplace / listings catalog ===== */
.wop-catalog {
  background: var(--wop-canvas, #f4f7fb);
  padding: 18px 0 40px;
}

.wop-catalog__inner {
  max-width: 1440px;
}

.wop-catalog__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}

.wop-catalog__tab {
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px solid var(--wop-border);
  background: #fff;
  color: var(--wop-navy) !important;
  font-size: 13px;
  font-weight: 650;
  text-decoration: none !important;
  line-height: 1.2;
}

.wop-catalog__tab:hover {
  border-color: #c5daf0;
  background: var(--wop-blue-soft);
  color: var(--wop-blue) !important;
}

.wop-catalog__tab.is-active {
  background: linear-gradient(135deg, var(--wop-navy) 0%, var(--wop-blue) 100%);
  border-color: var(--wop-blue);
  box-shadow: 0 6px 14px rgba(47, 111, 237, 0.24);
  color: #fff !important;
}

.wop-catalog .product-list-wrapper > .wop-catalog-filters,
.wop-catalog .product-list-wrapper > .col-xl-2 {
  background: #fff;
  border: 1px solid var(--wop-border) !important;
  border-radius: 12px !important;
  padding: 14px 12px !important;
  box-shadow: var(--wop-shadow);
}

.wop-catalog .category-filters h3,
.wop-catalog .category-filters-section h3 {
  color: var(--wop-navy);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.wop-catalog .category-filters > h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--wop-border);
}

.wop-catalog .category-filters > h3 .clear-filter {
  margin-left: auto;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  color: #8a97a6 !important;
}

/* Country filter — multiselect dropdown */
.wop-ms {
  position: relative;
}

.wop-ms__btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid var(--wop-border, #d7dee8);
  border-radius: 8px;
  background: #fff;
  color: var(--wop-navy, #1a2b3c);
  font-size: 13px;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}

.wop-ms__btn:hover,
.wop-ms.is-open .wop-ms__btn {
  border-color: var(--wop-red, #e31c23);
}

.wop-ms__label {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wop-ms__caret {
  font-size: 11px;
  color: #8a97a6;
  transition: transform 0.15s ease;
}

.wop-ms.is-open .wop-ms__caret {
  transform: rotate(180deg);
}

.wop-ms__panel {
  position: absolute;
  z-index: 40;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  padding: 8px;
  border: 1px solid var(--wop-border, #d7dee8);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(26, 43, 60, 0.12);
}

.wop-ms__options {
  max-height: 220px;
  overflow-y: auto;
  margin-bottom: 8px;
}

.wop-ms__option {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0;
  padding: 7px 6px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  color: var(--wop-navy, #1a2b3c);
  cursor: pointer;
}

.wop-ms__option:hover {
  background: #f4f7fb;
}

.wop-ms__option input {
  margin-top: 2px;
  flex-shrink: 0;
}

.wop-ms__apply {
  margin-top: 2px;
  background: linear-gradient(135deg, var(--wop-navy) 0%, var(--wop-blue) 100%) !important;
  border-color: var(--wop-blue) !important;
  box-shadow: 0 6px 14px rgba(47, 111, 237, 0.22);
  color: #fff !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.wop-ms__apply:hover,
.wop-ms__apply:focus {
  background: linear-gradient(135deg, var(--wop-blue) 0%, #25c4e6 100%) !important;
  box-shadow: 0 8px 18px rgba(47, 111, 237, 0.3);
  color: #fff !important;
  transform: translateY(-1px);
}

/* Listing detail — badges must not overlay the title */
.wop-catalog--legacy .product-single .product-info {
  position: relative;
}

.wop-catalog--legacy .product-single .wop-listing-labels,
.wop-catalog--legacy .product-single .product-info-labels.wop-listing-labels {
  position: static;
  top: auto;
  left: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 12px;
  padding: 0;
  list-style: none;
  z-index: auto;
}

.wop-catalog--legacy .product-single .wop-listing-labels > li {
  display: inline-flex;
  align-items: center;
  margin: 0;
  border-radius: 999px;
  padding: 5px 12px;
  line-height: 1.2;
}

.wop-catalog--legacy .seller-info .wop-listing-share {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  margin-top: 12px;
}

.wop-catalog--legacy .seller-info .wop-listing-share > span {
  justify-content: flex-end;
}

/* Listing detail — contact widgets */
.wop-contact-widgets {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.wop-contact-widget-form {
  margin: 0;
}

.wop-contact-widget {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 42px;
  padding: 10px 14px;
  border: 1px solid var(--wop-border, #d7dee8);
  border-radius: 10px;
  background: #fff;
  color: var(--wop-navy, #1a2b3c);
  font-size: 13px;
  font-weight: 600;
  text-align: left;
  text-decoration: none !important;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

button.wop-contact-widget {
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}

.wop-contact-widget:hover {
  border-color: var(--wop-red, #e31c23);
  background: #fff7f7;
  color: var(--wop-navy, #1a2b3c);
}

.wop-contact-widget i {
  width: 18px;
  text-align: center;
  color: var(--wop-red, #e31c23);
  flex-shrink: 0;
}

.wop-contact-widget span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wop-contact-widget--whatsapp i { color: #25d366; }
.wop-contact-widget--telegram i { color: #2aabee; }
.wop-contact-widget--request {
  background: var(--wop-navy, #1a2b3c);
  border-color: var(--wop-navy, #1a2b3c);
  color: #fff !important;
}

.wop-contact-widget--request i {
  color: #fff;
}

.wop-contact-widget--request:hover {
  background: var(--wop-red, #e31c23);
  border-color: var(--wop-red, #e31c23);
  color: #fff !important;
}


.wop-catalog .product-list-top-filter {
  background: #fff;
  border: 1px solid var(--wop-border) !important;
  border-radius: 12px !important;
  box-shadow: var(--wop-shadow);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 18px;
  min-height: 52px;
}

.wop-catalog .product-list-top-filter .checkbox {
  margin: 0;
}

.wop-catalog .product-list-top-filter .viewSwitcher.btn-primary {
  background: linear-gradient(135deg, var(--wop-navy) 0%, var(--wop-blue) 100%) !important;
  border-color: var(--wop-blue) !important;
  box-shadow: 0 6px 14px rgba(47, 111, 237, 0.22) !important;
}

.wop-catalog .product {
  background: #fff;
  border-color: var(--wop-border) !important;
  border-radius: 12px !important;
  overflow: hidden;
  box-shadow: var(--wop-shadow);
}

.wop-catalog .product:hover {
  border-color: #c5daf0 !important;
  box-shadow: 0 8px 24px rgba(26, 59, 93, 0.08);
}

.wop-catalog .product-info-title {
  color: var(--wop-navy) !important;
  font-weight: 650;
}

/* Listing cards — badges in flow, views instead of stars */
.wop-catalog .wop-listing-card .wop-card-labels,
.wop-catalog .wop-listing-card .product-info-labels.wop-card-labels {
  position: static;
  top: auto;
  left: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 8px;
  padding: 0;
  list-style: none;
  z-index: auto;
}

.wop-catalog .wop-listing-card .wop-card-labels > li {
  display: inline-flex;
  align-items: center;
  margin: 0;
  border-radius: 999px;
  padding: 4px 10px;
  line-height: 1.2;
}

.wop-catalog .wop-card-views {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 8px;
  color: #6b7c8f;
  font-size: 13px;
  font-weight: 600;
}

.wop-catalog .wop-card-views i {
  color: var(--wop-navy, #1a2b3c);
}

/* Listing cards — action row: equal inset from left and bottom */
.wop-catalog .wop-listing-card .product.product-grid-view {
  --wop-card-gutter: 12px;
  padding: 0 !important;
}

.wop-catalog .wop-listing-card .product.product-grid-view .product-actions {
  left: var(--wop-card-gutter);
  right: var(--wop-card-gutter);
  bottom: var(--wop-card-gutter);
  width: auto;
  height: 40px;
  padding: 0;
}

.wop-catalog .wop-listing-card .product.product-grid-view .product-info {
  padding: var(--wop-card-gutter) var(--wop-card-gutter) calc(var(--wop-card-gutter) + 44px);
}

.wop-catalog .wop-listing-card .product.product-grid-view .product-info-feature-list {
  right: var(--wop-card-gutter);
  bottom: var(--wop-card-gutter);
}

.wop-catalog-empty {
  text-align: center;
  padding: 64px 20px 72px;
  background: #fff;
  border: 1px solid var(--wop-border);
  border-radius: 14px;
  box-shadow: var(--wop-shadow);
}

.wop-catalog-empty__icon {
  width: 72px;
  height: 72px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: var(--wop-blue-soft);
  color: var(--wop-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
}

.wop-catalog-empty__title {
  margin: 0 0 8px;
  font-size: 28px;
  font-weight: 700;
  color: #9aa6b2;
  letter-spacing: -0.02em;
}

.wop-catalog-empty__hint {
  margin: 0 0 20px;
  color: #6b7a8c;
  font-size: 14px;
}

.wop-catalog-empty__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

.wop-catalog-empty__actions .btn-primary {
  background: linear-gradient(135deg, var(--wop-navy) 0%, var(--wop-blue) 100%) !important;
  border-color: var(--wop-blue) !important;
  box-shadow: 0 6px 14px rgba(47, 111, 237, 0.22) !important;
  padding: 10px 18px;
  border-radius: 8px;
  font-weight: 650;
}

.wop-catalog .pagenav-wrapper {
  margin-top: 8px;
}

.wop-catalog .product-list-wrapper > .col-xl-10 {
  padding-left: 18px;
}

@media (max-width: 991px) {
  .wop-catalog .product-list-wrapper > .col-xl-10 {
    padding-left: 15px;
  }
}

/* ===== Auctions catalog ===== */
.wop-auction-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
  padding: 14px 16px;
}

.wop-auction-toolbar__title {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--wop-navy);
  font-weight: 800;
  font-size: 15px;
}

.wop-auction-toolbar__title i {
  color: var(--wop-blue);
}

.wop-auction-card {
  background: #fff;
  border: 1px solid var(--wop-border);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--wop-shadow);
  height: 100%;
  display: flex;
  flex-direction: column;
}

.wop-auction-card:hover {
  border-color: #c5daf0;
  box-shadow: 0 8px 24px rgba(26, 59, 93, 0.08);
}

.wop-auction-card__media {
  position: relative;
  display: block;
  height: 180px;
  background: #eef3f8;
  text-decoration: none !important;
}

.wop-auction-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wop-auction-card__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9aa6b2;
  font-size: 36px;
}

.wop-auction-card__badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background: var(--wop-navy);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 8px;
  border-radius: 6px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.wop-auction-card__body {
  padding: 12px 14px 14px;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.wop-auction-card__title {
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  min-height: 38px;
}

.wop-auction-card__title a {
  color: var(--wop-navy) !important;
  text-decoration: none !important;
}

.wop-auction-card__bid {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 4px;
}

.wop-auction-card__bid span {
  color: #6b7a8c;
  font-size: 12px;
}

.wop-auction-card__bid strong {
  color: var(--wop-navy);
  font-size: 16px;
}

.wop-auction-card__buynow,
.wop-auction-card__ends {
  color: #6b7a8c;
  font-size: 12px;
  margin-top: 2px;
}

.wop-auction-card__ends i {
  margin-right: 4px;
}

.wop-auction-card .btn-primary {
  margin-top: auto;
  background: var(--wop-navy) !important;
  border-color: var(--wop-navy) !important;
}

.wop-auction-pagination {
  margin-top: 8px;
}

/* Catalog inside Subscription-style app shell */
.wop-catalog--shell {
  background: transparent;
  padding: 0;
}

.wop-catalog--shell .wop-catalog__hero {
  margin-bottom: 16px;
}

.wop-catalog__title {
  margin: 0 0 6px;
  color: var(--wop-navy);
  font-size: 24px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.wop-catalog__lead {
  margin: 0 0 4px;
  color: #6b7a8c;
  font-size: 14px;
  max-width: 640px;
}

body.wop-dash-page .wop-dash .wop-catalog .product-list-wrapper {
  margin-left: 0;
  margin-right: 0;
}

body.wop-dash-page .wop-dash__content .wop-catalog-empty {
  margin-top: 8px;
}

/* Business for Sale */
.wop-catalog__hero--row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.wop-catalog__hero--row .btn-primary {
  background: linear-gradient(135deg, var(--wop-navy) 0%, var(--wop-blue) 100%) !important;
  border-color: var(--wop-blue) !important;
  box-shadow: 0 6px 14px rgba(47, 111, 237, 0.22) !important;
}

.wop-section-create-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 0 22px;
  border: 1px solid var(--wop-success);
  border-radius: 8px;
  background: var(--wop-success);
  color: #fff !important;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(31, 157, 85, 0.28);
  transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.wop-section-create-btn:hover,
.wop-section-create-btn:focus {
  border-color: var(--wop-success-deep);
  background: var(--wop-success-deep);
  color: #fff !important;
  box-shadow: 0 6px 18px rgba(31, 157, 85, 0.38);
}

@media (max-width: 575px) {
  .wop-catalog__hero--row .wop-section-create-btn {
    width: 100%;
  }
}

.wop-business-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: flex-start;
  padding: 14px 16px;
  margin-bottom: 8px;
}

.wop-business-filters .form-control,
.wop-business-filters .ts-wrapper {
  max-width: 260px;
  min-width: 180px;
  flex: 1 1 180px;
}

.wop-business-filters .ts-wrapper {
  max-width: 320px;
}

.wop-business-filters .ts-wrapper.multi .ts-control {
  min-height: 38px;
  border-radius: 8px;
}

.wop-business-filters .ts-wrapper.single .ts-control {
  min-height: 38px;
  border-radius: 8px;
}

.wop-business-filters__hint {
  margin-top: 0;
}

.wop-business-card {
  background: #fff;
  border: 1px solid var(--wop-border);
  border-radius: 12px;
  box-shadow: var(--wop-shadow);
  height: 100%;
}

.wop-business-card:hover {
  border-color: #c5daf0;
}

.wop-business-card__body {
  padding: 16px;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.wop-business-card__title {
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 750;
  line-height: 1.3;
}

.wop-business-card__title a {
  color: var(--wop-navy) !important;
  text-decoration: none !important;
}

.wop-business-card__meta {
  color: #6b7a8c;
  font-size: 12px;
  margin-bottom: 8px;
}

.wop-business-card__desc {
  color: #3d4d5c;
  font-size: 13px;
  line-height: 1.4;
  margin-bottom: 10px;
  flex: 1 1 auto;
}

.wop-business-card__price {
  font-size: 16px;
  font-weight: 800;
  color: var(--wop-navy);
  margin-bottom: 10px;
}

.wop-business-card .btn-primary {
  background: var(--wop-navy) !important;
  border-color: var(--wop-navy) !important;
  align-self: flex-start;
}

.wop-back-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #6b7a8c !important;
  text-decoration: none !important;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 12px;
}

.wop-back-link:hover {
  color: var(--wop-blue) !important;
}

/* Tenders public catalog */
.wop-tender-filters__title {
  margin: 0 0 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--wop-border);
  color: var(--wop-navy);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.wop-tender-filters .form-group {
  margin-bottom: 12px;
}

.wop-tender-filters label {
  font-size: 12px;
  font-weight: 650;
  color: #5b6b7c;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.wop-tender-filters .btn-primary,
.wop-services-filters .btn-primary {
  background: linear-gradient(135deg, var(--wop-navy) 0%, var(--wop-blue) 100%) !important;
  border-color: var(--wop-blue) !important;
  box-shadow: 0 6px 14px rgba(47, 111, 237, 0.22) !important;
  margin-top: 6px;
}

.wop-tender-card {
  display: flex;
  gap: 18px;
  background: #fff;
  border: 1px solid var(--wop-border);
  border-radius: 12px;
  box-shadow: var(--wop-shadow);
  padding: 16px 18px;
  margin-bottom: 12px;
}

.wop-tender-card:hover {
  border-color: #c5daf0;
}

.wop-tender-card__main {
  flex: 1 1 auto;
  min-width: 0;
}

.wop-tender-card__aside {
  flex: 0 0 200px;
  text-align: right;
}

.wop-tender-card__title {
  margin: 0 0 8px;
  font-size: 17px;
  font-weight: 750;
}

.wop-tender-card__title a {
  color: var(--wop-navy) !important;
  text-decoration: none !important;
}

.wop-tender-card__desc {
  margin: 0 0 10px;
  color: #3d4d5c;
  font-size: 13px;
  line-height: 1.45;
}

.wop-tender-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  color: #6b7a8c;
  font-size: 12px;
}

.wop-tender-card__deadline {
  font-size: 12px;
  color: #6b7a8c;
  margin-bottom: 8px;
}

.wop-tender-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
  margin-top: 10px;
}

.wop-tender-owner-actions {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--wop-border);
}

@media (max-width: 991px) {
  .wop-tender-card {
    flex-direction: column;
  }

  .wop-tender-card__aside {
    flex: 1 1 auto;
    text-align: left;
  }

  .wop-tender-card__actions {
    justify-content: flex-start;
  }
}

.wop-table-wrap {
  overflow-x: auto;
}

.wop-table-wrap .table {
  margin-bottom: 0;
}

.wop-dash-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 16px !important;
}

.wop-dash-pills > li > a {
  border-radius: 8px !important;
  padding: 8px 12px !important;
  background: #fff !important;
  border: 1px solid var(--wop-border) !important;
  color: var(--wop-navy) !important;
}

.wop-dash-pills > li.active > a {
  background: linear-gradient(135deg, var(--wop-navy) 0%, var(--wop-blue) 100%) !important;
  border-color: var(--wop-blue) !important;
  color: #fff !important;
  box-shadow: 0 6px 14px rgba(47, 111, 237, 0.22);
}

.wop-dash-pills > li > a:hover {
  background: var(--wop-blue-soft) !important;
  border-color: #c5daf0 !important;
  color: var(--wop-blue) !important;
}

/* Categories directory */
.wop-categories__group {
  margin-bottom: 16px;
}

.wop-categories__group-head {
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--wop-border);
}

.wop-categories__group-title {
  margin: 0;
  font-size: 18px;
  font-weight: 800;
}

.wop-categories__group-title a {
  color: var(--wop-navy) !important;
  text-decoration: none !important;
}

.wop-categories__group-title a:hover {
  color: var(--wop-blue) !important;
}

.wop-categories__sub-title {
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 750;
}

.wop-categories__sub-title a {
  color: var(--wop-navy) !important;
  text-decoration: none !important;
}

.wop-categories__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.wop-categories__list li {
  margin-bottom: 4px;
}

.wop-categories__list a {
  color: #5b6b7c !important;
  text-decoration: none !important;
  font-size: 13px;
  line-height: 1.4;
}

.wop-categories__list a:hover {
  color: var(--wop-blue) !important;
}

.wop-categories__more {
  display: inline-block;
  margin-top: 4px;
  color: var(--wop-blue) !important;
  font-weight: 650;
}

body.wop-dash-page .wop-categories .show-hide-content.less {
  max-height: 4.6em;
  overflow: hidden;
}

/* Regional managers / Branch */
.wop-branch-map-stats strong {
  font-size: 22px;
  font-weight: 800;
  color: var(--wop-navy);
}

.wop-branch-map-stats small {
  color: #6b7a8c;
  font-size: 12px;
}

.wop-branch-map {
  height: 380px;
  background: #f5f7fa;
  border: 1px solid var(--wop-border);
  border-radius: 10px;
}

.wop-branch-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.wop-chip {
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  border-radius: 6px;
  background: #e8f0fa;
  color: var(--wop-navy);
  font-size: 11px;
  font-weight: 650;
  line-height: 1.4;
}

.wop-chip--muted {
  background: #f0f3f7;
  color: #5b6b7c;
}

.wop-chip--online {
  background: #e6f6ec;
  color: #1f7a3f;
}

.wop-chip--danger {
  background: #fdeaea;
  color: #a12323;
}

.wop-moderation-thread {
  padding: 16px 18px;
}

.wop-moderation-msg + .wop-moderation-msg {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--wop-border);
}

.wop-moderation-msg__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.wop-moderation-msg__text {
  margin: 0;
  white-space: pre-wrap;
  color: #3d4d5c;
  font-size: 14px;
  line-height: 1.45;
}

.wop-moderation-msg__offer {
  margin: 8px 0;
  padding: 8px 10px;
}

.wop-agent-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border: 1px solid var(--wop-border);
  border-radius: 12px;
  box-shadow: var(--wop-shadow);
  padding: 16px;
}

.wop-agent-card:hover {
  border-color: #c5daf0;
}

.wop-agent-card__head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 10px;
}

.wop-agent-card__avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  flex: 0 0 56px;
}

.wop-agent-card__avatar--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #eef2f7;
  color: #8a97a8;
  font-size: 20px;
}

.wop-agent-card__identity {
  flex: 1 1 auto;
  min-width: 0;
}

.wop-agent-card__name {
  margin: 0 0 2px;
  font-size: 16px;
  font-weight: 750;
}

.wop-agent-card__name a {
  color: var(--wop-navy) !important;
  text-decoration: none !important;
}

.wop-agent-card__place,
.wop-agent-card__bio,
.wop-agent-card__meta,
.wop-agent-card__rates {
  margin: 0 0 8px;
  color: #5b6b7c;
  font-size: 13px;
  line-height: 1.45;
}

.wop-agent-card__services {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 12px;
}

.wop-agent-card__actions {
  margin-top: auto;
  padding-top: 8px;
}

.wop-agent-card__actions .btn-primary {
  background: var(--wop-navy) !important;
  border-color: var(--wop-navy) !important;
}

.wop-agent-profile__hero {
  display: flex;
  align-items: center;
  gap: 16px;
}

.wop-agent-profile__avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}

.wop-agent-service + .wop-agent-service,
.wop-agent-review + .wop-agent-review {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--wop-border);
}

.wop-agent-portfolio-item {
  background: #f7f9fc;
  border: 1px solid var(--wop-border);
  border-radius: 10px;
  padding: 10px;
  height: 100%;
}

.wop-agent-portfolio-item img {
  border-radius: 8px;
  margin-bottom: 8px;
}

.wop-agent-portfolio-item h5 {
  margin: 0 0 6px;
  font-size: 14px;
  font-weight: 700;
  color: var(--wop-navy);
}

.wop-empty-state {
  padding: 28px 20px;
}

/* Agent workspace sub-nav */
.wop-agent-nav .wop-dash-pills {
  margin-bottom: 0;
}

/* Legacy zCart content inside shell */
body.wop-dash-page .wop-catalog--legacy .page-header,
body.wop-dash-page .wop-catalog--legacy .nav-breadcrumb,
body.wop-dash-page .wop-catalog--legacy .account-section > .container > header.page-header {
  display: none;
}

body.wop-dash-page .wop-catalog--legacy .account-section {
  padding: 0;
  background: transparent;
}

body.wop-dash-page .wop-catalog--legacy .panel,
body.wop-dash-page .wop-dashboard-panel .panel {
  background: #fff;
  border: 1px solid var(--wop-border);
  border-radius: 12px;
  box-shadow: var(--wop-shadow);
  margin-bottom: 16px;
}

body.wop-dash-page .wop-catalog--legacy .panel-heading,
body.wop-dash-page .wop-dashboard-panel .panel-heading {
  background: transparent;
  border-bottom: 1px solid var(--wop-border);
  color: var(--wop-navy);
  font-weight: 700;
}

body.wop-dash-page .wop-catalog--legacy .well,
body.wop-dash-page .wop-dashboard-panel .well {
  background: #f7f9fc;
  border: 1px solid var(--wop-border);
  border-radius: 10px;
}

body.wop-dash-page .wop-dashboard-panel .page-header,
body.wop-dash-page .wop-dashboard-panel .nav-breadcrumb {
  display: none;
}

body.wop-dash-page .wop-dashboard-panel .nav-tabs,
body.wop-dash-page .wop-dashboard-panel .nav-pills {
  margin-bottom: 16px;
}

body.wop-dash-page .wop-dashboard-panel .btn-primary {
  background: var(--wop-navy) !important;
  border-color: var(--wop-navy) !important;
}

body.wop-dash-page .wop-catalog--legacy .btn-primary {
  background: var(--wop-navy) !important;
  border-color: var(--wop-navy) !important;
}

body.wop-dash-page .wop-dashboard-panel .wop-account-update-btn,
body.wop-dash-page .wop-dashboard-panel .wop-account-update-btn:hover,
body.wop-dash-page .wop-dashboard-panel .wop-account-update-btn:focus,
body.wop-dash-page .wop-dashboard-panel .wop-account-update-btn:active,
body.wop-dash-page .wop-catalog--legacy .wop-account-update-btn,
body.wop-dash-page .wop-catalog--legacy .wop-account-update-btn:hover,
body.wop-dash-page .wop-catalog--legacy .wop-account-update-btn:focus,
body.wop-dash-page .wop-catalog--legacy .wop-account-update-btn:active {
  background: linear-gradient(135deg, var(--wop-navy) 0%, var(--wop-blue) 100%) !important;
  border-color: var(--wop-blue) !important;
  color: #fff !important;
  box-shadow: 0 6px 14px rgba(47, 111, 237, 0.22) !important;
}


/* Green button */
.btn-green {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
  box-shadow: none;
  padding: 15px 30px;
  font-size: 16px;
  border-radius: 0;
}

.btn-green:hover,
.btn-green:focus {
  color: #fff;
  background-color: #218838;
  border-color: #1e7e34;
  text-decoration: none;
}

.btn-green:focus,
.btn-green.focus {
  box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .35);
  outline: 0;
}

.btn-green:active,
.btn-green.active {
  color: #fff;
  background-color: #1e7e34;
  border-color: #1c7430;
}

.btn-green:disabled,
.btn-green.disabled {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
  opacity: .55;
  pointer-events: none;
}

.btn-green-outline {
  color: #28a745;
  background-color: transparent;
  border-color: #28a745;
  padding: 15px 30px;
  font-size: 16px;
  border-radius: 0;
  text-transform: uppercase;
}

.btn-green-outline:hover,
.btn-green-outline:focus {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}
.btn-out {
  justify-content: right;
  display: flex;
}

.sb {
  display: flex;
  justify-content: space-between;
}
