:root {
  /* ============================================================================
     TradePortal tenant theme — ACTIVE values for this site.

     Every variable the application actually supports is listed below. Uncomment
     and set any you wish to override; the comment after each shows the app's
     default (used when the line is absent). A fully-worked template with example
     values lives alongside this file in theme-example.css — the two are kept in
     sync, so the set of options here matches the template exactly.
     ============================================================================ */

  /* --- Masthead (top nav bar) ------------------------------------------------ */
  --theme-color-masthead-bg: #efb042;            /* nav bar background — default #efb042 */
  --theme-color-masthead-text: #000;             /* nav bar icons & text — default #000 */

  /* --- Page ------------------------------------------------------------------ */
  --theme-color-body-bg: #f9fafb;                /* page background — default #f1f5f9 */

  /* --- Primary buttons (Sign In, Add to Cart…) ------------------------------- */
  --theme-color-primary-button-bg: #004677;      /* default #004677 */
  --theme-color-primary-button-text: #ffffff;    /* default #ffffff */
  /* --theme-color-primary-button-bg-hover: #003a63;  OPTIONAL — app auto-darkens bg ~15% if unset */

  /* Legacy aliases — still honoured as the fallback for the primary button and
     for the primary-interaction colour token. Prefer the --primary-button-*
     names above; these are kept only for backward compatibility. */
  --theme-color-primary-interaction-bg: #004677;
  --theme-color-primary-interaction-text: #ffffff;

  /* --- Secondary buttons ----------------------------------------------------- */
  /* --theme-color-secondary-button-bg: #6b7280; */
  /* --theme-color-secondary-button-text: #ffffff; */
  /* --theme-color-secondary-button-bg-hover: #565d68;  OPTIONAL — app auto-darkens bg ~15% if unset */

  /* --- Hyperlinks ------------------------------------------------------------ */
  /* Base link colour. The hover shade is fixed at #005a8a and is not themeable. */
  /* --theme-color-secondary-interaction-hyperlink: #006ca7; */

  /* --- Gray scale (ONLY these shades are wired to the theme) ----------------- */
  /* --theme-color-gray-200: #e5e7eb; */
  /* --theme-color-gray-300: #d1d5db; */
  /* --theme-color-gray-500: #6b7280; */
  /* --theme-color-gray-600: #4b5563; */
  /* --theme-color-gray-700: #374151; */

  /* --- Red scale (50–900) ---------------------------------------------------- */
  /* --theme-color-red-50:  #fef5f4; */
  /* --theme-color-red-100: #fee5e2; */
  /* --theme-color-red-200: #fcc5be; */
  /* --theme-color-red-300: #f99d92; */
  /* --theme-color-red-400: #f26754; */
  /* --theme-color-red-500: #cd442c; */
  /* --theme-color-red-600: #b93a24; */
  /* --theme-color-red-700: #9a2e1d; */
  /* --theme-color-red-800: #7f271a; */
  /* --theme-color-red-900: #6a2419; */

  /* --- Green scale (50–900) -------------------------------------------------- */
  /* --theme-color-green-50:  #f4fbf1; */
  /* --theme-color-green-100: #e5f6df; */
  /* --theme-color-green-200: #c9ecbd; */
  /* --theme-color-green-300: #9cdb85; */
  /* --theme-color-green-400: #6fb544; */
  /* --theme-color-green-500: #5a9937; */
  /* --theme-color-green-600: #477c2b; */
  /* --theme-color-green-700: #386022; */
  /* --theme-color-green-800: #2d4d1c; */
  /* --theme-color-green-900: #253f18; */

  /* --- Login image ----------------------------------------------------------- */
  --theme-login-image-background-position: center;  /* default center */

  /* --- Logo --------------------------------------------------------------------
     The app ships a built-in Trade Portal logo (auto light/dark by masthead colour).
     To use your own, drop ONE of these onto your deployment — no rebuild needed:
         public/theme/logo.svg   (preferred — crisp at any size)
         public/theme/logo.png
         public/theme/logo.gif
     It is picked up in that priority order; if none is present the built-in logo shows.
     Your file fully replaces the built-in logo (mark + wordmark + colours + font).

     FONT GUIDELINE — important for SVG logos:
       Your logo is loaded as an <img>, which cannot use web fonts. So any text in it
       must be self-contained:
         • PNG / GIF .................. font is baked into the image — anything works.
         • SVG with text OUTLINED ..... convert the wordmark to vector paths (e.g.
                                        "Convert to outlines" in your design tool).
                                        Crisp at any size, renders exactly. RECOMMENDED.
         • SVG with live <text> ....... AVOID — it falls back to a system font unless
                                        that exact font is installed on the viewer's
                                        device. Outline the text instead.
       (Note: the app UI font, Inter, is separate and is not changed by your logo.)

     App / browser icons can likewise be overridden without a rebuild by dropping
     same-named files into the web root (alongside index.html):
         favicon.ico
         apple-touch-icon-180x180.png
         pwa-64x64.png  pwa-192x192.png  pwa-512x512.png  maskable-icon-512x512.png
     (favicon & apple-touch apply immediately; an already-installed PWA's home-screen
      icon only refreshes on reinstall.)

     Logo visibility on dark masthead backgrounds
     If your logo has dark elements that disappear on a dark masthead, use one or
     both of these. All default to a no-op (transparent / 0 / none).

     Option A — white pill/badge behind the logo:
       --theme-logo-bg: #ffffff;
       --theme-logo-padding: 4px 10px;
       --theme-logo-border-radius: 8px;

     Option B — white outline glow around the logo pixels (no box):
       --theme-logo-filter: drop-shadow(1px 0 0 white) drop-shadow(-1px 0 0 white)
                            drop-shadow(0 1px 0 white) drop-shadow(0 -1px 0 white);
  */
}

