/********************************************************
			Coderplace Custom Styles
********************************************************/
.tm-carousel {
  display: none;
  position: relative;
  float: left;
  width: 100%;
  margin: 0;
}
.cp-carousel {
  display: none;
  position: relative;
  float: left;
  width: 100%;
  margin: 0;
}
.owl-carousel .owl-wrapper {
  display: none;
  position: relative;
  -webkit-transform: translate3d(0px, 0px, 0px);
  -ms-transform: translate3d(0px, 0px, 0px);
  -o-transform: translate3d(0px, 0px, 0px);
  -moz-transform: translate3d(0px, 0px, 0px);
  display: flex !important;
  flex-wrap: wrap;
}
.owl-carousel .owl-wrapper:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}
.owl-carousel .owl-wrapper-outer {
  overflow-x: clip;
  position: relative;
  float: left;
  width: 100%;
  padding: 0;
}
.owl-carousel .owl-wrapper-outer.autoHeight {
  -webkit-transition: height 500ms ease-in-out;
  -moz-transition: height 500ms ease-in-out;
  -ms-transition: height 500ms ease-in-out;
  -o-transition: height 500ms ease-in-out;
  transition: height 500ms ease-in-out; 
}
.owl-carousel .owl-item {
  float: left;
  display: flex;
  height: auto;
}
#cptestimonial .owl-wrapper-outer .owl-item {
  display: block;
}
.owl-carousel .owl-item .manu_image a {
  display: inline-block;
}
.owl-carousel .owl-item .manu_image a img {
  max-width: 100%;
}

.owl-carousel .owl-wrapper,
.owl-carousel .owl-item {
  /* fix */
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  text-align: center;
}

/* mouse grab icon */
.customNavigation {
	position: absolute;
	z-index: 9;
	width: 100%;
	top: 50%;
	direction: ltr !important;
	right: 0;
	left: auto;
  opacity: 0;
  -khtml-opacity: 0;
-webkit-opacity: 0;
-moz-opacity: 0;
}
.products .customNavigation { top: 48%; }
.cpcategorylist .products .customNavigation { top: 37%; }
.cpcategorylist .customNavigation i.prev{ left: -25px; }
.cpcategorylist .customNavigation i.next{ right: -25px; }
.testimonial-block-part .customNavigation { top: 40%; }

.tmcategorylist:hover .customNavigation {
	opacity: 1;
	-khtml-opacity: 1;
	-webkit-opacity: 1;
	-moz-opacity: 1;
}
.customNavigation a.prev::before {
	content: "\E314";
	font-family: "Material Icons";
	position: absolute;
	font-size: 20px;
	right: 5px;
	top: -1px;
	color: #808080;
}
.customNavigation a.next::before {
	content: "\E315";
	font-family: "Material Icons";
	position: absolute;
	font-size: 20px;
	position: absolute;
	right: 3px;
	top: -1px;
	color: #808080;
}
#tmtestimonialcmsblock .customNavigation {
  top: -24px;
  z-index: 5;
  right: 15px;
}
#index #tmtestimonialcmsblock .customNavigation {
  top: -40px;
  right: 0;
}
.special-products .customNavigation {
	top: 52%;
}
.special-products:hover .customNavigation, 
.products:hover .customNavigation,
.testimonial-block-part .container:hover .customNavigation,
.tmblog-latest:hover .customNavigation, 
#tminstagramblock:hover .customNavigation,
.product-accessories:hover .customNavigation,
.productscategory-products:hover .customNavigation{
  opacity: 1;
  -khtml-opacity: 1;
  -webkit-opacity: 1;
  -moz-opacity: 1;
}
.lastest_block .customNavigation {
	top: 44%;
}
.customNavigation i {
	color: #222 !important;
	cursor: pointer;
	font-size: 0;
	font-weight: 500;
	height: 38px;
	line-height: 32px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	text-align: center;
	width: 38px;
	background: transparent;
	border-radius: 0;
	font-style: unset;
	box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.11);
}

.customNavigation i.prev {
	background: transparent;
	right: auto;
	background: #fff;
	border-radius: 50%;
	left: -5px;
}
.customNavigation i.next {
	background: transparent;
	right: 0px;
	background: #fff;
	border-radius: 50%;
	right: -5px;
}
.tmcategorylist .customNavigation i.prev, 
#tminstagramblock .btn.prev.instagram_prev,
.special-products .customNavigation i.prev,
.btn.prev.accessories_prev {
	left: -20px;
}
.testimonial-block-part .customNavigation i.prev{
  left: 12px;
}
.tmcategorylist .customNavigation i.next, 
#tminstagramblock .btn.next.instagram_next,
.special-products .customNavigation i.next,
.btn.next.accessories_next  {
  right: -20px;
}
.testimonial-block-part .customNavigation i.next{
  right: 12px;
}
.customNavigation i.prev::before {
	content: '';
	-webkit-mask-image: url(../img/megnor/pro-left.svg);
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-image: url(../img/megnor/pro-left.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	background-color: #000;
	mask-size: 14px;
	font-size: 14px;
	width: 38px;
	height: 38px;
	display: block;
  -webkit-mask-size: 14px;
}
#tmtestimonialcmsblock .customNavigation i.prev::before {
  right: 1px;
  font-weight: 500;
}
#tmtestimonialcmsblock .customNavigation i.next::before {
  right: 0;
  font-weight: 500;
}
.customNavigation i.next::before {
	content: '';
	-webkit-mask-image: url(../img/megnor/pro-right.svg);
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-image: url(../img/megnor/pro-right.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	background-color: #000;
	mask-size: 14px;
	font-size: 14px;
	width: 38px;
	height: 38px;
	display: block;
  -webkit-mask-size: 14px;
}
.customNavigation i.next:hover::before,.customNavigation i.prev:hover::before  {
  color: #fff;
}
#cpleftbanner1 img,
#cpleftbanner2 img {
  max-width: 100%;
}
#cpleftbanner1 li,
#cpleftbanner2 li {
  overflow: hidden;
  position: relative;
  float: left;
  border-radius: 5px;
}
#cpleftbanner1 li a,
#cpleftbanner2 li a {
  display: inline-block;
  position: relative;
  overflow: hidden;
  vertical-align: top;
}
.footer-container .links.lastest_block .customNavigation i.prev:hover {
  color: #9bbab1 !important;
}
.footer-container .links.lastest_block .customNavigation i.next:hover {
  color: #9bbab1 !important;
}

