/* ==========================================================================
   Plantly-style theme for OpenCart 4 (AquaPlants)
   Layout principles, palette and typography follow the "Plantly" template.
   ========================================================================== */

:root {
  --pl-green: #6ea820;
  --pl-green-dark: #5a8c17;
  --pl-green-soft: #f0f6e8;
  --pl-gray: #f3f3f2;
  --pl-line: #ededed;
  --pl-text: #222;
  --pl-muted: #8d8d8d;
  --pl-radius: 5px;
  --pl-shadow: 0 0 18px 0 rgba(0, 0, 0, .08);

  --bs-primary: #6ea820;
  --bs-primary-rgb: 110, 168, 32;
  --bs-success: #6ea820;
  --bs-success-rgb: 110, 168, 32;
  --bs-link-color: #5a8c17;
  --bs-link-color-rgb: 90, 140, 23;
  --bs-link-hover-color: #3f6610;
  --bs-link-hover-color-rgb: 63, 102, 16;
  --bs-body-font-family: 'Rubik', 'Segoe UI', Arial, sans-serif;
  --bs-body-color: #222;
  --bs-border-radius: 5px;
  --bs-focus-ring-color: rgba(110, 168, 32, .25);
}

/* ---------- base ---------- */
body {
  font-family: 'Rubik', 'Segoe UI', Arial, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: .3px;
  color: var(--pl-text);
  background: #fff;
}
h1, h2, h3, h4, h5, h6 {
  font-family: 'Rubik', 'Segoe UI', Arial, sans-serif;
  color: #000;
  font-weight: 500;
  letter-spacing: .3px;
}
h1 { font-size: 30px; }
h2 { font-size: 26px; }
h3 { font-size: 20px; }
a { color: var(--pl-green-dark); text-decoration: none; transition: color .2s ease; }
a:hover { color: #000; }
label { font-size: 13px; }
:focus-visible { outline: 2px solid var(--pl-green); outline-offset: 2px; }

/* reset hacks of the stock theme (absolute footer etc.) */
#container { position: static; min-height: 0; margin: 0; width: 100%; }
#content, #column-left, #column-right { padding-bottom: 0; }
#content { min-height: 200px; }
main { display: block; }
main > .container { padding-bottom: 30px; }
#alert { top: 90px; }

/* ---------- buttons ---------- */
.btn { font-family: inherit; border-radius: var(--pl-radius); letter-spacing: .4px; transition: all .3s ease; }
.btn-primary, .btn-success {
  --bs-btn-bg: #6ea820; --bs-btn-border-color: #6ea820; --bs-btn-color: #fff;
  --bs-btn-hover-bg: #000; --bs-btn-hover-border-color: #000; --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: #000; --bs-btn-active-border-color: #000; --bs-btn-active-color: #fff;
  --bs-btn-focus-shadow-rgb: 110, 168, 32;
  --bs-btn-disabled-bg: #6ea820; --bs-btn-disabled-border-color: #6ea820;
  text-shadow: none;
}
.btn-outline-primary {
  --bs-btn-color: #6ea820; --bs-btn-border-color: #6ea820;
  --bs-btn-hover-bg: #6ea820; --bs-btn-hover-border-color: #6ea820; --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: #6ea820; --bs-btn-active-border-color: #6ea820;
}
.btn-light { --bs-btn-bg: #fff; --bs-btn-border-color: #e4e4e4; --bs-btn-hover-bg: #6ea820; --bs-btn-hover-border-color: #6ea820; --bs-btn-hover-color: #fff; }
.bg-primary { background-color: var(--pl-green) !important; }
.text-primary { color: var(--pl-green) !important; }
.btn-lg { padding: .65rem 1.6rem; font-size: 15px; }

/* ---------- forms ---------- */
.form-control, .form-select { border-color: #e4e4e4; border-radius: var(--pl-radius); font-size: 14px; }
.form-control:focus, .form-select:focus { border-color: var(--pl-green); box-shadow: 0 0 0 .2rem rgba(110, 168, 32, .15); }
.form-check-input:checked { background-color: var(--pl-green); border-color: var(--pl-green); }
.input-group-text { background: var(--pl-gray); border-color: #e4e4e4; font-size: 13px; }
legend { font-size: 20px; font-weight: 500; border-bottom: 1px solid var(--pl-line); }
.table > :not(caption) > * > * { border-color: var(--pl-line); }
.table thead td, .table thead th { background: var(--pl-gray); font-weight: 500; }
.alert { border-radius: var(--pl-radius); }
.card { border-color: var(--pl-line); border-radius: var(--pl-radius); }
.dropdown-menu { border-color: var(--pl-line); border-radius: var(--pl-radius); box-shadow: 0 8px 24px rgba(0, 0, 0, .1); font-size: 14px; }
.dropdown-item { padding: 7px 18px; }
.dropdown-item:hover, .dropdown-item:focus, .dropdown-item.active { background: var(--pl-green-soft); color: var(--pl-green-dark); }
.nav-tabs { border-bottom-color: var(--pl-line); }
.nav-tabs .nav-link { color: var(--pl-muted); text-transform: uppercase; font-weight: 500; border: 0; border-bottom: 2px solid transparent; letter-spacing: .6px; }
.nav-tabs .nav-link:hover { color: #000; }
.nav-tabs .nav-link.active { color: #000; border-bottom-color: var(--pl-green); background: none; }

/* ---------- top bar ---------- */
#top {
  background: var(--pl-gray);
  border: 0;
  margin: 0;
  padding: 0;
  font-size: 13px;
  position: relative;
  z-index: 1040; /* keep language/currency dropdowns above the sticky header */
}
#top .offer-title { color: #000; line-height: 38px; text-transform: none; }
#top .offer-title i { color: var(--pl-green); margin-right: 4px; }
#top .topte { text-align: right; line-height: 38px; }
#top .topte > li { margin-left: 4px; }
#top .topte a, #top .topte .dropdown > a { color: #000; font-size: 13px; padding: 0; line-height: 38px; }
#top .topte a:hover { color: var(--pl-green); }
#top .topte i { color: var(--pl-green); }
#top .topte img { vertical-align: -2px; }
#top .dropdown-menu { font-size: 13px; min-width: 170px; padding: 8px 0; text-align: left; }
#top .topte .dropdown-menu a.dropdown-item { padding: 8px 18px; line-height: 1.4; color: #000; display: flex; align-items: center; gap: 8px; white-space: nowrap; }
#top .topte .dropdown-menu a.dropdown-item:hover { background: var(--pl-green-soft); color: var(--pl-green-dark); }
@media (max-width: 991px) {
  #top .topte { text-align: center; }
  #top .topte > li { margin: 0 6px; }
}

/* ---------- header ---------- */
.hsticky {
  background: #fff;
  padding: 16px 0;
  border-bottom: 1px solid var(--pl-line);
  position: sticky;
  top: 0;
  z-index: 1030;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .04);
}
@media (max-width: 991px) { .hsticky { position: static; padding: 10px 0; } #logo img { max-height: 48px; } }
#logo { margin: 0; text-align: left; }
#logo img { max-height: 62px; width: auto; max-width: 100%; }
#logo h1 { font-size: 22px; margin: 0; }
#logo h1 a { color: #000; }
.pl-burger {
  border: 1px solid var(--pl-line); background: #fff; border-radius: var(--pl-radius);
  width: 42px; height: 42px; font-size: 18px; color: #000;
}
.pl-burger:hover { color: var(--pl-green); border-color: var(--pl-green); }

#search { margin: 0; }
.pl-search-form { flex-wrap: nowrap; border: 1px solid var(--pl-line); border-radius: var(--pl-radius); overflow: hidden; background: #fff; }
.pl-search-form .form-control { border: 0; box-shadow: none; height: 46px; padding: 0 16px; font-size: 14px; background: transparent; }
.pl-search-form .btn { border-radius: 0; height: 46px; padding: 0 24px; font-size: 16px; }
@media (min-width: 992px) { #search { max-width: 640px; margin: 0 auto; } }

.pl-actions { display: flex; align-items: center; gap: 4px; }
.pl-actions .list-inline-item { margin: 0; }
.pl-icon-btn, .pl-cart-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 46px; padding: 0 12px; border: 0; background: none; color: #000; font-size: 22px; cursor: pointer;
}
.pl-icon-btn::after, .pl-cart-btn::after { display: none; }
.pl-icon-btn:hover, .pl-cart-btn:hover { color: var(--pl-green); }
.pl-cart-icon { position: relative; display: inline-block; line-height: 1; }
.pl-cart-count {
  position: absolute; top: -9px; right: -11px; min-width: 20px; height: 20px; padding: 0 5px;
  border-radius: 10px; background: var(--pl-green); color: #fff; font-size: 11px; font-weight: 500;
  line-height: 20px; text-align: center; letter-spacing: 0;
}
.pl-cart-total { font-size: 14px; font-weight: 500; color: var(--pl-green-dark); white-space: nowrap; margin-left: 4px; }
#cart { margin: 0; }
#cart .dropdown-menu { background: #fff; min-width: 340px; padding: 12px !important; }
#cart .dropdown-menu li { min-width: 300px; }
@media (max-width: 575px) {
  #cart .dropdown-menu { min-width: 0; width: calc(100vw - 24px); position: fixed !important; left: 12px !important; right: 12px; top: 70px !important; transform: none !important; }
  #cart .dropdown-menu li { min-width: 0; }
}

/* ---------- main menu ---------- */
#menu {
  background: #fff;
  border: 0;
  border-bottom: 1px solid var(--pl-line);
  border-radius: 0;
  margin: 0;
  padding: 0;
  min-height: 0;
  background-image: none;
}
#menu .container { display: block; }
#menu .navbar-nav { flex-wrap: wrap; justify-content: center; width: 100%; }
#menu .navbar-nav > li > a, #menu .nav-link {
  color: #000; text-shadow: none; background: none;
  padding: 16px 20px; font-size: 14px; font-weight: 500; text-transform: uppercase; letter-spacing: .8px;
  position: relative; transition: color .2s ease;
}
#menu .navbar-nav > li > a::before {
  content: ''; position: absolute; left: 20px; right: 20px; bottom: 10px; height: 2px;
  background: var(--pl-green); transform: scaleX(0); transition: transform .25s ease;
}
#menu .navbar-nav > li > a:hover, #menu .navbar-nav > li.show > a { color: var(--pl-green); background: none; }
#menu .navbar-nav > li > a:hover::before, #menu .navbar-nav > li.show > a::before { transform: scaleX(1); }
#menu .dropdown-toggle::after { border: 0; content: '\f107'; font-family: 'Font Awesome 6 Free'; font-weight: 900; vertical-align: 0; margin-left: 6px; font-size: 12px; }
#menu .dropdown-menu { margin-top: 0; padding: 14px 8px; border-top: 2px solid var(--pl-green); border-radius: 0 0 var(--pl-radius) var(--pl-radius); }
#menu .dropdown-item { font-size: 13px; }
#menu .see-all { color: var(--pl-green-dark); font-weight: 500; }
#category { font-size: 16px; font-weight: 500; color: #000; text-shadow: none; float: none; line-height: 1.4; padding: 14px 16px 6px; text-transform: uppercase; letter-spacing: .8px; }
@media (max-width: 991px) {
  #menu { border-bottom: 0; }
  #navbar-menu { border: 1px solid var(--pl-line); border-radius: var(--pl-radius); margin: 10px 0; background: #fff; }
  #menu .navbar-nav > li > a, #menu .nav-link { padding: 12px 16px; border-top: 1px solid var(--pl-line); }
  #menu .navbar-nav > li > a::before { display: none; }
  #menu .dropdown-menu { border: 0; box-shadow: none; padding: 0 0 6px 12px; }
}
@media (min-width: 992px) {
  #menu .dropdown:hover > .dropdown-menu { display: block; }
}

/* ---------- section headings ---------- */
.pl-section { padding-top: 30px; padding-bottom: 20px; }
.tab-head { margin-bottom: 26px; }
.heading {
  font-size: 26px; font-weight: 500; letter-spacing: .4px; margin: 0; position: relative; display: block; text-transform: none;
}
.heading span { display: inline-block; position: relative; padding-bottom: 14px; }
.heading span::after {
  content: ''; position: absolute; left: 50%; bottom: 0; width: 50px; height: 3px; margin-left: -25px;
  background: var(--pl-green); border-radius: 2px;
}
.pl-sub { font-size: 18px; letter-spacing: .8px; color: #626261; margin: 0 0 10px; }

/* ---------- hero ---------- */
.pl-hero { background: var(--pl-gray); overflow: hidden; }
.pl-hero-inner { display: flex; align-items: center; gap: 30px; padding: 40px 0; min-height: 440px; }
.pl-hero-text { flex: 1 1 50%; padding: 10px 0; }
.pl-hero-text h1 { font-size: 52px; line-height: 1.2; font-weight: 500; letter-spacing: .3px; margin: 0 0 18px; text-transform: none; color: #000; }
.pl-hero-desc { font-size: 16px; color: #626261; max-width: 480px; margin-bottom: 28px; }
.pl-hero-media { flex: 1 1 50%; max-width: 50%; text-align: center; }
.pl-hero-media .carousel-inner { background: #fff; border-radius: 14px; box-shadow: 0 20px 45px rgba(0, 0, 0, .10); overflow: hidden; }
.pl-hero-media .carousel-item img { height: 400px; width: 100%; object-fit: contain; margin: 0 auto; display: block; }
.pl-hero-media .carousel { display: flex; flex-direction: column; }
.pl-hero-media .carousel-indicators { position: static; order: 2; margin: 14px 0 0; }
.pl-hero-media .carousel-indicators [data-bs-target] { width: 10px; height: 10px; border-radius: 50%; border: 0; background: #b9b9b9; opacity: 1; margin: 0 5px; }
.pl-hero-media .carousel-indicators .active { background: var(--pl-green); }
@media (max-width: 991px) {
  .pl-hero-inner { flex-direction: column; text-align: center; padding: 26px 0; min-height: 0; gap: 20px; }
  .pl-hero-text { flex: none; width: 100%; }
  .pl-hero-media { flex: none; max-width: 100%; width: 100%; }
  .pl-hero-text h1 { font-size: 32px; }
  .pl-hero-desc { margin-left: auto; margin-right: auto; }
  .pl-hero-media .carousel-item img { height: 260px; object-fit: cover; }
}

/* ---------- service icons ---------- */
.h-ser { padding: 34px 0 8px; }
.deliveryinfo .ser { display: flex; align-items: center; gap: 15px; }
.deliveryinfo .ser-svg {
  flex: 0 0 62px; width: 62px; height: 62px; border-radius: 50%; border: 1px dashed #c9c9c9;
  display: flex; align-items: center; justify-content: center; font-size: 24px; color: var(--pl-green); transition: all .3s ease;
}
.deliveryinfo .ser:hover .ser-svg { border-color: var(--pl-green); background: var(--pl-green); color: #fff; }
.ser-t h4 { font-size: 16px; font-weight: 400; margin: 0 0 4px; color: #000; }
.ser-t p { margin: 0; color: var(--pl-muted); font-size: 13px; }

/* ---------- category tiles ---------- */
#common-home > .pl-cat-tiles { max-width: 1320px; margin: 0 auto; padding: 36px 12px 10px; }
.pl-tiles { display: flex; flex-wrap: wrap; justify-content: center; margin: 0 -10px; }
.pl-tile { width: 25%; padding: 10px; }
.pl-tile-link { display: block; text-align: center; color: #000; }
.pl-tile-img { display: block; overflow: hidden; border-radius: var(--pl-radius); background: var(--pl-gray); aspect-ratio: 1 / 1; }
.pl-tile-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.pl-tile-link:hover .pl-tile-img img { transform: scale(1.06); }
.pl-tile-title { display: block; margin-top: 12px; font-size: 17px; font-weight: 500; letter-spacing: .4px; transition: color .2s ease; }
.pl-tile-link:hover .pl-tile-title { color: var(--pl-green); }
@media (max-width: 991px) { .pl-tile { width: 33.333%; } }
@media (max-width: 575px) { .pl-tile { width: 50%; padding: 6px; } .pl-tile-title { font-size: 15px; } }
/* in the sidebar tiles are compact and stacked */
#column-left .pl-cat-tiles, #column-right .pl-cat-tiles { display: none; } /* duplicates the category list in sidebars */
#column-left .pl-cat-heading, #column-right .pl-cat-heading { display: none; }
#column-left .pl-tile, #column-right .pl-tile { width: 100%; padding: 6px 0; }
#column-left .pl-tile-img { aspect-ratio: 16 / 9; }
#column-left .pl-tiles, #column-right .pl-tiles { margin: 0; }
#column-left .pl-tile-title { font-size: 14px; margin-top: 6px; }

/* ---------- product cards ---------- */
.product-thumb {
  position: relative; border: 1px solid var(--pl-line); border-radius: var(--pl-radius); background: #fff;
  overflow: hidden; transition: box-shadow .3s ease, transform .3s ease; height: 100%; display: flex; flex-direction: column;
}
.product-thumb > form { display: flex; flex-direction: column; height: 100%; }
.product-thumb:hover { box-shadow: var(--pl-shadow); border-color: transparent; }
.product-thumb .image { position: relative; text-align: center; background: #fff; overflow: hidden; }
.product-thumb .image { aspect-ratio: 1 / 1; }
.product-thumb .image > a { display: block; height: 100%; }
.product-thumb .image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.product-thumb:hover .image img { transform: scale(1.05); }
.product-thumb .image a:hover { opacity: 1; }
.product-thumb .sale {
  position: absolute; left: 10px; top: 10px; width: 30px; height: 30px; border-radius: 50%;
  background: #ffc600; color: #000; font-size: 11px; display: flex; align-items: center; justify-content: center; z-index: 2;
}
.product-thumb .button-group {
  position: absolute; right: 10px; top: 10px; display: flex; flex-direction: column; gap: 6px; z-index: 3;
  opacity: 0; transform: translateX(12px); transition: all .3s ease;
}
.product-thumb:hover .button-group { opacity: 1; transform: none; }
.product-thumb .button-group button, .product-thumb .button-group .pl-view {
  width: 36px; height: 36px; border: 0; border-radius: 50%; background: #fff; color: #000; font-size: 14px;
  display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(0, 0, 0, .15); transition: all .2s ease; cursor: pointer;
}
.product-thumb .button-group button:hover, .product-thumb .button-group .pl-view:hover { background: var(--pl-green); color: #fff; }
@media (hover: none) { .product-thumb .button-group { opacity: 1; transform: none; } }
.product-thumb .content { display: flex; flex-direction: column; flex: 1; text-align: center; }
.product-thumb .description { padding: 16px 12px 6px; margin: 0; flex: 1; }
.product-thumb .description h4, .product-thumb .protitle { font-size: 15px; font-weight: 500; line-height: 1.35; margin: 0 0 8px; }
.product-thumb .protitle a { color: #000; }
.product-thumb .protitle a:hover { color: var(--pl-green); }
.product-thumb .description p { display: none; }
.product-thumb .rating { margin-bottom: 6px; }
.product-thumb .price { font-size: 16px; }
.price { color: #000; }
.price-new { font-weight: 500; color: var(--pl-green-dark); }
.price-old { color: #9a9a9a; font-size: .9em; text-decoration: line-through; margin-left: 6px; }
.price-tax { color: var(--pl-muted); font-size: 12px; display: block; }
.product-thumb .shopping-cart { padding: 4px 12px 16px; }
.product-thumb .cartb {
  border: 0; background: transparent; color: var(--pl-green); text-transform: uppercase; font-size: 14px; font-weight: 500;
  letter-spacing: 1px; padding: 6px 4px; border-bottom: 1px solid transparent; transition: all .2s ease; cursor: pointer;
}
.product-thumb .cartb:hover { color: #000; border-bottom-color: #000; }
.product-thumb .cartb.btn-disabled, .product-thumb .cartb:disabled { color: #bbb; cursor: default; border-color: transparent; }
.rating .fa-stack { width: 18px; height: 1.5em; }
.rating .fa-star { color: #ffc600; font-size: 13px; }
.rating .fa-star + .fa-star { color: #f89406; }
.rating .fa-regular.fa-star:only-child { color: #cfcfcf; }

/* product list view */
@media (min-width: 992px) {
  .product-list .product-thumb > form { flex-direction: row; }
  .product-list .product-thumb .image { flex: 0 0 240px; }
  .product-list .product-thumb .content { text-align: left; justify-content: center; }
  .product-list .product-thumb .shopping-cart { padding-left: 12px; }
}
.pl-products { --bs-gutter-x: 20px; --bs-gutter-y: 20px; }

/* ---------- breadcrumbs ---------- */
.breadcrumb {
  background: var(--pl-gray); border: 0; border-radius: 0; margin: 0 0 24px; padding: 14px 0; font-size: 13px;
  position: relative;
}
.breadcrumb::before {
  content: ''; position: absolute; top: 0; bottom: 0; left: 50%; width: 100vw; margin-left: -50vw; background: var(--pl-gray); z-index: -1;
}
.breadcrumb > li.breadcrumb-item { text-shadow: none; padding: 0 14px 0 0; position: relative; white-space: nowrap; }
.breadcrumb > li.breadcrumb-item::after { display: none; }
.breadcrumb > li.breadcrumb-item + li::before { content: '\f105'; font-family: 'Font Awesome 6 Free'; font-weight: 900; padding: 0 12px 0 0; color: var(--pl-muted); float: none; font-size: 11px; }
.breadcrumb > li.breadcrumb-item a { color: #000; }
.breadcrumb > li.breadcrumb-item a:hover { color: var(--pl-green); }
.breadcrumb > li.breadcrumb-item:last-child a { color: var(--pl-green-dark); }
#top + header ~ main .breadcrumb, main > div > .breadcrumb { margin-top: 0; }

/* ---------- sidebars / modules ---------- */
#column-left, #column-right { font-size: 14px; }
.list-group { border-radius: var(--pl-radius); }
.list-group-item { border-color: var(--pl-line); color: #000; padding: 11px 16px; transition: all .2s ease; }
.list-group-item:hover { color: var(--pl-green); background: var(--pl-green-soft); }
.list-group-item.active { background: var(--pl-green); border-color: var(--pl-green); color: #fff; }
.pl-topics .list-group-item { display: flex; gap: 10px; align-items: baseline; }
.pl-topics .list-group-item i { color: var(--pl-green); font-size: 12px; }
.pl-topics .list-group-item:hover i { color: inherit; }
#common-home .pl-home-news .list-group { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; border-radius: 0; }
#common-home .pl-home-news .list-group-item { border: 1px solid var(--pl-line); border-radius: var(--pl-radius) !important; padding: 18px 20px; font-weight: 500; background: #fff; }
#common-home .pl-home-news .list-group-item:hover { box-shadow: var(--pl-shadow); border-color: transparent; }
#common-home #column-right { display: block !important; width: auto; max-width: none; padding: 0; }

/* ---------- category page ---------- */
#product-category h1, #product-search h1, #product-manufacturer h1, #product-special h1, #product-compare h1 { margin-bottom: 20px; }
#product-category #content > h3 { font-size: 16px; text-transform: uppercase; letter-spacing: .8px; }
#product-category #content ul:not(.pagination) { padding-left: 18px; }
#product-category .img-thumbnail { border-radius: var(--pl-radius); }
.pl-subcats { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 26px; }
.pl-chip { display: inline-block; padding: 8px 18px; border: 1px solid #e4e4e4; border-radius: 30px; color: #000; font-size: 13px; transition: all .2s ease; }
.pl-chip:hover { background: var(--pl-green); border-color: var(--pl-green); color: #fff; }
#product-category .pl-products, #product-search .pl-products { margin-bottom: 20px; }
#button-list, #button-grid { border-color: #e4e4e4; color: #000; }
#button-list:hover, #button-grid:hover, #button-list.active, #button-grid.active { background: var(--pl-green); border-color: var(--pl-green); color: #fff; }
.pagination { --bs-pagination-color: #000; --bs-pagination-hover-color: #fff; --bs-pagination-hover-bg: #6ea820; --bs-pagination-hover-border-color: #6ea820; --bs-pagination-active-bg: #6ea820; --bs-pagination-active-border-color: #6ea820; --bs-pagination-focus-color: #6ea820; --bs-pagination-border-color: #e4e4e4; gap: 4px; }
.page-link { border-radius: var(--pl-radius) !important; }
.pagination { flex-wrap: wrap; }
@media (max-width: 575px) { .pagination { justify-content: center; } #content .row > .text-end, #content .row > .text-start { text-align: center !important; margin-bottom: 8px; } }

/* ---------- product page ---------- */
#product-info h1 { font-size: 28px; margin-bottom: 14px; }
#product-info .magnific-popup .img-thumbnail { border: 1px solid var(--pl-line); border-radius: var(--pl-radius); background: var(--pl-gray); padding: 0; width: 100%; }
#product-info .magnific-popup > div .img-thumbnail { width: 84px; margin: 0 4px 4px 0; }
#product-info h2 { font-size: 30px; color: var(--pl-green-dark); font-weight: 500; }
#product-info h2 .price-new { color: var(--pl-green-dark); }
#product-info .price-old { font-size: 16px; }
#product-info #button-cart { padding: .75rem 2.2rem; text-transform: uppercase; letter-spacing: 1px; font-weight: 500; }
#product-info .list-unstyled li { padding: 2px 0; }
#product-info .list-unstyled a { color: var(--pl-green-dark); }
#product-info .btn-group .btn-light { color: #000; }
#product-info .nav-tabs { margin-top: 10px; }
#product-info .tab-content { padding-top: 6px; }

/* ---------- footer ---------- */
footer {
  border: 0; position: static; width: auto; padding: 0; margin: 40px 0 0; background: none; color: #000;
}
footer .middle-footer { background: var(--pl-green-soft); padding: 48px 0 36px; }
footer h5 {
  font-family: inherit; font-size: 17px; font-weight: 500; letter-spacing: .8px; text-transform: uppercase; color: #000; margin: 0 0 18px;
}
footer a { color: #333; text-decoration: none; }
footer a:hover { color: var(--pl-green); }
footer .list-unstyled li { margin-bottom: 9px; }
footer .foot-contact li { display: flex; gap: 12px; align-items: flex-start; }
footer .foot-contact i { color: var(--pl-green); width: 16px; margin-top: 4px; text-align: center; }
footer .footer-bottom { background: #fff; border-top: 1px solid var(--pl-line); padding: 18px 0; font-size: 13px; color: var(--pl-muted); }
footer .foot-payment { font-size: 26px; color: #9a9a9a; }
footer .foot-payment li { margin-left: 8px; }

/* call-to-action band above the footer */
.pl-cta { background: var(--pl-green); color: #fff; margin-top: 40px; }
.pl-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 38px 0; }
.pl-cta .pl-sub { color: rgba(255, 255, 255, .85); margin-bottom: 6px; font-size: 15px; text-transform: uppercase; letter-spacing: 1.2px; }
.pl-cta h2 { color: #fff; font-size: 28px; margin: 0; max-width: 640px; line-height: 1.3; }
.pl-cta .btn-light { color: var(--pl-green-dark); border-color: #fff; white-space: nowrap; font-weight: 500; }
.pl-cta .btn-light:hover { background: #000; border-color: #000; color: #fff; }
@media (max-width: 767px) {
  .pl-cta-inner { flex-direction: column; text-align: center; padding: 30px 0; }
  .pl-cta h2 { font-size: 22px; }
}
footer { margin-top: 0; }

/* ---------- cookie ---------- */
#cookie {
  position: fixed; left: 50%; bottom: 20px; transform: translateX(-50%); width: calc(100% - 24px); max-width: 780px; height: auto;
  background: #2d394b; color: #fff; border-radius: 6px; z-index: 9999; opacity: 1; box-shadow: 0 8px 30px rgba(0, 0, 0, .25);
}
#cookie div, #cookie p { color: #fff; font-size: 14px; }
#cookie p { margin-bottom: 12px; }
#cookie .btn { padding: .4rem 1.2rem; }

/* ---------- misc ---------- */
.blog-thumb { border-color: var(--pl-line); border-radius: var(--pl-radius); overflow: hidden; }
.blog-thumb:hover { box-shadow: var(--pl-shadow); }
#account-login .well, .well { border-radius: var(--pl-radius); }
img.img-thumbnail { border-color: var(--pl-line); }
#checkout-cart .table td { vertical-align: middle; }
.pl-search-form .btn-primary:hover { background: #000; }
@media (max-width: 575px) {
  h1 { font-size: 24px; }
  .heading { font-size: 22px; }
  .product-thumb .description { padding: 12px 8px 4px; }
  .product-thumb .description h4, .product-thumb .protitle { font-size: 14px; }
}

body { overflow-x: hidden; }
