/* =========================================================================
   theme-esther2.css — Farmadto.es PrestaShop 1.7 esther2 theme bundle
   Replaces: theme-8eb68730.css, theme-f71b5332.css, theme-c4411d31.css
   Brand: pharmacy / parafarmacia · Spanish · green accent #3aa45c
   ========================================================================= */

/* -------------------------------------------------------------------------
   1. Reset & base typography
   ------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: "Poppins", "Open Sans", "Overpass", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.55;
  color: #444;
  background: #ffffff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
main { display: block; }
a { color: #3aa45c; text-decoration: none; transition: color .2s ease; }
a:hover, a:focus { color: #2e7b4a; text-decoration: none; }
img { max-width: 100%; height: auto; border: 0; vertical-align: middle; }
img.img-responsive { display: block; max-width: 100%; height: auto; }
button { font-family: inherit; cursor: pointer; }
ul, ol { padding-left: 1.4em; }
p { margin: 0 0 0.9em; }
h1, h2, h3, h4, h5, h6 {
  margin: 0 0 .6em;
  font-family: inherit;
  font-weight: 600;
  color: #2c3e50;
  line-height: 1.25;
}
h1 { font-size: 1.9em; color: #2e7b4a; }
h2 { font-size: 1.45em; color: #3aa45c; }
h3 { font-size: 1.18em; }
h4 { font-size: 1.05em; }
h5 { font-size: 1em; }
h6 { font-size: .9em; text-transform: uppercase; letter-spacing: .04em; }
strong, b { font-weight: 600; color: #2c3e50; }
em, i { font-style: italic; }
hr { border: 0; border-top: 1px solid #e6e6e6; margin: 1.4em 0; }
.clearfix::after { content: ""; display: table; clear: both; }
.sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}

/* -------------------------------------------------------------------------
   2. Bootstrap 4 grid
   ------------------------------------------------------------------------- */
.container, .container-fluid {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 15px;
  padding-left: 15px;
}
@media (min-width: 576px) { .container { max-width: 540px; } }
@media (min-width: 768px) { .container { max-width: 720px; } }
@media (min-width: 992px) { .container { max-width: 960px; } }
@media (min-width: 1200px) { .container { max-width: 1170px; } }

.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}
.no-gutters { margin-right: 0; margin-left: 0; }
.no-gutters > .col, .no-gutters > [class*="col-"] { padding-right: 0; padding-left: 0; }

.col, [class*="col-"] {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}
.col { -ms-flex-preferred-size: 0; flex-basis: 0; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; }
.col-auto { -ms-flex: 0 0 auto; flex: 0 0 auto; width: auto; max-width: 100%; }
.col-1  { -ms-flex: 0 0 8.333333%;  flex: 0 0 8.333333%;  max-width: 8.333333%; }
.col-2  { -ms-flex: 0 0 16.666667%; flex: 0 0 16.666667%; max-width: 16.666667%; }
.col-3  { -ms-flex: 0 0 25%;        flex: 0 0 25%;        max-width: 25%; }
.col-4  { -ms-flex: 0 0 33.333333%; flex: 0 0 33.333333%; max-width: 33.333333%; }
.col-5  { -ms-flex: 0 0 41.666667%; flex: 0 0 41.666667%; max-width: 41.666667%; }
.col-6  { -ms-flex: 0 0 50%;        flex: 0 0 50%;        max-width: 50%; }
.col-7  { -ms-flex: 0 0 58.333333%; flex: 0 0 58.333333%; max-width: 58.333333%; }
.col-8  { -ms-flex: 0 0 66.666667%; flex: 0 0 66.666667%; max-width: 66.666667%; }
.col-9  { -ms-flex: 0 0 75%;        flex: 0 0 75%;        max-width: 75%; }
.col-10 { -ms-flex: 0 0 83.333333%; flex: 0 0 83.333333%; max-width: 83.333333%; }
.col-11 { -ms-flex: 0 0 91.666667%; flex: 0 0 91.666667%; max-width: 91.666667%; }
.col-12 { -ms-flex: 0 0 100%;       flex: 0 0 100%;       max-width: 100%; }

.col-xs-1  { flex: 0 0 8.333333%;  max-width: 8.333333%; }
.col-xs-2  { flex: 0 0 16.666667%; max-width: 16.666667%; }
.col-xs-3  { flex: 0 0 25%;        max-width: 25%; }
.col-xs-4  { flex: 0 0 33.333333%; max-width: 33.333333%; }
.col-xs-5  { flex: 0 0 41.666667%; max-width: 41.666667%; }
.col-xs-6  { flex: 0 0 50%;        max-width: 50%; }
.col-xs-7  { flex: 0 0 58.333333%; max-width: 58.333333%; }
.col-xs-8  { flex: 0 0 66.666667%; max-width: 66.666667%; }
.col-xs-9  { flex: 0 0 75%;        max-width: 75%; }
.col-xs-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
.col-xs-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
.col-xs-12 { flex: 0 0 100%;       max-width: 100%; }