@media (max-width: 1449px) {
  .tmcategorylist .customNavigation i.prev, 
  .testimonial-block-part .customNavigation i.prev, 
  #tminstagramblock .btn.prev.instagram_prev,
  .special-products .customNavigation i.prev,
  .btn.prev.accessories_prev {
    left: -15px;
  }
  .tmcategorylist .customNavigation i.next, 
  .testimonial-block-part .customNavigation i.next,
   #tminstagramblock .btn.next.instagram_next,
   .special-products .customNavigation i.next,
   .btn.next.accessories_next {
    right: -15px;
  }  
  .customNavigation i.next {
    right: 0;
  }  
  .customNavigation i.prev {
    left: 0;
  }
}
@media (max-width: 1199px) {
  #tmtestimonialcmsblock .customNavigation {
    top: -36px;
    z-index: 5;
    right: -18px;
  }
}

@media (max-width: 991px) {
  #cpleftbanner1 li img,
  #cpleftbanner2 li a {
    width: auto;
  }
}
@media (max-width: 767px) {
  .customNavigation {
    opacity: 1;
    -khtml-opacity: 1;
    -webkit-opacity: 1;
    -moz-opacity: 1;
  }
  .tmcategorylist .customNavigation i.prev, 
  .testimonial-block-part .customNavigation i.prev, 
  #tminstagramblock .btn.prev.instagram_prev, 
  .special-products .customNavigation i.prev,
  .btn.prev.accessories_prev {
    left: 0;
  }
  .tmcategorylist .customNavigation i.next, 
  .testimonial-block-part .customNavigation i.next,
   #tminstagramblock .btn.next.instagram_next, 
   .special-products .customNavigation i.next,
   .btn.next.accessories_next {
    right: 0;
  }
  #main .images-container .js-qv-mask .customNavigation {
    top: 30%;
  }
  .quickview .mask.additional_slider .customNavigation i.prev {
    left: -10px !important;
  }
  .quickview .mask.additional_slider .customNavigation i.next {
    right: -10px !important;
  }
  .btn.next.brand_next {
    left: auto;
    right: 0;
    position: absolute;
  }
  .btn.prev.brand_prev {
    left: 0;
    right: auto;
  }
  .customNavigation i.next {
    left: auto;
    right: 0;
  }
  .cpcategorylist .customNavigation i.prev{
    left: 0px;
  }
  .cpcategorylist .customNavigation i.next{
    right: 0px;
  }
}
@media (max-width: 480px) {
}

/**
 * Classic theme support for the ps_onepagecheckout module (PrestaShop 9.2+).
 *
 * Loaded only on the checkout page (see config/theme.yml, `order`), after the module stylesheet.
 * It provides:
 *   1. the few Bootstrap 5 utilities / CSS variables the module relies on and Classic
 *      (Bootstrap 4 alpha 5) does not ship,
 *   2. Classic-styled layout for the one-page checkout components (sections, address picker,
 *      carriers, payment options, modals, loaders, errors).
 */

/* ------------------------------------------------------------------ */
/* 1. Bootstrap 5 compatibility                                       */
/* ------------------------------------------------------------------ */

:root {
  --bs-border-color: #e5e5e5;
  --bs-secondary-color: #757575;
  --opc-primary: #007953;
  --opc-primary-dark: #006344;
  --opc-danger: #ff4c4c;
  --opc-text: #232323;
  --opc-muted: #757575;
  --opc-border: #e5e5e5;
  --opc-bg-soft: #f6f6f6;
}

#checkout .cart-grid-body{
  padding: 0px 30px;
  border: 1px solid #e5e5e5;
  border-radius: var(--border-radius);
  background-color: #ffffff;
}
#checkout .cart-grid-right{
  padding-left: 30px;
}
/* JS toggles these class names, so they must exist and win over component display rules. */
.d-none { display: none !important; }
.d-block { display: block !important; }
.d-flex { display: flex !important; }
.mb-0 { margin-bottom: 0 !important; }
.mt-3 { margin-top: 1rem !important; }
.text-danger { color: var(--opc-danger) !important; }
.text-muted { color: var(--opc-muted) !important; }
.text-body-tertiary { color: var(--opc-muted) !important; }
.fw-semibold { font-weight: 600 !important; }
.position-relative { position: relative !important; }
.position-absolute { position: absolute !important; }
.top-0 { top: 0 !important; }
.start-0 { left: 0 !important; }
.end-0 { right: 0 !important; }
.bottom-0 { bottom: 0 !important; }
.bg-white { background-color: #fff !important; }
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
}
.border-primary { border-color: var(--opc-primary) !important; }

/* Classes still emitted by module partials that Classic does not override. */
.one-page-checkout .form-label,
.opc-address-modal .form-label {
  display: block;
  margin-bottom: 0.5rem;
}
.one-page-checkout__section .form-label{
  text-align: left;
  font-weight: 500;
}
.one-page-checkout .form-select,
.opc-address-modal .form-select {
  display: block;
  width: 100%;
}
.one-page-checkout .form-check,
.opc-address-modal .form-check {
  position: relative;
  display: block;
  margin-bottom: 0.75rem;
}
.one-page-checkout .form-check .form-check-label{ padding: 0px; font-weight: 500;}
.one-page-checkout .form-check-input,
.opc-address-modal .form-check-input {
  position: static;
  margin: 0 0.5rem 0 0;
}

/* Bootstrap 5 modal helper missing from alpha 5. */
.modal-dialog-scrollable .modal-content {
  max-height: calc(100vh - 3.5rem);
  overflow: hidden;
  overflow-y: scroll;
}
.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

/* Bootstrap 5 field validation states. */
.form-control.is-invalid,
.form-control-select.is-invalid {
  border-color: var(--opc-danger);
}
.form-control.is-invalid:focus {
  box-shadow: 0 0 6px #ffb2b2;
}
.invalid-feedback {
  width: 100%;
  margin-top: 0.25rem;  
  color: var(--opc-danger);
}
.has-error .form-control-label,
.has-error .form-control-feedback {
  color: var(--opc-danger);
}
.has-error .form-control {
  border-color: var(--opc-danger);
}

/* ------------------------------------------------------------------ */
/* 2. Spinner / loader / error placeholders                           */
/* ------------------------------------------------------------------ */

