/* Frankó Vadászbolt – első megjelenési beállítás a VirtueMart Basic sablonhoz */
:root {
  --franko-green: #294536;
  --franko-green-dark: #20382b;
  --franko-olive: #66714c;
  --franko-gold: #bd9650;
  --franko-paper: #f7f5ef;
  --franko-ink: #28312b;
}

body.site {
  background: var(--franko-paper);
  color: var(--franko-ink);
}

.header {
  background: #fff;
  box-shadow: 0 2px 12px rgba(35, 49, 39, .08);
}

.toolbar {
  background: var(--franko-green);
  color: #fff;
}

.toolbar a:not(.btn) {
  color: #fff;
}

.toolbar a:not(.btn):hover {
  color: #f1d596;
}

.franko-login a,
.toolbar .franko-login a {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 999px;
  padding: .38rem .9rem;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.franko-login a:hover,
.toolbar .franko-login a:hover {
  background: #fff;
  color: var(--franko-green);
}

.header-inner {
  padding-top: .8rem !important;
  padding-bottom: .8rem !important;
}

.header-inner .logo img {
  display: block;
  width: min(100%, 340px);
  max-height: 82px;
  object-fit: contain;
  object-position: left center;
}

.main-menu {
  background: var(--franko-green-dark);
  border-top: 3px solid var(--franko-gold);
}

.main-menu .mod-menu,
.main-menu .nav {
  display: flex;
  align-items: center;
  gap: .2rem;
  margin: 0;
}

.main-menu .mod-menu a,
.main-menu .nav-link {
  display: block;
  padding: .85rem 1.15rem;
  color: #fff !important;
  font-weight: 700;
  text-decoration: none;
}

.main-menu .mod-menu a:hover,
.main-menu .nav-link:hover,
.main-menu .current a {
  background: var(--franko-olive);
  color: #fff !important;
}

.page {
  min-height: 55vh;
  background: var(--franko-paper);
}

.page main h1,
.page main .page-header h1,
.page main h2 {
  color: var(--franko-green);
}

.page main h1 {
  margin-bottom: 1.3rem;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 700;
}

.sidebar-left .card,
.sidebar-left .moduletable {
  border-color: #e7e1d2;
  border-radius: .65rem;
  background: #fff;
}

.sidebar-left .card-header,
.sidebar-left .module-title {
  color: var(--franko-green);
  font-weight: 700;
}

.sidebar-left a {
  color: var(--franko-green);
}

.sidebar-left a:hover {
  color: #98783e;
}

.cart-module #vmCartModule,
.cart-module .vmCartModule {
  border: 1px solid #e5dfd1;
  border-radius: .7rem;
  background: #fff;
  padding: .55rem .85rem;
}

.cart-module a {
  color: var(--franko-green);
  font-weight: 700;
}

.category-view .browse-view .vmproduct,
.category-view .browse-view .product-container,
.category-view .browse-view .vm-product-container,
.category-view .browse-view .product,
.category-view .browse-view .spacer {
  border-radius: .7rem;
}

.category-view .browse-view .vmproduct,
.category-view .browse-view .product-container,
.category-view .browse-view .vm-product-container {
  height: 100%;
  border: 1px solid #e7e1d2;
  background: #fff;
  padding: 1rem;
  box-shadow: 0 3px 12px rgba(35, 49, 39, .05);
  transition: transform .16s ease, box-shadow .16s ease;
}

.category-view .browse-view .vmproduct:hover,
.category-view .browse-view .product-container:hover,
.category-view .browse-view .vm-product-container:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(35, 49, 39, .1);
}

.category-view .browse-view .vmproduct img,
.category-view .browse-view .product-container img,
.category-view .browse-view .vm-product-container img {
  max-height: 230px;
  object-fit: contain;
}

.vm-price,
.PricesalesPrice,
.product-price {
  color: var(--franko-green);
  font-weight: 700;
}

.vm-button-correct,
.addtocart-button input,
.btn-primary {
  border-color: var(--franko-green);
  background: var(--franko-green);
}

.vm-button-correct:hover,
.addtocart-button input:hover,
.btn-primary:hover {
  border-color: var(--franko-green-dark);
  background: var(--franko-green-dark);
}

@media (max-width: 767.98px) {
  .header-inner .logo img {
    max-height: 64px;
  }
  .toolbar .row {
    row-gap: .45rem;
  }
  .main-menu .mod-menu,
  .main-menu .nav {
    flex-wrap: wrap;
  }
  .main-menu .mod-menu a,
  .main-menu .nav-link {
    padding: .65rem .85rem;
  }
}


/* Sticky felső menüsor, az eredeti fejléc után önálló elemként. */
.main-menu {
  position: sticky;
  top: 0;
  z-index: 1050;
  width: 100%;
  box-shadow: 0 4px 12px rgba(20, 35, 25, .18);
}
.main-menu .container-xxl,
.main-menu .row,
.main-menu .col { min-width: 0; }
.main-menu .mod-menu,
.main-menu .nav {
  flex-wrap: wrap;
  min-width: 0;
}
.main-menu .mod-menu a,
.main-menu .nav-link { white-space: normal; }

/* Hosszú terméknevek és nagyszámú termékkártya ne feszítsék szét a fejlécet vagy az oldalt. */
.header-inner .row > [class*="col-"] { min-width: 0; }
.main-search, .cart-module, .logo { min-width: 0; max-width: 100%; }
.main-search input, .main-search .form-control { width: 100%; min-width: 0; }
.cart-module #vmCartModule, .cart-module .vmCartModule { max-width: 100%; }
.page, .page .container-xxl, .page .row, .page main, .page aside { min-width: 0; }
.page img { max-width: 100%; height: auto; }
.category-view .browse-view { min-width: 0; overflow-wrap: anywhere; }

/* Középre helyezett, vízszintesen lapozható kiemelt termékek. */
.franko-main-top { margin-bottom: 1.5rem; }
.franko-main-top .module-title { color: var(--franko-green); text-align: center; }
.franko-product-slider .vmheader {
  margin: 0 0 1rem;
  color: var(--franko-green);
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  font-weight: 700;
  text-align: center;
}
.franko-slider-shell { position: relative; min-width: 0; }
.franko-slider-track {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 1rem;
  width: 100%;
  margin: 0;
  padding: .5rem .2rem 1rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: thin;
  scrollbar-color: var(--franko-olive) #eee8d8;
}
.franko-slider-track > .product-container {
  float: none !important;
  flex: 0 0 clamp(220px, 27%, 300px);
  width: auto !important;
  min-width: 0;
  scroll-snap-align: start;
}
.franko-slider-track .spacer {
  height: 100%;
  padding: 1rem;
  border: 1px solid #e7e1d2;
  border-radius: .7rem;
  background: #fff;
  text-align: center;
  box-shadow: 0 3px 12px rgba(35,49,39,.06);
}
.franko-slider-track .featuredProductImage { max-height: 190px; object-fit: contain; }
.franko-slider-controls {
  display: flex;
  justify-content: flex-end;
  gap: .5rem;
  margin-bottom: .35rem;
}
.franko-slider-controls button {
  width: 2.25rem;
  height: 2.25rem;
  border: 1px solid var(--franko-green);
  border-radius: 50%;
  background: var(--franko-green);
  color: #fff;
  font-size: 1.25rem;
  line-height: 1;
}
.franko-slider-controls button:hover { background: var(--franko-olive); }
@media (max-width: 767.98px) {
  .franko-slider-track > .product-container { flex-basis: min(78vw, 280px); }
}
