/* FŐ SZÍNEK */
:root {
--veng-blue: #0f5286;

--veng-blue-hover: #0a3a60;
--veng-blue-light: #eaf2f8;
}

/* 1. TERMÉKLISTA RÁCS (FIXÁLT OSZLOPSZÉLESSÉG) /
#comjshop_list_product .row-fluid,
.jshop.list_product .row-fluid,
.jshop_list_product .row-fluid {
display: grid !important;
/ A minmax(0, 1fr) KÖTELEZŐ, hogy a nagy képek ne nyomják szét az oszlopot! */
grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
gap: 16px;
float: none !important;
}

#comjshop_list_product .row-fluid > div[class*="sblock"],
.jshop_list_product .row-fluid > div[class*="sblock"] {
float: none !important;
width: 100% !important;
margin: 0 !important;
padding: 0 !important;
box-sizing: border-box !important;
}

/* JOOMSHOPPING TISZTÍTÓ DIVEK ELREJTÉSE (Ne borítsák fel a rácsot!) */
#comjshop_list_product .row-fluid > div.clearfix,
#comjshop_list_product .row-fluid > div.clear,
.jshop_list_product .row-fluid > div.clearfix,
.jshop_list_product .row-fluid > div.clear {
display: none !important;
}

/* 2. TERMÉKKÁRTYÁK */
.block_product {
background: #ffffff;
border: 1px solid #e8e8e3;
border-radius: 12px;
overflow: hidden;
transition: box-shadow 0.3s, border-color 0.3s, transform 0.3s;
height: 100%;
display: flex;
flex-direction: column;
}

.block_product:hover {
box-shadow: 0 8px 24px rgba(15, 82, 134, 0.15);
border-color: var(--veng-blue);
transform: translateY(-3px);
}

.block_product .product {
display: flex;
flex-direction: column;
height: 100%;
}

/* Kép - Fixált arányok */
.block_product .image {
width: 100%;
overflow: hidden;
background: #f5f5f0;
}

.block_product .image .image_block {
width: 100%;
aspect-ratio: 4/3;
overflow: hidden;
display: block !important;
position: relative !important;
}

.block_product .image .image_block a {
display: block;
width: 100%;
height: 100%;
}

.block_product .image .jshop_img {
width: 100% !important;
height: 100% !important;
max-width: 100% !important;
object-fit: cover;
position: absolute !important;
top: 0; left: 0;
transition: transform 0.4s;
}

.block_product:hover .image .jshop_img {
transform: scale(1.06);
}

/* Név */
.block_product .name {
padding: 14px 16px 4px;
text-align: center;
min-height: 58px;
display: flex;
align-items: center;
justify-content: center;
}

.block_product .name a {
font-size: 13px !important;
font-weight: 700 !important;
color: #1a1a18 !important;
text-decoration: none !important;
line-height: 1.35;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
text-transform: uppercase;
letter-spacing: 0.2px;
}

.block_product .name a:hover { color: var(--veng-blue) !important; }

/* Tartalom */
.block_product .oiproduct {
padding: 6px 16px 16px;
flex: 1;
display: flex;
flex-direction: column;
text-align: center;
align-items: center;
}