@keyframes opc-spin {
  to { transform: rotate(360deg); }
}
.opc-spinner {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  margin-right: 0.5rem;
  vertical-align: -0.125em;
  border: 0.15em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: opc-spin 0.75s linear infinite;
}
.opc-spinner.d-none { display: none !important; }
.opc-spinner--lg {
  width: 2rem;
  height: 2rem;
  margin-right: 0;
  color: var(--opc-primary);
}
.opc-loader {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 1rem 0;
}
.opc-loader__message {
  margin: 0.5rem 0 0;  
  color: var(--opc-muted);
}
.opc-error {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0;
}
.opc-error__message {
  flex: 1 1 auto;
  margin: 0 1rem 0 0;
}
.opc-payment-methods-loader {
  z-index: 2;
}

/* ------------------------------------------------------------------ */
/* 3. One-page checkout layout                                        */
/* ------------------------------------------------------------------ */

.one-page-checkout {
  padding-right: 0;
}
.one-page-checkout__section {
  padding: 2em 0;
  background: #fff;  
}
.one-page-checkout__section .step__account a { color: var(--link-hover-color);}
.one-page-checkout__section #opc-delivery-address #opc-delivery-address-fields{
  display: inline-block;
}
.one-page-checkout__section.js-opc-payment-section,
.one-page-checkout__section + .one-page-checkout__section,
.js-opc-addresses-section + .one-page-checkout__section {
  border-top: 1px solid var(--opc-border);  
  display: grid;
}
.one-page-checkout__title {
  margin-bottom: 1rem;
  font-size: 18px;
  font-weight: 600;    
}
.one-page-checkout__links a,
.one-page-checkout__link {  
  text-decoration: underline;
  color: var(--link-hover-color);
}
.one-page-checkout__links a:hover,
.one-page-checkout__link:hover {
  color: var(--opc-primary);
}
.one-page-checkout__field .form-control {
  max-width: 100%;
}
.one-page-checkout__footer {
  padding: 1.5rem 0px;
}
.one-page-checkout__footer .opc-conditions {
  padding: 0;
  margin: 0 0 1rem;
  list-style: none;
}
.one-page-checkout__footer .opc-conditions li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 0.5rem;
}
body#checkout .one-page-checkout__footer .opc-conditions .condition-label {
  flex: 1 1 auto;
  margin-left: 20px;
}
.one-page-checkout__footer .opc-conditions .float-xs-left {
  margin-right: 0.5rem;
}
.one-page-checkout__submit.btn {
  margin-top: 0.5rem;
}
.one-page-checkout__submit:disabled {
  pointer-events: none;
  opacity: 0.55;
}
.one-page-checkout__placeholder {
  min-height: 2rem;
}

/* Form fields: Classic's horizontal label/input grid is too narrow for a 2/3-width column and for
   the side-by-side field rows, so stack label above input inside the one-page checkout. */
.one-page-checkout .opc-form-fields-row,
.one-page-checkout .form-group.row,
.opc-address-modal .form-group.row {
  display: block;
  margin-right: 0;
  margin-left: 0;
}
.one-page-checkout .form-group.row .form-control-label.required::after{
  color: var(--bs-danger);
  content: "*" / " ";
  position: absolute;
  margin: 0px 5px;
}
.one-page-checkout .form-group.row > [class*="col-"],
.opc-address-modal .form-group.row > [class*="col-"] {
  width: 100%;
  max-width: 100%;
  padding-right: 0;
  padding-left: 0;
}
.one-page-checkout .form-group.row > .form-control-label,
.opc-address-modal .form-group.row > .form-control-label {
  margin-bottom: 0.375rem;
  text-align: left;
}
.one-page-checkout .form-group.row > .form-control-comment,
.opc-address-modal .form-group.row > .form-control-comment {
  padding: 0px;
}
.opc-address-modal .modal-body > .js-opc-address-modal-fields > .row {
  margin-right: 0;
  margin-left: 0;
}
.opc-form-fields-row > .form-group.row {
  margin-bottom: 1rem;
}

/* ------------------------------------------------------------------ */
/* 4. Saved addresses picker                                          */
/* ------------------------------------------------------------------ */

.opc-address-list {
  display: flex;
  flex-direction: column;
  margin-bottom: 1rem;
  gap: 10px;
}
.opc-address-item {
  display: flex;
  align-items: flex-start;
  padding: 0.75rem;
  margin-top: -1px;
  cursor: pointer;
  background: #fff;
  border: 1px solid var(--opc-border);
  border-radius: var(--border-radius);
}
.opc-address-item:first-child {
  margin-top: 0;
}
.opc-address-item.selected {
  position: relative;
  z-index: 1;
  background: var(--opc-bg-soft);
  border-color: var(--opc-primary);
}
.opc-address-item .custom-radio {
  margin-right: 0.75rem;
}
.opc-address-item__radio {
  flex: 0 0 auto;
  position: absolute;
  width: 85%;
}
.opc-address-item__body {
  flex: 1 1 auto;
  min-width: 0;
}
.opc-address-item__body .form-check-label {
  display: block;
  padding-left: 0;
  margin-bottom: 0.25rem;
  cursor: pointer;
  text-align: left;
  margin-left: 30px;
}
.opc-address-item__details {
  margin: 0;  
}
.opc-address-card__actions {
  flex: 0 0 auto;
}
.opc-address-card__toggle {
  padding: 0;
  line-height: 1;
  color: var(--opc-muted);
  background: transparent;
  border: 0;
}
.opc-address-card__actions .dropdown-menu {
  min-width: 8rem;
}
.opc-address-card__actions .dropdown-item {
  display: block;
  width: 100%;
  padding: 0.5rem 1rem;
  text-align: left;
  cursor: pointer;
  background: transparent;
  border: 0;
}
.opc-address-card__actions .dropdown-item:hover {
  background: var(--opc-bg-soft);
}

/* ------------------------------------------------------------------ */
/* 5. Carriers and payment options                                    */
/* ------------------------------------------------------------------ */

.delivery-options__list {
  margin-bottom: 1rem;
}
.delivery-option__item {
  margin-top: -1px;
  background: #fff;
  border: 0px solid var(--opc-border);
  background-color: #f2f2f2;
  border-radius: var(--border-radius);
  margin-bottom: 10px;  
}
.delivery-option__item:first-child {
  margin-top: 0;
}
.delivery-option__item.is-selected {
  position: relative;
  z-index: 1;
  border-color: var(--opc-primary);
}
.delivery-option__label {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  width: 100%;
  padding: 0.75rem;
  margin: 0;
  cursor: pointer;
  gap: 10px;
}
.delivery-option__left {
  display: flex;
  flex: 1 1 14rem;
  align-items: center;
}
.delivery-option__check {
  flex: 0 0 auto;
  margin-right: 10px;
}
.delivery-option__carrier {
  display: flex;
  align-items: center;
}
.delivery-option__carrier-logo {
  max-width: 3.5rem;
  max-height: 2.5rem;
  margin-right: 0.75rem;
}
.delivery-option__carrier-name {
  font-weight: 500;
}
.delivery-option__content {
  flex: 1 1 10rem;
  padding: 0 1.75rem;  
  color: var(--opc-muted);
}
.delivery-option__price {
  flex: 0 0 auto;
  font-weight: 600;
  text-align: right;
}
.delivery-option__extra-content {
  padding: 0 0.75rem 0.75rem;
}
.delivery-option__extra:not([data-active]) .delivery-option__extra-content {
  display: none;
}
.delivery-options__display-after-carrier:empty,
.delivery-options__extra-carrier:empty,
#delivery-options__hook:empty {
  display: none;
}