@media (min-width: 576px) {
  .col-sm  { flex-basis: 0; flex-grow: 1; max-width: 100%; }
  .col-sm-auto { flex: 0 0 auto; width: auto; max-width: 100%; }
  .col-sm-1  { flex: 0 0 8.333333%;  max-width: 8.333333%; }
  .col-sm-2  { flex: 0 0 16.666667%; max-width: 16.666667%; }
  .col-sm-3  { flex: 0 0 25%;        max-width: 25%; }
  .col-sm-4  { flex: 0 0 33.333333%; max-width: 33.333333%; }
  .col-sm-5  { flex: 0 0 41.666667%; max-width: 41.666667%; }
  .col-sm-6  { flex: 0 0 50%;        max-width: 50%; }
  .col-sm-7  { flex: 0 0 58.333333%; max-width: 58.333333%; }
  .col-sm-8  { flex: 0 0 66.666667%; max-width: 66.666667%; }
  .col-sm-9  { flex: 0 0 75%;        max-width: 75%; }
  .col-sm-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
  .col-sm-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
  .col-sm-12 { flex: 0 0 100%;       max-width: 100%; }
}
@media (min-width: 768px) {
  .col-md  { flex-basis: 0; flex-grow: 1; max-width: 100%; }
  .col-md-auto { flex: 0 0 auto; width: auto; max-width: 100%; }
  .col-md-1  { flex: 0 0 8.333333%;  max-width: 8.333333%; }
  .col-md-2  { flex: 0 0 16.666667%; max-width: 16.666667%; }
  .col-md-3  { flex: 0 0 25%;        max-width: 25%; }
  .col-md-4  { flex: 0 0 33.333333%; max-width: 33.333333%; }
  .col-md-5  { flex: 0 0 41.666667%; max-width: 41.666667%; }
  .col-md-6  { flex: 0 0 50%;        max-width: 50%; }
  .col-md-7  { flex: 0 0 58.333333%; max-width: 58.333333%; }
  .col-md-8  { flex: 0 0 66.666667%; max-width: 66.666667%; }
  .col-md-9  { flex: 0 0 75%;        max-width: 75%; }
  .col-md-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
  .col-md-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
  .col-md-12 { flex: 0 0 100%;       max-width: 100%; }
}
@media (min-width: 992px) {
  .col-lg  { flex-basis: 0; flex-grow: 1; max-width: 100%; }
  .col-lg-auto { flex: 0 0 auto; width: auto; max-width: 100%; }
  .col-lg-1  { flex: 0 0 8.333333%;  max-width: 8.333333%; }
  .col-lg-2  { flex: 0 0 16.666667%; max-width: 16.666667%; }
  .col-lg-3  { flex: 0 0 25%;        max-width: 25%; }
  .col-lg-4  { flex: 0 0 33.333333%; max-width: 33.333333%; }
  .col-lg-5  { flex: 0 0 41.666667%; max-width: 41.666667%; }
  .col-lg-6  { flex: 0 0 50%;        max-width: 50%; }
  .col-lg-7  { flex: 0 0 58.333333%; max-width: 58.333333%; }
  .col-lg-8  { flex: 0 0 66.666667%; max-width: 66.666667%; }
  .col-lg-9  { flex: 0 0 75%;        max-width: 75%; }
  .col-lg-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
  .col-lg-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
  .col-lg-12 { flex: 0 0 100%;       max-width: 100%; }
}
@media (min-width: 1200px) {
  .col-xl  { flex-basis: 0; flex-grow: 1; max-width: 100%; }
  .col-xl-auto { flex: 0 0 auto; width: auto; max-width: 100%; }
  .col-xl-1  { flex: 0 0 8.333333%;  max-width: 8.333333%; }
  .col-xl-2  { flex: 0 0 16.666667%; max-width: 16.666667%; }
  .col-xl-3  { flex: 0 0 25%;        max-width: 25%; }
  .col-xl-4  { flex: 0 0 33.333333%; max-width: 33.333333%; }
  .col-xl-5  { flex: 0 0 41.666667%; max-width: 41.666667%; }
  .col-xl-6  { flex: 0 0 50%;        max-width: 50%; }
  .col-xl-7  { flex: 0 0 58.333333%; max-width: 58.333333%; }
  .col-xl-8  { flex: 0 0 66.666667%; max-width: 66.666667%; }
  .col-xl-9  { flex: 0 0 75%;        max-width: 75%; }
  .col-xl-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
  .col-xl-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
  .col-xl-12 { flex: 0 0 100%;       max-width: 100%; }
}

.offset-1  { margin-left: 8.333333%; }
.offset-2  { margin-left: 16.666667%; }
.offset-3  { margin-left: 25%; }
.offset-4  { margin-left: 33.333333%; }
.offset-6  { margin-left: 50%; }

/* Flex helpers */
.d-flex { display: -ms-flexbox !important; display: flex !important; }
.d-inline-flex { display: inline-flex !important; }
.d-block { display: block !important; }
.d-inline-block { display: inline-block !important; }
.d-none { display: none !important; }
.flex-row { flex-direction: row !important; }
.flex-column { flex-direction: column !important; }
.flex-wrap { flex-wrap: wrap !important; }
.justify-content-start { justify-content: flex-start !important; }
.justify-content-center { justify-content: center !important; }
.justify-content-end { justify-content: flex-end !important; }
.justify-content-between { justify-content: space-between !important; }
.justify-content-around { justify-content: space-around !important; }
.align-items-start { align-items: flex-start !important; }
.align-items-center { align-items: center !important; }
.align-items-end { align-items: flex-end !important; }
.align-self-center { align-self: center !important; }
.position-static { position: static !important; }
.position-relative { position: relative !important; }
.position-absolute { position: absolute !important; }

/* -------------------------------------------------------------------------
   3. Visibility helpers (PS 1.7 + Bootstrap 4 mix)
   ------------------------------------------------------------------------- */
.hidden-xs-down { display: none !important; }
@media (min-width: 576px) { .hidden-xs-down { display: block !important; } }
.hidden-sm-down { display: none !important; }
@media (min-width: 768px) { .hidden-sm-down { display: block !important; } }
.hidden-md-down { display: none !important; }
@media (min-width: 992px) { .hidden-md-down { display: block !important; } }
.hidden-lg-down { display: none !important; }
@media (min-width: 1200px) { .hidden-lg-down { display: block !important; } }

@media (min-width: 576px) { .hidden-xs-up { display: none !important; } }
@media (min-width: 768px) { .hidden-sm-up { display: none !important; } }
@media (min-width: 992px) { .hidden-md-up { display: none !important; } }
@media (min-width: 1200px) { .hidden-lg-up { display: none !important; } }

.visible-xs { display: block !important; }
@media (min-width: 576px) { .visible-xs { display: none !important; } }
.visible-sm { display: none !important; }
@media (min-width: 576px) and (max-width: 767.98px) { .visible-sm { display: block !important; } }
.visible-md { display: none !important; }
@media (min-width: 768px) and (max-width: 991.98px) { .visible-md { display: block !important; } }
.visible-lg { display: none !important; }
@media (min-width: 992px) { .visible-lg { display: block !important; } }

.float-xs-left { float: left !important; }
.float-xs-right { float: right !important; }
.float-md-left { float: left !important; }
.float-md-right { float: right !important; }

/* -------------------------------------------------------------------------
   4. Spacing utilities
   ------------------------------------------------------------------------- */
.m-0 { margin: 0 !important; }
.m-1 { margin: .25rem !important; }
.m-2 { margin: .5rem !important; }
.m-3 { margin: 1rem !important; }
.m-4 { margin: 1.5rem !important; }
.m-5 { margin: 3rem !important; }
.mt-0 { margin-top: 0 !important; }
.mt-1 { margin-top: .25rem !important; }
.mt-2 { margin-top: .5rem !important; }
.mt-3 { margin-top: 1rem !important; }
.mt-4 { margin-top: 1.5rem !important; }
.mt-5 { margin-top: 3rem !important; }
.mb-0 { margin-bottom: 0 !important; }
.mb-1 { margin-bottom: .25rem !important; }
.mb-2 { margin-bottom: .5rem !important; }
.mb-3 { margin-bottom: 1rem !important; }
.mb-4 { margin-bottom: 1.5rem !important; }
.mb-5 { margin-bottom: 3rem !important; }
.ml-0 { margin-left: 0 !important; } .ml-1 { margin-left: .25rem !important; } .ml-2 { margin-left: .5rem !important; } .ml-3 { margin-left: 1rem !important; } .ml-auto { margin-left: auto !important; }
.mr-0 { margin-right: 0 !important; } .mr-1 { margin-right: .25rem !important; } .mr-2 { margin-right: .5rem !important; } .mr-3 { margin-right: 1rem !important; } .mr-auto { margin-right: auto !important; }
.mx-auto { margin-left: auto !important; margin-right: auto !important; }
.p-0 { padding: 0 !important; }
.p-1 { padding: .25rem !important; }
.p-2 { padding: .5rem !important; }
.p-3 { padding: 1rem !important; }
.p-4 { padding: 1.5rem !important; }
.p-5 { padding: 3rem !important; }
.pt-0 { padding-top: 0 !important; } .pt-1 { padding-top: .25rem !important; } .pt-2 { padding-top: .5rem !important; } .pt-3 { padding-top: 1rem !important; } .pt-4 { padding-top: 1.5rem !important; }
.pb-0 { padding-bottom: 0 !important; } .pb-1 { padding-bottom: .25rem !important; } .pb-2 { padding-bottom: .5rem !important; } .pb-3 { padding-bottom: 1rem !important; } .pb-4 { padding-bottom: 1.5rem !important; }
.pl-0 { padding-left: 0 !important; } .pl-2 { padding-left: .5rem !important; } .pl-3 { padding-left: 1rem !important; }
.pr-0 { padding-right: 0 !important; } .pr-2 { padding-right: .5rem !important; } .pr-3 { padding-right: 1rem !important; }