/* ----------------------------------------------------------------------------
   Semantic CSS targeting hooks
   Stable class names for styling specific masthead zones. All Tailwind utility
   classes remain in place — these classes are additive.

   .masthead               Root <nav> element
   .masthead-background    Main background container (carries bg-masthead-bg colour)
   .masthead-logo-link     <a> wrapping the logo (navigates home)
   .masthead-logo          <span> directly wrapping the logo <img>
   .masthead-nav           Desktop navigation links container
   .masthead-actions       Right-side actions container (search, account, cart)
   .masthead-search        Search trigger button
   .masthead-account       Account / My Account dropdown wrapper (desktop)
   .masthead-cart          Cart link
   .masthead-mobile-toggle Mobile menu open/close button
   .masthead-mobile-menu   Mobile slide-down menu overlay

   Examples:
     .masthead-cart { color: #f36f21; }
     .masthead-nav { gap: 1.5rem; }
     .masthead-mobile-menu { background: #1a3a6b; }
---------------------------------------------------------------------------- */

/* =============================================================================
   TRADEPORTAL THEMING HOOKS — tp-* classes
   All entries below are intentionally empty.
   Add CSS rules here to customise or hide elements for this tenant.
   Example: .tp-product-card { display: none; }
   ============================================================================= */

/* --- Buttons --- */
.tp-btn { }
.tp-btn-primary { }
.tp-btn-secondary { }
.tp-btn-link { }
.tp-btn-danger { }
.tp-btn-danger-outline { }
.tp-btn-danger-light { }
.tp-btn-ghost-primary { }
.tp-btn-ghost-secondary { }

/* --- Navigation --- */
.tp-navbar-nav-link { }
.tp-mega-menu { }
.tp-mega-menu-trigger { }
.tp-mega-menu-panel { }
.tp-mega-menu-category-rail { }
.tp-mega-menu-category-item { }
.tp-mega-menu-content { }
.tp-mega-menu-type-heading { }
.tp-mega-menu-class-link { }
.tp-mobile-products-menu { }
.tp-mobile-products-link { }
.tp-searchbar { }
.tp-searchbar-input { }
.tp-searchbar-clear { }
.tp-searchbar-close { }
.tp-breadcrumbs { }
.tp-breadcrumbs-item { }
.tp-breadcrumbs-link { }
.tp-breadcrumbs-separator { }
.tp-navigation-tabs { }
.tp-navigation-tab { }
.tp-slide-menu { }
.tp-slide-menu-item { }
.tp-flyout-menu { }
.tp-flyout-menu-panel { }
.tp-flyout-menu-item { }

