:root {
    --bs-blue: #0d6efd;
    --bs-indigo: #6610f2;
    --bs-purple: #6f42c1;
    --bs-pink: #d63384;
    --bs-red: #dc3545;
    --bs-orange: #fd7e14;
    --bs-yellow: #ffc107;
    --bs-green: #198754;
    --bs-teal: #20c997;
    --bs-cyan: #0dcaf0;
    --bs-white: #fff;
    --bs-gray-dark: #343a40;
    --bs-gray-100: #f8f9fa;
    --bs-gray-200: #e9ecef;
    --bs-gray-300: #dee2e6;
    --bs-gray-700: #495057;
    --bs-gray-800: #343a40;
    --bs-gray-900: #212529;
    --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
    
    --bs-body-bg: #ffffff;
    --bs-gray: #6c757d;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #6c757d;
    --bs-success: #00c853;
    --bs-success-lighter: #00d057;
    --bs-info: #0076FF;
    --bs-warning: #ffc107;
    --bs-danger: #dc3545;
    --bs-light: #f8f9fa;
    --bs-dark: #212529;
}


:root {
    --bs-primary: #0d6efd; 
    --bs-primary-bg: #ffffff; 
    --bs-primary-text: #212529;
    --bs-secondary-bg: #eeeeee; 
    --bs-secondary-text: #212529; 
    --bs-accent: #07c152; 
    --bs-footer-bg: #ffffff; 
    --bs-footer-text: #212529; 
    
    --bs-preloader-second: #f21559; 
    --heading-prices-choose: #d63384;
    --bs-delete-lighter: #ff5e85;
    
    --bs-primary-lighter: #6AA4FF;
    --bs-primary-darker: #004CCB;
    --bs-secondary-lighter: #eeeeee;
    --bs-secondary-darker: #eee;
    --bs-primary-bg-lighter: #ffffff;
    --bs-primary-bg-darker: #f9f8fa;
    --bs-secondary-bg-lighter: #fff;
    --bs-secondary-bg-darker: #15161b;
    --bs-success-lighter: #00d057;
    --bs-accent-lighter: #00d057;
    --bs-gray: #6c757d;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #6c757d;
    --bs-success: #00c853;
    --bs-info: #0076FF;
    --bs-warning: #ffc107;
    --bs-danger: #dc3545;
    --bs-light: #f8f9fa;
    --bs-dark: #212529;
    
    --bs-body-color: #212529;
    --ip-btn-primary-background: #0d6efd;
    --ip-btn-primary-text: #ffffff;
    --ip-radio-primary-background: #ffffff;
    --ip-radio-primary-text: #212529;
    --ip-radio-primary-border: #0d6efd;
    --ip-radio-checked-background: #0d6efd;
    --ip-radio-checked-text: #ffffff;
    --ip-prices-chosen-background: #f9f8fa;
    --ip-prices-btn-color-text: #ffffff;
    --ip-prices-btn-secondary-background: #00d057;
    --ip-modal-primary-background: #ffffff;
    
    --ip-header-main-bg: #ffffff; 
    --ip-product-icons-text-color: #212529;
    --ip-header-menu-text-color: #6c757d;
    --ip-header-menu-text-color-active: #0d6efd;
    --ip-product-tab-list-nav-link-color: #212529;
    --ip-product-tab-list-nav-link-color-active: #0d6efd;
    --ip-btn-outlined-background: #ffffff;
    --ip-btn-outlined-text: #0d6efd;
    --ip-btn-outlined-secondary-background: #ffffff;
    --ip-btn-outlined-secondary-text: #0d6efd;
    --ip-product-icons-background-color: #ffffff;
    --ip-banner-text: #212529;
    --ip-input-text: #212529; 
    --ip-input-background: #ffffff; 
    --ip-carousel-button-color: #0d6efd;
    --ip-border-radius-boxes: 8px;
    --ip-border-radius-buttons: 50px;
    --ip-border-radius-inputs: 16px;
    --ip-box-shadow-boxes: 0 3px 24px rgba(0, 0, 0, .09);
    --page-max-width: 1200px; 
    --base-font-size: 16px; 
    --base-font-family: 'Arial', sans-serif; 
    --heading-font-family: 'Roboto', sans-serif; 
    --product-box-size: 250px; 


    
    --ip-icon-primary-1: #7f6eff;
    --ip-icon-primary-2: #7e37ff;
    --ip-icon-primary-3: #7c00ff;
    --ip-icon-primary-4: #6120de;
    --ip-icon-primary-5: #4300c4;

    --ip-icon-primary-accent: #f5a8f5;

    --ip-icon-secondary-1: #fff;
    --ip-icon-secondary-2: #f3f3f3;
    --ip-icon-secondary-3: #e9e9e9;
    --ip-icon-secondary-4: #e4e4e4;
    --ip-icon-secondary-5: #ccc;

    --ip-icon-eco-1: #f4e3d3;
    --ip-icon-eco-2: #f4e0ce;
    --ip-icon-eco-3: #dbccbd;

    --ip-icon-darkest: #3a3a3a;
}


