/* =========================================================
   FreshFruits Theme – Green Shopping for Fruits
   Based on MegaMall Clean / OpenCart default (restored)
   Color palette: Fresh greens for natural produce feel
   ========================================================= */

:root {
  --primary: #43A047;
  --primary-dark: #2E7D32;
  --primary-light: #66BB6A;
  --primary-gradient-start: #66BB6A;
  --primary-gradient-end: #43A047;
  --accent: #8BC34A;
  --accent-lime: #CDDC39;
  --bg-light: #F1F8E9;
  --bg-soft: #E8F5E9;
  --text-main: #2E2E2E;
  --text-muted: #5A5A5A;
  --text-light: #757575;
  --border: #C8E6C9;
  --white: #FFFFFF;
  --footer-bg: #1B5E20;
  --top-bg: #E8F5E9;
  --shadow: 0 2px 8px rgba(46, 125, 50, 0.12);
  --shadow-hover: 0 6px 18px rgba(46, 125, 50, 0.18);
  --radius: 8px;
  --radius-sm: 6px;
}

body {
  font-family: 'Open Sans', 'Segoe UI', Tahoma, sans-serif;
  font-weight: 400;
  color: var(--text-main);
  font-size: 13px;
  line-height: 1.55;
  width: 100%;
  background-color: #FAFFFE;
}

h1, h2, h3, h4, h5, h6 {
  color: var(--primary-dark);
  font-weight: 600;
}

.fa {
  font-size: 14px;
}

h1 { font-size: 32px; }
h2 { font-size: 26px; }
h3 { font-size: 20px; }
h4 { font-size: 16px; }
h5 { font-size: 13px; }
h6 { font-size: 11px; }

a {
  color: var(--primary-dark);
  transition: color 0.2s ease;
}
a:hover {
  text-decoration: none;
  color: var(--primary);
}

legend {
  font-size: 18px;
  padding: 7px 0;
  color: var(--primary-dark);
}

label {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-muted);
}

select.form-control,
textarea.form-control,
input[type="text"].form-control,
input[type="password"].form-control,
input[type="datetime"].form-control,
input[type="datetime-local"].form-control,
input[type="date"].form-control,
input[type="month"].form-control,
input[type="time"].form-control,
input[type="week"].form-control,
input[type="number"].form-control,
input[type="email"].form-control,
input[type="url"].form-control,
input[type="search"].form-control,
input[type="tel"].form-control,
input[type="color"].form-control {
  font-size: 13px;
  border-radius: var(--radius-sm);
  border-color: var(--border);
}

.input-group input,
.input-group select,
.input-group .dropdown-menu,
.input-group .popover {
  font-size: 13px;
}

.input-group .input-group-addon {
  font-size: 13px;
  height: 34px;
  background-color: var(--bg-soft);
  border-color: var(--border);
}

span.hidden-xs,
span.hidden-sm,
span.hidden-md,
span.hidden-lg {
  display: inline;
}

.nav-tabs {
  margin-bottom: 15px;
  border-bottom-color: var(--border);
}
.nav-tabs > li > a {
  color: var(--text-muted);
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  color: var(--primary-dark);
  border-color: var(--border) var(--border) transparent;
  background-color: var(--white);
}

div.required .control-label:before {
  content: '* ';
  color: #E53935;
  font-weight: bold;
}

/* Dropdown hover */
.dropdown-menu li > a:hover {
  text-decoration: none;
  color: #ffffff;
  background-color: var(--primary);
  background-image: linear-gradient(to bottom, var(--primary-light), var(--primary));
  background-repeat: repeat-x;
}

/* ========== TOP BAR ========== */
#top {
  background-color: var(--top-bg);
  border-bottom: 1px solid var(--border);
  padding: 6px 0 5px 0;
  margin: 0 0 18px 0;
  min-height: 42px;
}
#top .container {
  padding: 0 20px;
}
#top #form-currency .currency-select,
#top #form-language .language-select {
  text-align: left;
}
#top #form-currency .currency-select:hover,
#top #form-language .language-select:hover {
  text-shadow: none;
  color: #ffffff;
  background-color: var(--primary);
  background-image: linear-gradient(to bottom, var(--primary-light), var(--primary));
}
#top .btn-link,
#top-links li,
#top-links a {
  color: var(--text-muted);
  text-shadow: none;
  text-decoration: none;
}
#top .btn-link:hover,
#top-links a:hover {
  color: var(--primary-dark);
}
#top-links .dropdown-menu a {
  text-shadow: none;
}
#top-links .dropdown-menu a:hover {
  color: #FFF;
}
#top .btn-link strong {
  font-size: 14px;
  line-height: 14px;
}
#top-links {
  padding-top: 6px;
}
#top-links a + a {
  margin-left: 15px;
}

/* ========== LOGO / SEARCH / CART ========== */
#logo {
  margin: 0 0 10px 0;
}
#logo img {
  max-height: 60px;
}
#search {
  margin-bottom: 10px;
}
#search .input-lg {
  height: 42px;
  line-height: 20px;
  padding: 0 12px;
  border-radius: var(--radius-sm) 0 0 var(--radius-sm);
  border-color: var(--border);
}
#search .btn-lg {
  font-size: 15px;
  line-height: 18px;
  padding: 11px 28px;
  text-shadow: none;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  background-color: var(--primary);
  background-image: linear-gradient(to bottom, var(--primary-light), var(--primary));
  border-color: var(--primary-dark);
  color: #fff;
}
#search .btn-lg:hover {
  background-color: var(--primary-dark);
  background-image: none;
}