/* --- Dropdowns & Menus --- */
.tp-select-menu { }
.tp-select-menu-trigger { }
.tp-select-menu-options { }
.tp-select-menu-option { }
.tp-sort-select { }
.tp-sort-select-trigger { }
.tp-sort-select-panel { }
.tp-filter-dropdown { }
.tp-filter-dropdown-trigger { }
.tp-dropdown-menu { }
.tp-dropdown-menu-panel { }
.tp-dropdown-menu-list { }
.tp-dropdown-menu-item { }

/* --- Modals --- */
.tp-modal-overlay { }
.tp-modal { }
.tp-modal-title { }
.tp-modal-close { }
.tp-modal-description { }
.tp-confirm-modal-body { }
.tp-confirm-modal-actions { }
.tp-error-modal-body { }
.tp-error-modal-actions { }

/* --- Products --- */
.tp-products-page { }
.tp-products-toolbar { }
.tp-products-toolbar-controls { }
.tp-products-toolbar-left { }
.tp-products-toolbar-right { }
.tp-products-sidebar { }
.tp-products-content { }
.tp-products-count { }
.tp-products-gst-disclaimer { }
.tp-product-list-container { }
.tp-product-list { }
.tp-product-grid { }
.tp-product-list-item { }
.tp-product-list-item-image { }
.tp-product-list-item-body { }
.tp-product-list-item-footer { }
.tp-product-list-item-actions { }
.tp-product-card { }
.tp-product-card-image { }
.tp-product-card-overlay { }
.tp-product-card-quickview { }
.tp-product-card-body { }
.tp-product-card-actions { }
.tp-product-card-controls { }
.tp-product-name { }
.tp-product-sku { }
.tp-product-uom-badge { }
.tp-stock-badge { }
.tp-stock-badge-dot { }

/* --- Pricing --- */
.tp-pricing-block { }
.tp-pricing-block--columns { }
.tp-pricing-block--rows { }
.tp-pricing-tier { }
.tp-pricing-tier--retail { }
.tp-pricing-tier--trade { }
.tp-pricing-tier--best { }
.tp-pricing-label { }
.tp-pricing-label--highlight { }
.tp-pricing-value { }
.tp-pricing-value--highlight { }

/* --- Product Modals --- */
.tp-product-modal { }
.tp-product-modal-gallery-col { }
.tp-product-modal-details { }
.tp-product-modal-title { }
.tp-product-modal-sku { }
.tp-product-modal-pricing { }
.tp-product-modal-actions { }
.tp-tally-modal { }
.tp-tally-modal-body { }
.tp-tally-form { }
.tp-tally-row { }
.tp-tally-input { }
.tp-tally-submit-wrapper { }

/* --- Cart --- */
.tp-cart-menu-item { }
.tp-cart-badge { }
.tp-cart-subtotal { }
.tp-cart-list-container { }
.tp-cart-list-header { }
.tp-cart-list-title { }
.tp-cart-items { }
.tp-cart-item { }
.tp-cart-item-image { }
.tp-cart-item-body { }
.tp-cart-item-remove { }

/* --- Orders & Quotes --- */
.tp-orders-empty-state { }
.tp-orders-error-state { }
.tp-orders-pagination-wrapper { }
.tp-order-row { }

/* --- Invoices --- */
.tp-invoices-date-filter { }
.tp-invoices-selection-bar { }
.tp-invoices-pagination-wrapper { }
.tp-invoice-row { }

/* --- Statements --- */
.tp-statement-row { }
.tp-statement-detail-row { }
.tp-statement-empty { }

/* --- Checkout --- */
.tp-checkout-form-wrapper { }
.tp-checkout-form-sections { }

