@charset "UTF-8";
/* CarloFactory 1.0 — white surfaces, portrait catalogue, accessible controls. */

:root {
  --cf-blue: #007daf;
  --cf-logo: #009fd3;
  --cf-ink: #102e49;
  --cf-line: #d7e0e6;
  --cf-gap: 32px;
}

body {
  font-family: Arial,Helvetica,sans-serif !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
  color: var(--cf-ink) !important;
  background: #fff !important;
}

body #wrapper,
body #header,
body #footer,
body .footer-container,
body .page-content,
body .card,
body .elementor-section {
  background-color: #fff;
  box-shadow: none;
}

body .container {
  max-width: 1600px;
  width: calc(100% - 80px);
}

body h1,
body h2,
body h3,
body h4 {
  font-family: inherit;
  color: var(--cf-ink);
  font-weight: 700;
  text-transform: none;
  line-height: 1.2;
  letter-spacing: 0;
}

body h1 {
  font-size: 38px;
}

body h2 {
  font-size: 30px;
}

body p {
  font-size: 18px;
  line-height: 1.65;
  color: inherit;
}

a {
  color: var(--cf-ink);
}

a:hover {
  color: #006b97;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
summary:focus-visible {
  outline: 3px solid #0b5280;
  outline-offset: 4px;
}
.carlo-realizacje-cms{padding:64px 0;background:#f7f8fb;font-family:inherit}
.carlo-realizacje-cms *{box-sizing:border-box}
.carlo-realizacje-cms .cr-shell{width:min(1400px,calc(100% - 40px));margin:0 auto}
.carlo-realizacje-cms .cr-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px}
.carlo-realizacje-cms h2{margin:0;font-size:clamp(32px,4vw,54px);line-height:1.05;color:#111;font-weight:700}
.carlo-realizacje-cms .cr-head p{max-width:620px;margin:0;color:#5b6473;font-size:16px;line-height:1.6}
.carlo-realizacje-cms .cr-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.carlo-realizacje-cms figure{margin:0;aspect-ratio:1/1;background:#fff;border:1px solid #e8ebf0;border-radius:16px;overflow:hidden}
.carlo-realizacje-cms figure img{display:block;width:100%;height:100%;object-fit:contain;padding:8px;transition:transform .25s ease}
.carlo-realizacje-cms figure:hover img{transform:scale(1.025)}
.carlo-realizacje-cms details{margin-top:24px}
.carlo-realizacje-cms summary{display:flex;align-items:center;justify-content:center;gap:10px;width:max-content;max-width:100%;margin:0 auto;padding:13px 22px;border:1px solid #123a70;border-radius:999px;color:#123a70;background:#fff;font-weight:700;cursor:pointer;list-style:none}
.carlo-realizacje-cms summary::-webkit-details-marker{display:none}
.carlo-realizacje-cms details[open] summary{margin-bottom:24px}
.carlo-realizacje-cms details[open] summary span{transform:rotate(180deg)}
.carlo-realizacje-cms summary span{display:inline-block;transition:transform .2s ease}
@media(max-width:991px){.carlo-realizacje-cms{padding:50px 0}.carlo-realizacje-cms .cr-head{display:block}.carlo-realizacje-cms .cr-head p{margin-top:10px}.carlo-realizacje-cms .cr-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}
@media(max-width:575px){.carlo-realizacje-cms .cr-shell{width:min(100% - 24px,1400px)}.carlo-realizacje-cms .cr-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.carlo-realizacje-cms figure{border-radius:12px}.carlo-realizacje-cms summary{width:100%}}
body .btn-primary,
.cf-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 13px 24px;
  border: 1px solid var(--cf-blue);
  border-radius: 5px;
  background: var(--cf-blue);
  color: #fff !important;
  font: 700 17px/1.35 Arial,sans-serif;
  text-transform: none;
  box-shadow: none;
  cursor: pointer;
  text-align: center;
}

body .btn-primary:hover,
.cf-button:hover {
  background: #006a95;
  border-color: #006a95;
  text-decoration: none;
}

body input.form-control,
body select.form-control,
body .form-control-select {
  min-height: 50px;
  font-size: 18px;
  border-color: #8194a3;
  background-color: #fff;
  color: var(--cf-ink);
}

body .form-control-label {
  font-size: 18px;
  color: var(--cf-ink);
}

body .form-control-comment {
  font-size: 16px;
}

.cf-skip {
  position: absolute;
  left: 20px;
  top: -200px;
  z-index: 10000;
  padding: 15px;
  background: white;
}

.cf-skip:focus {
  top: 5px;
}

.cf-header {
  max-width: 1680px;
  padding: 24px 40px 0;
  margin: auto;
  background: white;
}

.cf-header-main {
  display: flex;
  align-items: center;
  gap: 32px;
}

.cf-logo {
  flex: 0 0 165px;
}

.cf-logo img {
  width: 150px;
  height: 80px;
  object-fit: contain;
}

.cf-search {
  display: flex;
  flex: 1;
  margin: 0;
}

.cf-search input {
  min-width: 0;
  width: 100%;
  border: 1px solid #8499a8;
  border-radius: 4px 0 0 4px;
  padding: 12px 16px;
  font-size: 18px;
  height: 52px;
  background: white;
  color: var(--cf-ink);
}

.cf-search button {
  border: 0;
  border-radius: 0 4px 4px 0;
  background: var(--cf-blue);
  color: white;
  padding: 0 18px;
  font-size: 17px;
  font-weight: bold;
}

.cf-header-phone span {
  display: block;
  font-size: 15px;
}

.cf-header-phone strong {
  font-size: 23px;
  white-space: nowrap;
}

.cf-account,
.cf-cart {
  font-weight: bold;
  padding: 13px 4px;
  white-space: nowrap;
}

.cf-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 36px;
  border-bottom: 1px solid var(--cf-line);
  padding: 8px 0 16px;
}

.cf-nav>a {
  padding: 12px 0;
  font-size: 18px;
  font-weight: bold;
}

.cf-language:empty {
  display: none;
}

.cf-section {
  margin-bottom: 64px !important;
}

.cf-section>.elementor-container {
  max-width: 1600px !important;
}

.cf-section .elementor-widget-wrap {
  padding: 0 !important;
}

.cf-section .elementor-widget-text-editor {
  color: var(--cf-ink);
  font-size: 18px;
}

.cf-section .elementor-widget-container {
  margin: 0;
}

.cf-intro-section {
  margin: 28px 0 !important;
  text-align: center;
}

.cf-intro {
  font-size: 36px !important;
  margin: 0 0 8px !important;
}

.cf-lead {
  margin: 0 !important;
}

.cf-heroes>.elementor-container {
  gap: 24px;
}

.cf-hero-card {
  position: relative;
  overflow: hidden;
  border-radius: 4px;
  margin: 0;
  height: 560px;
}

.cf-hero-card>img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cf-hero-copy {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 100px 32px 32px;
  background: linear-gradient(transparent,rgba(255,255,255,.96) 60%);
}

.cf-hero-copy h2 {
  font-size: 34px;
  margin: 0 0 12px;
}

.cf-hero-copy p {
  margin-bottom: 20px;
  font-size: 21px;
}

.cf-category-links {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 24px;
}

.cf-category-links>a {
  border: 1px solid var(--cf-line);
  border-radius: 5px;
  padding: 28px;
  font-weight: bold;
  font-size: 25px;
}

.cf-category-links span {
  display: block;
  font-size: 17px;
  font-weight: normal;
  margin-top: 12px;
}

.cf-shelf h2 {
  margin-bottom: 14px;
}

.cf-shelf p {

  margin-bottom: 30px;
}

.cf-products {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 28px;
  margin: 0 !important;
}

.cf-products>.cf-product-cell {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 !important;
  float: none;
}

#products .products {
  display: flex;
  flex-wrap: wrap;
  margin-left: -16px;
  margin-right: -16px;
}

#products .cf-product-cell {
  padding: 0 16px;
  margin-bottom: 42px;
}

.cf-product {
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: white;
  box-shadow: none !important;
}

.cf-product-photo {
  display: block;
  width: 100%;
  overflow: hidden;
  background: white;
}

.cf-product-photo img {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 600/866;
  object-fit: contain;
}

.cf-product .product-description {
  position: static !important;
  width: auto !important;
  height: auto !important;
  padding: 18px 0 0 !important;
  text-align: left !important;
  background: white;
}

.cf-product .product-title {
  margin: 0 0 12px !important;
  min-height: 52px;
  font-size: 20px !important;
  white-space: normal !important;
  text-align: left !important;
}

.cf-product .product-title a {
  font-size: 20px !important;
  line-height: 1.4;
  text-transform: none !important;
  white-space: normal;
}

.cf-product .product-price-and-shipping {
  font-size: 22px;
  text-align: left;
  margin-bottom: 15px;
}

.cf-product .regular-price {
  font-size: 17px;
  text-decoration: line-through;
  color: #576570;
  margin-right: 10px;
}

.cf-buy label {
  display: block;
  font-size: 16px;
  margin-bottom: 5px;
}

.cf-buy select {
  width: 100%;
  height: 52px;
  margin: 0 0 12px;
  border: 1px solid #8194a3;
  border-radius: 4px;
  padding: 10px;
  font-size: 16px;
  color: var(--cf-ink);
  background: white;
}

.cf-card-button {
  width: 100%;
}

.cf-text-link {
  display: inline-block;
  font-weight: bold;
  text-decoration: underline;
  margin-top: 24px;
}

.cf-story {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
}

.cf-story>img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  border-radius: 4px;
}

.cf-story h2 {
  font-size: 36px;
  margin-bottom: 24px;
}

.cf-story p {
  margin-bottom: 20px;
}

.cf-eyebrow {
  font-size: 15px !important;
  font-weight: bold;
  letter-spacing: 1px;
}

.cf-help-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  border-top: 1px solid var(--cf-line);
  padding-top: 38px;
}

.cf-help-grid h2 {
  font-size: 27px;
}

.cf-help-grid li {
  margin-bottom: 14px;
}

.cf-help-grid ol {
  padding-left: 24px;
}

.cf-phone {
  font-size: 30px;
  font-weight: bold;
}

.cf-phone-band {
  max-width: 1600px;
  margin: 30px auto 0;
  padding: 40px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--cf-line);
  border-bottom: 1px solid var(--cf-line);
  gap: 30px;
}

.cf-phone-band h2 {
  font-size: 27px;
  margin: 0 0 10px;
}

.cf-phone-band p {
  margin: 0;
}

.cf-phone-band>a {
  font-size: 36px;
  font-weight: bold;
  color: #006c98;
  white-space: nowrap;
}

.cf-footer {
  max-width: 1600px;
  margin: auto;
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 1fr;
  gap: 48px;
  padding: 44px 0 60px;
}

.cf-footer h2 {
  font-size: 20px;
  margin: 16px 0;
}

.cf-footer>div>a {
  display: block;
  font-size: 17px;
  line-height: 1.5;
  padding: 7px 0;
}

.cf-footer>div:first-child a {
  display: inline-block;
}

.cf-footer p {
  font-size: 17px;
}

.cf-footer img {
  object-fit: contain;
}

#product .product_left,
#product .product_right {
  padding: 24px;
}

.product-cover img {
  object-fit: contain;
}

.product-prices .current-price {
  font-size: 30px;
}

.product-variants>.product-variants-item {
  margin: 24px 0;
}

.product-variants .control-label {
  font-size: 19px;
}

.product-add-to-cart .add-to-cart {
  min-height: 56px;
  font-size: 19px;
}

.product-information,
.product-information p {
  font-size: 18px;
}

.cf-size-guide {
  border: 1px solid var(--cf-line);
  padding: 16px 20px;
  margin: 24px 0;
  border-radius: 4px;
}

.cf-size-guide summary {
  font-size: 18px;
  font-weight: bold;
  cursor: pointer;
  min-height: 30px;
}

.cf-size-guide p {
  margin: 16px 0;
}

.cf-size-guide a {
  text-decoration: underline;
}

.cf-size-guide table {
  width: 100%;
}

.product-description table {
  max-width: 100%;
}

#category #js-product-list-header {
  margin-bottom: 30px;
}

#search_filters {
  font-size: 18px;
}

#search_filters .facet .facet-label a {
  font-size: 17px;
  line-height: 1.7;
}

#search_filters .facet .facet-title {
  font-size: 20px;
}

.pagination a {
  min-width: 48px;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.products-sort-order .select-title {
  min-height: 50px;
  font-size: 17px;
}

#checkout .cart-grid-body,
#cart .cart-grid-body {
  font-size: 18px;
}

#checkout .checkout-step {
  border: 1px solid var(--cf-line);
  margin-bottom: 18px;
}

#checkout .step-title {
  font-size: 23px;
}

.payment-options label {
  font-size: 18px !important;
  line-height: 1.7 !important;
}

.cf-b2b {
  margin: 32px 0 64px;
}

@media (min-width:1200px) {
  #index #wrapper {
    padding-top: 0;
  }

  #index .breadcrumb {
    display: none;
  }

  #index #content-wrapper {
    padding: 0;
  }

  #index #content {
    margin: 0;
  }
}

@media (max-width:1199px) {
  body .container {
    width: calc(100% - 48px);
  }

  .cf-header {
    padding: 16px 24px 0;
  }

  .cf-header-main {
    gap: 20px;
    flex-wrap: wrap;
  }

  .cf-search {
    order: 5;
    flex-basis: 100%;
  }

  .cf-logo {
    flex: 1;
  }

  .cf-nav {
    gap: 26px;
  }

  .cf-hero-card {
    height: 480px;
  }

  .cf-hero-copy h2 {
    font-size: 28px;
  }

  .cf-products {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .cf-footer,
  .cf-phone-band {
    margin-left: 24px;
    margin-right: 24px;
  }

  .cf-footer {
    grid-template-columns: repeat(2,1fr);
  }

  .cf-story {
    gap: 30px;
  }

  .cf-story>img {
    height: 420px;
  }
}

@media (max-width:767px) {
  body {
    font-size: 17px !important;
  }

  body .container {
    width: calc(100% - 32px);
  }

  body h1 {
    font-size: 28px;
  }

  body h2 {
    font-size: 25px;
  }

  body p {
    font-size: 17px;
  }

  .cf-header {
    padding: 8px 16px 0;
  }

  .cf-header-main {
    gap: 12px;
  }

  .cf-logo img {
    width: 112px;
    height: 60px;
  }

  .cf-account {
    font-size: 16px;
  }

  .cf-cart {
    font-size: 16px;
  }

  .cf-header-phone {
    order: 4;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
  }

  .cf-header-phone strong {
    font-size: 23px;
  }

  .cf-header-phone span {
    font-size: 14px;
  }

  .cf-search input {
    font-size: 17px;
  }

  .cf-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 16px;
    text-align: center;
    padding-bottom: 8px;
  }

  .cf-nav>a {
    font-size: 16px;
    min-height: 48px;
    padding: 12px 0;
  }

  .cf-language {
    grid-column: 1/-1;
  }

  .cf-section {
    margin-bottom: 40px !important;
  }

  .cf-intro-section {
    margin: 24px 0 !important;
  }

  .cf-intro {
    font-size: 27px !important;
  }

  .cf-lead {
    font-size: 16px !important;
  }

  .cf-heroes>.elementor-container {
    gap: 20px;
  }

  .cf-heroes .elementor-column {
    width: 100% !important;
  }

  .cf-hero-card {
    height: 360px;
  }

  .cf-hero-copy {
    padding: 80px 20px 22px;
  }

  .cf-hero-copy h2 {
    font-size: 27px;
  }

  .cf-hero-copy p {
    font-size: 18px;
    margin-bottom: 16px;
  }

  .cf-hero-copy .cf-button {
    width: 100%;
    font-size: 16px;
  }

  .cf-category-links {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .cf-category-links>a {
    font-size: 22px;
    padding: 20px;
  }

  .cf-category-links span {
    font-size: 16px;
    margin-top: 5px;
  }

  .cf-products {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  #products .cf-product-cell {
    width: 100%;
    max-width: 100%;
    flex-basis: 100%;
    padding: 0 16px;
  }

  .cf-product-photo img {
    max-height: 480px;
  }

  .cf-product .product-title {
    min-height: 0;
  }

  .cf-story,
  .cf-help-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .cf-story>img {
    height: 300px;
  }

  .cf-story h2 {
    font-size: 28px;
  }

  .cf-help-grid {
    padding-top: 24px;
  }

  .cf-phone-band {
    display: block;
    margin: 24px 16px 0;
    padding: 28px 0;
  }

  .cf-phone-band h2 {
    font-size: 24px;
  }

  .cf-phone-band>a {
    display: block;
    font-size: 31px;
    margin-top: 16px;
  }

  .cf-footer {
    grid-template-columns: 1fr;
    gap: 18px;
    margin: 0 16px;
    padding-top: 28px;
  }

  .cf-footer>div {
    border-bottom: 1px solid var(--cf-line);
    padding-bottom: 20px;
  }

  .cf-footer>div>a {
    padding: 12px 0;
    font-size: 18px;
  }

  #product .product_left,
  #product .product_right {
    padding: 12px 0;
    width: 100%;
  }

  .product-add-to-cart .add-to-cart {
    width: 100%;
  }

  .cf-size-guide {
    padding: 16px;
  }

  #checkout .checkout-step {
    padding: 16px;
  }

  .cf-help-grid ol {
    padding-left: 22px;
  }
}

@media (prefers-reduced-motion:reduce) {
  *,
  *:before,
  *:after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}

.cf-mobile-choice {
  display: none;
}

.cf-b2b-page #content-wrapper {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
}

.cf-b2b-page #left-column {
  display: none;
}

#content-wrapper>.container {
  width: 100%;
}

body .elementor-text-editor p:last-child {
  margin-bottom: 0;
}

@media (max-width:767px) {
  .cf-mobile-choice {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 20px;
  }

  .cf-mobile-choice .cf-button {
    padding: 12px 8px;
    font-size: 15px;
    min-height: 54px;
  }
}

.cf-heroes>.elementor-container>.elementor-row {
  gap: 24px;
}

.cf-heroes .elementor-column {
  width: calc(50% - 12px);
}

@media (max-width:767px) {
  .cf-heroes>.elementor-container>.elementor-row {
    gap: 20px;
  }

  .cf-heroes .elementor-column {
    width: 100%;
  }
}

/* CarloFactory 1.2: FieldElementor-owned header/home/footer compatibility */

.cf-fe-header-main.cf-header,
.cf-fe-header-nav.cf-header {
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.cf-fe-header-main>.elementor-container,
.cf-fe-header-nav>.elementor-container {
  max-width: 1600px !important;
  margin: 0 auto !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
}

.cf-fe-header-main .elementor-row,
.cf-fe-header-nav .elementor-row {
  display: flex;
  align-items: center;
  width: 100%;
}

.cf-fe-header-main .elementor-column,
.cf-fe-header-nav .elementor-column {
  display: flex;
  align-items: center;
}

.cf-fe-header-main .elementor-widget-wrap,
.cf-fe-header-nav .elementor-widget-wrap {
  width: 100%;
}

.cf-fe-header-main .cf-fe-search {
  width: 100%;
}

.cf-fe-header-main .cf-fe-phone .elementor-widget-container {
  display: flex;
  justify-content: center;
}

.cf-fe-header-main .cf-fe-account .elementor-link-list,
.cf-fe-header-main .cf-fe-cart {
  justify-content: flex-end;
}

.cf-fe-header-nav {
  border-bottom: 1px solid var(--cf-line);
  padding-top: 0 !important;
  padding-bottom: 12px !important;
}

.cf-fe-header-nav .fieldmegamenu>ul,
.cf-fe-header-nav .menu-content {
  justify-content: center;
}

.cf-fe-language {
  text-align: right;
}

.cf-hero-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 24px;
}

.cf-fe-featured .products,
.cf-fe-medical .products {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 28px;
  margin: 0 !important;
}

.cf-fe-featured .products>.product-miniature,
.cf-fe-medical .products>.product-miniature {
  width: auto !important;
  max-width: none !important;
}

.cf-fe-footer>.elementor-container {
  max-width: 1600px !important;
  margin: 0 auto !important;
}

@media (max-width:991px) {
  .cf-fe-header-main>.elementor-container,
  .cf-fe-header-nav>.elementor-container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .cf-fe-header-main .elementor-row {
    flex-wrap: wrap;
    gap: 8px;
  }

  .cf-fe-header-main .elementor-column {
    width: 50% !important;
    flex: 0 0 50% !important;
  }

  .cf-fe-header-main .cf-fe-search {
    order: 5;
    width: 100%;
  }

  .cf-fe-header-nav .elementor-row {
    justify-content: space-between;
  }

  .cf-hero-grid {
    grid-template-columns: 1fr;
  }

  .cf-fe-featured .products,
  .cf-fe-medical .products {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media (max-width:575px) {
  .cf-fe-header-main .elementor-column {
    width: 100% !important;
    flex: 0 0 100% !important;
  }

  .cf-fe-header-main .cf-fe-phone {
    display: none;
  }

  .cf-fe-featured .products,
  .cf-fe-medical .products {
    grid-template-columns: 1fr;
  }
}

/* CarloFactory 1.3 – faithful project layout. FieldElementor owns header/home/footer. */

:root {
  --cf-blue: #006eb7;
  --cf-navy: #08275b;
  --cf-line: #d8e3ec;
}

html body {
  font-size: 14px !important;
  color: var(--cf-navy) !important;
}

html body p {
  font-size: 14px !important;
  line-height: 1.45 !important;
}

html body .container,
html body .elementor-section.elementor-section-boxed>.elementor-container {
  width: calc(100% - 34px) !important;
  max-width: 1046px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

html body #wrapper {
  padding-top: 10px !important;
}

/* Header */

.cf-fe-header-main>.elementor-container,
.cf-fe-header-nav>.elementor-container {
  width: calc(100% - 34px) !important;
  max-width: 1046px !important;
  padding: 0 !important;
}

.cf-fe-header-main {
  padding: 12px 0 0 !important;
}

.cf-fe-header-main .elementor-row {
  min-height: 58px !important;
  gap: 15px;
}

.cf-fe-header-nav {
  padding: 0 0 10px !important;
  border: 0 !important;
}

.cf-fe-header-nav .elementor-row {
  justify-content: center !important;
}

.cf-fe-header-main .cf-logo img {
  width: 106px !important;
  height: auto !important;
  max-height: 54px !important;
  object-fit: contain;
}

.cf-fe-header-main .cf-fe-search input {
  height: 36px !important;
  border: 1px solid #bdd4e5 !important;
  border-radius: 20px 0 0 20px !important;
  font-size: 12px !important;
}

.cf-fe-header-main .cf-fe-search button {
  height: 36px !important;
  border-radius: 0 20px 20px 0 !important;
}

.cf-header-phone {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.cf-header-phone span {
  font-size: 10px !important;
  line-height: 1.1 !important;
}

.cf-header-phone strong,
.cf-header-phone strong a {
  font-size: 15px !important;
  color: #006eb7 !important;
  white-space: nowrap;
}

.cf-fe-account a,
.cf-fe-cart a,
.cf-fe-menu a {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #08275b !important;
}

.cf-fe-header-nav .fieldmegamenu>ul,
.cf-fe-header-nav .menu-content {
  gap: 34px !important;
}

.cf-fe-language {
  display: none !important;
}

/* Home */

body#index #wrapper {
  padding-top: 0 !important;
}

.cf-section {
  margin-bottom: 12px !important;
}

.cf-project-home {
  margin-top: 0 !important;
}

.cf-project-hero {
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
}

.cf-project-hero .cf-hero-card {
  height: 252px !important;
  border-radius: 3px !important;
  overflow: hidden !important;
}

.cf-project-hero .cf-hero-card img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.cf-project-hero .cf-hero-copy {
  padding: 142px 15px 14px !important;
  background: linear-gradient(0deg,rgba(255,255,255,.88) 0,rgba(255,255,255,.72) 44%,rgba(255,255,255,0) 72%) !important;
}

.cf-project-hero .cf-hero-copy h2 {
  font-size: 25px !important;
  line-height: 1.08 !important;
  margin: 0 0 2px !important;
  color: #08275b !important;
}

.cf-project-hero .cf-hero-copy p {
  font-size: 14px !important;
  margin: 0 0 8px !important;
}

.cf-project-hero .btn {
  font-size: 12px !important;
  min-height: 34px !important;
  padding: 8px 16px !important;
  text-transform: uppercase !important;
}

.cf-project-categories {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
}

.cf-project-categories a {
  height: 116px;
  position: relative;
  overflow: hidden;
  border-radius: 3px;
}

.cf-project-categories img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cf-project-categories strong {
  position: absolute;
  left: 16px;
  bottom: 12px;
  background: #fff;
  padding: 9px 14px;
  border-radius: 3px;
  font-size: 15px;
  color: #08275b;
}

.cf-project-categories b {
  position: absolute;
  left: calc(16px + 110px);
  bottom: 20px;
  color: #08275b;
  font-size: 18px;
}

.cf-project-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin: 4px 0 7px;
}

.cf-project-heading h2 {
  font-size: 24px !important;
  line-height: 1.1 !important;
  margin: 0 !important;
}

.cf-project-heading a {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #006eb7 !important;
}

.cf-medical-heading {
  display: block;
}

.cf-medical-heading p {
  margin: 5px 0 0 !important;
  font-size: 13px !important;
}

.cf-project-products .products {
  display: grid !important;
  grid-template-columns: repeat(4,1fr) !important;
  gap: 7px !important;
  margin: 0 !important;
}

.cf-project-products .products>.product-miniature,
.cf-project-products .products>.cf-product-cell {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.cf-project-products .cf-product {
  border: 1px solid var(--cf-line) !important;
  border-radius: 3px !important;
  padding: 10px !important;
  height: 100% !important;
}

.cf-project-products .cf-product-photo img {
  aspect-ratio: 1/1 !important;
  max-height: 194px !important;
  object-fit: contain !important;
}

.cf-project-products .product-description {
  padding: 6px 0 0 !important;
}

.cf-project-products .product-title,
.cf-project-products .product-title a {
  font-size: 12px !important;
  line-height: 1.2 !important;
  min-height: 29px !important;
  margin: 0 0 3px !important;
}

.cf-project-products .price {
  font-size: 15px !important;
  color: #08275b !important;
}

.cf-project-products .cf-buy select {
  min-height: 27px !important;
  height: 27px !important;
  font-size: 11px !important;
  padding: 3px 7px !important;
}

.cf-project-products .cf-buy button,
.cf-project-products .cf-card-button {
  min-height: 32px !important;
  font-size: 11px !important;
  margin-top: 5px !important;
  width: 100% !important;
  text-transform: uppercase !important;
}

.cf-project-center {
  text-align: center !important;
  margin: 11px 0 0 !important;
}

.cf-project-cta {
  font-size: 11px !important;
  min-height: 34px !important;
  padding: 9px 32px !important;
}

.cf-project-maker {
  display: grid;
  grid-template-columns: 1.15fr .85fr .9fr;
  gap: 22px;
  border-top: 1px solid var(--cf-line);
  padding-top: 10px;
  align-items: center;
}

.cf-project-maker .cf-maker-photo img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  border-radius: 3px;
}

.cf-project-maker h2 {
  font-size: 21px !important;
  line-height: 1.1 !important;
  margin: 0 0 8px !important;
}

.cf-project-maker p {
  font-size: 13px !important;
  margin: 0 0 8px !important;
}

.cf-project-maker>div:last-child {
  border-left: 1px solid var(--cf-line);
  padding-left: 20px;
}

.cf-project-maker .btn {
  font-size: 11px !important;
  min-height: 34px !important;
  padding: 8px 16px !important;
}

/* Footer */

.cf-project-phone {
  max-width: 1046px !important;
  margin: 4px auto 0 !important;
  padding: 10px 0 !important;
  border-top: 1px solid var(--cf-line) !important;
  border-bottom: 1px solid var(--cf-line) !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
}

.cf-project-phone strong {
  font-size: 13px !important;
}

.cf-project-phone a {
  font-size: 18px !important;
  color: #006eb7 !important;
  font-weight: 700 !important;
}

.cf-project-footer {
  max-width: 1046px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1.1fr 1.25fr .9fr .9fr .9fr !important;
  gap: 20px !important;
  padding: 15px 0 22px !important;
}

.cf-project-footer .cf-footer-brand img {
  width: 105px !important;
  height: auto !important;
}

.cf-project-footer .cf-footer-brand span {
  display: block;
  font-size: 10px;
  margin-top: 5px;
}

.cf-project-footer .cf-footer-contact {
  padding-top: 13px;
}

.cf-project-footer h2 {
  font-size: 12px !important;
  margin: 0 0 5px !important;
}

.cf-project-footer a {
  display: block;
  font-size: 10px !important;
  line-height: 1.5 !important;
  color: #08275b !important;
}

/* Category project */

body#category #wrapper {
  padding-top: 6px !important;
}

body#category #main h1 {
  font-size: 31px !important;
  line-height: 1.1 !important;
  margin: 3px 0 4px !important;
}

.cf-category-intro {
  font-size: 13px !important;
  margin-bottom: 6px !important;
}

.cf-subcategory-tabs {
  display: flex;
  gap: 28px;
  border-bottom: 1px solid var(--cf-line);
  margin: 0 0 12px !important;
  padding: 0 !important;
}

.cf-subcategory-tabs a {
  display: block;
  padding: 7px 4px;
  font-size: 12px !important;
  font-weight: 700;
  color: #08275b !important;
}

.cf-subcategory-tabs li:first-child a {
  border-bottom: 2px solid #007dc3;
  color: #007dc3 !important;
}

body#category #left-column {
  padding-right: 18px !important;
  width: 25% !important;
  flex: 0 0 25% !important;
}

body#category #content-wrapper {
  width: 75% !important;
  flex: 0 0 75% !important;
  max-width: 75% !important;
}

body#category .block-categories {
  display: none !important;
}

body#category #search_filters {
  border: 0 !important;
  padding: 0 !important;
}

body#category #search_filters .facet {
  border-bottom: 1px solid var(--cf-line) !important;
  padding: 9px 0 !important;
}

body#category #search_filters .facet-title {
  font-size: 13px !important;
  margin-bottom: 7px !important;
}

body#category #search_filters label,
body#category #search_filters a {
  font-size: 11px !important;
}

body#category .products-selection {
  display: none !important;
}