/* Cart */
#cart {
  margin-bottom: 10px;
}
#cart > .btn {
  font-size: 13px;
  line-height: 18px;
  color: #FFF;
  background-color: var(--primary);
  background-image: linear-gradient(to bottom, var(--primary-light), var(--primary));
  border-color: var(--primary-dark);
  border-radius: var(--radius);
  padding: 10px 16px;
  box-shadow: var(--shadow);
}
#cart > .btn:hover {
  background-color: var(--primary-dark);
  background-image: none;
}
#cart.open > .btn {
  background-image: none;
  background-color: #FFFFFF;
  border: 1px solid var(--border);
  color: var(--text-muted);
  box-shadow: none;
  text-shadow: none;
}
#cart.open > .btn:hover {
  color: var(--primary-dark);
}
#cart .dropdown-menu {
  background: var(--bg-soft);
  z-index: 1001;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-hover);
}
#cart .dropdown-menu {
  min-width: 100%;
  overflow-y: auto;
  max-height: 800px;
  scrollbar-width: thin;
  overflow-x: hidden;
}
@media (max-width: 478px) {
  #cart .dropdown-menu {
    width: 100%;
  }
}
#cart .dropdown-menu table {
  margin-bottom: 10px;
}
#cart .dropdown-menu li > div {
  min-width: 427px;
  padding: 0 10px;
}
@media (max-width: 478px) {
  #cart .dropdown-menu li > div {
    min-width: 100%;
  }
}
#cart .dropdown-menu li p {
  margin: 20px 0;
}

/* ========== MAIN MENU ========== */
#menu {
  background-color: var(--primary);
  background-image: linear-gradient(to bottom, var(--primary-light), var(--primary-dark));
  background-repeat: repeat-x;
  border-color: var(--primary-dark);
  min-height: 44px;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  margin-bottom: 20px;
}
#menu .nav > li > a {
  color: #fff;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
  padding: 12px 18px;
  min-height: 15px;
  background-color: transparent;
  font-weight: 500;
  letter-spacing: 0.2px;
}
#menu .nav > li > a:hover,
#menu .nav > li.open > a {
  background-color: rgba(0, 0, 0, 0.15);
  border-radius: var(--radius-sm);
}
#menu .dropdown-menu {
  padding-bottom: 0;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-hover);
}
#menu .dropdown-inner {
  display: table;
}
#menu .dropdown-inner ul {
  display: table-cell;
}
#menu .dropdown-inner a {
  min-width: 160px;
  display: block;
  padding: 6px 18px;
  clear: both;
  line-height: 20px;
  color: var(--text-main);
  font-size: 13px;
}
#menu .dropdown-inner li a:hover {
  color: #FFFFFF;
  background-color: var(--primary);
}
#menu .see-all {
  display: block;
  margin-top: 0.5em;
  border-top: 1px solid var(--border);
  padding: 6px 18px;
  border-radius: 0 0 var(--radius) var(--radius);
  font-size: 13px;
  font-weight: 500;
}
#menu .see-all:hover,
#menu .see-all:focus {
  text-decoration: none;
  color: #ffffff;
  background-color: var(--primary);
  background-image: linear-gradient(to bottom, var(--primary-light), var(--primary));
}
#menu #category {
  float: left;
  padding-left: 15px;
  font-size: 16px;
  font-weight: 600;
  line-height: 40px;
  color: #fff;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
}
#menu .btn-navbar {
  font-size: 15px;
  font-stretch: expanded;
  color: #FFF;
  padding: 6px 12px;
  float: right;
  background-color: var(--primary-dark);
  background-image: linear-gradient(to bottom, var(--primary), var(--primary-dark));
  border-color: var(--primary-dark);
  border-radius: var(--radius-sm);
}
#menu .btn-navbar:hover,
#menu .btn-navbar:focus,
#menu .btn-navbar:active,
#menu .btn-navbar.disabled,
#menu .btn-navbar[disabled] {
  color: #ffffff;
  background-color: var(--primary-dark);
}
#menu .btn-navbar .icon-bar {
  display: block;
  width: 20px;
  height: 2px;
  border-radius: 1px;
  background-color: #fff;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
  margin-top: 3px;
}
#menu .btn-navbar .icon-bar + .icon-bar {
  margin-top: 3px;
}
@media (min-width: 768px) {
  #menu .dropdown:hover .dropdown-menu {
    display: block;
  }
}
@media (max-width: 767px) {
  #menu {
    border-radius: 0;
  }
  #menu div.dropdown-inner > ul.list-unstyled {
    display: block;
  }
  #menu div.dropdown-menu {
    margin-left: 0 !important;
    padding-bottom: 10px;
    background-color: rgba(0, 0, 0, 0.1);
  }
  #menu .dropdown-inner {
    display: block;
  }
  #menu .dropdown-inner a {
    width: 100%;
    color: #fff;
  }
  #menu .dropdown-menu a:hover,
  #menu .dropdown-menu ul li a:hover {
    background: rgba(0, 0, 0, 0.2);
  }
  #menu .see-all {
    margin-top: 0;
    border: none;
    border-radius: 0;
    color: #fff;
  }
}