:root {
    --bs-primary: #db214c; 
    --bs-primary-bg: #ffffff; 
    --bs-primary-text: #605d5c;
    --bs-secondary-bg: #f6f6f6; 
    --bs-secondary-text: #212529; 
    --bs-accent: #07c152; 
    --bs-footer-bg: #383330; 
    --bs-footer-text: #b4bbc2; 
    
    --bs-preloader-second: #f21559; 
    --heading-prices-choose: #db214c;
    --bs-delete-lighter: #ff5e85;
    
    --bs-primary-lighter: #db214c;
    --bs-primary-darker: #db214c;
    --bs-secondary-lighter: #eeeeee;
    --bs-secondary-darker: #eee;
    --bs-primary-bg-lighter: #ffffff;
    --bs-primary-bg-darker: #f9f8fa;
    --bs-secondary-bg-lighter: #fff;
    --bs-secondary-bg-darker: #15161b;
    --bs-success-lighter: #00d057;
    --bs-accent-lighter: #00d057;
    --bs-gray: #b4bbc2;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #6c757d;
    --bs-success: #00c853;
    --bs-info: #dc3545;
    --bs-warning: #ffc107;
    --bs-danger: #dc3545;
    --bs-light: #f8f9fa;
    --bs-dark: #212529;
    
    --bs-body-color: #0f0f0f;
    --ip-btn-primary-background: #db214c;
    --ip-btn-primary-text: #ffffff;
    --ip-radio-primary-background: #ffffff;
    --ip-radio-primary-text: #212529;
    --ip-radio-primary-border: #db214c;
    --ip-radio-checked-background: #db214c;
    --ip-radio-checked-text: #ffffff;
    --ip-prices-chosen-background: #f9f8fa;
    --ip-prices-btn-color-text: #ffffff;
    --ip-prices-btn-secondary-background: #00d057;
    --ip-modal-primary-background: #ffffff;
    
    --ip-header-main-bg: #ffffff; 
    --ip-product-icons-text-color: #212529;
    --ip-header-menu-text-color: #6c757d;
    --ip-header-menu-text-color-active: #db214c;
    --ip-product-tab-list-nav-link-color: #212529;
    --ip-product-tab-list-nav-link-color-active: #db214c;
    --ip-btn-outlined-background: #ffffff;
    --ip-btn-outlined-text: #db214c;
    --ip-btn-outlined-secondary-background: #ffffff;
    --ip-btn-outlined-secondary-text: #db214c;
    --ip-product-icons-background-color: #ffffff;
    --ip-banner-text: #212529;
    --ip-input-text: #212529; 
    --ip-input-background: #ffffff; 
    --ip-carousel-button-color: #db214c;
    --ip-border-radius-boxes: 1rem !important;
    --ip-border-radius-buttons: 2rem !important;
    --ip-border-radius-inputs: 2rem !important;
    --ip-box-shadow-boxes: 0 8px 30px rgba(0, 0, 0, .08);
    --page-max-width: 1400px; 
    --base-font-size: 16px; 
	--base-font-family: 'Avenir Next LT Pro', sans-serif;
	--heading-font-family: 'Avenir Next LT Pro', sans-serif;
    --product-box-size: 250px; 
}

.alert.alert-danger.my-0.fs-14px.p-2.h-100 .ng-binding {
    display: none;
}

[aria-label="breadcrumb"] {
   display: block;
}

.naklad-wpisywany input {
    border-radius: 2rem !important;
    padding: 13px;
}

.navbar-brand > img:nth-child(1) {
    max-width: 400px;
    max-height: 100px;
}

input:focus {
  box-shadow: 0 0 0 4px rgba(219, 33, 76, 1.0);
  outline: none;
  opacity: 1.0 !important;
}

.controller-layout_produkty .product-box > div {
    margin-bottom: 0 !important;
}

.before-line::before {
    display: none;
}

.prices-columns {
    margin-top: 10px;
}

.d-flex.flex-wrap {
    justify-content: center;
}

g#info-circle-fill {
    opacity: 1.0;
}

/********************* Globalne*********************/
p:not(.fs-7, .fs-6) {
    font-size: 18px !important;
} 

.text-body {
    --bs-text-opacity: 1;
    color: #212529

}

h1 {
    margin-top: 1.25rem;
    margin-bottom: 1rem;
    font-size: 24px;
    font-weight: bold;
}

h2 {
    margin-top: 0.75rem;
    margin-bottom: 0.5rem;
    font-size: 24px;
    font-weight: bold;
}
h2 strong {
font-size: 24px !important;
font-weight: 700 !important;
}