.block_product .description {
font-size: 12px; color: #888;
line-height: 1.4; margin-bottom: 10px;
display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

.block_product .jshop_price {
font-size: 22px !important; font-weight: 800 !important;
color: var(--veng-blue) !important; margin: auto 0 14px 0;
padding-top: 6px;
}

.block_product .old_price { font-size: 13px; color: #9c9c96; text-decoration: line-through; }

.block_product .manufacturer_name, .block_product .manufacturer_code,
.block_product .real_ean, .block_product .productweight,
.block_product .deliverytime, .block_product .extra_fields,
.block_product .vendorinfo, .block_product .qty_in_stock,
.block_product .price_extra_info, .block_product .default_price,
.block_product .base_price, .block_product .block_available,
.block_product .count_commentar, .block_product .review_mark { display: none; }

/* Részletek gomb */
.block_product .buttons {
margin-top: auto; padding: 0 16px 16px; width: 100%; box-sizing: border-box;
text-align: center !important;
}

.block_product .button_detail {
display: table !important; width: auto !important;
padding: 11px 32px !important; font-size: 12px !important;
font-weight: 700 !important; text-align: center !important;
text-decoration: none !important; text-transform: uppercase;
letter-spacing: 0.8px;
border: 2px solid var(--veng-blue) !important;
border-radius: 8px !important;
background: transparent !important;
color: var(--veng-blue) !important;
box-sizing: border-box !important;
transition: all 0.2s !important; margin: 0 auto !important;
float: none !important;
}

.block_product .button_detail:hover {
background: var(--veng-blue) !important; color: #fff !important;
}

.block_product .button_buy { display: none !important; }

/* Címsor */
h1.listproduct,
#comjshop > h1,
.jshop#comjshop > h1 {
font-size: 2rem !important;
font-weight: 800 !important;
color: var(--veng-blue) !important;
text-transform: uppercase !important;
letter-spacing: 2px !important;
margin: 0 0 28px 0 !important;
padding: 0 0 16px 0 !important;
position: relative !important;
border-bottom: none !important;
line-height: 1.2 !important;
}

h1.listproduct::after,
#comjshop > h1::after,
.jshop#comjshop > h1::after {
content: '' !important;
display: block !important;
width: 56px !important;
height: 4px !important;
background: var(--veng-blue) !important;
border-radius: 2px !important;
margin-top: 12px !important;
}

/* 3. SZŰRŐ SIDEBAR KÜLALAK */
#aside-right .moduletable {
background: #ffffff !important; border: 1px solid #e8e8e3 !important;
border-radius: 14px !important; overflow: hidden !important;
box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
}

#aside-right .moduletable-content-wrapper { padding: 0 !important; }

/* 4. SZŰRŐ LEGÖRDÜLŐ STATIKUSRA TÉTELE ÉS FORM FIXÁLÁSA */
#aside-right .jshop_filters form {
display: block !important;
height: auto !important;
visibility: visible !important;
opacity: 1 !important;
padding: 20px !important;
}

#aside-right .jshop_filters .btn-filter-out {
width: 100% !important; padding: 14px 20px !important;
font-size: 12px !important; font-weight: 800 !important;
text-transform: uppercase; letter-spacing: 1.5px;
background: var(--veng-blue) !important; color: #fff !important;
border: none !important; border-radius: 0 !important;
text-align: left !important; margin: 0 !important; display: block !important;
pointer-events: none !important;
cursor: default !important;
}

#aside-right .jshop_filters .btn-filter-out::after { display: none !important; }

/* Szűrő blokkok belső formázása */
#aside-right .jshop_filters .fblock {
margin-bottom: 18px !important; padding-bottom: 18px !important;
border-bottom: 1px solid #f0efea;
}

#aside-right .jshop_filters .fblock:last-of-type,
#aside-right .jshop_filters .controls_bottom {
border-bottom: none !important; margin-bottom: 0 !important; padding-bottom: 0 !important;
}

#aside-right .jshop_filters .head {
font-size: 11px !important; font-weight: 800 !important;
color: #1a1a18 !important; text-transform: uppercase;
letter-spacing: 1.2px; margin-bottom: 10px !important; padding: 0 !important;
}

/* Gyártó checkbox lista keresővel (Középre igazítva kényszerítve) */
.veng-mfr-search {
width: 90% !important;
margin: 0 auto 10px auto !important;
display: block !important;
padding: 8px 12px !important;
font-size: 12px !important;
height: 32px !important;
line-height: 1 !important;
border: 1px solid #e2e2dc !important;
border-radius: 6px !important;
background: #fafaf8 !important;
color: #1a1a18 !important;
outline: none !important;
box-sizing: border-box !important;
transition: border-color 0.2s !important;
}

.veng-mfr-search:focus {
border-color: var(--veng-blue) !important;
box-shadow: 0 0 0 3px rgba(15, 82, 134, 0.1) !important;
}

