:root {
  --font-primary: "Montserrat", -apple-system, blinkmacsystemfont, "Segoe UI", Montserrat, "Helvetica Neue", arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";

  --font-size-base: 16px;
  
  /* Rozmiary czcionek w rem */
  --font-size-h1: 2.5rem;   /* 40px */
  --font-size-h2: 2rem;     /* 32px */
  --font-size-h3: 1.75rem;  /* 28px */
  --font-size-h4: 1.5rem;   /* 24px */
  --font-size-h5: 1.25rem;  /* 20px */
  --font-size-body: 1rem;   /* 16px */
  --font-size-small: 0.875rem; /* 14px */
  
  /* Skala szarości */
  --gray-50: #f8f9fa;
  --gray-100: #f1f3f5;
  --gray-200: #e9ecef;
  --gray-300: #dee2e6;
  --gray-400: #ced4da;
  --gray-500: #adb5bd;
  --gray-600: #6c757d;
  --gray-700: #495057;
  --gray-800: #343a40;
  --gray-900: #212529;
  
  /* Pomarańczowy akcent */
  --orange-400: #ff9f4d;
  --orange-500: #ff8c2e;
  --orange-600: #f47820;
  --orange-700: #e05f0a;
  
  /* Biały */
  --white: #ffffff;
}

html { font-size: var(--font-size-base); }

/* Globalne style typografii */
h1, h2, h3, h4, h5, h6, body, p, span, a, li, .product-name, .product-price .price,
.btn, .product-tabs .cms-content p, .product-tabs .cms-content span, 
.product-tabs .cms-content li, .product-tabs .cms-content a,
.mini-tabs .card-body p, .mini-tabs .card-body li, .mini-tabs .card-body span, .mini-tabs .card-body a,
#cechy .fname, #cechy .fvalue, .listing-feaures {
  font-family: var(--font-primary);
}

h1 { font-size: var(--font-size-h1); font-weight: bold; } 
h2 { font-size: var(--font-size-h2); font-weight: bold; } 
h3 { font-size: var(--font-size-h3); font-weight: bold; color: var(--white);}
h4 { font-size: var(--font-size-h4); font-weight: bold; color: var(--white);}
h5 { font-size: var(--font-size-h5); font-weight: bold; }

body { 
  font-size: var(--font-size-body);
  line-height: 1.5; 
  text-align: left; 
  margin: 0; 
  color: #333;
}

p { 
  font-size: var(--font-size-body); 
  line-height: 1.6; 
  margin-bottom: 1rem; 
}

small, .text-small { font-size: var(--font-size-small); }

/* Responsywność typografii */
@media (max-width: 1200px) {
  :root {
    --font-size-h1: 2.2rem;
    --font-size-h2: 1.8rem;
    --font-size-h3: 1.6rem;
    --font-size-h4: 1.4rem;
  }
}

@media (max-width: 992px) {
  :root {
    --font-size-h1: 2rem;
    --font-size-h2: 1.7rem;
    --font-size-h3: 1.5rem;
    --font-size-h4: 1.3rem;
  }
}

@media (max-width: 768px) {
  :root {
    --font-size-h1: 1.8rem;
    --font-size-h2: 1.5rem;
    --font-size-h3: 1.3rem;
    --font-size-h4: 1.2rem;
    --font-size-body: 0.9375rem;
  }
}

@media (max-width: 480px) {
  :root {
    --font-size-h1: 1.6rem;
    --font-size-h2: 1.4rem;
    --font-size-h3: 1.2rem;
    --font-size-body: 0.875rem;
  }
}

/* Style produktu */
@media (min-width: 1200px) { 
  .p-right-zone  { flex: 0 0 490px; max-width: 490px; padding-left: 40px; } 
  .p-left-zone  { flex: 0 0 calc(100% - 490px); max-width: calc(100% - 490px); } 
  #product .product-name { font-weight: bold;
    font-size: 1.5rem;
    padding-block-end: 15px;
    background: linear-gradient(135deg, var(--gray-800) 0%, var(--gray-700) 100%);
    color: #fff;
    border-radius: 10px;
    padding: 1rem; } 
  .p-left-zone .position-relative { width: calc(100% + 64px); margin-left: -32px; } 
  .product-thumbs, .more-gallery { margin-left: 35px; } 
  .thums-width.gallery-height { min-height: 130px; } 
}

@media (min-width: 1440px) { 
  .p-right-zone  { flex: 0 0 530px; max-width: 530px; padding-left: 50px; } 
  .p-left-zone  { flex: 0 0 calc(100% - 530px); max-width: calc(100% - 530px); } 
}

@media (min-width: 1680px) { 
  .p-right-zone  { flex: 0 0 610px; max-width: 610px; padding-left: 80px; } 
  .p-left-zone  { flex: 0 0 calc(100% - 610px); max-width: calc(100% - 610px); } 
}

.product-gallery p.h2-head { font-weight: 600; font-size: 1.45rem !important; line-height: 1.4; }
.product-gallery p { font-weight: 400; font-size: 1.125rem; margin-bottom: 0.625rem; line-height: 1.5; text-align: left; }