body#category #products .products {
  display: grid !important;
  grid-template-columns: repeat(3,1fr) !important;
  gap: 7px !important;
  margin: 0 !important;
}

body#category #products .cf-product-cell {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

body#category .cf-product {
  padding: 10px !important;
  border: 1px solid var(--cf-line) !important;
  border-radius: 3px !important;
}

body#category .cf-product-photo img {
  aspect-ratio: 1/1 !important;
  max-height: 220px !important;
}

body#category .cf-product .product-title,
body#category .cf-product .product-title a {
  font-size: 12px !important;
  min-height: 28px !important;
  margin-bottom: 3px !important;
}

body#category .cf-product .price {
  font-size: 15px !important;
}

body#category .cf-buy select {
  min-height: 27px !important;
  height: 27px !important;
  font-size: 11px !important;
}

body#category .cf-buy button,
body#category .cf-card-button {
  min-height: 32px !important;
  font-size: 11px !important;
  width: 100% !important;
  text-transform: uppercase !important;
}

.pagination {
  margin: 14px 0 25px !important;
}

.pagination a {
  font-size: 12px !important;
}

/* Product project */

body#product #wrapper {
  padding-top: 6px !important;
}

body#product .breadcrumb {
  font-size: 10px !important;
  margin-bottom: 5px !important;
  padding: 4px 0 !important;
}

body#product #main>.row {
  
}

body#product .product_left {
  width: 57% !important;
  flex: 0 0 57% !important;
  max-width: 57% !important;
  padding: 0 12px !important;
}

body#product .product_right {
  width: 43% !important;
  flex: 0 0 43% !important;
  max-width: 43% !important;
  padding: 0 12px !important;
}

body#product h1 {
  font-size: 29px !important;
  line-height: 1.1 !important;
  margin: 4px 0 3px !important;
}

body#product .product-prices {
  margin: 0 0 3px !important;
}

body#product .product-prices .current-price,
body#product .product-prices .current-price span {
  font-size: 27px !important;
  color: #111 !important;
}

body#product .product-des {
  font-size: 13px !important;
  line-height: 1.35 !important;
  margin-bottom: 12px !important;
}

.cf-gallery {
  gap: 12px !important;
}

.cf-thumbs {
  flex: 0 0 82px !important;
  width: 82px !important;
}

.cf-thumb-button img {
  width: 68px !important;
  height: 95px !important;
}

.cf-cover>img {
  max-height: 500px !important;
}

.cf-enlarge {
  display: none !important;
}

body#product .product-variants-item {
  margin: 0 0 12px !important;
}

body#product .product-variants .control-label {
  font-size: 13px !important;
  margin-bottom: 5px !important;
}

body#product .product-variants ul {
  gap: 7px !important;
}

.product-variants .radio-label {
  min-height: 36px !important;
  min-width: 94px !important;
  font-size: 12px !important;
  padding: 7px 12px !important;
}

.product-variants .color {
  width: 58px !important;
  height: 58px !important;
}

.cf-color-name {
  font-size: 10px !important;
}

.product-add-to-cart .qty {
  margin: 0 0 8px !important;
}

.product-add-to-cart .bootstrap-touchspin {
  min-height: 38px !important;
}

.product-add-to-cart .add-to-cart {
  min-height: 45px !important;
  font-size: 16px !important;
  text-transform: uppercase !important;
}

#field_site_guichart {
  font-size: 11px !important;
}

body#product .tabs {
  margin-top: 8px !important;
}

body#product .nav-tabs .nav-link {
  font-size: 12px !important;
  padding: 8px 12px !important;
}

body#product .tab-content {
  padding: 12px !important;
}

body#product .product-description,
body#product .product-description p {
  font-size: 12px !important;
  line-height: 1.45 !important;
}

@media (max-width:767px) {
  html body .container,
  html body .elementor-section.elementor-section-boxed>.elementor-container,
  .cf-fe-header-main>.elementor-container,
  .cf-fe-header-nav>.elementor-container {
    width: calc(100% - 24px) !important;
  }

  .cf-fe-header-main .elementor-row {
    flex-wrap: wrap !important;
  }

  .cf-fe-header-main .elementor-column {
    width: auto !important;
    flex: auto !important;
  }

  .cf-fe-header-main .cf-fe-search {
    order: 5 !important;
    width: 100% !important;
  }

  .cf-fe-header-nav .fieldmegamenu>ul,
  .cf-fe-header-nav .menu-content {
    gap: 10px !important;
  }

  .cf-project-hero {
    grid-template-columns: 1fr !important;
  }

  .cf-project-hero .cf-hero-card {
    height: 250px !important;
  }

  .cf-project-categories {
    grid-template-columns: 1fr !important;
  }

  .cf-project-products .products {
    grid-template-columns: repeat(2,1fr) !important;
  }

  .cf-project-maker {
    grid-template-columns: 1fr !important;
  }

  .cf-project-maker>div:last-child {
    border: 0;
    padding-left: 0;
  }

  .cf-project-footer {
    grid-template-columns: 1fr 1fr !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .cf-project-phone {
    margin-left: 12px !important;
    margin-right: 12px !important;
    flex-wrap: wrap !important;
  }

  body#category #left-column {
    width: 100% !important;
    flex: 0 0 100% !important;
    padding: 0 !important;
  }

  body#category #content-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  body#category #products .products {
    grid-template-columns: repeat(2,1fr) !important;
  }

  body#product .product_left,
  body#product .product_right {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  .cf-gallery {
    flex-direction: column-reverse !important;
  }

  .cf-thumbs {
    width: 100% !important;
    flex-direction: row !important;
    overflow: auto !important;
  }
}

/* ================================================================
   CarloFactory 1.4 – project 1:1 runtime overrides
   IMPORTANT: kept in carlofactory.css because this file is already
   registered by the active theme, so no theme reinstall is required.
   ================================================================ */

:root {
  --cf14-blue: #078bd0;
  --cf14-blue-dark: #006da8;
  --cf14-navy: #071f57;
  --cf14-border: #d9e6ef;
  --cf14-text: #0b2457;
}

html body {
  font-family: Arial,Helvetica,sans-serif !important;
  color: var(--cf14-text) !important;
  background: #fff !important;
}

html body #header,
html body #wrapper,
html body #footer {
  background: #fff !important;
  box-shadow: none !important;
}

html body .container,
html body .elementor-section.elementor-section-boxed>.elementor-container {
  width: calc(100% - 32px) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

html body #wrapper {
  padding-top: 6px !important;
}

/* HEADER – FieldElementor */

.cf-fe-header-main>.elementor-container,
.cf-fe-header-nav>.elementor-container {
  width: calc(100% - 32px) !important;
  max-width: 1180px !important;
  margin: auto !important;
  padding: 0 !important;
}

.cf-fe-header-main {
  padding: 13px 0 0 !important;
}

.cf-fe-header-main .elementor-row {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  min-height: 64px !important;
  flex-wrap: nowrap !important;
}

.cf-fe-header-main .elementor-column {
  display: flex !important;
  align-items: center !important;
}

.cf-fe-header-main .elementor-widget-wrap {
  width: 100% !important;
  padding: 0 !important;
}

.cf-fe-header-main .cf-logo img {
  width: 124px !important;
  max-width: 124px !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
}

.cf-fe-header-main .cf-fe-search {
  width: 100% !important;
}

.cf-fe-header-main .cf-fe-search form,
.cf-fe-header-main .cf-fe-search .search-widget {
  width: 100% !important;
  margin: 0 !important;
}

.cf-fe-header-main .cf-fe-search input {
  height: 40px !important;
  border: 1px solid #b8d1e5 !important;
  border-radius: 22px 0 0 22px !important;
  padding-left: 20px !important;
  font-size: 13px !important;
  color: #334 !important;
}

.cf-fe-header-main .cf-fe-search button {
  height: 40px !important;
  min-width: 48px !important;
  border-radius: 0 22px 22px 0 !important;
  background: #fff !important;
  border: 1px solid #b8d1e5 !important;
  border-left: 0 !important;
  color: var(--cf14-blue) !important;
}

.cf-header-phone {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
}

.cf-header-phone:before {
  content: "\260E";
  font-size: 23px;
  color: var(--cf14-blue);
}

.cf-header-phone span {
  display: block !important;
  font-size: 10px !important;
  line-height: 1.05 !important;
  color: #456 !important;
}

.cf-header-phone strong,
.cf-header-phone strong a {
  display: block !important;
  font-size: 16px !important;
  line-height: 1.05 !important;
  color: #006bb2 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.cf-fe-account a,
.cf-fe-cart a {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--cf14-navy) !important;
  white-space: nowrap !important;
}

.cf-fe-account .fa {
  font-size: 21px !important;
  color: #057fc6 !important;
  margin-right: 7px !important;
}

.cf-fe-cart .blockcart,
.cf-fe-cart .cart-preview {
  background: transparent !important;
  padding: 0 !important;
}

.cf-fe-mobile-menu {
  display: none !important;
}

.cf-fe-header-nav {
  padding: 0 0 9px !important;
  border: 0 !important;
}

.cf-fe-header-nav .elementor-row {
  display: flex !important;
  justify-content: center !important;
}

.cf-fe-header-nav #_desktop_fieldmegamenu>ul {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cf-fe-header-nav #_desktop_fieldmegamenu>ul>li {
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cf-fe-header-nav #_desktop_fieldmegamenu .root-item {
  float: none !important;
  padding: 0 !important;
}

.cf-fe-header-nav #_desktop_fieldmegamenu .root-item .title-text {
  font: 700 13px/1.2 Arial,sans-serif !important;
  text-transform: none !important;
  color: var(--cf14-navy) !important;
}

.cf-fe-header-nav #_desktop_fieldmegamenu .root-item a {
  padding: 6px 2px !important;
}

/* HOME DESKTOP */

body#index .breadcrumb {
  display: none !important;
}

body#index #wrapper>.container {
  max-width: 1180px !important;
}

.cf-mobile-only {
  display: none !important;
}

.cf-desktop-home {
  display: block !important;
}

.cf-desktop-home .elementor-widget-text-editor,
.cf-desktop-home .elementor-widget-container {
  margin: 0 !important;
}

.cf-section {
  margin: 0 0 12px !important;
}

.cf-project-hero {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
}

.cf-project-hero .cf-hero-card {
  height: 278px !important;
  position: relative !important;
  overflow: hidden !important;
  border-radius: 3px !important;
  background: #eef5f8 !important;
}

.cf-project-hero .cf-hero-card img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.cf-project-hero .cf-hero-copy {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  padding: 118px 17px 15px !important;
  background: linear-gradient(0deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.82) 42%,rgba(255,255,255,0) 78%) !important;
}

.cf-project-hero .cf-hero-copy h2 {
  font: 700 27px/1.05 Arial,sans-serif !important;
  color: var(--cf14-navy) !important;
  margin: 0 0 3px !important;
}

.cf-project-hero .cf-hero-copy p {
  font: 14px/1.35 Arial,sans-serif !important;
  margin: 0 0 9px !important;
  color: var(--cf14-navy) !important;
}

html body .cf-project-hero .btn,
html body .cf-project-maker .btn,
html body .cf-project-cta {
  min-height: 36px !important;
  padding: 8px 18px !important;
  border-radius: 3px !important;
  background: linear-gradient(#0b97dc,#047bb9) !important;
  border: 0 !important;
  color: #fff !important;
  font: 700 12px/1.4 Arial,sans-serif !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

.cf-project-categories {
  display: grid !important;
  grid-template-columns: repeat(3,1fr) !important;
  gap: 8px !important;
}

.cf-project-categories>a {
  height: 126px !important;
  position: relative !important;
  overflow: hidden !important;
  border-radius: 3px !important;
  background: #eee !important;
  display: block !important;
}

.cf-project-categories>a>img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.cf-project-categories>a>span {
  position: absolute !important;
  left: 12px !important;
  bottom: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #fff !important;
  border-radius: 4px !important;
  padding: 10px 12px !important;
  box-shadow: 0 1px 5px rgba(0,0,0,.08) !important;
}

.cf-project-categories strong {
  position: static !important;
  background: none !important;
  padding: 0 !important;
  font: 700 15px/1.1 Arial,sans-serif !important;
  color: var(--cf14-navy) !important;
}

.cf-project-categories b {
  position: static !important;
  font-size: 20px !important;
  line-height: 1 !important;
  color: var(--cf14-navy) !important;
}

.cf-project-heading {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  margin: 10px 0 8px !important;
}

.cf-project-heading h2 {
  font: 700 25px/1.08 Arial,sans-serif !important;
  color: var(--cf14-navy) !important;
  margin: 0 !important;
}

.cf-project-heading a {
  font: 700 14px/1.6 Arial,sans-serif !important;
  color: #087ec1 !important;
  text-decoration: none !important;
}

.cf-medical-heading {
  display: block !important;
  margin-top: 14px !important;
}

.cf-medical-heading p {
  margin: 4px 0 0 !important;
  font: 13px/1.35 Arial,sans-serif !important;
  color: var(--cf14-navy) !important;
}

.cf-project-products .products,
.cf-project-products .row.products {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 7px !important;
  margin: 0 !important;
}

.cf-project-products .product-miniature,
.cf-project-products .cf-product-cell,
.cf-project-products .item {
  width: auto !important;
  max-width: none !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cf-project-products .cf-product {
  border: 1px solid var(--cf14-border) !important;
  border-radius: 4px !important;
  padding: 11px !important;
  height: 100% !important;
  background: #fff !important;
  box-shadow: none !important;
}

.cf-project-products .cf-product-photo {
  display: block !important;
  position: relative !important;
  overflow: hidden !important;
  background: #fff !important;
}

.cf-project-products .cf-product-photo img {
  display: block !important;
  width: 100% !important;
  height: 185px !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  margin: auto !important;
}

.cf-project-products .product-description {
  position: static !important;
  text-align: left !important;
  background: #fff !important;
  padding: 7px 0 0 !important;
  height: auto !important;
}

.cf-project-products .product-title,
.cf-project-products .product-title a {
  display: block !important;
  font: 700 12px/1.2 Arial,sans-serif !important;
  color: var(--cf14-navy) !important;
  text-align: left !important;
  min-height: 29px !important;
  margin: 0 0 3px !important;
  text-transform: none !important;
}

.cf-project-products .product-price-and-shipping {
  font-size: 0 !important;
  text-align: left !important;
  margin: 0 0 5px !important;
}

.cf-project-products .price {
  font: 700 15px/1.2 Arial,sans-serif !important;
  color: var(--cf14-navy) !important;
}

.cf-project-products .cf-buy {
  display: block !important;
}

.cf-project-products .cf-buy label {
  font-size: 10px !important;
  margin: 0 0 2px !important;
  display: block !important;
}

.cf-project-products .cf-buy select {
  display: block !important;
  width: 100% !important;
  min-height: 28px !important;
  height: 28px !important;
  border: 1px solid #afc7da !important;
  border-radius: 3px !important;
  background: #fff !important;
  font-size: 11px !important;
  color: var(--cf14-navy) !important;
  padding: 2px 7px !important;
}

.cf-project-products .cf-buy button,
.cf-project-products .cf-card-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 32px !important;
  margin-top: 5px !important;
  background: linear-gradient(#0b97dc,#047bb9) !important;
  border: 0 !important;
  border-radius: 3px !important;
  color: #fff !important;
  font: 700 11px/1.2 Arial,sans-serif !important;
  text-transform: uppercase !important;
}

.cf-project-center {
  margin: 12px 0 15px !important;
  text-align: center !important;
}

.cf-project-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 300px !important;
}

.cf-project-maker {
  display: grid !important;
  grid-template-columns: 1.15fr .93fr .92fr !important;
  gap: 22px !important;
  align-items: center !important;
  border-top: 1px solid var(--cf14-border) !important;
  padding-top: 12px !important;
}

.cf-project-maker .cf-maker-photo img {
  width: 100% !important;
  height: 176px !important;
  object-fit: cover !important;
  border-radius: 4px !important;
}

.cf-project-maker h2 {
  font: 700 22px/1.08 Arial,sans-serif !important;
  color: var(--cf14-navy) !important;
  margin: 0 0 8px !important;
}

.cf-project-maker p {
  font: 13px/1.38 Arial,sans-serif !important;
  margin: 0 0 9px !important;
  color: var(--cf14-navy) !important;
}

.cf-project-maker>div:last-child {
  border-left: 1px solid var(--cf14-border) !important;
  padding-left: 20px !important;
}

/* CATEGORY */

body#category .breadcrumb {
  max-width: 1180px !important;
  margin: 0 auto 5px !important;
  padding: 5px 0 !important;
  font-size: 11px !important;
}

body#category .container>.row {
  display: flex !important;
  align-items: flex-start !important;
  flex-wrap: nowrap !important;
}

body#category #left-column {
  width: 25% !important;
  flex: 0 0 25% !important;
  max-width: 25% !important;
  padding: 0 18px 0 0 !important;
}

body#category #content-wrapper {
  width: 75% !important;
  flex: 0 0 75% !important;
  max-width: 75% !important;
  padding: 0 !important;
}

body#category .block-categories {
  display: none !important;
}

.cf-category-header h1,
body#category #main h1 {
  font: 700 31px/1.08 Arial,sans-serif !important;
  color: #050505 !important;
  margin: 0 0 5px !important;
  text-transform: none !important;
}

.cf-category-intro {
  font: 13px/1.4 Arial,sans-serif !important;
  color: var(--cf14-navy) !important;
  margin: 0 0 5px !important;
}

.cf-category-intro p {
  margin: 0 !important;
  font-size: 13px !important;
}

.cf-subcategory-tabs {
  display: flex !important;
  gap: 30px !important;
  list-style: none !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  border-bottom: 1px solid var(--cf14-border) !important;
}

.cf-subcategory-tabs li {
  margin: 0 !important;
  padding: 0 !important;
}

.cf-subcategory-tabs a {
  display: block !important;
  padding: 7px 4px !important;
  color: var(--cf14-navy) !important;
  font: 700 12px/1.25 Arial,sans-serif !important;
  text-decoration: none !important;
  border-bottom: 2px solid transparent !important;
}

.cf-subcategory-tabs li:first-child a {
  color: #078bd0 !important;
  border-bottom-color: #078bd0 !important;
}

body#category #search_filters {
  border: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

body#category #search_filters .facet {
  padding: 10px 0 !important;
  border-bottom: 1px solid var(--cf14-border) !important;
}

body#category #search_filters .facet-title,
body#category #search_filters .text-uppercase {
  font: 700 13px/1.3 Arial,sans-serif !important;
  color: var(--cf14-navy) !important;
  margin: 0 0 7px !important;
  text-transform: none !important;
}

body#category #search_filters label,
body#category #search_filters a {
  font: 11px/1.35 Arial,sans-serif !important;
  color: var(--cf14-navy) !important;
}

body#category #search_filters .facet-label {
  margin-bottom: 5px !important;
}

body#category .products-selection {
  margin: 0 0 8px !important;
  padding: 0 !important;
  border: 0 !important;
  min-height: 34px !important;
}

body#category .products-selection .display,
body#category .products-selection .total-products {
  display: none !important;
}

body#category .products-sort-order {
  margin-left: auto !important;
}

body#category .products-sort-order .select-title {
  height: 34px !important;
  min-height: 34px !important;
  border: 1px solid var(--cf14-border) !important;
  font-size: 11px !important;
  padding: 2px 10px !important;
}

body#category #products .products,
body#category #box-product-list .products {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 7px !important;
  margin: 0 !important;
}

body#category #products .cf-product-cell,
body#category #products .item {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#category #products .cf-product {
  height: 100% !important;
  border: 1px solid var(--cf14-border) !important;
  border-radius: 4px !important;
  padding: 10px !important;
  background: #fff !important;
  box-shadow: none !important;
}

body#category #products .cf-product-photo img {
  display: block !important;
  width: 100% !important;
  height: 220px !important;
  max-height: 220px !important;
  object-fit: contain !important;
  aspect-ratio: auto !important;
}

body#category #products .product-description {
  position: static !important;
  background: #fff !important;
  text-align: left !important;
  padding: 6px 0 0 !important;
  height: auto !important;
}

body#category #products .product-title,
body#category #products .product-title a {
  font: 700 12px/1.2 Arial,sans-serif !important;
  color: var(--cf14-navy) !important;
  min-height: 29px !important;
  margin: 0 0 3px !important;
  text-transform: none !important;
  text-align: left !important;
}

body#category #products .price {
  font: 700 15px/1.2 Arial,sans-serif !important;
  color: var(--cf14-navy) !important;
}

body#category #products .cf-buy select {
  display: block !important;
  width: 100% !important;
  height: 28px !important;
  min-height: 28px !important;
  font-size: 11px !important;
  border: 1px solid #afc7da !important;
  border-radius: 3px !important;
}

body#category #products .cf-buy button,
body#category #products .cf-card-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 32px !important;
  margin-top: 5px !important;
  background: linear-gradient(#0b97dc,#047bb9) !important;
  border: 0 !important;
  border-radius: 3px !important;
  color: #fff !important;
  font: 700 11px/1.2 Arial,sans-serif !important;
  text-transform: uppercase !important;
}

body#category .pagination {
  margin: 15px 0 25px !important;
}

body#category .pagination .page-list {
  display: flex !important;
  justify-content: center !important;
  gap: 5px !important;
}

body#category .pagination a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 31px !important;
  height: 31px !important;
  border: 1px solid var(--cf14-border) !important;
  border-radius: 3px !important;
  font-size: 12px !important;
  color: var(--cf14-navy) !important;
}

body#category .pagination .current a {
  background: #078bd0 !important;
  color: #fff !important;
  border-color: #078bd0 !important;
}

.cf-category-guide {
  display: grid !important;
  grid-template-columns: 1.2fr .9fr .9fr !important;
  gap: 26px !important;
  border-top: 1px solid var(--cf14-border) !important;
  margin: 8px 0 15px !important;
  padding: 18px 0 0 !important;
}

.cf-category-guide h2 {
  font: 700 22px/1.1 Arial,sans-serif !important;
  margin: 0 0 7px !important;
  color: #050505 !important;
}

.cf-category-guide h3 {
  font: 700 14px/1.2 Arial,sans-serif !important;
  margin: 0 0 4px !important;
}

.cf-category-guide p {
  font: 12px/1.4 Arial,sans-serif !important;
  margin: 0 !important;
}

.cf-category-tip,
.cf-category-contact {
  display: flex !important;
  gap: 10px !important;
  border-left: 1px solid var(--cf14-border) !important;
  padding-left: 20px !important;
}

.cf-guide-icon {
  font-size: 28px !important;
  color: #078bd0 !important;
  line-height: 1 !important;
}

.cf-category-contact a {
  display: block !important;
  font: 700 23px/1.1 Arial,sans-serif !important;
  color: #078bd0 !important;
  margin-top: 4px !important;
}

/* PRODUCT */

body#product .breadcrumb {
  max-width: 1180px !important;
  margin: 0 auto 5px !important;
  padding: 5px 0 !important;
  font-size: 11px !important;
}

body#product #content-wrapper {
  width: 100% !important;
  max-width: none !important;
}

.cf-product-main {
  display: flex !important;
  flex-wrap: nowrap !important;
  margin: 0 -14px 8px !important;
  align-items: flex-start !important;
}

.cf-product-page .product_left {
  width: 57% !important;
  flex: 0 0 57% !important;
  max-width: 57% !important;
  padding: 0 14px !important;
}

.cf-product-page .product_right {
  width: 43% !important;
  flex: 0 0 43% !important;
  max-width: 43% !important;
  padding: 0 14px !important;
}

.cf-mobile-product-title {
  display: none !important;
}

.cf-product-page h1 {
  font: 700 30px/1.08 Arial,sans-serif !important;
  color: #050505 !important;
  margin: 0 0 7px !important;
  text-transform: none !important;
}

.cf-product-page .product-prices {
  margin: 0 0 8px !important;
}

.cf-product-page .product-prices .current-price,
.cf-product-page .product-prices .current-price span {
  font: 700 30px/1.05 Arial,sans-serif !important;
  color: #050505 !important;
}

.cf-product-page .product-des,
.cf-product-page .product-des p {
  font: 13px/1.45 Arial,sans-serif !important;
  color: #273b58 !important;
  margin: 0 0 13px !important;
}

.cf-product-page .cf-gallery {
  display: flex !important;
  gap: 12px !important;
  align-items: flex-start !important;
}

.cf-product-page .cf-thumbs {
  display: flex !important;
  flex-direction: column !important;
  gap: 9px !important;
  flex: 0 0 88px !important;
  width: 88px !important;
  float: none !important;
}

.cf-product-page .cf-thumb-button {
  display: block !important;
  background: #fff !important;
  border: 1px solid var(--cf14-border) !important;
  border-radius: 3px !important;
  padding: 4px !important;
}

.cf-product-page .cf-thumb-button img {
  width: 76px !important;
  height: 94px !important;
  object-fit: contain !important;
}

.cf-product-page .cf-thumb-button .selected {
  outline: 2px solid #078bd0 !important;
  outline-offset: 2px !important;
}

.cf-product-page .cf-cover {
  flex: 1 !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.cf-product-page .cf-cover>img,
.cf-product-page .product-cover img {
  display: block !important;
  width: 100% !important;
  height: 520px !important;
  max-height: 520px !important;
  object-fit: contain !important;
  background: #fff !important;
}

.cf-product-page .cf-enlarge {
  display: none !important;
}

.cf-product-page .product-variants-item {
  margin: 0 0 12px !important;
}

.cf-product-page .product-variants .control-label {
  display: block !important;
  float: none !important;
  font: 700 13px/1.2 Arial,sans-serif !important;
  margin: 0 0 6px !important;
  color: #050505 !important;
}

.cf-product-page .product-variants ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cf-product-page .product-variants li {
  float: none !important;
  margin: 0 !important;
}

.cf-product-page .radio-label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 96px !important;
  min-height: 39px !important;
  padding: 7px 12px !important;
  border: 1px solid #afc7da !important;
  border-radius: 3px !important;
  background: #fff !important;
  font: 700 12px/1.2 Arial,sans-serif !important;
  color: var(--cf14-navy) !important;
}

.cf-product-page input:checked+.radio-label {
  border: 2px solid #078bd0 !important;
  background: #f4fbff !important;
}

.cf-product-page .color {
  width: 64px !important;
  height: 64px !important;
  border: 1px solid var(--cf14-border) !important;
  border-radius: 3px !important;
}

.cf-product-page input:checked+.color {
  outline: 2px solid #078bd0 !important;
  outline-offset: 2px !important;
}

.cf-product-page .cf-color-name {
  font-size: 10px !important;
  margin-top: 4px !important;
}

.cf-product-page .cf-size-guide {
  margin: 4px 0 10px !important;
  font-size: 11px !important;
}

.cf-product-page .product-add-to-cart {
  display: grid !important;
  grid-template-columns: 150px 1fr !important;
  gap: 12px !important;
  align-items: end !important;
  margin-top: 8px !important;
}

.cf-product-page .product-add-to-cart .qty {
  margin: 0 !important;
}

.cf-product-page .product-add-to-cart .bootstrap-touchspin {
  height: 42px !important;
  min-height: 42px !important;
}

.cf-product-page .product-add-to-cart input {
  height: 42px !important;
  min-height: 42px !important;
  font-size: 13px !important;
}

.cf-product-page .product-add-to-cart .add {
  margin: 0 !important;
  float: none !important;
  width: 100% !important;
}

