/* =========================================================
   MPE MALL - Brand Theme Override
   Based on MPE Design System (design-system.html)
   ========================================================= */

:root {
  /* ===== MPE Core Brand Colors ===== */
  --brand-navy: #1F5D8F;
  --brand-navy-hover: #174A72;
  --brand-navy-soft: #EDF4F9;

  --brand-green: #2B86A9;
  --brand-green-hover: #226B87;
  --brand-green-soft: #EDF7FA;

  --brand-lime: #48AFC6;
  --brand-lime-hover: #3794AA;
  --brand-lime-soft: #EAF8FB;

  --brand-blue: #3B9FC0;
  --brand-blue-hover: #2E7F99;
  --brand-blue-soft: #E9F6FA;

  /* ===== Semantic Colors ===== */
  --success: #15803D;
  --success-soft: #ECFDF3;
  --warning: #D97706;
  --warning-soft: #FFF7E6;
  --danger: #B42318;
  --danger-soft: #FEF3F2;
  --info: #3B9FC0;
  --info-soft: #E9F6FA;

  /* ===== Neutral Colors ===== */
  --white: #FFFFFF;
  --gray-25: #FCFCFD;
  --gray-50: #F8FAFC;
  --gray-100: #F2F4F7;
  --gray-200: #EAECF0;
  --gray-300: #D0D5DD;
  --gray-400: #98A2B3;
  --gray-500: #667085;
  --gray-600: #475467;
  --gray-700: #344054;
  --gray-800: #1D2939;
  --gray-900: #101828;

  --bg: var(--white);
  --surface: var(--gray-50);
  --border: var(--gray-200);
  --heading: var(--brand-navy);
  --text: var(--gray-700);
  --muted: var(--gray-500);

  /* ===== Theme / Flatsome Variables Override ===== */
  --primary-color: #1F5D8F !important;
  --fs-color-primary: #1F5D8F !important;
  --fs-color-secondary: #2B86A9 !important;
  --fs-color-success: #15803D !important;
  --fs-color-alert: #B42318 !important;

  --primary-gradient: linear-gradient(135deg, #1F5D8F 0%, #2B86A9 58%, #48AFC6 100%) !important;
  --secondary-gradient: linear-gradient(135deg, #1F5D8F 0%, #3B9FC0 100%) !important;
  --footer-gradient: linear-gradient(135deg, #1F5D8F 0%, #174A72 100%) !important;
}

/* Button & Action overrides */
.button.primary,
.button.checkout,
.form-submit input[type=submit],
.button[type=submit]:not(.is-outline),
input[type=submit]:not(.is-outline),
.dgwt-wcas-search-submit {
  background-color: var(--brand-navy) !important;
  border-color: var(--brand-navy) !important;
}

.button.primary:hover,
.button.checkout:hover,
.form-submit input[type=submit]:hover,
.button[type=submit]:not(.is-outline):hover,
input[type=submit]:not(.is-outline):hover {
  background-color: var(--brand-navy-hover) !important;
  border-color: var(--brand-navy-hover) !important;
}

.button.primary.is-outline,
.button.is-outline.button-chuan {
  color: var(--brand-navy) !important;
  border-color: var(--brand-navy) !important;
}

.button.primary.is-outline:hover,
.button.is-outline.button-chuan:hover {
  background-color: var(--brand-navy) !important;
  color: #FFFFFF !important;
}

.button.secondary {
  background-color: var(--brand-green) !important;
  border-color: var(--brand-green) !important;
}

.button.secondary:hover {
  background-color: var(--brand-green-hover) !important;
}

/* Solaris search bar */
.dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit {
  background: var(--primary-gradient) !important;
}

/* Navigation active & hover */


/* Header Support Banner */
.support-banner-wrapper .support-banner {
  background: var(--primary-gradient) !important;
}

.ct-list.mobile .ct-phone {
  background: var(--primary-gradient) !important;
}

/* Checkbox compare */
.spc-compare-checkbox input[type="checkbox"] {
  border-color: var(--brand-navy) !important;
}

.spc-compare-checkbox input[type="checkbox"]:checked {
  background-color: var(--brand-navy) !important;
  border-color: var(--brand-navy) !important;
}

/* Blockquote */
blockquote.blockquote-text {
  color: var(--brand-navy) !important;
}

blockquote.blockquote-text::before,
blockquote.blockquote-text::after {
  color: var(--brand-lime) !important;
}

/* Links */
.taxonomy-description a,
.term-description a,
.text-lien-he {
  color: var(--brand-blue) !important;
}

.taxonomy-description a:hover,
.term-description a:hover,
.text-lien-he:hover {
  color: var(--brand-navy) !important;
}

/* Badges & Labels */
.badge-inner.secondary,
.post-item .badge,
.label-new.menu-item>a:after {
  background-color: var(--brand-navy) !important;
}

.label-hot.menu-item>a:after,
.badge-inner.new {
  background-color: var(--brand-lime) !important;
  color: var(--brand-navy) !important;
}

/* Cart count */
.header-cart-link i.icon-shopping-basket[data-icon-label]:after {
  background-color: var(--brand-navy) !important;
}

/* Partner Logo styling */
.mpe-partner-logo {
  height: 15px;
  width: auto;
  vertical-align: middle;
  object-fit: contain;
}

/* =========================================================
   B2B Product Detail Styles
   ========================================================= */

/* B2B Price Block (Design System Compliant) */
.price-block-b2b {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 16px 20px;
  margin: 10px 0 14px 0;
  box-shadow: 0 2px 8px rgba(16, 24, 40, 0.03);
}

.price-block-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}

.price-block-label {
  font-size: var(--font-size-xs, 12px);
  font-weight: var(--font-weight-semibold, 600);
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide, 0.04em);
}

.price-block-discount {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: var(--font-weight-bold, 700);
  background: #FEE2E2;
  color: #E02020;
  border: 1px solid #FECACA;
}

.price-block-main {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
}

.price-block-b2b .price {
  margin-bottom: 0;
  line-height: 1;
}

.price-block-b2b .price ins {
  text-decoration: none;
}

.price-block-b2b .price ins .amount {
  font-size: 38px;
  color: #E02020 !important;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
}

.price-block-secondary {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
}

.price-block-secondary del {
  text-decoration: line-through;
}

.price-block-secondary del .amount {
  font-size: 20px;
  color: var(--gray-400);
  font-weight: var(--font-weight-regular, 400);
}

.price-block-vat {
  font-size: var(--font-size-xs, 12px);
  color: var(--muted);
}

.price-block-note {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px dashed var(--border);
  font-size: 13px;
  color: var(--brand-navy);
  display: flex;
  align-items: center;
  gap: 7px;
  line-height: 1.4;
}

.price-block-note svg {
  flex-shrink: 0;
  color: var(--brand-blue);
}

.price-block-note strong {
  color: var(--brand-navy);
  font-weight: 600;
}

/* B2B Price & Policy Notice Box */
.b2b-policy-banner {
  background: linear-gradient(135deg, #F0F7FB 0%, #E6F3F8 100%);
  border: 1px solid #B8DFEB;
  border-left: 4px solid var(--brand-navy);
  border-radius: 8px;
  padding: 12px 16px;
  margin: 12px 0 16px 0;
}

.b2b-policy-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}

.b2b-badge {
  background: var(--brand-navy);
  color: #FFFFFF;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 4px;
  letter-spacing: 0.5px;
}

.b2b-policy-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--brand-navy);
}