.opc-payment-methods-wrapper {
  min-height: 6rem;
}
.payment-option {
  padding: 0.75rem;
  margin-top: -1px;
  background: #fff;
  border: 0px solid var(--opc-border);
  background-color: #f2f2f2;
  border-radius: var(--border-radius);
  margin-bottom: 10px;
}
.payment-option:first-child {
  margin-top: 0;
}
.payment-option__form-check {
  display: flex;
  align-items: center;
}
.payment-option__form-check .custom-radio{
  margin-right: 10px;
}
.payment-option__label {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  margin: 0;
  cursor: pointer;
  font-weight: 500;
}
.payment-option__label img {
  max-height: 2rem;
  margin-left: 0.75rem;
}
.payment-option__additional-information {
  margin-top: 0.75rem;  
}
.js-payment-option-form {
  margin-top: 0.5rem;
}

/* ------------------------------------------------------------------ */
/* 6. Express checkout, modals                                        */
/* ------------------------------------------------------------------ */

.opc-express-checkout {
  margin-bottom: 1.5rem;
}
.opc-express-checkout__buttons {
  display: flex;
  flex-wrap: wrap;
}
.opc-express-checkout__buttons > * {
  margin: 0 0.5rem 0.5rem 0;
}

.opc-address-modal .modal-header {
  align-items: center;
}
.opc-address-modal .modal-title {
  margin: 0;
  font-size: 1.25rem;
}
.opc-address-modal .modal-header .close,
#opc-delete-address-confirm-modal .modal-header .close {
  position: static;
  top: auto;
  right: auto;
  margin-left: auto;
  font-size: 1.75rem;
  line-height: 1;
  background: transparent;
  border: 0;
  cursor: pointer;
}
#submit-address-modal:disabled {
  pointer-events: none;
  opacity: 0.55;
}
#submit-address-modal .opc-spinner {
  margin-right: 0.5rem;
}
#opc-delete-address-confirm-modal .modal-title {
  font-size: 1.25rem;
}
.js-payment-binary.opc-binary-disabled,
.payment-binary.opc-binary-disabled {
  pointer-events: none;
  opacity: 0.5;
}
@media (max-width: 991px) {
  body#checkout section#content .row{
    margin: 0px;
  }
  #checkout .cart-grid-right{
    padding-left: 0px;
  }  
}

@media (min-width: 768px) {
  .opc-form-fields-row {
    display: grid;
    gap: 0 1rem;
  }
  .opc-form-fields-row--2 { grid-template-columns: 1fr 1fr; }
  .opc-form-fields-row--3 { grid-template-columns: 1fr 1fr 1fr; }
}

/* Usuń efekt banerów z kontenera i pozycji ETS Mega Menu */
#header .ets_mm_megamenu.hover,
#header .ets_mm_megamenu .mm_menus_li.hover {
  transform: none !important;
  -webkit-transform: none !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  transition: none !important;
  background-color: transparent;
}

#header .ets_mm_megamenu.hover {
  position: relative !important;
}

#header .ets_mm_megamenu .mm_menus_li.hover {
  position: static !important;
}

@media (min-width: 992px) {
  /* Wyrównanie wyszukiwarki w pionie */
  #header .header-top .header-div .container .header-left {
    display: flex;
    align-items: center;
  }

  /* Mniejsze logo z zachowaniem proporcji */
  #header .header-top .header_logo img.logo {
    width: 120px;
    height: auto;
  }
}
/* Wyrównanie treści rozwijanego submenu */
#header .ets_mm_megamenu .mm_columns_ul {
  text-align: left;
}
/* ETS overlay uses the document width, excluding the vertical scrollbar. */
@media(min-width:992px){
  #header .ets_mm_megamenu::before{
    left:var(--se-mm-overlay-left,0px)!important;
    right:auto!important;
    top:100%;
    bottom:auto;
    width:var(--se-mm-overlay-width,100%)!important;
    height:100vh;
    box-sizing:border-box;
    pointer-events:none;
  }
  #header .ets_mm_megamenu.bg_submenu[data-bggray="bg_gray"]::before{
    pointer-events:auto;
  }
}

@media (min-width: 992px) {
  body:not(.menu_shown) #header .cart_block {
    transform: translateX(100%) !important;
    visibility: hidden;
    pointer-events: none;
  }

  body.menu_shown #header .cart_block {
    transform: translateX(0) !important;
    visibility: visible;
    pointer-events: auto;
  }
}