.cf-product-page .product-add-to-cart .add-to-cart {
  width: 100% !important;
  min-height: 46px !important;
  height: 46px !important;
  border-radius: 3px !important;
  background: linear-gradient(#0b97dc,#047bb9) !important;
  border: 0 !important;
  color: #fff !important;
  font: 700 16px/1.2 Arial,sans-serif !important;
  text-transform: uppercase !important;
}

.cf-product-help {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 7px !important;
  border-top: 1px solid var(--cf14-border) !important;
  margin-top: 12px !important;
  padding-top: 10px !important;
  font-size: 12px !important;
}

.cf-product-help .cf-help-phone {
  font-size: 23px !important;
  color: #078bd0 !important;
}

.cf-product-help a {
  font: 700 18px/1.1 Arial,sans-serif !important;
  color: #078bd0 !important;
}

.cf-product-info-grid {
  display: grid !important;
  grid-template-columns: 1.25fr .85fr .85fr !important;
  gap: 0 !important;
  border-top: 1px solid var(--cf14-border) !important;
  margin: 12px 0 15px !important;
  padding-top: 18px !important;
}

.cf-product-info-grid>div {
  padding: 0 20px !important;
  border-right: 1px solid var(--cf14-border) !important;
}

.cf-product-info-grid>div:first-child {
  padding-left: 0 !important;
}

.cf-product-info-grid>div:last-child {
  border-right: 0 !important;
  padding-right: 0 !important;
}

.cf-product-info-grid .cf-product-copy {
  grid-row: span 2 !important;
}

.cf-product-info-grid h2 {
  font: 700 22px/1.1 Arial,sans-serif !important;
  color: #050505 !important;
  margin: 0 0 10px !important;
}

.cf-product-info-grid .product-description,
.cf-product-info-grid .product-description p,
.cf-product-info-grid p,
.cf-product-info-grid li {
  font: 12px/1.45 Arial,sans-serif !important;
  color: #273b58 !important;
}

.cf-product-info-grid .product-description {
  max-height: 125px !important;
  overflow: auto !important;
}

.cf-product-details-box {
  grid-column: 2 !important;
}

.cf-product-size-box {
  grid-column: 2 !important;
  margin-top: 14px !important;
  border-top: 1px solid var(--cf14-border) !important;
  padding-top: 14px !important;
}

.cf-product-delivery-box {
  grid-column: 3 !important;
  grid-row: 1 / span 2 !important;
}

.cf-feature-list {
  padding-left: 17px !important;
  margin: 0 !important;
}

.cf-product-delivery-box details {
  border: 1px solid var(--cf14-border) !important;
  border-bottom: 0 !important;
  padding: 8px 10px !important;
}

.cf-product-delivery-box details:last-child {
  border-bottom: 1px solid var(--cf14-border) !important;
}

.cf-product-delivery-box summary {
  font: 700 12px/1.3 Arial,sans-serif !important;
  cursor: pointer !important;
}

.cf-related-section {
  border-top: 1px solid var(--cf14-border) !important;
  padding-top: 12px !important;
  margin: 0 0 12px !important;
}

.cf-related-section>h2 {
  font: 700 22px/1.1 Arial,sans-serif !important;
  margin: 0 0 9px !important;
  color: #050505 !important;
}

.cf-related-products {
  display: grid !important;
  grid-template-columns: repeat(3,1fr) !important;
  gap: 8px !important;
  margin: 0 !important;
}

.cf-related-products .cf-product-cell {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.cf-related-products .cf-product {
  display: grid !important;
  grid-template-columns: 42% 58% !important;
  align-items: center !important;
  border: 1px solid var(--cf14-border) !important;
  border-radius: 4px !important;
  padding: 8px !important;
  height: 100% !important;
}

.cf-related-products .cf-product-photo img {
  width: 100% !important;
  height: 118px !important;
  object-fit: contain !important;
}

.cf-related-products .product-description {
  position: static !important;
  padding: 5px !important;
  text-align: left !important;
  background: #fff !important;
}

.cf-related-products .product-title,
.cf-related-products .product-title a {
  font: 700 12px/1.2 Arial,sans-serif !important;
  min-height: 0 !important;
  margin: 0 0 5px !important;
  color: var(--cf14-navy) !important;
  text-align: left !important;
}

.cf-related-products .price {
  font: 700 15px/1.2 Arial,sans-serif !important;
  color: var(--cf14-navy) !important;
}

.cf-related-products .cf-buy select {
  display: none !important;
}

.cf-related-products .cf-buy button,
.cf-related-products .cf-card-button {
  min-height: 31px !important;
  background: linear-gradient(#0b97dc,#047bb9) !important;
  border: 0 !important;
  color: #fff !important;
  font: 700 10px/1.2 Arial,sans-serif !important;
  text-transform: uppercase !important;
  width: 100% !important;
}

.cf-product-extra {
  border-top: 1px solid var(--cf14-border) !important;
  padding: 12px 0 !important;
}

/* FOOTER – FieldElementor */

.cf-project-footer-section>.elementor-container {
  max-width: none !important;
  width: 100% !important;
}

.cf-project-footer-section .elementor-column,
.cf-project-footer-section .elementor-widget-wrap {
  width: 100% !important;
}

.cf-project-phone {
  width: calc(100% - 32px) !important;
  max-width: 1180px !important;
  margin: 6px auto 0 !important;
  padding: 10px 0 !important;
  border-top: 1px solid var(--cf14-border) !important;
  border-bottom: 1px solid var(--cf14-border) !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 9px !important;
}

.cf-project-phone .cf-phone-icon {
  font-size: 21px !important;
  color: #078bd0 !important;
}

.cf-project-phone strong {
  font: 700 16px/1.2 Arial,sans-serif !important;
  color: var(--cf14-navy) !important;
}

.cf-project-phone a {
  font: 700 18px/1.1 Arial,sans-serif !important;
  color: #078bd0 !important;
}

.cf-project-footer {
  width: calc(100% - 32px) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 15px 0 22px !important;
  display: grid !important;
  grid-template-columns: 1.15fr 1.15fr .85fr .95fr .9fr !important;
  gap: 25px !important;
}

.cf-project-footer .cf-footer-brand img {
  width: 126px !important;
  height: auto !important;
  object-fit: contain !important;
}

.cf-project-footer .cf-footer-brand span {
  display: block !important;
  font-size: 12px !important;
  margin-top: 5px !important;
  color: var(--cf14-navy) !important;
}

.cf-project-footer .cf-footer-contact {
  padding-top: 10px !important;
}

.cf-project-footer h2 {
  font: 700 14px/1.2 Arial,sans-serif !important;
  margin: 0 0 5px !important;
  color: var(--cf14-navy) !important;
}

.cf-project-footer a {
  display: block !important;
  font: 14px/1.55 Arial,sans-serif !important;
  color: var(--cf14-navy) !important;
  margin: 0 !important;
  text-decoration: none !important;
  padding: 2px 0 !important;
}

.cf-project-footer .cf-footer-contact a {
  font-size: 14px !important;
  margin-bottom: 4px !important;
}

/* MOBILE project */

@media (max-width:767px) {
  html body .container,
  html body .elementor-section.elementor-section-boxed>.elementor-container {
    width: calc(100% - 28px) !important;
    max-width: none !important;
  }

  .cf-desktop-home {
    display: none !important;
  }

  .cf-mobile-only {
    display: block !important;
  }

  .cf-fe-header-main>.elementor-container,
  .cf-fe-header-nav>.elementor-container {
    width: calc(100% - 28px) !important;
  }

  .cf-fe-header-main {
    padding: 8px 0 4px !important;
  }

  .cf-fe-header-main .elementor-row {
    display: grid !important;
    grid-template-columns: 1.4fr 1.2fr .8fr .8fr !important;
    gap: 8px !important;
    align-items: center !important;
    min-height: 0 !important;
  }

  .cf-fe-header-main .elementor-column {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    display: block !important;
  }

  .cf-fe-header-main .elementor-column:nth-child(1) {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .cf-fe-header-main .elementor-column:nth-child(2) {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
  }

  .cf-fe-header-main .elementor-column:nth-child(3) {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  .cf-fe-header-main .elementor-column:nth-child(4) {
    display: none !important;
  }

  .cf-fe-header-main .elementor-column:nth-child(5) {
    grid-column: 4 !important;
    grid-row: 1 !important;
  }

  .cf-fe-header-main .elementor-column:nth-child(6) {
    display: block !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
  }

  .cf-fe-header-main .cf-logo img {
    width: 104px !important;
    max-width: 104px !important;
  }

  .cf-header-phone {
    justify-content: flex-start !important;
    gap: 5px !important;
  }

  .cf-header-phone:before {
    font-size: 16px !important;
  }

  .cf-header-phone span {
    display: none !important;
  }

  .cf-header-phone strong,
  .cf-header-phone strong a {
    font-size: 13px !important;
    color: #111 !important;
  }

  .cf-fe-mobile-menu {
    display: block !important;
  }

  .cf-mobile-menu-trigger {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    width: 100% !important;
    background: none !important;
    border: 0 !important;
    color: #111 !important;
    font: 13px/1.2 Arial,sans-serif !important;
    padding: 6px 0 !important;
  }

  .cf-menu-bars {
    font-size: 20px !important;
  }

  .cf-fe-cart {
    text-align: center !important;
  }

  .cf-fe-cart a {
    font-size: 12px !important;
    color: #111 !important;
  }

  .cf-fe-header-main .cf-fe-search input {
    height: 39px !important;
    border-radius: 4px 0 0 4px !important;
    font-size: 12px !important;
  }

  .cf-fe-header-main .cf-fe-search button {
    height: 39px !important;
    border-radius: 0 4px 4px 0 !important;
    background: #078bd0 !important;
    color: #fff !important;
    border-color: #078bd0 !important;
  }

  .cf-fe-header-nav {
    display: none !important;
  }

  #popup_menu_mobile {
    z-index: 10000 !important;
  }

  #popup_menu_mobile #_desktop_fieldmegamenu {
    display: block !important;
  }

  #popup_menu_mobile #_desktop_fieldmegamenu>ul {
    display: block !important;
  }

  #popup_menu_mobile #_desktop_fieldmegamenu>ul>li {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
  }

  #popup_menu_mobile #_desktop_fieldmegamenu .root-item {
    float: none !important;
    border-bottom: 1px solid #e5e5e5 !important;
    padding: 10px 15px !important;
  }

  #popup_menu_mobile #_desktop_fieldmegamenu .title-text {
    font-size: 15px !important;
    color: #111 !important;
  }

  body#index #wrapper {
    padding-top: 5px !important;
  }

  .cf-mobile-home {
    margin-bottom: 14px !important;
  }

  .cf-mobile-home-intro>h1 {
    font: 700 24px/1.12 Arial,sans-serif !important;
    text-align: center !important;
    margin: 5px 0 12px !important;
    color: #050505 !important;
  }

  .cf-mobile-offers {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
    margin-bottom: 8px !important;
  }

  .cf-mobile-offers>div {
    padding: 0 11px 10px !important;
    border-right: 1px solid var(--cf14-border) !important;
  }

  .cf-mobile-offers>div:last-child {
    border-right: 0 !important;
  }

  .cf-mobile-offers h2 {
    font: 700 15px/1.12 Arial,sans-serif !important;
    color: #050505 !important;
    margin: 0 0 4px !important;
  }

  .cf-mobile-offers p {
    font: 12px/1.32 Arial,sans-serif !important;
    color: #222 !important;
    margin: 0 0 8px !important;
  }

  html body .cf-mobile-offers .btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 36px !important;
    border-radius: 4px !important;
    background: linear-gradient(#0ba1e6,#0584c5) !important;
    color: #fff !important;
    border: 0 !important;
    font: 700 11px/1.2 Arial,sans-serif !important;
    padding: 8px !important;
  }

  .cf-mobile-hero-image {
    display: block !important;
    width: 100% !important;
    height: 230px !important;
    object-fit: cover !important;
    border-radius: 4px !important;
  }

  .cf-mobile-categories>h2,
  .cf-mobile-section-title h2,
  .cf-mobile-guide>h2 {
    font: 700 23px/1.1 Arial,sans-serif !important;
    color: #050505 !important;
    margin: 10px 0 9px !important;
  }

  .cf-mobile-categories>a {
    display: grid !important;
    grid-template-columns: 55% 45% !important;
    align-items: center !important;
    margin-bottom: 7px !important;
    text-decoration: none !important;
    color: #111 !important;
  }

  .cf-mobile-categories>a img {
    width: 100% !important;
    height: 122px !important;
    object-fit: cover !important;
    border-radius: 4px !important;
  }

  .cf-mobile-categories>a span {
    padding-left: 14px !important;
  }

  .cf-mobile-categories strong {
    display: block !important;
    font: 700 17px/1.1 Arial,sans-serif !important;
    color: #050505 !important;
    margin-bottom: 4px !important;
  }

  .cf-mobile-categories small {
    display: block !important;
    font: 12px/1.3 Arial,sans-serif !important;
    color: #333 !important;
    margin-bottom: 6px !important;
  }

  .cf-mobile-categories b {
    display: block !important;
    font: 700 11px/1.2 Arial,sans-serif !important;
    color: #078bd0 !important;
  }

  .cf-mobile-products .products {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow: hidden !important;
    margin: 0 !important;
  }

  .cf-mobile-products .product-miniature,
  .cf-mobile-products .cf-product-cell,
  .cf-mobile-products .item {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .cf-mobile-products .cf-product {
    display: grid !important;
    grid-template-columns: 48% 52% !important;
    gap: 0 !important;
    border: 0 !important;
    padding: 0 !important;
    align-items: center !important;
  }

  .cf-mobile-products .cf-product-photo {
    border: 1px solid var(--cf14-border) !important;
    border-radius: 4px !important;
    padding: 8px !important;
  }

  .cf-mobile-products .cf-product-photo img {
    width: 100% !important;
    height: 190px !important;
    object-fit: contain !important;
  }

  .cf-mobile-products .product-description {
    position: static !important;
    padding: 8px 0 8px 14px !important;
    text-align: left !important;
    background: #fff !important;
  }

  .cf-mobile-products .product-title,
  .cf-mobile-products .product-title a {
    font: 700 16px/1.15 Arial,sans-serif !important;
    text-align: left !important;
    color: #111 !important;
    min-height: 0 !important;
    margin: 0 0 5px !important;
  }

  .cf-mobile-products .price {
    font: 700 19px/1.2 Arial,sans-serif !important;
    color: #111 !important;
  }

  .cf-mobile-products .cf-buy label {
    font-size: 11px !important;
  }

  .cf-mobile-products .cf-buy select {
    height: 36px !important;
    min-height: 36px !important;
    font-size: 12px !important;
  }

  .cf-mobile-products .cf-buy button,
  .cf-mobile-products .cf-card-button {
    min-height: 40px !important;
    font-size: 12px !important;
  }

  .cf-mobile-all {
    margin: 10px 0 0 !important;
  }

  .cf-mobile-all a {
    display: block !important;
    text-align: center !important;
    border: 1px solid #078bd0 !important;
    border-radius: 4px !important;
    padding: 10px !important;
    color: #078bd0 !important;
    font: 700 11px/1.2 Arial,sans-serif !important;
    text-decoration: none !important;
  }

  .cf-mobile-maker>div {
    display: grid !important;
    grid-template-columns: 55% 45% !important;
    align-items: center !important;
    margin-bottom: 8px !important;
  }

  .cf-mobile-maker img {
    width: 100% !important;
    height: 180px !important;
    object-fit: cover !important;
    border-radius: 4px !important;
  }

  .cf-mobile-maker>div>div {
    padding-left: 14px !important;
  }

  .cf-mobile-maker h2 {
    font: 700 17px/1.08 Arial,sans-serif !important;
    color: #050505 !important;
    margin: 0 0 5px !important;
  }

  .cf-mobile-maker p {
    font: 11px/1.35 Arial,sans-serif !important;
    margin: 0 0 5px !important;
    color: #333 !important;
  }

  .cf-mobile-maker a:not(.btn) {
    font: 700 11px/1.2 Arial,sans-serif !important;
    color: #078bd0 !important;
  }

  .cf-mobile-maker .btn {
    min-height: 35px !important;
    padding: 7px !important;
    font-size: 10px !important;
  }

  .cf-mobile-guide-grid {
    display: grid !important;
    grid-template-columns: repeat(3,1fr) !important;
    gap: 0 !important;
    margin-bottom: 14px !important;
  }

  .cf-mobile-guide-grid>div {
    padding: 0 10px !important;
    border-right: 1px solid var(--cf14-border) !important;
  }

  .cf-mobile-guide-grid>div:first-child {
    padding-left: 0 !important;
  }

  .cf-mobile-guide-grid>div:last-child {
    padding-right: 0 !important;
    border-right: 0 !important;
  }

  .cf-mobile-guide-grid i {
    font-size: 25px !important;
    display: block !important;
    margin-bottom: 4px !important;
    color: #111 !important;
  }

  .cf-mobile-guide-grid strong {
    display: block !important;
    font: 700 12px/1.2 Arial,sans-serif !important;
    color: #111 !important;
    margin-bottom: 4px !important;
  }

  .cf-mobile-guide-grid p {
    font: 10px/1.3 Arial,sans-serif !important;
    color: #333 !important;
    margin: 0 !important;
  }

  .cf-mobile-help {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 8px 0 !important;
  }

  .cf-mobile-help>span {
    font-size: 35px !important;
    color: #111 !important;
  }

  .cf-mobile-help strong {
    display: block !important;
    font: 700 15px/1.2 Arial,sans-serif !important;
    color: #111 !important;
  }

  .cf-mobile-help p {
    font: 11px/1.25 Arial,sans-serif !important;
    margin: 1px 0 !important;
  }

  .cf-mobile-help a {
    display: block !important;
    font: 700 25px/1.1 Arial,sans-serif !important;
    color: #078bd0 !important;
  }

  /* category mobile */

  body#category .breadcrumb {
    width: calc(100% - 28px) !important;
    margin: 0 auto 7px !important;
    font-size: 11px !important;
  }

  body#category .container>.row {
    display: block !important;
  }

  body#category #left-column {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 0 !important;
    position: static !important;
  }

  body#category #content-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 0 !important;
  }

  body#category #search_filters {
    display: none !important;
  }

  .cf-category-header h1,
  body#category #main h1 {
    font-size: 28px !important;
    margin-bottom: 7px !important;
  }

  .cf-category-intro,
  .cf-category-intro p {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  .cf-subcategory-tabs {
    gap: 0 !important;
    justify-content: space-between !important;
    border: 0 !important;
    margin: 7px 0 10px !important;
  }

  .cf-subcategory-tabs li {
    flex: 1 !important;
    text-align: center !important;
    border-right: 1px solid #d5d5d5 !important;
  }

  .cf-subcategory-tabs li:last-child {
    border-right: 0 !important;
  }

  .cf-subcategory-tabs a {
    font-size: 13px !important;
    color: #078bd0 !important;
    border: 0 !important;
    padding: 7px 4px !important;
  }

  body#category .products-selection {
    display: flex !important;
    gap: 10px !important;
    margin: 0 0 8px !important;
  }

  .products-selection:before {
    content: "☷  Filtruj";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    height: 43px;
    border: 1px solid var(--cf14-border);
    border-radius: 4px;
    font: 16px Arial,sans-serif;
    color: #111;
  }

  .products-selection .sort-by {
    display: none !important;
  }

  .products-sort-order {
    width: 50% !important;
    margin: 0 !important;
  }

  .products-sort-order .select-title {
    height: 43px !important;
    min-height: 43px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    border-radius: 4px !important;
  }

  .products-sort-order .select-title:before {
    content: "↕";
    font-size: 19px;
    margin-right: 8px;
  }

  body#category #products .products,
  body#category #box-product-list .products {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body#category #products .cf-product {
    display: grid !important;
    grid-template-columns: 49% 51% !important;
    align-items: center !important;
    border: 0 !important;
    padding: 0 !important;
    min-height: 230px !important;
  }

  body#category #products .cf-product-photo img {
    height: 225px !important;
    max-height: 225px !important;
    object-fit: contain !important;
  }

  body#category #products .product-description {
    padding: 8px 0 8px 14px !important;
  }

  .cf-product .product-title,
  .cf-product .product-title a,
  body#category #products .product-title,
  body#category #products .product-title a {
    font-size: 17px !important;
    line-height: 1.18 !important;
    min-height: 0 !important;
    margin-bottom: 10px !important;
  }

  .cf-product .price,
  body#category #products .price {
    font-size: 20px !important;
  }

  .cf-buy select,
  body#category #products .cf-buy select {
    height: 44px !important;
    min-height: 44px !important;
    font-size: 14px !important;
    margin-top: 7px !important;
  }

  .cf-buy button,
  .cf-card-button,
  body#category #products .cf-buy button,
  body#category #products .cf-card-button {
    min-height: 47px !important;
    font-size: 14px !important;
    margin-top: 7px !important;
  }

  .cf-category-guide {
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
    margin-top: 15px !important;
    padding-top: 15px !important;
  }

  .cf-category-guide-copy {
    grid-column: 1 / -1 !important;
  }

  .cf-category-guide h2 {
    font-size: 24px !important;
  }

  .cf-category-guide h3 {
    font-size: 14px !important;
  }

  .cf-category-guide p {
    font-size: 13px !important;
  }

  .cf-category-tip {
    border: 0 !important;
    padding: 0 12px 0 0 !important;
  }

  .cf-category-contact {
    padding-left: 14px !important;
  }

  .cf-category-contact a {
    font-size: 25px !important;
  }

  /* product mobile/tablet layout from project */

  .cf-product-main {
    display: grid !important;
    grid-template-columns: 48% 52% !important;
    margin: 0 !important;
    align-items: start !important;
  }

  .cf-product-page .product_left,
  .cf-product-page .product_right {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    padding: 0 !important;
  }

  .cf-product-page .product_left {
    padding-right: 11px !important;
  }

  .cf-product-page .product_right {
    padding-left: 11px !important;
  }

  .cf-mobile-product-title {
    display: block !important;
    grid-column: 1 / -1 !important;
  }

  .cf-mobile-product-title h1 {
    font-size: 27px !important;
    margin: 3px 0 12px !important;
  }

  .cf-desktop-product-title {
    display: none !important;
  }

  .cf-product-page .cf-gallery {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }

  .cf-product-page .cf-cover {
    order: 1 !important;
  }

  .cf-product-page .cf-thumbs {
    order: 2 !important;
    width: 100% !important;
    flex: 0 0 auto !important;
    display: flex !important;
    flex-direction: row !important;
    gap: 8px !important;
    overflow: auto !important;
  }

  .cf-product-page .cf-cover>img,
  .cf-product-page .product-cover img {
    height: 390px !important;
    max-height: 390px !important;
    border: 1px solid var(--cf14-border) !important;
    border-radius: 4px !important;
  }

  .cf-product-page .cf-thumb-button img {
    width: 72px !important;
    height: 86px !important;
  }

  .cf-product-page .product-prices .current-price,
  .cf-product-page .product-prices .current-price span {
    font-size: 27px !important;
  }

  .cf-product-page .product-des {
    display: none !important;
  }

  .cf-product-page .product-variants .radio-label {
    min-width: 102px !important;
    min-height: 46px !important;
    font-size: 14px !important;
  }

  .cf-product-page .color {
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
  }

  .cf-product-page .product-add-to-cart {
    display: block !important;
  }

  .cf-product-page .product-add-to-cart .qty {
    width: 140px !important;
    margin: 8px 0 !important;
  }

  .cf-product-page .product-add-to-cart .add-to-cart {
    height: 54px !important;
    min-height: 54px !important;
    font-size: 17px !important;
  }

  .cf-product-help {
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    margin-top: 8px !important;
  }

  .cf-product-help span {
    font-size: 13px !important;
  }

  .cf-product-help a {
    font-size: 22px !important;
  }

  .cf-product-info-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
    margin-top: 18px !important;
  }

  .cf-product-info-grid>div {
    padding: 0 14px !important;
  }

  .cf-product-info-grid>div:first-child {
    padding-left: 0 !important;
  }

  .cf-product-info-grid .cf-product-copy {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    border-right: 0 !important;
    padding: 0 0 15px !important;
  }

  .cf-product-info-grid .cf-product-details-box {
    grid-column: 1 !important;
    border-right: 1px solid var(--cf14-border) !important;
    padding-left: 0 !important;
  }

  .cf-product-info-grid .cf-product-size-box {
    grid-column: 2 !important;
    border-right: 0 !important;
    border-top: 0 !important;
    margin: 0 !important;
    padding-top: 0 !important;
  }

  .cf-product-info-grid .cf-product-delivery-box {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    border-right: 0 !important;
    border-top: 1px solid var(--cf14-border) !important;
    margin-top: 15px !important;
    padding: 15px 0 0 !important;
  }

  .cf-product-info-grid h2 {
    font-size: 20px !important;
  }

  .cf-product-info-grid .product-description {
    max-height: none !important;
  }

  .cf-product-info-grid .product-description,
  .cf-product-info-grid .product-description p,
  .cf-product-info-grid p,
  .cf-product-info-grid li {
    font-size: 13px !important;
  }

  .cf-related-products {
    grid-template-columns: repeat(3,1fr) !important;
    gap: 6px !important;
  }

  .cf-related-products .cf-product {
    display: block !important;
    padding: 6px !important;
  }

  .cf-related-products .cf-product-photo img {
    height: 130px !important;
  }

  .cf-related-products .product-description {
    padding: 5px 0 !important;
  }

  .cf-related-products .product-title,
  .cf-related-products .product-title a {
    font-size: 12px !important;
  }

  .cf-related-products .price {
    font-size: 14px !important;
  }

  .cf-related-products .cf-buy button,
  .cf-related-products .cf-card-button {
    display: flex !important;
    min-height: 36px !important;
    font-size: 10px !important;
  }

  /* footer mobile */

  .cf-project-phone {
    width: calc(100% - 28px) !important;
    max-width: none !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    padding: 10px 0 !important;
  }

  .cf-project-phone strong {
    font-size: 13px !important;
  }

  .cf-project-phone a {
    font-size: 23px !important;
  }

  .cf-project-footer {
    width: calc(100% - 28px) !important;
    max-width: none !important;
    grid-template-columns: 1.1fr .9fr .9fr .9fr !important;
    gap: 12px !important;
    padding: 12px 0 20px !important;
  }

  .cf-project-footer .cf-footer-brand img {
    width: 100px !important;
  }

  .cf-project-footer .cf-footer-brand span {
    font-size: 9px !important;
  }

  .cf-project-footer .cf-footer-contact {
    grid-column: 1 !important;
    padding-top: 0 !important;
  }

  .cf-project-footer h2 {
    font-size: 11px !important;
  }

  .cf-project-footer a {
    font-size: 9px !important;
    line-height: 1.45 !important;
  }
}

@media (max-width:540px) {
  .cf-product-main {
    grid-template-columns: 1fr !important;
  }

  .cf-product-page .product_left,
  .cf-product-page .product_right {
    padding: 0 !important;
  }

  .cf-mobile-product-title {
    grid-column: 1 !important;
  }

  .cf-product-page .product_right {
    margin-top: 12px !important;
  }

  .cf-product-page .cf-cover>img,
  .cf-product-page .product-cover img {
    height: 340px !important;
  }

  .cf-related-products {
    grid-template-columns: 1fr !important;
  }

  .cf-related-products .cf-product {
    display: grid !important;
    grid-template-columns: 38% 62% !important;
  }

  .cf-project-footer {
    grid-template-columns: 1.2fr 1fr 1fr !important;
  }

  .cf-project-footer .cf-footer-contact {
    grid-column: 1 !important;
  }

  .cf-project-footer>div:nth-child(5) {
    grid-column: 3 !important;
  }
}

/* 1.4.1 functional mobile filter control - ps_facetedsearch remains the filter engine */

@media (max-width:767px) {
  body#category .products-selection:before {
    display: none !important;
    content: none !important;
  }

  body#category .products-selection {
    display: flex !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  body#category .cf-mobile-filter-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 50% !important;
    height: 43px !important;
    border: 1px solid var(--cf14-border) !important;
    border-radius: 4px !important;
    background: #fff !important;
    color: #111 !important;
    font: 16px/1 Arial,sans-serif !important;
    padding: 0 10px !important;
  }

  body#category .products-selection .box-sort-by {
    width: 50% !important;
    margin: 0 !important;
    display: block !important;
  }

  body#category .products-selection .box-sort-by .products-sort-order {
    width: 100% !important;
    margin: 0 !important;
  }

  body#category #search_filters {
    display: none !important;
    margin: 0 0 12px !important;
    padding: 10px 12px !important;
    border: 1px solid var(--cf14-border) !important;
    border-radius: 4px !important;
    background: #fff !important;
  }

  body#category.cf-mobile-filters-open #search_filters {
    display: block !important;
  }

  body#category.cf-mobile-filters-open #search_filters>.clearfix.hidden-md-up {
    display: none !important;
  }

  body#category.cf-mobile-filters-open #search_filters_ft {
    display: block !important;
    height: auto !important;
  }
}

/* 1.4.2 product project: exactly three information columns */

.cf-product-info-grid {
  grid-template-columns: 1.2fr .9fr .95fr !important;
}

.cf-product-info-grid .cf-product-copy {
  grid-row: auto !important;
}

.cf-product-info-grid .cf-product-size-box {
  border-right: 1px solid var(--cf14-border) !important;
  padding: 0 20px !important;
  margin: 0 !important;
  border-top: 0 !important;
}

.cf-product-info-grid .cf-product-delivery-box {
  border-right: 0 !important;
  padding-right: 0 !important;
}