h3 {
    margin-top: 0.75rem;
    margin-bottom: 0rem;
    font-size: 24px;
    font-weight: bold;
}

/*  .heading-with-logo,
#opinie .before-line,
#blog .mobile-adaptive-heading {
        text-align: left !important;
        font-size: 1rem !important;
        font-weight: 700;
}
*/

/******************** strona główna **********************/
#welcome {
    margin-left: 0;
}

div#gallery {
    margin-left: 0;
}


/******************** banery główna **********************/
@media (min-width: 768px) {
    .carousel-inner {
        height: 324px;
    }
    .main-banner-img, .banner-info {
        width: 50% !important;
        max-width: none;
        margin: 0 !important;
    
    }
}
@media (max-width: 767px) {
    .banner-info {
        max-width: none;
        margin-bottom: 3rem !important;
    }
    .main-banner-img {
        display: none;
    }
}
#myCarousel .banner-info p {
    font-size: clamp(1rem, 3vw, 52px) !important;
}

#myCarousel .banner-info p +p {
    font-size: clamp(1rem, 2vw, 36px) !important;
}

.banner-content {
    padding: 0 !important;
}
/********************* ikony produktów *************/
.svg-holding-block img, .svg-holding-block img:hover {
    width: max-content;
}
.svg-holding-block p {
    color: white;
    font-size: 16px !important;
    font-family: 'Open Sans', sans-serif;
    border-bottom-right-radius: 0px;
    border-bottom-left-radius: 0px;
    filter: opacity(1); 
    padding: 8px 10px;
}

.productBoxesInner {
    grid-column-gap: 0px;
    grid-row-gap: 0;
}

/* .ip-svg-primary-path-fill path {
        fill: var(--bs-primary-lighter) !important;
} */

.page-container.header-nav {
        transition: all .55s !important;
}
    
.buttonBar a.active, .buttonBar a.active * {
        color: var(--bs-primary-lighter) !important;
}

.buttonBar a:after {
    background: none !important;
}

.buttonBar a.active:after {
        right: 0;
        background-color: var(--bs-primary-lighter) !important;
}

.buttonBar a.active path {
        fill: var(--bs-primary-lighter) !important;
}

.total-price-1-step b price span {
        font-size: 34px !important;
        font-weight: 900 !important;
        color: var(--bs-primary-lighter) !important;
}

.rabateCouponInputWrapper .d-none.d-md-block.input-text-8.mb-0 {
    width: 300px !important;
}

.btn.ip-text-blue.position-absolute {
    top: -3px !important;
}

.addToCartButton {
        border-color: var(--bs-primary-lighter);
        color: white;
        background-color: var(--bs-primary-lighter);
    }
    
.input.checkbox label:before {
    border: 1px solid #000000;
}

.input_label {
    text-wrap: nowrap;
}

.cart-order-group-payments-form div .d-flex.flex-row.flex-wrap.position-relative,
.cart-order-group-address-book-inline div .d-flex.flex-wrap
{
    row-gap: 10px
}

.bg-white {
    background-color: white;
}

/*******************footer*********************/
li.sub.footer-list-element a {
    font-size: 12px;
    font-weight: 300;
    line-height: 2.2;
    display: block;
    border-bottom: 1px solid #4b4b4b;
    color: #b4bbc2 !important;
    width: 75%;
}

.footer-label, .footer-label p, .footer-label a, .sub a, #footer h2 {
    color: white !important;
}
.input.checkbox label:before {
    border: 1px solid var(--bs-footer-text);
}
#copyrights a:before, #copyrights a:after {
    color: #fff !important;
}

#footer-menu-container h3.text-nowrap {
    font-size: clamp(1rem, 2vw, 2rem);
}

/* @media (max-width: 1199px){
     .social-container {
        width: 50% !important;
    }*/
    
    div#accordion-tabs-main > div > div {
        align-items: center;
    }
    
    #footer-menu + div > div:first-of-type {
        flex-direction: column;
    }
    
    #footer-menu + div > div:first-of-type > div {
        width: 100%;
        flex-direction: column;
    }

@media (min-width: 767px) {
    #footer-menu {
        width: 60% !important;
        flex-wrap: nowrap !important;
    }

    #footer #accordion-tab_produkty, #accordion-tabs-main > div{
        width: 20% !important;
    }      
    #footer-menu > li {
        width: 45.3333%;
    }
    
}

/******************* menu produkty*********************/

@media (min-width: 767px) {
    ul#main-top-menu {
        width: 0px !important;
    }
}

@media (min-width: 1200px) {
    ul#main-top-menu > li.item > .menu-header-wrapper {
        width: 1200px !important;
    }
}