.veng-mfr-search::placeholder { color: #bbb !important; }

.veng-mfr-list {
max-height: 200px; overflow-y: auto;
scrollbar-width: thin; scrollbar-color: #ddd transparent;
}

.veng-mfr-list::-webkit-scrollbar { width: 4px; }
.veng-mfr-list::-webkit-scrollbar-thumb { background: #ddd; border-radius: 2px; }

.veng-mfr-item {
display: flex !important; align-items: center;
gap: 9px; padding: 5px 6px; font-size: 13px; color: #1a1a18;
cursor: pointer; border-radius: 6px; transition: background 0.15s;
}

.veng-mfr-item:hover { background: #f5f5f0; }

.veng-mfr-item input[type="checkbox"] {
width: 15px; height: 15px; accent-color: var(--veng-blue);
cursor: pointer; flex-shrink: 0; margin: 0;
}

.veng-mfr-name { flex: 1; }

#aside-right .jshop_filters .box_manufacturer select { display: none !important; }
#aside-right .jshop_filters .box_manufacturer .chosen-container { display: none !important; }

/* Ár filter mezők finomhangolása (Erős !important a Bootstrap felülírására) */
.veng-price-row {
display: flex !important;
align-items: center !important;
justify-content: center !important;
gap: 6px !important;
margin-bottom: 12px !important;
}

.veng-price-input {
width: 75px !important;
height: 26px !important;
min-height: 26px !important;
padding: 0 6px !important;
margin: 0 !important;
font-size: 12px !important;
font-weight: 600 !important;
line-height: 26px !important;
border: 1px solid #e2e2dc !important;
border-radius: 6px !important;
background: #f0efea !important;
color: var(--veng-blue) !important;
text-align: center !important;
outline: none !important;
box-sizing: border-box !important;
transition: all 0.2s !important;
}

.veng-price-input:focus {
border-color: var(--veng-blue) !important;
background: #ffffff !important;
box-shadow: 0 0 0 2px rgba(15, 82, 134, 0.1) !important;
}

.veng-price-sep { color: #888; font-size: 12px; font-weight: 400; margin: 0 2px; }
.veng-price-currency { font-size: 11px; color: #888; font-weight: 600; white-space: nowrap; margin-left: 2px;}

.veng-price-presets {
display: flex; flex-wrap: wrap; gap: 5px; margin-top: 10px;
}

.veng-price-preset {
font-size: 11px;
font-weight: 600; padding: 4px 8px;
border-radius: 20px; border: 1px solid #e2e2dc;
background: #fff; color: #888; cursor: pointer;
transition: all 0.2s; white-space: nowrap;
}

.veng-price-preset:hover,
.veng-price-preset.active {
background: var(--veng-blue-light); border-color: var(--veng-blue); color: var(--veng-blue);
}

/* Slider */
#aside-right .jshop_filters input[type="range"] {
width: 100% !important; height: 4px !important;
min-height: 4px !important; padding: 0 !important;
-webkit-appearance: none; appearance: none;
background: #e8e8e3; border-radius: 2px;
outline: none; margin: 8px 0; cursor: pointer;
}

#aside-right .jshop_filters input[type="range"]::-webkit-slider-thumb {
-webkit-appearance: none;
width: 16px; height: 16px;
border-radius: 50%; background: #fff;
border: 3px solid var(--veng-blue); cursor: pointer;
box-shadow: 0 1px 4px rgba(0,0,0,0.15);
transition: transform 0.15s, box-shadow 0.15s;
}

#aside-right .jshop_filters input[type="range"]::-webkit-slider-thumb:hover {
transform: scale(1.2);
box-shadow: 0 2px 8px rgba(15, 82, 134, 0.25);
}

#aside-right .jshop_filters input[type="range"]::-moz-range-thumb {
width: 16px; height: 16px; border-radius: 50%;
background: #fff; border: 3px solid var(--veng-blue); cursor: pointer;
}

/* Üzemanyag chip */
.veng-fuel-chips { display: flex; gap: 8px; }

.veng-fuel-chip {
flex: 1; padding: 8px 12px; font-size: 12px; font-weight: 600;
text-align: center; border: 1px solid #e2e2dc; border-radius: 8px;
background: #fff; color: #888; cursor: pointer;
transition: all 0.2s; user-select: none;
}

.veng-fuel-chip:hover { border-color: #ccc; background: #fafaf8; }

.veng-fuel-chip.active {
background: var(--veng-blue-light);
border-color: var(--veng-blue); color: var(--veng-blue);
}

/* Rendezés select */
.veng-sort-select {
width: 100%; height: 34px; padding: 0 10px;
font-size: 12px; font-weight: 600; color: #1a1a18;
border: 1px solid #e2e2dc; border-radius: 6px;
background: #fafaf8; cursor: pointer; outline: none;
transition: border-color 0.2s;
}

.veng-sort-select:focus {
border-color: var(--veng-blue);
box-shadow: 0 0 0 2px rgba(15,82,134,0.1);
}

/* Gombok */
#aside-right .jshop_filters .controls_bottom {
padding-top: 4px !important; display: flex !important;
flex-direction: column !important; gap: 8px !important;
}

.veng-btn-filter,
#aside-right .jshop_filters .controls_bottom .btn:first-child {
display: block !important; width: 100% !important;
padding: 12px 16px !important; font-size: 13px !important;
font-weight: 800 !important; text-align: center !important;
border: none !important; border-radius: 8px !important;
background: var(--veng-blue) !important; color: #fff !important;
cursor: pointer !important; text-transform: uppercase;
letter-spacing: 1px; margin: 0 !important;
transition: background 0.2s !important;
}