/* ========== CONTENT / COLUMNS ========== */
#content {
  min-height: 600px;
}
#column-left,
#column-right {
  margin-bottom: 20px;
}
#column-left .panel,
#column-right .panel {
  border-radius: var(--radius);
  border-color: var(--border);
  box-shadow: var(--shadow);
}
#column-left .panel-heading,
#column-right .panel-heading {
  background-color: var(--bg-soft);
  border-color: var(--border);
  color: var(--primary-dark);
  font-weight: 600;
  border-radius: var(--radius) var(--radius) 0 0;
}

/* ========== FOOTER ========== */
footer {
  margin-top: 40px;
  padding-top: 30px;
  background-color: var(--footer-bg);
  border-top: 4px solid var(--accent);
  color: #C8E6C9;
}
footer hr {
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
footer a {
  color: #A5D6A7;
}
footer a:hover {
  color: #fff;
}
footer h5 {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  color: #fff;
  font-size: 14px;
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
footer .list-unstyled {
  margin-bottom: 20px;
}
footer .list-unstyled li {
  margin-bottom: 6px;
}
footer .list-unstyled a {
  font-size: 13px;
}
footer p {
  color: #A5D6A7;
  margin: 15px 0;
  font-size: 12px;
}

/* ========== ALERTS ========== */
.alert {
  padding: 10px 14px;
  margin-bottom: 18px;
  border-radius: var(--radius-sm);
}
.alert-success {
  background-color: #E8F5E9;
  border-color: #A5D6A7;
  color: #1B5E20;
}
.alert-info {
  background-color: #E3F2FD;
  border-color: #90CAF9;
  color: #0D47A1;
}
.alert-warning {
  background-color: #FFF8E1;
  border-color: #FFE082;
  color: #F57F17;
}
.alert-danger {
  background-color: #FFEBEE;
  border-color: #EF9A9A;
  color: #C62828;
}

/* ========== BREADCRUMB ========== */
.breadcrumb {
  margin: 0 0 20px 0;
  padding: 10px 0;
  background: transparent;
  border-bottom: 1px solid var(--border);
}
.breadcrumb i {
  font-size: 14px;
}
.breadcrumb > li {
  text-shadow: none;
  padding: 0 12px;
  position: relative;
  white-space: nowrap;
}
.breadcrumb > li + li:before {
  content: '';
  display: none;
}
.breadcrumb > li::after {
  content: '';
  display: block;
  position: absolute;
  top: 6px;
  right: -4px;
  width: 10px;
  height: 10px;
  border-right: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  transform: rotate(-45deg);
}
.breadcrumb > li:last-child::after {
  display: none;
}
.breadcrumb > li a {
  color: var(--text-muted);
}
.breadcrumb > li a:hover {
  color: var(--primary);
}
.breadcrumb > .active {
  color: var(--primary-dark);
  font-weight: 500;
}

/* ========== BUTTONS ========== */
.buttons {
  margin: 1em 0;
}
.btn {
  padding: 8px 16px;
  font-size: 13px;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  font-weight: 500;
  transition: all 0.2s ease;
}
.btn-xs { font-size: 11px; padding: 4px 8px; }
.btn-sm { font-size: 12px; padding: 6px 12px; }
.btn-lg { padding: 11px 20px; font-size: 15px; }

.btn-group > .btn,
.btn-group > .dropdown-menu,
.btn-group > .popover {
  font-size: 13px;
}

.btn-default {
  color: var(--text-muted);
  text-shadow: none;
  background-color: #f5f5f5;
  background-image: linear-gradient(to bottom, #fafafa, #eeeeee);
  border-color: #ddd;
}
.btn-default:hover {
  background-color: #e8e8e8;
  background-image: none;
  border-color: #ccc;
}

.btn-primary {
  color: #ffffff;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
  background-color: var(--primary);
  background-image: linear-gradient(to bottom, var(--primary-light), var(--primary));
  border-color: var(--primary-dark);
}
.btn-primary:hover,
.btn-primary:active,
.btn-primary.active,
.btn-primary.disabled,
.btn-primary[disabled] {
  background-color: var(--primary-dark);
  background-image: none;
  border-color: #1B5E20;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
}

.btn-warning {
  color: #ffffff;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
  background-color: #FB8C00;
  background-image: linear-gradient(to bottom, #FFA726, #FB8C00);
  border-color: #EF6C00;
}
.btn-warning:hover,
.btn-warning:active,
.btn-warning.active,
.btn-warning.disabled,
.btn-warning[disabled] {
  background-color: #EF6C00;
  background-image: none;
}

.btn-danger {
  color: #ffffff;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
  background-color: #E53935;
  background-image: linear-gradient(to bottom, #EF5350, #E53935);
  border-color: #C62828;
}
.btn-danger:hover,
.btn-danger:active,
.btn-danger.active,
.btn-danger.disabled,
.btn-danger[disabled] {
  background-color: #C62828;
  background-image: none;
}

.btn-success {
  color: #ffffff;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
  background-color: #43A047;
  background-image: linear-gradient(to bottom, #66BB6A, #43A047);
  border-color: #2E7D32;
}
.btn-success:hover,
.btn-success:active,
.btn-success.active,
.btn-success.disabled,
.btn-success[disabled] {
  background-color: #2E7D32;
  background-image: none;
}

.btn-info {
  color: #ffffff;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
  background-color: #0288D1;
  background-image: linear-gradient(to bottom, #29B6F6, #0288D1);
  border-color: #01579B;
}
.btn-info:hover,
.btn-info:active,
.btn-info.active,
.btn-info.disabled,
.btn-info[disabled] {
  background-color: #01579B;
  background-image: none;
}

.btn-link {
  border-color: transparent;
  cursor: pointer;
  color: var(--primary-dark);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.btn-link,
.btn-link:active,
.btn-link[disabled] {
  background-color: transparent;
  background-image: none;
  box-shadow: none;
}
.btn-link:hover {
  color: var(--primary);
}

.btn-inverse {
  color: #ffffff;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
  background-color: #37474F;
  background-image: linear-gradient(to bottom, #546E7A, #37474F);
  border-color: #263238;
}
.btn-inverse:hover,
.btn-inverse:active,
.btn-inverse.active,
.btn-inverse.disabled,
.btn-inverse[disabled] {
  background-color: #263238;
  background-image: none;
}

/* ========== LIST GROUP ========== */
.list-group a {
  border: 1px solid var(--border);
  color: var(--text-muted);
  padding: 10px 14px;
  border-radius: var(--radius-sm);
  margin-bottom: 4px;
  transition: all 0.2s ease;
}
.list-group a.active,
.list-group a.active:hover,
.list-group a:hover {
  color: var(--primary-dark);
  background: var(--bg-soft);
  border: 1px solid var(--primary-light);
  text-shadow: none;
  font-weight: 500;
}

/* ========== CAROUSEL ========== */
.carousel-caption {
  color: #FFFFFF;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}
.carousel-control .icon-prev:before {
  content: '\f053';
  font-family: FontAwesome;
}
.carousel-control .icon-next:before {
  content: '\f054';
  font-family: FontAwesome;
}

/* ========== PRODUCT CARDS ========== */
.product-thumb {
  border: 1px solid var(--border);
  margin-bottom: 22px;
  overflow: hidden;
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: var(--shadow);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.product-thumb:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-hover);
  border-color: var(--primary-light);
}
.product-thumb .image {
  text-align: center;
  background: linear-gradient(180deg, #F9FDF7 0%, #FFFFFF 100%);
  padding: 12px 8px 8px;
}
.product-thumb .image a {
  display: block;
}
.product-thumb .image a:hover {
  opacity: 0.92;
}
.product-thumb .image img {
  margin-left: auto;
  margin-right: auto;
  border-radius: var(--radius-sm);
  max-height: 200px;
  object-fit: contain;
}
.product-grid .product-thumb .image {
  float: none;
}
@media (min-width: 767px) {
  .product-list .product-thumb .image {
    float: left;
    padding: 12px 15px;
  }
}
.product-thumb h4 {
  font-weight: 600;
  font-size: 14px;
  margin: 8px 0 6px;
  line-height: 1.35;
}
.product-thumb h4 a {
  color: var(--text-main);
}
.product-thumb h4 a:hover {
  color: var(--primary);
}
.product-thumb .caption {
  padding: 8px 16px 12px;
  min-height: 160px;
}
.product-list .product-thumb .caption {
  margin-left: 230px;
}
@media (max-width: 1200px) {
  .product-grid .product-thumb .caption {
    min-height: 190px;
    padding: 8px 12px 12px;
  }
}
@media (max-width: 767px) {
  .product-list .product-thumb .caption {
    min-height: 0;
    margin-left: 0;
    padding: 8px 12px;
  }
  .product-grid .product-thumb .caption {
    min-height: 0;
  }
}
.product-thumb .rating {
  padding-bottom: 8px;
}
.rating .fa-stack {
  font-size: 8px;
}
.rating .fa-star-o {
  color: #BDBDBD;
  font-size: 15px;
}
.rating .fa-star {
  color: #FFB300;
  font-size: 15px;
}
.rating .fa-star + .fa-star-o {
  color: #FFA000;
}
h2.price {
  margin: 0;
  color: var(--primary-dark);
}
.product-thumb .price {
  color: var(--primary-dark);
  font-size: 16px;
  font-weight: 600;
}
.product-thumb .price-new {
  font-weight: 700;
  color: var(--primary-dark);
}
.product-thumb .price-old {
  color: #9E9E9E;
  text-decoration: line-through;
  margin-left: 8px;
  font-size: 13px;
  font-weight: 400;
}
.product-thumb .price-tax {
  color: var(--text-light);
  font-size: 12px;
  display: block;
  font-weight: 400;
}
.product-thumb .button-group {
  border-top: 1px solid var(--border);
  background-color: var(--bg-soft);
  overflow: auto;
  display: flex;
}
.product-thumb .button-group button {
  width: 33.33%;
  border: none;
  background: transparent;
  color: var(--text-muted);
  padding: 10px 4px;
  font-size: 12px;
  transition: all 0.2s ease;
}
.product-thumb .button-group button:hover {
  color: var(--primary-dark);
  background-color: rgba(67, 160, 71, 0.12);
}
.product-thumb .button-group button + button {
  border-left: 1px solid var(--border);
}
.product-list .product-thumb .button-group {
  border-left: 1px solid var(--border);
}
@media (max-width: 768px) {
  .product-list .product-thumb .button-group {
    border-left: none;
  }
}

/* ========== PRODUCT PAGE ========== */
#product-product .thumbnails {
  margin-bottom: 20px;
}
#product-product .thumbnails img {
  border-radius: var(--radius);
  border: 1px solid var(--border);
}
#product-product .price {
  color: var(--primary-dark);
  font-size: 28px;
  font-weight: 700;
}
#product-product .price-old {
  color: #9E9E9E;
  text-decoration: line-through;
  font-size: 18px;
  margin-left: 10px;
}

/* ========== FORMS ========== */
.form-control:focus {
  border-color: var(--primary-light);
  box-shadow: 0 0 0 3px rgba(67, 160, 71, 0.15);
}
.well {
  border-radius: var(--radius);
  border-color: var(--border);
  background-color: var(--bg-light);
  box-shadow: none;
}
.panel {
  border-radius: var(--radius);
  border-color: var(--border);
  box-shadow: var(--shadow);
}
.panel-default > .panel-heading {
  background-color: var(--bg-soft);
  border-color: var(--border);
  color: var(--primary-dark);
  font-weight: 600;
}

/* ========== TABLE ========== */
.table > thead > tr > th {
  background-color: var(--bg-soft);
  color: var(--primary-dark);
  border-bottom: 2px solid var(--primary-light);
  font-weight: 600;
}
.table-bordered {
  border-color: var(--border);
}
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
  border-color: var(--border);
}

/* ========== PAGINATION ========== */
.pagination > li > a,
.pagination > li > span {
  color: var(--primary-dark);
  border-color: var(--border);
  border-radius: var(--radius-sm) !important;
  margin: 0 2px;
}
.pagination > li > a:hover,
.pagination > li > span:hover {
  background-color: var(--bg-soft);
  border-color: var(--primary-light);
  color: var(--primary);
}
.pagination > .active > a,
.pagination > .active > span {
  background-color: var(--primary);
  border-color: var(--primary);
  color: #fff;
}

/* ========== MISC ========== */
.img-thumbnail {
  border-radius: var(--radius-sm);
  border-color: var(--border);
}
.thumbnail {
  border-radius: var(--radius);
  border-color: var(--border);
}
hr {
  border-top-color: var(--border);
}

/* fixed column layouts */
@media (min-width: 1200px) {
  #content .col-lg-2:nth-child(6n+1),
  #content .col-lg-3:nth-child(4n+1),
  #content .col-lg-4:nth-child(3n+1),
  #content .col-lg-6:nth-child(2n+1) {
    clear: left;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  #content .col-md-2:nth-child(6n+1),
  #content .col-md-3:nth-child(4n+1),
  #content .col-md-4:nth-child(3n+1),
  #content .col-md-6:nth-child(2n+1) {
    clear: left;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  #content .col-sm-2:nth-child(6n+1),
  #content .col-sm-3:nth-child(4n+1),
  #content .col-sm-4:nth-child(3n+1),
  #content .col-sm-6:nth-child(2n+1) {
    clear: left;
  }
}

/* fixed column left + content + right */
@media (min-width: 768px) {
  #column-left .product-layout .col-md-3 {
    width: 100%;
  }
  #column-left + #content .product-layout .col-md-3 {
    width: 50%;
  }
  #column-left + #content + #column-right .product-layout .col-md-3 {
    width: 100%;
  }
  #content + #column-right .product-layout .col-md-3 {
    width: 100%;
  }
}