@media screen and (min-width: 960px) {
    ul#main-top-menu > li.item > .menu-header-wrapper {
        width: 100vw !important;
    }
    ul#main-top-menu > li.item > .menu-header-wrapper > ul > li.item {
        width: 25%;
        padding-right: 5px;
    }
}
@media screen and (max-width: 1023px) {
    .tablet.opened h3:not(.item .item h3),
    .mobile.opened h3:not(.item .item h3) {
        display: none;
    }
    ul.mobile-top-menu > li.item > ul {
        display: block !important;
    }
    .tablet .item .item h3 {
        font-size: 16px;
        font-weight: bold;
        margin-bottom: 0;
        padding-left: 1em;
    }
}


/******************* widok produktu - ORYGINALNY UKLAD *******************/
/* Przywrocono oryginalny wyglad konfiguratora produktu.
   Nie dodajemy dodatkowych kart, cieni ani przebudowy ukladu. */

.controller-layout_produkty .product-box > * {
    background-color: var(--bs-body-bg);
    padding: 30px 15px !important;
    margin-bottom: 10px;
    margin-top: 0;
    border-radius: 0px;
}

.controller-layout_produkty .product-box {
    background: unset !important;
    padding: 0 !important;
}

.controller-layout_produkty .block-heading {
    margin-top: 0 !important;
}

.controller-layout_produkty h3 + .parameter-wrapper {
    margin-bottom: 0;
    flex-direction: column;
    gap: 20px;
}

.controller-layout_produkty h3 + .parameter-wrapper > div {
    width: 100%;
}

.controller-layout_produkty .outer-block {
    padding: 0px 5px;
}

#variantMatrixTable .d-table-cell {
    border-top-width: 0px;
}

.d-flex.flex-column.flex-md-row.justify-content-between.ng-scope {
    padding: 36px 15px !important;
}

.d-table-row .d-table-cell:first-child {
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
}

.d-table-row .d-table-cell:last-child {
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
}

/* ukrycie "Przelicz" */
label.position-absolute.naklad-label.text-primary.fw-bold {
    display: none;
}

/* ukrycie min-max pod polem Naklad druku */
p.ip-text-gray.mb-0.mt-1.fs-12px {
    display: none;
}

.mb-3 {
   align-content: center;
   margin-bottom: unset !important;
}

.fw-bold.text-body.m-0.fs-5.lh-24.ng-binding {
    font-size: 35px !important;
    line-height: 40px;
    padding: 20px 0;
}

.container.text-center .text-body.ng-binding {
    font-size: 35px !important;
}

#darmowe_probki .radio-wrap .radio-wrap-label:nth-child(2) {
    display: none;
}

#samples-info-section {
    display: none;
}

/* =========================================================
   MODERN UI 2026 - bezpieczne globalne elementy
   Nie dotyka konfiguratora produktu.
   ========================================================= */
body {
    background: #fafbfc;
}

.btn-primary,
.addToCartButton,
button.btn-primary,
a.btn-primary {
    border-radius: 16px !important;
    transition: transform .25s ease, box-shadow .25s ease, opacity .25s ease;
    font-weight: 700;
}

.btn-primary:hover,
.addToCartButton:hover,
button.btn-primary:hover,
a.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(219, 33, 76, .25);
    opacity: .96;
}

#myCarousel,
.carousel-inner,
.banner-content {
    border-radius: 24px !important;
    overflow: hidden;
}

.main-banner-img img,
.carousel-item img {
    border-radius: 20px;
}

#myCarousel .banner-info {
    padding: 32px !important;
}

#welcome,
#gallery,
#blog,
#opinie {
    margin-top: 32px;
    margin-bottom: 48px;
}

#welcome p,
.text-body p,
.container p {
    line-height: 1.75;
}

@media (max-width: 767px) {
    h1 { font-size: 32px; }
    h2 { font-size: 26px; }
    #myCarousel .banner-info { padding: 22px !important; }
}

/* =========================================================
   CATEGORY TILES LIKE HOMEPAGE - tylko lista/kategoria produktow
   Nie dotyka konfiguratora produktu.
   ========================================================= */

.controller-layout_produkty .productBoxesInner {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
    gap: 40px 32px !important;
    align-items: start !important;
    justify-content: center !important;
}

.controller-layout_produkty .productBoxesInner > * {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
}

.controller-layout_produkty .productBoxesInner .svg-holding-block {
    position: relative !important;
    display: block !important;
    overflow: hidden !important;
    width: 100% !important;
    height: 290px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    transition: transform .25s ease, box-shadow .25s ease !important;
}

.controller-layout_produkty .productBoxesInner .svg-holding-block img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 12px !important;
}

.controller-layout_produkty .productBoxesInner .svg-holding-block p {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    z-index: 5 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    display: block !important;
    text-align: center !important;
    line-height: 54px !important;
    font-family: 'Open Sans', sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    background: rgba(219, 33, 76, .92) !important;
    border-radius: 0 0 12px 12px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    filter: none !important;
}

.controller-layout_produkty .productBoxesInner .svg-holding-block:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .14) !important;
}