/* Product price block only. Quantity and cart controls are outside this scope. */
body#product .product-prices.js-product-prices{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-start;gap:0 14px;text-align:left;}
body#product .product-prices>.product-price{flex:0 0 100%;float:none;width:100%;margin:0 0 12px;padding:0;line-height:1.2;}
body#product .product-prices .current-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;float:none;margin:0;padding:0;}
body#product .product-prices .current-price-value{font-size:36px;font-weight:700;line-height:1.15;color:#17221c;letter-spacing:-.5px;}
body#product .product-prices .se-price-tax{font-size:13px;font-weight:400;line-height:20px;color:#777;letter-spacing:0;text-transform:lowercase;}
body#product .product-prices>.product-discount{float:none;display:block;flex:0 0 auto;width:auto;margin:0;padding:0;font-size:15px;line-height:22px;}
body#product .product-prices .regular-price{font-size:15px;font-weight:400;line-height:22px;color:#7a7a7a;text-decoration:line-through;}
body#product .product-prices>.disc-price{float:none;display:block;flex:0 0 auto;width:auto;margin:0;padding:0;font-size:14px;line-height:22px;}
body#product .product-prices .disc-price .discount{position:static;display:inline;float:none;background:none!important;border:0;border-radius:0;padding:0;margin:0;color:#c00000;font-size:14px;font-weight:400;line-height:22px;}
body#product .product-prices>.tax-shipping-delivery-label{float:none;display:block;flex:0 0 100%;width:100%;min-width:0;font-size:13px;font-weight:400;line-height:1.6;margin:0;padding:0;color:#7a7a7a;}
body#product .product-prices .x13pricehistory{float:none;display:block;width:100%;margin:0;padding:0;}
body#product .product-prices .x13pricehistory .x13pricehistory__text{float:none;display:block;margin:0 0 3px;padding:0;font-size:13px!important;font-weight:400;line-height:1.6!important;letter-spacing:0;text-transform:none;}
body#product .product-prices .x13pricehistory__price{font-weight:600;white-space:nowrap;}
body#product .product-prices .x13pricehistory__date{font-weight:400;white-space:nowrap;}
body#product .product-prices>.product-without-taxes,body#product .product-prices>.product-pack-price,body#product .product-prices>.price-ecotax,body#product .product-prices>.delivery-information{flex-basis:100%;float:none;width:100%;font-size:13px;line-height:1.5;}
body#product .product-prices .product-unit-price{font-size:13px;line-height:1.5;margin:6px 0 0;}
@media(max-width:767px){body#product .product-prices .current-price-value{font-size:32px;}}
/* Cena, brutto, stara cena i rabat w jednym wierszu */
body#product .product-prices.js-product-prices {
  gap: 8px 14px;
}

body#product .product-prices > .product-price {
  flex: 0 0 auto;
  width: auto;
  margin: 0;
}

body#product .product-prices > .product-discount,
body#product .product-prices > .disc-price {
  margin: 0;
  padding: 0;
}
/* Preserve the desktop menu position when the theme toggles .fixed. */
.se-desktop-nav-placeholder{display:none}
@media(min-width:992px){
 .se-desktop-nav-placeholder{width:100%;pointer-events:none}
 #header .header-top-main.fixed{box-sizing:border-box;width:100%;max-width:100%;animation:none!important;-webkit-animation:none!important;transform:none}
}
/* Header controls are mobile-only. */
.sm-mobile-menu,.sm-mobile-account,.sm-mobile-categories{display:none}
/* Homepage section rhythm: shared across desktop and mobile. */
body#index :is(.cpcategorylist,#featured-products,.ets_block_latest){
  box-sizing:border-box;clear:both;margin-block:0!important;padding-block:44px!important;
}
body#index :is(.cpcategorylist,#featured-products) .products-section-title,
body#index :is(.ets_block_latest .title_blog,.homepage-latest-blog .products-section-title,.blog-home .products-section-title){
  box-sizing:border-box;float:none!important;width:100%;border:0!important;
  padding:0!important;margin:0 0 48px!important;text-align:center!important;
}
body#index :is(.cpcategorylist,#featured-products) .products-section-title .title,
body#index :is(.ets_block_latest .title_blog,.homepage-latest-blog .products-section-title,.blog-home .products-section-title){
  font-size:30px!important;line-height:38px!important;font-weight:600!important;
  letter-spacing:0!important;text-transform:none!important;
}
body#index :is(.cpcategorylist,#featured-products) .products-section-title .title{margin:0!important;}
body#index :is(.cpcategorylist,#featured-products) .products-section-title .sub-title{display:block!important;margin:10px auto 0!important;padding:0 12px;max-width:640px;font-size:15px!important;line-height:23px!important;font-weight:400;text-transform:none;letter-spacing:0;}
@media(max-width:991px){
  body#index :is(.cpcategorylist,#featured-products) .products-section-title .sub-title{font-size:13px!important;line-height:20px!important;margin-top:8px!important;}
  body#index :is(.cpcategorylist,#featured-products,.ets_block_latest){padding-block:28px!important;}
  body#index :is(.cpcategorylist,#featured-products) .products-section-title,
  body#index :is(.ets_block_latest .title_blog,.homepage-latest-blog .products-section-title,.blog-home .products-section-title){margin-bottom:36px!important;}
  body#index :is(.cpcategorylist,#featured-products) .products-section-title .title,
  body#index :is(.ets_block_latest .title_blog,.homepage-latest-blog .products-section-title,.blog-home .products-section-title){font-size:22px!important;line-height:28px!important;}
}