.cf-product-info-grid .cf-feature-list {
  margin: 9px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.cf-product-info-grid .cf-feature-list li {
  margin: 0 0 4px !important;
}

@media (max-width:767px) {
  .cf-product-info-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .cf-product-info-grid .cf-product-copy {
    grid-column: 1 / -1 !important;
    border-right: 0 !important;
    padding: 0 0 15px !important;
  }

  .cf-product-info-grid .cf-product-size-box {
    grid-column: 1 !important;
    padding: 0 14px 0 0 !important;
    border-right: 1px solid var(--cf14-border) !important;
  }

  .cf-product-info-grid .cf-product-delivery-box {
    grid-column: 2 !important;
    border-top: 0 !important;
    margin-top: 0 !important;
    padding: 0 0 0 14px !important;
  }
}

@media (max-width:540px) {
  .cf-product-info-grid {
    grid-template-columns: 1fr !important;
  }

  .cf-product-info-grid .cf-product-copy,
  .cf-product-info-grid .cf-product-size-box,
  .cf-product-info-grid .cf-product-delivery-box {
    grid-column: 1 !important;
    border-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .cf-product-info-grid .cf-product-size-box,
  .cf-product-info-grid .cf-product-delivery-box {
    border-top: 1px solid var(--cf14-border) !important;
    margin-top: 12px !important;
    padding-top: 12px !important;
  }
}

/* ========================================================================
   CarloFactory 1.5 — corrections from live 2026-09-18 screenshots
   Keep FieldElementor/FieldMegamenu as layout owners; correct the actual DOM
   produced by those modules and by the inherited Field theme.
   ======================================================================== */

/* Core width: generated FieldElementor sections are boxed, never viewport-stretched. */

.cf-fe-header-main.elementor-section,
.cf-fe-header-nav.elementor-section,
.cf-desktop-home.elementor-section,
.cf-project-footer-section.elementor-section {
  left: auto !important;
  right: auto !important;
  width: calc(100% - 32px) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  transform: none !important;
}

.cf-fe-header-main>.elementor-container,
.cf-fe-header-nav>.elementor-container,
.cf-desktop-home>.elementor-container,
.cf-project-footer-section>.elementor-container {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.cf-desktop-home>.elementor-container>.elementor-row,
.cf-fe-header-main>.elementor-container>.elementor-row,
.cf-fe-header-nav>.elementor-container>.elementor-row {
  width: 100% !important;
  margin: 0 !important;
}

body#index #wrapper>.container,
body#index #content-wrapper,
body#index #content,
body#index .page-home {
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Defensive reset for records created by older importer versions. */

body#index .cf-desktop-home.elementor-section-stretched,
body#index .cf-mobile-home.elementor-section-stretched,
.cf-fe-header-main.elementor-section-stretched,
.cf-fe-header-nav.elementor-section-stretched,
.cf-project-footer-section.elementor-section-stretched {
  left: auto !important;
  width: calc(100% - 32px) !important;
  max-width: 1180px !important;
}

/* Header — full form search, same visual hierarchy as project. */

.cf-fe-header-main {
  padding: 14px 0 4px !important;
}

.cf-fe-header-main .elementor-row {
  display: flex !important;
  align-items: center !important;
}

.cf-fe-header-main .elementor-column {
  min-width: 0 !important;
}

.cf-fe-header-main .cf-logo img {
  width: 132px !important;
  max-width: 132px !important;
}

.cf-fe-header-main .cf-fe-search,
.cf-fe-header-main .elementor-widget-search-block,
.cf-fe-header-main #_desktop_search,
.cf-fe-header-main .form-search-block,
.cf-fe-header-main .form-search-block form {
  width: 100% !important;
}

.cf-fe-header-main .form-search-block form {
  display: flex !important;
  align-items: stretch !important;
  position: relative !important;
  margin: 0 !important;
}

.cf-fe-header-main .form-search-block .search_query_top_ft {
  display: block !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.cf-fe-header-main .form-search-block .search_query {
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  border: 1px solid #9fc8e4 !important;
  border-right: 0 !important;
  border-radius: 22px 0 0 22px !important;
  background: #fff !important;
  padding: 0 15px 0 18px !important;
  box-shadow: none !important;
  font: 13px/42px Arial,sans-serif !important;
  color: #17395b !important;
}

.cf-fe-header-main .form-search-block .button-search-form {
  position: static !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 48px !important;
  width: 48px !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #9fc8e4 !important;
  border-left: 0 !important;
  border-radius: 0 22px 22px 0 !important;
  background: #fff !important;
  color: #007cc0 !important;
  box-shadow: none !important;
}

.cf-fe-header-main .form-search-block .button-search-form i {
  font-size: 17px !important;
}

.cf-fe-header-main .cf-header-phone {
  justify-content: flex-start !important;
}

.cf-fe-header-nav {
  padding: 2px 0 10px !important;
}

/* HOME — target the real OneCateProducts grid emitted by FieldElementor. */

.cf-project-products .field-widget-grid-wrapper,
.cf-project-products .field-oncate-products-grid,
.cf-project-products .field-oncate-products-grid.row {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
}

.cf-project-products .field-oncate-products-grid>.field-product-item,
.cf-project-products .field-widget-grid-wrapper>.field-product-item,
.cf-project-products .field-product-item {
  display: block !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cf-project-products .field-product-item .cf-product {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 365px !important;
  padding: 10px !important;
  border: 1px solid #d7e3ec !important;
  border-radius: 4px !important;
  background: #fff !important;
}

.cf-project-products .field-product-item .cf-product-photo {
  height: 205px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.cf-project-products .field-product-item .cf-product-photo img {
  width: 100% !important;
  height: 205px !important;
  object-fit: contain !important;
}

.cf-project-products .field-product-item .product-description {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  padding: 8px 0 0 !important;
}

.cf-project-products .field-product-item .product-title,
.cf-project-products .field-product-item .product-title a {
  min-height: 30px !important;
  font: 700 12px/1.25 Arial,sans-serif !important;
  color: #092e54 !important;
}

.cf-project-products .field-product-item .product-price-and-shipping {
  margin: 0 0 6px !important;
}

.cf-project-products .field-product-item .cf-buy {
  margin-top: auto !important;
}

.cf-project-products .field-product-item .cf-card-button {
  margin-top: auto !important;
}

.cf-project-products .product-flags {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  left: auto !important;
  margin: 0 !important;
}

/* Category — inherited theme puts cards in #box-product-grid > .row. */

body#category #box-product-grid {
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

body#category #box-product-list {
  display: none !important;
}

body#category #box-product-grid>.row {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
}

body#category #box-product-grid>.row>.item,
body#category #box-product-grid>.row>.cf-product-cell {
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#category #box-product-grid .cf-product {
  display: flex !important;
  flex-direction: column !important;
  min-height: 388px !important;
  padding: 10px !important;
  border: 1px solid #d7e3ec !important;
  border-radius: 4px !important;
}

body#category #box-product-grid .cf-product-photo {
  height: 230px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body#category #box-product-grid .cf-product-photo img {
  height: 230px !important;
  max-height: 230px !important;
  width: 100% !important;
  object-fit: contain !important;
}

body#category #box-product-grid .product-description {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  padding: 7px 0 0 !important;
}

body#category #box-product-grid .product-title,
body#category #box-product-grid .product-title a {
  min-height: 30px !important;
  margin: 0 0 3px !important;
  font: 700 12px/1.25 Arial,sans-serif !important;
}

body#category #box-product-grid .product-price-and-shipping {
  margin-bottom: 6px !important;
}

body#category #box-product-grid .cf-buy {
  margin-top: auto !important;
}

body#category #box-product-grid .cf-card-button {
  margin-top: auto !important;
}

body#category #content-wrapper {
  min-width: 0 !important;
}

body#category #js-product-list {
  width: 100% !important;
}

body#category #js-product-list .products {
  width: 100% !important;
  margin: 0 !important;
}

/* Product — remove accidental scroll box, tune option cards, show related standard module. */

body#product .cf-product-info-grid .product-description,
body#product .cf-product-info-grid .product-description p {
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
}

body#product .cf-product-main {
  grid-template-columns: 56% 44% !important;
  gap: 0 !important;
}

body#product .cf-product-page .product_left {
  padding-right: 28px !important;
}

body#product .cf-product-page .product_right {
  padding-left: 28px !important;
}

body#product .product-variants>.product-variants-item {
  margin: 13px 0 !important;
}

body#product .product-variants .control-label {
  display: block !important;
  margin: 0 0 7px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: none !important;
}

body#product .product-variants-item ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#product .product-variants-item li {
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#product .product-variants-item li label {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  margin: 0 !important;
  cursor: pointer !important;
}

body#product .product-variants .color {
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  min-height: 58px !important;
  border: 1px solid #cedbe5 !important;
  border-radius: 3px !important;
  box-shadow: none !important;
}

body#product .product-variants .input-color:checked + .color {
  outline: 2px solid #008ad0 !important;
  outline-offset: 2px !important;
}

body#product .product-variants .cf-color-name {
  display: block !important;
  margin-top: 3px !important;
  font-size: 9px !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  color: #183752 !important;
}

body#product .product-variants .radio-label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 78px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 12px !important;
  border: 1px solid #c7d8e5 !important;
  border-radius: 3px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  background: #fff !important;
}

body#product .product-variants .input-radio:checked + .radio-label {
  border-color: #008ad0 !important;
  box-shadow: inset 0 0 0 1px #008ad0 !important;
}

body#product .cf-product-help {
  margin-top: 18px !important;
  padding-top: 10px !important;
  border-top: 1px solid #d7e3ec !important;
}

/* Standard ps_categoryproducts, rendered from a theme override. */

body#product .cf-related-section {
  width: 100% !important;
  margin: 20px 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
}

body#product .cf-related-heading h2 {
  margin: 0 0 2px !important;
  font: 700 22px/1.2 Arial,sans-serif !important;
  color: #092e54 !important;
  text-transform: none !important;
}

body#product .cf-related-heading p {
  margin: 0 0 10px !important;
  font: 12px/1.3 Arial,sans-serif !important;
  color: #4d6376 !important;
}

body#product .cf-related-standard-grid {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 8px !important;
  margin: 0 !important;
}

body#product .cf-related-standard-grid>.cf-product-cell {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#product .cf-related-standard-grid .cf-product {
  display: grid !important;
  grid-template-columns: 43% 57% !important;
  min-height: 150px !important;
  padding: 9px !important;
  border: 1px solid #d7e3ec !important;
  border-radius: 4px !important;
  align-items: center !important;
}

body#product .cf-related-standard-grid .cf-product-photo {
  height: 130px !important;
}

body#product .cf-related-standard-grid .cf-product-photo img {
  width: 100% !important;
  height: 130px !important;
  object-fit: contain !important;
}

body#product .cf-related-standard-grid .product-description {
  padding: 4px 0 4px 10px !important;
}

body#product .cf-related-standard-grid .product-title,
body#product .cf-related-standard-grid .product-title a {
  min-height: 0 !important;
  margin: 0 0 7px !important;
  font: 700 14px/1.2 Arial,sans-serif !important;
}

body#product .cf-related-standard-grid .price {
  font-size: 17px !important;
}

body#product .cf-related-standard-grid .cf-buy label,
body#product .cf-related-standard-grid .cf-buy select {
  display: none !important;
}

body#product .cf-related-standard-grid .cf-buy button,
body#product .cf-related-standard-grid .cf-card-button {
  min-height: 32px !important;
  margin-top: 8px !important;
  font-size: 10px !important;
}

/* Project has its own help row on product and guide on category; global footer phone band is home only. */

body#product .cf-project-footer-section .cf-project-phone,
body#category .cf-project-footer-section .cf-project-phone {
  display: none !important;
}

@media (min-width:768px) {
  body#index .cf-mobile-only {
    display: none !important;
  }

  body#index .cf-desktop-home {
    display: block !important;
  }
}

@media (max-width:767px) {
  .cf-fe-header-main.elementor-section,
  .cf-fe-header-nav.elementor-section,
  .cf-mobile-home.elementor-section,
  .cf-project-footer-section.elementor-section {
    width: calc(100% - 0px) !important;
    max-width: none !important;
  }

  .cf-fe-header-main .form-search-block .search_query {
    height: 40px !important;
    min-height: 40px !important;
    font-size: 13px !important;
  }

  .cf-fe-header-main .form-search-block .button-search-form {
    height: 40px !important;
    min-height: 40px !important;
    flex-basis: 44px !important;
    width: 44px !important;
  }

  .cf-project-products .field-oncate-products-grid,
  .cf-project-products .field-widget-grid-wrapper {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  body#category #box-product-grid>.row {
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }

  body#category #box-product-grid .cf-product {
    display: grid !important;
    grid-template-columns: 43% 57% !important;
    min-height: 230px !important;
  }

  body#category #box-product-grid .cf-product-photo {
    height: 220px !important;
  }

  body#category #box-product-grid .cf-product-photo img {
    height: 220px !important;
  }

  body#category #box-product-grid .product-description {
    padding: 9px 0 8px 13px !important;
  }

  body#product .cf-product-main {
    grid-template-columns: 48% 52% !important;
  }

  body#product .cf-product-page .product_left {
    padding-right: 10px !important;
  }

  body#product .cf-product-page .product_right {
    padding-left: 10px !important;
  }

  body#product .product-variants .color {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }

  body#product .product-variants .radio-label {
    min-width: 82px !important;
    height: 42px !important;
  }

  body#product .cf-related-standard-grid {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }

  body#product .cf-related-standard-grid .cf-product {
    display: block !important;
    min-height: 0 !important;
    padding: 6px !important;
  }

  body#product .cf-related-standard-grid .cf-product-photo {
    height: 115px !important;
  }

  body#product .cf-related-standard-grid .cf-product-photo img {
    height: 115px !important;
  }

  body#product .cf-related-standard-grid .product-description {
    padding: 5px 0 !important;
  }
}

@media (max-width:540px) {
  .cf-project-products .field-oncate-products-grid,
  .cf-project-products .field-widget-grid-wrapper {
    grid-template-columns: 1fr !important;
  }

  body#product .cf-product-main {
    grid-template-columns: 1fr !important;
  }

  body#product .cf-related-standard-grid {
    grid-template-columns: 1fr !important;
  }

  body#product .cf-related-standard-grid .cf-product {
    display: grid !important;
    grid-template-columns: 38% 62% !important;
  }
}

/* 1.5.1: OneCateProducts grid uses the regular theme miniature so variant selector/add button stay standard. */

.cf-project-products .field-oncate-products-grid>.cf-product-cell {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cf-project-products .field-oncate-products-grid>.cf-product-cell>.cf-product {
  display: flex !important;
  flex-direction: column !important;
  min-height: 365px !important;
  height: 100% !important;
  padding: 10px !important;
}

.cf-project-products .field-oncate-products-grid .cf-product-photo {
  height: 205px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.cf-project-products .field-oncate-products-grid .cf-product-photo img {
  height: 205px !important;
  width: 100% !important;
  object-fit: contain !important;
}

.cf-project-products .field-oncate-products-grid .product-description {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  padding: 8px 0 0 !important;
}

.cf-card-desc {
  display: none !important;
}

.cf-fe-medical .cf-card-desc {
  display: block !important;
  min-height: 29px !important;
  margin: 0 0 5px !important;
  font: 10px/1.3 Arial,sans-serif !important;
  color: #314d65 !important;
}

.cf-project-products .field-oncate-products-grid .cf-buy,
.cf-project-products .field-oncate-products-grid .cf-card-button {
  margin-top: auto !important;
}

/* Minor live differences: hide generic faceted-search title and restore product breadcrumb. */

body#category #search_filters>.block-title,
body#category #search_filters .block-title,
body#category #search_filters>h4 {
  display: none !important;
}

body#product .breadcrumb {
  display: block !important;
  position: static !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: calc(100% - 32px) !important;
  max-width: 1180px !important;
  margin: 0 auto 5px !important;
  padding: 5px 0 !important;
  color: #536b7e !important;
  font: 10px/1.3 Arial,sans-serif !important;
}

body#product .breadcrumb a,
body#product .breadcrumb span {
  color: #536b7e !important;
  font-size: 10px !important;
}

/* ==================================================================
   CarloFactory 1.6 – final desktop alignment against approved project
   Keep FieldElementor/FieldMegamenu as layout owners; only dimensions,
   spacing and native PrestaShop product/category presentation live here.
   ================================================================== */

:root {
  --cf16-max: 1680px;
  --cf16-gutter: 48px;
}

@media (min-width:768px) {
  html body .container,
  html body .elementor-section.elementor-section-boxed>.elementor-container,
  .cf-fe-header-main>.elementor-container,
  .cf-fe-header-nav>.elementor-container,
  .cf-desktop-home>.elementor-container,
  .cf-project-footer-section>.elementor-container {
    width: calc(100% - var(--cf16-gutter)) !important;
    max-width: var(--cf16-max) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Header: project has a compact two-row header with virtually no empty band. */

  #header {
    padding: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
  }

  #header .elementor-section {
    margin-top: 0 !important;
    margin-bottom: 0;
  }

  #header .elementor-widget {
    margin-bottom: 0 !important;
  }

  #header .elementor-widget-wrap {
    align-content: center !important;
    min-height: 0 !important;
  }

  .cf-fe-header-main {
    padding: 10px 0 0 !important;
    min-height: 0 !important;
  }

  .cf-fe-header-main>.elementor-container {
    min-height: 0 !important;
    padding: 0 !important;
  }

  .cf-fe-header-main .elementor-row {
    min-height: 54px !important;
    height: auto !important;
    gap: 45px !important;
    margin: 0 !important;
    align-items: center !important;
  }

  .cf-fe-header-main .elementor-column,
  .cf-fe-header-main .elementor-column-wrap,
  .cf-fe-header-main .elementor-widget-wrap {
    min-height: 0 !important;
    height: auto !important;
  }

  .cf-fe-header-main .cf-logo img {
    width: 170px !important;
    max-width: 170px !important;
    max-height: 64px !important;
  }

  .cf-fe-header-main .form-search-block .search_query,
  .cf-fe-header-main .cf-fe-search input {
    height: 44px !important;
    min-height: 44px !important;
    font-size: 14px !important;
  }

  .cf-fe-header-main .form-search-block .button-search-form,
  .cf-fe-header-main .cf-fe-search button {
    height: 44px !important;
    min-height: 44px !important;
    flex-basis: 50px !important;
    width: 50px !important;
  }

  .cf-header-phone:before {
    font-size: 25px !important;
  }

  .cf-header-phone span {
    font-size: 11px !important;
  }

  .cf-header-phone strong,
  .cf-header-phone strong a {
    font-size: 18px !important;
  }

  .cf-fe-account a {
    font-size: 14px !important;
  }

  .cf-fe-account .fa {
    font-size: 23px !important;
  }

  .cf-fe-cart #cf-header-cart,
  .cf-fe-cart .blockcart,
  .cf-fe-cart .cart-preview {
    width: 100% !important;
  }

  .cf-fe-cart .cf-cart {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    font-size: 14px !important;
    white-space: nowrap !important;
  }

  .cf-fe-cart .cf-cart>span {
    display: inline !important;
    font-weight: 700 !important;
    color: #08275b !important;
  }

  .cf-fe-cart .cf-cart-icon {
    width: 27px !important;
    height: 27px !important;
    color: #078bd0 !important;
  }

  .cf-fe-header-nav {
    padding: 0 0 5px !important;
    min-height: 0 !important;
    margin: 0 !important;
  }

  .cf-fe-header-nav>.elementor-container {
    min-height: 0 !important;
  }

  .cf-fe-header-nav .elementor-row,
  .cf-fe-header-nav .elementor-column,
  .cf-fe-header-nav .elementor-widget-wrap {
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
  }

  .cf-fe-header-nav #_desktop_fieldmegamenu>ul {
    gap: 42px !important;
  }

  .cf-fe-header-nav #_desktop_fieldmegamenu .root-item a {
    padding: 3px 2px 7px !important;
  }

  .cf-fe-header-nav #_desktop_fieldmegamenu .root-item .title-text {
    font-size: 14px !important;
  }

  body#index #wrapper {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  /* Home top: scale proportionally instead of freezing heights for a 1180px canvas. */

  .cf-project-home,
  .cf-project-cat-section {
    margin-top: 0 !important;
  }

  .cf-project-hero {
    gap: 10px !important;
  }

  .cf-project-hero .cf-hero-card {
    height: auto !important;
    aspect-ratio: 2.05 / 1 !important;
  }

  .cf-project-hero .cf-hero-copy {
    padding: 25% 24px 20px !important;
  }

  .cf-project-hero .cf-hero-copy h2 {
    font-size: 31px !important;
  }

  .cf-project-hero .cf-hero-copy p {
    font-size: 16px !important;
  }

  html body .cf-project-hero .btn {
    min-height: 40px !important;
    font-size: 13px !important;
    padding: 9px 20px !important;
  }

  .cf-project-categories {
    gap: 10px !important;
  }

  .cf-project-categories>a {
    height: auto !important;
    aspect-ratio: 3.05 / 1 !important;
  }

  .cf-project-categories>a>span {
    left: 16px !important;
    bottom: 13px !important;
    padding: 10px 14px !important;
  }

  .cf-project-categories strong {
    font-size: 16px !important;
  }

  .cf-project-heading {
    margin: 12px 0 19px !important;
  }

  .cf-project-heading h2 {
    font-size: 28px !important;
  }

  .cf-medical-heading p {
    font-size: 14px !important;
  }

  /* Home product cards: proportions from project, without promotional ribbons. */

  .cf-project-products .product-flags {
    display: none !important;
  }

  .cf-project-products .field-product-item .cf-product,
  .cf-project-products .cf-product {
    padding: 12px !important;
    min-height: 0 !important;
  }

  .cf-project-products .field-product-item .cf-product-photo,
  .cf-project-products .cf-product-photo {
    height: auto !important;
    aspect-ratio: 1.35 / 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .cf-project-products .field-product-item .cf-product-photo img,
  .cf-project-products .cf-product-photo img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
  }

  .cf-project-products .product-title,
  .cf-project-products .product-title a {
    font-size: 14px !important;
    min-height: 34px !important;
  }

  .cf-project-products .price {
    font-size: 17px !important;
  }

  .cf-project-products .cf-buy select {
    height: 34px !important;
    min-height: 34px !important;
    font-size: 12px !important;
  }

  .cf-project-products .cf-buy button,
  .cf-project-products .cf-card-button {
    min-height: 39px !important;
    font-size: 12px !important;
  }

  .cf-project-maker .cf-maker-photo img {
    height: auto !important;
    aspect-ratio: 1.92 / 1 !important;
  }

  /* Category: no subcategory tabs; products begin directly under title/intro. */

  body#category .cf-subcategory-tabs {
    display: none !important;
  }

  body#category #wrapper {
    padding-top: 14px !important;
  }

  body#category .container>.row {
    display: flex !important;
    align-items: flex-start !important;
    flex-wrap: nowrap !important;
  }

  body#category #left-column {
    width: 25% !important;
    flex: 0 0 25% !important;
    max-width: 25% !important;
    padding-right: 24px !important;
  }

  body#category #content-wrapper {
    width: 75% !important;
    flex: 0 0 75% !important;
    max-width: 75% !important;
    min-width: 0 !important;
    padding: 0 !important;
  }

  body#category .cf-category-header {
    margin-bottom: 10px !important;
  }

  body#category .cf-category-header h1 {
    font-size: 34px !important;
    margin: 0 0 4px !important;
  }

  body#category .cf-category-intro,
  body#category .cf-category-intro p {
    font-size: 14px !important;
    margin-bottom: 0 !important;
  }

  body#category #box-product-grid>.row {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 10px !important;
  }

  body#category #box-product-grid .product-flags {
    display: none !important;
  }

  body#category #box-product-grid .cf-product {
    min-height: 0 !important;
    padding: 12px !important;
  }

  body#category #box-product-grid .cf-product-photo {
    height: auto !important;
    aspect-ratio: 1.30 / 1 !important;
  }

  body#category #box-product-grid .cf-product-photo img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
  }

  body#category #box-product-grid .product-title,
  body#category #box-product-grid .product-title a {
    font-size: 16px !important;
    line-height: 1.25 !important;
    min-height: 35px !important;
  }

  body#category #box-product-grid .price {
    font-size: 18px !important;
  }

  body#category #box-product-grid .cf-buy select {
    height: 35px !important;
    min-height: 35px !important;
    font-size: 12px !important;
  }

  body#category #box-product-grid .cf-buy button,
  body#category #box-product-grid .cf-card-button {
    min-height: 40px !important;
    font-size: 12px !important;
  }

  /* Product: larger gallery and more project-like hierarchy. */

  body#product #wrapper {
    padding-top: 0 !important;
  }

  body#product #wrapper>.breadcrumb {
    display: none !important;
  }

  body#product .cf-product-breadcrumb {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 2px 0 12px !important;
    color: #5b7085 !important;
    font-size: 12px !important;
  }

  body#product .cf-product-breadcrumb a {
    color: #5b7085 !important;
    text-decoration: none !important;
  }

  body#product .cf-product-main {
    grid-template-columns: 56% 44% !important;
    gap: 0 !important;
    margin-bottom: 22px !important;
  }

  body#product .cf-product-page .product_left {
    padding: 0 34px 0 0 !important;
  }

  body#product .cf-product-page .product_right {
    padding: 0 0 0 34px !important;
  }

  body#product .cf-product-gallery-wrap {
    padding: 0 !important;
    margin: 0 !important;
  }

  body#product .cf-gallery {
    display: flex !important;
    gap: 18px !important;
    align-items: flex-start !important;
  }

  body#product .cf-thumbs {
    flex: 0 0 100px !important;
    width: 100px !important;
    gap: 10px !important;
  }

  body#product .cf-thumb-button {
    width: 94px !important;
    min-height: 118px !important;
    padding: 4px !important;
    border: 1px solid #cbdce9 !important;
    border-radius: 3px !important;
    background: #fff !important;
  }

  body#product .cf-thumb-button img {
    width: 84px !important;
    height: 108px !important;
    object-fit: contain !important;
  }

  body#product .cf-cover {
    flex: 1 1 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 560px !important;
  }

  body#product .cf-cover>img,
  body#product .product-cover img {
    width: auto !important;
    max-width: 100% !important;
    height: 560px !important;
    max-height: 560px !important;
    object-fit: contain !important;
  }

  body#product h1 {
    font-size: 36px !important;
    line-height: 1.08 !important;
    margin: 0 0 5px !important;
  }

  body#product .product-prices {
    margin: 0 0 8px !important;
  }

  body#product .product-prices .current-price,
  body#product .product-prices .current-price span {
    font-size: 34px !important;
    line-height: 1 !important;
  }

  body#product .product-des,
  body#product .product-des p {
    font-size: 16px !important;
    line-height: 1.45 !important;
    margin-bottom: 13px !important;
  }

  body#product .product-variants>.product-variants-item {
    margin: 15px 0 !important;
  }

  body#product .product-variants .control-label {
    font-size: 15px !important;
    margin-bottom: 8px !important;
  }

  body#product .product-variants .color {
    width: 70px !important;
    height: 70px !important;
    min-width: 70px !important;
    min-height: 70px !important;
  }

  body#product .product-variants .cf-color-name {
    font-size: 11px !important;
    margin-top: 5px !important;
  }

  body#product .product-variants .radio-label {
    min-width: 112px !important;
    height: 48px !important;
    min-height: 48px !important;
    font-size: 14px !important;
  }

  body#product .product-add-to-cart .control-label {
    font-size: 14px !important;
    margin-bottom: 7px !important;
  }

  body#product .cf-product-quantity {
    display: grid !important;
    grid-template-columns: 180px minmax(0,1fr) !important;
    gap: 14px !important;
    align-items: end !important;
  }

  body#product .cf-product-quantity .qty,
  body#product .cf-product-quantity .add {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
  }

  body#product .cf-qty-control {
    display: grid !important;
    grid-template-columns: 44px 64px 44px !important;
    height: 48px !important;
    align-items: stretch !important;
  }

  body#product .cf-qty-control>button {
    border: 1px solid #bfd3e3 !important;
    background: #fff !important;
    color: #08275b !important;
    font-size: 20px !important;
    line-height: 1 !important;
    padding: 0 !important;
  }

  body#product .cf-qty-control .cf-qty-minus {
    border-radius: 3px 0 0 3px !important;
    border-right: 0 !important;
  }

  body#product .cf-qty-control .cf-qty-plus {
    border-radius: 0 3px 3px 0 !important;
    border-left: 0 !important;
  }

  body#product .cf-qty-control .bootstrap-touchspin {
    width: 64px !important;
    min-width: 64px !important;
    margin: 0 !important;
  }

  body#product .cf-qty-control .bootstrap-touchspin .input-group-btn-vertical,
  body#product .cf-qty-control .bootstrap-touchspin .btn-touchspin {
    display: none !important;
  }

  body#product .cf-qty-control #quantity_wanted,
  body#product .cf-qty-control input[name="qty"] {
    width: 64px !important;
    height: 48px !important;
    min-height: 48px !important;
    text-align: center !important;
    border: 1px solid #bfd3e3 !important;
    border-radius: 0 !important;
    font-size: 15px !important;
    padding: 0 !important;
  }

  body#product .product-add-to-cart .add-to-cart {
    width: 100% !important;
    min-height: 54px !important;
    font-size: 18px !important;
    border-radius: 3px !important;
  }

  body#product .cf-product-help {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 14px !important;
  }

  body#product .cf-product-help a {
    font-size: 18px !important;
  }

  body#product .cf-product-info-grid {
    grid-template-columns: 1.2fr .9fr 1fr !important;
    gap: 0 !important;
    margin-top: 0 !important;
  }

  body#product .cf-product-info-grid>div {
    padding: 0 28px !important;
  }

  body#product .cf-product-info-grid>div:first-child {
    padding-left: 0 !important;
  }

  body#product .cf-product-info-grid>div:last-child {
    padding-right: 0 !important;
  }

  body#product .cf-product-info-grid h2 {
    font-size: 24px !important;
    margin: 0 0 14px !important;
  }

  body#product .cf-product-info-grid .product-description,
  body#product .cf-product-info-grid .product-description p {
    font-size: 14px !important;
    line-height: 1.5 !important;
    margin: 0 !important;
  }

  body#product .cf-size-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 14px !important;
  }

  body#product .cf-size-table th,
  body#product .cf-size-table td {
    border: 1px solid #d4e1ea !important;
    padding: 9px 12px !important;
    text-align: center !important;
  }

  body#product .cf-size-table th {
    font-weight: 700 !important;
    background: #fff !important;
  }

  body#product .cf-product-delivery-box details {
    border: 1px solid #d4e1ea !important;
    border-bottom: 0 !important;
    margin: 0 !important;
  }

  body#product .cf-product-delivery-box details:last-child {
    border-bottom: 1px solid #d4e1ea !important;
  }

  body#product .cf-product-delivery-box summary {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 43px !important;
    padding: 0 14px !important;
    font-size: 14px !important;
    cursor: pointer !important;
    list-style: none !important;
  }

  body#product .cf-product-delivery-box summary::-webkit-details-marker {
    display: none !important;
  }

  body#product .cf-product-delivery-box summary:after {
    content: "\2304";
    font-size: 18px !important;
    color: #08275b !important;
  }

  body#product .cf-product-delivery-box details[open] summary:after {
    content: "\2303";
  }

  body#product .cf-product-delivery-box details p {
    padding: 10px 14px !important;
    margin: 0 !important;
    font-size: 12px !important;
  }

  body#product .cf-product-extra {
    display: none !important;
  }

  body#product .cf-related-section {
    margin-top: 22px !important;
  }

  body#product .cf-related-section>h2 {
    font-size: 25px !important;
    margin: 0 0 10px !important;
  }

  body#product .cf-related-standard-grid .cf-product,
  body#product .cf-related-products .cf-product {
    min-height: 185px !important;
    padding: 12px !important;
  }

  body#product .cf-related-standard-grid .cf-product-photo,
  body#product .cf-related-products .cf-product-photo {
    height: 155px !important;
  }

  body#product .cf-related-standard-grid .cf-product-photo img,
  body#product .cf-related-products .cf-product-photo img {
    height: 155px !important;
  }
}

@media (min-width:768px) and (max-width:1199px) {
  :root {
    --cf16-gutter: 32px;
  }

  .cf-fe-header-main .cf-logo img {
    width: 145px !important;
    max-width: 145px !important;
  }

  .cf-project-hero .cf-hero-copy h2 {
    font-size: 26px !important;
  }

  body#product .cf-cover {
    min-height: 450px !important;
  }

  body#product .cf-cover>img,
  body#product .product-cover img {
    height: 450px !important;
    max-height: 450px !important;
  }

  body#product h1 {
    font-size: 31px !important;
  }

  body#product .product-prices .current-price,
  body#product .product-prices .current-price span {
    font-size: 29px !important;
  }
}

@media (min-width:768px) {
  .cf-fe-header-main .cf-mobile-menu-column {
    display: none !important;
  }
}

@media (min-width:768px) {
  body#index #wrapper>.container {
    width: calc(100% - var(--cf16-gutter)) !important;
    max-width: var(--cf16-max) !important;
  }

  .cf-project-phone,
  .cf-project-footer {
    width: calc(100% - var(--cf16-gutter)) !important;
    max-width: var(--cf16-max) !important;
    border-top: 0 !important;
  }

  body#category .breadcrumb,
  body#product .breadcrumb {
    max-width: var(--cf16-max) !important;
    width: calc(100% - var(--cf16-gutter)) !important;
  }
}

/* ==================================================================
   CarloFactory 1.7 – final typography/header/category corrections
   Based on live screenshots from 2026-09-18.
   ================================================================== */

/* One text family everywhere. Keep icon-font classes untouched. */

html body,
html body a,
html body button,
html body input,
html body select,
html body textarea,
html body label,
html body p,
html body span,
html body strong,
html body small,
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body li,
html body td,
html body th,
html body summary,
html body .header-link,
html body .text_link,
html body .text-cart,
html body .text_item {
  font-family: Arial,Helvetica,sans-serif !important;
}