.controller-layout_produkty .productBoxesInner .svg-holding-block a,
.controller-layout_produkty .productBoxesInner .svg-holding-block a:hover {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    text-decoration: none !important;
}

@media (max-width: 767px) {
    .controller-layout_produkty .productBoxesInner {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    .controller-layout_produkty .productBoxesInner .svg-holding-block {
        height: 230px !important;
    }

    .controller-layout_produkty .productBoxesInner .svg-holding-block p {
        height: 52px !important;
        min-height: 52px !important;
        max-height: 52px !important;
        font-size: 15px !important;
        line-height: 52px !important;
        padding: 0 14px !important;
    }
}

/* =========================================================
   HOMEPAGE HEADINGS UNIFICATION
   Cel: wszystkie naglowki heading-with-logo jak H1:
   "Drukarnia naklejek, ulotek, wizytowek online"
   ========================================================= */

/* Bazowy wyglad wszystkich naglowkow z logo */
.heading-with-logo,
h1.heading-with-logo,
h2.heading-with-logo,
h3.heading-with-logo,
p.heading-with-logo,
#welcome.heading-with-logo {
    font-family: var(--heading-font-family) !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;

    color: #212529 !important;
    text-align: left !important;

    display: flex !important;
    align-items: center !important;

    padding-left: 0 !important;
    margin-left: 0 !important;

    margin-top: 1.25rem !important;
    margin-bottom: 1rem !important;
}

/* Nadpisanie inline style="padding-left: 15px" dla Co dziś drukujemy */
#welcome.heading-with-logo {
    padding-left: 0 !important;
}

/* Usuniecie efektu klasy fs-2 tylko dla naglowkow z logo */
.heading-with-logo.fs-2,
#welcome.fs-2 {
    font-size: 24px !important;
}

/* Ikona/logo przed naglowkiem */
.heading-with-logo::before {
    flex-shrink: 0 !important;
    margin-right: 16px !important;
}

/* Jezeli iWarePrint wstawia logo jako obrazek */
.heading-with-logo img,
.heading-with-logo svg {
    width: 42px !important;
    height: 42px !important;
    margin-right: 16px !important;
    flex-shrink: 0 !important;
}

/* Usuniecie innych pseudo-linii, ktore moga zmieniac wyglad */
.before-line::before {
    display: none !important;
}

/* Wyrownanie sekcji glownej */
#welcome,
#gallery,
#blog,
#opinie {
    padding-left: 0 !important;
    margin-left: 0 !important;
}

/* Mobile */
@media (max-width: 767px) {
    .heading-with-logo,
    h1.heading-with-logo,
    h2.heading-with-logo,
    h3.heading-with-logo,
    p.heading-with-logo,
    #welcome.heading-with-logo {
        font-size: 22px !important;
        line-height: 1.25 !important;
        margin-top: 1rem !important;
        margin-bottom: .75rem !important;
    }

    .heading-with-logo img,
    .heading-with-logo svg {
        width: 36px !important;
        height: 36px !important;
        margin-right: 12px !important;
    }
}

/* =========================================================
   FIX - heading-with-logo: tekst nie nachodzi na ikonę
   ========================================================= */

.heading-with-logo,
h1.heading-with-logo,
h2.heading-with-logo,
h3.heading-with-logo,
p.heading-with-logo,
#welcome.heading-with-logo {
    position: relative !important;

    font-family: var(--heading-font-family) !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;

    color: #212529 !important;
    text-align: left !important;

    display: block !important;

    /* miejsce na ikonę + odstęp */
    padding-left: 54px !important;

    margin-left: 0 !important;
    margin-top: 1.25rem !important;
    margin-bottom: 1rem !important;
}

/* Nadpisanie inline style z "Co dziś drukujemy?" */
#welcome.heading-with-logo {
    padding-left: 54px !important;
}

/* Wymuszenie tej samej wielkości mimo klasy fs-2 */
.heading-with-logo.fs-2,
#welcome.fs-2 {
    font-size: 24px !important;
}

/* Pozycja ikony przed nagłówkiem */
.heading-with-logo::before {
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;

    width: 38px !important;
    height: 38px !important;

    margin: 0 !important;
    flex-shrink: 0 !important;
}

/* Jeżeli iWarePrint używa img/svg zamiast ::before */
.heading-with-logo img,
.heading-with-logo svg {
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;

    width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
}

/* Mobile */
@media (max-width: 767px) {
    .heading-with-logo,
    h1.heading-with-logo,
    h2.heading-with-logo,
    h3.heading-with-logo,
    p.heading-with-logo,
    #welcome.heading-with-logo {
        font-size: 22px !important;
        padding-left: 48px !important;
    }

    .heading-with-logo::before,
    .heading-with-logo img,
    .heading-with-logo svg {
        width: 34px !important;
        height: 34px !important;
    }
}

