/* ==========================================================================
   blinxPay Official Store — Brand Theme Override
   Matches the look & feel of blinxpay.com
   Fonts: Poppins (body) + Montserrat (headings)
   Primary: #55BA3F (green)  |  Dark: #232731  |  BG: #F2F6F9
   ========================================================================== */

/* --- Google Fonts are loaded via <link> in header.twig --- */

/* ---- Base ---- */
body {
  font-family: 'Poppins', Helvetica, Arial, sans-serif;
  color: #3A3A3A;
  background-color: #F2F6F9;
}

h1, h2, h3, h4, h5, h6,
.product-thumb h4,
#content h1, #content h2, #content h3 {
  font-family: 'Montserrat', Helvetica, Arial, sans-serif;
  font-weight: 500;
  color: #232731;
}

a {
  color: #55BA3F;
}
a:hover, a:focus {
  color: #449832;
}

/* ---- Top Bar ---- */
#top {
  background-color: #232731;
  color: #ccc;
  border-bottom: none;
}
#top a, #top .btn-link {
  color: #ccc;
}
#top a:hover, #top .btn-link:hover {
  color: #55BA3F;
}
#top .btn-link {
  font-family: 'Poppins', sans-serif;
}
#top-links li + li::before {
  color: #444;
}

/* ---- Header ---- */
header {
  background-color: #ffffff;
  border-bottom: 1px solid #e8ecef;
}
#logo a {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
}

/* ---- Search ---- */
#search input {
  font-family: 'Poppins', sans-serif;
  border-radius: 50px;
  border: 1px solid #dde3e8;
  background-color: #F2F6F9;
}
#search input:focus {
  border-color: #55BA3F;
  box-shadow: 0 0 0 0.2rem rgba(85, 186, 63, 0.15);
}
#search .btn {
  border-radius: 0 50px 50px 0;
  background-color: #55BA3F;
  border-color: #55BA3F;
  color: #fff;
}
#search .btn:hover {
  background-color: #449832;
  border-color: #449832;
}

/* ---- Navigation / Menu ---- */
.navbar {
  background-color: #232731 !important;
  border: none;
}
.navbar-nav > li > a {
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  color: #ffffff !important;
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 0.5px;
}
.navbar-nav > li > a:hover,
.navbar-nav > li > a:focus,
.navbar-nav > li.open > a {
  color: #55BA3F !important;
  background-color: transparent !important;
}
.dropdown-menu {
  border: 1px solid #e8ecef;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}
.dropdown-menu > li > a {
  font-family: 'Poppins', sans-serif;
  color: #3A3A3A;
}
.dropdown-menu > li > a:hover {
  background-color: #F3FFEF;
  color: #55BA3F;
}

/* ---- Buttons ---- */
.btn-primary {
  background-color: #55BA3F;
  border-color: #55BA3F;
  color: #ffffff;
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  border-radius: 50px;
  padding: 10px 28px;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active {
  background-color: #449832;
  border-color: #449832;
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(85, 186, 63, 0.3);
}

.btn-default, .btn-light {
  font-family: 'Poppins', sans-serif;
  border-radius: 50px;
  border-color: #dde3e8;
}

.btn-inverse {
  background-color: #232731;
  border-color: #232731;
  border-radius: 50px;
}
.btn-inverse:hover {
  background-color: #1a1e27;
}

/* Cart button in header */
#header-cart .btn {
  font-family: 'Poppins', sans-serif;
}
#cart > .btn {
  background-color: #55BA3F;
  border-color: #55BA3F;
  color: #fff;
  border-radius: 50px;
}
#cart > .btn:hover {
  background-color: #449832;
}

/* ---- Product Cards ---- */
.product-thumb {
  background-color: #ffffff;
  border: 1px solid #e8ecef;
  border-radius: 12px;
  overflow: hidden;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.product-thumb:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}