.veng-btn-filter:hover,
#aside-right .jshop_filters .controls_bottom .btn:first-child:hover {
background: var(--veng-blue-hover) !important;
}

.veng-btn-reset,
#aside-right .jshop_filters .controls_bottom .btn:last-child:not(:first-child) {
display: block !important; width: 100% !important;
padding: 10px 16px !important; font-size: 12px !important;
font-weight: 600 !important; text-align: center !important;
border: 1px solid #e2e2dc !important; border-radius: 8px !important;
background: #fafaf8 !important; color: #888 !important;
cursor: pointer !important; margin: 0 !important;
transition: all 0.2s !important; text-transform: uppercase; letter-spacing: 0.5px;
text-decoration: none !important;
}

.veng-btn-reset:hover,
#aside-right .jshop_filters .controls_bottom .btn:last-child:not(:first-child):hover {
background: #f0efea !important; color: #1a1a18 !important; border-color: #ccc !important;
}

/* License sáv és alert elrejtése /
div[style="background-color: #fcf8e3"],
.alert.alert-warning { display: none !important; }

/* Lapozó */
.pagination {
display: flex !important; align-items: center;
justify-content: center; gap: 4px; margin: 30px 0;
}

.pagination li { list-style: none; }

.pagination a, .pagination span {
min-width: 36px; height: 36px; display: flex !important;
align-items: center; justify-content: center;
font-size: 13px; border: 1px solid #e8e8e3; border-radius: 8px;
background: #fff; color: #888; text-decoration: none;
transition: all 0.15s; padding: 0 10px;
}

.pagination a:hover { background: #fafaf8; }

.pagination .active span {
background: var(--veng-blue) !important; color: #fff !important;
border-color: var(--veng-blue) !important;
}

/* ============================================================
   TERMÉK RÉSZLETES OLDAL
   ============================================================ */

#comjshop.productview {
background: #fff;
border-radius: 16px;
border: 1px solid #e4e8f0;
box-shadow: 0 4px 28px rgba(15,82,134,0.10);
padding: 40px;
box-sizing: border-box;
}

#comjshop.productview h1 {
font-size: 1.55rem !important; font-weight: 800 !important;
color: var(--veng-blue) !important; text-transform: uppercase !important;
letter-spacing: 0.5px !important; margin: 0 0 28px 0 !important;
padding: 0 0 18px 0 !important;
border-bottom: 3px solid var(--veng-blue) !important;
line-height: 1.3 !important;
}