/* =========================================================
   FIX - wyrównanie nagłówka "Drukujemy dla:" do Blog / Opinie
   ========================================================= */

/* Przesunięcie CAŁEGO nagłówka Drukujemy dla razem z ikoną */
.atuty-parent > div#gallery.page-container.px-4,
.atuty-parent div#gallery.page-container.px-4 {
    padding-left: 42px !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    max-width: var(--page-max-width) !important;
}

/* Sam tekst nagłówka zostaje identyczny jak pozostałe heading-with-logo */
.atuty-parent > div#gallery.page-container.px-4 > p.heading-with-logo,
.atuty-parent div#gallery.page-container.px-4 p.heading-with-logo {
    font-family: var(--heading-font-family) !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;

    position: relative !important;
    display: block !important;

    padding-left: 54px !important;
    margin-left: 0 !important;
    margin-top: 1.25rem !important;
    margin-bottom: 1rem !important;

    color: #212529 !important;
    text-align: left !important;
}

/* Nadpisanie fs-2 */
.atuty-parent > div#gallery.page-container.px-4 > p.heading-with-logo.fs-2,
.atuty-parent div#gallery.page-container.px-4 p.heading-with-logo.fs-2 {
    font-size: 24px !important;
}

/* Pozycja ikonki */
.atuty-parent > div#gallery.page-container.px-4 > p.heading-with-logo::before,
.atuty-parent div#gallery.page-container.px-4 p.heading-with-logo::before {
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;

    width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
}

/* Mobile */
@media (max-width: 767px) {
    .atuty-parent > div#gallery.page-container.px-4,
    .atuty-parent div#gallery.page-container.px-4 {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    .atuty-parent > div#gallery.page-container.px-4 > p.heading-with-logo,
    .atuty-parent div#gallery.page-container.px-4 p.heading-with-logo {
        font-size: 22px !important;
        padding-left: 48px !important;
    }

    .atuty-parent > div#gallery.page-container.px-4 > p.heading-with-logo::before,
    .atuty-parent div#gallery.page-container.px-4 p.heading-with-logo::before {
        width: 34px !important;
        height: 34px !important;
    }
}
/* OPINIE - naglowek + karty opinii */
#opinie {
    max-width: var(--page-max-width) !important;
    margin: 0 auto !important;
}

#opinie h2.mobile-adaptive-heading {
    display: none !important;
}

#opinie > p.before-line {
    position: relative !important;
    font-family: var(--heading-font-family) !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #212529 !important;
    text-align: left !important;
    margin: 1.25rem 0 2rem 54px !important;
    padding-left: 54px !important;
}

#opinie > p.before-line::before {
    content: "" !important;

    position: absolute !important;

    left: 54px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;

    width: 38px !important;
    height: 38px !important;

    display: block !important;

    border: none !important;
    box-shadow: none !important;

    background-image: url("/useruploads/images/cyfrowadrukarniaonline_pl/logo-icon.png") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
}

#opinie > p.before-line::after,
#opinie .before-line::after {
    display: none !important;
    content: none !important;
}

#opinie .opinie-block .owl-stage {
    display: flex !important;
    align-items: stretch !important;
}

#opinie .opinie-block .owl-item {
    display: flex !important;
    align-items: stretch !important;
}

#opinie .opinie-block .owl-item .item {
    width: 100% !important;
    height: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 16px !important;
    display: flex !important;
}

#opinie .opinie-block .owl-item .item > .bg-white {
    position: relative !important;
    width: 100% !important;
    height: 350px !important;
    min-height: 350px !important;
    max-height: 350px !important;
    background: #ffffff !important;
    border-radius: 18px !important;
    padding: 34px 38px !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .08) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    overflow: hidden !important;
    transition: all .25s ease !important;
}

#opinie .opinie-block .owl-item .item > .bg-white > div {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

#opinie .orange-star {
    color: #ff9900 !important;
    font-size: 20px !important;
    margin-right: 3px !important;
}

#opinie .opinie-block .owl-item .item > .bg-white .p-3.pb-0 > p.fs-16px {
    font-size: 17px !important;
    line-height: 1.45 !important;
    color: #111111 !important;
    margin-top: 16px !important;
    margin-bottom: 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 6 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

#opinie .opinie-block .owl-item .item > .bg-white .d-flex {
    margin-top: 20px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

#opinie .opinie-block .owl-item .item > .bg-white .d-flex p {
    font-size: 14px !important;
    line-height: 1.35 !important;
    margin-bottom: 2px !important;
}

#opinie .opinie-block .owl-item .item > .bg-white:hover {
    height: auto !important;
    min-height: 350px !important;
    max-height: none !important;
    overflow: visible !important;
    z-index: 50 !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 22px 48px rgba(0, 0, 0, .18) !important;
}