.b2b-policy-desc {
  font-size: 13px;
  color: var(--gray-700);
  line-height: 1.45;
  margin: 0;
}

/* B2B Warehouse Stock Status Box */
.b2b-stock-box {
  background: #FAFCFD;
  border: 1px dashed #C3DCE8;
  border-radius: 8px;
  padding: 10px 14px;
  margin-bottom: 16px;
}

.b2b-stock-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 13px;
  color: var(--gray-700);
  line-height: 1.4;
  margin-bottom: 6px;
}

.b2b-stock-item:last-child {
  margin-bottom: 0;
}

.b2b-stock-item svg {
  flex-shrink: 0;
  margin-top: 2px;
  color: #15803D;
}

.b2b-stock-item strong {
  color: var(--gray-900);
}

/* B2B Action Buttons */
.b2b-action-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 16px 0;
}

.b2b-btn-rfq {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: var(--primary-gradient);
  color: #FFFFFF !important;
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 14px 20px;
  border-radius: 8px;
  text-align: center;
  box-shadow: 0 4px 12px rgba(31, 93, 143, 0.25);
  transition: all 0.25s ease;
  border: none;
  cursor: pointer;
  text-decoration: none;
}

.b2b-btn-rfq:hover {
  background: linear-gradient(135deg, #174A72 0%, #226B87 100%);
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(31, 93, 143, 0.35);
  color: #FFFFFF !important;
}

.b2b-btn-bom {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #FFFFFF;
  color: var(--brand-navy) !important;
  border: 1.5px solid var(--brand-navy);
  font-size: 14px;
  font-weight: 600;
  padding: 11px 18px;
  border-radius: 8px;
  text-align: center;
  transition: all 0.2s ease;
  cursor: pointer;
  text-decoration: none;
}

.b2b-btn-bom:hover {
  background: var(--brand-navy-soft);
  border-color: var(--brand-navy-hover);
  color: var(--brand-navy-hover) !important;
}

.b2b-retail-toggle {
  background: #F8FAFC;
  border: 1px solid #EAECF0;
  border-radius: 8px;
  padding: 12px;
  margin-top: 10px;
}

.b2b-retail-toggle-title {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--gray-500);
  margin-bottom: 8px;
  letter-spacing: 0.5px;
}