/* Reduce only the gap between homepage banners and categories. */
body#index #cpcmsbanner1{margin-bottom:0!important;}
body#index :is(#featured-products,.cpcategorylist).cpcategorylist{margin-top:0!important;padding-top:48px!important;}
/* Mobile: separate the category background from the banners. */
@media(max-width:991px){body#index :is(#featured-products,.cpcategorylist).cpcategorylist{margin-top:0!important;padding-top:12px!important;}}

/* Mobile homepage: identical section titles and a white gap after benefits. */
@media(max-width:991px){
 body#index #content .cpcategorylist .products-section-title h2.title,
 body#index #content #featured-products .products-section-title h2.title{font-size:22px!important;line-height:28px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;margin:0!important;}
 body#index #content #cpserviceblock{box-sizing:border-box;background-color:#fff!important;padding-bottom:28px!important;margin-bottom:0!important;}
}


/* Desktop homepage banners: aligned columns with 15px gutters. */
@media(min-width:992px){
 body#index #cpcmsbanner1_block1{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;align-items:stretch;}
 body#index #cpcmsbanner1_block1>.left-side,
 body#index #cpcmsbanner1_block1>.right-side{min-width:0;width:auto;gap:15px;}
 body#index #cpcmsbanner1_block1>.left-side>.cms_content{aspect-ratio:685 / 660;width:100%;height:auto;overflow:hidden;}
 body#index #cpcmsbanner1_block1>.right-side{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));}
 body#index #cpcmsbanner1_block1>.right-side>.cms_content{width:100%;height:100%;min-height:0;overflow:hidden;}
 body#index #cpcmsbanner1_block1 .cms_content>a{display:block;width:100%;height:100%;}
 body#index #cpcmsbanner1_block1 .cms_content>a>img{display:block;width:100%;height:100%;object-fit:cover;}
}

/* Desktop: product blocks only, without altering menu columns or category links. */
@media(min-width:992px){

 #header .ets_mm_megamenu .mm_block_type_product .product-miniature{float:none;width:100%;margin:0;padding:14px 0;box-shadow:none;border:0;border-bottom:1px solid #e5ebe7;background:#fff;}
 #header .ets_mm_megamenu .mm_block_type_product .thumbnail-container{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:start;float:none;width:100%;height:auto;box-shadow:none;margin:0;padding:0;background:transparent;}
 #header .ets_mm_megamenu .mm_block_type_product .product-thumbnail{display:flex;align-items:center;justify-content:center;float:none;width:72px;height:72px;margin:0;padding:3px;border:1px solid #e5ebe7;border-radius:8px;overflow:hidden;box-sizing:border-box;}
 #header .ets_mm_megamenu .mm_block_type_product .product-thumbnail img{display:block;width:100%;height:100%;max-width:100%;object-fit:contain;margin:0;}
 #header .ets_mm_megamenu .mm_block_type_product .mm-product-description{min-width:0;width:auto;float:none;padding:0;margin:0;text-align:left;position:static;}
 #header .ets_mm_megamenu .mm_block_type_product .product-title{display:block;margin:0 0 8px;padding:0;line-height:1.45;text-align:left;}
 #header .ets_mm_megamenu .mm_block_type_product .product-title a{display:block;color:#25372c;font-size:13px;font-weight:500;line-height:1.45;letter-spacing:0;text-transform:none;white-space:normal;}
 #header .ets_mm_megamenu .mm_block_type_product .product-price-and-shipping{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 7px;margin:0;padding:0;text-align:left;}
 #header .ets_mm_megamenu .mm_block_type_product .product-price-and-shipping>.price{flex-basis:100%;color:#1c3124;font-size:16px;font-weight:600;line-height:1.4;white-space:nowrap;}
 #header .ets_mm_megamenu .mm_block_type_product .regular-price{display:inline-block;color:#839087;font-size:11px;line-height:1.4;text-decoration:line-through;margin:0;float:none;white-space:nowrap;}
 #header .ets_mm_megamenu .mm_block_type_product .discount-percentage{position:static;display:inline-block;background:#faeded;color:#a43d3d;border:0;border-radius:4px;padding:2px 5px;margin:0;font-size:11px;line-height:1.4;float:none;}
}

/* Semantic product links and discount labels rendered by the menu template. */
.se-mm-product-link,.se-mm-product-badge{display:none;}
@media(min-width:992px){
 #header .ets_mm_megamenu .mm_block_type_product .se-mm-product-badge{display:inline-block;position:static;background:#faeded!important;color:#a43d3d!important;opacity:1;padding:2px 6px;margin:0 0 7px;border-radius:4px;font-size:11px;line-height:1.4;font-weight:600;}
 #header .ets_mm_megamenu .mm_block_type_product .product-title a{overflow:visible;max-height:none;-webkit-line-clamp:unset;text-overflow:clip;}
 #header .ets_mm_megamenu .mm_block_type_product .se-mm-product-link{display:inline-flex;align-items:center;gap:7px;margin-top:10px;color:#007953!important;font-size:12px;line-height:1.5;font-weight:600;text-transform:none;text-decoration:none;}
 #header .ets_mm_megamenu .mm_block_type_product .se-mm-product-link:hover{text-decoration:underline;}
}

/* Purchase buttons: available green, hover black, unavailable grey. */
body .add-to-cart-button .add-to-cart:not(:disabled):not(.disabled),
body .product-quantity .add-to-cart:not(:disabled):not(.disabled){background:#007953!important;border-color:#007953!important;color:#fff!important;}
@media(hover:hover){
 body .add-to-cart-button .add-to-cart:not(:disabled):not(.disabled):hover,
 body .product-quantity .add-to-cart:not(:disabled):not(.disabled):hover{background:#111!important;border-color:#111!important;color:#fff!important;}
}
body .add-to-cart-button .add-to-cart:disabled,body .add-to-cart-button .add-to-cart.disabled,
body .product-quantity .add-to-cart:disabled,body .product-quantity .add-to-cart.disabled{background:#b7b7b7!important;border-color:#b7b7b7!important;color:#fff!important;}

/* Compact benefit icons and labels on desktop only. */
@media(min-width:992px){
 body#index #cpserviceblock .service_image{width:42px;height:38px;-webkit-mask-size:contain;mask-size:contain;}
 body#index #cpserviceblock .service_title1{font-size:14px!important;line-height:20px!important;}
 body#index #cpserviceblock .service_title2,body#index #cpserviceblock .service_title2 strong{font-size:13px!important;line-height:19px!important;}
}

/* Desktop benefits align with banner content, including its 30px inner gutters. */
@media(min-width:992px){
 body#index #cpserviceblock>.container{box-sizing:border-box;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;width:100%;max-width:940px;margin-inline:auto;padding:0 30px;align-items:stretch;}
 body#index #cpserviceblock>.container::before,body#index #cpserviceblock>.container::after{display:none!important;content:none!important;}
 body#index #cpserviceblock .service-cms-banner-list{box-sizing:border-box;width:auto!important;min-width:0;float:none;margin:0;padding:0 12px;}
 body#index #cpserviceblock .service-cms-banner-list+.service-cms-banner-list{border-left:1px solid #ededed;}
 body#index #cpserviceblock .service_block_inner{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;height:100%;padding:0;margin:0;}
 body#index #cpserviceblock .service_block_inner::after,body#index #cpserviceblock .service_content::after{display:none!important;content:none!important;}
 body#index #cpserviceblock .service_image{flex:0 0 38px;margin:0;float:none;}
 body#index #cpserviceblock .service_content{box-sizing:border-box;width:100%;float:none;padding:0;margin:0;text-align:center;}
 body#index #cpserviceblock .service_title1{min-height:20px;margin-bottom:3px;}
 body#index #cpserviceblock .service_title2{min-height:38px;white-space:normal;}
}
@media(min-width:1200px){body#index #cpserviceblock>.container{max-width:1170px;}}
@media(min-width:1450px){body#index #cpserviceblock>.container{max-width:1400px;}}

/* CMS: wysyłka i płatności. All selectors are scoped to this content only. */
:is(#se-shipping-payment,.se-shipping-payment){box-sizing:border-box;width:100%;max-width:1400px;margin:0 auto;padding:28px 0;font-family:inherit;font-size:15px;line-height:1.7;color:#26372f;text-align:left;}
:is(#se-shipping-payment,.se-shipping-payment) *{box-sizing:border-box;}
:is(#se-shipping-payment,.se-shipping-payment) p{margin:0;color:#66766c;font-size:15px;line-height:1.7;}
:is(#se-shipping-payment,.se-shipping-payment) h2{display:block!important;float:none!important;clear:none;margin:0 0 10px!important;padding:0;border:0;font-family:inherit;font-size:28px!important;line-height:1.3!important;font-weight:600;color:#1c3025;text-transform:none;letter-spacing:0;}
:is(#se-shipping-payment,.se-shipping-payment) h3{display:block!important;margin:0 0 8px;padding:0;font-family:inherit;font-size:17px!important;line-height:1.4!important;font-weight:600;color:#26372f;text-transform:none;letter-spacing:0;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-kicker{margin:0 0 6px;color:#007953;font-size:12px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-hero{display:flex;flex-wrap:wrap;align-items:center;gap:28px;padding:32px;margin:0 0 36px;background:#edf4ef;border:1px solid #dce8df;border-radius:14px;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-intro{flex:2 1 400px;min-width:0;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-intro h2{font-size:32px!important;line-height:1.25!important;margin-bottom:14px!important;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-intro>p:last-child{max-width:640px;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-free{flex:1 1 230px;min-width:0;padding:22px 24px;background:#fff;border:1px solid #dce8df;border-radius:10px;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-free-label{font-size:14px;font-weight:600;color:#007953;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-free-amount{margin:2px 0 0;font-size:36px;line-height:1.25;font-weight:600;color:#007953;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-free-note{margin-top:8px;font-size:13px;line-height:1.6;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-main{display:flex;flex-wrap:wrap;align-items:flex-start;gap:32px;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-payments{flex:1.15 1 510px;min-width:0;max-width:100%;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-delivery{flex:1 1 440px;min-width:0;max-width:100%;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-payments>p:not(.se-ship-kicker),:is(#se-shipping-payment,.se-shipping-payment) .se-ship-delivery>p:not(.se-ship-kicker):not(.se-ship-delivery-note){margin-bottom:22px;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-payment-grid{display:flex;flex-wrap:wrap;align-items:stretch;gap:16px;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-payment-card{flex:1 1 245px;min-width:0;padding:22px;border:1px solid #dfe7e1;border-radius:10px;background:#fff;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-payment-card p{font-size:14px;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-payment-card .se-ship-kicker{font-size:11px;margin-bottom:12px;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-logo{display:flex;align-items:center;height:42px;margin-bottom:18px;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-logo img{display:block;max-width:100%;height:38px;object-fit:contain;object-position:left center;border:0;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-bank{margin-top:20px;padding:20px 22px;background:#f7f9f7;border:1px solid #e3e9e4;border-radius:10px;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-bank-label{font-size:13px;font-weight:600;color:#53685b;margin-bottom:6px;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-bank-number{margin:0;font-size:19px;line-height:1.6;font-weight:600;color:#26372f;font-variant-numeric:tabular-nums;overflow-wrap:break-word;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-rate-box{overflow:hidden;border:1px solid #dfe7e1;border-radius:10px;background:#fff;}
:is(#se-shipping-payment,.se-shipping-payment) table{width:100%!important;table-layout:fixed;border-collapse:collapse;border-spacing:0;margin:0!important;font-size:14px;line-height:1.5;color:#26372f;}
:is(#se-shipping-payment,.se-shipping-payment) th,:is(#se-shipping-payment,.se-shipping-payment) td{padding:16px 12px;border:0;border-bottom:1px solid #edf0ed;text-align:left;vertical-align:middle;}
:is(#se-shipping-payment,.se-shipping-payment) thead{background:#edf4ef;}
:is(#se-shipping-payment,.se-shipping-payment) thead th{padding:15px 12px;font-size:12px;font-weight:600;color:#53685b;}
:is(#se-shipping-payment,.se-shipping-payment) th:first-child{width:48%;font-weight:500;}
:is(#se-shipping-payment,.se-shipping-payment) th:nth-child(2),:is(#se-shipping-payment,.se-shipping-payment) td:nth-child(2){width:25%;padding-inline:8px;text-align:center;color:#66766c;}
:is(#se-shipping-payment,.se-shipping-payment) th:last-child,:is(#se-shipping-payment,.se-shipping-payment) td:last-child{width:27%;text-align:right;white-space:nowrap;font-weight:600;}
:is(#se-shipping-payment,.se-shipping-payment) tbody tr:last-child th,:is(#se-shipping-payment,.se-shipping-payment) tbody tr:last-child td{border-bottom:0;}
:is(#se-shipping-payment,.se-shipping-payment) tbody th span{font-size:12px;font-weight:400;color:#66766c;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-delivery-note{margin:14px 2px 0;font-size:13px;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-delivery-note strong{color:#007953;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-contact{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:36px;padding:24px 0 0;border-top:1px solid #e1e8e3;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-contact>div{flex:1 1 260px;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-contact h3{font-size:18px!important;margin-bottom:4px;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-contact p{font-size:14px;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-contact-link{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;min-height:44px;border:1px solid #007953;border-radius:8px;background:#fff;color:#007953;text-decoration:none;font-size:14px;font-weight:600;line-height:20px;}
:is(#se-shipping-payment,.se-shipping-payment) .se-ship-contact-link:hover{background:#007953;color:#fff;}

/* Nowe produkty – pozioma linia i link */
.newproducts .products-section-title.se-newproducts-title {
  border-bottom: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.newproducts .se-newproducts-divider {
  --se-divider-color: #e5e5e5;
  clear: both;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
}

.newproducts .se-newproducts-divider::before,
.newproducts .se-newproducts-divider::after {
  content: "";
  border-top: 1px solid var(--se-divider-color);
}

.newproducts .se-newproducts-divider::after {
  display: none;
}

.newproducts .se-newproducts-divider > .se-newproducts-all {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 44px;
  color: #000;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}

.newproducts .se-newproducts-all:hover,
.newproducts .se-newproducts-all:focus-visible {
  color: var(--primary-color, #007953);
  text-decoration: none;
}

@media (max-width: 991px) {
  .newproducts .se-newproducts-divider {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  }

  .newproducts .se-newproducts-divider::after {
    display: block;
  }

  .newproducts .se-newproducts-divider > .se-newproducts-all {
    padding: 0 14px;
    border: 1px solid var(--se-divider-color);
    border-radius: 7px;
  }
}

/* Nowe produkty – kreska tylko w wierszu linku */
body#index .newproducts > .container > .products-section-title {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

body#index .newproducts > .container > .products-section-title::before,
body#index .newproducts > .container > .products-section-title::after {
  content: none !important;
}

@media (max-width: 991px) {
  body#index .newproducts > .container > .se-newproducts-divider {
    padding-top: 14px;
    margin-bottom: 12px;
  }
}

/* Szczegóły produktu – wspólna tabela */
#product-details .se-spec-table {
  width: 100%;
  margin: 0 0 16px;
  border-collapse: collapse;
  table-layout: fixed;
}


#product-details .se-spec-table :is(th, td) {
  padding: 10px 12px;
  vertical-align: top;
  text-align: center;
  overflow-wrap: anywhere;
}

#product-details .se-spec-heading th {
  background: #edf4ef;
  color: #24382d;
  font-weight: 700;
}

#product-details .se-spec-table :is(th[scope="row"], td) {
  border-bottom: 1px solid #e8ebe7;
}

#product-details .se-spec-table tbody tr:last-child > * { border-bottom: 0; }
#product-details .se-spec-table .se-spec-label { color: #535d55; font-weight: 500; }
#product-details .se-spec-table .product-quantities span { color: inherit; }
#product-details .se-spec-table .se-product-brand a { color: var(--primary-color, #007953); font-weight: 600; }
#product-details .se-spec-features .se-spec-label { text-transform: initial; }
#product-details .se-spec-features .value { text-transform: lowercase; }

@media (max-width: 575px) {
  #product-details .se-spec-table :is(th, td) { padding: 8px; }
}

/* Karta produktu: opis i szczegóły w jednym przewijanym widoku */
#product .se-product-flow {
  margin: 28px 0;
}

#product .se-product-flow .se-product-section + .se-product-section {
  margin-top: 28px;
}

#product .se-product-flow .se-product-heading {
  margin: 0 0 12px;
  font-size: 22px;
  line-height: 1.25;
  font-weight: 700;
}

#product .se-product-flow :is(#se-product-description-heading, #se-product-details-heading) {
  text-align: center;
}

#product .se-product-flow #description .product-description {
  font-size: 15px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

#product .se-product-flow #description .product-description > :is(p, ul, ol) {
  max-width: 72ch;
  margin: 0 0 12px;
}

#product .se-product-flow #description .product-description :is(h2, h3, h4) {
  margin: 18px 0 6px;
}

#product .se-product-flow #description .product-description ul {
  list-style: disc;
  padding-inline-start: 20px;
}

#product .se-product-flow #description .product-description ol {
  list-style: decimal;
  padding-inline-start: 20px;
}

#product .se-product-flow #description .product-description img {
  max-width: 100%;
  height: auto;
}

#product .se-product-flow .se-product-delivery {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  color: var(--primary-color, #007953);
  font-weight: 600;
}

@media (max-width: 575px) {
  #product .se-product-flow { margin: 20px 0; }
  #product .se-product-flow .se-product-section + .se-product-section { margin-top: 22px; }
  #product .se-product-flow .se-product-heading { font-size: 20px; }
}


/* Karta produktu: skróty do sekcji */
#product .se-product-jump {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}

#product .se-product-jump a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 6px 13px;
  border-radius: 24px;
  background: #edf4ef;
  color: #24382d;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}

#product .se-product-jump a:hover,
#product .se-product-jump a:focus-visible {
  background: #dcebe1;
  color: var(--primary-color, #007953);
}

#product .se-product-flow :is(#description, #se-product-specification, #se-product-shipping) {
  scroll-margin-top: 110px;
}

@media (max-width: 575px) {
  #product .se-product-jump { gap: 6px; margin-bottom: 16px; }
  #product .se-product-jump a { padding-inline: 10px; font-size: 13px; }
}


/* Rozwijanie opisu i tabeli na karcie produktu */
#product .se-description-preview {
  --se-description-limit: 224px;
  display: flow-root;
}

#product .se-description-preview.is-collapsed {
  max-height: var(--se-description-limit);
  overflow: hidden;
  mask-image: linear-gradient(to bottom, #000 0 calc(100% - 76px), transparent 100%);
}

#product .se-product-expand {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: 6px;
  padding: 6px 14px;
  border: 0;
  border-radius: 24px;
  background: #edf4ef;
  color: #24382d;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

#product .se-product-expand[hidden],
#product .se-spec-table tr[hidden] {
  display: none !important;
}

#product .se-product-expand:hover,
#product .se-product-expand:focus-visible {
  background: #dcebe1;
}

@media (max-width: 575px) {
  #product .se-description-preview { --se-description-limit: 192px; }
}

/* Pełna szerokość opisu produktu na komputerze */
@media (min-width: 992px) {
  #product .se-product-flow #description .product-description > :is(p, ul, ol) {
    max-width: none;
  }
}

/* Przycisk na wygaszonej krawędzi długiego opisu */
#product .se-product-expand[data-se-expand="description"] {
  position: relative;
  display: flex;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  gap: 9px;
  padding-inline: 18px;
  background: var(--primary-color, #007953);
  color: #fff;
  box-shadow: 0 2px 6px #0002;
}

#product .se-description-preview.is-collapsed + .se-product-expand {
  margin-top: -22px;
}

#product .se-product-expand[data-se-expand="description"]::before {
  content: "";
  flex: 0 0 8px;
  width: 8px;
  height: 8px;
  box-sizing: border-box;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
}

#product .se-product-expand[data-se-expand="description"][aria-expanded="true"]::before {
  transform: translateY(2px) rotate(225deg);
}