/* 2 oszlop */
.productfull .row.jshop {
display: flex !important; gap: 36px !important;
align-items: flex-start !important; flex-wrap: nowrap !important; margin: 0 !important;
}

.productfull .row.jshop > .col-lg-4 {
flex: 0 0 44% !important; max-width: 44% !important; padding: 0 !important;
}

.productfull .row.jshop > .col-lg-8 {
flex: 1 !important; min-width: 0 !important; padding: 0 !important;
}

/* Kép */
.productfull .image_middle {
border-radius: 12px; overflow: hidden;
border: 1px solid #e0e4ec; background: #f5f5f0;
}

.productfull .image_middle a.lightbox { display: block; padding: 14px; }

.productfull .image_middle img {
width: 100% !important; height: auto !important;
max-height: 440px; object-fit: contain; display: block;
}

.productfull .text_zoom {
text-align: center; font-size: 12px; color: var(--veng-blue); padding: 8px 0 5px;
}

/* Thumbnailok */
.productfull .image_thumb_list { margin-top: 10px; }

.productfull #list_product_image_thumb {
display: flex !important; flex-wrap: wrap; gap: 8px;
}

.productfull .jshop_img_thumb {
width: 70px !important; height: 70px !important; object-fit: cover;
border-radius: 8px; border: 2px solid #e0e4ec !important;
margin: 0 !important; cursor: pointer; float: none !important;
transition: border-color 0.2s, transform 0.15s;
}

.productfull .jshop_img_thumb:hover {
border-color: var(--veng-blue) !important; transform: scale(1.06);
}

/* --- JOBB OSZLOP --- */

/* Gyártó */
.jshop_oiproduct .manufacturer_name {
display: inline-flex; align-items: center; gap: 6px;
background: var(--veng-blue-light); border: 1px solid rgba(15,82,134,0.2);
border-radius: 20px; padding: 5px 14px;
font-size: 13px; color: #555; margin-bottom: 18px !important;
}

.jshop_oiproduct .manufacturer_name span { font-weight: 700; color: var(--veng-blue); }

/* Attribútumok */
.jshop_oiproduct .jshop_prod_attributes {
background: #f8f9fc; border-radius: 10px;
padding: 12px 16px; border: 1px solid #e4e8f0; margin-bottom: 20px !important;
}

.jshop_oiproduct .attributgr_name {
display: block; font-size: 10px; font-weight: 800;
color: #aaa; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 8px;
}

.jshop_oiproduct .attributes_name { font-size: 12px; font-weight: 600; color: #666; }

.jshop_oiproduct .jshop_prod_attributes select {
margin-top: 4px; height: 36px; padding: 0 12px; font-size: 13px; font-weight: 600;
border: 1px solid #d0d6e0; border-radius: 8px; background: #fff;
color: #1a1a18; outline: none; cursor: pointer; display: block;
}

/* Ár: label kicsi, szám nagy */
.jshop_oiproduct .prod_price {
font-size: 11px !important; font-weight: 700 !important; color: #999 !important;
text-transform: uppercase; letter-spacing: 0.8px;
margin: 0 0 20px 0 !important; line-height: 1;
}

.jshop_oiproduct .prod_price #block_price {
display: block; font-size: 2.2rem !important;
font-weight: 800 !important; color: var(--veng-blue) !important;
margin-top: 4px; letter-spacing: 0;
}

/* Kosár gomb */
.jshop_oiproduct .prod_qty,
.jshop_oiproduct .prod_qty_input { display: none !important; }

.jshop_oiproduct .prod_buttons { margin-top: 4px !important; }

.jshop_oiproduct .product-buttons { display: block; width: 100%; }