#opinie .opinie-block .owl-item .item > .bg-white:hover .p-3.pb-0 > p.fs-16px {
    display: block !important;
    -webkit-line-clamp: unset !important;
    overflow: visible !important;
}

#opinie .opinie-block .owl-item:hover {
    z-index: 60 !important;
}

#opinie .opinie-block .owl-stage-outer,
#opinie .opinie-block.owl-carousel,
#opinie .opinie-parent {
    overflow: visible !important;
}

#opinie .opinie-block .owl-dots {
    margin-top: 32px !important;
    text-align: center !important;
}

#opinie .opinie-block .owl-dot span {
    width: 10px !important;
    height: 10px !important;
    margin: 0 7px !important;
    background: #db214c !important;
    opacity: .75 !important;
    border-radius: 50px !important;
    transition: all .25s ease !important;
}

#opinie .opinie-block .owl-dot.active span {
    width: 46px !important;
    opacity: 1 !important;
}

@media (max-width: 767px) {
    #opinie > p.before-line {
        font-size: 22px !important;
        margin-left: 0 !important;
        padding-left: 48px !important;
    }

    #opinie > p.before-line::before {
        width: 34px !important;
        height: 34px !important;
    }

    #opinie .opinie-block .owl-item .item {
        padding: 0 10px !important;
    }

    #opinie .opinie-block .owl-item .item > .bg-white {
        height: 320px !important;
        min-height: 320px !important;
        max-height: 320px !important;
        padding: 28px !important;
    }

    #opinie .opinie-block .owl-item .item > .bg-white .p-3.pb-0 > p.fs-16px {
        font-size: 16px !important;
        -webkit-line-clamp: 7 !important;
    }
}
/* =========================================================
   KAFLE KATEGORII - obraz + pasek tekstowy na dole
   ========================================================= */

.controller-layout_produkty .productBoxesInner {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
    gap: 40px 32px !important;
    align-items: start !important;
    justify-content: center !important;
}

/* Usuniecie bialych ramek i paddingow wrapperow */
.controller-layout_produkty .productBoxesInner > *,
.controller-layout_produkty .productBoxesInner > div,
.controller-layout_produkty .productBoxesInner .product-box,
.controller-layout_produkty .productBoxesInner .product-box > *,
.controller-layout_produkty .productBoxesInner .svg-holding-block {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

/* Karta */
.controller-layout_produkty .productBoxesInner .svg-holding-block {
    position: relative !important;
    display: block !important;
    overflow: hidden !important;

    width: 100% !important;
    height: 300px !important;

    border-radius: 12px !important;
    background: #ffffff !important;
}

/* Obraz */
.controller-layout_produkty .productBoxesInner .svg-holding-block img {
    display: block !important;

    width: 100% !important;
    height: 300px !important;

    object-fit: cover !important;
    object-position: center !important;

    margin: 0 !important;
    padding: 0 !important;

    border-radius: 12px !important;
}

/* Pasek tekstowy */
.controller-layout_produkty .productBoxesInner .svg-holding-block p {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;

    z-index: 10 !important;

    width: 100% !important;
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;

    margin: 0 !important;
    padding: 0 16px !important;

    display: block !important;

    line-height: 58px !important;
    text-align: center !important;

    font-family: 'Open Sans', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;

    color: #ffffff !important;
    background: rgba(219, 33, 76, .94) !important;

    border-radius: 0 0 12px 12px !important;

    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;

    filter: none !important;
}

/* Jezeli tekst jest wewnatrz span/a/strong */
.controller-layout_produkty .productBoxesInner .svg-holding-block p span,
.controller-layout_produkty .productBoxesInner .svg-holding-block p a,
.controller-layout_produkty .productBoxesInner .svg-holding-block p strong {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;

    line-height: 58px !important;

    color: #ffffff !important;

    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Hover */
.controller-layout_produkty .productBoxesInner .svg-holding-block:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .14) !important;
}

/* Mobile */
@media (max-width: 767px) {
    .controller-layout_produkty .productBoxesInner {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    .controller-layout_produkty .productBoxesInner .svg-holding-block,
    .controller-layout_produkty .productBoxesInner .svg-holding-block img {
        height: 240px !important;
    }

    .controller-layout_produkty .productBoxesInner .svg-holding-block p {
        height: 52px !important;
        min-height: 52px !important;
        max-height: 52px !important;
        line-height: 52px !important;
        font-size: 15px !important;
    }
}

/* =========================================================
   FORCE FIX - kafle kategorii / podkategorii
   ========================================================= */

.controller-layout_produkty .productBoxesInner {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(240px, 1fr)) !important;
    gap: 40px 32px !important;
}