html body .fa {
  font-family: FontAwesome !important;
}

html body .material-icons {
  font-family: "Material Icons" !important;
}

@media (min-width:768px) {
  /* Header – remove old FieldThemes cart box and normalize account/cart text. */

  .cf-fe-account .header-elementor-link,
  .cf-fe-account .button-link,
  .cf-fe-account .elementor-link-list,
  .cf-fe-account .elementor-link-list-item {
    margin: 0 !important;
    padding: 0 !important;
  }

  .cf-fe-account .header-link {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #08275b !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
  }

  .cf-fe-account .header-link .text_link {
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
  }

  .cf-fe-account .header-link .fa {
    font-size: 22px !important;
    color: #078bd0 !important;
    line-height: 1 !important;
  }

  .cf-fe-cart #_desktop_cart {
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
  }

  .cf-fe-cart .shoppingcart-widget-elementor,
  .cf-fe-cart .blockcart,
  .cf-fe-cart .cart-preview {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    height: auto !important;
    box-shadow: none !important;
  }

  .cf-fe-cart #_desktop_cart .click-cart {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    line-height: 1.15 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #08275b !important;
    text-align: left !important;
    white-space: nowrap !important;
  }

  .cf-fe-cart #_desktop_cart .click-cart i {
    font-size: 23px !important;
    color: #078bd0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .cf-fe-cart #_desktop_cart .text-cart {
    display: inline !important;
    color: #08275b !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
  }

  .cf-fe-cart #_desktop_cart .total_prcart,
  .cf-fe-cart #_desktop_cart .text_item,
  .cf-fe-cart #_desktop_cart .cart-products-count {
    display: none !important;
  }

  /* Category shell – fixed filter rail + fluid catalogue. */

  body#category #wrapper>.container {
    width: calc(100% - 64px) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body#category #wrapper>.container>.row {
    display: grid !important;
    grid-template-columns: 190px minmax(0,1fr) !important;
    column-gap: 22px !important;
    width: 100% !important;
    margin: 0 !important;
    align-items: start !important;
  }

  body#category #left-column {
    grid-column: 1 !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  body#category #content-wrapper {
    grid-column: 2 !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  body#category #right-column {
    display: none !important;
  }

  body#category #main,
  body#category #products,
  body#category #js-product-list {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  /* Listing has no inherited horizontal/list containers any more. */

  body#category .cf-category-products-grid {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body#category .cf-category-products-grid>.cf-product-cell,
  body#category .cf-category-products-grid>.item {
    float: none !important;
    clear: none !important;
    display: block !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body#category .cf-category-products-grid .cf-product {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 405px !important;
    padding: 11px !important;
    border: 1px solid #d7e3ec !important;
    border-radius: 4px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body#category .cf-category-products-grid .cf-product-photo {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 235px !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  body#category .cf-category-products-grid .cf-product-photo img {
    display: block !important;
    width: 100% !important;
    height: 235px !important;
    max-height: 235px !important;
    object-fit: contain !important;
    aspect-ratio: auto !important;
  }

  body#category .cf-category-products-grid .product-description {
    position: static !important;
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    padding: 8px 0 0 !important;
    background: #fff !important;
    text-align: left !important;
  }

  body#category .cf-category-products-grid .product-title,
  body#category .cf-category-products-grid .product-title a {
    min-height: 34px !important;
    margin: 0 0 4px !important;
    color: #08275b !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.22 !important;
    text-align: left !important;
    text-transform: none !important;
  }

  body#category .cf-category-products-grid .product-price-and-shipping {
    margin: 0 0 7px !important;
    text-align: left !important;
  }

  body#category .cf-category-products-grid .price {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #08275b !important;
  }

  body#category .cf-category-products-grid .regular-price {
    font-size: 12px !important;
    color: #7b8995 !important;
  }

  body#category .cf-category-products-grid .cf-buy {
    margin-top: auto !important;
    width: 100% !important;
  }

  body#category .cf-category-products-grid .cf-buy label {
    display: none !important;
  }

  body#category .cf-category-products-grid .cf-buy select {
    display: block !important;
    width: 100% !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 0 7px !important;
    padding: 0 9px !important;
    border: 1px solid #aec6d8 !important;
    border-radius: 3px !important;
    background: #fff !important;
    color: #08275b !important;
    font-size: 12px !important;
  }

  body#category .cf-category-products-grid .cf-buy button,
  body#category .cf-category-products-grid .cf-card-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    border: 0 !important;
    border-radius: 3px !important;
    background: linear-gradient(#0b97dc,#047bb9) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  body#category .cf-category-products-grid .product-flags,
  body#category .cf-category-products-grid .cf-card-desc {
    display: none !important;
  }

  body#category .products-selection {
    display: none !important;
  }

  body#category .cf-category-header {
    margin: 0 0 9px !important;
    padding: 0 !important;
  }

  body#category .cf-category-header h1 {
    margin: 0 0 3px !important;
    font-size: 30px !important;
    line-height: 1.08 !important;
    color: #050505 !important;
  }

  body#category .cf-category-intro,
  body#category .cf-category-intro p {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    color: #334b62 !important;
  }

  /* Facets closer to the approved clean left rail. */

  body#category #search_filters {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body#category #search_filters_ft {
    display: block !important;
    height: auto !important;
  }

  body#category #search_filters .facet {
    margin: 0 !important;
    padding: 10px 10px 13px !important;
    border-bottom: 1px solid #dbe4eb !important;
  }

  body#category #search_filters .facet+.facet {
    padding-top: 13px !important;
  }

  body#category #search_filters .facet-title {
    margin: 0 0 8px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: #08275b !important;
    text-transform: none !important;
  }

  body#category #search_filters .facet ul {
    margin: 0 !important;
    padding: 0 !important;
  }

  body#category #search_filters .facet li {
    margin: 0 0 5px !important;
    padding: 5px 0 !important;
  }

  body#category #search_filters .facet-label {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    margin: 0 !important;
  }

  body#category #search_filters .facet-label a {
    font-size: 14px !important;
    line-height: 1.25 !important;
    color: #243c54 !important;
    text-decoration: none !important;
  }

  /* Pagination/guide span the full catalogue column. */

  body#category .pagination {
    width: 100% !important;
    margin-top: 14px !important;
  }

  body#category .cf-category-guide {
    width: 100% !important;
    margin-top: 16px !important;
  }

  /* Product cleanup still visible on live page. */

  body#product #productCommentsBlock,
  body#product #product_comments_block_tab,
  body#product .product-comments,
  body#product .product-comment-list {
    display: none !important;
  }
}

@media (min-width:768px) and (max-width:991px) {
  body#category #wrapper>.container>.row {
    grid-template-columns: 165px minmax(0,1fr) !important;
    column-gap: 16px !important;
  }

  body#category .cf-category-products-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:767px) {
  html body,
  html body a,
  html body button,
  html body input,
  html body select,
  html body textarea,
  html body label,
  html body p,
  html body span,
  html body strong,
  html body small,
  html body h1,
  html body h2,
  html body h3,
  html body h4,
  html body h5,
  html body h6,
  html body li {
    font-family: Arial,Helvetica,sans-serif !important;
  }

  html body .fa {
    font-family: FontAwesome !important;
  }

  html body .material-icons {
    font-family: "Material Icons" !important;
  }

  body#category .cf-category-products-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body#category .cf-category-products-grid>.cf-product-cell {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body#category .cf-category-products-grid .cf-product {
    display: grid !important;
    grid-template-columns: 43% 57% !important;
    min-height: 220px !important;
    padding: 8px !important;
  }

  body#category .cf-category-products-grid .cf-product-photo {
    height: 205px !important;
  }

  body#category .cf-category-products-grid .cf-product-photo img {
    height: 205px !important;
    object-fit: contain !important;
  }

  body#category .cf-category-products-grid .product-description {
    padding: 8px 0 8px 12px !important;
  }

  body#category .cf-category-products-grid .cf-buy label {
    display: none !important;
  }
}

/* ==================================================================
   CarloFactory 1.8 – 1400px shell + native cart + mobile rebuild
   ================================================================== */

:root {
  --cf18-max: 1400px;
  --cf18-gutter: 48px;
}

/* One desktop shell for HOME / category / product / header / footer. */

@media (min-width:768px) {
  html body .container,
  html body #wrapper>.container,
  body#index #wrapper>.container,
  body#category #wrapper>.container,
  body#product #wrapper>.container,
  .cf-fe-header-main>.elementor-container,
  .cf-fe-header-nav>.elementor-container,
  body#index .elementor-section.elementor-section-boxed>.elementor-container,
  .cf-fe-footer>.elementor-container,
  .cf-project-phone,
  .cf-project-footer,
  body#category .breadcrumb,
  body#product .breadcrumb {
    width: calc(100% - var(--cf18-gutter)) !important;
    max-width: var(--cf18-max) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .cf-section>.elementor-container {
    max-width: var(--cf18-max) !important;
  }
}

/* Cart is always a normal link to checkout summary. No FieldThemes drawer/overlay. */

.cf-cart-widget,
.cf-cart-preview {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.cf-cart-link {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 6px 4px !important;
  border: 0 !important;
  background: transparent !important;
  color: #08275b !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  font: 700 14px/1.15 Arial,Helvetica,sans-serif !important;
}

.cf-cart-link:hover {
  color: #078bd0 !important;
  text-decoration: none !important;
}

.cf-cart-icon {
  font-size: 22px !important;
  color: #078bd0 !important;
}

.cf-cart-link .cart-products-count {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 20px !important;
  height: 20px !important;
  padding: 0 5px !important;
  border-radius: 10px !important;
  background: #f05b31 !important;
  color: #fff !important;
  font: 700 11px/1 Arial,Helvetica,sans-serif !important;
}

.cf-fe-cart .click-cart,
.cf-fe-cart .shoppingcart-widget-elementor .click-cart {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 6px 4px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #08275b !important;
}

/* Standard PrestaShop add-to-cart modal above every theme overlay. */

#blockcart-modal {
  z-index: 100050 !important;
}

#blockcart-modal+.modal-backdrop,
.modal-backdrop {
  z-index: 100040;
}

#blockcart-modal .modal-dialog {
  max-width: 760px !important;
  margin: 40px auto !important;
}

#blockcart-modal .modal-content {
  border: 0 !important;
  border-radius: 5px !important;
  box-shadow: 0 12px 45px rgba(0,0,0,.25) !important;
}

#blockcart-modal .modal-body {
  padding: 24px !important;
}

#blockcart-modal .product-image {
  max-width: 100% !important;
  height: auto !important;
}

#blockcart-modal .cart-content-btn {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin-top: 18px !important;
}

/* Mobile: header has logo + phone + live cart on first row. */

@media (max-width:767px) {
  :root {
    --cf18-gutter: 24px;
  }

  html body .container,
  html body #wrapper>.container,
  body#index .elementor-section.elementor-section-boxed>.elementor-container,
  .cf-fe-header-main>.elementor-container,
  .cf-fe-header-nav>.elementor-container,
  .cf-fe-footer>.elementor-container {
    width: calc(100% - 24px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .cf-fe-header-main {
    padding: 8px 0 5px !important;
  }

  .cf-fe-header-main .elementor-row {
    display: grid !important;
    grid-template-columns: 104px minmax(0,1fr) 48px !important;
    grid-template-rows: auto auto auto !important;
    gap: 8px 10px !important;
    align-items: center !important;
    width: 100% !important;
  }

  .cf-fe-header-main .elementor-column {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: none !important;
  }

  .cf-fe-header-main .elementor-column:nth-child(1) {
    display: block !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .cf-fe-header-main .elementor-column:nth-child(2) {
    display: block !important;
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
  }

  .cf-fe-header-main .elementor-column:nth-child(3) {
    display: block !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  .cf-fe-header-main .elementor-column:nth-child(4) {
    display: none !important;
  }

  .cf-fe-header-main .elementor-column:nth-child(5) {
    display: block !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
  }

  .cf-fe-header-main .elementor-column:nth-child(6) {
    display: block !important;
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
  }

  .cf-fe-header-main .cf-logo,
  .cf-fe-header-main .cf-logo .elementor-widget-container {
    display: block !important;
    width: 100% !important;
  }

  .cf-fe-header-main .cf-logo img {
    display: block !important;
    width: 104px !important;
    max-width: 104px !important;
    height: auto !important;
    max-height: 52px !important;
    object-fit: contain !important;
    margin: 0 !important;
  }

  .cf-fe-header-main .cf-header-phone {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    gap: 4px !important;
    margin: 0 !important;
  }

  .cf-fe-header-main .cf-header-phone:before {
    font-size: 15px !important;
  }

  .cf-fe-header-main .cf-header-phone span {
    display: none !important;
  }

  .cf-fe-header-main .cf-header-phone strong,
  .cf-fe-header-main .cf-header-phone a {
    font: 700 14px/1 Arial,Helvetica,sans-serif !important;
    color: #078bd0 !important;
    white-space: nowrap !important;
  }

  .cf-fe-header-main .cf-fe-cart {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
  }

  .cf-fe-header-main .cf-cart-label {
    display: none !important;
  }

  .cf-fe-header-main .cf-cart-link {
    padding: 4px 0 !important;
    gap: 2px !important;
  }

  .cf-fe-header-main .cf-cart-icon {
    font-size: 25px !important;
    color: #08275b !important;
  }

  .cf-fe-header-main .cf-cart-link .cart-products-count {
    position: absolute !important;
    right: -7px !important;
    top: -4px !important;
    min-width: 18px !important;
    height: 18px !important;
    font-size: 10px !important;
  }

  .cf-fe-header-main .cf-fe-search {
    width: 100% !important;
    margin: 0 !important;
  }

  .cf-fe-header-main .form-search-block,
  .cf-fe-header-main .form-search-block form,
  .cf-fe-header-main #_desktop_search {
    width: 100% !important;
  }

  .cf-fe-header-main .form-search-block form {
    display: flex !important;
  }

  .cf-fe-header-main .form-search-block .search_query,
  .cf-fe-header-main .cf-fe-search input {
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
    min-height: 42px !important;
    font-size: 14px !important;
  }

  .cf-fe-header-main .form-search-block .button-search-form,
  .cf-fe-header-main .cf-fe-search button {
    height: 42px !important;
    min-height: 42px !important;
    width: 46px !important;
    flex: 0 0 46px !important;
  }

  .cf-mobile-menu-trigger {
    width: 100% !important;
    min-height: 38px !important;
    border-top: 1px solid #e0e7ec !important;
    border-bottom: 1px solid #e0e7ec !important;
  }

  .cf-fe-header-nav {
    display: none !important;
  }

  /* HOME mobile: every visual is full width and copy sits underneath. */

  .cf-desktop-home {
    display: none !important;
  }

  .cf-mobile-only {
    display: block !important;
  }

  .cf-mobile-home {
    width: 100% !important;
    margin: 0 0 22px !important;
  }

  .cf-mobile-home-intro>h1 {
    margin: 10px 0 16px !important;
    text-align: left !important;
    font-size: 26px !important;
  }

  .cf-mobile-image-card {
    display: block !important;
    width: 100% !important;
    margin: 0 0 22px !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
  }

  .cf-mobile-image-card>img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: cover !important;
    border-radius: 4px !important;
  }

  .cf-mobile-image-card>div {
    display: block !important;
    width: 100% !important;
    padding: 12px 0 0 !important;
  }

  .cf-mobile-image-card h2 {
    margin: 0 0 6px !important;
    font: 700 22px/1.12 Arial,Helvetica,sans-serif !important;
    color: #071f57 !important;
  }

  .cf-mobile-image-card p {
    margin: 0 0 11px !important;
    font: 15px/1.45 Arial,Helvetica,sans-serif !important;
    color: #263d52 !important;
  }

  .cf-mobile-image-card .btn {
    width: 100% !important;
    min-height: 46px !important;
    font-size: 14px !important;
  }

  .cf-mobile-categories>h2,
  .cf-mobile-section-title h2,
  .cf-mobile-guide>h2 {
    font-size: 24px !important;
    margin: 0 0 12px !important;
  }

  .cf-mobile-categories>a {
    display: block !important;
    width: 100% !important;
    margin: 0 0 22px !important;
    color: #071f57 !important;
    text-decoration: none !important;
  }

  .cf-mobile-categories>a img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: cover !important;
    border-radius: 4px !important;
  }

  .cf-mobile-categories>a span {
    display: block !important;
    width: 100% !important;
    padding: 10px 0 0 !important;
  }

  .cf-mobile-categories strong {
    font-size: 21px !important;
    margin-bottom: 5px !important;
  }

  .cf-mobile-categories small {
    font-size: 14px !important;
    line-height: 1.45 !important;
    margin-bottom: 7px !important;
  }

  .cf-mobile-categories b {
    font-size: 13px !important;
  }

  /* Mobile product cards: full-width photo, all text/actions below. */

  .cf-mobile-products .products {
    display: block !important;
    overflow: visible !important;
  }

  .cf-mobile-products .product-miniature,
  .cf-mobile-products .cf-product-cell,
  .cf-mobile-products .item {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
  }

  .cf-mobile-products .cf-product,
  body#category .cf-category-products-grid .cf-product {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 1px solid #d7e3ec !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  .cf-mobile-products .cf-product-photo,
  body#category .cf-category-products-grid .cf-product-photo {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
  }

  .cf-mobile-products .cf-product-photo img,
  body#category .cf-category-products-grid .cf-product-photo img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    padding: 14px !important;
  }

  .cf-mobile-products .product-description,
  body#category .cf-category-products-grid .product-description {
    display: block !important;
    width: 100% !important;
    padding: 12px 14px 14px !important;
    text-align: left !important;
    background: #fff !important;
  }

  .cf-mobile-products .product-title,
  .cf-mobile-products .product-title a,
  body#category .cf-category-products-grid .product-title,
  body#category .cf-category-products-grid .product-title a {
    font-size: 17px !important;
    line-height: 1.3 !important;
    min-height: 0 !important;
    margin: 0 0 6px !important;
    text-align: left !important;
  }

  .cf-mobile-products .price,
  body#category .cf-category-products-grid .price {
    font-size: 20px !important;
  }

  .cf-mobile-products .cf-buy select,
  body#category .cf-category-products-grid .cf-buy select {
    height: 43px !important;
    min-height: 43px !important;
    font-size: 14px !important;
  }

  .cf-mobile-products .cf-buy button,
  .cf-mobile-products .cf-card-button,
  body#category .cf-category-products-grid .cf-buy button,
  body#category .cf-category-products-grid .cf-card-button {
    height: 48px !important;
    min-height: 48px !important;
    font-size: 14px !important;
  }

  /* Maker cards also stack image then copy. */

  .cf-mobile-maker>article,
  .cf-mobile-maker>div {
    display: block !important;
    width: 100% !important;
    margin: 0 0 22px !important;
  }

  .cf-mobile-maker img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: cover !important;
    border-radius: 4px !important;
  }

  .cf-mobile-maker>article>div,
  .cf-mobile-maker>div>div {
    display: block !important;
    width: 100% !important;
    padding: 12px 0 0 !important;
  }

  .cf-mobile-maker h2 {
    font-size: 22px !important;
    margin: 0 0 6px !important;
  }

  .cf-mobile-maker p {
    font-size: 14px !important;
    line-height: 1.45 !important;
    margin: 0 0 9px !important;
  }

  .cf-mobile-maker a:not(.btn) {
    font-size: 13px !important;
  }

  .cf-mobile-maker .btn {
    width: 100% !important;
    min-height: 46px !important;
    font-size: 13px !important;
  }

  /* Product page mobile – gallery takes entire row, product info follows. */

  body#product .cf-product-main {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body#product .cf-product-page .product_left,
  body#product .cf-product-page .product_right {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  body#product .cf-product-gallery-wrap {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 0 15px !important;
  }

  body#product .cf-gallery {
    display: block !important;
    width: 100% !important;
  }

  body#product .cf-cover {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
  }

  body#product .cf-cover>img,
  body#product .product-cover img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    border: 0 !important;
    border-radius: 4px !important;
  }

  body#product .cf-thumbs {
    display: flex !important;
    width: 100% !important;
    gap: 8px !important;
    margin-top: 8px !important;
    overflow-x: auto !important;
  }

  body#product .cf-thumb-button {
    flex: 0 0 72px !important;
    width: 72px !important;
    min-height: 86px !important;
  }

  .cf-product-page .cf-thumb-button img {
    width: 64px !important;
    height: 78px !important;
  }

  body#product .cf-mobile-product-title {
    display: block !important;
    margin: 0 0 10px !important;
  }

  body#product .cf-mobile-product-title h1 {
    font-size: 28px !important;
  }

  body#product .product_right {
    padding-top: 0 !important;
  }

  body#product .cf-product-info-grid {
    display: block !important;
    width: 100% !important;
    margin-top: 20px !important;
  }

  body#product .cf-product-info-grid>div {
    display: block !important;
    width: 100% !important;
    padding: 16px 0 !important;
    border-right: 0 !important;
    border-top: 1px solid #d9e6ef !important;
  }

  body#product .cf-product-info-grid>div:first-child {
    border-top: 0 !important;
  }

  body#product .cf-related-products {
    display: block !important;
  }

  .cf-related-products>.cf-product-cell,
  .cf-related-products>.product-miniature {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 12px !important;
  }

  /* Footer: one full-width column at a time, expandable by tap. */

  .cf-footer-desktop {
    display: none !important;
  }

  .cf-footer-mobile {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 8px 0 24px !important;
  }

  .cf-project-phone {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 14px 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 5px 8px !important;
  }

  .cf-footer-mobile-brand {
    display: block !important;
    width: 100% !important;
    padding: 18px 0 !important;
    border-bottom: 1px solid #d9e6ef !important;
  }

  .cf-footer-mobile-brand img {
    display: block !important;
    width: 120px !important;
    height: auto !important;
    margin: 0 0 7px !important;
  }

  .cf-footer-mobile-brand span {
    display: block !important;
    margin: 0 0 10px !important;
    font-size: 12px !important;
  }

  .cf-footer-mobile-brand a {
    display: block !important;
    padding: 4px 0 !important;
    font-size: 14px !important;
    color: #08275b !important;
  }

  .cf-footer-mobile details {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    border-bottom: 1px solid #d9e6ef !important;
  }

  .cf-footer-mobile summary {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 54px !important;
    padding: 0 !important;
    list-style: none !important;
    cursor: pointer !important;
    font: 700 16px/1.2 Arial,Helvetica,sans-serif !important;
    color: #08275b !important;
  }

  .cf-footer-mobile summary::-webkit-details-marker {
    display: none !important;
  }

  .cf-footer-mobile summary:after {
    content: "+" !important;
    font-size: 22px !important;
    font-weight: 400 !important;
  }

  .cf-footer-mobile details[open] summary:after {
    content: "−" !important;
  }

  .cf-footer-mobile details>div {
    display: block !important;
    width: 100% !important;
    padding: 0 0 12px !important;
  }

  .cf-footer-mobile details a {
    display: block !important;
    width: 100% !important;
    padding: 8px 0 !important;
    font-size: 14px !important;
    color: #334b62 !important;
  }

  #blockcart-modal .modal-dialog {
    width: calc(100% - 24px) !important;
    max-width: none !important;
    margin: 18px auto !important;
  }

  #blockcart-modal .modal-body {
    padding: 16px !important;
  }

  #blockcart-modal .divide-left,
  #blockcart-modal .divide-right {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
}

@media (min-width:768px) {
  .cf-footer-mobile {
    display: none !important;
  }

  .cf-footer-desktop {
    display: grid !important;
  }
}

@media (max-width:767px) {
  body#product .cf-product-page .product_left {
    display: flex !important;
    flex-direction: column !important;
  }

  body#product .cf-product-gallery-wrap {
    order: 1 !important;
  }

  body#product .cf-mobile-product-title {
    order: 2 !important;
    margin: 12px 0 8px !important;
  }
}

/* ==================================================================
   CarloFactory 1.9 – native ps_shoppingcart + strict mobile stacking
   ================================================================== */

@media (max-width:767px) {
  /* CATEGORY: never inherit FieldThemes horizontal/list card layout. */

  html body#category #js-product-list .cf-category-products-grid,
  html body#category #box-product-grid.cf-category-products-grid {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 14px !important;
    width: 100% !important;
  }

  html body#category #js-product-list .cf-category-products-grid>.cf-product-cell,
  html body#category #box-product-grid.cf-category-products-grid>.cf-product-cell,
  html body#category #box-product-grid.cf-category-products-grid>.item {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    flex: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body#category #js-product-list article.cf-product,
  html body#category #box-product-grid article.cf-product,
  html body#category .cf-category-products-grid article.product-miniature {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  html body#category #js-product-list article.cf-product>.cf-product-photo,
  html body#category #box-product-grid article.cf-product>.cf-product-photo,
  html body#category .cf-category-products-grid .thumbnail.product-thumbnail {
    display: block !important;
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    flex: none !important;
  }

  html body#category #js-product-list article.cf-product>.cf-product-photo img,
  html body#category #box-product-grid article.cf-product>.cf-product-photo img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 16px !important;
    object-fit: contain !important;
  }

  html body#category #js-product-list article.cf-product>.product-description,
  html body#category #box-product-grid article.cf-product>.product-description {
    position: static !important;
    order: 2 !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 14px 16px 16px !important;
    float: none !important;
    clear: both !important;
    transform: none !important;
    text-align: left !important;
  }

  html body#category .cf-category-products-grid .product-title,
  html body#category .cf-category-products-grid .product-title a {
    display: block !important;
    width: 100% !important;
    margin: 0 0 7px !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
  }

  html body#category .cf-category-products-grid .product-price-and-shipping {
    margin: 0 0 10px !important;
    text-align: left !important;
  }

  html body#category .cf-category-products-grid .cf-buy,
  html body#category .cf-category-products-grid .cf-card-button {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* PRODUCT / ZOBACZ TAKŻE: image 100%, then copy and button. */

  html body#product .cf-related-standard-grid,
  html body#product .cf-related-products {
    display: block !important;
    width: 100% !important;
  }

  html body#product .cf-related-standard-grid>.cf-product-cell,
  html body#product .cf-related-products>.cf-product-cell,
  html body#product .cf-related-products>.product-miniature {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
  }

  html body#product .cf-related-standard-grid article.cf-product,
  html body#product .cf-related-products article.cf-product {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  html body#product .cf-related-standard-grid .cf-product-photo,
  html body#product .cf-related-products .cf-product-photo {
    order: 1 !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
  }

  html body#product .cf-related-standard-grid .cf-product-photo img,
  html body#product .cf-related-products .cf-product-photo img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    padding: 16px !important;
    object-fit: contain !important;
  }

  html body#product .cf-related-standard-grid .product-description,
  html body#product .cf-related-products .product-description {
    order: 2 !important;
    display: block !important;
    width: 100% !important;
    padding: 12px 15px 15px !important;
    text-align: left !important;
  }

  html body#product .cf-related-standard-grid .product-title,
  html body#product .cf-related-standard-grid .product-title a,
  html body#product .cf-related-products .product-title,
  html body#product .cf-related-products .product-title a {
    font-size: 17px !important;
    line-height: 1.3 !important;
    text-align: left !important;
    margin: 0 0 6px !important;
  }

  html body#product .cf-related-standard-grid .price,
  html body#product .cf-related-products .price {
    font-size: 19px !important;
  }

  html body#product .cf-related-standard-grid .cf-card-button,
  html body#product .cf-related-products .cf-card-button,
  html body#product .cf-related-standard-grid .cf-buy button,
  html body#product .cf-related-products .cf-buy button {
    width: 100% !important;
    min-height: 48px !important;
    margin-top: 9px !important;
    font-size: 14px !important;
  }

  /* HOME / mobile product carousel cards use the same vertical model. */

  html body#index .cf-mobile-products article.cf-product,
  html body#index .cf-mobile-products .product-miniature {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    width: 100% !important;
  }

  html body#index .cf-mobile-products .cf-product-photo {
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }

  html body#index .cf-mobile-products .cf-product-photo img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    padding: 14px !important;
    object-fit: contain !important;
  }

  html body#index .cf-mobile-products .product-description {
    display: block !important;
    width: 100% !important;
    padding: 13px 14px 15px !important;
  }

  /* HOME / Jak wybrać skarpety: 3 separate full-width boxes. */

  html body#index .cf-mobile-guide-grid {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 0 16px !important;
  }

  html body#index .cf-mobile-guide-grid>div {
    display: grid !important;
    grid-template-columns: 42px minmax(0,1fr) !important;
    column-gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 15px !important;
    border: 1px solid #d7e3ec !important;
    border-radius: 4px !important;
    background: #fff !important;
  }

  html body#index .cf-mobile-guide-grid>div:first-child,
  html body#index .cf-mobile-guide-grid>div:last-child {
    padding: 15px !important;
    border: 1px solid #d7e3ec !important;
  }

  html body#index .cf-mobile-guide-grid i {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    margin: 1px 0 0 !important;
    font-size: 27px !important;
    text-align: center !important;
  }

  html body#index .cf-mobile-guide-grid strong {
    grid-column: 2 !important;
    display: block !important;
    margin: 0 0 4px !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
  }

  html body#index .cf-mobile-guide-grid p {
    grid-column: 2 !important;
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  html body#index .cf-mobile-help {
    display: flex !important;
    width: 100% !important;
    justify-content: flex-start !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 16px !important;
    border: 1px solid #d7e3ec !important;
    border-radius: 4px !important;
  }
}

/* CarloFactory 2.0 – cart quantity must always remain visible after AJAX refresh. */

.cf-fe-cart #_desktop_cart .cf-cart-link .cart-products-count,
.cf-fe-cart #_desktop_cart .cf-cart-preview .cart-products-count,
.cf-fe-cart #_desktop_cart .blockcart .cart-products-count {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

@media (min-width:768px) {
  .cf-fe-cart #_desktop_cart .cf-cart-label {
    display: inline !important;
  }
}

/* CarloFactory 2.1 – visible live cart quantity, including legacy FieldThemes markup. */