/* fixed product layouts used in left and right columns */
#column-left .product-layout,
#column-right .product-layout {
  width: 100%;
}

/* fixed mobile cart quantity input */
.input-group .form-control[name^=quantity] {
  min-width: 50px;
}

/* Missing focus and border color to overwrite bootstrap */
.btn-info:hover,
.btn-info:active,
.btn-info.active,
.btn-info.disabled,
.btn-info[disabled] {
  background-image: none;
  background-color: #01579B;
}

/* RTL support */
html[dir=rtl] .checkbox input[type="checkbox"],
html[dir=rtl] .checkbox-inline input[type="checkbox"],
html[dir=rtl] .radio input[type="radio"],
html[dir=rtl] .radio-inline input[type="radio"] {
  position: absolute;
  margin-top: 4px\9;
  margin-right: -20px;
  margin-left: unset;
}
html[dir=rtl] .input-group-btn:last-child > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}
html[dir=rtl] .input-group .form-control:first-child {
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  border-top-left-radius: unset;
  border-bottom-left-radius: unset;
}
html[dir=rtl] .container .row:first-child .col-sm-4,
html[dir=rtl] .container .row:first-child .col-sm-5 {
  float: right;
}
html[dir=rtl] #cart .dropdown-menu {
  left: 0;
  right: auto;
}
@media (min-width: 768px) {
  html[dir=rtl] .navbar-nav {
    float: right;
    margin: 0;
  }
  html[dir=rtl] .navbar-nav > li {
    float: right;
  }
}

