/* =====================================================
   Dynamic Theme — uses CSS custom properties
   Set via JavaScript: applyDynamicTheme()
   ===================================================== */

:root {
  --primary-rgb:   52, 73, 94;
  --secondary-rgb: var(--primary-rgb);   /* overridden by JS when secondary exists */
  --tertiary-rgb:  var(--primary-rgb);   /* overridden by JS when tertiary exists  */
  --btn-primary-text: #fff;
  --font-size: 14px;
}

/* Body */
body { font-size: var(--font-size) !important; }

/* ---- Tables ---- */
.ProductPagecontaioner table:not(#tableNoFormat),
th {
  font-size: 16px !important;
  text-align: center;
  border: 1px solid rgb(var(--primary-rgb)) !important;
  background: rgb(var(--primary-rgb)) !important;
  color: white !important;
}
.ProductPagecontaioner table:not(#tableNoFormat) td {
  text-align: left;
  background: white !important;
  color: #34495E;
  border: 1px solid rgb(var(--primary-rgb)) !important;
}
#tableNoFormat td { border: none !important; }
.ProductPagecontaioner table { table-layout: fixed !important; width: 100% !important; }

/* ---- Background Utilities ---- */
.LightBackgroundWith20Pad  { padding: 20px; background-color: rgba(var(--primary-rgb), 0.10) !important; }
.maskbackground            { background-color: rgba(var(--primary-rgb), 0.70) !important; }
.LighterBackground         { background-color: rgba(var(--primary-rgb), 0.03) !important; }
.LightBackground           { background-color: rgba(var(--primary-rgb), 0.10) !important; }
.BackGroundColor           { background: rgb(var(--primary-rgb)); }
.ProductBackground         { box-shadow: inset 0 0 10px rgba(var(--primary-rgb), 0.01); background-color: rgba(var(--primary-rgb), 0.15) !important; }
.ProductBackgroundDark     { box-shadow: inset 0 0 10px rgba(var(--primary-rgb), 0.01); background-color: rgba(var(--primary-rgb), 0.30) !important; }
.bannerBackGroud-color     { background: rgba(var(--primary-rgb), 0.40); }

/* ---- Border Utilities ---- */
.borderBottom1xOnly { border-bottom: 1px solid rgba(var(--primary-rgb), 0.05) !important; }
.borderBottomOnly   { border-bottom: 2px solid rgb(var(--primary-rgb)) !important; }
.borderBottomFull   { border-bottom: 1px solid rgb(var(--primary-rgb)) !important; }
.bordercolor        { border: 1px solid rgb(var(--primary-rgb)) !important; }

/* ---- Text Utilities ---- */
.FontColor     { color: rgb(var(--primary-rgb)) !important; }
.DependentIcon { color: rgb(var(--primary-rgb)); }
.site-color    { color: rgb(var(--primary-rgb)) !important; }
citecolor      { color: rgb(var(--primary-rgb)) !important; }

/* ---- Navigation ---- */
.navbar-top  { background: rgb(var(--primary-rgb)); }
.navbar-tshop { background: rgb(var(--primary-rgb)); }
.navbar-nav > li > a { color: #fff; }
.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus,
.cartMenu:hover > a.dropdown-toggle { background: rgb(var(--primary-rgb)); }
.dropdown-menu { border-top: solid rgb(var(--primary-rgb)); }

/* ---- Links ---- */
a:hover, a:focus { color: rgb(var(--primary-rgb)); }
a.excludeHoverStyle {
  color: rgb(var(--primary-rgb)) !important;
  border: 1px solid rgb(var(--tertiary-rgb)) !important;
}

/* ---- Buttons — Primary ---- */
/*
  --tertiary-rgb  = tertiary color when set, otherwise falls back to primary.
  --btn-primary-text = primary color (rgb) when tertiary is set; btnTextColor otherwise.
*/
.btn-primary {
  background-color: rgb(var(--tertiary-rgb));
  color: var(--btn-primary-text);
}
.btn-primary:hover {
  background: none repeat scroll 0 0 rgb(var(--tertiary-rgb));
}
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.open .dropdown-toggle.btn-primary {
  background-color: rgba(var(--tertiary-rgb), 0.99);
  border-color:     rgba(var(--tertiary-rgb), 0.99);
  color: #FFFFFF;
}
/* Hard override to #2c88c5 for active states — matches original */
.btn-primary:active,
.btn-primary.active,
.open .dropdown-toggle.btn-primary { background: #2c88c5; }

/* ---- Buttons — General ---- */
.btn:hover {
  border: 2px solid rgb(var(--tertiary-rgb)) !important;
  background: white !important;
  color: rgb(var(--primary-rgb)) !important;
}
.btn-discover:hover,
.btn-site:hover,
.newsLatterBox .btn:hover { background: rgb(var(--tertiary-rgb)); }
.btn-site,
.newsLatterBox .btn { background: rgb(var(--primary-rgb)); }

/* ---- Add to Favourites ---- */
.product:hover .add-fav:hover,
.product:hover .add-fav.active { background-color: rgb(var(--primary-rgb)); color: #FFFFFF; }

/* ---- Promo ---- */
.promo-1 { background: none repeat scroll 0 0 rgb(var(--primary-rgb)); }

/* ---- Pagination ---- */
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  background-color: rgba(var(--primary-rgb), 0.80);
  border-color:     rgba(var(--primary-rgb), 0.80);
  color: #FFFFFF;
}

/* ---- Search ---- */
.search-box:hover .form-control { background: rgb(var(--primary-rgb)); }
.search-box:hover .btn-nobg     { color: rgb(var(--primary-rgb)); }
.search-full, .search-input     { background: rgb(var(--primary-rgb)); }
.search-close                   { color: rgb(var(--primary-rgb)); }
.searchInputBox .search-btn     { color: #fff; }

/* ---- Products / Thumbnails ---- */
.product:hover,
.featuredImgLook2 .inner:hover          { border: 1px solid rgb(var(--primary-rgb)); }
.subCategoryList .thumbnail:hover       { border: 1px solid rgb(var(--primary-rgb)); }
.sp-thumbs a:hover,
.sp-thumbs a:active,
.sp-current,
sp-current:visited                      { border: 2px solid rgb(var(--primary-rgb)) !important; }

/* ---- Pager ---- */
.pager2 a                    { border: 1px solid rgb(var(--primary-rgb)); }
.pager2 a.selected           { background: rgb(var(--primary-rgb)); }
#pager a.cycle-pager-active  { background: rgba(52, 73, 94, 0.5); }
#pager2 span.cycle-pager-active { background: rgb(var(--primary-rgb)) !important; }
#pager2 span                 { border: 2px solid rgb(var(--primary-rgb)); }

/* ---- Footer ---- */
.footer a:hover { color: rgb(var(--primary-rgb)); }

/* ---- Modal ---- */
.modal-header { background: rgb(var(--primary-rgb)); }

/* ---- Forms ---- */
.form-control:focus { border-color: rgb(var(--primary-rgb)); }

/* ---- Panels ---- */
.panel-default > .panel-heading { border-top: 4px solid rgb(var(--primary-rgb)); }

/* ---- Social / Cart ---- */
.socialIcon a:hover { background: rgb(var(--primary-rgb)); }
.cart-actions button:hover { background: #fff; color: rgb(var(--primary-rgb)); border: solid 2px rgb(var(--primary-rgb)); }

/* ---- Order Steps ---- */
.orderStep li.active a        { background: rgb(var(--primary-rgb)); }
.orderStep li.active a:after  { border-top-color: rgb(var(--primary-rgb)) !important; }
.orderStep li a               { background: #2c88c5; }

/* ---- Action Control ---- */
.action-control a:hover,
.action-control a.active      { color: #fff; background: rgb(var(--primary-rgb)); }
.BackGroundColorSecIcon:hover { background: rgb(var(--primary-rgb)); }

/* ---- Text Selection ---- */
::selection         { color: #fff; background: rgb(var(--primary-rgb)); }
::-moz-selection    { color: #fff; background: rgb(var(--primary-rgb)); }
::-webkit-selection { color: #fff; background: rgb(var(--primary-rgb)); }

/* ---- Static Misc ---- */
.full           { width: 100%; }
.new-product    { background: rgba(52, 73, 94, 0.95) !important; }
darkcoilor      { background: #2c88c5; }
.mCS-dark-2 > .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { background: rgba(52, 73, 94, 0.7) !important; }

/* ---- Tree Menu ---- */
.nav.tree > li.active,
.nav.tree > li > a:hover,
.nav.tree > li > a:focus,
.nav.tree > li:hover > a           { background: none; color: rgb(var(--primary-rgb)); }
.nav.tree .open-tree > a,
.nav.tree .open-tree > a:hover,
.nav.tree .open-tree > a:focus     { background: none; font-weight: bold; color: rgb(var(--primary-rgb)); }

/* ---- Nav Tabs ---- */
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus,
.nav-tabs > li:hover > a { background: #BFC9CA; }
.nav-tabs                { border-bottom: 3px solid #BFC9CA; }

/* ---- Responsive ---- */
@media (max-width: 767px) {
  .miniCartFooter { background: rgb(var(--primary-rgb)) !important; }
}

/* =====================================================
   Secondary Color Styles
   Active when JS sets --secondary-rgb on :root.
   Falls back to --primary-rgb when not set.
   ===================================================== */
.FontSec {
  color: rgb(var(--secondary-rgb)) !important;
}
.alert-warning {
  background-color: rgba(var(--secondary-rgb), 0.10) !important;
  border-color: transparent;
  color: rgb(var(--primary-rgb)) !important;
}
.BackGroundColorSec     { background: rgb(var(--secondary-rgb)); }
.BackGroundColorSecIcon { background: rgb(var(--secondary-rgb)); }
.title-v2               { color: rgb(var(--secondary-rgb)); }
.dropdown a:hover       { color: rgb(var(--secondary-rgb)) !important; }
/* Overrides primary a:hover above when secondary is set */
a:hover { color: rgb(var(--secondary-rgb)) !important; }
.OnHover:hover { background-color: rgba(var(--secondary-rgb), 0.70) !important; }