.jshop_oiproduct .btn-buy,
.jshop_oiproduct .prod_buttons input[type="submit"] {
display: block !important; width: 100% !important;
padding: 15px 24px !important; font-size: 14px !important;
font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 1.5px !important;
background: linear-gradient(135deg, #0f5286 0%, #1a7cc9 100%) !important;
color: #fff !important; border: none !important; border-radius: 10px !important;
cursor: pointer !important; transition: all 0.25s !important;
box-shadow: 0 4px 18px rgba(15,82,134,0.32) !important; box-sizing: border-box !important;
}

.jshop_oiproduct .btn-buy:hover,
.jshop_oiproduct .prod_buttons input[type="submit"]:hover {
background: linear-gradient(135deg, #0a3a60 0%, #0f5286 100%) !important;
box-shadow: 0 6px 22px rgba(15,82,134,0.48) !important; transform: translateY(-1px);
}

/* --- LEÍRÁS (teljes szélességű, a row alatt) --- */
.productfull .jshop_prod_description {
margin-top: 32px !important;
padding: 28px 32px;
background: #f8f9fc;
border-radius: 12px;
border: 1px solid #e4e8f0;
font-size: 14px; color: #3a3a3a; line-height: 1.8;
}

.productfull .jshop_prod_description::before {
content: 'Termékleírás';
display: block; font-size: 11px; font-weight: 800;
color: #999; text-transform: uppercase; letter-spacing: 1.2px;
margin-bottom: 14px; padding-bottom: 10px;
border-bottom: 1px solid #e4e8f0;
}

.productfull .jshop_prod_description p { margin-bottom: 10px; }
.productfull .jshop_prod_description a { color: var(--veng-blue); }

/* Extra mezők */
.jshop_oiproduct .extra_fields {
margin-top: 12px; border-radius: 10px;
overflow: hidden; border: 1px solid #e4e8f0; margin-bottom: 16px !important;
}

.jshop_oiproduct .extra_fields_el {
display: flex; align-items: baseline; gap: 8px;
padding: 8px 14px; border-bottom: 1px solid #f0f2f7; font-size: 13px;
}

.jshop_oiproduct .extra_fields_el:last-child { border-bottom: none; }

.jshop_oiproduct .extra_fields_name {
font-size: 11px; font-weight: 700; color: #999;
text-transform: uppercase; letter-spacing: 0.5px; min-width: 90px; flex-shrink: 0;
}

.jshop_oiproduct .extra_fields_value { font-weight: 600; color: #1a1a18; }

/* Vissza gomb */
.productview .button_back { padding-top: 24px; }

.productview .button_back input {
padding: 10px 22px !important; font-size: 12px !important; font-weight: 700 !important;
text-transform: uppercase !important; background: #fff !important;
color: var(--veng-blue) !important; border: 2px solid var(--veng-blue) !important;
border-radius: 8px !important; cursor: pointer !important; transition: all 0.2s !important;
}

.productview .button_back input:hover {
background: var(--veng-blue) !important; color: #fff !important;
}

/* Responsive */
@media (max-width: 768px) {
.productfull .row.jshop { flex-direction: column !important; }
.productfull .row.jshop > .col-lg-4,
.productfull .row.jshop > .col-lg-8 { flex: none !important; max-width: 100% !important; }
#comjshop.productview { padding: 20px; }
.productfull .jshop_prod_description { padding: 20px; }
}

/* Responsive töréspontok */
@media (max-width: 992px) {
#comjshop_list_product .row-fluid,
.jshop.list_product .row-fluid,
.jshop_list_product .row-fluid {
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
}

@media (max-width: 576px) {
#comjshop_list_product .row-fluid,
.jshop.list_product .row-fluid,
.jshop_list_product .row-fluid {
grid-template-columns: minmax(0, 1fr) !important;
}
.veng-fuel-chips { flex-direction: column; }
}

body.scrolled {
    padding-top: 0 !important;
    margin-top: 0 !important;
}


#wrapper, .wrapper-inner {
    overflow: visible !important;
}


#menu-row, body.scrolled #menu-row {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 99999 !important; 
    width: 100% !important;
    
    transform: none !important;
    animation: none !important;
    transition: none !important;
}