/* Extra polish for fruit store feel */
.product-thumb .caption p {
  color: var(--text-light);
  font-size: 12px;
  line-height: 1.4;
}
#content h1,
#content h2 {
  margin-bottom: 18px;
}
.swiper-viewport {
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
}


/* FreshFruits v2 — homepage widgets and responsive product catalog */
#content > .fresh-section { margin: 26px 0 38px; clear: both; }
.fresh-section-heading { display:flex; flex-direction:column; align-items:flex-start; gap:3px; margin:0 0 18px; padding:0 0 12px; border-bottom:1px solid #e2eddf; }
.fresh-section-kicker {font-size:10px; letter-spacing:2px; font-weight:800; color:#639f46;}
.fresh-section-heading h3 {font-size:clamp(21px,2.2vw,29px); line-height:1.2; font-weight:800; color:#183e26; margin:0;}
.fresh-products {display:flex; flex-wrap:wrap; margin-left:-9px; margin-right:-9px;}
.fresh-products > .product-layout {float:none; padding-left:9px; padding-right:9px; display:flex;}
.fresh-products .product-thumb {width:100%;}
.fresh-section .product-thumb, .product-grid .product-thumb, #product-category .product-thumb, #product-search .product-thumb, #product-special .product-thumb {border:1px solid #e5ede1; border-radius:17px; box-shadow:0 3px 16px rgba(25,75,34,.055); background:white; position:relative; display:flex; flex-direction:column; width:100%; overflow:hidden; transition:transform .2s,box-shadow .2s;}
.fresh-section .product-thumb:hover, .product-grid .product-thumb:hover {transform:translateY(-3px);box-shadow:0 10px 24px rgba(25,75,34,.12);}
.fresh-section .product-thumb .image, .product-grid .product-thumb .image {height:195px; padding:16px; display:flex; align-items:center; justify-content:center; position:relative; background:#f7faf4;}
.fresh-section .product-thumb .image a, .product-grid .product-thumb .image a {width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
.fresh-section .product-thumb .image img, .product-grid .product-thumb .image img {max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply;}
.fresh-sale-badge {position:absolute;top:12px;left:12px;z-index:2;background:#e45d45;color:#fff;border-radius:30px;padding:5px 11px;font-size:10px;font-weight:800;letter-spacing:.6px;}
.fresh-section .product-thumb .caption, .product-grid .product-thumb .caption {min-height:0!important;flex:1;padding:14px 15px 10px;}
.fresh-section .product-thumb h4, .product-grid .product-thumb h4 {font-size:14px;line-height:1.45;margin:0 0 10px;min-height:40px;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.fresh-section .product-thumb .price, .product-grid .product-thumb .price {font-size:18px;font-weight:800;margin:6px 0 2px;color:#246d35;}
.fresh-section .product-thumb .price-old, .product-grid .product-thumb .price-old {font-size:12px;}
.fresh-section .product-thumb .button-group, .product-grid .product-thumb .button-group {margin-top:auto;display:flex;align-items:stretch;min-height:45px;border-top:1px solid #edf2e9;background:#fff;overflow:hidden;}
.fresh-section .product-thumb .button-group button, .product-grid .product-thumb .button-group button {flex:0 0 17%;width:auto;border:0;border-left:1px solid #edf2e9;color:#487653;font-size:14px;background:#fff;}
.fresh-section .product-thumb .button-group button:first-child, .product-grid .product-thumb .button-group button:first-child {flex:1;background:#318044;color:white;font-size:13px;font-weight:700;border:0;}
.fresh-section .product-thumb .button-group button:first-child:hover, .product-grid .product-thumb .button-group button:first-child:hover {background:#206532;color:white;}
.fresh-section .product-thumb .button-group button:first-child span, .product-grid .product-thumb .button-group button:first-child span {display:inline!important;}
#content .product-grid {margin-bottom:18px;}
@media(max-width:767px){.fresh-products{margin-left:-6px;margin-right:-6px}.fresh-products>.product-layout{padding-left:6px;padding-right:6px}.fresh-section .product-thumb .image,.product-grid .product-thumb .image{height:145px;padding:10px}.fresh-section .product-thumb .caption,.product-grid .product-thumb .caption{padding:10px}.fresh-section .product-thumb h4,.product-grid .product-thumb h4{font-size:12px;min-height:36px}.fresh-section .product-thumb .price,.product-grid .product-thumb .price{font-size:15px}.fresh-section .product-thumb .button-group button:first-child span,.product-grid .product-thumb .button-group button:first-child span{display:none!important}.fresh-section .product-thumb .button-group button,.product-grid .product-thumb .button-group button{min-height:42px}.fresh-section-heading{margin-bottom:14px}}
@media(min-width:768px) and (max-width:991px){.fresh-section .product-thumb .image{height:175px}}

/* FreshFruits V3: product detail related products */
.ff-related-section{margin:36px 0 28px;clear:both}
.ff-related-heading{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.ff-related-heading h2{font-size:24px;font-weight:750;color:#183b27;margin:0;line-height:1.3}
.ff-related-accent{height:3px;background:#54b65b;border-radius:8px;flex:1;max-width:90px}
.ff-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ff-related-card{background:#fff;border:1px solid #e5eee5;border-radius:15px;overflow:hidden;min-width:0;display:flex;flex-direction:column;box-shadow:0 3px 13px rgba(20,65,30,.045);transition:box-shadow .2s,transform .2s}
.ff-related-card:hover{box-shadow:0 9px 26px rgba(20,65,30,.13);transform:translateY(-3px)}
.ff-related-image{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;background:#f8fbf8;padding:15px}
.ff-related-image img{width:100%;height:100%;object-fit:contain;max-width:100%}
.ff-related-details{padding:13px 14px 15px;display:flex;flex-direction:column;flex:1}
.ff-related-details h3{font-size:14px;line-height:1.45;font-weight:650;margin:0 0 10px;min-height:41px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ff-related-details h3 a{color:#223b2c;text-decoration:none}.ff-related-details h3 a:hover{color:#258a37}
.ff-related-rating{color:#f4b43e;font-size:12px;margin-bottom:8px}
.ff-related-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:auto;margin-bottom:13px}
.ff-related-price strong{color:#16853a;font-size:18px;font-weight:750}.ff-related-price del{font-size:12px;color:#8d9990}
.ff-related-actions{display:flex;gap:7px;align-items:stretch}
.ff-related-actions button{border-radius:8px;border:1px solid #dce9de;min-height:36px;cursor:pointer}
.ff-related-add{background:#218c41;color:white;border-color:#218c41!important;flex:1;padding:8px 6px;font-size:12px;font-weight:700}
.ff-related-add:hover{background:#176c31}.ff-related-icon{background:#f6faf6;color:#437b50;width:35px;flex:none}.ff-related-icon:hover{background:#e8f5e9}
@media(max-width:991px){.ff-related-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}}
@media(max-width:767px){.ff-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ff-related-heading h2{font-size:20px}.ff-related-details{padding:10px}.ff-related-price strong{font-size:16px}.ff-related-add{font-size:11px}.ff-related-icon{width:29px}.ff-related-image{padding:9px}}
@media(max-width:360px){.ff-related-actions{gap:4px}.ff-related-icon{width:27px}.ff-related-add{font-size:10px}}

/* FreshFruits V4: scoped product detail refresh */
#product-product.ff-fruit-product {color:#253a2a;}
#product-product.ff-fruit-product .breadcrumb {background:#f5faf3;border-radius:12px;padding:12px 16px;margin:16px 0 24px;}
#product-product.ff-fruit-product #content > .row {display:flex;flex-wrap:wrap;align-items:flex-start;}
#product-product.ff-fruit-product .ff-fruit-gallery {display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px;padding:0;list-style:none;}
#product-product.ff-fruit-product .ff-fruit-gallery > li:first-child {width:100%;margin:0;}
#product-product.ff-fruit-product .ff-fruit-gallery > li:first-child .thumbnail {min-height:300px;display:flex;align-items:center;justify-content:center;background:#f8fbf6;border:1px solid #e6efe1;border-radius:18px;padding:22px;}
#product-product.ff-fruit-product .ff-fruit-gallery > li:first-child img {max-height:420px;width:auto;max-width:100%;object-fit:contain;}
#product-product.ff-fruit-product .ff-fruit-gallery .image-additional {width:75px;margin:0;}
#product-product.ff-fruit-product .ff-fruit-gallery .image-additional .thumbnail {border-radius:10px;border:1px solid #e4ecdf;overflow:hidden;}
#product-product.ff-fruit-product .ff-fruit-title {font-size:clamp(25px,3vw,35px);font-weight:750;line-height:1.2;margin:16px 0;color:#1d4329;}
#product-product.ff-fruit-product .ff-fruit-stock {color:#367b3f;font-weight:650;margin-top:9px;}
#product-product.ff-fruit-product #content > .row > div > .list-unstyled h2 {font-size:31px;font-weight:800;color:#27863e;margin:12px 0;}
#product-product.ff-fruit-product #content > .row > div > .list-unstyled li span[style*="line-through"] {color:#89958a;font-size:16px;}
#product-product.ff-fruit-product .ff-fruit-actions {float:right;display:flex;gap:7px;}
#product-product.ff-fruit-product .ff-fruit-actions .btn {border-radius:50%;width:39px;height:39px;background:#f4f9f2;border:1px solid #e0ebdc;color:#337a40;}
#product-product.ff-fruit-product .ff-fruit-purchase {background:#f7fbf5;border:1px solid #e0ecdc;border-radius:16px;padding:18px;margin:18px 0 24px;}
#product-product.ff-fruit-product #button-cart {background:#278b43;border:1px solid #278b43;border-radius:10px;font-weight:700;min-height:45px;padding:11px 20px;box-shadow:0 4px 12px rgba(39,139,67,.16);}
#product-product.ff-fruit-product #button-cart:hover {background:#176b30;}
#product-product.ff-fruit-product #input-quantity {border-radius:9px;min-height:44px;}
#product-product.ff-fruit-product .nav-tabs {border-bottom:2px solid #e4eedf;margin-top:20px;}
#product-product.ff-fruit-product .nav-tabs > li > a {color:#426348;border-radius:10px 10px 0 0;font-weight:650;}
#product-product.ff-fruit-product .nav-tabs > li.active > a {color:#247a38;border-color:#e4eedf #e4eedf #fff;}
#product-product.ff-fruit-product .tab-content {padding:20px 4px;line-height:1.7;}
#product-product.ff-fruit-product .form-control {border-color:#dbe7d7;box-shadow:none;}
#product-product.ff-fruit-product .form-control:focus {border-color:#66a977;box-shadow:0 0 0 2px rgba(60,150,77,.10);}
@media(max-width:767px){#product-product.ff-fruit-product .ff-fruit-gallery > li:first-child .thumbnail{min-height:220px;padding:12px}#product-product.ff-fruit-product .ff-fruit-gallery > li:first-child img{max-height:300px}#product-product.ff-fruit-product .ff-fruit-title{font-size:26px}#product-product.ff-fruit-product .ff-fruit-purchase{padding:14px}#product-product.ff-fruit-product .ff-fruit-actions{float:none;justify-content:flex-end}}

/* FreshFruits V5 — mobile-first refinement; scoped to avoid checkout regressions */
@media (max-width:767px) {
 html,body{max-width:100%;overflow-x:clip}
 #product-product.ff-fruit-product{padding-left:12px;padding-right:12px}
 #product-product.ff-fruit-product .breadcrumb{margin:8px 0 14px;padding:9px 11px;font-size:12px;overflow-wrap:anywhere}
 #product-product.ff-fruit-product #content > .row{display:block;margin-left:-8px;margin-right:-8px}
 #product-product.ff-fruit-product #content > .row > [class*="col-"]{float:none;width:100%;padding-left:8px;padding-right:8px}
 #product-product.ff-fruit-product .ff-fruit-gallery{gap:7px;margin-bottom:12px}
 #product-product.ff-fruit-product .ff-fruit-gallery > li:first-child .thumbnail{min-height:0;aspect-ratio:1/1;max-height:370px;padding:12px;margin-bottom:4px}
 #product-product.ff-fruit-product .ff-fruit-gallery > li:first-child img{max-height:320px}
 #product-product.ff-fruit-product .ff-fruit-gallery .image-additional{width:60px}
 #product-product.ff-fruit-product .ff-fruit-title{font-size:23px;line-height:1.3;margin:10px 0 12px;overflow-wrap:anywhere}
 #product-product.ff-fruit-product .ff-fruit-purchase{padding:13px;margin:14px 0 18px;border-radius:13px}
 #product-product.ff-fruit-product #button-cart{width:100%;min-height:48px;font-size:15px;touch-action:manipulation}
 #product-product.ff-fruit-product #input-quantity{min-height:46px;font-size:16px}
 #product-product.ff-fruit-product .form-control{max-width:100%;font-size:16px}
 #product-product.ff-fruit-product .ff-fruit-actions .btn{min-width:44px;min-height:44px;width:44px;height:44px}
 #product-product.ff-fruit-product .nav-tabs{display:flex;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
 #product-product.ff-fruit-product .nav-tabs>li{float:none;flex:0 0 auto}
 #product-product.ff-fruit-product .nav-tabs>li>a{white-space:nowrap;padding:11px 12px}
 #product-product.ff-fruit-product .tab-content{padding:13px 2px;overflow-wrap:anywhere}
 #product-product.ff-fruit-product .tab-content img{max-width:100%;height:auto}
 #product-product.ff-fruit-product .tab-content table{display:block;max-width:100%;overflow-x:auto}
 .ff-related-section{margin:24px 0 20px}
 .ff-related-heading{margin-bottom:13px}
 .ff-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .ff-related-card{border-radius:12px}
 .ff-related-image{padding:8px}
 .ff-related-details{padding:9px;min-width:0}
 .ff-related-details h3{font-size:12px;line-height:1.4;min-height:34px;margin-bottom:7px}
 .ff-related-price{gap:5px;margin-bottom:9px}
 .ff-related-price strong{font-size:15px}
 .ff-related-actions{gap:5px}
 .ff-related-actions button{min-height:40px}
 .ff-related-add{font-size:11px;line-height:1.2}
 .ff-related-icon{width:32px}
 .fresh-section-heading h3{font-size:20px}
 .fresh-section .product-thumb,.product-grid .product-thumb{border-radius:12px}
 .fresh-section .product-thumb .image,.product-grid .product-thumb .image{height:auto;aspect-ratio:1/1;padding:8px}
 .fresh-section .product-thumb .caption,.product-grid .product-thumb .caption{padding:9px}
 .fresh-section .product-thumb .button-group button,.product-grid .product-thumb .button-group button{min-height:44px;touch-action:manipulation}
}
@media (max-width:380px){
 #product-product.ff-fruit-product{padding-left:9px;padding-right:9px}
 .ff-related-grid{gap:7px}
 .ff-related-actions{flex-wrap:wrap}
 .ff-related-add{flex:1 0 100%}
 .ff-related-icon{flex:1;width:auto}
}
@media (prefers-reduced-motion:reduce){.ff-related-card,.fresh-section .product-thumb,.product-grid .product-thumb{transition:none!important}}