.row.top-product { margin: 0 auto; }
.product-container.js-product-container { background: #fff; padding: 0.625rem; border-radius: 10px; }

#product-modal.js-product-images-modal { max-width: 100%; margin: 0; padding: 0 !important; background: #fff; }
#product-modal.js-product-images-modal .modal-dialog { max-width: 100%; padding: 0 !important; margin: 0 !important; }
#product-modal.js-product-images-modal .swiper-counter { z-index: 1; top: 0; left: 0; position: fixed; background: rgba(5,73,146,1) !important; padding: 1.25rem; color: #fff; }
#product-modal.js-product-images-modal .modal-body { padding: 0 !important; }

.galery-width { position: relative; margin: 0 auto; }
#product-modal.js-product-images-modal .modal-header { position: fixed; width: 100%; background: transparent; z-index: 10; background: none !important; }
#product-modal.js-product-images-modal .modal-header .close { background: rgba(255, 255, 255, 1); }
#product-modal.js-product-images-modal .swiper-slide { height: 100vh; }

.js-product-images .product-flags { bottom: auto; top: 1.25rem; padding-right: 1.25rem; text-align: right !important; }
.swiper-counter.counter-top-image { position: absolute; left: 2.1875rem; min-width: 2.75rem; bottom: 0; background: #404040; z-index: 1; padding: 0.375rem 0.5rem; font-size: 0.8125rem; color: #fff; }
.js-product-main-images { cursor: zoom-in; }

.product-thumbs { margin-right: auto; margin-left: 0.625rem; overflow: hidden; width: 25rem; margin-top: 2.5rem; }
.product-thumbs__elem { padding: 0.9375rem; cursor: pointer; opacity: 1; border: 1px solid #bababa; opacity: 0.6; transition: 0.3s ease opacity; margin-bottom: 0.625rem; }
.product-thumbs__elem:focus, .product-thumbs__elem:hover { opacity: 0.8; }
.product-thumbs__elem.swiper-slide-thumb-active { opacity: 1; border: 1px solid #bababa; border-bottom: 2px solid #054992; }

.product-main-images { position: relative; }
.swiper-button-custom .material-icons { color: #fff; }
.container.cont-padd .swiper-button-custom { background: #054992; border-radius: 2px !important; }

.product-prices.js-product-prices { padding: 1.5625rem 1.875rem 1.875rem; background: #fff; }
.product-actions.js-product-actions { padding: 0 1.875rem 0; background: #fff; }
.product-gallery { margin-top: 0 !important; }

.btn-primary.add-to-cart, .product-add-to-cart .input-group, .product-add-to-cart .favorite-products { height: 4.0625rem; }
.btn-primary.add-to-cart { background: #fed700; line-height: 2.5rem; border-radius: 0; padding: 0; box-shadow: none !important; border: 0 !important; font-weight: 400; }
.btn-primary.add-to-cart span { position: relative; }
.btn-primary.add-to-cart span:before { content: ''; width: 2.125rem; height: 2.125rem; position: absolute; left: -0.1875rem; top: -0.375rem; background-size: 2.125rem !important; }
.btn-primary.add-to-cart:hover { background: #17a012; }

.product-add-to-cart .bootstrap-touchspin { border-radius: 0; }
.product-add-to-cart .favorite-products { margin-top: 0 !important; }
.product-add-to-cart .favorite-products a { height: 4.0625rem; }
.product-add-to-cart .add.col.px-1 { padding-right: 0 !important; }

.js-product-actions-buttons .favorite-btn { padding: 1.25rem !important; background: #fed700; border-radius: 0 !important; border: 0; }
.js-product-actions-buttons .favorite-btn span { color: #fff; }

.container.home-width { padding: 0; }
.home-width { position: relative; max-width: 1745px; margin: 0 auto; width: 100% !important; }

.product-price .price { font-size: 1.625rem; }
.product-price .price--regular { font-size: 1.125rem; font-weight: 600; }
.percenrage-price { font-size: 0.75rem; }

#koszykmain.btn-primary:disabled { line-height: 1rem; padding: 0 0.625rem; }

.mini-tabs { border: 1px solid #e8e8e8; border-top: 0; border-radius: 0 0 10px 10px; background: #fff; padding: 0 1.875rem 1.25rem; }
.mini-tabs .title-col a { width: 100%; font-weight: 700; border-top: 1px solid #ddd!important; padding: 1.125rem 0.9375rem 0.625rem 1.5rem; display: block; background: #fff; }
.mini-tabs .title-col.no-border a { border-top: 0 !important; }
.title-col a[aria-expanded="true"] span { rotate: 180deg; }
.mini-tabs .title-col p { font-weight: 400; text-transform: none; font-size: 1rem; position: relative; padding-left: 2.125rem; }
.mini-tabs .title-col p:before { content: ''; width: 1.125rem; height: 1.125rem; position: absolute; left: 0; top: 0.1875rem; background-size: 100%; }

.mini-tabs .title-col .tabs-delivery p:before { background-size: 1.5rem; width: 1.5rem; height: 1.5rem; left: -0.1875rem; top: 0; background-image: url(data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAACxAAAAsQHGLUmNAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAW5JREFUSInt079LVWEcx/HXvVyyaOnGbSkRKxoaCgeHK0F7KebiYEvgXSIIggsNQYGTqy4OgeggiUM1OYWbP5L8B+4mFIgkFUTREOjwPAdOh3OvB3Ey3/DA+XzP5/l+z/N9zpdTTjylNvFbmDtkbxXd+It9LKFxfJ/GOB7H5/PYw5OsqZLRl3E2pX/ia4FivzCEFbzBj7wCJUziXCq2jecFCsBHLMd1p+CejqRblFDBdzxMAiVcxfWM8TfWDykwhlf4kon3ooY6WiWMRJHmDyaEv+Mo3MZrPDvi/kLcwGI5igtCS7biepQy9uMBLnZIVsZdDAq/LOyi1m7QEmZi4haG8RSrGU8F77CDb7iH0VjgbV7SS7gWTQup+BVsxnfp1RTuK2EA74V7+JB3ghfoQw/WYoKEz9jI+G9iCrNRnxHmZzXntP/QLQxPNeoRzOf46sJwdUXdxMtOidPcj0U2hHZV2/ga+CS0cFo4xSn/Cwe9jD6i6i3gWgAAAABJRU5ErkJggg==); }

.mini-tabs .title-col .tabs-brand p:before { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAACxAAAAsQHGLUmNAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAZFJREFUSIm11b9OVFEQBvDfWgO1YgLRpcTC5Tm0orK30xLXUjc8BNnY6gNgxVKYSOy0gtYYTbwI76BLMXP1utn7Z3H9kkluzpn5vpm5Z87hP6PXwWcTD7GN9VwrcIZDfL2u+A6OMU0r8DGtqKxPMFiEuId9/MIP7OHOHL+7eIaL9B3p0JEbeJOZHWClQ0IrGGfM6zaR/XTc60A8i2HGjuocdkSpB9cgLzHGTzX/5Fj0vKktH3DSsL8q/slkdmNTt9ac4H2Lz1B0YqO6+DQF5p2WRdFPrifEqSGGqMCXluDHaU34LFq9XRW4nQJteJTWhu9y6kuBqW7XRlf0kvO3QOHPPbMMrOO8KnCGW2L8/xVbuInTqsChKGl3CQK7yfV2dmMihmS1IfhdWh3WcImjeZsDMebjBoK2Y/oqOe7XOYxEecMGkjo8z9gXTU49ceVORSVN7SqxJjLvdF2XIiNR6oWopj/Hr59ZX6bvyy7kVQzEjy+fxnPxXH7K73L9SEPPuyhu4AHu+fvRPxVH8dsiWS8dV3ZOYqGFUFn5AAAAAElFTkSuQmCC); }

.mini-tabs .title-col .tabs-returns p:before { background-image: url(data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAsQAAALEBxi1JjQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAHGSURBVEiJxdY9axRRFAbgRw2uCtn4gYJCUNGI+hOCpFlLsbWwiBYq/gGxEAz+F20jVoZgMFgpJtEg6IIaDRaiRYz4ARauxZzkbpbJ3DEIvnA5w/l6z5w799zhP2MnruIuFvED3/AK47iIXRtJvB1j+I5OZi3hOrbVTX4EzyL4NyYwiqPYir54vhC2FaInOJBLfhgfIuAlhmsUNIx2xCxWkTTwPBwfYqDEZzpWL/pD38Fj67TrVlflZclJ7ShDU3qTa73G3VhW9LyqLVUEcCpyLCm+wFVcjsCJiuA6BDAZPqOwOZRnQt7JBNfB7ZBnu5XvgnUoE1znDY5Je7mKn6Fs1CTYV+GzI3y+klq0IjdlCJ6GfFBB0hdyS7dyQb0W7cW81IL9JT4nwr5Aqnw+ZO7kfsZpvMBx3CvxGQk5201wP+T5DAF8QkvRro8l9nMh13zyA4pN6ag3f9ZDS9rgZq9xLIxtxWz5W+zB68hxo8yhIY3p6bIKMskfReyMirthUBrXbcVsyaElVf4eh3IBg9ZeOJOKy2VIcYj6cRJXMCUdvjkcrFEQinbdlDa+ai2Hb24KlKIZlY7jDX7hC94qfgQu2eCl/8/wByYfiBNHGPmWAAAAAElFTkSuQmCC); }

.title-col .material-icons { float: right; line-height: 1.2rem; margin-top: 0.125rem; }
.mini-tabs .card-body { padding-left: 3.5rem; }
.mini-tabs .card-body p, .mini-tabs .card-body li, .mini-tabs .card-body span, .mini-tabs .card-body a { font-size: 1rem; font-weight: 300; }
.mini-tabs .card-body p { margin-bottom: 0.25rem; }
.mini-tabs .carier-head, .mini-tabs .fname { font-weight: 400 !important; color: #222; }

.cost-color { color: #0057b1; }

.mini-tabs li { position: relative; padding-left: 1rem; margin-bottom: 0.1875rem; list-style: none; }
.mini-tabs li:before { content: ''; width: 0.375rem; height: 0.375rem; border-radius: 50%; background: #222; left: 0; top: 0.375rem; position: absolute; }

.mini-tabs .min-cost { font-weight: 400; display: block; text-transform: none; font-size: 1rem; margin-top: 0.0625rem; }
.min-cost-cl { font-weight: 700; color: #0057b1; }
.mini-tabs .title-col a[aria-expanded="true"] span.min-cost { rotate: 0deg; }
.mini-tabs .feature-tabs li { margin-bottom: 0.375rem; }

.product-tabs .title-col .tabs-head { width: 100%; font-weight: 700; border-bottom: 1px solid #ddd!important; padding: 0.9375rem 0; display: block; }
.product-tabs .title-col p { font-weight: 700; font-size: 1.125rem; position: relative; }
.product-tabs .card-body { padding: 1.25rem 0 !important; }
.product-tabs .title-col .material-icons { position: relative; top: 0.25rem; right: 0.5625rem; }
.product-tabs .cms-content, .product-tabs .cms-content p, .product-tabs .cms-content span, .product-tabs .cms-content li, .product-tabs .cms-content a { font-size: 0.9375rem; font-weight: 500; line-height: 1.6; }
.product-tabs .cms-content a { text-decoration: underline; color: #054992; }
.product-tabs .cms-content a:hover { text-decoration: none; }
.product-tabs .cms-content p { margin-bottom: 0.9375rem; }
.product-tabs .cms-content ul { margin: 0.9375rem 0; padding-left: 0; }
.product-tabs .cms-content li { position: relative; padding-left: 1rem; list-style: none; margin-bottom: 0.125rem; }
.product-tabs .cms-content li:before { content: ''; width: 0.375rem; height: 0.375rem; border-radius: 50%; background: #222; left: 0; top: 0.625rem; position: absolute; }

.net-product { width: 13.75rem; height: 2.5rem; position: absolute; right: 1.5625rem; padding-left: 0; text-decoration: none !important; background-color: #404040 !important; bottom: 0; background-size: 1.375rem !important; background: url(data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAArdJREFUWIW9lktIVVEUhv91k6spDqKJmZHhKGkQZhHUoBcF5aBZUpMSSrBB0NhBAy0sGho0a5oRBGEPjYjIgQQp0ShLAyV7IJiDMki/Bucam+3Z555zTX/YsPdea/3r3+9tSgBgkpoltUg6JKlOUo2keUnTkj5IeiSp38wmk7gyAzgCvCYdFoA+oOF/JK4qkJWCeaB9JcnrgJEA+SIwCQwDb4GZBCG9QK6UkcclnwA6gFrP34Am4CbwMybuRlYBd2NGfA3Ip5y5VzEiWtMmPxqTvC3jAPLAfY/nM1BdLNBYvtuvBnwvEG3QPmB/jL0KGPW4OosJ2OMFfALKA763Hb/TAZ99Ht8E0X0Si5ykE15fj5n9TlSdADMbkvTc6aqX1JQk4KDTRtKDUpM78Dl2hxzLFF2vS5g0s+l/auCcpIuOfatT7wIuO+2zZvauUB/28jQmCahx2l88+yZJuwKx2wplCVVOfdrzrQwJyEly1zt285WAipg8QQGu2jpvx96S1OCUPsd2ybONOrYtXp7gS1kmaUzS9kJ7o6SdkkYkycxmJc0uOQNzTuw3MxsP8B722u9DAnKSHnt9Z0LOaQCUSTrldC1KepYkoF/SgtPXAWxegYY2RUuyhCEz+5oYAdzxbq+XxDxCQCWwoVDi7I3AnMfVUlQyUE/0mXBxDwgen0DycY9jBliflqCd5XgD7C0SVwacB37ExAM8AfxjGSTrDZAMEn1KmoFaoAE4AHQBY4GY7CKInuYrKQhLwQAZlqOV6DORFUn/RICnWURUA53AxyKkf4AXwHGggmi6U4sIfhTcZVH0njdL2iEpL2mdpClFN9ygmX13/CsUPcfHEmgHJJ00s1+pZiMrMsxEutOxiiKur5qAgog88DBBgP//WHMRU6suoCAitBzdayKgIKIc6CG6X6aAbiD/F70VCpsmcwK3AAAAAElFTkSuQmCC); z-index: 1; background-repeat: no-repeat; background-position: right 0.75rem center; }
.net-product span { padding: 0.4375rem 1.1875rem 0.75rem; font-size: 1.125rem; color: #000; font-weight: 300; background: #fed700; display: inline-block; }

#net-product .modal-dialog .modal-body { padding: 0 !important; }
#net-product .modal-dialog .modal-body .videowrapper { margin: 0 !important; }

.modal-size li { font-size: 0.875rem; display: inline-block; }
.modal-size li span { font-weight: 600; }

.img-fluid-modal { max-width: 100%; height: auto; }
#net_product .modal-body { padding: 1.25rem 1.875rem 1.875rem !important; }

.more-gallery { width: 100%; margin-top: 1.875rem; }
.more-gallery .btn { border-radius: 2.5rem; padding: 1rem 1.875rem; }

.attachment-head a { font-weight: 700; }
.attachment-head a span { font-weight: 600; }
.attachment p { font-size: 0.875rem; font-weight: 600; }
.attachment .material-icons { position: relative; top: 0.125rem; font-size: 1rem; }

.arch-prod { font-weight: 700; }
.paymeent-info img { max-width: 5rem; margin-left: 0.625rem; }

.product-gallery .col-lg-12 { margin: 0; }
.product-gallery li { position: relative; padding-left: 0.9375rem; }
.product-gallery li:before { content: ''; width: 0.375rem; height: 0.375rem; position: absolute; background: #333; border-radius: 50%; top: 0.625rem; left: 0; }

.attribute-radio__label { position: relative; margin: 0; }
.attribute-radio__input { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; cursor: pointer; opacity: 0; }
.attribute-radio__input:checked ~ .attribute-radio__text { border-color: #222; }

.product-variants .control-label, .variant-plus .control-label { font-weight: 700; font-size: 0.9375rem; margin-bottom: 0.9375rem !important; }
.variant-color li { display: inline-block; padding-right: 0.3125rem; margin-bottom: 0.3125rem; }
.attribute-radio__text { display: block; min-width: 2.1875rem; padding: 0.625rem 1.25rem; font-size: 0.875rem; font-weight: 700; text-align: center; border: 1px solid #dee2e6; border-radius: 3px; }

#navbar-top { display: none; }
#navbar-main { position: relative; margin: 0 auto; }
.shows { display: block !important; position: fixed; top: 3.75rem; left: 0; background: #fff; z-index: 100; width: 100%; }

.nav-pills .nav-link.active, .nav-pills .show > .nav-link { color: #fff; border-radius: 0; }
.nav-link { font-size: 0.75rem; padding: 0.7rem 1rem; font-weight: 700; }

#nbstars { float: right; margin-left: 0.3125rem; margin-top: 0.125rem; }
#koszyk .row { margin: 0; }
#koszyk .container, #navbar-top .container { padding: 0 0.675rem; }

#koszyk { display: none; z-index: 101; padding: 0.3125rem 1.25rem 0.3125rem; -webkit-box-shadow: 0 0 14px rgba(0,0,0,.1); -moz-box-shadow: 0 0 14px rgba(0,0,0,.1); box-shadow: 0 0 14px rgba(0,0,0,.1); }
#koszyk #navbar-top { box-shadow: 0px 1px 4px rgba(0,0,0,0.1); }
#koszyk img { max-width: 3.125rem; }
#navbar-top { z-index: 100 !important; }

#recaftsticky #nbc { font-size: 0.8125rem; position: relative; top: 0.0625rem; }
.koszyktitle .h4 { font-size: 1.0625rem; font-weight: 300; }
#koszyk #prodadd { max-width: 20rem; margin-top: 0 !important; }
#koszcart { display: flex; justify-content: center; }
#koszyk #prodadd .add, #koszyk-mobile .add { margin-top: 0 !important; }
#koszyk .price { font-size: 1rem; text-align: right; width: 100%; }

#cechy a.fvalue { color: #054992; }
#cechy .fname { width: 50%; text-align: left; font-weight: 700; }
#cechy .fvalue { width: calc(50% - 1.25rem); font-weight: 600; }
#cechy li:nth-child(odd) { background: #f9f9f9; }
#cechy li { padding: 0.75rem 1.25rem; width: 100%; font-size: 0.9375rem; display: flex; }

#product-modal img { display: table; margin: auto; }
#product-modal .modal-header { align-items: flex-end; justify-content: flex-end; }

#koszyk .favorite-products { position: relative; background-color: #efefef; padding: 1.25rem; top: -0.1875rem; }
#koszyk .favorite-products span { position: relative; top: 0.3125rem; }
.col.koszcart { max-width: 27.5rem; text-align: right; }

/* Media queries dla produktu */
@media (min-width: 768px) { 
  .js-product-main-images .swiper-button-prev.swiper-button-custom { left: -6.25rem; transition: 0.3s; } 
  .js-product-main-images:hover .swiper-button-prev.swiper-button-custom { left: 1.25rem; } 
  .js-product-main-images .swiper-button-next.swiper-button-custom { right: -6.25rem; transition: 0.3s; } 
  .js-product-main-images:hover .swiper-button-next.swiper-button-custom { right: 1.25rem; } 
  .js-product-images { padding-left: 0; } 
  .js-product-main-images .swiper-button-custom { margin-top: -2.5rem; } 
}

@media (min-width: 992px) { 
  body:not(.modal-open) .p-left-zone .position-relative { position: sticky !important; top: 2.1875rem; } 
  #product-modal .modal-lg, #product-modal .modal-xl { max-width: 99%; } 
  #product-modal.js-product-images-modal .swiper-button-custom, .js-product-main-images .swiper-button-custom { width: 3.125rem; height: 3.125rem; background: #404040 !important; border: 0 !important; } 
  #product-modal.js-product-images-modal .swiper-button-custom .material-icons { font-size: 3.125rem; } 
  .swiper-button-custom .material-icons { color: #fff; } 
  #content-wrapper { margin-top: 1.875rem; } 
  .product-tabs .cms-content h1, .product-tabs .cms-content h2, .product-tabs .cms-content h3, 
  .product-tabs .cms-content h4, .product-tabs .cms-content h5 { font-size: 1.25rem; font-weight: 700; margin-bottom: 1.25rem; margin-top: 1.25rem; line-height: 1.875rem; } 
  .featured-products { margin-bottom: 4.375rem !important; } 
  .thums-width.gallery-height { min-height: 5.3125rem; } 
  .product-tabs .title-col p { font-size: 1.625rem; } 
  .product-tabs .title-col .material-icons { position: relative; top: 0.75rem; font-size: 2.5rem; color: #666; } 
  #navbar-main #tabfeat.product-tabs { display: none; } 
  #featclone { border: 1px solid #ddd; border-radius: 10px; padding: 1.875rem !important; margin-right: 0.625rem; margin-bottom: 3.75rem; } 
  #featclone .feat-head { font-weight: 700; text-transform: uppercase; font-size: 1.125rem; } 
  #navbar-main { margin-top: 3.125rem !important; } 
  #navbar-main #cechy li { background: #fff; padding: 0.5rem 0; } 
  #net_product .modal-dialog { max-width: 50rem; } 
  .product-prices.js-product-prices { background: #fff; border: 1px solid #e8e8e8; border-bottom: 0; border-radius: 10px 10px 0 0; } 
  .product-actions.js-product-actions { border-left: 1px solid #e8e8e8; border-right: 1px solid #e8e8e8; background: #fff; } 
  #featplus.p-right-zone { padding-left: 0 !important; } 
}

@media only screen and (min-width: 992px) and (max-width: 1199px) { 
  .p-right-zone { flex: 0 0 410px; max-width: 410px; padding-left: 40px; } 
  .p-left-zone { flex: 0 0 calc(100% - 410px); max-width: calc(100% - 410px); } 
  #product .product-name { font-size: 1.375rem; font-weight: 400; line-height: 1.625rem; margin-top: 0.9375rem; } 
  .more-gallery { margin-left: 0.625rem; } 
  #koszykmain .add-txt:before { display: none; } 
  #koszykmain .add-txt { padding-left: 0; } 
}

@media only screen and (min-width: 768px) and (max-width: 991px) { 
  #product .product-name { font-size: 1.625rem; font-weight: 400; line-height: 2.0625rem; margin-top: 0.9375rem; max-width: 90%; text-align: center; } 
}

@media (max-width: 1199px) { 
  .mini-tabs .title-col a { padding: 1.125rem 0 0.625rem 0; } 
  .mini-tabs .card-body { padding-left: 0.625rem; } 
  #product .product-name { padding: 0 1.25rem; } 
  .swiper-counter.counter-top-image { left: 0.625rem; } 
  .net-product { right: 0.625rem; } 
}

@media (max-width: 991px) { 
  #product-modal.js-product-images-modal .modal-body { background: #fff; } 
  #product-modal.js-product-images-modal .modal-body img { padding: 1.25rem; } 
  #product-modal.js-product-images-modal .swiper-button-custom { width: 2.5rem; height: 2.5rem; background: rgba(5,73,146,1) !important; border: 0 !important; } 
  #product-modal.js-product-images-modal .swiper-button-custom .material-icons { font-size: 2.5rem; } 
  .js-product-main-images .swiper-button-custom { background: rgba(5,73,146,1) !important; border: 0 !important; } 
  .js-product-images .product-flags { top: 0.625rem; padding-left: 0.625rem; text-align: left !important; } 
  .product-tabs .cms-content h1, .product-tabs .cms-content h2, .product-tabs .cms-content h3, 
  .product-tabs .cms-content h4, .product-tabs .cms-content h5 { font-size: 1rem; font-weight: 700; margin-bottom: 0.625rem; } 
  .p-right-zone, .p-left-zone { max-width: 100%; flex: 0 0 100%; padding: 0; margin-bottom: 0 !important; padding-left: 0.625rem; padding-right: 0.625rem; } 
  .btn-primary.add-to-cart span::before { top: -0.5625rem; } 
  .product-container.js-product-container { padding: 0; } 
  #navbar-main { padding: 0 0.625rem; } 
  .container.cont-padd { padding: 0 0.625rem; } 
  .bd-wrapper { margin-top: 0.9375rem; } 
  .mini-tabs { border: 0; border-radius: 0; } 
  .product-tabs .cms-content h1, .product-tabs .cms-content h2, .product-tabs .cms-content h3, 
  .product-tabs .cms-content h4, .product-tabs .cms-content h5 { font-size: 1.125rem; font-weight: 700; margin-bottom: 1.25rem; line-height: 1.75rem; } 
  #galleryModal .modal-dialog { max-width: 100%; } 
  .product-container.js-product-container { border-radius: 0; } 
  .product-prices.js-product-prices { padding: 0.625rem 0.625rem 0.625rem; margin-top: 1.25rem; } 
  .product-actions.js-product-actions { padding: 0 0.625rem 0; } 
}

@media (max-width: 767px) { 
  #cechy .fname { width: 40%; } 
  #cechy .fvalue { width: calc(60% - 1.25rem); } 
  .js-product-images, .p-left-zone { padding: 0; } 
  #product .product-name { font-size: 1.375rem; font-weight: 300; line-height: 1.3125rem; text-align: center; } 
  .product-variants-item { margin-bottom: 0.625rem !important; } 
  .product-tabs .title-col a { padding: 0.625rem 0; } 
  .product-tabs .title-col p { font-size: 1.25rem; } 
  .product-tabs .card-body { padding: 1.25rem 0 0 !important; } 
  .product-tabs .cms-content p, .product-tabs .cms-content span, 
  .product-tabs .cms-content li, .product-tabs .cms-content a { font-size: 0.875rem; } 
  .mini-tabs { padding: 0 1.25rem 1.25rem; } 
  .product-thumbs__elem { padding: 0.625rem; max-width: 17%; margin-right: 0.625rem; } 
  .product-thumbs { width: 100%; margin-top: 1.25rem; margin-left: 0; } 
  #content-wrapper.js-content-wrapper { padding: 0; } 
  #navbar-main { padding: 0 1.25rem !important; } 
  .thums-width.gallery-height { padding-left: 0.625rem; } 
  #product .product-name { padding: 0 0.625rem 1.25rem 0.625rem !important; } 
  .container.cont-padd { padding: 0 1.25rem !important; } 
  .product-prices.js-product-prices { padding: 0.625rem 1.25rem 0.625rem !important; margin-top: 1.25rem; } 
  .product-actions.js-product-actions { padding: 0 1.25rem 0 !important; } 
}

@media (max-width: 576px) {
  .product-thumbs { width: 100%; }
  .product-thumbs__elem { max-width: 22%; }
}

@media (max-width: 480px) { 
  .paymeent-info img { display: block; margin: 0.625rem auto 0; } 
  .product-thumbs { width: 100%; } 
  .product-thumbs__elem { max-width: 22%; } 
  ul.modal-size span.dd { display: none; } 
  ul.modal-size li { display: block; } 
}

/* Category gallery */
.category.gallery_plus { background: #f5f5f5; padding: 0.9375rem; border-radius: 8px; }
.category-images img, .product-images img, .home-images img { display: inline-block; margin: 0.625rem 0 0.625rem 0 !important; }
.flex_container > .ets_speed_dynamic_hook { display: flex; }

#galleryModal .modal-body { padding: 1.25rem !important; }
.gal-zoom { cursor: zoom-in; }
.gal-zoom:hover img { opacity: 0.9; } 

@media (min-width: 992px) { #galleryModal .modal-dialog { max-width: 800px; } }
@media (min-width: 1440px) { #galleryModal .modal-dialog { max-width: 1050px; } }

@media (max-width: 767px) { 
  .row.gallery_plus .gal-zoom { padding: 0 0.3125rem; } 
  .row.gallery_plus .gal-zoom img { margin-top: 0 !important; } 
  #product .row.product.gallery_plus { margin: 0 -0.3125rem; } 
  .product-gallery .col-lg-12 { padding: 0 0.3125rem; } 
  .product-gallery p.h2-head { font-size: 1.25rem !important; } 
}

/* ── GALERIA PRODUKTU - styl zgodny z główną stroną ── */

/* Kontener główny */
.container.cont-padd {
  padding: 2rem 0.75rem;
  max-width: 1400px;
  margin: 0 auto;
}

/* Główny kontener galerii */
.product-gallery {
  background: linear-gradient(135deg, var(--gray-50) 0%, var(--white) 100%);
  border-radius: 24px;
  padding: 2rem;
  margin-bottom: 3rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
}

/* Dekoracyjne linie w tle (efekt techniczny) */
.product-gallery::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(135deg, var(--gray-800) 0%, var(--gray-700) 100%);
  pointer-events: none;
  z-index: 0;
}

/* Pomarańczowa poświata w rogu */
.product-gallery::after {
  content: '';
  position: absolute;
  bottom: -50px;
  right: -50px;
  width: 250px;
  height: 250px;
  background: radial-gradient(circle, rgba(244, 120, 32, 0.03) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

/* Nagłówek sekcji z tekstem */
.product-gallery .col-lg-12 {
  position: relative;
  z-index: 1;
  margin-bottom: 2rem;
}

.product-gallery h2 {
  font-family: var(--font-primary);
  font-size: 2rem;
  font-weight: 700;
  color: var(--white);
  margin: 0 0 1rem 0;
  line-height: 1.3;
  letter-spacing: -0.02em;
  position: relative;
  padding-bottom: 1rem;
}

/* Pomarańczowa linia pod nagłówkiem */
.product-gallery h2::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 80px;
  height: 3px;
  background: var(--orange-600);
  border-radius: 2px;
}

/* Tekst opisowy */
.product-gallery p {
  font-family: var(--font-primary);
  font-size: 1.2rem;
  line-height: 1.7;
  color: var(--white);
  margin: 0 0 1rem 0;
  max-width: 1100px;
}

.product-gallery p:last-child {
  margin-bottom: 0;
}

/* Siatka zdjęć */
.product-gallery .product-images.row.gallery_plus {
  margin: 0 -0.5rem;
  display: flex;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}

/* Pojedynczy element galerii */
.product-gallery .gal-zoom {
  padding: 0.5rem;
  cursor: zoom-in;
  transition: transform 0.3s ease;
  position: relative;
}

.product-gallery .gal-zoom:hover {
  transform: translateY(-5px);
}

/* Kontener zdjęcia */
.product-gallery .gal-zoom picture {
  display: block;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
  border: 1px solid var(--gray-200);
  transition: all 0.3s ease;
  aspect-ratio: 515/330; /* Zachowanie proporcji oryginalnych zdjęć */
}

.product-gallery .gal-zoom:hover picture {
  border-color: var(--orange-600);
  box-shadow: 0 15px 30px rgba(244, 120, 32, 0.1);
}

/* Nakładka na zdjęcie (efekt techniczny) */
.product-gallery .gal-zoom picture::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(244, 120, 32, 0.02) 0%, transparent 50%);
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.product-gallery .gal-zoom:hover picture::before {
  opacity: 1;
}

/* Zdjęcie */
.product-gallery .gal-zoom img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
  filter: grayscale(30%);
  display: block;
}

.product-gallery .gal-zoom:hover img {
  transform: scale(1.05);
  filter: grayscale(0%);
}

/* Pomarańczowa kropka w rogu (efekt technical dot) */
.product-gallery .gal-zoom::after {
  content: '';
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  width: 8px;
  height: 8px;
  background: var(--orange-600);
  border-radius: 50%;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 2;
}

.product-gallery .gal-zoom:hover::after {
  opacity: 0.5;
}

/* ── MODAL (powiększenie zdjęć) ── */
.modal#galleryModal .modal-dialog {
  max-width: 1200px;
  width: 95%;
  margin: 30px auto;
}

.modal#galleryModal .modal-content {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.1);
}

.modal#galleryModal .modal-header {
  background: linear-gradient(135deg, var(--gray-50) 0%, var(--white) 100%);
  border-bottom: 1px solid var(--gray-200);
  padding: 1.5rem 2rem;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.modal#galleryModal .modal-title {
  font-family: var(--font-primary);
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--gray-800);
  margin: 0;
  line-height: 1.4;
  text-align: center;
  flex: 1;
}

.modal#galleryModal .close {
  background: var(--white);
  border: 1px solid var(--gray-300);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  transition: all 0.3s ease;
  margin: 0;
  padding: 0;
  position: relative;
  right: -10px;
}

.modal#galleryModal .close:hover {
  background: var(--orange-600);
  border-color: var(--orange-600);
}

.modal#galleryModal .close span {
  font-size: 28px;
  font-weight: 300;
  color: var(--gray-600);
  transition: color 0.3s ease;
  line-height: 1;
}

.modal#galleryModal .close:hover span {
  color: var(--white);
}

.modal#galleryModal .modal-body {
  padding: 2rem;
  background: var(--gray-50);
}

/* Swiper slider w modalu */
.modal#galleryModal .swiper {
  width: 100%;
  height: 100%;
  border-radius: 12px;
  overflow: hidden;
}

.modal#galleryModal .swiper-wrapper {
  height: auto;
}

.modal#galleryModal .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--white);
  border-radius: 12px;
  overflow: hidden;
  padding: 1rem;
}

.modal#galleryModal .swiper-slide picture {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.modal#galleryModal .swiper-slide img {
  max-width: 100%;
  max-height: 70vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

/* Przyciski nawigacji swiper */
.modal#galleryModal .swiper-button-next,
.modal#galleryModal .swiper-button-prev {
  background: var(--white);
  width: 50px;
  height: 50px;
  border-radius: 50%;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

.modal#galleryModal .swiper-button-next:hover,
.modal#galleryModal .swiper-button-prev:hover {
  background: var(--orange-600);
}

.modal#galleryModal .swiper-button-next::after,
.modal#galleryModal .swiper-button-prev::after {
  font-size: 20px;
  color: var(--gray-700);
  transition: color 0.3s ease;
}

.modal#galleryModal .swiper-button-next:hover::after,
.modal#galleryModal .swiper-button-prev:hover::after {
  color: var(--white);
}

.modal#galleryModal .swiper-button-next {
  right: 10px;
}

.modal#galleryModal .swiper-button-prev {
  left: 10px;
}

/* Responsywność */
@media (max-width: 1200px) {
  .product-gallery {
    padding: 1.8rem;
  }
  
  .product-gallery h2 {
    font-size: 1.8rem;
  }
}

@media (max-width: 992px) {
  .product-gallery {
    padding: 1.5rem;
  }
  
  .product-gallery h2 {
    font-size: 1.6rem;
  }
  
  .product-gallery p {
    font-size: 1rem;
  }
  
  .product-gallery .gal-zoom picture {
    aspect-ratio: 4/3;
  }
  
  .modal#galleryModal .modal-header {
    padding: 1.25rem 1.5rem;
  }
  
  .modal#galleryModal .modal-title {
    font-size: 1.2rem;
  }
  
  .modal#galleryModal .modal-body {
    padding: 1.5rem;
  }
}

@media (max-width: 768px) {
  .container.cont-padd {
    padding: 1rem 0.5rem;
  }
  
  .product-gallery {
    padding: 1.2rem;
    border-radius: 18px;
  }
  
  .product-gallery h2 {
    font-size: 1.4rem;
  }
  
  .product-gallery p {
    font-size: 0.95rem;
    line-height: 1.6;
  }
  
  .product-gallery .product-images.row.gallery_plus {
    margin: 0 -0.25rem;
  }
  
  .product-gallery .gal-zoom {
    padding: 0.25rem;
  }
  
  .product-gallery .gal-zoom picture {
    aspect-ratio: 1/1; /* Na mobile zdjęcia kwadratowe */
  }
  
  .modal#galleryModal .modal-header {
    padding: 1rem 1.25rem;
  }
  
  .modal#galleryModal .modal-title {
    font-size: 1.1rem;
  }
  
  .modal#galleryModal .close {
    width: 35px;
    height: 35px;
  }
  
  .modal#galleryModal .close span {
    font-size: 24px;
  }
  
  .modal#galleryModal .modal-body {
    padding: 1rem;
  }
  
  .modal#galleryModal .swiper-slide img {
    max-height: 60vh;
  }
  
  .modal#galleryModal .swiper-button-next,
  .modal#galleryModal .swiper-button-prev {
    width: 40px;
    height: 40px;
  }
}

@media (max-width: 576px) {
  .product-gallery {
    padding: 1rem;
    border-radius: 16px;
  }
  
  .product-gallery h2 {
    font-size: 1.2rem;
    padding-bottom: 0.8rem;
  }
  
  .product-gallery h2::after {
    width: 50px;
    height: 2px;
  }
  
  .product-gallery p {
    font-size: 0.9rem;
  }
  
  .modal#galleryModal .modal-dialog {
    width: 100%;
    margin: 0;
    height: 100%;
  }
  
  .modal#galleryModal .modal-content {
    border-radius: 0;
    min-height: 100vh;
  }
  
  .modal#galleryModal .modal-header {
    border-radius: 0;
  }
}

@media (max-width: 480px) {
  .product-gallery .gal-zoom picture {
    aspect-ratio: 3/2;
  }
  
  .modal#galleryModal .modal-title {
    font-size: 1rem;
  }
  
  .modal#galleryModal .swiper-slide img {
    max-height: 50vh;
  }
}


content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(135deg, var(--gray-800) 0%, var(--gray-700) 100%);
  pointer-events: none;
  z-index: 0;