/* B2B Download Center */
.b2b-download-section {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 10px;
  padding: 14px 16px;
  margin: 18px 0;
}

.b2b-download-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--brand-navy);
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.b2b-download-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

@media (max-width: 767px) {
  .b2b-download-grid {
    grid-template-columns: 1fr;
  }
}

.b2b-download-card {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  padding: 10px 12px;
  transition: all 0.2s ease;
  color: var(--gray-800);
  text-decoration: none;
}

.b2b-download-card:hover {
  background: #F0F7FB;
  border-color: var(--brand-blue);
  color: var(--brand-navy);
  transform: translateY(-2px);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.05);
}

.b2b-doc-icon {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  border-radius: 6px;
  background: #FEE4E2;
  color: #D92D20;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 800;
}

.b2b-doc-icon.catalog {
  background: #E0F2FE;
  color: #0284C7;
}

.b2b-doc-icon.cert {
  background: #FEF0C7;
  color: #B54708;
}

.b2b-doc-info {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.b2b-doc-name {
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--gray-800);
}

.b2b-doc-sub {
  font-size: 11px;
  color: var(--gray-500);
  margin-top: 2px;
}

/* 4 B2B Guarantees */
.b2b-guarantees-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin: 18px 0;
}

@media (max-width: 550px) {
  .b2b-guarantees-grid {
    grid-template-columns: 1fr;
  }
}

.b2b-guarantee-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: #FFFFFF;
  border: 1px solid #EAECF0;
  border-radius: 8px;
  padding: 10px 12px;
  transition: border-color 0.2s;
}

.b2b-guarantee-item:hover {
  border-color: var(--brand-blue);
}

.b2b-guarantee-icon {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--brand-navy-soft);
  color: var(--brand-navy);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.b2b-guarantee-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--gray-900);
  margin-bottom: 2px;
}

.b2b-guarantee-desc {
  font-size: 12px;
  color: var(--gray-600);
  line-height: 1.35;
  margin: 0;
}