#product .se-product-expand[data-se-expand="description"]:is(:hover, :focus-visible) {
  background: #006344;
  color: #fff;
}

.breadcrumb ol {
  text-transform: initial;
}

/* Karta produktu: ścieżka kończy się na kategorii */
#product .breadcrumb ol > li:last-child:not(:only-child),
#product .breadcrumb ol > li:nth-last-child(2) > a::after {
  display: none;
}

#product .breadcrumb ol > li:nth-last-child(2) > a {
  padding-inline-end: 0;
}


@media (max-width: 991px) {
  body #breadcrumb_wrapper nav.breadcrumb > .container > ol {
    padding-left: 10px;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    justify-content: safe center;
    box-sizing: border-box;
    float: none;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    scrollbar-width: none;
    text-align: center;
    text-transform: initial;
  }

  body #breadcrumb_wrapper nav.breadcrumb > .container > ol > li {
    flex: 0 0 auto;
    max-width: none;
    white-space: nowrap;
  }

  body #breadcrumb_wrapper nav.breadcrumb > .container > ol > li:first-child > a > span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  body #breadcrumb_wrapper nav.breadcrumb > .container > ol > li:first-child > a::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    vertical-align: -2px;
    background-color: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 10 9-7 9 7M5 9v12h5v-6h4v6h5V9'/%3E%3C/svg%3E") center / contain no-repeat;
  }
}