.text-center { text-align: center !important; }
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }
.text-justify { text-align: justify !important; }
.text-uppercase { text-transform: uppercase !important; }
.text-muted { color: #888 !important; }
.text-primary { color: #3aa45c !important; }
.text-success { color: #2e7b4a !important; }
.text-danger  { color: #d9534f !important; }
.font-weight-bold { font-weight: 700 !important; }
.font-weight-normal { font-weight: 400 !important; }
.bg-white { background: #fff !important; }
.bg-light { background: #f7f9f8 !important; }

/* -------------------------------------------------------------------------
   5. Header — top, nav, banner
   ------------------------------------------------------------------------- */
#header {
  background: #ffffff;
  border-bottom: 1px solid #e8ebe9;
  font-size: 14px;
}
.header-banner { background: #f5f8f6; min-height: 0; }
.header-banner:empty { display: none; }

.header-nav {
  background: #f5f8f6;
  border-bottom: 1px solid #ecefed;
  padding: 6px 0;
  font-size: 13px;
  color: #555;
}
.header-nav .container { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.header-nav a { color: #555; }
.header-nav a:hover { color: #3aa45c; }
.static-nav { display: inline-block; padding-right: 18px; }
.static-nav a { font-weight: 500; }

#_desktop_static, #_desktop_user_info, #_desktop_compare {
  display: inline-block;
  vertical-align: middle;
  margin-right: 14px;
}
.user-info-block, .compare_top { display: inline-block; }
.currency-selector .btn-unstyle {
  background: transparent;
  border: 0;
  color: #444;
  padding: 4px 10px;
  font-size: 13px;
  display: inline-flex;
  align-items: center;
}
.btn-unstyle { background: none; border: 0; padding: 0; }
.btn-unstyle .expand-more { margin-right: 4px; }
.material-icons {
  font-family: "Material Icons";
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
}
.dropdown { position: relative; }
.dropdown-menu {
  display: none;
  position: absolute;
  top: 100%; left: 0;
  z-index: 1000;
  min-width: 180px;
  margin: 0; padding: 6px 0;
  background: #fff;
  border: 1px solid #e0e3e1;
  border-radius: 3px;
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
  list-style: none;
}
.dropdown.open > .dropdown-menu,
.dropdown:hover > .dropdown-menu,
.js-dropdown:hover .dropdown-menu { display: block; }
.dropdown-item {
  display: block;
  padding: 7px 14px;
  color: #444;
  font-size: 13px;
  white-space: nowrap;
}
.dropdown-item:hover, .dropdown-item:focus {
  background: #f1f6f3;
  color: #3aa45c;
}

.compare_top a { display: inline-flex; align-items: center; gap: 6px; }
.compare_top i { color: #3aa45c; margin-right: 4px; }

/* mobile header rows */
.row-mobile { align-items: center; }
.col-mobile { padding: 6px; }
#menu-icon { font-size: 24px; cursor: pointer; color: #3aa45c; }
.menu-close { padding: 10px 14px; border-bottom: 1px solid #eee; font-weight: 600; cursor: pointer; }
.top-header-mobile { display: flex; padding: 10px; gap: 10px; }
#mobile_top_menu_wrapper {
  position: fixed; top: 0; left: 0;
  width: 280px; height: 100vh;
  background: #fff;
  z-index: 9999;
  overflow-y: auto;
  box-shadow: 2px 0 16px rgba(0,0,0,.15);
}
.js-top-menu-bottom { padding: 8px 0; }

/* Header top with logo & megamenu */
.header-top {
  padding: 18px 0;
  background: #ffffff;
}
.header-top .row { align-items: center; }
#_desktop_logo a { display: inline-block; }
#_desktop_logo .logo {
  max-width: 100%;
  max-height: 70px;
  width: auto;
  height: auto;
}
#_mobile_logo, .top-logo {
  text-align: center;
}
#_mobile_logo img { max-height: 50px; }

/* Header bottom row with menu & cart */
.header-bottom {
  background: #fff;
  border-top: 1px solid #ecefed;
  padding: 10px 0;
}
.header-bottom .row { align-items: stretch; }

/* -------------------------------------------------------------------------
   6. Mega menu — horizontal + vertical
   ------------------------------------------------------------------------- */
.pos-menu-horizontal,
.pos-menu-vertical {
  position: relative;
}
.pos-menu-horizontal .menu-content,
.pos-menu-vertical .menu-content {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}
.pos-menu-vertical {
  background: #fff;
  border: 1px solid #e6e8e7;
  border-radius: 4px;
}
.pos-menu-vertical .menu-content {
  flex-direction: column;
}
.title_vertical {
  background: #3aa45c;
  color: #fff;
  margin: 0;
  padding: 12px 18px;
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .03em;
  border-radius: 4px 4px 0 0;
}
.menu-item {
  position: relative;
  list-style: none;
}
.pos-menu-horizontal .menu-item {
  padding: 10px 18px;
}
.pos-menu-vertical .menu-item {
  border-bottom: 1px solid #f0f2f1;
  padding: 0;
}
.pos-menu-vertical .menu-item:last-child { border-bottom: 0; }
.menu-item > a {
  color: #2c3e50;
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .03em;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.pos-menu-vertical .menu-item > a {
  display: flex;
  justify-content: space-between;
  padding: 11px 18px;
  width: 100%;
}
.menu-item > a:hover { color: #3aa45c; }
.menu-item.hasChild > a::after {
  content: "";
}
.icon_sub { color: #999; font-size: 12px; margin-left: auto; }
.icon-drop-mobile { display: none; }
.pe-7s-angle-down::before { content: "\25BE"; font-style: normal; }

.pos-sub-menu {
  display: none;
  position: absolute;
  top: 100%; left: 0;
  background: #fff;
  border: 1px solid #e6e8e7;
  box-shadow: 0 8px 22px rgba(0,0,0,.08);
  padding: 18px;
  z-index: 999;
  min-width: 240px;
}
.pos-menu-vertical .pos-sub-menu {
  left: 100%; top: 0;
  min-width: 600px;
}
.menu-item:hover > .pos-sub-menu { display: block; }
.menu-item:hover > .menu-dropdown { display: block; }
.menu-dropdown {
  display: none;
  position: absolute;
  top: 100%; left: 0;
  list-style: none;
  margin: 0; padding: 8px 0;
  background: #fff;
  border: 1px solid #e6e8e7;
  border-radius: 3px;
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
  min-width: 220px;
  z-index: 999;
}
.menu-dropdown li { list-style: none; }
.menu-dropdown a {
  display: block;
  padding: 7px 16px;
  color: #444;
  font-size: 13px;
}
.menu-dropdown a:hover { background: #f1f6f3; color: #3aa45c; }
.cat-drop-menu { list-style: none; padding: 8px 0; }
.menu_slidedown { animation: slideDown .25s ease; }
.menu_noanimation { animation: none; }
@keyframes slideDown { from { opacity: 0; transform: translateY(-8px);} to { opacity: 1; transform: translateY(0);} }

.pos-sub-inner { padding: 6px; }
.pos-menu-row { display: flex; flex-wrap: wrap; }
.pos-menu-col { padding: 8px; }
.ul-column { list-style: none; padding: 0; margin: 0; }
.submenu-item { padding: 4px 0; }
.html-block { padding: 8px 0; }
.custom_menu { padding: 4px; }
.menu_block { padding: 10px; }
.custom_txt, .custom_txt1 { color: #2c3e50; font-weight: 600; margin: 0 0 6px; font-size: 14px; }
.custom_banner img { display: block; margin: 0 auto; }

.popup_vertical {
  display: flex;
  background: #fff;
}

/* Search widget */
.block-search { padding: 0 15px; }
#search_widget { position: relative; }
#search_widget form { position: relative; }
.search_top input[type=text],
#search_widget input.text_input {
  width: 100%;
  height: 42px;
  padding: 6px 50px 6px 16px;
  border: 1px solid #d5d9d7;
  border-radius: 30px;
  background: #fff;
  font-size: 14px;
  color: #333;
  outline: none;
  transition: border-color .2s ease;
}
#search_widget input.text_input:focus { border-color: #3aa45c; }
#search_widget button[type=submit] {
  position: absolute;
  top: 0; right: 0;
  width: 44px; height: 42px;
  border: 0;
  border-radius: 0 30px 30px 0;
  background: #3aa45c;
  color: #fff;
  font-size: 16px;
}
#search_widget button[type=submit]:hover { background: #2e7b4a; }

.ui-autocomplete, .ac_results {
  position: absolute;
  z-index: 1100;
  background: #fff;
  border: 1px solid #e0e3e1;
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
  list-style: none;
  margin: 0; padding: 4px 0;
  width: 100%;
  max-height: 380px;
  overflow-y: auto;
}
.ui-autocomplete li, .ac_results li { padding: 6px 12px; cursor: pointer; }
.ui-autocomplete li:hover, .ac_results li:hover, .ac_match { background: #f1f6f3; color: #3aa45c; }

/* Cart preview */
#_desktop_cart_block { float: right; position: relative; }
.blockcart, .cart-preview { position: relative; display: inline-block; }
.button_cart a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #3aa45c;
  color: #fff;
  padding: 9px 18px;
  border-radius: 30px;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}
.button_cart a:hover { background: #2e7b4a; color: #fff; }
.button_cart .item_total { margin-left: 4px; }
.button_cart .item_count {
  background: #fff;
  color: #3aa45c;
  border-radius: 50%;
  min-width: 22px;
  height: 22px;
  line-height: 22px;
  text-align: center;
  font-size: 11px;
  font-weight: 700;
  margin-left: 6px;
  padding: 0 6px;
}
.popup_cart {
  display: none;
  position: absolute;
  top: 100%; right: 0;
  width: 320px;
  background: #fff;
  border: 1px solid #e0e3e1;
  border-radius: 4px;
  box-shadow: 0 8px 22px rgba(0,0,0,.12);
  padding: 16px;
  margin-top: 8px;
  z-index: 999;
}
.blockcart:hover .popup_cart { display: block; }
.mini_cart_arrow {
  position: absolute;
  top: -7px; right: 30px;
  width: 14px; height: 14px;
  background: #fff;
  border-left: 1px solid #e0e3e1;
  border-top: 1px solid #e0e3e1;
  transform: rotate(45deg);
}
.content-cart ul { list-style: none; padding: 0; margin: 0 0 8px; }
.price_content { border-top: 1px solid #eee; padding-top: 10px; }
.price_inline {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3px 0;
  font-size: 13px;
}
.price_inline .label { color: #666; font-weight: 400; }
.price_inline .value { color: #2c3e50; font-weight: 600; }
.cart-total { padding-top: 8px; border-top: 1px dashed #ddd; margin-top: 6px; font-size: 14px; }
.cart-total .value { color: #3aa45c; font-size: 16px; font-weight: 700; }
.checkout { margin-top: 12px; }
.checkout a { display: block; text-align: center; }

#_desktop_wishtlist .wishtlist_top a,
#_desktop_compare a {
  color: #555;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
}
#_desktop_wishtlist .icon-heart { color: #d9534f; margin-right: 4px; }

/* contact link */
#_desktop_contact_link, .contact-link {
  margin-left: 14px;
  font-size: 13px;
  color: #555;
}

/* -------------------------------------------------------------------------
   7. Banner slideshow / homepage hero
   ------------------------------------------------------------------------- */
.pos_bannerslide {
  position: relative;
  margin-bottom: 30px;
  overflow: hidden;
}
.slideshow_container, .pos-slideshow {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.flexslider, .ma-nivoslider {
  position: relative;
  width: 100%;
  max-height: 520px;
  overflow: hidden;
  background: #f3f6f4;
}
.pos-loading {
  position: relative;
  width: 100%;
  text-align: center;
}
.pos-loading img { width: 100%; height: auto; display: block; }
.slides {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
}
.slides a {
  display: block;
  width: 100%; height: 100%;
}
.slides img { width: 100%; height: auto; display: block; }
.pos-slideshow-caption, .nivo-html-caption, .nivo-caption {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  display: flex;
  align-items: center;
  z-index: 6;
}
.banner7-des { width: 100%; }
.desc_slideshow {
  max-width: 520px;
  padding: 24px 28px;
  background: rgba(255,255,255,.86);
  border-radius: 6px;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
}
.position_center { margin: 0 auto; }
.desc_slideshow h2 {
  color: #2e7b4a;
  font-size: 2em;
  margin: 0 0 .15em;
  line-height: 1.1;
}
.desc_slideshow p { color: #444; font-size: 1em; margin: .4em 0 .8em; }
.readmore {
  display: inline-block;
  background: #3aa45c;
  color: #fff;
  padding: 10px 26px;
  border-radius: 30px;
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
}
.readmore:hover { background: #2e7b4a; color: #fff; }
.timethai { display: none; }
@media (max-width: 767.98px) {
  .desc_slideshow { padding: 14px; max-width: 90%; }
  .desc_slideshow h2 { font-size: 1.3em; }
}

/* Home secondary banners */
.home-banner { margin: 24px 0; }
.banner-box { margin-bottom: 16px; }
.banner-box img { display: block; width: 100%; height: auto; border-radius: 4px; }

/* -------------------------------------------------------------------------
   8. Breadcrumb
   ------------------------------------------------------------------------- */
.breadcrumb_container {
  background: #f5f8f6;
  border-top: 1px solid #ecefed;
  border-bottom: 1px solid #ecefed;
  padding: 10px 0;
  margin-bottom: 18px;
  font-size: 13px;
}
.breadcrumb, #breadcrumb {
  margin: 0;
  padding: 0;
  background: transparent;
}
.breadcrumb ol {
  list-style: none;
  margin: 0; padding: 0;
  display: flex;
  flex-wrap: wrap;
}
.breadcrumb li, .breadcrumb-item {
  display: inline-flex;
  align-items: center;
  color: #777;
}
.breadcrumb li + li::before,
.breadcrumb-item + .breadcrumb-item::before {
  content: "/";
  padding: 0 8px;
  color: #b8bdba;
}
.breadcrumb a, .breadcrumb-link {
  color: #3aa45c;
}
.breadcrumb a:hover { color: #2e7b4a; text-decoration: underline; }
.breadcrumb li:last-child a { color: #555; pointer-events: none; }

/* -------------------------------------------------------------------------
   9. Main wrapper / content
   ------------------------------------------------------------------------- */
#wrapper {
  padding: 0 0 36px;
}
#wrapper.wrapper_top {
  padding-top: 8px;
}
#content-wrapper, #content {
  background: #fff;
}
#main {
  padding-bottom: 16px;
}
.page-header {
  border-bottom: 1px solid #ecefed;
  padding-bottom: 12px;
  margin-bottom: 22px;
}
.page-header h1 {
  margin: 0;
  color: #2e7b4a;
  font-size: 1.7em;
  font-weight: 600;
}
.page-content {
  padding: 6px 0;
  color: #444;
  line-height: 1.65;
}
.page-content p { margin: 0 0 1em; }
.page-content h2 {
  margin: 1.4em 0 .5em;
  font-size: 1.3em;
  color: #2e7b4a;
  border-left: 4px solid #3aa45c;
  padding-left: 12px;
}
.page-content h3 {
  margin: 1.2em 0 .4em;
  font-size: 1.1em;
  color: #3aa45c;
}
.page-content ul, .page-content ol {
  margin: 0 0 1em 0;
  padding-left: 1.3em;
}
.page-content li { margin-bottom: .35em; }
.page-content a { color: #3aa45c; text-decoration: underline; }
.page-content a:hover { color: #2e7b4a; }

/* CMS pages */
#cms, .page-cms, .rte-content, .cms-block {
  background: #fff;
  padding: 14px 0 30px;
}
#cms .page-content,
.page-cms .page-content {
  max-width: 100%;
  padding: 4px 0;
}

#notifications {
  background: transparent;
  padding: 0;
}

/* page-footer (per-page footer wrapper - empty) */
.page-footer { margin-top: 18px; }
.page-footer:empty { display: none; }

/* -------------------------------------------------------------------------
   10. Section titles / product blocks
   ------------------------------------------------------------------------- */
.pos_title, .title_block, .section-title {
  margin: 28px 0 18px;
  text-align: center;
  position: relative;
}
.pos_title h2, .title_block h2, .section-title h2 {
  display: inline-block;
  margin: 0;
  padding: 0 22px 8px;
  font-size: 1.4em;
  color: #2e7b4a;
  text-transform: uppercase;
  letter-spacing: .03em;
  border-bottom: 2px solid #3aa45c;
}
.pos_title h2 span { color: #3aa45c; }

.pos_content {
  margin: 0 -10px;
  display: flex;
  flex-wrap: wrap;
}

.pos-special-products,
.pos-featured-products,
.tab-category-container-slider,
.featured-products,
.featured-products-block {
  padding: 12px 0 30px;
}
.tab_cates {
  list-style: none;
  display: inline-flex;
  gap: 6px;
  margin: 12px 0 0;
  padding: 0;
  justify-content: center;
  flex-wrap: wrap;
}
.tab_cates li {
  padding: 6px 14px;
  background: #f1f6f3;
  border-radius: 22px;
  color: #555;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.tab_cates li.active,
.tab_cates li:hover {
  background: #3aa45c;
  color: #fff;
}
.cate_mobile { margin: 10px 0; }

/* Product miniature card */
.special-item, .feature-item { width: 100%; }
.item-product {
  padding: 8px;
  flex: 0 0 50%;
  max-width: 50%;
}
@media (min-width: 576px) { .item-product { flex: 0 0 50%;  max-width: 50%; } }
@media (min-width: 768px) { .item-product { flex: 0 0 33.333%; max-width: 33.333%; } }
@media (min-width: 992px) { .item-product { flex: 0 0 25%;     max-width: 25%; } }
@media (min-width: 1200px){ .item-product { flex: 0 0 20%;     max-width: 20%; } }

.product-miniature, .style_product_default, .js-product-miniature {
  background: #fff;
  border: 1px solid #ecefed;
  border-radius: 4px;
  padding: 12px;
  transition: box-shadow .25s ease, transform .25s ease;
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.product-miniature:hover {
  box-shadow: 0 8px 22px rgba(0,0,0,.08);
  transform: translateY(-2px);
}
.product-miniature .img_block {
  position: relative;
  text-align: center;
  margin-bottom: 12px;
}
.product-miniature .thumbnail.product-thumbnail,
.thumbnail.product-thumbnail {
  display: block;
  background: #fafcfb;
  border-radius: 4px;
  overflow: hidden;
}
.thumbnail.product-thumbnail img,
.product-miniature .first-image {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  height: auto;
}

.product_desc { padding: 0 4px; flex-grow: 1; display: flex; flex-direction: column; }
.product_desc .manufacturer {
  font-size: 11px;
  text-transform: uppercase;
  color: #888;
  letter-spacing: .04em;
  margin-bottom: 4px;
}
.product_desc .manufacturer a { color: #888; }
.product_desc .manufacturer a:hover { color: #3aa45c; }

.product_desc h3 {
  margin: 4px 0 6px;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 500;
}
.product_desc h3 a, .product_name {
  color: #2c3e50;
}
.product_desc h3 a:hover { color: #3aa45c; }

.product-desc, .description-short {
  font-size: 12px;
  color: #777;
  line-height: 1.5;
  margin: 6px 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Price */
.product-price-and-shipping,
.product-price-and-shipping-top {
  margin: 6px 0;
}
.product-price-and-shipping-top {
  position: absolute;
  top: 8px; left: 8px;
  margin: 0;
  z-index: 2;
}
.product-price, .price {
  color: #3aa45c;
  font-weight: 700;
  font-size: 17px;
}
.price-sale { color: #d9534f; }
.regular-price {
  color: #999;
  text-decoration: line-through;
  font-size: 13px;
  font-weight: 400;
  margin-right: 6px;
}
.discount-percentage, .discount-amount, .discount-product {
  display: inline-block;
  background: #d9534f;
  color: #fff;
  padding: 3px 8px;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 700;
}

/* Product flags */
.product-flag, .product-flags {
  position: absolute;
  top: 8px; right: 8px;
  list-style: none;
  margin: 0; padding: 0;
  z-index: 2;
}
.product-flag li, .product-flags li {
  display: block;
  margin-bottom: 4px;
  padding: 3px 9px;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-weight: 700;
  border-radius: 2px;
  color: #fff;
}
.product-flag .on-sale, .product-flags .on-sale { background: #f0ad4e; }
.product-flag .discount, .product-flags .discount { background: #d9534f; }
.product-flag .new, .product-flags .new { background: #3aa45c; }

/* Availability */
.availability { margin: 4px 0; font-size: 12px; }
.availability-list {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 3px;
  background: #eef6f1;
  color: #2e7b4a;
  font-weight: 600;
  font-size: 11px;
}
.availability-list.in-stock { background: #eef6f1; color: #2e7b4a; }
.availability-list.out-of-stock { background: #fce8e8; color: #d9534f; }

/* Add to links / quick view */
.add-to-links {
  position: absolute;
  bottom: 8px; right: 8px;
  list-style: none;
  margin: 0; padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  z-index: 3;
  opacity: 0;
  transition: opacity .25s ease;
}
.img_block:hover .add-to-links { opacity: 1; }
.add-to-links li { list-style: none; }
.add-to-links a {
  display: inline-flex;
  align-items: center; justify-content: center;
  width: 34px; height: 34px;
  background: #fff;
  border: 1px solid #ecefed;
  border-radius: 50%;
  color: #555;
  font-size: 14px;
}
.add-to-links a:hover { background: #3aa45c; color: #fff; border-color: #3aa45c; }
.add-to-links a span { display: none; }
.quick-view a, .quick_view { color: #555; }

.addToWishlist::before { content: "\2661"; font-size: 14px; }
.quick_view::before { content: "\1F441"; font-size: 14px; }

/* Add to cart button on miniature */
.cart { margin: 8px 0; }
.product-add-to-cart, .add-to-cart-or-refresh { margin: 0; }
.ajax_add_to_cart_button, .add-to-cart, .btn-product, .product-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 9px 16px;
  background: #3aa45c;
  color: #fff;
  border: 0;
  border-radius: 30px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .03em;
  cursor: pointer;
  transition: background .2s ease;
  width: 100%;
}
.ajax_add_to_cart_button:hover, .add-to-cart:hover { background: #2e7b4a; color: #fff; }
.ajax_add_to_cart_button .fa { margin-right: 4px; }

.id_countdown { display: none; }
.variant-links { margin-top: 6px; }

/* Product reviews stars */
.hook-reviews, .product-list-reviews {
  margin: 4px 0;
  font-size: 12px;
  visibility: hidden;
}
.has-reviews .product-list-reviews { visibility: visible; }
.grade-stars, .small-stars {
  display: inline-block;
  vertical-align: middle;
}
.comments-nb {
  display: inline-block;
  font-size: 11px;
  color: #777;
  margin-left: 4px;
}

/* Owl carousel basics */
.owl-carousel {
  position: relative;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.owl-stage-outer { width: 100%; overflow: hidden; }
.owl-item { float: left; }

/* -------------------------------------------------------------------------
   11. Static info icons row
   ------------------------------------------------------------------------- */
.static-info {
  background: #f5f8f6;
  border-top: 1px solid #ecefed;
  border-bottom: 1px solid #ecefed;
  padding: 22px 0;
  margin: 26px 0 0;
}
.static-info .row { align-items: stretch; }
.info {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px;
}
.icon-static {
  width: 48px; height: 48px;
  background: #3aa45c;
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  flex-shrink: 0;
}
.icon-static.icon-shipping::before { content: "\1F69A"; }
.icon-static.icon-contact::before  { content: "\2709"; }
.icon-static.icon-return::before   { content: "\21BA"; }
.icon-static.icon-payment::before  { content: "\1F512"; }
.text_info {
  font-size: 13px;
  font-weight: 600;
  color: #2c3e50;
}

/* -------------------------------------------------------------------------
   12. Sidebar / category tree
   ------------------------------------------------------------------------- */
#left-column, #right-column {
  background: #fff;
  padding: 0 10px;
}
.block-category {
  background: #fff;
  border: 1px solid #ecefed;
  border-radius: 4px;
  padding: 16px;
  margin-bottom: 22px;
}
.block-category h4, .block-category .h4 {
  font-size: 1em;
  color: #2e7b4a;
  text-transform: uppercase;
  margin: 0 0 10px;
  padding-bottom: 8px;
  border-bottom: 2px solid #3aa45c;
}
.category-tree, .category-sub-menu {
  list-style: none;
  margin: 0; padding: 0;
}
.category-tree li, .category-sub-menu li {
  border-bottom: 1px solid #f3f5f4;
  padding: 6px 0;
}
.category-tree a, .category-sub-menu a {
  color: #444;
  display: block;
  font-size: 13px;
}
.category-tree a:hover, .category-sub-menu a:hover { color: #3aa45c; }
.category_image { text-align: center; margin-bottom: 12px; }
.cat_desc { font-size: 13px; color: #666; margin-bottom: 12px; }

/* -------------------------------------------------------------------------
   13. Forms
   ------------------------------------------------------------------------- */
.form-group { margin-bottom: 14px; }
.form-control, input[type="text"], input[type="email"], input[type="password"], input[type="number"], textarea, select {
  display: block;
  width: 100%;
  padding: 9px 12px;
  font-size: 14px;
  line-height: 1.45;
  color: #333;
  background: #fff;
  border: 1px solid #d5d9d7;
  border-radius: 3px;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.form-control:focus, input:focus, textarea:focus, select:focus {
  border-color: #3aa45c;
  box-shadow: 0 0 0 3px rgba(58,164,92,.15);
}
textarea { min-height: 100px; resize: vertical; }
label { display: inline-block; margin-bottom: 5px; font-weight: 500; color: #2c3e50; font-size: 13px; }

.btn {
  display: inline-block;
  padding: 9px 22px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  border: 1px solid transparent;
  border-radius: 30px;
  transition: all .2s ease;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.btn-default {
  background: #fff;
  color: #444;
  border-color: #d5d9d7;
}
.btn-default:hover { background: #f5f8f6; border-color: #3aa45c; color: #3aa45c; }
.btn-primary {
  background: #3aa45c;
  color: #fff;
  border-color: #3aa45c;
}
.btn-primary:hover { background: #2e7b4a; border-color: #2e7b4a; color: #fff; }
.btn-secondary {
  background: #6c757d;
  color: #fff;
  border-color: #6c757d;
}
.btn-secondary:hover { background: #5a6268; color: #fff; }
.btn-group { display: inline-flex; }
.btn-group .btn { border-radius: 0; }
.btn-group .btn:first-child { border-radius: 30px 0 0 30px; }
.btn-group .btn:last-child  { border-radius: 0 30px 30px 0; }
.dropdown-toggle::after { content: " \25BE"; font-size: 10px; }

.input-group { display: flex; align-items: stretch; }
.input-group .form-control { border-radius: 3px 0 0 3px; }
.input-group .btn { border-radius: 0 30px 30px 0; }

.input-wrapper { position: relative; }

/* Checkbox custom */
.custom-checkbox {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  cursor: pointer;
  font-size: 12px;
  color: #555;
}
.custom-checkbox input[type=checkbox] { margin-top: 3px; }
.checkbox-checked { color: #3aa45c; }
.psgdpr_consent_message { font-size: 11px; line-height: 1.4; }

/* -------------------------------------------------------------------------
   14. Notifications, alerts, modals
   ------------------------------------------------------------------------- */
.alert, .notification, .toast {
  padding: 12px 18px;
  border-radius: 4px;
  margin-bottom: 14px;
  border: 1px solid transparent;
  font-size: 13px;
}
.alert-success, .notification-success { background: #e7f5ec; color: #2e7b4a; border-color: #c5e6d2; }
.alert-warning, .notification-warning { background: #fff8e1; color: #8a6d2b; border-color: #f5e3a6; }
.alert-danger,  .notification-error   { background: #fce8e8; color: #a13a3a; border-color: #f1c6c6; }
.alert-info,    .notification-info    { background: #e3f2fb; color: #2a6da3; border-color: #c4dff2; }

.modal {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,.45);
  z-index: 10000;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.modal.open { display: flex; }
.modal-dialog {
  background: #fff;
  border-radius: 6px;
  width: 100%;
  max-width: 540px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 22px 60px rgba(0,0,0,.25);
}
.modal-header { padding: 16px 22px; border-bottom: 1px solid #ecefed; display: flex; justify-content: space-between; align-items: center; }
.modal-body { padding: 22px; }
.modal-footer { padding: 14px 22px; border-top: 1px solid #ecefed; text-align: right; }

#poscompare-notification {
  position: fixed;
  bottom: 24px; right: 24px;
  display: none;
  background: #2e7b4a;
  color: #fff;
  padding: 14px 22px;
  border-radius: 4px;
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
  z-index: 10001;
}
#poscompare-notification.show { display: block; }
.notification-inner { display: flex; align-items: center; gap: 8px; }
.notification-title { font-size: 13px; font-weight: 600; }

/* -------------------------------------------------------------------------
   15. Footer
   ------------------------------------------------------------------------- */
#footer { margin-top: 30px; }
.footer-container {
  background: #2c3e50;
  color: #cfd8df;
}
.footer-container a { color: #cfd8df; }
.footer-container a:hover { color: #3aa45c; }
.footer_top {
  padding: 40px 0 20px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.footer_bottom {
  padding: 14px 0;
  font-size: 12px;
  background: rgba(0,0,0,.18);
  color: #adb8c1;
}
.footer_block, .links { margin-bottom: 22px; }
.footer_block h3, .footer-container h3 {
  font-size: 14px;
  text-transform: uppercase;
  color: #fff;
  letter-spacing: .04em;
  margin: 0 0 14px;
  padding-bottom: 8px;
  position: relative;
}
.footer_block h3::after, .footer-container h3::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 36px; height: 2px;
  background: #3aa45c;
}
.footer_list {
  list-style: none;
  margin: 0; padding: 0;
}
.footer_list p, .footer_list li {
  margin: 0 0 7px;
  font-size: 13px;
  list-style: none;
}
.footer_list a, .cms-page-link a, .account-list a, .block-contact a {
  color: #cfd8df;
  font-size: 13px;
}
.footer_list a:hover, .cms-page-link a:hover { color: #3aa45c; }

.account-list, .block-contact, .cms-page-link {
  list-style: none;
  margin: 0;
  padding: 0;
}
.account-list li, .cms-page-link li, .block-contact li {
  list-style: none;
  margin-bottom: 7px;
}
.block-contact .block-contact-title { font-size: 13px; font-weight: 600; }

.footer_about_us {
  font-size: 13px;
  line-height: 1.6;
  color: #b5c0c8;
  margin-bottom: 14px;
}
.logo_footer { margin-bottom: 12px; }
.logo_footer img { max-height: 38px; width: auto; filter: brightness(.95); }
.hotline { font-size: 13px; color: #b5c0c8; margin-top: 6px; }
.hotline a { color: #3aa45c; font-weight: 600; }
.content_hl span { color: #fff; font-weight: 600; }

/* Newsletter */
.ft_newsletter {
  background: rgba(255,255,255,.04);
  padding: 18px;
  border-radius: 6px;
}
.title_newsletter h3 { color: #fff; }
.ft_newsletter form { position: relative; padding-right: 130px; }
.ft_newsletter .input-wrapper { width: 100%; }
.ft_newsletter input[type=email] {
  width: 100%;
  height: 42px;
  padding: 6px 14px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  color: #fff;
  border-radius: 30px;
  font-size: 13px;
}
.ft_newsletter input[type=email]::placeholder { color: #adb8c1; }
.ft_newsletter .btn,
.ft_newsletter input[type=submit] {
  position: absolute;
  top: 0; right: 0;
  height: 42px;
  padding: 0 22px;
  border: 0;
}
.des_newsletter {
  font-size: 11px;
  color: #adb8c1;
  margin-top: 10px;
  line-height: 1.5;
}

/* Social follow */
.social_follow { margin: 16px 0; }
.social_follow ul {
  list-style: none;
  display: flex;
  gap: 8px;
  margin: 0; padding: 0;
}
.social_follow li { list-style: none; }
.social_follow a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px; height: 36px;
  background: rgba(255,255,255,.06);
  border-radius: 50%;
  color: #fff;
  font-size: 14px;
}
.social_follow a:hover { background: #3aa45c; color: #fff; }

/* Footer collapsibles (mobile) */
.collapse { display: none; }
.collapse.show, .collapse.in { display: block; }
@media (min-width: 768px) {
  .collapse { display: block !important; }
}
.collapse-icons .add, .collapse-icons .remove { font-size: 18px; }
.navbar-toggler {
  background: transparent;
  border: 0;
  color: #fff;
  cursor: pointer;
}
.title.clearfix.hidden-md-up { cursor: pointer; padding: 8px 0; }

.copyright { font-size: 12px; color: #adb8c1; }
.payment { text-align: right; }
.payment img { max-height: 28px; }
@media (max-width: 767.98px) {
  .payment { text-align: left; margin-top: 6px; }
}

.col-right { padding-left: 15px; }

.amzpayments-footer-banner { margin-top: 10px; }
.amzpayments-footer-banner img { max-height: 60px; }

/* Back to top */
.back-top {
  position: fixed;
  bottom: 24px; right: 24px;
  z-index: 99;
}
.back-top-button {
  display: inline-block;
  width: 42px; height: 42px;
  background: #3aa45c;
  color: #fff;
  border-radius: 50%;
  text-align: center;
  line-height: 42px;
  font-size: 18px;
  box-shadow: 0 4px 14px rgba(0,0,0,.18);
}
.back-top-button::before { content: "\2191"; }
.back-top-button:hover { background: #2e7b4a; }

/* -------------------------------------------------------------------------
   16. Pagination
   ------------------------------------------------------------------------- */
.pagination, .page-list {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 22px 0;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4px;
}
.page-item { list-style: none; }
.page-item a, .page-list a, .pagination a, .page-link {
  display: inline-block;
  padding: 7px 13px;
  background: #fff;
  border: 1px solid #ecefed;
  color: #444;
  border-radius: 3px;
  font-size: 13px;
}
.page-item.active a, .page-item.active span,
.pagination .current, .page-list .current {
  background: #3aa45c;
  border-color: #3aa45c;
  color: #fff;
}
.page-item a:hover, .pagination a:hover { background: #f1f6f3; color: #3aa45c; }
.pagination .next a, .pagination .prev a { font-weight: 600; }

/* -------------------------------------------------------------------------
   17. Icon helpers (FontAwesome / ionicons fallback)
   ------------------------------------------------------------------------- */
.fa, .fa-shopping-cart, .icon-shopping-cart {
  font-family: "FontAwesome", "Material Icons", sans-serif;
  display: inline-block;
}
.icon-search::before { content: "\1F50D"; }
.icon-shopping-cart::before { content: "\1F6D2"; font-size: 16px; }
.icon-user::before { content: "\1F464"; }
.icon-heart::before { content: "\2665"; color: #d9534f; }
.icon-menu::before { content: "\2630"; }
.icon-repeat::before { content: "\21BB"; }
.fa-check::before { content: "\2713"; }

.ion-ios-arrow-right::before { content: "\203A"; font-style: normal; }

/* -------------------------------------------------------------------------
   18. Misc — selectors, sticky-menu, etc.
   ------------------------------------------------------------------------- */
.use-sticky.is-stuck {
  position: fixed;
  top: 0; left: 0;
  width: 100%;
  background: #fff;
  z-index: 200;
  box-shadow: 0 4px 12px rgba(0,0,0,.06);
}
.selector-block { padding: 0; }
.localiz_block { padding: 0; }
.js-dropdown { position: relative; }
.expand-more { font-size: 13px; }
.txt_wishlist { margin: 0 4px; }
.cart-wishlist-number {
  background: #3aa45c;
  color: #fff;
  border-radius: 50%;
  padding: 0 6px;
  font-size: 10px;
  display: inline-block;
  min-width: 18px;
  text-align: center;
  margin-left: 4px;
}

/* search/animation utility (homepage) */
.animation1 { transition-duration: 500ms !important; }

/* Animations referenced by slideshow */
.animated { animation-duration: 1s; animation-fill-mode: both; }
.fadeInDown  { animation-name: fadeInDown; }
.fadeInLeft  { animation-name: fadeInLeft; }
.fadeInRight { animation-name: fadeInRight; }
.fadeInUp    { animation-name: fadeInUp; }
.zoomIn      { animation-name: zoomIn; }
@keyframes fadeInDown { from { opacity: 0; transform: translateY(-30px);} to { opacity: 1; transform: translateY(0);} }
@keyframes fadeInUp   { from { opacity: 0; transform: translateY(30px);}  to { opacity: 1; transform: translateY(0);} }
@keyframes fadeInLeft { from { opacity: 0; transform: translateX(-30px);} to { opacity: 1; transform: translateX(0);} }
@keyframes fadeInRight{ from { opacity: 0; transform: translateX(30px);}  to { opacity: 1; transform: translateX(0);} }
@keyframes zoomIn     { from { opacity: 0; transform: scale(.6);}         to { opacity: 1; transform: scale(1);} }
@keyframes myfirst    { from { width: 0; } to { width: 100%; } }

/* -------------------------------------------------------------------------
   19. Cookie / GDPR notice (uses inline styles, but stable hooks)
   ------------------------------------------------------------------------- */
#cookieNotice { font-family: inherit !important; }
#cookieNoticeContent { padding: 8px 16px; }
.closeFontAwesome { cursor: pointer; }
.closeButtonNormal:hover { background: #3aa45c !important; color: #fff !important; }
#gdpr_consent { margin: 8px 0; font-size: 12px; color: #adb8c1; }
.gdpr_module_17 { display: block; }

/* -------------------------------------------------------------------------
   20. Responsive tweaks
   ------------------------------------------------------------------------- */
@media (max-width: 991.98px) {
  .header-top { padding: 12px 0; }
  .header-bottom { padding: 8px 0; }
  #_desktop_logo { text-align: center; }
  #_desktop_logo .logo { max-height: 50px; }
  .pos_title h2 { font-size: 1.15em; }
  .desc_slideshow h2 { font-size: 1.2em; }
  .item-product { flex: 0 0 50%; max-width: 50%; }
  .static-info { padding: 14px 0; }
  .info { flex-direction: column; text-align: center; gap: 6px; }
  .icon-static { width: 38px; height: 38px; font-size: 18px; }
  .text_info { font-size: 12px; }
  .footer_top { padding: 26px 0 10px; }
  .ft_newsletter form { padding-right: 0; }
  .ft_newsletter .btn,
  .ft_newsletter input[type=submit] {
    position: static;
    width: 100%;
    margin-top: 8px;
  }
}

@media (max-width: 575.98px) {
  body { font-size: 13px; }
  h1 { font-size: 1.4em; }
  h2 { font-size: 1.2em; }
  .item-product { flex: 0 0 100%; max-width: 100%; }
  .page-header h1 { font-size: 1.3em; }
  .breadcrumb_container { padding: 6px 0; font-size: 12px; }
  .button_cart a { padding: 7px 12px; font-size: 12px; }
  .static-info { padding: 12px 0; margin-top: 14px; }
  .static-info .col { margin-bottom: 8px; }
}

/* -------------------------------------------------------------------------
   21. Compat: collapse all empty selector wrappers cleanly
   ------------------------------------------------------------------------- */
.compare_top:empty,
#_mobile_social:empty,
#_mobile_compare:empty,
#_mobile_wishtlist:empty,
#_mobile_currency_selector:empty,
#_mobile_language_selector:empty,
#_mobile_megamenu:empty,
#_mobile_vegamenu:empty,
#_mobile_cart_block:empty,
#_mobile_user_info:empty,
#_mobile_search_block:empty,
#notifications .container:empty { padding: 0; margin: 0; }

/* End of theme-esther2.css */