.cf-fe-cart .cart-products-count,
.cf-cart-widget .cart-products-count,
#_desktop_cart .cart-products-count {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 20px !important;
  height: 20px !important;
  padding: 0 5px !important;
  margin-left: 3px !important;
  border-radius: 10px !important;
  background: #f05b31 !important;
  color: #fff !important;
  font: 700 11px/1 Arial,Helvetica,sans-serif !important;
  vertical-align: middle !important;
}
/* FINAL CATEGORY COLUMNS — 25% / 75% */
@media (min-width: 768px) {

  body#category #wrapper > .container > .row {
    display: grid !important;
    grid-template-columns: 25% 75% !important;
    column-gap: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    align-items: start !important;
  }

  body#category #left-column {
    grid-column: 1 !important;

    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;

    flex: none !important;

    padding: 0 28px 0 0 !important;
    margin: 0 !important;
  }

  body#category #content-wrapper {
    grid-column: 2 !important;

    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;

    flex: none !important;

    padding: 0 !important;
    margin: 0 !important;
  }

}
/* =========================================================
   CATEGORY — TITLE FULL WIDTH + DESCRIPTION AFTER PAGINATION
   ========================================================= */

body#category .cf-category-title-full {
  width: 100% !important;
  background: #fff !important;
}

body#category .cf-category-title-full > .container {
  width: calc(100% - 52px) !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 22px 0 10px !important;
}

body#category .cf-category-title-full h1 {
  margin: 0 !important;
  padding: 0 !important;

  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 32px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;

  color: #000 !important;
}


/* Opis dokładnie pod paginacją */
body#category .cf-category-description-bottom {
  width: 100% !important;

  margin: 22px 0 30px !important;
  padding: 22px 0 0 !important;

  border-top: 1px solid #d9e3ea !important;

  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.6 !important;

  color: #334b62 !important;
}

body#category .cf-category-description-bottom p,
body#category .cf-category-description-bottom li,
body#category .cf-category-description-bottom span,
body#category .cf-category-description-bottom a {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

body#category .cf-category-description-bottom > :first-child {
  margin-top: 0 !important;
}

body#category .cf-category-description-bottom > :last-child {
  margin-bottom: 0 !important;
}


@media (max-width: 767px) {

  body#category .cf-category-title-full > .container {
    width: calc(100% - 28px) !important;
    padding: 14px 0 8px !important;
  }

  body#category .cf-category-title-full h1 {
    font-size: 27px !important;
  }

  body#category .cf-category-description-bottom {
    margin: 16px 10px 24px !important;
    padding-top: 16px !important;
  }
}
/* =========================================================
   CATEGORY PAGINATION — FINAL
   ========================================================= */

body#category .pagination {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;

  width: 100% !important;
  height: auto !important;
  min-height: 42px !important;

  margin: 18px 0 24px !important;
  padding: 0 !important;

  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

/* Reset bootstrapowych kolumn */
body#category .pagination > div,
body#category .pagination .col-md-4,
body#category .pagination .col-md-6,
body#category .pagination .col-md-8 {
  float: none !important;

  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;

  flex: 0 0 auto !important;

  margin: 0 !important;
  padding: 0 !important;
}

/*
 * Standard PrestaShop:
 * pierwsza kolumna = Showing...
 * druga kolumna = strony
 */

/* strony po lewej */
body#category .pagination .col-md-6,
body#category .pagination .col-md-8 {
  order: 1 !important;
}

/* Showing... po prawej */
body#category .pagination .col-md-4 {
  order: 2 !important;
  margin-left: auto !important;
  text-align: right !important;
}


/* UL z numerami */
body#category .pagination ul,
body#category .pagination ul.page-list,
body#category .pagination .page-list {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;

  width: auto !important;
  height: 38px !important;

  gap: 5px !important;

  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;

  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}


/* LI */
body#category .pagination ul.page-list > li,
body#category .pagination .page-list > li {
  display: block !important;
  float: none !important;
  position: static !important;

  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;

  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
}


/* A / SPAN = faktyczny kwadrat */
body#category .pagination ul.page-list > li > a,
body#category .pagination ul.page-list > li > span,
body#category .pagination .page-list > li > a,
body#category .pagination .page-list > li > span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  position: static !important;
  float: none !important;

  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;

  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;

  margin: 0 !important;
  padding: 0 !important;

  box-sizing: border-box !important;

  border: 1px solid #ccd9e3 !important;
  border-radius: 0 !important;

  background: #fff !important;
  color: #08275b !important;

  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 400 !important;

  text-align: center !important;
  text-decoration: none !important;
}


/* aktywna strona */
body#category .pagination .page-list > li.current > a,
body#category .pagination .page-list > li.current > span {
  background: #078bd0 !important;
  border-color: #078bd0 !important;
  color: #fff !important;
}


/* Showing 1-12 of... */
body#category .pagination .col-md-4,
body#category .pagination .pagination-summary {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 12px !important;
  line-height: 38px !important;
  color: #667b8d !important;

  white-space: nowrap !important;
}


/* MOBILE */
@media (max-width: 767px) {

  body#category .pagination {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 9px !important;

    width: 100% !important;
    min-height: 0 !important;
  }

  body#category .pagination .col-md-6,
  body#category .pagination .col-md-8 {
    order: 1 !important;
    width: 100% !important;
  }

  body#category .pagination .col-md-4 {
    order: 2 !important;

    width: 100% !important;
    margin: 0 !important;

    text-align: left !important;
    line-height: 1.4 !important;
  }

  body#category .pagination ul,
  body#category .pagination ul.page-list,
  body#category .pagination .page-list {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;

    width: 100% !important;
    height: auto !important;

    gap: 5px !important;
  }

  body#category .pagination ul.page-list > li,
  body#category .pagination .page-list > li,
  body#category .pagination ul.page-list > li > a,
  body#category .pagination ul.page-list > li > span,
  body#category .pagination .page-list > li > a,
  body#category .pagination .page-list > li > span {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;

    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
  }
}
/* ==================================================
   PAGINATION CARLO — FINAL, BEZ BOOTSTRAPA
   ================================================== */

body#category .cf-pagination {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;

  width: 100% !important;

  margin: 18px 0 24px !important;
  padding: 0 !important;

  border: 0 !important;
  background: transparent !important;
}

body#category .cf-pagination-nav {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#category .cf-pagination-list {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;

  gap: 7px !important;

  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;
}

body#category .cf-pagination-item {
  display: block !important;

  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;

  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;

  margin: 0 !important;
  padding: 0 !important;
}

body#category .cf-pagination-link,
body#category .cf-pagination-spacer > span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;

  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;

  margin: 0 !important;
  padding: 0 !important;

  box-sizing: border-box !important;

  border: 1px solid #ccd9e3 !important;
  border-radius: 0 !important;

  background: #fff !important;
  color: #08275b !important;

  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  line-height: 1 !important;

  text-decoration: none !important;
}

body#category .cf-pagination-item.is-current .cf-pagination-link {
  background: #078bd0 !important;
  border-color: #078bd0 !important;
  color: #fff !important;
}

body#category .cf-pagination-summary {
  margin: 0 0 0 auto !important;
  padding: 0 !important;

  text-align: right !important;

  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  line-height: 40px !important;
  color: #596b7c !important;

  white-space: nowrap !important;
}


/* MOBILE */
@media (max-width: 767px) {

  body#category .cf-pagination {
    flex-wrap: wrap !important;
    gap: 10px !important;
  }

  body#category .cf-pagination-list {
    flex-wrap: wrap !important;
    gap: 5px !important;
  }

  body#category .cf-pagination-item,
  body#category .cf-pagination-link,
  body#category .cf-pagination-spacer > span {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;

    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
  }

  body#category .cf-pagination-summary {
    width: 100% !important;
    margin: 0 !important;

    text-align: left !important;
    line-height: 1.4 !important;
  }
}
/* =========================================================
   FINAL 1400 PX — HEADER + HOME + CATEGORY + PRODUCT
   ========================================================= */

@media (min-width: 768px) {

  /* GŁÓWNE SEKCJE FIELDELEMENTORA */
  body .cf-fe-header-main.elementor-section,
  body .cf-fe-header-nav.elementor-section,
  body#index .cf-desktop-home.elementor-section,
  body .cf-project-footer-section.elementor-section {
    width: calc(100% - 0px) !important;
    max-width: 1400px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    left: auto !important;
    right: auto !important;
    transform: none !important;
  }


  /* WEWNĘTRZNE CONTAINERY */
  body .cf-fe-header-main > .elementor-container,
  body .cf-fe-header-nav > .elementor-container,
  body#index .cf-desktop-home > .elementor-container,
  body .cf-project-footer-section > .elementor-container {
    width: 100% !important;
    max-width: 1400px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
  }


  /* HOME */
  body#index #wrapper > .container,
  body#index #content-wrapper,
  body#index #content,
  body#index .page-home {
    width: calc(100% - 0px) !important;
    max-width: 1400px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
  }


  /* KAŻDA BOXED SEKCJA NA HOME */
  body#index
  .elementor-section.elementor-section-boxed
  > .elementor-container {
    width: 100% !important;
    max-width: 1400px !important;
  }


  /* KATEGORIA + PRODUKT */
  body#category #wrapper > .container,
  body#product #wrapper > .container {
    width: calc(100% - 48px) !important;
    max-width: 1400px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
  }


  /* FOOTER */
  body .cf-project-phone,
  body .cf-project-footer {
    width: calc(100% - 0px) !important;
    max-width: 1400px !important;

    margin-left: auto !important;
    margin-right: auto !important;
  }

}
/* =====================================================
   HEADER DESKTOP — prawidłowe proporcje 18/42/18/12/10
   ===================================================== */

@media (min-width: 992px) {

  .cf-fe-header-main > .elementor-container > .elementor-row {
    display: grid !important;

    grid-template-columns:
      18fr
      42fr
      18fr
      12fr
      10fr !important;

    align-items: center !important;
    gap: 18px !important;

    width: 100% !important;
  }

  /* reset szerokości narzuconych przez FieldElementor */
  .cf-fe-header-main > .elementor-container > .elementor-row > .elementor-column {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

    flex: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }


  /* LOGO */
  .cf-fe-header-main .elementor-element-19644bb {
    grid-column: 1 !important;
  }


  /* SEARCH */
  .cf-fe-header-main .elementor-element-3b5489c {
    grid-column: 2 !important;
  }

  .cf-fe-header-main .elementor-element-3b5489c .elementor-widget-wrap,
  .cf-fe-header-main .elementor-element-3b5489c .elementor-widget-container,
  .cf-fe-header-main .elementor-element-3b5489c .cf-fe-search,
  .cf-fe-header-main .elementor-element-3b5489c #_desktop_search,
  .cf-fe-header-main .elementor-element-3b5489c .form-search-block,
  .cf-fe-header-main .elementor-element-3b5489c .form-search-block form {
    width: 100% !important;
    max-width: none !important;
  }

  .cf-fe-header-main .elementor-element-3b5489c .form-search-block form {
    display: flex !important;
  }

  .cf-fe-header-main .elementor-element-3b5489c .search_query_top_ft {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
  }

  .cf-fe-header-main .elementor-element-3b5489c .search_query {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }


  /* TELEFON */
  .cf-fe-header-main .elementor-element-bea3e94 {
    grid-column: 3 !important;
  }


  /* MOJE KONTO */
  .cf-fe-header-main .elementor-element-a159777 {
    grid-column: 4 !important;
  }


  /* KOSZYK */
  .cf-fe-header-main .elementor-element-b56b4f0 {
    grid-column: 5 !important;
  }

}
/* HEADER FINAL — logo + search bliżej siebie */
@media (min-width: 992px) {

  .cf-fe-header-main > .elementor-container > .elementor-row {
    display: grid !important;

    grid-template-columns:
      180px
      540px
      minmax(260px, 1fr)
      auto
      auto !important;

    column-gap: 14px !important;
    align-items: center !important;
  }

  /* reset szerokości FieldElementora */
  .cf-fe-header-main > .elementor-container > .elementor-row > .elementor-column {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    flex: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* LOGO */
  .cf-fe-header-main > .elementor-container > .elementor-row > .elementor-column:nth-child(1) {
    grid-column: 1 !important;
  }

  /* SEARCH */
  .cf-fe-header-main > .elementor-container > .elementor-row > .elementor-column:nth-child(2) {
    grid-column: 2 !important;
  }

  .cf-fe-header-main > .elementor-container > .elementor-row > .elementor-column:nth-child(2)
  .elementor-widget-wrap,

  .cf-fe-header-main > .elementor-container > .elementor-row > .elementor-column:nth-child(2)
  .elementor-widget-container,

  .cf-fe-header-main .cf-fe-search,
  .cf-fe-header-main #_desktop_search,
  .cf-fe-header-main .form-search-block,
  .cf-fe-header-main .form-search-block form {
    width: 100% !important;
    max-width: none !important;
  }

  /* telefon */
  .cf-fe-header-main > .elementor-container > .elementor-row > .elementor-column:nth-child(3) {
    grid-column: 3 !important;
  }

  /* konto */
  .cf-fe-header-main > .elementor-container > .elementor-row > .elementor-column:nth-child(4) {
    grid-column: 4 !important;
  }

  /* koszyk */
  .cf-fe-header-main > .elementor-container > .elementor-row > .elementor-column:nth-child(5) {
    grid-column: 5 !important;
  }
}
body#product #wrapper {
  padding-top: 15px !important;
}
/* PRODUCT — quantity po lewej, przycisk przy prawej krawędzi */
@media (min-width: 768px) {

  body#product .cf-product-quantity {
    display: grid !important;
    grid-template-columns: 230px 1fr !important;
    column-gap: 24px !important;
    align-items: center !important;

    width: 100% !important;
  }

  /* lewa kolumna: ILOŚĆ + minus/input/plus */
  body#product .cf-product-quantity > .qty {
    grid-column: 1 !important;

    display: grid !important;
    grid-template-columns: 60px 152px !important;
    column-gap: 10px !important;
    align-items: center !important;

    width: 222px !important;
    min-width: 222px !important;
    max-width: 222px !important;

    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
  }

  body#product .cf-product-quantity > .qty .control-label {
    width: 60px !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
  }

  body#product .cf-qty-control {
    width: 152px !important;
    min-width: 152px !important;
    max-width: 152px !important;

    display: grid !important;
    grid-template-columns: 44px 64px 44px !important;
  }

  /* prawa kolumna */
  body#product .cf-product-quantity > .add {
    grid-column: 2 !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    justify-content: flex-end !important;

    float: none !important;
  }

  /* sam przycisk przy prawej krawędzi */
  body#product .cf-product-quantity > .add .add-to-cart {
    width: 260px !important;
    min-width: 260px !important;
    max-width: 260px !important;

    margin: 0 !important;
  }
}
/* =========================================================
   MOBILE HEADER FINAL FIX
   LOGO | TELEFON | KOSZYK
   SEARCH
   MENU
   ========================================================= */

@media (max-width: 767px) {

  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .cf-fe-header-main,
  .cf-fe-header-main > .elementor-container,
  .cf-fe-header-main .elementor-row {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .cf-fe-header-main > .elementor-container {
    width: calc(100% - 28px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }


  /* =========================
     GRID
     ========================= */

  .cf-fe-header-main .elementor-row {
    display: grid !important;

    grid-template-columns:
      92px
      minmax(0, 1fr)
      46px !important;

    grid-template-rows:
      54px
      44px !important;

    column-gap: 8px !important;
    row-gap: 9px !important;

    align-items: center !important;

    margin: 0 !important;
    padding: 0 !important;
  }


  .cf-fe-header-main .elementor-column {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    flex: none !important;

    box-sizing: border-box !important;
  }


  /* =========================
     LOGO
     ========================= */

  .cf-fe-header-main .elementor-column:nth-child(1) {
    display: block !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  /* FieldElementor potrafi ukryć desktop logo na mobile */
  .cf-fe-header-main .cf-logo,
  .cf-fe-header-main .cf-logo.hidden-sm-down,
  .cf-fe-header-main .cf-logo.hidden-md-down,
  .cf-fe-header-main .cf-logo .hidden-sm-down,
  .cf-fe-header-main .cf-logo .hidden-md-down,
  .cf-fe-header-main .cf-logo #_desktop_logo,
  .cf-fe-header-main .cf-logo .elementor-widget-container {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    width: 92px !important;
    max-width: 92px !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  .cf-fe-header-main .cf-logo a {
    display: block !important;
    width: 92px !important;
  }

  .cf-fe-header-main .cf-logo img,
  .cf-fe-header-main .cf-logo .logo {
    display: block !important;

    width: 92px !important;
    max-width: 92px !important;

    height: auto !important;
    max-height: 48px !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;

    visibility: visible !important;
    opacity: 1 !important;
  }


  /* =========================
     SEARCH
     ========================= */

  .cf-fe-header-main .elementor-column:nth-child(2) {
    display: block !important;

    grid-column: 1 / 4 !important;
    grid-row: 2 !important;
  }

  .cf-fe-header-main .cf-fe-search,
  .cf-fe-header-main .cf-fe-search .elementor-widget-container,
  .cf-fe-header-main #_desktop_search,
  .cf-fe-header-main .form-search-block,
  .cf-fe-header-main .form-search-block form {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
  }

  .cf-fe-header-main .form-search-block form {
    display: flex !important;
  }

  .cf-fe-header-main .form-search-block input,
  .cf-fe-header-main .cf-fe-search input {
    flex: 1 1 0 !important;

    width: 1% !important;
    min-width: 0 !important;
    max-width: none !important;

    height: 42px !important;

    box-sizing: border-box !important;
  }

  .cf-fe-header-main .form-search-block button,
  .cf-fe-header-main .cf-fe-search button {
    flex: 0 0 44px !important;

    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;

    height: 42px !important;
  }


  /* =========================
     TELEFON
     ========================= */

  .cf-fe-header-main .elementor-column:nth-child(3) {
    display: block !important;

    grid-column: 2 !important;
    grid-row: 1 !important;

    min-width: 0 !important;
  }

  .cf-fe-header-main .cf-fe-phone,
  .cf-fe-header-main .cf-fe-phone .elementor-widget-container,
  .cf-fe-header-main .cf-header-phone {
    display: flex !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 0 !important;

    gap: 4px !important;
  }

  .cf-fe-header-main .cf-header-phone span {
    display: none !important;
  }

  .cf-fe-header-main .cf-header-phone strong,
  .cf-fe-header-main .cf-header-phone a {
    font-size: 12px !important;
    line-height: 1 !important;

    white-space: nowrap !important;
  }

  .cf-fe-header-main .cf-header-phone:before {
    font-size: 17px !important;
    flex: 0 0 auto !important;
  }


  /* =========================
     KONTO
     ========================= */

  .cf-fe-header-main .elementor-column:nth-child(4) {
    display: none !important;
  }


  /* =========================
     KOSZYK
     ========================= */

  .cf-fe-header-main .elementor-column:nth-child(5) {
    display: block !important;

    grid-column: 3 !important;
    grid-row: 1 !important;

    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
  }

  .cf-fe-header-main .cf-fe-cart,
  .cf-fe-header-main .cf-fe-cart #_desktop_cart,
  .cf-fe-header-main .cf-fe-cart .blockcart,
  .cf-fe-header-main .cf-fe-cart .cart-preview {
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  .cf-fe-header-main .cf-fe-cart .click-cart {
    display: flex !important;

    position: relative !important;

    width: 46px !important;
    height: 42px !important;

    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  .cf-fe-header-main .cf-fe-cart .text-cart {
    display: none !important;
  }

  .cf-fe-header-main .cf-fe-cart .cart-products-count {
    position: absolute !important;

    top: 1px !important;
    right: 0 !important;

    display: inline-flex !important;
  }

}
/* =========================================================
   CATEGORY TOP BAR + MOBILE FILTER FINAL
   ========================================================= */

/* DESKTOP */
@media (min-width: 768px) {

  body#category #js-product-list-top.products-selection {
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    align-items: center !important;
    gap: 18px !important;

    width: 100% !important;
    min-height: 44px !important;

    margin: 0 0 14px !important;
    padding: 0 !important;
  }

  /* filtruj tylko mobile */
  body#category .cf-mobile-filter-toggle {
    display: none !important;
  }

  /* grid/list */
  body#category .click-product-list-grid {
    display: none !important;
    align-items: center !important;
    gap: 7px !important;
  }

  body#category .click-product-grid,
  body#category .click-product-list {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 34px !important;
    height: 34px !important;

    border: 1px solid #d7e3ec !important;
    border-radius: 3px !important;

    cursor: pointer !important;
  }

  /* liczba produktów */
  body#category .products-selection .total-products {
    display: block !important;
    margin: 0 !important;
  }

  body#category .products-selection .total-products p {
    margin: 0 !important;
    font-size: 12px !important;
    color: #54697a !important;
  }

  /* sortowanie po prawej */
  body#category .products-selection .box-sort-by {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;

    margin: 0 !important;
  }

  body#category .products-selection .sort-by {
    display: inline-block !important;
    white-space: nowrap !important;
    font-size: 12px !important;
  }

  body#category .products-sort-order {
    width: auto !important;
    min-width: 185px !important;
    margin: 0 !important;
  }

}


/* MOBILE */
@media (max-width: 767px) {

  body#category #js-product-list-top.products-selection {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;

    width: 100% !important;
    margin: 0 0 10px !important;
  }

  body#category .click-product-list-grid,
  body#category .products-selection .total-products,
  body#category .products-selection .sort-by {
    display: none !important;
  }

  body#category .cf-mobile-filter-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;

    width: 100% !important;
    height: 43px !important;

    margin: 0 !important;
  }

  body#category .products-selection .box-sort-by,
  body#category .products-selection .products-sort-order {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body#category .products-sort-order .select-title {
    width: 100% !important;
    height: 43px !important;
  }


  /* domyślnie filtry zamknięte */
  body#category #search_filters_wrapper,
  body#category #search_filters {
    display: none !important;
  }

  /* po kliknięciu pokaż CAŁY wrapper,
     bo ma klasę hidden-sm-down */
  body#category.cf-mobile-filters-open #search_filters_wrapper,
  body#category.cf-mobile-filters-open #search_filters_wrapper.hidden-sm-down,
  body#category.cf-mobile-filters-open #search_filters {
    display: block !important;
  }

  body#category.cf-mobile-filters-open #search_filters_wrapper {
    width: 100% !important;
    margin: 0 0 12px !important;
  }

  body#category.cf-mobile-filters-open #search_filters {
    padding: 12px !important;
    border: 1px solid #d7e3ec !important;
    background: #fff !important;
  }

  /* żeby opcje faktycznie były widoczne */
  body#category.cf-mobile-filters-open #search_filters .facet .collapse {
    /*display: block !important;*/
    height: auto !important;
  }

}
@media (max-width: 767px) {

  /* cały blok pod listingiem */
  body#category .cf-category-guide {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;

    width: 100% !important;
    max-width: 100% !important;
    margin: 16px 0 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
  }

  body#category .cf-category-guide > * {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 100% !important;
    box-sizing: border-box !important;
  }

  /* opis */
  body#category .cf-category-guide-copy {
    padding: 0 15px 16px !important;
    border-bottom: 1px solid #d7e3ec !important;
  }

  /* box 2 */
  body#category .cf-category-tip {
    display: grid !important;
    grid-template-columns: 36px minmax(0, 1fr) !important;
    column-gap: 10px !important;
    align-items: start !important;

    padding: 16px 0 !important;
    border-bottom: 1px solid #d7e3ec !important;
    border-left: 0 !important;
    border-right: 0 !important;
  }

  /* box 3 */
  body#category .cf-category-contact {
    display: grid !important;
    grid-template-columns: 36px minmax(0, 1fr) !important;
    column-gap: 10px !important;
    align-items: start !important;

    padding: 16px 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
  }

  body#category .cf-guide-icon {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;

    width: 36px !important;
    min-width: 36px !important;
    font-size: 24px !important;
    line-height: 1 !important;
  }

  body#category .cf-category-tip > div,
  body#category .cf-category-contact > div {
    min-width: 0 !important;
    width: 100% !important;
  }

  body#category .cf-category-guide h2,
  body#category .cf-category-guide h3,
  body#category .cf-category-guide p,
  body#category .cf-category-guide a {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  body#category .cf-category-guide h2 {
    margin: 0 0 8px !important;
    font-size: 22px !important;
    line-height: 1.15 !important;
  }

  body#category .cf-category-guide h3 {
    margin: 0 0 6px !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
  }

  body#category .cf-category-guide p {
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  body#category .cf-category-contact a {
    display: inline-block !important;
    margin-top: 8px !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    white-space: normal !important;
  }
}
@media (max-width: 767px) {
    body#category .cf-pagination {
        flex-wrap: wrap !important;
        gap: 10px !important;
        margin: 0 10% !important;
    }
}
/* =========================================================
   PRODUCT MOBILE FINAL
   quantity: [-] [1] [+]
   add to cart: full width below
   ========================================================= */

@media (max-width: 767px) {

  /* cały blok ilość + koszyk */
  body#product .product-add-to-cart {
    width: 100% !important;
    max-width: 100% !important;
    margin: 18px 0 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body#product .product-add-to-cart .product-quantity {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
  }


  /* =========================
     ILOŚĆ
     ========================= */

  body#product .product-add-to-cart .product-quantity > .qty {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
  }

  body#product .product-add-to-cart .qty .control-label {
    display: block !important;

    flex: 0 0 auto !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 14px !important;
    line-height: 42px !important;
    font-weight: 400 !important;

    white-space: nowrap !important;
  }


  /* =========================
     TOUCHSPIN
     [-] [1] [+]
     ========================= */

  body#product .product-add-to-cart .bootstrap-touchspin {
    display: grid !important;

    grid-template-columns:
      40px
      50px
      40px !important;

    grid-template-rows: 42px !important;

    width: 130px !important;
    min-width: 130px !important;
    max-width: 130px !important;

    height: 42px !important;

    margin: 0 !important;
    padding: 0 !important;

    position: relative !important;

    float: none !important;
  }

  /* prefix/postfix są zbędne */
  body#product .product-add-to-cart
  .bootstrap-touchspin-prefix,

  body#product .product-add-to-cart
  .bootstrap-touchspin-postfix {
    display: none !important;
  }

  /*
   * TouchSpin wkłada oba przyciski do jednego pionowego wrappera.
   * display:contents pozwala nam ułożyć je poziomo w gridzie.
   */
  body#product .product-add-to-cart
  .bootstrap-touchspin .input-group-btn-vertical {
    display: contents !important;
  }


  /* MINUS */
  body#product .product-add-to-cart
  .bootstrap-touchspin-down {
    grid-column: 1 !important;
    grid-row: 1 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    position: static !important;

    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;

    height: 42px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 1px solid #9ca8b2 !important;
    border-radius: 3px 0 0 3px !important;

    background: #f7f7f7 !important;
    color: #08275b !important;

    font-size: 0 !important;

    box-shadow: none !important;
  }

  body#product .product-add-to-cart
  .bootstrap-touchspin-down i {
    display: none !important;
  }

  body#product .product-add-to-cart
  .bootstrap-touchspin-down::before {
    content: "−" !important;

    display: block !important;

    font: 400 22px/1 Arial, Helvetica, sans-serif !important;
    color: #08275b !important;
  }


  /* INPUT */
  body#product .product-add-to-cart #quantity_wanted {
    grid-column: 2 !important;
    grid-row: 1 !important;

    display: block !important;

    position: static !important;

    width: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;

    height: 42px !important;
    min-height: 42px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 1px solid #9ca8b2 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;

    background: #fff !important;
    color: #111 !important;

    font-size: 14px !important;
    line-height: 42px !important;
    text-align: center !important;

    box-shadow: none !important;

    -moz-appearance: textfield !important;
    appearance: textfield !important;
  }

  body#product #quantity_wanted::-webkit-inner-spin-button,
  body#product #quantity_wanted::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
  }


  /* PLUS */
  body#product .product-add-to-cart
  .bootstrap-touchspin-up {
    grid-column: 3 !important;
    grid-row: 1 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    position: static !important;

    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;

    height: 42px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 1px solid #9ca8b2 !important;
    border-radius: 0 3px 3px 0 !important;

    background: #f7f7f7 !important;
    color: #08275b !important;

    font-size: 0 !important;

    box-shadow: none !important;
  }

  body#product .product-add-to-cart
  .bootstrap-touchspin-up i {
    display: none !important;
  }

  body#product .product-add-to-cart
  .bootstrap-touchspin-up::before {
    content: "+" !important;

    display: block !important;

    font: 400 20px/1 Arial, Helvetica, sans-serif !important;
    color: #08275b !important;
  }


  /* =========================
     DODAJ DO KOSZYKA
     ========================= */

  body#product .product-add-to-cart
  .product-quantity > .add {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
  }

  body#product .product-add-to-cart
  .add-to-cart-bonwrapper {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body#product .product-add-to-cart
  button.add-to-cart {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    height: 50px !important;
    min-height: 50px !important;

    margin: 0 !important;
    padding: 0 12px !important;

    border-radius: 3px !important;

    font-size: 16px !important;
    line-height: 1 !important;
    font-weight: 700 !important;

    white-space: nowrap !important;

    overflow: hidden !important;
  }

  body#product .product-add-to-cart
  button.add-to-cart i {
    flex: 0 0 auto !important;
  }

  body#product .product-add-to-cart
  button.add-to-cart span {
    display: inline-block !important;
    min-width: 0 !important;

    white-space: nowrap !important;
  }

}
  body#product .cf-product-delivery-box summary:after {
    content: "\2304";
    font-size: 18px !important;
    color: #08275b !important;
    float:right;
    margin-top:-10px;
  }
  .cf-product-breadcrumb span{margin:0 10px;}
  
 /* =========================================================
   CART MOBILE - FINAL v5
   działa ze starym i nowym TPL
   ========================================================= */