/* --- Transaction Summary --- */
.tp-transaction-summary { }
.tp-transaction-summary-header { }
.tp-transaction-summary-totals { }
.tp-subtotal-line { }
.tp-total-line { }
.tp-detail-line { }
.tp-transaction-line-item { }

/* --- Dashboard --- */
.tp-dashboard-banner-inner { }
.tp-dashboard-banner-fallback { }
.tp-dashboard-iframe { }
.tp-dashboard-iframe-frame { }
.tp-dashboard-welcome { }
.tp-dashboard-stats-grid { }
.tp-dashboard-stat-card { }
.tp-dashboard-stat-value { }
.tp-dashboard-stat-action { }

/* --- Custom Lists --- */
.tp-custom-lists-empty { }
.tp-custom-lists-empty-icon { }
.tp-custom-lists-empty-heading { }
.tp-custom-list-group { }
.tp-custom-list-group-header { }
.tp-custom-list-cards-grid { }
.tp-custom-list-card { }
.tp-custom-list-card-name { }
.tp-custom-list-card-actions { }
.tp-custom-list-card-delete { }
.tp-custom-list-item { }
.tp-custom-list-item-remove { }

/* --- Forms & Inputs --- */
.tp-input-field { }
.tp-input { }
.tp-input-error { }
.tp-select-field { }
.tp-select { }
.tp-textarea-field { }
.tp-textarea { }
.tp-label { }
.tp-toggle { }
.tp-toggle-thumb { }
.tp-checkbox { }
.tp-checkbox-input { }
.tp-checkbox-label { }
.tp-checkbox-inline { }
.tp-checkbox-inline-input { }
.tp-search-input-wrapper { }
.tp-search-input { }
.tp-number-spinner { }
.tp-number-spinner-decrement { }
.tp-number-spinner-input { }
.tp-number-spinner-increment { }
.tp-qty-counter { }
.tp-qty-counter-decrement { }
.tp-qty-counter-value { }
.tp-qty-counter-increment { }

/* --- Layout & Structure --- */
.tp-page-container { }
.tp-page-header { }
.tp-page-header-primary { }
.tp-page-header-secondary { }
.tp-page-header-actions { }
.tp-page-title { }
.tp-page-subtitle { }
.tp-card { }
.tp-empty-state-card { }
.tp-empty-state-icon { }
.tp-empty-state-heading { }
.tp-empty-state-body { }
.tp-form-section { }
.tp-form-section-info { }
.tp-form-section-fields { }
.tp-form-section-title { }
.tp-form-error-summary { }
.tp-footer { }
.tp-footer-link { }
.tp-stacked-list { }
.tp-stacked-list-items { }
.tp-stacked-list-item { }
.tp-stacked-list-item--selected { }
.tp-stacked-col { }
.tp-stacked-col-header { }
.tp-stacked-col-value { }
.tp-stacked-list-arrow { }
.tp-list-toolbar { }
.tp-list-toolbar-left { }
.tp-list-toolbar-right { }
.tp-list-toolbar-search { }
.tp-list-toolbar-controls { }
.tp-list-toolbar-summary { }
.tp-tab-filter { }
.tp-tab-filter-btn { }
.tp-tab-filter-btn--active { }
.tp-pagination { }
.tp-pagination-prev { }
.tp-pagination-current { }
.tp-pagination-next { }
.tp-pill { }

/* --- Images & Media --- */
.tp-image { }
.tp-image-magnifier { }
.tp-image-magnifier-source { }
.tp-image-magnifier-zoom { }
.tp-carousel { }
.tp-carousel-prev { }
.tp-carousel-next { }

/* --- Loaders & Spinners --- */
.tp-spinner { }
.tp-spinner-svg { }
.tp-spinner-panel { }
.tp-loader-fullscreen { }

/* --- Notifications --- */
.tp-notification-container { }
.tp-notification { }
.tp-notification-action { }
.tp-pwa-toast { }
.tp-pwa-toast-reload { }
.tp-pwa-toast-later { }
.tp-pwa-toast-close { }