/* każdy element kafla */
.controller-layout_produkty .productBoxesInner > div,
.controller-layout_produkty .productBoxesInner > a {
    position: relative !important;
    overflow: hidden !important;

    height: 300px !important;
    padding: 0 !important;
    margin: 0 !important;

    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* usuń białe wnętrze */
.controller-layout_produkty .productBoxesInner * {
    box-sizing: border-box !important;
}

/* obraz */
.controller-layout_produkty .productBoxesInner img {
    display: block !important;

    width: 100% !important;
    height: 300px !important;
    max-width: none !important;
    max-height: none !important;

    object-fit: cover !important;
    object-position: center !important;

    padding: 0 !important;
    margin: 0 !important;

    border-radius: 12px !important;
}

/* pasek tekstowy */
.controller-layout_produkty .productBoxesInner p {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    z-index: 20 !important;

    width: 100% !important;
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;

    margin: 0 !important;
    padding: 0 16px !important;

    display: block !important;

    line-height: 58px !important;
    text-align: center !important;

    font-size: 16px !important;
    font-weight: 700 !important;
    color: #ffffff !important;

    background: rgba(219, 33, 76, .95) !important;

    border-radius: 0 0 12px 12px !important;

    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* =========================================================
   FIX - kafle kategorii/podproduktów product-box-single
   Struktura:
   .col-6.col-lg-3 > div > a > .product-box-single.svg-holding-block
   ========================================================= */

/* Zewnętrzna kolumna kafla */
.controller-layout_produkty .col-6.col-lg-3 {
    padding: 14px !important;
}

/* Link obejmujący kafel */
.controller-layout_produkty .col-6.col-lg-3 > div > a {
    display: block !important;
    height: 100% !important;
    text-decoration: none !important;
}

/* Główna karta kafla */
.controller-layout_produkty .product-box-single.svg-holding-block {
    position: relative !important;

    width: 100% !important;
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;

    padding: 0 !important;
    margin: 0 !important;

    overflow: hidden !important;

    background: #ffffff !important;
    border: none !important;
    border-radius: 14px !important;

    box-shadow: 0 8px 22px rgba(0, 0, 0, .08) !important;

    transition: transform .25s ease, box-shadow .25s ease !important;
}

/* Obraz w kaflu */
.controller-layout_produkty .product-box-single.svg-holding-block img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    max-width: none !important;
    max-height: none !important;

    object-fit: cover !important;
    object-position: center !important;

    margin: 0 !important;
    padding: 0 !important;

    border-radius: 14px !important;
}

/* Pasek tekstowy na dole */
.controller-layout_produkty .product-box-single.svg-holding-block p {
    position: absolute !important;

    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;

    z-index: 10 !important;

    width: 100% !important;
    max-width: 100% !important;

    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;

    margin: 0 !important;
    padding: 0 16px !important;

    display: block !important;

    line-height: 58px !important;
    text-align: center !important;

    font-family: 'Open Sans', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;

    color: #ffffff !important;
    background: rgba(219, 33, 76, .94) !important;

    border-radius: 0 0 14px 14px !important;

    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;

    filter: none !important;
}

/* Hover */
.controller-layout_produkty .product-box-single.svg-holding-block:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 14px 30px rgba(0, 0, 0, .14) !important;
}

/* Mobile */
@media (max-width: 767px) {
    .controller-layout_produkty .product-box-single.svg-holding-block {
        height: 240px !important;
        min-height: 240px !important;
        max-height: 240px !important;
    }

    .controller-layout_produkty .product-box-single.svg-holding-block p {
        height: 52px !important;
        min-height: 52px !important;
        max-height: 52px !important;

        line-height: 52px !important;
        font-size: 15px !important;
        padding: 0 14px !important;
    }
}

/* =========================================================
   OPINIE - tło na całą szerokość strony
   ========================================================= */

#opinie {
    width: 100vw !important;
    max-width: none !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding: 70px 0 80px !important;

    background: #f7f7f7 !important;

    overflow: hidden !important;
}

/* Ograniczenie zawartości do szerokości strony */
#opinie > p.before-line,
#opinie .opinie-parent,
#opinie > .text-center {
    max-width: var(--page-max-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* =========================================================
   OPINIE - wyrównanie ikony i tekstu jak Drukujemy dla
   ========================================================= */

#opinie > p.before-line {
    position: relative !important;

    max-width: var(--page-max-width) !important;
    width: 100% !important;

    margin: 1.25rem auto 2rem auto !important;
    padding-left: 54px !important;

    display: block !important;

    font-family: var(--heading-font-family) !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;

    color: #212529 !important;
    text-align: left !important;
}

/* Nie budujemy ikony od nowa, tylko przywracamy ikonę iWare */
#opinie > p.before-line::before {
    display: block !important;
    content: "" !important;

    position: absolute !important;
    left: 54px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;

    width: 38px !important;
    height: 38px !important;

    margin: 0 !important;

    border: none !important;
    box-shadow: none !important;
}

/* Usunięcie ewentualnej dekoracyjnej kreski */
#opinie > p.before-line::after {
    content: none !important;
    display: none !important;
}