@media (max-width: 767px) {

  body#cart .cart-item {
    margin: 0 0 12px !important;
    padding: 0 !important;
    border: 1px solid #d7e3ec !important;
    background: #fff !important;
  }

  body#cart .product-line-grid {
    display: grid !important;
    grid-template-columns: 96px minmax(0,1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 14px !important;
    row-gap: 0 !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 14px !important;

    box-sizing: border-box !important;
    align-items: start !important;
  }


  /* =====================================================
     NOWY TPL - wrapper cf-cart-product-main
     ===================================================== */

  body#cart .cf-cart-product-main {
    display: contents !important;
  }


  /* =====================================================
     FOTO
     działa niezależnie od tego czy wrapper istnieje
     ===================================================== */

  body#cart .product-line-grid-left {
    grid-column: 1 !important;
    grid-row: 1 !important;

    position: static !important;

    display: block !important;

    width: 96px !important;
    min-width: 96px !important;
    max-width: 96px !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
    clear: none !important;

    transform: none !important;
  }

  body#cart .product-line-grid-left .product-image {
    display: block !important;

    width: 96px !important;
    height: 115px !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body#cart .product-line-grid-left img {
    display: block !important;

    width: 90px !important;
    max-width: 90px !important;

    height: 110px !important;
    max-height: 110px !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
  }


  /* =====================================================
     NAZWA / CENA / WARIANTY
     ===================================================== */

  body#cart .product-line-grid-body {
    grid-column: 2 !important;
    grid-row: 1 !important;

    position: static !important;

    display: block !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 2px 0 0 !important;

    float: none !important;
    clear: none !important;

    transform: none !important;

    text-align: left !important;

    align-self: start !important;
  }

  body#cart .product-line-grid-body .product-line-info {
    position: static !important;

    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 0 5px !important;
    padding: 0 !important;

    float: none !important;
    clear: both !important;

    text-align: left !important;
  }

  body#cart .product-line-grid-body .product_name {
    display: block !important;

    width: 100% !important;

    margin: 0 0 8px !important;
    padding: 0 !important;

    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;

    color: #08275b !important;

    text-align: left !important;
  }

  body#cart .product-line-grid-body .product-price {
    margin: 0 0 8px !important;
  }

  body#cart .product-line-grid-body .current-price {
    margin: 0 !important;
  }

  body#cart .product-line-grid-body .current-price .price {
    color: #078bd0 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
  }

  body#cart .product-line-grid-body br {
    display: none !important;
  }

  body#cart .cf-cart-attributes {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body#cart .product-line-grid-body .label,
  body#cart .product-line-grid-body .value {
    display: inline !important;

    position: static !important;

    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
  }


  /* =====================================================
     AKCJE - ZAWSZE DRUGI WIERSZ
     ===================================================== */

  body#cart .product-line-grid-right {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;

    position: static !important;

    display: block !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    height: auto !important;

    margin: 14px 0 0 !important;
    padding: 12px 0 0 !important;

    border-top: 1px solid #d7e3ec !important;

    float: none !important;
    clear: both !important;

    transform: none !important;
  }

  body#cart .product-line-grid-right > .row {
    display: grid !important;

    grid-template-columns:
      110px
      minmax(0,1fr)
      30px !important;

    column-gap: 8px !important;

    align-items: center !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body#cart .product-line-grid-right
  > .row
  > .hidden-md-up {
    display: none !important;
  }

  body#cart .product-line-grid-right
  > .row
  > .col-md-10,

  body#cart .product-line-grid-right
  > .row
  > .col-md-10
  > .row {
    display: contents !important;
  }


  /* ILOŚĆ */
  body#cart .product-line-actions .qty {
    grid-column: 1 !important;

    width: 110px !important;
    min-width: 110px !important;
    max-width: 110px !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
  }

  body#cart .product-line-actions .bootstrap-touchspin {
    display: grid !important;

    grid-template-columns:
      32px
      46px
      32px !important;

    grid-template-rows: 40px !important;

    width: 110px !important;
    height: 40px !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  body#cart .product-line-actions .input-group-btn-vertical {
    display: contents !important;
  }

  body#cart .product-line-actions
  .bootstrap-touchspin-prefix,

  body#cart .product-line-actions
  .bootstrap-touchspin-postfix {
    display: none !important;
  }

  body#cart .product-line-actions
  .js-cart-line-product-quantity {
    grid-column: 2 !important;
    grid-row: 1 !important;

    position: static !important;

    width: 46px !important;
    height: 40px !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: center !important;
  }

  body#cart .bootstrap-touchspin-down {
    grid-column: 1 !important;
    grid-row: 1 !important;

    position: static !important;

    width: 32px !important;
    height: 40px !important;
  }

  body#cart .bootstrap-touchspin-up {
    grid-column: 3 !important;
    grid-row: 1 !important;

    position: static !important;

    width: 32px !important;
    height: 40px !important;
  }


  /* SUMA */
  body#cart .product-line-actions .price {
    grid-column: 2 !important;

    position: static !important;

    width: auto !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;

    text-align: right !important;
  }

  body#cart .product-line-actions .price strong {
    display: block !important;

    color: #078bd0 !important;

    font-size: 15px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;

    white-space: nowrap !important;
  }


  /* USUŃ */
  body#cart .product-line-grid-right
  > .row
  > .text-xs-right {
    grid-column: 3 !important;

    position: static !important;

    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
  }

  body#cart .cart-line-product-actions,
  body#cart .remove-from-cart {
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
  }

  body#cart .product-line-grid > .clearfix {
    display: none !important;
  }

}
/* =========================================================
   CART MOBILE - quantity buttons
   ========================================================= */
@media (max-width: 767px) {

  body#cart .product-line-actions .bootstrap-touchspin {
    display: grid !important;
    grid-template-columns: 32px 46px 32px !important;
    grid-template-rows: 40px !important;

    width: 110px !important;
    height: 40px !important;
  }

  body#cart .product-line-actions .input-group-btn-vertical {
    display: contents !important;
  }

  /* usuń oryginalne ikony FieldTheme */
  body#cart .product-line-actions .btn-touchspin i,
  body#cart .product-line-actions .btn-touchspin .material-icons {
    display: none !important;
  }

  body#cart .product-line-actions .btn-touchspin {
    position: static !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 32px !important;
    height: 40px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 1px solid #c7d5df !important;
    background: #fff !important;

    color: #08275b !important;

    font-size: 0 !important;
    line-height: 1 !important;

    box-shadow: none !important;
  }

  /* MINUS */
  body#cart .product-line-actions .bootstrap-touchspin-down {
    grid-column: 1 !important;
    grid-row: 1 !important;

    border-radius: 3px 0 0 3px !important;
  }

  body#cart .product-line-actions .bootstrap-touchspin-down::before {
    content: "−" !important;

    display: block !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    line-height: 1 !important;

    color: #08275b !important;
  }

  /* INPUT */
  body#cart .product-line-actions .js-cart-line-product-quantity {
    grid-column: 2 !important;
    grid-row: 1 !important;

    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;

    height: 40px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 1px solid #c7d5df !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;

    background: #fff !important;

    text-align: center !important;
    font-size: 14px !important;

    box-shadow: none !important;
  }

  /* PLUS */
  body#cart .product-line-actions .bootstrap-touchspin-up {
    grid-column: 3 !important;
    grid-row: 1 !important;

    border-radius: 0 3px 3px 0 !important;
  }

  body#cart .product-line-actions .bootstrap-touchspin-up::before {
    content: "+" !important;

    display: block !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 19px !important;
    font-weight: 400 !important;
    line-height: 1 !important;

    color: #08275b !important;
  }

}

/* CarloFactory 1.5.1: wybór koloru także dla atrybutów bez kodu koloru / tekstury.
   Wcześniej klasa .color była dodawana tylko przy html_color_code lub texture,
   więc zaznaczenie (input:checked + .color) działało tylko dla części wariantów. */
body#product .product-variants .color.cf-no-swatch,
.cf-product-page .color.cf-no-swatch {
  display: inline-block !important;
  background: repeating-linear-gradient(45deg, #eef3f7, #eef3f7 6px, #e2eaf0 6px, #e2eaf0 12px) !important;
}
body#product .product-variants .input-color:checked + .color,
.cf-product-page .input-color:checked + .color {
  outline: 3px solid #008ad0 !important;
  outline-offset: 2px !important;
}

/* Visible labels remain clickable, including keyboard focus and quick view. */
.product-variants .input-container label { position: relative; cursor: pointer; }
.product-variants .input-container input[type="radio"] {
  display: block !important; position: absolute !important; inset: 0 !important;
  width: 100% !important; height: 100% !important; margin: 0 !important;
  opacity: 0 !important; z-index: 2 !important; cursor: pointer !important;
  pointer-events: auto !important;
}
.product-variants input:focus-visible + span { outline: 3px solid #008ad0 !important; }
.product-variants .input-color:checked + .color { outline: 3px solid #008ad0 !important; outline-offset: 2px; }
.product-variants .input-radio:checked + .radio-label { border-color: #008ad0 !important; box-shadow: inset 0 0 0 1px #008ad0; }
.cf-order-guide { max-width: 1000px; margin: 32px auto; padding: 24px; line-height: 1.65; }
.cf-order-guide ol { padding-left: 24px; }

/* ============================================================
   CARLO FACTORY — CMS 18 B2B
   FINAL / PRESTASHOP-SAFE HTML
   ============================================================ */

/* CMS 18: remove native CMS chrome and old appended guide */
body#cms.cms-id-18 #main .page-header,
body#cms.cms-id-18 #main > header.page-header,
body#cms.cms-id-18 .breadcrumb-all-page,
body#cms.cms-id-18 .breadcrumb,
body#cms.cms-id-18 .cf-order-guide {
  display: none !important;
}

body#cms.cms-id-18 #wrapper {
  padding-top: 0 !important;
}

body#cms.cms-id-18 #content-wrapper,
body#cms.cms-id-18 #main,
body#cms.cms-id-18 #content,
body#cms.cms-id-18 .page-cms-18,
body#cms.cms-id-18 .page-cms,
body#cms.cms-id-18 .page-cms-18 > .basic-content,
body#cms.cms-id-18 .page-cms > .basic-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* ------------------------------------------------------------
   GLOBAL
   ------------------------------------------------------------ */
.carlo-b2b-page,
.carlo-b2b-page * {
  box-sizing: border-box;
}

.carlo-b2b-page {
  --carlo-blue: #078fc8;
  --carlo-blue-dark: #007eb7;
  --carlo-navy: #082441;
  --carlo-text: #40566b;
  --carlo-muted: #63778a;
  --carlo-light: #eaf8fd;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  color: var(--carlo-navy);
  font-family: Arial, Helvetica, sans-serif !important;
  line-height: 1.4;
}

.carlo-b2b-page img {
  display: block;
  max-width: 100%;
}

.carlo-b2b-page a {
  text-decoration: none !important;
}

.carlo-b2b-page h1,
.carlo-b2b-page h2,
.carlo-b2b-page h3,
.carlo-b2b-page p {
  padding: 0 !important;
  text-transform: none !important;
}

/* ------------------------------------------------------------
   HERO
   ------------------------------------------------------------ */
.carlo-b2b-hero {
  position: relative;
  width: 100%;
  min-height: 355px;
  overflow: hidden;
  background:
    linear-gradient(90deg,
      #fff 0%,
      #fff 34%,
      rgba(255,255,255,.98) 41%,
      rgba(255,255,255,.84) 49%,
      rgba(255,255,255,.30) 59%,
      rgba(255,255,255,0) 70%),
    url('/img/cms/b2b-hero-desktop.jpg') right center / auto 100% no-repeat;
}

.carlo-b2b-hero-content {
  position: relative;
  z-index: 2;
  width: 55%;
  padding: 48px 0 42px 52px;
}

.carlo-b2b-page .carlo-b2b-hero h1 {
  margin: 0 0 12px !important;
  color: var(--carlo-navy) !important;
  font: 800 51px/.92 Arial, Helvetica, sans-serif !important;
  letter-spacing: -2.6px !important;
}

.carlo-b2b-page .carlo-b2b-hero h1 > span {
  display: block;
  color: var(--carlo-blue) !important;
}

.carlo-b2b-page .carlo-b2b-hero h2 {
  margin: 0 0 14px !important;
  color: var(--carlo-navy) !important;
  font: 700 19px/1.2 Arial, Helvetica, sans-serif !important;
}

.carlo-b2b-page .carlo-b2b-hero-content > p {
  width: 470px;
  max-width: 100%;
  margin: 0 0 24px !important;
  color: #31485e !important;
  font: 13px/1.5 Arial, Helvetica, sans-serif !important;
}

.carlo-b2b-hero-actions {
  display: flex;
  align-items: center;
  gap: 26px;
}

.carlo-b2b-main-btn {
  min-width: 205px;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 23px;
  border-radius: 6px;
  background: linear-gradient(180deg,#0798d1 0%,#007eb7 100%);
  color: #fff !important;
  font: 700 12px/1.2 Arial, Helvetica, sans-serif !important;
  white-space: nowrap;
}

.carlo-b2b-main-btn:hover {
  color: #fff !important;
  filter: brightness(.97);
}

.carlo-b2b-main-btn > span {
  font-size: 19px !important;
  line-height: 1 !important;
}

.carlo-b2b-hero-phone {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--carlo-blue) !important;
}

.carlo-b2b-phone-symbol {
  display: block;
  color: var(--carlo-blue) !important;
  font: 23px/1 Arial, Helvetica, sans-serif !important;
}

.carlo-b2b-phone-copy {
  display: block;
}

.carlo-b2b-phone-copy > strong {
  display: block;
  color: var(--carlo-blue) !important;
  font: 700 25px/1 Arial, Helvetica, sans-serif !important;
}

.carlo-b2b-phone-small {
  display: block;
  margin-top: 5px;
  color: #687a8a !important;
  font: 9px/1.3 Arial, Helvetica, sans-serif !important;
}

/* ------------------------------------------------------------
   LIGHT BLUE CONTENT
   ------------------------------------------------------------ */
.carlo-b2b-info {
  width: 100%;
  padding: 30px 52px 32px;
  background: linear-gradient(90deg,#effaff 0%,#e8f7fd 50%,#effaff 100%);
}

.carlo-b2b-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 22px;
  align-items: start;
}

.carlo-b2b-row-bottom {
  margin-top: 26px;
}

.carlo-b2b-column {
  min-width: 0;
}

.carlo-b2b-page .carlo-b2b-heading {
  margin: 0 0 12px !important;
  color: var(--carlo-navy) !important;
  font: 700 17px/1.2 Arial, Helvetica, sans-serif !important;
}

.carlo-b2b-heading-with-note {
  display: flex;
  align-items: baseline;
  gap: 12px;
}

.carlo-b2b-heading-with-note > span {
  color: #758493 !important;
  font: 9px/1.2 Arial, Helvetica, sans-serif !important;
  white-space: nowrap;
}

/* ------------------------------------------------------------
   SHARED CARDS — same layout on both sides
   ------------------------------------------------------------ */
.carlo-b2b-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 9px;
  align-items: stretch;
}

.carlo-b2b-card {
  position: relative;
  min-width: 0;
  min-height: 150px;
  padding: 16px 14px 15px;
  border: 1px solid rgba(0,142,201,.06);
  border-radius: 6px;
  background: rgba(255,255,255,.96);
  overflow: visible;
}

.carlo-b2b-card-icon {
  display: block;
  width: 35px;
  height: 35px;
  margin-bottom: 8px;
  color: var(--carlo-blue) !important;
  font-family: FontAwesome !important;
  font-size: 30px !important;
  font-style: normal !important;
  font-weight: normal !important;
  line-height: 35px !important;
  text-align: left;
}

.carlo-icon-company::before { content: "\f0f7" !important; }
.carlo-icon-fashion::before { content: "\f02b" !important; }
.carlo-icon-club::before    { content: "\f0c0" !important; }
.carlo-icon-logo::before    { content: "\f02b" !important; }
.carlo-icon-color::before   { content: "\f1fc" !important; }
.carlo-icon-package::before { content: "\f1b2" !important; }


/* Font Awesome glyphs: force icon font despite global html body span rule */
.carlo-b2b-card-icon::before {
  display: inline-block !important;
  font-family: FontAwesome !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-rendering: auto !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

.carlo-b2b-page .carlo-b2b-card h3 {
  margin: 0 0 7px !important;
  padding: 0 !important;
  color: var(--carlo-navy) !important;
  font: 700 11px/1.18 Arial, Helvetica, sans-serif !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.carlo-b2b-page .carlo-b2b-card p {
  margin: 0 !important;
  padding: 0 !important;
  color: #4f6274 !important;
  font: 9px/1.45 Arial, Helvetica, sans-serif !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

/* Process uses exactly the same card shell */
.carlo-b2b-process-card {
  min-height: 150px;
}

.carlo-b2b-process-number {
  width: 35px;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  border-radius: 50%;
  background: var(--carlo-blue);
  color: #fff !important;
  font: 700 17px/1 Arial, Helvetica, sans-serif !important;
}

.carlo-b2b-process-card:not(:last-child)::after {
  content: "\203A";
  position: absolute;
  top: 21px;
  right: 7px;
  color: var(--carlo-blue);
  font: 400 21px/1 Arial, Helvetica, sans-serif;
}

.carlo-b2b-process-card h3 {
  padding-right: 7px !important;
}

/* ------------------------------------------------------------
   CONCEPTS
   ------------------------------------------------------------ */
.carlo-b2b-concepts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}

.carlo-b2b-concept {
  min-width: 0;
}

.carlo-b2b-concept img {
  width: 100%;
  height: auto;
  aspect-ratio: 904 / 396;
  object-fit: cover;
  object-position: center;
  border-radius: 5px;
}

.carlo-b2b-concept > span {
  display: block;
  padding-top: 7px;
  color: #637487 !important;
  font: 8px/1.3 Arial, Helvetica, sans-serif !important;
  text-align: center;
}

/* ------------------------------------------------------------
   CONTACT
   ------------------------------------------------------------ */
.carlo-b2b-contact {
  min-height: 138px;
  padding: 31px 52px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
  background: #fff;
  border-bottom: 1px solid #edf1f4;
}

.carlo-b2b-contact-copy {
  max-width: 600px;
}

.carlo-b2b-page .carlo-b2b-contact h2 {
  margin: 0 0 10px !important;
  color: var(--carlo-navy) !important;
  font: 700 18px/1.25 Arial, Helvetica, sans-serif !important;
}

.carlo-b2b-page .carlo-b2b-contact-copy p {
  margin: 0 !important;
  color: #53687b !important;
  font: 10px/1.5 Arial, Helvetica, sans-serif !important;
}

.carlo-b2b-contact-buttons {
  display: flex;
  gap: 9px;
  flex-shrink: 0;
}

.carlo-b2b-contact-buttons a {
  min-height: 43px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 19px;
  border-radius: 5px;
  background: var(--carlo-blue);
  color: #fff !important;
  font: 700 11px/1.2 Arial, Helvetica, sans-serif !important;
  white-space: nowrap;
}

.carlo-b2b-contact-buttons a:last-child {
  border: 1px solid var(--carlo-blue);
  background: #fff;
  color: var(--carlo-blue) !important;
}

/* ------------------------------------------------------------
   TABLET
   ------------------------------------------------------------ */
@media (max-width: 991px) and (min-width: 768px) {
  .carlo-b2b-hero-content {
    width: 60%;
    padding: 42px 0 38px 30px;
  }

  .carlo-b2b-page .carlo-b2b-hero h1 {
    font-size: 43px !important;
  }

  .carlo-b2b-info {
    padding: 27px 30px 29px;
  }

  .carlo-b2b-row {
    gap: 16px;
  }

  .carlo-b2b-grid {
    gap: 6px;
  }

  .carlo-b2b-card,
  .carlo-b2b-process-card {
    min-height: 160px;
    padding: 14px 10px 13px;
  }

  .carlo-b2b-page .carlo-b2b-card h3 {
    font-size: 10px !important;
  }

  .carlo-b2b-page .carlo-b2b-card p {
    font-size: 8px !important;
  }

  .carlo-b2b-contact {
    padding: 28px 30px;
  }
}

/* ------------------------------------------------------------
   MOBILE
   ------------------------------------------------------------ */
@media (max-width: 767px) {
  body#cms.cms-id-18 #wrapper {
    padding-top: 0 !important;
  }

  .carlo-b2b-hero {
    min-height: 0;
    background: #fff;
  }

  .carlo-b2b-hero-content {
    width: 100%;
    padding: 22px 12px 17px;
  }

  .carlo-b2b-hero::after {
    content: "";
    display: block;
    width: 100%;
    aspect-ratio: 876 / 492;
    background: url('/img/cms/b2b-hero-mobile.jpg') center center / cover no-repeat;
  }

  .carlo-b2b-page .carlo-b2b-hero h1 {
    margin-bottom: 8px !important;
    font-size: 28px !important;
    letter-spacing: -1.4px !important;
  }

  .carlo-b2b-page .carlo-b2b-hero h2 {
    margin-bottom: 7px !important;
    font-size: 12px !important;
  }

  .carlo-b2b-page .carlo-b2b-hero-content > p {
    width: 290px;
    margin-bottom: 13px !important;
    font-size: 9px !important;
    line-height: 1.4 !important;
  }

  .carlo-b2b-hero-actions {
    width: 100%;
    flex-direction: column-reverse;
    gap: 6px;
  }

  .carlo-b2b-main-btn,
  .carlo-b2b-hero-phone {
    width: 100%;
  }

  .carlo-b2b-main-btn {
    min-width: 0;
    min-height: 34px;
    padding: 0 10px;
    border-radius: 4px;
    font-size: 9px !important;
  }

  .carlo-b2b-hero-phone {
    min-height: 35px;
    justify-content: center;
    border-radius: 4px;
    background: var(--carlo-blue);
    color: #fff !important;
  }

  .carlo-b2b-phone-symbol,
  .carlo-b2b-phone-copy > strong {
    color: #fff !important;
  }

  .carlo-b2b-phone-copy > strong {
    font-size: 16px !important;
  }

  .carlo-b2b-phone-small {
    display: none !important;
  }

  .carlo-b2b-info {
    padding: 18px 12px 20px;
  }

  .carlo-b2b-row {
    display: block;
  }

  .carlo-b2b-row-bottom {
    display: none;
  }

  .carlo-b2b-page .carlo-b2b-heading {
    margin-bottom: 10px !important;
    font-size: 12px !important;
  }

  .carlo-b2b-grid {
    display: block;
    margin-bottom: 17px;
  }

  .carlo-b2b-card {
    width: 100%;
    min-height: 42px;
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 6px;
    padding: 8px 10px;
  }

  .carlo-b2b-card-icon {
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    margin: 0;
    font-size: 21px !important;
    line-height: 24px !important;
  }

  .carlo-b2b-page .carlo-b2b-card h3 {
    margin: 0 !important;
    font-size: 9px !important;
    line-height: 1.1 !important;
  }

  .carlo-b2b-page .carlo-b2b-card p {
    display: none;
  }

  .carlo-b2b-grid:not(.carlo-b2b-process-grid) .carlo-b2b-card::after {
    content: "\203A";
    position: absolute;
    top: 9px;
    right: 10px;
    color: var(--carlo-blue);
    font: 400 20px/1 Arial, Helvetica, sans-serif;
  }

  .carlo-b2b-process-card {
    min-height: 67px;
    display: grid;
    grid-template-columns: 30px minmax(0,1fr);
    grid-template-rows: auto auto;
    column-gap: 9px;
    align-items: start;
    padding: 10px 11px;
  }

  .carlo-b2b-process-number {
    width: 29px;
    height: 29px;
    grid-row: 1 / 3;
    margin: 0;
    font-size: 14px !important;
  }

  .carlo-b2b-page .carlo-b2b-process-card h3 {
    margin: 1px 15px 4px 0 !important;
    font-size: 9px !important;
  }

  .carlo-b2b-page .carlo-b2b-process-card p {
    display: block;
    margin: 0 !important;
    font-size: 7px !important;
    line-height: 1.35 !important;
  }

  .carlo-b2b-process-card:not(:last-child)::after {
    content: "\2193";
    top: auto;
    right: auto;
    bottom: -8px;
    left: 20px;
    z-index: 3;
    font-size: 10px;
  }

  .carlo-b2b-process-card:last-child::after {
    display: none;
  }

  .carlo-b2b-contact {
    display: block;
    min-height: 0;
    padding: 20px 12px 21px;
    background: #effaff;
  }

  .carlo-b2b-page .carlo-b2b-contact h2 {
    margin-bottom: 7px !important;
    font-size: 11px !important;
  }

  .carlo-b2b-page .carlo-b2b-contact-copy p {
    margin-bottom: 13px !important;
    font-size: 8px !important;
  }

  .carlo-b2b-contact-buttons {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .carlo-b2b-contact-buttons a {
    width: 100%;
    min-height: 34px;
    padding: 0 10px;
    font-size: 9px !important;
  }
}

@media (max-width: 374px) {
  .carlo-b2b-hero-content {
    padding: 19px 10px 15px;
  }

  .carlo-b2b-page .carlo-b2b-hero h1 {
    font-size: 25px !important;
  }

  .carlo-b2b-info {
    padding: 16px 9px 18px;
  }

  .carlo-b2b-contact {
    padding: 18px 9px 19px;
  }
}


/* =====================================================================
   CarloFactory 2.2 — GLOBAL BREADCRUMB + TOP MENU CONTRAST FIX
   2026-10-31
   ===================================================================== */

/* ---------------------------------------------------------------------
   BREADCRUMB — jeden czytelny wygląd na wszystkich standardowych stronach
   (home i CMS 18 pozostają bez breadcrumbs zgodnie z projektem)
   --------------------------------------------------------------------- */
body:not(#index):not(.cms-id-18) .breadcrumb-all-page {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #f4f8fb !important;
  background-image: none !important;
  border-top: 1px solid #e3ebf1 !important;
  border-bottom: 1px solid #d8e4ec !important;
  box-shadow: none !important;
}

body:not(#index):not(.cms-id-18) .breadcrumb-all-page > .container {
  width: calc(100% - 48px) !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
}

body:not(#index):not(.cms-id-18) .breadcrumb-no-images {
  width: 100% !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  background: transparent !important;
  background-image: none !important;
}

body:not(#index):not(.cms-id-18) #wrapper .breadcrumb,
body:not(#index):not(.cms-id-18) .breadcrumb-all-page .breadcrumb {
  position: static !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #536b7e !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  line-height: 42px !important;
  text-shadow: none !important;
}

body:not(#index):not(.cms-id-18) #wrapper .breadcrumb ol,
body:not(#index):not(.cms-id-18) .breadcrumb-all-page .breadcrumb ol {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body:not(#index):not(.cms-id-18) #wrapper .breadcrumb li,
body:not(#index):not(.cms-id-18) .breadcrumb-all-page .breadcrumb li {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  float: none !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #536b7e !important;
  background: transparent !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  text-shadow: none !important;
}

body:not(#index):not(.cms-id-18) #wrapper .breadcrumb li a,
body:not(#index):not(.cms-id-18) #wrapper .breadcrumb li a span,
body:not(#index):not(.cms-id-18) .breadcrumb-all-page .breadcrumb li a,
body:not(#index):not(.cms-id-18) .breadcrumb-all-page .breadcrumb li a span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #284761 !important;
  background: transparent !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  text-shadow: none !important;
}

body:not(#index):not(.cms-id-18) #wrapper .breadcrumb li a:hover,
body:not(#index):not(.cms-id-18) #wrapper .breadcrumb li a:focus,
body:not(#index):not(.cms-id-18) #wrapper .breadcrumb li a:hover span,
body:not(#index):not(.cms-id-18) #wrapper .breadcrumb li a:focus span,
body:not(#index):not(.cms-id-18) .breadcrumb-all-page .breadcrumb li a:hover,
body:not(#index):not(.cms-id-18) .breadcrumb-all-page .breadcrumb li a:focus {
  color: #078bd0 !important;
  text-decoration: underline !important;
  background: transparent !important;
}

/* Separator — neutralizuje separator / kolor narzucony przez FieldTheme. */
body:not(#index):not(.cms-id-18) #wrapper .breadcrumb li::after,
body:not(#index):not(.cms-id-18) .breadcrumb-all-page .breadcrumb li::after {
  content: "›" !important;
  position: static !important;
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 10px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: #8aa0b2 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  transform: none !important;
}

body:not(#index):not(.cms-id-18) #wrapper .breadcrumb li:last-child::after,
body:not(#index):not(.cms-id-18) .breadcrumb-all-page .breadcrumb li:last-child::after {
  display: none !important;
  content: none !important;
}

/* Ostatni element = aktualna strona, wyższy kontrast. */
body:not(#index):not(.cms-id-18) #wrapper .breadcrumb li:last-child,
body:not(#index):not(.cms-id-18) #wrapper .breadcrumb li:last-child a,
body:not(#index):not(.cms-id-18) #wrapper .breadcrumb li:last-child a span,
body:not(#index):not(.cms-id-18) .breadcrumb-all-page .breadcrumb li:last-child,
body:not(#index):not(.cms-id-18) .breadcrumb-all-page .breadcrumb li:last-child a,
body:not(#index):not(.cms-id-18) .breadcrumb-all-page .breadcrumb li:last-child a span {
  color: #08275b !important;
  font-weight: 700 !important;
}

/* Home bez breadcrumb. CMS 18 ma własny hero i również bez breadcrumb. */
body#index .breadcrumb-all-page,
body#index .breadcrumb,
body#cms.cms-id-18 .breadcrumb-all-page,
body#cms.cms-id-18 .breadcrumb {
  display: none !important;
}

/* Breadcrumb produktu tworzony przez projekt — ten sam kontrast. */
body#product .cf-product-breadcrumb,
body#product .cf-product-breadcrumb a,
body#product .cf-product-breadcrumb span {
  color: #536b7e !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  text-shadow: none !important;
}

body#product .cf-product-breadcrumb a:hover,
body#product .cf-product-breadcrumb a:focus {
  color: #078bd0 !important;
}

/* ---------------------------------------------------------------------
   DESKTOP TOP MENU — usuń tła z pozycji, szczególnie ostatniej.
   FieldTheme/Customizer potrafi ustawić background na .title/root-item.
   --------------------------------------------------------------------- */
@media (min-width: 768px) {
  .cf-fe-header-nav #_desktop_fieldmegamenu,
  .cf-fe-header-nav #_desktop_fieldmegamenu > ul,
  .cf-fe-header-nav #_desktop_fieldmegamenu > ul > li,
  .cf-fe-header-nav #_desktop_fieldmegamenu > ul > li.root,
  .cf-fe-header-nav #_desktop_fieldmegamenu .root-item,
  .cf-fe-header-nav #_desktop_fieldmegamenu .root-item .title,
  .cf-fe-header-nav #_desktop_fieldmegamenu .root-item .title_font,
  .cf-fe-header-nav #_desktop_fieldmegamenu .root-item a,
  .cf-fe-header-nav #_desktop_fieldmegamenu .root-item a .title,
  .cf-fe-header-nav #_desktop_fieldmegamenu .root-item .title-text {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  .cf-fe-header-nav #_desktop_fieldmegamenu > ul > li:last-child,
  .cf-fe-header-nav #_desktop_fieldmegamenu > ul > li:last-child .root-item,
  .cf-fe-header-nav #_desktop_fieldmegamenu > ul > li:last-child .title,
  .cf-fe-header-nav #_desktop_fieldmegamenu > ul > li:last-child .title_font,
  .cf-fe-header-nav #_desktop_fieldmegamenu > ul > li:last-child a,
  .cf-fe-header-nav #_desktop_fieldmegamenu > ul > li:last-child .title-text {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
  }

  .cf-fe-header-nav #_desktop_fieldmegamenu .root-item,
  .cf-fe-header-nav #_desktop_fieldmegamenu .root-item a,
  .cf-fe-header-nav #_desktop_fieldmegamenu .root-item .title,
  .cf-fe-header-nav #_desktop_fieldmegamenu .root-item .title_font,
  .cf-fe-header-nav #_desktop_fieldmegamenu .root-item .title-text {
    color: #08275b !important;
  }

  .cf-fe-header-nav #_desktop_fieldmegamenu .root-item .title-text {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
  }

  .cf-fe-header-nav #_desktop_fieldmegamenu .root-item:hover,
  .cf-fe-header-nav #_desktop_fieldmegamenu .root-item:hover .title,
  .cf-fe-header-nav #_desktop_fieldmegamenu .root-item:hover a,
  .cf-fe-header-nav #_desktop_fieldmegamenu .root-item:hover .title-text,
  .cf-fe-header-nav #_desktop_fieldmegamenu .root-item a:hover,
  .cf-fe-header-nav #_desktop_fieldmegamenu .root-item a:focus,
  .cf-fe-header-nav #_desktop_fieldmegamenu .root-item a:focus .title-text {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    color: #078bd0 !important;
    box-shadow: none !important;
  }
}

/* ---------------------------------------------------------------------
   MOBILE MENU — również bez przypadkowego tła na ostatniej pozycji.
   --------------------------------------------------------------------- */
@media (max-width: 767px) {
  #popup_menu_mobile #_desktop_fieldmegamenu > ul > li,
  #popup_menu_mobile #_desktop_fieldmegamenu > ul > li:last-child,
  #popup_menu_mobile #_desktop_fieldmegamenu .root-item,
  #popup_menu_mobile #_desktop_fieldmegamenu .root-item .title,
  #popup_menu_mobile #_desktop_fieldmegamenu .root-item .title_font,
  #popup_menu_mobile #_desktop_fieldmegamenu .root-item a,
  #popup_menu_mobile #_desktop_fieldmegamenu .title-text {
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #08275b !important;
    text-shadow: none !important;
  }

  #popup_menu_mobile #_desktop_fieldmegamenu > ul > li:last-child,
  #popup_menu_mobile #_desktop_fieldmegamenu > ul > li:last-child .root-item,
  #popup_menu_mobile #_desktop_fieldmegamenu > ul > li:last-child .title,
  #popup_menu_mobile #_desktop_fieldmegamenu > ul > li:last-child a,
  #popup_menu_mobile #_desktop_fieldmegamenu > ul > li:last-child .title-text {
    background: #fff !important;
    color: #08275b !important;
  }

  #popup_menu_mobile #_desktop_fieldmegamenu .root-item a:hover,
  #popup_menu_mobile #_desktop_fieldmegamenu .root-item a:focus,
  #popup_menu_mobile #_desktop_fieldmegamenu .root-item a:hover .title-text,
  #popup_menu_mobile #_desktop_fieldmegamenu .root-item a:focus .title-text {
    background: #f4f8fb !important;
    color: #078bd0 !important;
  }

  /* Breadcrumb jest ukryty przez klasę hidden-xs-down na wielu stronach.
     Nie wymuszamy go na telefonach — unikamy zabierania miejsca nad treścią. */
}

/* ==================================================================
   CarloFactory 2.1.2 — CONTACT PAGE / PRODUCTION POLISH COPY
   ================================================================== */

body#contact #wrapper {
  padding-top: 0 !important;
}

body#contact #content-wrapper,
body#contact #main,
body#contact #content.page-content {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

body#contact #content.page-content {
  padding: 34px 0 48px !important;
  border: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

body#contact #content.page-content > .row {
  display: grid !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(290px, .65fr) !important;
  gap: 44px !important;
  width: 100% !important;
  margin: 0 !important;
  align-items: start !important;
}

body#contact #content.page-content > .row > [class*="col-"] {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#contact .contact-form {
  margin: 0 !important;
  padding: 30px 32px 32px !important;
  border: 1px solid #d7e3ec !important;
  border-radius: 6px !important;
  background: #fff !important;
  box-shadow: none !important;
}

body#contact .contact-form .cf-contact-heading-row,
body#contact .contact-form .form-fields > .form-group:first-child {
  display: block !important;
  margin: 0 0 24px !important;
  padding: 0 0 16px !important;
  border-bottom: 1px solid #d7e3ec !important;
}

body#contact .contact-form .cf-contact-heading-row > div,
body#contact .contact-form .form-fields > .form-group:first-child > div {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

body#contact .contact-form h3 {
  margin: 0 !important;
  color: #08275b !important;
  font: 700 28px/1.15 Arial, Helvetica, sans-serif !important;
  text-transform: none !important;
}

body#contact .contact-form .form-fields > .form-group.row:not(.cf-contact-heading-row) {
  display: grid !important;
  grid-template-columns: 170px minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
  width: 100% !important;
  margin: 0 0 18px !important;
}

body#contact .contact-form .form-group.row > label,
body#contact .contact-form .form-group.row > [class*="col-"] {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  float: none !important;
  margin: 0 !important;
}

body#contact .contact-form .form-group.row > label {
  padding: 12px 0 0 !important;
  color: #203b55 !important;
  font: 700 14px/1.3 Arial, Helvetica, sans-serif !important;
  text-align: left !important;
}

body#contact .contact-form .form-group.row > [class*="col-"] {
  padding: 0 !important;
}

body#contact .contact-form input.form-control,
body#contact .contact-form select.form-control,
body#contact .contact-form textarea.form-control,
body#contact .contact-form .form-control-select {
  width: 100% !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 10px 13px !important;
  border: 1px solid #aec6d8 !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: #17395b !important;
  font: 14px/1.4 Arial, Helvetica, sans-serif !important;
  box-shadow: none !important;
}

body#contact .contact-form textarea.form-control {
  min-height: 170px !important;
  resize: vertical !important;
}