.product-thumb .caption {
  padding: 15px;
}
.product-thumb h4 a {
  color: #232731;
  font-weight: 500;
}
.product-thumb h4 a:hover {
  color: #55BA3F;
}
.product-thumb .price {
  color: #232731;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
}
.product-thumb .price-new {
  color: #55BA3F;
  font-weight: 600;
}
.product-thumb .price-old {
  color: #999;
}
.product-thumb .button-group {
  border-top: 1px solid #e8ecef;
  overflow: hidden;
  border-radius: 0 0 12px 12px;
}
.product-thumb .button-group button {
  background-color: #ffffff;
  color: #3A3A3A;
  border: none;
  font-family: 'Poppins', sans-serif;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.product-thumb .button-group button:hover {
  background-color: #55BA3F;
  color: #ffffff;
}
.product-thumb .button-group button + button {
  border-left: 1px solid #e8ecef;
}

/* ---- Category / Sidebar ---- */
.list-group-item {
  font-family: 'Poppins', sans-serif;
  border-color: #e8ecef;
  color: #3A3A3A;
}
.list-group-item:hover,
.list-group-item:focus {
  color: #55BA3F;
  background-color: #F3FFEF;
}
.list-group-item.active {
  background-color: #55BA3F;
  border-color: #55BA3F;
  color: #ffffff;
}

/* ---- Breadcrumb ---- */
.breadcrumb {
  background-color: transparent;
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
}
.breadcrumb a {
  color: #55BA3F;
}
.breadcrumb > .active {
  color: #999;
}

/* ---- Content Area ---- */
#content {
  font-family: 'Poppins', sans-serif;
}

/* ---- Carousel / Slideshow ---- */
#slideshow0 .swiper-viewport {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

/* ---- Footer ---- */
footer {
  background-color: #232731;
  color: #ccc;
  font-family: 'Poppins', sans-serif;
}
footer h5 {
  color: #ffffff;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  font-size: 14px;
  letter-spacing: 0.5px;
}
footer a {
  color: #ccc;
}
footer a:hover {
  color: #55BA3F;
}
footer hr {
  border-color: #333;
}
footer p {
  color: #999;
}

/* ---- Forms & Inputs ---- */
.form-control {
  font-family: 'Poppins', sans-serif;
  border-radius: 8px;
  border-color: #dde3e8;
}
.form-control:focus {
  border-color: #55BA3F;
  box-shadow: 0 0 0 0.2rem rgba(85, 186, 63, 0.15);
}

/* ---- Alerts ---- */
.alert-success {
  background-color: #F3FFEF;
  border-color: #55BA3F;
  color: #2d6a1e;
}
.alert-info {
  background-color: #F5FAFD;
  border-color: #b8d4e3;
  color: #31708f;
}

/* ---- Pagination ---- */
.pagination > li > a {
  color: #55BA3F;
  font-family: 'Poppins', sans-serif;
  border-radius: 8px;
  margin: 0 2px;
  border-color: #dde3e8;
}
.pagination > li > a:hover {
  background-color: #F3FFEF;
  border-color: #55BA3F;
}
.pagination > .active > a,
.pagination > .active > a:hover {
  background-color: #55BA3F;
  border-color: #55BA3F;
  color: #fff;
}

/* ---- Cart Page ---- */
.table-bordered {
  border-color: #e8ecef;
}
.table > thead > tr > th {
  background-color: #232731;
  color: #ffffff;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  border: none;
}

/* ---- Checkout ---- */
.panel {
  border-color: #e8ecef;
  border-radius: 12px;
  overflow: hidden;
}
.panel-heading {
  background-color: #F5FAFD;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  color: #232731;
  border-color: #e8ecef;
}

/* ---- Badge / Label ---- */
.badge, .label-success {
  background-color: #55BA3F;
}

/* ---- Well / Jumbotron (used in some modules) ---- */
.well {
  background-color: #F5FAFD;
  border: 1px solid #e8ecef;
  border-radius: 12px;
}

/* ---- Powered-by footer tweak ---- */
footer p a[href*="opencart"] {
  color: #666;
}

/* ---- Rating stars ---- */
.fa-star {
  color: #55BA3F;
}
.fa-star-o {
  color: #dde3e8;
}

/* ---- Miscellaneous ---- */
::selection {
  background-color: #55BA3F;
  color: #ffffff;
}