body#contact .contact-form input.form-control:focus,
body#contact .contact-form select.form-control:focus,
body#contact .contact-form textarea.form-control:focus {
  border-color: #078bd0 !important;
  outline: 2px solid rgba(7,139,208,.16) !important;
  outline-offset: 0 !important;
}

body#contact .contact-form .form-text,
body#contact .contact-form .form-control-comment {
  display: block !important;
  margin-top: 6px !important;
  color: #61778b !important;
  font: 12px/1.4 Arial, Helvetica, sans-serif !important;
}

body#contact .contact-form .form-footer {
  display: flex !important;
  justify-content: flex-end !important;
  margin: 4px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body#contact .contact-form .button_contact_us,
body#contact .contact-form input[type="submit"] {
  min-width: 220px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 24px !important;
  border: 0 !important;
  border-radius: 4px !important;
  background: linear-gradient(#0b97dc,#047bb9) !important;
  color: #fff !important;
  font: 700 13px/1.2 Arial, Helvetica, sans-serif !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

body#contact .contact-rich {
  margin: 0 !important;
  padding: 30px 28px !important;
  border: 1px solid #d7e3ec !important;
  border-radius: 6px !important;
  background: #eff9fd !important;
  box-shadow: none !important;
}

body#contact .contact-rich .top_text {
  margin: 0 0 24px !important;
  padding: 0 0 20px !important;
  border-bottom: 1px solid #cee1ec !important;
}

body#contact .contact-rich .top_text h4 {
  margin: 0 0 10px !important;
  color: #08275b !important;
  font: 700 22px/1.15 Arial, Helvetica, sans-serif !important;
  text-transform: none !important;
}

body#contact .contact-rich .top_text p {
  margin: 0 !important;
  color: #405a70 !important;
  font: 14px/1.55 Arial, Helvetica, sans-serif !important;
}

body#contact .contact-rich .block_contact_ftc {
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: start !important;
  margin: 0 !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid #d8e7ef !important;
}

body#contact .contact-rich .block_contact_ftc:last-child {
  border-bottom: 0 !important;
}

body#contact .contact-rich .block_contact_ftc .icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #078bd0 !important;
  font-size: 17px !important;
}

body#contact .contact-rich .block_contact_ftc .data,
body#contact .contact-rich .block_contact_ftc .data a {
  min-width: 0 !important;
  padding-top: 7px !important;
  color: #203b55 !important;
  font: 14px/1.5 Arial, Helvetica, sans-serif !important;
  overflow-wrap: anywhere !important;
}

body#contact .contact-rich .block_contact_ftc .data a:hover,
body#contact .contact-rich .block_contact_ftc .data a:focus {
  color: #078bd0 !important;
}

@media (max-width: 767px) {
  body#contact #content.page-content {
    padding: 20px 0 30px !important;
  }

  body#contact #content.page-content > .row {
    display: block !important;
  }

  body#contact #content.page-content > .row > [class*="col-"] + [class*="col-"] {
    margin-top: 18px !important;
  }

  body#contact .contact-form,
  body#contact .contact-rich {
    padding: 22px 16px !important;
  }

  body#contact .contact-form h3 {
    font-size: 24px !important;
  }

  body#contact .contact-form .form-fields > .form-group.row:not(.cf-contact-heading-row) {
    display: block !important;
    margin-bottom: 16px !important;
  }

  body#contact .contact-form .form-group.row > label {
    display: block !important;
    margin: 0 0 7px !important;
    padding: 0 !important;
  }

  body#contact .contact-form .button_contact_us,
  body#contact .contact-form input[type="submit"] {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* ==================================================================
   CarloFactory 2.1.2 — TABLET HEADER 768–1199 PX
   Stabilny układ pomiędzy wersją mobilną i pełnym desktopem.
   Naprawia: ukryte logo, uciekającą wyszukiwarkę i rozsypane kolumny.
   ================================================================== */

@media (min-width: 768px) and (max-width: 1199px) {

  /* Pełna szerokość sekcji, ale bez wychodzenia poza viewport. */
  .cf-fe-header-main.elementor-section,
  .cf-fe-header-nav.elementor-section {
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
  }

  .cf-fe-header-main {
    padding: 10px 0 5px !important;
  }

  .cf-fe-header-main > .elementor-container,
  .cf-fe-header-nav > .elementor-container {
    width: calc(100% - 32px) !important;
    max-width: 1168px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /*
   * 1: logo
   * 2: wyszukiwarka
   * 3: telefon
   * 4: konto
   * 5: koszyk
   * 6: przycisk menu mobilnego — na tablecie jest zbędny
   */
  .cf-fe-header-main > .elementor-container > .elementor-row {
    display: grid !important;
    grid-template-columns:
      120px
      minmax(180px, 1fr)
      145px
      max-content
      48px !important;
    grid-template-rows: 54px !important;
    align-items: center !important;
    column-gap: 10px !important;
    row-gap: 0 !important;
    width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-wrap: nowrap !important;
  }

  .cf-fe-header-main > .elementor-container > .elementor-row > .elementor-column {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: none !important;
    order: initial !important;
  }

  .cf-fe-header-main > .elementor-container > .elementor-row > .elementor-column:nth-child(1) {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .cf-fe-header-main > .elementor-container > .elementor-row > .elementor-column:nth-child(2) {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  .cf-fe-header-main > .elementor-container > .elementor-row > .elementor-column:nth-child(3) {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }

  .cf-fe-header-main > .elementor-container > .elementor-row > .elementor-column:nth-child(4) {
    grid-column: 4 !important;
    grid-row: 1 !important;
  }

  .cf-fe-header-main > .elementor-container > .elementor-row > .elementor-column:nth-child(5) {
    grid-column: 5 !important;
    grid-row: 1 !important;
  }

  .cf-fe-header-main > .elementor-container > .elementor-row > .elementor-column:nth-child(6),
  .cf-fe-header-main .cf-mobile-menu-column,
  .cf-fe-header-main .cf-fe-mobile-menu {
    display: none !important;
  }

  /* Logo FieldElementora ma klasę hidden-md-down — wymuszamy widoczność. */
  .cf-fe-header-main .cf-logo,
  .cf-fe-header-main .cf-logo .elementor-widget-container,
  .cf-fe-header-main .logo-widget-elementor,
  .cf-fe-header-main .logo-widget-elementor.hidden-md-down,
  .cf-fe-header-main #_desktop_logo,
  .cf-fe-header-main #_desktop_logo.hidden-md-down {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 120px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .cf-fe-header-main .cf-logo a,
  .cf-fe-header-main #_desktop_logo a {
    display: block !important;
    width: 100% !important;
    max-width: 120px !important;
  }

  .cf-fe-header-main .cf-logo img,
  .cf-fe-header-main .logo-widget-elementor img,
  .cf-fe-header-main #_desktop_logo img {
    display: block !important;
    width: 118px !important;
    max-width: 118px !important;
    height: auto !important;
    max-height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Wyszukiwarka zawsze mieści się w swojej kolumnie. */
  .cf-fe-header-main .elementor-column:nth-child(2) .elementor-widget-wrap,
  .cf-fe-header-main .elementor-column:nth-child(2) .elementor-widget-container,
  .cf-fe-header-main .cf-fe-search,
  .cf-fe-header-main .elementor-widget-search-block,
  .cf-fe-header-main #_desktop_search,
  .cf-fe-header-main .form-search-block,
  .cf-fe-header-main .form-search-block form,
  .cf-fe-header-main #searchbox {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    order: initial !important;
    box-sizing: border-box !important;
  }

  .cf-fe-header-main .form-search-block form,
  .cf-fe-header-main #searchbox {
    display: flex !important;
    align-items: stretch !important;
    position: relative !important;
  }

  .cf-fe-header-main .search_query_top_ft {
    display: block !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .cf-fe-header-main .form-search-block .search_query,
  .cf-fe-header-main .cf-fe-search input,
  .cf-fe-header-main #search_query_top {
    display: block !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 1px solid #9fc8e4 !important;
    border-right: 0 !important;
    border-radius: 21px 0 0 21px !important;
    box-sizing: border-box !important;
    font-size: 13px !important;
    line-height: 42px !important;
  }

  .cf-fe-header-main .form-search-block .button-search-form,
  .cf-fe-header-main .cf-fe-search button {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #9fc8e4 !important;
    border-left: 0 !important;
    border-radius: 0 21px 21px 0 !important;
    background: #fff !important;
    color: #078bd0 !important;
    box-sizing: border-box !important;
  }

  /* Telefon nie może wypychać wyszukiwarki. */
  .cf-fe-header-main .cf-fe-phone,
  .cf-fe-header-main .cf-fe-phone .elementor-widget-container,
  .cf-fe-header-main .cf-header-phone {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 145px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 5px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
  }

  .cf-fe-header-main .cf-header-phone:before {
    flex: 0 0 auto !important;
    font-size: 18px !important;
  }

  .cf-fe-header-main .cf-header-phone span {
    display: block !important;
    font-size: 9px !important;
    line-height: 1.05 !important;
  }

  .cf-fe-header-main .cf-header-phone strong,
  .cf-fe-header-main .cf-header-phone strong a {
    display: block !important;
    font-size: 14px !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
  }

  /* Konto i koszyk w kompaktowej formie. */
  .cf-fe-header-main .cf-fe-account,
  .cf-fe-header-main .cf-fe-account .elementor-widget-container,
  .cf-fe-header-main .cf-fe-account .header-elementor-link,
  .cf-fe-header-main .cf-fe-account .elementor-link-list,
  .cf-fe-header-main .cf-fe-account .elementor-link-list-item {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .cf-fe-header-main .cf-fe-account .header-link {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 0 !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }

  .cf-fe-header-main .cf-fe-account .header-link .fa {
    font-size: 19px !important;
  }

  .cf-fe-header-main .cf-fe-account .text_link {
    font-size: 12px !important;
    line-height: 1.1 !important;
  }

  .cf-fe-header-main .cf-fe-cart,
  .cf-fe-header-main .cf-fe-cart #_desktop_cart,
  .cf-fe-header-main .cf-fe-cart .blockcart,
  .cf-fe-header-main .cf-fe-cart .cart-preview {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .cf-fe-header-main .cf-fe-cart .click-cart,
  .cf-fe-header-main .cf-cart-link {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .cf-fe-header-main .cf-fe-cart .text-cart,
  .cf-fe-header-main .cf-cart-label {
    display: none !important;
  }

  .cf-fe-header-main .cf-fe-cart .fa,
  .cf-fe-header-main .cf-cart-icon {
    font-size: 23px !important;
  }

  .cf-fe-header-main .cf-fe-cart .cart-products-count {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    display: inline-flex !important;
  }

  /* Menu główne pozostaje widoczne na tablecie. */
  .cf-fe-header-nav,
  .cf-fe-header-nav #header-sticky,
  .cf-fe-header-nav #header-sticky.hidden-md-down,
  .cf-fe-header-nav .header-bottom.hidden-md-down,
  .cf-fe-header-nav .hidden-md-down {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .cf-fe-header-nav {
    padding: 0 0 7px !important;
  }

  .cf-fe-header-nav #_desktop_fieldmegamenu > ul {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: 20px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .cf-fe-header-nav #_desktop_fieldmegamenu > ul > li,
  .cf-fe-header-nav #_desktop_fieldmegamenu .root-item {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .cf-fe-header-nav #_desktop_fieldmegamenu .root-item a {
    display: block !important;
    padding: 5px 2px !important;
    white-space: nowrap !important;
  }

  .cf-fe-header-nav #_desktop_fieldmegamenu .root-item .title-text {
    font-size: 12px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }
}

/* Najwęższe tablety: chowamy napis „Moje konto”, ale zostawiamy ikonę. */
@media (min-width: 768px) and (max-width: 899px) {
  .cf-fe-header-main > .elementor-container > .elementor-row {
    grid-template-columns:
      112px
      minmax(160px, 1fr)
      132px
      34px
      46px !important;
    column-gap: 8px !important;
  }

  .cf-fe-header-main .cf-logo img,
  .cf-fe-header-main .logo-widget-elementor img,
  .cf-fe-header-main #_desktop_logo img {
    width: 108px !important;
    max-width: 108px !important;
  }

  .cf-fe-header-main .cf-fe-account .text_link {
    display: none !important;
  }

  .cf-fe-header-main .cf-fe-account .header-link {
    justify-content: center !important;
  }

  .cf-fe-header-nav #_desktop_fieldmegamenu > ul {
    gap: 12px !important;
  }

  .cf-fe-header-nav #_desktop_fieldmegamenu .root-item .title-text {
    font-size: 11px !important;
  }
}

/* 2.1.2 tablet header — końcowe zabezpieczenie przed stylami inline FieldElementora. */
@media (min-width: 768px) and (max-width: 1199px) {
  .cf-fe-header-main > .elementor-container > .elementor-row {
    grid-template-columns:
      120px
      minmax(180px, 1fr)
      130px
      max-content
      48px !important;
  }

  html body .cf-fe-header-main .cf-header-phone {
    max-width: 130px !important;
    overflow: visible !important;
  }

  html body .cf-fe-header-main .cf-header-phone > span {
    display: none !important;
  }

  html body .cf-fe-header-main .cf-header-phone strong,
  html body .cf-fe-header-main .cf-header-phone strong a {
    display: block !important;
    font-size: 14px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  html body .cf-fe-header-main .cf-fe-cart .text-cart,
  html body .cf-fe-header-main .cf-fe-cart .button-cart-wrapper .text-cart,
  html body .cf-fe-header-main .cf-cart-label {
    display: none !important;
  }
}

@media (min-width: 768px) and (max-width: 899px) {
  .cf-fe-header-main > .elementor-container > .elementor-row {
    grid-template-columns:
      112px
      minmax(160px, 1fr)
      125px
      34px
      46px !important;
  }

  html body .cf-fe-header-main .cf-header-phone {
    max-width: 125px !important;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  html body .cf-fe-header-main .cf-fe-cart #_desktop_cart .text-cart,
  html body .cf-fe-header-main #_desktop_cart .button-cart-wrapper .text-cart,
  html body .cf-fe-header-main #_desktop_cart .text-cart.hidden-md-down {
    display: none !important;
  }
}


/* =====================================================================
   CARLOFACTORY 2.1.3 — AUDIT FIXES (final cascade layer)
   ===================================================================== */

/* Do not conceal layout faults at tablet widths. */
@media (min-width: 768px) and (max-width: 1199px) {
  html,
  body {
    max-width: 100% !important;
    overflow-x: visible !important;
  }

  /* Use the FieldElementor header, not the inherited classic mobile header. */
  #mobile-header,
  .mobile-header.hidden-lg-up {
    display: none !important;
  }

  .cf-fe-header-main,
  .cf-fe-header-nav,
  .cf-fe-header-main.hidden-md-down,
  .cf-fe-header-nav.hidden-md-down {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .cf-fe-header-main > .elementor-container,
  .cf-fe-header-nav > .elementor-container {
    width: calc(100% - 28px) !important;
    max-width: 1400px !important;
    min-width: 0 !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .cf-fe-header-main > .elementor-container > .elementor-row {
    display: grid !important;
    grid-template-columns: 104px minmax(180px, 1fr) 126px 38px 46px !important;
    column-gap: 8px !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 10px 0 !important;
  }

  .cf-fe-header-main > .elementor-container > .elementor-row > .elementor-column {
    display: block !important;
    position: static !important;
    float: none !important;
    flex: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  .cf-fe-header-main > .elementor-container > .elementor-row > .elementor-column:nth-child(1) { grid-column: 1 !important; }
  .cf-fe-header-main > .elementor-container > .elementor-row > .elementor-column:nth-child(2) { grid-column: 2 !important; }
  .cf-fe-header-main > .elementor-container > .elementor-row > .elementor-column:nth-child(3) { grid-column: 3 !important; }
  .cf-fe-header-main > .elementor-container > .elementor-row > .elementor-column:nth-child(4) { grid-column: 4 !important; }
  .cf-fe-header-main > .elementor-container > .elementor-row > .elementor-column:nth-child(5) { grid-column: 5 !important; }
  .cf-fe-header-main > .elementor-container > .elementor-row > .elementor-column:nth-child(n+6) { display: none !important; }

  .cf-fe-header-main .elementor-widget-wrap,
  .cf-fe-header-main .elementor-widget-container,
  .cf-fe-header-main .cf-fe-search,
  .cf-fe-header-main #_desktop_search,
  .cf-fe-header-main .form-search-block,
  .cf-fe-header-main .form-search-block form,
  .cf-fe-header-main #searchbox,
  .cf-fe-header-main .search_query_top_ft {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  .cf-fe-header-main .cf-logo,
  .cf-fe-header-main .logo-widget-elementor,
  .cf-fe-header-main #_desktop_logo,
  .cf-fe-header-main .cf-logo a,
  .cf-fe-header-main #_desktop_logo a {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .cf-fe-header-main .cf-logo img,
  .cf-fe-header-main .logo-widget-elementor img,
  .cf-fe-header-main #_desktop_logo img {
    display: block !important;
    width: 100px !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 54px !important;
    object-fit: contain !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .cf-fe-header-main .form-search-block form,
  .cf-fe-header-main #searchbox {
    display: flex !important;
    align-items: stretch !important;
  }

  .cf-fe-header-main .form-search-block .search_query,
  .cf-fe-header-main .cf-fe-search input,
  .cf-fe-header-main #search_query_top {
    flex: 1 1 auto !important;
    width: 1% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 13px !important;
    box-sizing: border-box !important;
  }

  .cf-fe-header-main .form-search-block .button-search-form,
  .cf-fe-header-main .cf-fe-search button {
    position: static !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 42px !important;
    margin: 0 !important;
  }

  .cf-fe-header-main .cf-fe-phone,
  .cf-fe-header-main .cf-fe-phone .elementor-widget-container,
  .cf-fe-header-main .cf-header-phone {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 126px !important;
    min-width: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    white-space: nowrap !important;
  }

  .cf-fe-header-main .cf-header-phone > span { display: none !important; }
  .cf-fe-header-main .cf-header-phone strong,
  .cf-fe-header-main .cf-header-phone strong a {
    font-size: 14px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .cf-fe-header-main .cf-fe-account,
  .cf-fe-header-main .cf-fe-account * {
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .cf-fe-header-main .cf-fe-account .text_link { display: none !important; }
  .cf-fe-header-main .cf-fe-account .header-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    padding: 0 !important;
  }

  .cf-fe-header-main .cf-fe-cart,
  .cf-fe-header-main .cf-fe-cart #_desktop_cart,
  .cf-fe-header-main .cf-fe-cart .blockcart,
  .cf-fe-header-main .cf-fe-cart .cart-preview,
  .cf-fe-header-main .cf-fe-cart .cf-cart-link,
  .cf-fe-header-main .cf-fe-cart .click-cart {
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .cf-fe-header-main .cf-fe-cart .cf-cart-link,
  .cf-fe-header-main .cf-fe-cart .click-cart {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 42px !important;
  }

  .cf-fe-header-main .cf-fe-cart .text-cart,
  .cf-fe-header-main .cf-fe-cart .item-cart,
  .cf-fe-header-main .cf-fe-cart .total_prcart,
  .cf-fe-header-main .cf-cart-label { display: none !important; }

  .cf-fe-header-nav #_desktop_fieldmegamenu > ul {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 8px 20px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .cf-fe-header-nav #_desktop_fieldmegamenu > ul > li,
  .cf-fe-header-nav #_desktop_fieldmegamenu .root-item {
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .cf-fe-header-nav #_desktop_fieldmegamenu .root-item a,
  .cf-fe-header-nav #_desktop_fieldmegamenu .root-item .title-text {
    white-space: nowrap !important;
    font-size: 12px !important;
  }
}

/* Product page: stack at narrow tablets; use fluid columns on larger tablets. */
@media (min-width: 768px) and (max-width: 991px) {
  body#product .cf-product-main.row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body#product .cf-product-main > .product_left,
  body#product .cf-product-main > .product_right {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    flex: none !important;
  }

  body#product .cf-product-quantity {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
  }

  body#product .cf-product-quantity > .qty,
  body#product .cf-product-quantity > .add {
    grid-column: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
  }

  body#product .cf-product-quantity > .qty {
    display: grid !important;
    grid-template-columns: 64px minmax(0, 152px) !important;
    gap: 10px !important;
  }

  body#product .cf-qty-control {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 152px !important;
  }

  body#product .cf-product-quantity > .add .add-to-cart {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  body#product .cf-product-main.row {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) !important;
    gap: 24px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body#product .cf-product-main > .product_left,
  body#product .cf-product-main > .product_right {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    flex: none !important;
  }

  body#product .cf-product-quantity {
    grid-template-columns: minmax(190px, 220px) minmax(0, 1fr) !important;
    column-gap: 14px !important;
    min-width: 0 !important;
  }

  body#product .cf-product-quantity > .qty {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 220px !important;
    grid-template-columns: 58px minmax(0, 152px) !important;
  }

  body#product .cf-product-quantity > .add {
    width: 100% !important;
    min-width: 0 !important;
  }

  body#product .cf-product-quantity > .add .add-to-cart {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 260px !important;
  }
}

/* Payment method: label and radio form one large, accessible click target. */
#checkout-payment-step .payment-option {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 52px !important;
  width: 100% !important;
}

#checkout-payment-step .payment-option > .custom-radio {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  /*flex: 0 0 44px !important;
  width: 44px !important;
  height: 44px !important;*/
  border: 1px solid #000 !important;
  margin: 0 !important;
  float: none !important;
}

#checkout-payment-step .payment-option > label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  min-height: 44px !important;
  margin: 0 !important;
  cursor: pointer !important;
}

#checkout-payment-step .payment-option input[type="radio"]:focus-visible + span {
  outline: 3px solid #078bd0 !important;
  outline-offset: 3px !important;
}

#checkout-payment-step .payment-option label img {
  max-width: 110px !important;
  max-height: 36px !important;
  object-fit: contain !important;
}

/* Use ASCII escapes so arrows/phone survive cached CSS decoding. */
.cf-header-phone::before,
.cf-help-phone::before { content: "\260E" !important; }
.carlo-b2b-process-card:not(:last-child)::after { content: "\203A" !important; }
@media (max-width: 767px) {
  .carlo-b2b-process-card:not(:last-child)::after { content: "\2193" !important; }
}
body#product .cf-product-delivery-box summary::after { content: "\2304" !important; }
body#product .cf-product-delivery-box details[open] summary::after { content: "\2303" !important; }


/* ============================================================
   CMS 7 — PŁATNOŚCI I DOSTAWA
   ============================================================ */
body#cms.cms-id-7 .cf-delivery-info {
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: 24px 0 36px !important;
  color: #08275b !important;
}

body#cms.cms-id-7 .cf-delivery-info h2 {
  margin: 0 0 14px !important;
  color: #08275b !important;
  font-size: clamp(24px, 3vw, 34px) !important;
  line-height: 1.15 !important;
}

body#cms.cms-id-7 .cf-delivery-info > p {
  margin: 0 0 18px !important;
  color: #536b7e !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

body#cms.cms-id-7 .cf-delivery-info .table {
  width: 100% !important;
  margin: 0 0 18px !important;
  border-collapse: collapse !important;
  background: #fff !important;
  font-size: 14px !important;
}

body#cms.cms-id-7 .cf-delivery-info .table th,
body#cms.cms-id-7 .cf-delivery-info .table td {
  padding: 13px 15px !important;
  border: 1px solid #d7e3ec !important;
  color: #08275b !important;
  text-align: left !important;
  vertical-align: middle !important;
}

body#cms.cms-id-7 .cf-delivery-info .table th {
  background: #eef8fd !important;
  font-weight: 700 !important;
}

@media (max-width: 767px) {
  body#cms.cms-id-7 .cf-delivery-info {
    padding: 18px 0 28px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  body#cms.cms-id-7 .cf-delivery-info .table {
    min-width: 620px !important;
    font-size: 13px !important;
  }
}
