/* ============================================================
   SHARED — przyciski i badge (używane we wszystkich blokach)
   ============================================================ */

.hbBtnLight {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #ef6a2c;
    color: #000;
/*     font-family: var(--txtHeader); */
    font-weight: 700;
    font-size: 18px;
    padding: 10px 50px;
    border-radius: 10px;
    box-shadow: rgba(255, 255, 255,.32) 0px 8px 26px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease-out;
}
.hbBtnLight:hover { opacity: .85; color: #000; }

.hbBtnGhost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border: 1px solid #434343;
    background: transparent;
    color: #fff;
/*     font-family: var(--txtHeader); */
    font-weight: 700;
    font-size: 18px;
    padding: 10px 50px;
    border-radius: 10px;
    backdrop-filter: blur(10px);
    text-decoration: none;
    cursor: pointer;
     transition: all 0.3s ease-out;
}
.hbBtnGhost:hover { background: rgba(255, 255, 255,.1); color: #fff; }

.hbBadge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(255, 255, 255,.08);
    border: 1px solid rgba(255, 255, 255,.3);
    border-radius: 100px;
    padding: 7px 14px;
    font-family: var(--txt);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #6d6d6d;
    max-width: max-content;
}
.hbBadge__line {
    display: inline-block;
    width: 16px;
    height: 1px;
    background: #ef6a2c;
    flex-shrink: 0;
}


/* ============================================================
   BLOCK: about-start
   ============================================================ */

.aboutStart {
    background: transparent;
}

.aboutStart__label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-transform: uppercase;
    font-family: var(--txt);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    color: #ef6a2c;
    padding: 7px 14px;
    border: 1px solid rgba(255, 255, 255,.3);
    border-radius: 100px;
    background: rgba(255, 255, 255,.08);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    margin-bottom: 16px;
}

.aboutStart__label h6 {
    margin: 0;
    background: transparent !important;
}

.aboutStart__dot {
    width: 8px;
    height: 8px;
    min-width: 8px;
    border-radius: 50%;
    background: #ef6a2c;
    display: inline-block;
}

.aboutStart__heading {
    font-family: var(--txtHeader);
    font-size: clamp(23px, 3vw, 34px);
    line-height: 1.25;
    font-weight: 400;
    color: #fff;
}

.aboutStart__heading--dark {
/*     color: #fff; */
    font-weight: 500;
}

.aboutStart__heading--light {
    color: #d2d2d2;
    font-weight: 400;
}

.aboutStart__statsGrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 60px;
    padding-top: 40px;
    border-top: 1px solid rgba(255, 255, 255,.08);
}

.aboutStart__statNumber {
    font-family: var(--txtHeader);
    font-size: clamp(38px, 4vw, 58px);
    font-weight: 400;
    color: #fff;
    line-height: 1;
    margin-bottom: 12px;
    letter-spacing: -0.01em;
}

.aboutStart__statLabel {
    font-family: var(--txt);
    font-size: 14px;
    color: rgba(109,109,109,.4);
    font-weight: 400;
    letter-spacing: 1px;
    text-transform: uppercase;
}

@media screen and (max-width: 992px) {
    .aboutStart__statsGrid {
        grid-template-columns: repeat(3, 1fr);
        margin-top: 40px;
        padding-top: 30px;
    }
}

@media screen and (max-width: 768px) {
    .aboutStart__statNumber { text-align: center; }
    .aboutStart__statLabel  { text-align: center; }
    .aboutStart__statsGrid {
        grid-template-columns: repeat(1, 1fr);
        gap: 20px;
        margin-top: 30px;
    }
}

@media screen and (max-width: 576px) {
    .aboutStart__statsGrid {
        grid-template-columns: repeat(1, 1fr);
        gap: 20px;
    }
}


/* ============================================================
   BLOCK: columns-good
   ============================================================ */

.columnsGood {
    background: transparent;
}

.columnsGood__label {
    font-family: var(--txt);
    font-size: 12px;
    font-weight: 400;
    color: rgba(109,109,109,.4);
    letter-spacing: 0.05em;
}

.columnsGood__headingWrap {
    max-width: 65%;
    font-family: var(--txtHeader);
    font-size: clamp(24px, 2.8vw, 42px);
    line-height: 1.25;
    font-weight: 400;
}

.columnsGood__heading--dark {
    color: #fff;
    font-weight: 500;
}

.columnsGood__heading--light {
    color: rgba(109,109,109,.3);
    font-weight: 400;
}

.columnsGood__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    padding-top: 50px;
    border-top: 1px solid rgba(255, 255, 255,.08);
}

.columnsGood__iconWrap {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.columnsGood__icon {
    width: 44px;
    height: 44px;
    object-fit: contain;
    border-radius: 8px;
}

.columnsGood__title {
    font-family: var(--txtHeader);
    font-size: 17px;
    font-weight: 500;
    color: #fff;
    line-height: 1.3;
}

.columnsGood__desc {
    font-family: var(--txt);
    font-size: 13px;
    color: rgba(109,109,109,.55);
    line-height: 1.6;
    font-weight: 400;
}

.columnsGood__desc p {
    font-family: var(--txt);
    color: rgba(109,109,109,.55);
    font-size: 13px;
    line-height: 1.6;
    margin: 0;
}

@media screen and (max-width: 992px) {
    .columnsGood__headingWrap { max-width: 100%; }
    .columnsGood__grid { grid-template-columns: repeat(2, 1fr); gap: 30px; }
}

@media screen and (max-width: 576px) {
    .columnsGood__grid { grid-template-columns: 1fr; gap: 25px; }
}


/* ============================================================
   BLOCK: all-main
   ============================================================ */

.allMain__sectionLabel {
    font-family: var(--txt);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(109,109,109,.4);
}

/* ----- 1. HERO ----- */
.allMain__hero {
    padding: 120px 0 80px;
    background: #fef9f3;
}

.allMain__hero--hasBg {
    padding: 140px 0 100px;
    background-color: #fef9f3;
}

.allMain__heroDark {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.55);
    z-index: 1;
}

.allMain__heroTagline {
    font-family: var(--txt);
    font-size: 13px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(109,109,109,.4);
    margin-bottom: 20px;
    font-weight: 400;
}

.allMain__heroH1 {
    font-family: var(--txtHeader);
    font-size: clamp(32px, 4.5vw, 64px);
    font-weight: 600;
    line-height: 1.15;
    color: #fff;
    max-width: 800px;
    margin-bottom: 20px;
}

.allMain__heroDesc {
    font-family: var(--txt);
    font-size: 17px;
    color: rgba(109,109,109,.6);
    max-width: 560px;
    line-height: 1.65;
    margin-bottom: 35px;
    font-weight: 400;
}

.allMain__heroBtns { margin-bottom: 40px; }

.allMain__heroBullets {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.allMain__heroBullet {
    font-family: var(--txt);
    font-size: 14px;
    color: rgba(109,109,109,.6);
    padding-left: 18px;
    position: relative;
}

.allMain__heroBullet::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: #d2d2d2;
    font-weight: 700;
    font-size: 12px;
}

/* ----- 2. O NAS ----- */
.allMain__aboutH2 {
    font-family: var(--txtHeader);
    font-size: clamp(24px, 2.8vw, 38px);
    line-height: 1.25;
    font-weight: 600;
    color: #fff;
}

.allMain__aboutDesc p {
    font-family: var(--txt);
    font-size: 16px;
    color: rgba(109,109,109,.6);
    line-height: 1.7;
}

.allMain__aboutStat {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.allMain__aboutStatNum {
    font-family: var(--txtHeader);
    font-size: clamp(36px, 4vw, 52px);
    font-weight: 700;
    color: #fff;
    line-height: 1;
}

.allMain__aboutStatLabel {
    font-family: var(--txt);
    font-size: 13px;
    color: rgba(109,109,109,.4);
    font-weight: 400;
}

.allMain__aboutImg {
    object-fit: cover;
    border-radius: 10px;
    display: block;
}

/* ----- 3. USŁUGI ----- */
.allMain__servicesDesc p {
    font-family: var(--txt);
    font-size: 16px;
    color: rgba(109,109,109,.6);
}

.allMain__servicesGrid {
    display: flex;
    flex-direction: column;
    gap: 50px;
}

.allMain__serviceItem {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 50px;
    align-items: center;
}

.allMain__serviceItem:nth-child(even) { direction: rtl; }
.allMain__serviceItem:nth-child(even) > * { direction: ltr; }

.allMain__serviceImgWrap {
    overflow: hidden;
    border-radius: 10px;
}

.allMain__serviceImg {
    width: 100%;
    height: 380px;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.allMain__serviceImgWrap:hover .allMain__serviceImg { transform: scale(1.03); }

.allMain__serviceH3 {
    font-family: var(--txtHeader);
    font-size: clamp(22px, 2.5vw, 30px);
    font-weight: 600;
    color: #fff;
    line-height: 1.25;
}

.allMain__serviceDesc p {
    font-family: var(--txt);
    font-size: 15px;
    color: rgba(109,109,109,.6);
    line-height: 1.7;
}

/* ----- 4. REALIZACJE ----- */
.allMain__portfolioDesc p {
    font-family: var(--txt);
    font-size: 16px;
    color: rgba(109,109,109,.6);
}

.allMain__portfolioImgWrap {
    overflow: hidden;
    border-radius: 10px;
    margin-bottom: 12px;
}

.allMain__portfolioImg {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.allMain__portfolioImgWrap:hover .allMain__portfolioImg { transform: scale(1.04); }

.allMain__portfolioCat {
    font-family: var(--txt);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(109,109,109,.4);
    font-weight: 500;
    display: block;
    margin-bottom: 6px;
}

.allMain__portfolioH4 {
    font-family: var(--txtHeader);
    font-size: 16px;
    font-weight: 600;
    color: #fff;
    line-height: 1.3;
}

/* ----- 5. DLACZEGO WARTO ----- */
.allMain__whyGrid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.allMain__whyItem {
    padding-top: 25px;
    border-top: 2px solid rgba(255, 255, 255,.4);
}

.allMain__whyDot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #ef6a2c;
    margin-bottom: 15px;
}

.allMain__whyH3 {
    font-family: var(--txtHeader);
    font-size: 18px;
    font-weight: 600;
    color: #fff;
    line-height: 1.3;
}

.allMain__whyDesc p {
    font-family: var(--txt);
    font-size: 14px;
    color: rgba(109,109,109,.6);
    line-height: 1.65;
}

/* ----- 6. ETAPY ----- */
.allMain__stepsDesc p {
    font-family: var(--txt);
    font-size: 16px;
    color: rgba(109,109,109,.6);
}

.allMain__stepsGrid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.allMain__stepNum {
    font-family: var(--txtHeader);
    font-size: 42px;
    font-weight: 700;
    color: rgba(255, 255, 255,.2);
    line-height: 1;
    margin-bottom: 16px;
    font-variant-numeric: tabular-nums;
}

.allMain__stepH4 {
    font-family: var(--txtHeader);
    font-size: 17px;
    font-weight: 600;
    color: #fff;
    line-height: 1.3;
}

.allMain__stepDesc p {
    font-family: var(--txt);
    font-size: 14px;
    color: rgba(109,109,109,.6);
    line-height: 1.65;
}

/* ----- 7. OPINIE ----- */
.allMain__reviewItem {
    background: linear-gradient(160deg, rgba(255, 255, 255,.16), rgba(255, 255, 255,.4));
    padding: 35px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255,.08);
}

.allMain__reviewQuote {
    font-size: 60px;
    line-height: 0.8;
    color: rgba(255, 255, 255,.25);
    font-family: Georgia, serif;
    margin-bottom: 15px;
}

.allMain__reviewText p {
    font-family: var(--txt);
    font-size: 15px;
    color: rgba(109,109,109,.7);
    line-height: 1.7;
    font-style: italic;
}

.allMain__reviewInitial {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 50%;
    background: rgba(255, 255, 255,.2);
    border: 1px solid rgba(255, 255, 255,.4);
    color: #d2d2d2;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--txtHeader);
    font-size: 16px;
    font-weight: 700;
}

.allMain__reviewName {
    font-family: var(--txtHeader);
    font-size: 14px;
    font-weight: 600;
    color: #fff;
}

.allMain__reviewCity {
    font-family: var(--txt);
    font-size: 12px;
    color: rgba(109,109,109,.4);
    margin-top: 2px;
}

/* ----- 8. FAQ ----- */
.allMain__faqList { max-width: 760px; }

.allMain__faqItem {
    border-bottom: 1px solid rgba(255, 255, 255,.08);
    cursor: pointer;
}

.allMain__faqQuestion {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 22px 0;
    font-family: var(--txtHeader);
    font-size: 17px;
    font-weight: 500;
    color: #fff;
    gap: 20px;
    user-select: none;
}

.allMain__faqIcon {
    font-size: 22px;
    font-weight: 300;
    color: rgba(109,109,109,.4);
    line-height: 1;
    min-width: 20px;
    text-align: center;
    transition: transform 0.3s ease;
}

.allMain__faqItem.active .allMain__faqIcon {
    transform: rotate(45deg);
    color: #ef6a2c;
}

.allMain__faqAnswer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
}

.allMain__faqAnswerInner { padding-bottom: 20px; }

.allMain__faqAnswerInner p {
    font-family: var(--txt);
    font-size: 15px;
    color: rgba(109,109,109,.6);
    line-height: 1.7;
}

/* ----- 9. KONTAKT ----- */
.allMain__contactDesc p {
    font-family: var(--txt);
    font-size: 16px;
    color: rgba(109,109,109,.6);
    line-height: 1.65;
}

.allMain__contactDetails {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.allMain__contactLink {
    display: flex;
    flex-direction: column;
    gap: 3px;
    text-decoration: none;
    padding: 18px 20px;
    background: linear-gradient(160deg, rgba(255, 255, 255,.12), rgba(255, 255, 255,.4));
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255,.08);
    transition: border-color 0.3s ease;
    color: #fff;
}

.allMain__contactLink:hover { border-color: rgba(255, 255, 255,.4); color: #fff; }

.allMain__contactLinkLabel {
    font-family: var(--txt);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(109,109,109,.4);
    font-weight: 500;
}

.allMain__contactLink span:last-child {
    font-family: var(--txtHeader);
    font-size: 16px;
    font-weight: 600;
    color: #fff;
}

.allMain__contactForm .wpcf7-form input,
.allMain__contactForm .wpcf7-form textarea {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255,.14);
    border-radius: 10px;
    font-family: var(--txt);
    font-size: 15px;
    color: #fff;
    background: rgba(255, 255, 255,.06);
    margin-bottom: 12px;
    transition: border-color 0.2s ease;
}

.allMain__contactForm .wpcf7-form input::placeholder,
.allMain__contactForm .wpcf7-form textarea::placeholder {
    color: rgba(109,109,109,.3);
}

.allMain__contactForm .wpcf7-form input:focus,
.allMain__contactForm .wpcf7-form textarea:focus {
    outline: none;
    border-color: rgba(255, 255, 255,.5);
}

.allMain__contactForm .wpcf7-form textarea {
    height: 130px;
    resize: vertical;
}

.allMain__contactForm .wpcf7-form input[type="submit"] {
    background: #ef6a2c;
    color: #000;
    border: none;
    cursor: pointer;
    font-family: var(--txtHeader);
    font-weight: 700;
    letter-spacing: 0.05em;
    padding: 16px 40px;
    border-radius: 10px;
    transition: opacity 0.2s;
    width: auto;
    margin-bottom: 0;
}

.allMain__contactForm .wpcf7-form input[type="submit"]:hover { opacity: .85; }

/* ----- RESPONSIVE ----- */
@media screen and (max-width: 1170px) {
    .allMain__whyGrid { grid-template-columns: repeat(2, 1fr); }
    .allMain__stepsGrid { grid-template-columns: repeat(2, 1fr); }
}

@media screen and (max-width: 992px) {
    .allMain__hero { padding: 80px 0 60px; }
    .allMain__hero--hasBg { padding: 100px 0 70px; }
    .allMain__serviceItem { grid-template-columns: 1fr; gap: 25px; }
    .allMain__serviceItem:nth-child(even) { direction: ltr; }
    .allMain__serviceImg { height: 280px; }
}

@media screen and (max-width: 768px) {
    .allMain__whyGrid { grid-template-columns: 1fr 1fr; gap: 20px; }
    .allMain__stepsGrid { grid-template-columns: 1fr 1fr; gap: 20px; }
    .allMain__reviewItem { padding: 25px; }
}

@media screen and (max-width: 576px) {
    .allMain__hero { padding: 60px 0 50px; }
    .allMain__whyGrid { grid-template-columns: 1fr; }
    .allMain__stepsGrid { grid-template-columns: 1fr; }
    .allMain__heroBtns { flex-direction: column; }
}


/* ============================================================
   BLOCK: portfolio-onebig
   ============================================================ */

.portfolioOneBig__topGrid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: auto auto;
    gap: 10px;
    margin-bottom: 10px;
}

.portfolioOneBig__itemBig { grid-row: 1 / 3; }
.portfolioOneBig__itemBig .portfolioOneBig__imgWrap { height: 500px; }
.portfolioOneBig__itemSmall .portfolioOneBig__imgWrap { height: 245px; }

.portfolioOneBig__bottomGrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.portfolioOneBig__itemBottom .portfolioOneBig__imgWrap { height: 280px; }

.portfolioOneBig__imgWrap {
    overflow: hidden;
    border-radius: 10px;
    width: 100%;
    display: block;
}

.portfolioOneBig__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}

@media screen and (min-width: 992px) {
    .portfolioOneBig__imgWrap:hover .portfolioOneBig__img { transform: scale(1.05); }
}

@media screen and (max-width: 992px) {
    .portfolioOneBig__topGrid { grid-template-columns: 1fr 1fr; }
    .portfolioOneBig__itemBig { grid-column: 1 / 3; grid-row: auto; }
    .portfolioOneBig__itemBig .portfolioOneBig__imgWrap { height: 320px; }
    .portfolioOneBig__itemSmall .portfolioOneBig__imgWrap { height: 200px; }
    .portfolioOneBig__itemBottom .portfolioOneBig__imgWrap { height: 200px; }
}

@media screen and (max-width: 576px) {
    .portfolioOneBig__topGrid { grid-template-columns: 1fr 1fr; }
    .portfolioOneBig__itemBig { grid-column: 1 / 3; grid-row: auto; }
    .portfolioOneBig__bottomGrid { grid-template-columns: 1fr 1fr; }
    .portfolioOneBig__itemBig .portfolioOneBig__imgWrap { height: 200px; }
    .portfolioOneBig__itemSmall .portfolioOneBig__imgWrap,
    .portfolioOneBig__itemBottom .portfolioOneBig__imgWrap { height: 160px; }
    .portfolioOneBig__bottomGrid .portfolioOneBig__item:last-child { grid-column: 1 / 3; }
}


/* ============================================================
   BLOCK: offer-house
   ============================================================ */

.offerHouse__h2 h2 {
    font-family: var(--txtHeader);
    font-size: clamp(26px, 3vw, 42px);
    font-weight: 500;
    line-height: 1.2;
/*     color: #fff; */
}

.offerHouse__h2 h2 strong {
    font-weight: 500 !important;
    color: #d2d2d2;
}

.offerHouse__desc p {
    font-family: var(--txt);
    font-size: 16px;
    color: rgba(109,109,109,.6);
    line-height: 1.7;
}

.offerHouse__card {
    border: 1px solid rgba(255, 255, 255,.08);
    border-radius: 10px;
    overflow: hidden;
    background: linear-gradient(160deg, rgba(255, 255, 255,.16), rgba(255, 255, 255,.4));
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.offerHouse__imgWrap {
    position: relative;
    overflow: hidden;
}

.offerHouse__img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.offerHouse__iconWrap {
    position: absolute;
    top: 12px;
    left: 12px;
    width: 46px;
    height: 46px;
    background: rgba(255, 255, 255,.2);
    border: 1px solid rgba(255, 255, 255,.4);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.offerHouse__icon {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.offerHouse__cardContent {
    padding: 22px 20px;
}

.offerHouse__cardTitle {
    font-family: var(--txtHeader);
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    line-height: 1.3;
    margin-bottom: 14px;
}

.offerHouse__cardText {
    font-family: var(--txt);
    font-size: 14px;
    color: rgba(109,109,109,.55);
    line-height: 1.6;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255, 255, 255,.07);
}

@media screen and (min-width: 992px) {
    .offerHouse__card:hover {
        transform: translateY(-6px);
        box-shadow: 0 16px 40px rgba(0,0,0,.3);
    }
    .offerHouse__card:hover .offerHouse__img { transform: scale(1.05); }
}

@media screen and (max-width: 576px) {
    .offerHouse__grid { grid-template-columns: 1fr; }
}


/* ============================================================
   BLOCK: whyus-section
   ============================================================ */

.whyusSection__card {
    padding: 20px;
    border: 1px solid rgba(255, 255, 255,.08);
    border-radius: 10px;
    background: linear-gradient(160deg, rgba(255, 255, 255,.16), rgba(255, 255, 255,.4));
    transition: border-color 0.3s ease;
}

.whyusSection__iconWrap {
    width: 65px;
    height: 65px;
    border-radius: 10px;
    background: rgba(255, 255, 255,.1);
    border: 1px solid rgba(255, 255, 255,.3);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s ease;
}

.whyusSection__icon {
    width: 45px;
    height: 45px;
    object-fit: contain;
    transition: filter 0.3s ease;
}

.whyusSection__title {
    font-family: var(--txtHeader);
    font-size: 24px;
    font-weight: 400;
/*     color: #fff; */
    line-height: 1.3;
}

.whyusSection__desc p {
    font-family: var(--txt);
    font-size: 14px;
    color: #6d6d6d;
    line-height: 1.65;
    margin: 0;
}

@media screen and (min-width: 992px) {
    .whyusSection__card:hover { border-color: rgba(255, 255, 255,.4); }
    .whyusSection__card:hover .whyusSection__iconWrap {
        background: rgba(255, 255, 255,.2);
    }
}

@media screen and (max-width: 768px) {
    .whyusSection__grid { grid-template-columns: repeat(2, 1fr); }
}

@media screen and (max-width: 480px) {
    .whyusSection__grid { grid-template-columns: 1fr; }
}


/* ============================================================
   BLOCK: building-steps
   ============================================================ */

.buildingSteps__timeline {
    position: relative;
    padding: 20px 0;
}

.buildingSteps__line {
    position: absolute;
    top: 0;
    left: 50%;
    width: 2px;
    height: 100%;
    background-image: repeating-linear-gradient(
        to bottom,
        rgba(255, 255, 255,.12) 0px,
        rgba(255, 255, 255,.12) 6px,
        transparent 6px,
        transparent 14px
    );
    transform: translateX(-50%);
    z-index: 0;
	background:#ef6a2c;
}

.buildingSteps__lineProgress {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0%;
    background: #ef6a2c;
    transition: height 0.15s linear;
}

.buildingSteps__row {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 40px;
}

.buildingSteps__row--left .buildingSteps__card  { grid-column: 1; }
.buildingSteps__row--right .buildingSteps__card { grid-column: 2; }

.buildingSteps__marker {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 14px;
    height: 14px;
    background: #ef6a2c;
    border: 2px solid #ef6a2c;
    border-radius: 4px;
    z-index: 2;
    transition: background 0.3s ease, border-color 0.3s ease;
}

.buildingSteps__marker.active {
    background: #ef6a2c;
    border-color: #ef6a2c;
}

.buildingSteps__card {
    padding: 20px;
    border: 1px solid rgba(255, 255, 255,.08);
    border-radius: 10px;
    background: linear-gradient(160deg, rgba(255, 255, 255,.16), rgba(255, 255, 255,.4));
    transition: background 0.3s ease;
}

/* .buildingSteps__card.active {
    background: linear-gradient(160deg, rgba(255, 255, 255,.22), rgba(255, 255, 255,.5));
    border-color: rgba(255, 255, 255,.3);
} */

.buildingSteps__num {
    width: 46px;
    height: 46px;
    border-radius: 10px;
    background: #ef6a2c;
    border: 1px solid #ef6a2c;
    color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--txtHeader);
    font-size:22px;
    font-weight: 700;
    margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
    .buildingSteps__line { left: 20px; }
    .buildingSteps__row {
        grid-template-columns: 1fr;
        margin-left: 50px;
        margin-bottom: 25px;
    }
    .buildingSteps__row--left .buildingSteps__card,
    .buildingSteps__row--right .buildingSteps__card { grid-column: 1; }
    .buildingSteps__marker { left: -30px; }
}

@media screen and (min-width: 768px) {
    .buildingSteps__row--right .buildingSteps__card { margin-left: 60px; }
    .buildingSteps__row--left .buildingSteps__card  { margin-right: 60px; }
}


/* ============================================================
   BLOCK: technology-cta
   ============================================================ */

.technologyCta__h2 {
    font-family: var(--txtHeader);
    font-size: clamp(26px, 3vw, 40px);
    font-weight: 600;
    line-height: 1.25;
    color: #fff;
}

.technologyCta__desc p {
    font-family: var(--txt);
    font-size: 16px;
    color: rgba(109,109,109,.6);
    line-height: 1.7;
}

.technologyCta__imgWrap { position: relative; }

.technologyCta__img {
    width: 100%;
    height: 650px;
    border-radius: 10px;
    display: block;
    object-fit: cover;
}

.technologyCta__overlay {
    position: absolute;
    bottom: 30px;
    left: 30px;
    background: rgba(18,19,22,.82);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255,.14);
    border-radius: 10px;
    padding: 18px 20px;
    width: 330px;
    max-width: calc(100% - 60px);
}

.technologyCta__overlayIconWrap {
    width: 46px;
    height: 46px;
    border-radius: 10px;
    background: rgba(255, 255, 255,.2);
    border: 1px solid rgba(255, 255, 255,.4);
    display: flex;
    align-items: center;
    justify-content: center;
}

.technologyCta__overlayIcon {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.technologyCta__overlayText {
    font-family: var(--txtHeader);
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    line-height: 1.4;
    display: block;
}

.technologyCta__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.technologyCta__item {
    border: 1px solid rgba(255, 255, 255,.08);
    border-radius: 10px;
    padding: 16px 18px;
    width: 300px;
    max-width: 100%;
    background: linear-gradient(160deg, rgba(255, 255, 255,.1), rgba(255, 255, 255,.4));
}

.technologyCta__itemIconWrap {
    width: 46px;
    height: 46px;
    min-width: 46px;
    border-radius: 10px;
    background: rgba(255, 255, 255,.14);
    border: 1px solid rgba(255, 255, 255,.35);
    display: flex;
    align-items: center;
    justify-content: center;
}

.technologyCta__itemIcon {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.technologyCta__itemTitle {
    font-family: var(--txtHeader);
    font-size: 16px;
    font-weight: 600;
    color: #fff;
    margin: 0;
}

@media screen and (max-width: 576px) {
    .technologyCta__overlay {
        bottom: 16px;
        left: 16px;
        padding: 14px 16px;
        width: auto;
        max-width: calc(100% - 32px);
    }
    .technologyCta__item { width: 100%; }
    .technologyCta__img { height: 450px; }
}


/* ============================================================
   BLOCK: setsapart
   ============================================================ */

.setsApart__h2 {
    font-family: var(--txtHeader);
    font-size: clamp(26px, 3vw, 40px);
    font-weight: 400;
    line-height: 1.25;
/*     color: #fff; */
}

.setsApart__desc p {
    font-family: var(--txt);
    font-size: 16px;
    color: #6d6d6d;
    line-height: 1.7;
}

.setsApart__img {
    width: 100%;
    height: 700px;
    object-fit: cover;
    border-radius: 10px;
    display: block;
}

@media screen and (max-width: 576px) {
    .setsApart__img { height: 450px; }
}

.setsApart__list {
    display: flex;
    flex-direction: column;
    gap: 0px;
}

.setsApart__item {
    padding: 14px 16px;
    border: 1px solid #ef6a2c;
    border-radius: 10px;
    background:#fff;
    gap: 15px;
}

.setsApart__itemText {
/*     font-family: var(--txtHeader); */
    font-size: 13px;
    color: #6d6d6d;
    font-weight: 500;
    line-height: 1.5;
}

.setsApart__itemCheck {
    width: 25px;
    height: 25px;
    min-width: 25px;
    object-fit: contain;
/* 	filter:invert(1); */
}


/* ============================================================
   BLOCK: location-hero
   ============================================================ */

.locationHero {
    margin: 0 20px;
    border-radius: 10px;
    overflow: hidden;
    padding: 100px 0;
    background-repeat: no-repeat;
}

.locationHero__overlay {
    position: absolute;
    inset: 0;
    background: #fef9f3;
    opacity: 0.72;
    z-index: 1;
}

.locationHero__h2 h2 {
    font-family: var(--txtHeader);
    font-size: clamp(26px, 3vw, 44px);
    color: #fff;
    line-height: 1.3;
    font-weight: 500;
}

.locationHero__h2 p {
    font-family: var(--txt);
    color: rgba(109,109,109,.7);
}

.locationHero__gapBottom { margin-bottom: 150px; }

.locationHero__list {
    display: flex;
    flex-direction: column;
}

.locationHero__txt {
    font-family: var(--txtHeader);
    padding-top: 20px;
    padding-bottom: 20px;
    border-top: 1px solid rgba(255, 255, 255,.14);
    color: #fff;
    font-weight: 500;
    margin: 0;
}

@media screen and (max-width: 768px) {
    .locationHero__gapBottom { margin-bottom: 100px; }
}

@media screen and (max-width: 576px) {
    .locationHero { margin: 0 10px; padding: 70px 0; }
}


/* ============================================================
   BLOCK: reviews-infinite
   ============================================================ */

.reviewsInfinite__h2 {
    font-family: var(--txtHeader);
    font-size: clamp(26px, 3vw, 40px);
    font-weight: 600;
    color: #fff;
    line-height: 1.25;
}

.reviewsInfinite__sliderWrap {
    overflow: hidden;
    position: relative;
}

.reviewsInfinite__slider .swiper-wrapper {
    transition-timing-function: linear !important;
}

.reviewsInfinite__slide {
    width: 330px;
    height: auto;
}

.reviewsInfinite__card {
    border: 1px solid rgba(255, 255, 255,.08);
    border-radius: 10px;
    padding: 24px;
    background: linear-gradient(160deg, rgba(255, 255, 255,.16), rgba(255, 255, 255,.4));
    height: 100%;
    width: 380px !important;
}

.swiper-slide.reviewsInfinite__slide { width: 380px !important; }

.reviewsInfinite__quoteWrap {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: rgba(255, 255, 255,.14);
    border: 1px solid rgba(255, 255, 255,.35);
    display: flex;
    align-items: center;
    justify-content: center;
}

.reviewsInfinite__quoteIcon {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

.reviewsInfinite__desc {
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255, 255, 255,.08);
    margin-bottom: 16px;
}

.reviewsInfinite__desc p {
    font-family: var(--txt);
    font-size: 15px;
    color: rgba(109,109,109,.7);
    line-height: 1.65;
    margin: 0;
}

.reviewsInfinite__name {
    font-family: var(--txtHeader);
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    margin: 0;
}

.reviewsInfinite__starIcon {
    height: 12px;
    width: auto;
    object-fit: contain;
}

/* fade-out po bokach */
.reviewsInfinite__sliderWrap::before,
.reviewsInfinite__sliderWrap::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 140px;
    z-index: 2;
    pointer-events: none;
}

.reviewsInfinite__sliderWrap::before {
    left: 0;
    background: linear-gradient(to right, #fef9f3 0%, transparent 100%);
}

.reviewsInfinite__sliderWrap::after {
    right: 0;
    background: linear-gradient(to left, #fef9f3 0%, transparent 100%);
}

/* CSS-animation track (fallback bez Swiper) */
.reviewsInfinite__track {
    display: flex;
    gap: 24px;
    width: max-content;
    animation: reviewsInfiniteScroll 80s linear infinite;
}

@keyframes reviewsInfiniteScroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

.reviewsInfinite__slide {
    width: 380px;
    flex-shrink: 0;
}

@media screen and (min-width: 992px) {
    .reviewsInfinite__sliderWrap:hover .reviewsInfinite__track {
        animation-play-state: paused;
    }
    .reviewsInfinite__card { transition: border-color 0.3s ease; }
    .reviewsInfinite__card:hover { border-color: rgba(255, 255, 255,.3); }
}

@media screen and (max-width: 576px) {
    .reviewsInfinite__slide { width: 380px; }
    .reviewsInfinite__card { padding: 18px; }
    .reviewsInfinite__sliderWrap::before,
    .reviewsInfinite__sliderWrap::after { width: 60px; }
}


/* ============================================================
   BLOCK: faq-circle
   ============================================================ */

.faqCircle__h2 h2 {
    font-family: var(--txtHeader);
    font-size: clamp(26px, 3vw, 40px);
    font-weight: 400;
/*     color: #fff; */
    line-height: 1.25;
}

.faqCircle__h2 p { margin: 0; }

.faqCircle__list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.faqCircle__item {
    border: 1px solid #ef6a2c;
    border-radius: 10px;
    padding: 30px 20px;
    cursor: pointer;
    background: #fff;
    transition: border-color .2s;
}

/* .faqCircle__item:hover { border-color: rgba(255, 255, 255,.3); }
 */
.faqCircle__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.faqCircle__question {
    font-family: var(--txtHeader);
    font-size: 20px;
    font-weight: 400;
/*     color: #fff; */
    line-height: 1.4;
}

.faqCircle__circle {
    width: 36px;
    height: 36px;
    min-width: 36px;
    border-radius: 50%;
    background: #ef6a2c;
    border: 1px solid #ef6a2c;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease, background .3s;
}

.faqCircle__plus {
    font-size: 20px;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1;
}

.faqCircle__item.active .faqCircle__circle {
    transform: rotate(135deg);
    background: rgba(255, 255, 255,.25);
}

.faqCircle__answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
}

.faqCircle__answerInner { padding-top: 16px; }

.faqCircle__answerInner p {
    font-family: var(--txt);
    font-size: 15px;
    color: rgba(109,109,109,.6);
    line-height: 1.65;
    margin: 0;
}


/* ============================================================
   BLOCK: cta-three
   ============================================================ */

.ctaThree__card {
    padding: 20px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255,.08);
    background: linear-gradient(160deg, rgba(255, 255, 255,.16), rgba(255, 255, 255,.4));
    height: 100%;
}

.ctaThree__card--gray {
    border: 1px solid rgba(255, 255, 255,.25);
}

.ctaThree__h2 {
    font-family: var(--txtHeader);
    font-size: clamp(22px, 2.5vw, 30px);
    font-weight: 600;
    color: #fff;
    line-height: 1.25;
    margin-bottom: 12px;
}

.ctaThree__desc { margin-bottom: 16px; }

.ctaThree__desc p {
    font-family: var(--txt);
    font-size: 15px;
    color: rgba(109,109,109,.6);
    line-height: 1.65;
    margin: 0;
}

.ctaThree__iconWrap {
    width: 40px;
    height: 40px;
    min-width: 40px;
    border-radius: 10px;
    background: rgba(255, 255, 255,.14);
    border: 1px solid rgba(255, 255, 255,.35);
    display: flex;
    align-items: center;
    justify-content: center;
}

.ctaThree__icon {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

.ctaThree__contactText {
    font-family: var(--txtHeader);
    font-size: 15px;
    font-weight: 600;
    color: #fff;
}

.ctaThree__img {
    width: 100%;
    height: 377px;
    object-fit: cover;
    border-radius: 10px;
    display: block;
}

.ctaThree__check {
    width: 22px;
    height: 22px;
    min-width: 22px;
    object-fit: contain;
}

.ctaThree__checkText {
    font-family: var(--txt);
    font-size: 15px;
    color: rgba(109,109,109,.7);
}

@media screen and (max-width: 992px) {
    .ctaThree__img { height: 320px; }
}


/* ============================================================
   BLOCK: aboutme-hero
   ============================================================ */

.aboutmeHero__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 40%;
    z-index: 0;
}

@media screen and (max-width: 768px) {
    .aboutmeHero__bg { height: 550px; }
}

.aboutmeHero__h2 h2,
.aboutmeHero__h2 p {
    font-family: var(--txtHeader);
    font-size: clamp(28px, 3.5vw, 48px);
    font-weight: 400;
    line-height: 1.2;
    margin: 0;
/*     color: #fff; */
}

.aboutmeHero__desc p {
    font-family: var(--txt);
    font-size: 16px;
    line-height: 1.7;
    color: #6d6d6d;
    margin: 0;
}

.aboutmeHero__imgWrap { position: relative; }

.aboutmeHero__img {
    width: 100%;
    height: auto;
    border-radius: 10px;
    display: block;
    position: relative;
    z-index: 1;
	
	height:520px;
	object-fit:cover;
}
@media screen and (max-width:576px) {
	.aboutmeHero__img {
		height:220px;
		object-fit:cover;
	}
}

.aboutmeHero__imgTxt {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -13%);
    font-family: var(--txtHeader);
    font-size: clamp(60px, 10vw, 160px);
    font-weight: 900;
    color: rgba(255, 255, 255,.12);
    white-space: nowrap;
    line-height: 1;
    z-index: 2;
    pointer-events: none;
    letter-spacing: -2px;
}

.aboutmeHero__card {
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255,.08);
    padding: 20px;
    background: linear-gradient(160deg, rgba(255, 255, 255,.14), rgba(255, 255, 255,.4));
}

.aboutmeHero__iconWrap {
    width: 46px;
    height: 46px;
    border-radius: 10px;
    background: #ef6a2c;
    border: 1px solid #ef6a2c;
    display: flex;
    align-items: center;
    justify-content: center;
}

.aboutmeHero__icon {
    width: 32px;
    height: 32px;
    object-fit: contain;
	filter:brightness(0);
}

.aboutmeHero__cardTitle {
    font-family: var(--txtHeader);
    font-size: 24px;
    font-weight: 400;
/*     color: #fff; */
    margin: 0;
}

.aboutmeHero__cardDesc {
    font-family: var(--txt);
    font-size: 14px;
    color: rgba(109,109,109,.55);
    line-height: 1.6;
    margin: 0;
}


/* ============================================================
   BLOCK: aboutme-guarantee
   ============================================================ */

.aboutmeGuarantee__imgWrap { position: relative; }

.aboutmeGuarantee__img {
    width: 100%;
    height: 500px;
    object-fit: cover;
    border-radius: 10px;
    display: block;
}

.aboutmeGuarantee__overlay {
    position: absolute;
    bottom: 30px;
    left: 30px;
    background: #fff;
/*     backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px); */
    border-radius: 10px;
    border: 1px solid #ef6a2c;
    padding: 18px 20px;
    width: 330px;
}

@media screen and (max-width: 992px) {
    .aboutmeGuarantee__overlay { width: 250px; }
    .aboutmeGuarantee__content h2 { font-size: 22px; line-height: 30px; }
}

.aboutmeGuarantee__iconWrap {
    width: 46px;
    height: 46px;
    border-radius: 10px;
    background: #ef6a2c;
    border: 1px solid #ef6a2c;
    display: flex;
    align-items: center;
    justify-content: center;
}

.aboutmeGuarantee__icon {
    width: 32px;
    height: 32px;
	filter:brightness(0);
}


/* ============================================================
   BLOCK: aboutme-numbers
   ============================================================ */

.aboutmeNumbers__h2 h2 {
    font-family: var(--txtHeader);
    font-size: clamp(26px, 3vw, 44px);
    font-weight: 400;
    line-height: 1.2;
    color: #fff;
    margin: 0;
}

.aboutmeNumbers__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    padding-left: 80px;
}

.aboutmeNumbers__card {
    display: flex;
    flex-direction: column;
    gap: 20px;
    border: 1px solid rgba(255, 255, 255,.08);
    background: linear-gradient(160deg, rgba(255, 255, 255,.14), rgba(255, 255, 255,.4));
    border-radius: 10px;
    padding: 20px 24px;
}

.aboutmeNumbers__number {
    font-family: var(--txtHeader);
    font-size: clamp(25px, 5vw, 30px);
    font-weight: 400;
    color: #fff;
    white-space: nowrap;
    line-height: 1;
}

.aboutmeNumbers__desc {
    font-family: var(--txt);
    font-size: 15px;
    line-height: 1.65;
    color: rgba(109,109,109,.6);
}

.aboutmeNumbers__desc p { margin: 0; }

@media screen and (max-width: 992px) {
    .aboutmeNumbers__list { padding-left: 0px; }
    .aboutmeNumbers__number { font-size: 20px; }
}


/* ============================================================
   BLOCK: contactme-hero
   ============================================================ */

.contactmeHero__h3 h3 {
    font-family: var(--txtHeader);
    font-size: clamp(26px, 3vw, 44px);
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
    margin: 0;
}

.contactmeHero__card {
    border: 1px solid rgba(255, 255, 255,.08);
    border-radius: 10px;
    background: linear-gradient(160deg, rgba(255, 255, 255,.14), rgba(255, 255, 255,.4));
    padding: 20px;
}

.contactmeHero__iconWrap {
    width: 46px;
    height: 46px;
    border-radius: 10px;
    background: #ef6a2c;
    border: 1px solid #ef6a2c;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contactmeHero__icon {
    width: 32px;
    height: 32px;
    object-fit: contain;
	filter:brightness(0);
}

.contactmeHero__cardTitle {
    font-family: var(--txtHeader);
    font-size: 24px;
    font-weight: 400;
/*     color: #fff; */
    margin: 0;
}

.contactmeHero__cardDesc {
    font-family: var(--txt);
    font-size: 14px;
    color: rgba(109,109,109,.55);
    line-height: 1.6;
    margin: 0;
}

.contactmeHero__img {
    width: 100%;
    height: 600px;
    object-fit: cover;
    border-radius: 10px;
    display: block;
}

.contactmeHero__formWrap {
    margin-top: -100px;
    position: relative;
    z-index: 10;
}

.contactmeHero__formWrap .infoForm__formBox {
    background: rgba(18,19,22,.9);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-radius: 10px;
    padding: 40px;
    border: 1px solid rgba(255, 255, 255,.1);
    margin: 0 220px;
	
	display:none;
}

@media screen and (max-width: 1170px) {
    .contactmeHero__formWrap .infoForm__formBox { margin: 0 10px; }
}

.placeMap__main .contact-map iframe {
    width: 100%;
    height: 450px;
    display: block;
    border: none;
}

@media screen and (max-width: 992px) {
    .contactmeHero__img { height: 320px; }
    .contactmeHero__formWrap { margin-top: -80px; }
    .contactmeHero__formWrap .infoForm__formBox { padding: 24px; }
}


/* ============================================================
   BLOCK: technology-hero (contentimg-change)
   ============================================================ */

.technologyHero__h2 h2 {
    font-family: var(--txtHeader);
    font-size: clamp(28px, 3.5vw, 48px);
    font-weight: 400;
    line-height: 1.2;
/*     color: #fff; */
    margin: 0;
}

.technologyHero__desc p {
    font-family: var(--txt);
    font-size: 16px;
    color: #6d6d6d;
    line-height: 1.7;
    margin: 0;
}

.technologyHero__col {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

@media screen and (max-width: 992px) {
    .technologyHero__col { order: 1; }
}

.technologyHero__card {
    border: 1px solid rgba(255, 255, 255,.08);
    border-radius: 10px;
    background: linear-gradient(160deg, rgba(255, 255, 255,.14), rgba(255, 255, 255,.4));
    padding: 20px;
}

.technologyHero__iconWrap {
    width: 46px;
    height: 46px;
    border-radius: 10px;
    background: rgba(255, 255, 255,.14);
    border: 1px solid rgba(255, 255, 255,.35);
    display: flex;
    align-items: center;
    justify-content: center;
}

.technologyHero__icon {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.technologyHero__cardTitle {
    font-family: var(--txtHeader);
    font-size: 24px;
    font-weight: 400;
    color: #fff;
    margin: 0;
}

.technologyHero__cardDesc {
    font-family: var(--txt);
    font-size: 14px;
    color: rgba(109,109,109,.55);
    line-height: 1.6;
    margin: 0;
}

.technologyHero__txtMainWrap {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.technologyHero__txtMain {
    font-family: var(--txtHeader);
    font-size: 150px;
    font-weight: 900;
    color: rgba(255, 255, 255,.38);
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    pointer-events: none;
    user-select: none;
}

.technologyHero__img {
    width: 100%;
    height: auto;
    border-radius: 10px;
    display: block;
}

@media screen and (max-width: 992px) {
    .technologyHero__txtMain { font-size: 120px; }
}


/* ============================================================
   BLOCK: contentimg-change
   ============================================================ */

.contentimgChange { border-top: none !important; }

.contentimgChange__row { margin-bottom: 60px; }
.contentimgChange__row:last-child { margin-bottom: 0; }

.contentimgChange__num {
    font-family: var(--txtHeader);
    font-size: 100px;
    font-weight: 900;
    line-height: 1;
    color: rgba(255, 255, 255,.1);
    pointer-events: none;
    user-select: none;
}

.contentimgChange__h2 {
    font-family: var(--txtHeader);
    font-size: clamp(24px, 2.8vw, 40px);
    font-weight: 400;
    line-height: 1.2;
/*     color: #fff; */
    margin: 0;
}

.contentimgChange__desc p {
    font-family: var(--txt);
    font-size: 16px;
    color: #6d6d6d;
    line-height: 1.7;
    margin: 0;
}

.contentimgChange__img {
    width: 100%;
    height: 450px;
    object-fit: cover;
    border-radius: 10px;
    display: block;
}

@media screen and (max-width: 576px) {
    .contentimgChange__img { height: 350px; }
}

.contentimgChange__row--reverse .contentimgChange__left  { order: 2; }
.contentimgChange__row--reverse .contentimgChange__right { order: 1; }

@media screen and (max-width: 992px) {
    .contentimgChange__row--reverse .contentimgChange__right { order: 2; }
}


/* ============================================================
   BLOCK: verticalslider-hero
   ============================================================ */

.verticalsliderHero {
    background: linear-gradient(160deg, rgba(255, 255, 255,.12), #fef9f3);
    margin: 20px;
    border-radius: 20px;
    overflow: hidden;
}

.verticalsliderHero__h2 h2 {
    font-family: var(--txtHeader);
    font-size: clamp(26px, 3vw, 44px);
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
    margin: 0;
}

.verticalsliderHero__desc p {
    font-family: var(--txt);
    font-size: 16px;
    line-height: 1.7;
    color: rgba(109,109,109,.6);
    margin: 0;
}

.verticalsliderHero__right {
    height: 620px;
    overflow: hidden;
    border-radius: 16px;
    position: relative;
}

.verticalsliderHero__slidersWrap {
    display: flex;
    gap: 16px;
    height: 100%;
}

.verticalsliderHero__slider {
    flex: 1;
    overflow: hidden;
    height: 100%;
}

.verticalsliderHero__track {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

@keyframes verticalScroll {
    0%   { transform: translateY(0); }
    100% { transform: translateY(-50%); }
}

.verticalsliderHero__track--up {
    animation: verticalScroll 30s linear infinite;
}

.verticalsliderHero__track--down {
    animation: verticalScroll 30s linear infinite reverse;
}

.verticalsliderHero__slide img {
    width: 100%;
    height: auto;
    border-radius: 10px;
    display: block;
}

@media screen and (max-width: 992px) {
    .verticalsliderHero__right { height: 420px; }
    .verticalsliderHero__left {
        padding-top: 40px !important;
        padding-bottom: 0 !important;
    }
    .verticalsliderHero__right::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 120px;
        background: linear-gradient(to bottom, #fef9f3 0%, transparent 100%);
        z-index: 2;
        pointer-events: none;
    }
}

/* ===== LIGHT THEME COLOR OVERRIDES ===== */
h1, h2, h3, h4, h5, h6 { color: #fff; }
p, li, span, label, div { color: #6d6d6d; }
a { color: #434343; }

/* Preserve white text inside buttons/CTAs */
.hbBtn, .hbBtnGold, .hbBtnGhost,
.line-btn, .line-btn span,
[class*="btn"] { color:#434343; }

/* Card backgrounds */
[class*="__card"], [class*="__box"], [class*="Card"], [class*="Box"] {
    background: #000;
    border-color: rgba(255, 255, 255, .18);
}

/* ============================================================
   LOES DESIGN: CIEMNY MOTYW (2026-10-06)
   tło strony #000 | jasne sekcje .bg-light #dfd2c1
   akcent #dfd2c1 | linia oddzielająca #a68f7b (taupe z palety)
   ============================================================ */

/* ----- UTILITIES ----- */

/* Wymusza białe teksty w sekcji / elemencie (przyciski zostają bez zmian) */
.white-all,
.white-all *:not(.hbBtnLight):not(.second-btn--whiter *) {
    color: #fff !important;
}

/* Jasna sekcja */
.bg-light {
    background-color: #0d0d0d;
}

/* Linia u góry sekcji */
.border-top-section {
    border-top: 1px solid rgba(255, 255, 255, .18);
}
.border-bottom-section {
    border-bottom: 1px solid rgba(255, 255, 255, .18);
}


/* ----- HOMEBLOCK: CIEMNE SEKCJE (bez .bg-light) ----- */

.hbBlock section:not(.bg-light) :is(h1, h2, h3, h4, h5, h6) {
    color: #fff;
}
.hbBlock section:not(.bg-light) :is(p, li) {
    color: #d2d2d2;
}
.hbBlock section:not(.bg-light) :is(.hbProblem__desc, .hbAbout__desc, .hbWhyus__card div, .hbWyroznia__card div, .hbStats__label, .hbOpinie__desc, .hbObszar__left div) {
    color: #ef6a2c;
}
.hbBlock .hbStats__num {
    color: #fff;
}

/* Karty na ciemnym tle: półprzezroczyste zamiast białych */
.hbBlock section:not(.bg-light) :is([class*="__card"], [class*="Card"], .slide__reviewsProduct) {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .18);
}

/* 02 Statystyki: kontener i kafelki w kolorze tła */
.hbBlock .hbStats .container {
    background: #000;
    border-color: rgba(255, 255, 255, .18);
}
.hbBlock .hbStats .container .hbStats__item {
    background: #000;
}

/* Mini-nagłówki (badge) */
.hbBlock section:not(.bg-light) .hbBadge span {
    color: #ef6a2c;
}

/* Przycisk ghost na ciemnym tle */
.hbBlock section:not(.bg-light) .hbBtnGhost {
    color: #fff;
    border-color: rgba(255, 255, 255, .4);
}
@media screen and (min-width: 992px) {
    .hbBlock section:not(.bg-light) .hbBtnGhost:hover {
        background: #0d0d0d !important;
        border-color: #ef6a2c !important;
        color: #000 !important;
    }
}


/* ----- HOMEBLOCK: JASNE SEKCJE (.bg-light) ----- */

.hbBlock section.bg-light :is(h1, h2, h3, h4, h5, h6) {
    color: #000;
}
.hbBlock section.bg-light :is(p, li, .hbAbout__checkText, .hbAbout__checkText *, .hbAbout__desc, .hbObszar__left div, .hbFaq__aInner) {
    color: rgba(0, 0, 0, .85);
}
.hbBlock section.bg-light :is(.hbFaq__q, .hbFaq__q span) {
    color: #fff !important;
}

.hbBlock section.bg-light .hbBadge {
    border-color: rgba(0, 0, 0, .25);
    background: rgba(0, 0, 0, .04);
}
.hbBlock section.bg-light .hbBadge span {
    color: #000;
}

/* Ciemne karty na jasnym tle: FAQ (13) i etapy (08) */
.hbBlock section.bg-light :is(.hbFaq__item, .hbEtapy__card) {
    background: #000;
    border: 1px solid rgba(255, 255, 255, .18);
}
.hbBlock section.bg-light :is(.hbFaq__item, .hbEtapy__card) :is(h1, h2, h3, h4, h5, h6) {
    color: #fff;
}
.hbBlock section.bg-light :is(.hbFaq__item, .hbEtapy__card) :is(p, li, div, .hbFaq__aInner) {
    color: #d2d2d2;
}
.hbBlock section.bg-light .hbFaq__item :is(.hbFaq__iconPlus, .hbFaq__iconMinus) {
    filter: brightness(100);
}

/* Ciemne karty w jasnych sekcjach: jasne teksty (bez listy check w sekcji 04) */
.hbBlock section.bg-light :is([class*="__card"], [class*="Card"], [class*="__box"], [class*="Box"]):not(.hbAbout__checkItem) :is(h1, h2, h3, h4, h5, h6) {
    color: #fff;
}
.hbBlock section.bg-light :is([class*="__card"], [class*="Card"], [class*="__box"], [class*="Box"]):not(.hbAbout__checkItem) :is(p, li, span, div) {
    color: #d2d2d2;
}
.hbBlock section.bg-light .hbObszar__pill {
    color: #ef6a2c;
}
.hbBlock .hbOferta__serviceBtn {
    color: #000 !important;
}

/* Ramka zdjęcia w sekcji 11 (Obszar działania): ciemna jak karty */
.hbBlock .hbObszar__right {
    background: #000;
    border-color: rgba(255, 255, 255, .18);
}

/* Ikony check na jasnym tle */
.hbBlock section.bg-light .hbAbout__checkIcon {
    background: #000;
    border-color: #000;
}
.hbBlock section.bg-light .hbAbout__checkIcon img {
    filter: brightness(100);
}

/* Oś czasu etapów na jasnym tle */
.hbBlock section.bg-light .hbEtapy__vline {
    background: rgba(0, 0, 0, .15);
}
.hbBlock section.bg-light .hbEtapy__vlineFill {
    background: #000;
}

/* Przyciski na jasnym tle */
.hbBlock section.bg-light .hbBtnGhost {
    color: #000;
    border-color: #000;
    background: transparent;
    backdrop-filter: none;
}
.hbBlock section.bg-light .hbBtnLight {
    background: #000;
    color: #fff;
}
@media screen and (min-width: 992px) {
    .hbBlock section.bg-light .hbBtnGhost:hover {
        background: #000 !important;
        color: #fff !important;
    }
    .hbBlock section.bg-light .hbBtnLight:hover {
        color: #fff;
    }
}

/* ----- 03 PROBLEM: układ lista (sticky po lewej, wiersze po prawej) ----- */

.hbProblem .benefitsFaq__box {
    background: transparent;
    border-top: 1px solid rgba(255, 255, 255, .18);
    padding: 30px 0;
}
.hbProblem .hbProblem__rows .benefitsFaq__box:last-of-type {
    border-bottom: 1px solid rgba(255, 255, 255, .18);
}
.hbBlock .hbProblem__rowTitle {
    font-family: var(--txtHeader);
    font-size: 26px;
    line-height: 1.25;
    font-weight: 400;
}
.hbProblem__rowDesc p:first-child {
    margin-top: 0;
}
@media screen and (min-width: 993px) {
    .hbBlock .hbProblem__rowTitle {
        margin-bottom: 0 !important;
    }
}
@media screen and (max-width: 576px) {
    .hbBlock .hbProblem__rowTitle {
        font-size: 22px;
    }
    .hbProblem .benefitsFaq__box {
        padding: 22px 0;
    }
}


/* ----- 05 REALIZACJE: portfolio, hover (zoom + overlay + tytuł) ----- */

.portfolioOneBig__link {
    display: block;
    text-decoration: none;
}
.portfolioOneBig__imgWrap {
    position: relative;
}
.portfolioOneBig__img {
    transition: transform .8s cubic-bezier(.2, .6, .2, 1);
}
.portfolioOneBig__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(to top, rgba(0, 0, 0, .75) 0%, rgba(0, 0, 0, .25) 50%, rgba(0, 0, 0, .1) 100%);
    opacity: 0;
    transition: opacity .5s ease;
    pointer-events: none;
}
.hbBlock .portfolioOneBig__title {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 20px;
    z-index: 2;
    margin: 0;
    color: #fff;
    font-family: var(--txtHeader);
    font-size: clamp(20px, 1.8vw, 28px);
    line-height: 1.2;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .5s ease, transform .5s ease;
}
@media screen and (min-width: 993px) {
    .portfolioOneBig__link:hover .portfolioOneBig__overlay { opacity: 1; }
    .portfolioOneBig__link:hover .portfolioOneBig__title { opacity: 1; transform: translateY(0); }
    .portfolioOneBig__link:hover .portfolioOneBig__img { transform: scale(1.05); }
}
/* mobile: bez hovera, overlay i tytuł zawsze widoczne */
@media screen and (max-width: 992px) {
    .portfolioOneBig__overlay { opacity: 1; }
    .hbBlock .portfolioOneBig__title {
        opacity: 1;
        transform: none;
        left: 14px;
        right: 14px;
        bottom: 12px;
        font-size: 18px;
    }
}

/* ============================================================
   BLOCK: viz-gallery — układy pionowe
   ============================================================ */

/* linki i zdjęcia jako block: równe odstępy między rzędami */
.vizGallery a,
.vizGallery img {
    display: block;
}

.vizGallery__img--2--vertical,
.vizGallery__img--3--vertical {
    display: block;
    width: 100%;
    object-fit: cover;
    border-radius: 10px;
}
.vizGallery__img--2--vertical {
    height: 800px;
}
.vizGallery__img--3--vertical {
    height: 640px;
}

@media screen and (max-width: 992px) {
    .vizGallery__img--2--vertical {
        height: 560px;
    }
    .vizGallery__img--3--vertical {
        height: 480px;
    }
}

/* ============================================================
   BLOCK: portfolio-heromain
   ============================================================ */

.portfolioHeromain {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 85vh;
    padding-top: 140px;
    padding-bottom: 100px;
    background-color: #000;
    background-size: cover;
    background-repeat: no-repeat;
    overflow: hidden;
}

/* przyciemnienie zdjęcia */
.portfolioHeromain__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(0, 0, 0, .45);
    pointer-events: none;
}

/* przejście w tło strony od dołu */
.portfolioHeromain__overlay--bottom {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: #000;
    -webkit-mask: linear-gradient(360deg, #000 5%, transparent 40%);
    mask: linear-gradient(360deg, #000 5%, transparent 40%);
    pointer-events: none;
}

.portfolioHeromain__container {
    position: relative;
    z-index: 2;
}

/* nazwa projektu: w stylu .header__opacityBig, większa na desktopie */
.portfolioHeromain__h2 {
    font-family: var(--txtHeader);
    font-weight: 400;
    font-size: clamp(56px, 7.5vw, 120px);
    line-height: 1.05;
    letter-spacing: 5px;
    text-transform: uppercase;
    color: #ef6a2c;
    opacity: .7;
}

.portfolioHeromain__badges {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}
.portfolioHeromain .hbBadge {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .35);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.portfolioHeromain .hbBadge span {
    color: #ef6a2c;
}

@media screen and (max-width: 992px) {
    .portfolioHeromain {
        min-height: 70vh;
        padding-top: 130px;
        padding-bottom: 70px;
    }
}
@media screen and (max-width: 576px) {
    .portfolioHeromain__h2 {
        font-size: 40px;
        letter-spacing: 3px;
    }
}

/* ============================================================
   BLOCK: singleportfolio-main
   (hero i galeria korzystają ze stylów portfolio-heromain i viz-gallery)
   ============================================================ */

.singlePortfolio__other {
    border-top: 1px solid rgba(255, 255, 255, .18);
}


/* Podstrony projektów (single-portfolio): większe badge na desktopie */
@media screen and (min-width: 992px) {
    .single-portfolio .hbBadge,
    .single-portfolio .hbBadge span {
        font-size: 16px;
    }
}


/* Galeria wizualizacji: na telefonie zdjęcia w naturalnych proporcjach */
@media screen and (max-width: 576px) {
    .vizGallery__img--1,
    .vizGallery__img--2,
    .vizGallery__img--3,
    .vizGallery__img--2--vertical,
    .vizGallery__img--3--vertical {
        height: auto;
    }
}


/* ============================================================
   singleportfolio-main 03 i all-portfolio: kafelki jak Realizacje (05)
   zaokrąglone rogi, overlay i tytuł dopiero przy hover, zoom zdjęcia
   ============================================================ */

:is(.singlePortfolio__other, .allPortfolio) .typeCourse__item,
:is(.singlePortfolio__other, .allPortfolio) .portfolio-tile__wrapper,
:is(.singlePortfolio__other, .allPortfolio) .portfolio-tile__img-container {
    border-radius: 10px;
    overflow: hidden;
}
:is(.singlePortfolio__other, .allPortfolio) .portfolio-tile__img {
    transition: transform .8s cubic-bezier(.2, .6, .2, 1) !important;
}
:is(.singlePortfolio__other, .allPortfolio) .portfolio-tile__overlay,
:is(.singlePortfolio__other, .allPortfolio) .portfolio-tile__link:hover .portfolio-tile__overlay {
    background: linear-gradient(to top, rgba(0, 0, 0, .75) 0%, rgba(0, 0, 0, .25) 50%, rgba(0, 0, 0, .1) 100%);
}
:is(.singlePortfolio__other, .allPortfolio) .portfolio-tile__overlay {
    opacity: 0;
    transition: opacity .5s ease;
}
:is(.singlePortfolio__other, .allPortfolio) .portfolio-tile__info {
    padding: 0 24px 20px;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .5s ease, transform .5s ease;
}
:is(.singlePortfolio__other, .allPortfolio) .portfolio-tile__title {
    font-family: var(--txtHeader);
    font-size: clamp(20px, 1.6vw, 26px);
    font-weight: 400;
    line-height: 1.2;
    text-transform: none;
}
@media screen and (min-width: 993px) {
    :is(.singlePortfolio__other, .allPortfolio) .portfolio-tile__link:hover .portfolio-tile__overlay { opacity: 1; }
    :is(.singlePortfolio__other, .allPortfolio) .portfolio-tile__link:hover .portfolio-tile__info { opacity: 1; transform: translateY(0); }
    :is(.singlePortfolio__other, .allPortfolio) .portfolio-tile__link:hover .portfolio-tile__img { transform: scale(1.05); }
}
/* mobile: bez hovera, overlay i tytuł zawsze widoczne */
@media screen and (max-width: 992px) {
    :is(.singlePortfolio__other, .allPortfolio) .portfolio-tile__overlay { opacity: 1; }
    :is(.singlePortfolio__other, .allPortfolio) .portfolio-tile__info {
        opacity: 1;
        transform: none;
        padding: 0 14px 12px;
    }
    :is(.singlePortfolio__other, .allPortfolio) .portfolio-tile__title { font-size: 18px; }
}


/* ============================================================
   Przycisk jasny (sam border, hover wypełnia tło) — jak 2. przycisk w hero
   ============================================================ */
.hbBtnGhost.hbBtnGhost--light {
    background: transparent;
    border: 1px solid #fff;
    color: #fff;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
@media screen and (min-width: 992px) {
    .hbBtnGhost.hbBtnGhost--light:hover {
        background: #ef6a2c !important;
        border-color: #ef6a2c !important;
        color: #000 !important;
    }
}


/* CTA Glass: box przezroczysty, półprzezroczyste tło mają treść i slider */
.hbCta .hbCta__box {
    background: transparent;
}

/* CTA: kontener zdjęcia nad nagłówkiem bez tła (łapała go globalna reguła [class*="Box"]) */
.ctaCall__imgBox {
    background: transparent;
}


/* ============================================================
   HOMEBLOCK: 08 ETAPY (steps-half), 10b FENG SHUI (setsapart),
   12b MAPA (place-map), 13 FAQ (img-faq)
   ============================================================ */

/* Zdjęcie po prawej (08 i 13): overlay w kolorze tła body */
.hbBlock :is(.hbEtapy, .hbFaq) .abs-bg-right :is(.bannerSlider__gradientBGBG--first, .bannerSlider__gradientBGBG--faq) {
    background: #000;
    -webkit-mask: linear-gradient(90deg, #000 5%, transparent 100%);
    mask: linear-gradient(90deg, #000 5%, transparent 100%);
}
.hbBlock .stepsSticky__imgMobile img {
    width: 100%;
    height: auto;
    display: block;
}

/* 08 Etapy: kroki bez tła, linia pod spodem */
.hbBlock .hbEtapy :is(.stepsSticky__box, .stepsSticky__contentBox) {
    background: transparent;
}
.hbBlock .hbEtapy .stepsSticky__box {
    border-bottom: 1px solid rgba(255, 255, 255, .18);
}

/* 10b Feng shui: lista na ciemnym tle */
.hbBlock .setsApart__desc p,
.hbBlock .setsApart__itemText {
    color: #d2d2d2;
}
.hbBlock .setsApart__item {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .18);
}

/* 12b Mapa: jasne tło (bg-light), ciemne teksty */
.hbBlock section.placeMap.bg-light :is(h1, h2, h3, h4, h5, h6) {
    color: #000;
}
.hbBlock section.placeMap.bg-light :is(p, li, .placeMap__desc) {
    color: rgba(0, 0, 0, .85);
}
.hbBlock section.placeMap.bg-light .hbBadge {
    border-color: rgba(0, 0, 0, .25);
    background: rgba(0, 0, 0, .04);
}
.hbBlock section.placeMap.bg-light .hbBadge span {
    color: #000;
}

/* 13 FAQ: pytania bez tła, linia pod spodem jak w img-faq */
.hbBlock .hbFaq :is(.imgFaq__box, .imgFaq__titleIconBox) {
    background: transparent;
}
.hbBlock .hbFaq .imgFaq__box {
    border-bottom: 1px solid rgba(255, 255, 255, .18) !important;
}
.hbBlock .hbFaq .imgFaq__title {
    color: #fff;
}
.hbBlock .hbFaq .imgFaq__answer p {
    color: #d2d2d2;
}
.hbBlock .hbFaq .imgFaq__icon {
    filter: invert(1);
}


/* 12b Mapa (układ place-map): ciemna karta z tekstem, mapa zawsze na pełną szerokość kolumny */
.hbBlock .hbMapa .placeMap__content {
    background: #000 !important;
    border: 1px solid rgba(255, 255, 255, .18);
}
.hbBlock section.placeMap.hbMapa .placeMap__content :is(h1, h2, h3, h4, h5, h6) {
    color: #fff;
}
.hbBlock section.placeMap.hbMapa .placeMap__content :is(p, li, div, .txt-black) {
    color: #d2d2d2;
}
.hbBlock .hbMapa .contact-map iframe {
    width: 100% !important;
    max-width: 100%;
    display: block;
    border: 0;
}

/* 12b Mapa: przycisk w karcie jak w ctaglass (biała ramka) */
.hbBlock section.placeMap.hbMapa .hbBtnGhost.hbBtnGhost--light {
    color: #fff;
    border-color: #fff;
}

/* 12b Mapa: badge w ciemnej karcie (jasny jak w ciemnych sekcjach) */
.hbBlock section.placeMap.bg-light .placeMap__content .hbBadge {
    border-color: rgba(255, 255, 255, .25);
    background: rgba(255, 255, 255, .06);
}
.hbBlock section.placeMap.bg-light .placeMap__content .hbBadge span {
    color: #ef6a2c;
}


/* ----- 03 PROBLEM: tekst pod listą ----- */
.hbBlock .hbProblem p.hbProblem__nolike {
    text-transform: uppercase;
    color: #fff;
}

/* Duży półprzezroczysty napis (np. 08 Etapy) */
.specialTxt {
    color: #d2d2d2 !important;
}

/* 11 Obszar: tagi województw po najechaniu */
.hbObszar__pill:hover {
    color: #434343 !important;
}

/* Ocena Google (hero + ctaglass) */
.hbBlock .hbHero__rating p.bannerSlider__reviewNumber,
.hbCta .hbCta__rating p.bannerSlider__reviewNumber {
    margin: 0;
    color: #fff;
}

/* 12b Mapa (bg-light): hover przycisku w ciemnej karcie jak w ctaglass */
@media screen and (min-width: 992px) {
    .hbBlock section.placeMap.hbMapa .placeMap__content .hbBtnGhost.hbBtnGhost--light:hover {
        background: #ef6a2c !important;
        border-color: #ef6a2c !important;
        color: #000 !important;
    }
}

/* Ocena Google: ikony google.png i stars.png są czarne, na stronie białe */
.bannerSlider__googleIcon,
.bannerSlider__starsIcon {
    filter: invert(1);
}
.bannerSlider__starsIcon {
    margin-bottom: 2px;
}

/* Przyciski na telefonie: pełna szerokość */
@media screen and (max-width: 576px) {
    .hbBtnLight,
    .hbBtnGhost,
    .hbBtnAlpha {
        width: 100%;
        box-sizing: border-box;
    }
}

/* 08 Etapy i 13 FAQ: zdjęcie na telefonie, overlay od góry w kolorze tła body */
.hbBlock :is(.hbEtapy, .hbFaq) .stepsSticky__imgMobile::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, 0) 50%);
    pointer-events: none;
    z-index: 1;
}

/* 10b Feng shui: ikony check białe */
.hbBlock .setsApart__itemCheck {
    filter: invert(1);
}

/* 12b Mapa: ikony (pinezka i zegar) białe */
.hbBlock .hbMapa .placeMap__icon {
    filter: invert(1);
}

/* 12b Mapa: mniejszy padding przycisku tylko w tej sekcji */
.hbBlock section.placeMap.hbMapa .hbBtnGhost {
    padding: 10px 24px;
}


/* ----- 05 REALIZACJE: nagłówek jak .header__opacityBig, kolor beżowy ----- */
.hbBlock .hbReal .hbReal__h2 {
    color: #ef6a2c !important;
    text-transform: uppercase;
    opacity: 0.3;
}

/* ----- 06 OFERTA: duży nagłówek ----- */
.hbBlock .hbOferta .hbOferta__h2 {
    text-transform: uppercase;
    opacity: 0.3;
}

/* ----- 06 OFERTA: ostatni ciemny kafelek ----- */
.hbBlock .hbOferta .hbOferta__ctaBox {
    background: #000;
    padding: 20px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.hbBlock section.hbOferta .hbOferta__ctaBox .hbOferta__ctaTitle {
    color: #fff;
    font-family: var(--txtHeader);
}
.hbBlock section.hbOferta .hbOferta__ctaBox :is(p, div) {
    color: #d2d2d2;
}
.hbBlock section.hbOferta .hbOferta__ctaBox .hbBtnGhost.hbBtnGhost--light {
    color: #fff;
    border-color: #fff;
    background: transparent;
}
@media screen and (min-width: 992px) {
    .hbBlock section.hbOferta .hbOferta__ctaBox .hbBtnGhost.hbBtnGhost--light:hover {
        background: #ef6a2c !important;
        border-color: #ef6a2c !important;
        color: #000 !important;
    }
}

/* ----- 12 OPINIE: gwiazdki białe ----- */
.hbOpinie__stars {
    filter: brightness(100);
}

/* Klasa z bloków steps-half: nie było jej w CSS */
.txt-transform-uppercase {
    text-transform: uppercase;
}

/* ----- 06 OFERTA: karty usług ----- */
.hbOferta__serviceTitle {
    font-size: 30px;
}
/* overlay od dołu w kolorze tła body: na start niski, po hoverze wyższy */
.hbOferta__serviceImgWrap::after {
    height: 50%;
    background: linear-gradient(to top, #000 0%, rgba(0, 0, 0, 0) 100%);
    transition: height .4s ease;
}
@media (min-width: 992px) {
    .hbOferta__serviceCard:hover .hbOferta__serviceImgWrap::after {
        height: 100%;
    }
}
/* telefon: opis i przycisk są zawsze widoczne, więc overlay od razu wyższy */
@media (max-width: 991px) {
    .hbOferta__serviceImgWrap::after {
        height: 100%;
    }
}

/* Ikona formularza (hero i ctaglass): biała */
.hbHero__iconImg {
    filter: brightness(100);
}

/* 01 Hero: tekst w prawej kolumnie bez górnego marginesu */
.hbHero__rightInner p {
    margin-top: 0px;
}

/* 12b Mapa: adres i inne linki w karcie bez podkreślenia */
.hbBlock .hbMapa .placeMap__content a {
    text-decoration: none;
}

/* Blok txt-full: teksty beżowe zamiast szarych */
.txtFull p,
.txtFull li,
.txtFull .txtFull__desc ul {
    color: #d2d2d2;
}

/* ctaglass: drugi przycisk na telefonie */
@media screen and (max-width: 576px) {
    .hbCta .hbBtnGhost.hbBtnGhost--light {
        padding: 10px 10px;
    }
}

/* 01 Hero na telefonie: wideo na górnej połowie, overlay od dołu dalej na wideo */
@media screen and (max-width: 576px) {
    .hbHero__video,
    .hbHero__overlay,
    .hbHero__overlay--bottom {
        bottom: auto;
        height: 40%;
    }
}

/* ----- 04 O FIRMIE: plakietka w lewym dolnym rogu zdjęcia ----- */
.hbAbout__right {
    position: relative;
}
.hbAbout__imgBadge {
    position: absolute;
    left: 20px;
    bottom: 20px;
    z-index: 2;
    background: #ef6a2c;
    border-radius: 10px;
    padding: 10px 16px;
    text-transform: uppercase;
}
.hbBlock .hbAbout__imgBadge .hbAbout__imgBadgeTitle {
    font-family: var(--txtHeader);
    font-size: 19px;
    line-height: 1.3;
    color: #000;
    margin-bottom: 5px;
}
.hbBlock .hbAbout__imgBadge .hbAbout__imgBadgeText {
    font-family: var(--txt);
    font-size: 12px;
    line-height: 1.4;
    color: rgba(0, 0, 0, .85);
}

/* singleportfolio-main, Inne projekty: okrągłe strzałki jak w Opiniach (12), tło body, biała strzałka */
.singlePortfolio__other :is(.swiper-button-prev--otherPortfolio, .swiper-button-next--otherPortfolio) {
    width: 50px !important;
    height: 50px !important;
    background: #000;
    border: 1px solid #000;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.singlePortfolio__other :is(.swiper-button-prev--otherPortfolio, .swiper-button-next--otherPortfolio)::after {
    display: none;
}
.singlePortfolio__other :is(.swiper-button-prev--otherPortfolio, .swiper-button-next--otherPortfolio) img {
    width: 24px;
    height: auto;
    transform: none;
    filter: brightness(100);
}

/* header-center: badge beżowy jak w sekcjach homeblocku */
.headerCenter .hbBadge span {
    color: #ef6a2c;
}

/* header-center: drugi przycisk jasny jak w ctaglass (hover z wypełnieniem) */
@media screen and (min-width: 992px) {
    .headerCenter .hbBtnGhost:hover {
        background: #ef6a2c !important;
        border-color: #ef6a2c !important;
        color: #000 !important;
    }
}

/* badgeProject: pogrubiony tekst w karcie białe */
.hbObszar__squareCard strong {
    color: #fff !important;
}

/* all-portfolio: kafelki na całą szerokość swojej kolumny w siatce */
.allPortfolio .typeCourse__item {
    width: 100%;
}
.allPortfolio .portfolio-tile__link {
    display: block;
}


/* ============================================================
   contactme-hero: kolory + zdjęcie osoby pod zdjęciem głównym
   ============================================================ */
.contactmeHero .hbBadge span,
.konfigurator .hbBadge span {
    color: #ef6a2c;
}
.contactmeHero__card p {
    color: #d2d2d2;
}

.contactmeHero__imgWrap {
    position: relative;
}
.contactmeHero__imgFrame {
    position: relative;
}
/* zaokrąglone krawędzie zdjęcia głównego przy wcięciu na zdjęcie osoby */
.contactmeHero__imgFrame--person::before,
.contactmeHero__imgFrame--person::after {
    content: "";
    position: absolute;
    bottom: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    z-index: 1;
    pointer-events: none;
}
.contactmeHero__imgFrame--person::before {
    left: calc(50% - 149px);
    box-shadow: 10px 10px 0 #000;
}
.contactmeHero__imgFrame--person::after {
    left: calc(50% + 129px);
    box-shadow: -10px 10px 0 #000;
}

.contactmeHero__person {
    position: relative;
    z-index: 2;
    width: 300px;
    margin: -80px auto 0;
    text-align: center;
}
.contactmeHero__person--noImg {
    margin-top: 0;
}
.contactmeHero__personImg {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    box-sizing: border-box;
    border: 20px solid #000;
    border-radius: 150px 150px 30px 30px;
}
.contactmeHero__personName {
    font-family: var(--txtHeader);
    font-size: 20px;
    line-height: 1.3;
    text-transform: uppercase;
    color: #fff;
}
.contactmeHero .contactmeHero__personRole {
    font-family: var(--txt);
    font-size: 14px;
    letter-spacing: 5px;
    text-transform: uppercase;
    color: #d2d2d2;
    margin: 4px 0 0;
}
@media screen and (min-width: 992px) {
    .contactmeHero__person {
        width: 400px;
    }
    .contactmeHero__personImg {
        border-radius: 200px 200px 30px 30px;
    }
    /* przy -230px łuk kończy się nad dolną krawędzią zdjęcia głównego,
       więc zaokrąglamy narożniki przy prostych bokach zdjęcia osoby (400px) */
    .contactmeHero__imgFrame--person::before {
        left: calc(50% - 220px);
    }
    .contactmeHero__imgFrame--person::after {
        left: calc(50% + 200px);
    }
}


/* ============================================================
   konfigurator: kolory na ciemnym tle + hover opcji
   ============================================================ */
.konfigurator__desc,
.konfigurator__question p {
    color: #d2d2d2;
}
.konfigurator__opt,
.konfigurator__circle {
    transition: background .3s ease-out, border-color .3s ease-out;
}
.konfigurator__opt:hover {
    background: rgba(255, 255, 255, .14);
}
.konfigurator__opt:hover .konfigurator__circle {
    background: #fff;
}
.konfigurator__optTitle {
    color: #fff;
}
.konfigurator__btnBack {
    color: #fff;
}
.konfigurator .kf-field label,
.konfigurator .kf-field--full label {
    color: #ef6a2c;
}
.konfigurator__summary,
.konfigurator__summary :is(.konfigurator__sumKey, .konfigurator__sumVal, .konfigurator__sumNote, span, div, p) {
    color: #d2d2d2;
}
.konfigurator__summary .konfigurator__sumTitle {
    color: #fff;
}


/* ----- contactme-hero: osoba i social media ----- */
@media screen and (min-width: 992px) {
    .contactmeHero__person {
        margin-top: -230px;
    }
    .contactmeHero__personName {
        font-size: 36px;
    }
}
.contactmeHero__social {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}
.contactmeHero__socialLink {
    text-decoration: none;
    color: #d2d2d2;
    font-size: 16px;
}
.contactmeHero__socialIcon {
    width: auto;
    height: 20px;
    filter: brightness(100);
}


/* ----- konfigurator: teksty, pola formularza, upload, RODO ----- */
.konfigurator__optDesc,
.konfigurator__contactDesc {
    color: #d2d2d2;
}
.konfigurator .wpcf7-form input[type="text"],
.konfigurator .wpcf7-form input[type="email"],
.konfigurator .wpcf7-form input[type="tel"],
.konfigurator .wpcf7-form textarea {
    color: #fff !important;
    transition: border-color .3s ease-out;
}
.konfigurator .wpcf7-form input[type="text"]:hover,
.konfigurator .wpcf7-form input[type="email"]:hover,
.konfigurator .wpcf7-form input[type="tel"]:hover,
.konfigurator .wpcf7-form textarea:hover,
.konfigurator .wpcf7-form input:focus,
.konfigurator .wpcf7-form textarea:focus {
    border: 1px solid rgba(255, 255, 255, .1);
    color: #fff !important;
}
.konfigurator .wpcf7-form input[type="text"]::placeholder,
.konfigurator .wpcf7-form input[type="email"]::placeholder,
.konfigurator .wpcf7-form input[type="tel"]::placeholder,
.konfigurator .wpcf7-form textarea::placeholder {
    color: #fff;
    opacity: .7;
}
.codedropz-upload-inner::before {
    filter: brightness(100);
}
.codedropz-upload-inner h4,
.codedropz-upload-inner span {
    color: #fff !important;
}
.cd-upload-btn {
    color: #fff !important;
    text-decoration: underline !important;
}
.konfigurator__summary .konfigurator__sumNote a {
    color: #fff;
    text-decoration: underline;
}
.konfigurator__safe {
    margin-top: 20px;
}
.konfigurator__safe img {
    filter: invert(1);
}
.konfigurator__safe p {
    font-size: 13px;
    color: #fff;
    margin: 0 !important;
}

/* contactme-hero: imię i podpis na tablecie i telefonie */
@media screen and (max-width: 992px) {
    .contactmeHero__personName {
        font-size: 28px;
    }
    .contactmeHero .contactmeHero__personRole {
        letter-spacing: 2px;
    }
}

/* konfigurator: licznik kroków biały */
.konfigurator__stepNum {
    color: #fff;
}

/* konfigurator: badge przy opcji (np. Najpopularniejsze) */
.konfigurator__opt {
    position: relative;
}
.konfigurator__optBadge {
    position: absolute;
    top: 0;
    right: 14px;
    transform: translateY(-50%);
    z-index: 2;
    white-space: nowrap;
    display: inline-block;
    padding: 3px 10px;
    border-radius: 100px;
    background: #ef6a2c;
    color: #000;
    font-family: var(--txt);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

/* konfigurator: pole opisu (krok dla Elewacji i Innych) */
.konfigurator__textarea {
    display: block;
    width: 100%;
    min-height: 150px;
    padding: 16px 18px;
    background: rgba(255, 255, 255,.05);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 10px;
    font-family: var(--txt);
    font-size: 15px;
    line-height: 1.6;
    color: #fff;
    resize: vertical;
    box-sizing: border-box;
    transition: border-color .3s ease-out;
}
.konfigurator__textarea:hover,
.konfigurator__textarea:focus {
    outline: none;
    border-color: #ef6a2c;
}
.konfigurator__textarea::placeholder {
    color: #fff;
    opacity: .6;
}

/* ============================================================
   meeting-inperson (spotkanie stacjonarne)
   ============================================================ */
.meetInp .hbBadge span {
    color: #ef6a2c;
}
.meetInp__h2 {
    font-weight: 400;
}
.meetInp__col {
    display: flex;
}
.meetInp__tile {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 30px;
    width: 100%;
    min-height: 220px;
    text-decoration: none;
}
.meetInp a.meetInp__tile,
.meetInp .meetInp__tile--light {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .18);
    transition: background .3s ease-out, border-color .3s ease-out;
}
.meetInp a.meetInp__tile:hover {
    background: rgba(255, 255, 255, .12);
    border-color: rgba(255, 255, 255, .4);
}
.meetInp .meetInp__tile .contactmeHero__cardTitle {
    color: #fff;
    background: transparent;
    border: 0;
}
.meetInp__text,
.meetInp__wysiwyg,
.meetInp__wysiwyg :is(p, li) {
    color: #d2d2d2;
    margin: 0;
}
.meetInp__text a,
.meetInp__wysiwyg a {
    color: #d2d2d2;
    text-decoration: none;
}
.meetInp__text a:hover,
.meetInp__wysiwyg a:hover {
    color: #fff;
}
.meetInp__wysiwyg p + p {
    margin-top: 6px;
}
.meetInp__iconColor {
    display: block;
    width: 46px;
    height: 46px;
    object-fit: contain;
}

/* dół: zdjęcie tej samej wysokości co mapa */
.meetInp__img {
    display: block;
    width: 100%;
    height: 580px;
    object-fit: cover;
    border-radius: 20px;
}
.meetInp__map .contact-map iframe {
    width: 100% !important;
    height: 580px;
    min-height: 580px;
    display: block;
    border: 0;
}
@media screen and (max-width: 992px) {
    .meetInp__img {
        height: auto;
    }
}
@media screen and (max-width: 768px) {
    .meetInp__map .contact-map iframe {
        height: 350px;
        min-height: 350px;
    }
    .meetInp__tile {
        min-height: 0;
    }
}

/* meeting-inperson: strzałka w kafelku 3 */
.meetInp__linkRow {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.meetInp__arrow {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    object-fit: contain;
    filter: invert(1);
    transition: transform .3s ease-out;
}
.meetInp__tile:hover .meetInp__arrow {
    transform: translate(5px, 0px) rotate(45deg);
}

/* ============================================================
   meeting-inperson: etapy (układ steps-sections)
   ============================================================ */
.meetInpSteps {
    border-top: 1px solid rgba(255, 255, 255, .18);
}
.meetInpSteps .meetInpSteps__h2 {
    color: #d2d2d2 !important;
    text-transform: uppercase;
    opacity: 0.3;
    text-align: center;
    margin: 0;
}
/* kafelki na przemian; tło pełne (nie przezroczyste), bo kafelki nachodzą na siebie przy przewijaniu.
   #141414 = rgba(255, 255, 255, .06) nałożone na tło strony #000 */
.meetInpSteps .stepsSection .stepsSection__boxer {
    background: #141414;
    border: 1px solid rgba(255, 255, 255, .18);
}
.meetInpSteps .stepsSection.bg-light {
    background: transparent !important;
}
.meetInpSteps .stepsSection.bg-light .stepsSection__boxer {
    background: #000;
}
.meetInpSteps .stepsSection__boxer h2 {
    color: #fff;
}
.meetInpSteps .steps__desc,
.meetInpSteps .steps__desc :is(p, li) {
    color: #d2d2d2;
}
.meetInpSteps .steps__desc a {
    color: #d2d2d2 !important;
}
.meetInpSteps .steps__desc a::after {
    background-color: #ef6a2c;
}

/* meeting-inperson etapy: kafelki na całą szerokość, tylko linia u góry, treść wycentrowana na 50% */
.meetInpSteps .stepsSection .stepsSection__boxer {
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, .18);
    border-radius: 0;
    margin-bottom: 0;
}
.meetInpSteps__inner {
    width: 40%;
    margin: 0 auto;
    text-align: center;
}
.meetInpSteps__inner .contactmeHero__iconWrap {
    margin-left: auto;
    margin-right: auto;
}
@media screen and (max-width: 992px) {
    .meetInpSteps__inner {
        width: 100%;
    }
}

/* meeting-inperson etapy: numer 01, 02, 03 w beżowym kwadracie */
.meetInpSteps__num {
    font-family: var(--txtHeader);
    font-size: 28px;
    line-height: 1;
    color: #000;
}

/* meeting-inperson etapy: ostatni kafelek z linią także na dole */
.meetInpSteps .stepsSection:last-of-type .stepsSection__boxer {
    border-bottom: 1px solid rgba(255, 255, 255, .18);
}

/* ============================================================
   aboutme-all (O mnie: zdjęcie z treścią, hero, gwarancja)
   ============================================================ */
.aboutAll .hbBadge span {
    color: #ef6a2c;
}
.aboutAll :is(h1, h2, h3, h4, h5, h6) {
    color: #fff;
}
.aboutAll .aboutAll__txt,
.aboutAll .aboutAll__txt :is(p, li),
.aboutAll .aboutmeHero__desc p {
    color: #d2d2d2;
}
.aboutAll .aboutAll__txt :is(h1, h2, h3, h4, h5, h6) {
    color: #fff;
}
/* delikatna linia jak w pozostałych sekcjach */
.aboutAll .header-line {
    background-color: rgba(255, 255, 255, .18);
}
/* kafelki: tło strony, nasza ramka */
.aboutAll .aboutAll__item {
    background: #000;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 10px;
    padding: 20px;
}
.aboutAll .aboutAll__item .aboutAll__itemTitle {
    color: #fff;
}
.aboutAll .aboutAll__item .aboutAll__txt :is(p, li) {
    color: #d2d2d2;
    margin: 0;
}
.aboutAll .aboutAll__item .aboutAll__txt p + p {
    margin-top: 6px;
}
/* gwarancja: plakietka na zdjęciu w kolorach strony */
.aboutAll .aboutmeGuarantee__overlay {
    background: #000;
    border: 1px solid rgba(255, 255, 255, .18);
}
.aboutAll .aboutmeGuarantee__overlayText {
    color: #fff;
    margin: 0;
}

/* ============================================================
   thank-visit: badge i opis beżowe
   ============================================================ */
.thankVisit .hbBadge span,
.thankVisit .thankVisit__desc {
    color: #ef6a2c;
}
.thankVisit__cal {
    width: 100%;
}
.thankVisit__calendarIcon {
    filter: brightness(100);
}

/* ============================================================
   content-different (baner, lista, treść ze zdjęciami, FAQ)
   ============================================================ */
.cdBlock .hbBadge span {
    color: #ef6a2c;
}
.cdBlock :is(h1, h2, h3, h4, h5, h6) {
    color: #fff;
}
.cdBlock .cdBlock__txt,
.cdBlock .cdBlock__txt :is(p, li) {
    color: #d2d2d2;
}
.cdBlock .cdBlock__txt :is(h1, h2, h3, h4, h5, h6) {
    color: #fff;
}
/* 01 baner: zdjęcie z zaokrąglonymi rogami, kafelki z liczbami */
.cdBlock .bannerOneImg__imgRight,
.cdBlock .bannerOneImg__imgMobile {
    border-radius: 10px;
}
.cdBlock .cdBanner__numTitle {
    color: #fff;
    font-weight: 400;
}
/* 02 lista: linie w naszym kolorze */
.cdBlock .cdBenefits__row {
    background: transparent;
    border-color: rgba(255, 255, 255, .18);
}

/* content-different: poprawki układu */
.cdBlock .bannerOneImg--descWysiwyg h2 {
    margin-top: 20px;
}
.cdBlock .cdBenefits__head {
    width: 50%;
    margin-left: auto;
    margin-right: auto;
}
.cdBlock .cdBenefits__head h2 {
    margin-bottom: 20px;
}
@media screen and (max-width: 992px) {
    .cdBlock .cdBenefits__head {
        width: 100%;
    }
}
.cdBlock .cdChange,
.cdBlock .hbFaq {
    border-top: 1px solid rgba(255, 255, 255, .18) !important;
}

/* content-different: na mobile najpierw zdjęcie, potem tekst (także w odwróconych wierszach) */
@media screen and (max-width: 992px) {
    .cdBlock .contentimgChange__row--reverse .contentimgChange__right {
        order: 1;
    }
}

/* ============================================================
   offercolumn-process (oferta: wstęp, pakiety, opis, etapy, wyróżniki)
   ============================================================ */
.ocpBlock .hbBadge span {
    color: #ef6a2c;
}

/* 01 wstęp */
.ocpBlock .aboutStart__heading--dark {
    color: #fff !important;
}
.ocpBlock .aboutStart__statsGrid {
    border-top: 1px solid rgba(255, 255, 255, .18);
}
.ocpBlock .aboutStart__statLabel {
    color: #ef6a2c;
}
.ocpBlock .technologyCta__item {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .18);
}

/* 02 pakiety */
.ocpBlock .ocpPack__label {
    color: #ef6a2c;
    text-transform: uppercase;
    letter-spacing: 2px;
}
.ocpBlock .ocpPack__card {
    background: #000;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 10px;
    padding: 30px;
}
.ocpBlock .ocpPack__card--featured {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .4);
}
.ocpBlock .ocpPack__num {
    font-family: var(--txtHeader);
    font-size: 40px;
    line-height: 1;
    color: #ef6a2c;
    opacity: .4;
    margin-bottom: 10px;
}
.ocpBlock .ocpPack__title {
    font-family: var(--txtHeader);
    font-size: 26px;
    font-weight: 400;
    line-height: 1.25;
    color: #fff;
}
.ocpBlock .ocpPack__desc p,
.ocpBlock .ocpPack__groupText p,
.ocpBlock .hbOferta__stdItem span {
    color: #d2d2d2;
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
}
.ocpBlock .ocpPack__desc p + p,
.ocpBlock .ocpPack__groupText p + p {
    margin-top: 8px;
}
.ocpBlock .hbOferta__stdLine {
    border-top-color: rgba(255, 255, 255, .18);
    margin: 20px 0 0;
}
.ocpBlock .ocpPack__group {
    border-bottom: 1px solid rgba(255, 255, 255, .18);
}
.ocpBlock .ocpPack__groupHead {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    width: 100%;
    padding: 18px 0;
    background: none;
    border: 0;
    cursor: pointer;
    text-align: left;
    font-family: var(--txtHeader);
    font-size: 18px;
    color: #fff;
}
.ocpBlock .ocpPack__groupHead span {
    color: #fff;
}
.ocpBlock .ocpPack__groupIcon {
    width: 14px;
    height: 14px;
    object-fit: contain;
    filter: invert(1);
    transition: transform .3s ease-out;
    flex-shrink: 0;
}
.ocpBlock .ocpPack__group.is-open .ocpPack__groupIcon {
    transform: rotate(180deg);
}
.ocpBlock .ocpPack__groupBody {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .35s ease-out;
}
.ocpBlock .ocpPack__group.is-open .ocpPack__groupBody {
    grid-template-rows: 1fr;
}
.ocpBlock .ocpPack__groupInner {
    overflow: hidden;
}
.ocpBlock .ocpPack__group.is-open .ocpPack__groupInner {
    padding-bottom: 20px;
}
.ocpBlock .hbOferta__stdItem {
    align-items: flex-start;
    gap: 12px;
}
.ocpBlock .ocpPack__check {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    margin-top: 3px;
    filter: invert(1);
}
.ocpBlock .ocpPack__tagline {
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #d2d2d2;
    opacity: .7;
}
.ocpBlock .ocpPack__price {
    font-family: var(--txtHeader);
    font-size: 26px;
    color: #fff;
}

/* 03 opis w boksie */
.ocpBlock .ocpDesc__box {
    max-width: 900px;
    margin: 0 auto;
    padding: 60px;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 10px;
}
.ocpBlock .ocpDesc__h2 {
    color: #fff;
    font-weight: 400;
}
.ocpBlock .ocpDesc__content,
.ocpBlock .ocpDesc__content :is(p, li) {
    color: #d2d2d2;
    text-align: center;
}
.ocpBlock .ocpDesc__content p + p {
    margin-top: 12px;
}
.ocpBlock .ocpDesc__quote {
    margin: 0;
    padding-top: 30px;
    border-top: 1px solid rgba(255, 255, 255, .18);
    font-family: var(--txtHeader);
    font-size: 24px;
    font-style: italic;
    line-height: 1.4;
    color: #fff;
    text-align: center;
}
@media screen and (max-width: 768px) {
    .ocpBlock .ocpDesc__box {
        padding: 30px 20px;
    }
}

/* 04 etapy: oś czasu w kolorach strony, większe zdjęcia */
.ocpBlock .ocpSteps__sub {
    color: #d2d2d2;
}
.ocpBlock .hbEtapy__title :is(h2, h3) {
    color: #fff;
}
.ocpBlock .hbEtapy__vline {
    background: rgba(255, 255, 255, .18);
}
.ocpBlock .hbEtapy__vlineFill {
    background: #ef6a2c;
}
.ocpBlock .hbEtapy__card {
    background: #000;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 10px;
    align-items: center;
    gap: 20px;
}
.ocpBlock .hbEtapy__cImg {
    width: 200px;
    height: 200px;
    border-radius: 8px;
}
.ocpBlock .hbEtapy__cBody h3 {
    color: #fff;
}
.ocpBlock .hbEtapy__cBody :is(div, p, li) {
    color: #d2d2d2;
    font-size: 14px;
}
.ocpBlock .hbEtapy__cBody ul {
    margin: 0;
    padding-left: 18px;
}
.ocpBlock .hbEtapy__dot {
    background: #000;
    border-color: #ef6a2c;
    color: #ef6a2c;
}
@media (max-width: 768px) {
    .ocpBlock .hbEtapy__cImg {
        width: 100%;
        height: 180px;
    }
}

/* 05 co mnie wyróżnia */
.ocpBlock .setsApart__h2 {
    color: #fff;
}
.ocpBlock .setsApart__desc p,
.ocpBlock .setsApart__itemText {
    color: #d2d2d2;
}
.ocpBlock .setsApart__item {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .18);
}
.ocpBlock .setsApart__itemCheck {
    filter: invert(1);
}



/* ================================================================
   WOOCOMMERCE
   Przeniesione ze sklepu sekretymorzamartwego.pl (style.css + added-css.css),
   kolory dopasowane do LOES:
   tło #000, beż #dfd2c1, linie rgba(255, 255, 255, .18),
   jasna karta rgba(255, 255, 255, .06), nagłówki #fff.
   ================================================================ */

/* ---------- ogólne ---------- */

.woocommerce-product-details__short-description ul,
.singleProduct__shortDesc ul,
.singleProduct__descContent ul {
    color: rgba(255, 255, 255,.75);
}

.woocommerce-price-suffix {
    display: none !important;
}

.woocommerce-info:before,
.woocommerce-error:before,
.woocommerce-message:before,
.woocommerce-thankyou-order-received:before {
    display: none !important;
}

.logo_banks {
    width: auto;
    height: 23px;
}

.ct-order-review {
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

/* ---------- KOSZYK: tabela ---------- */

table.shop_table {
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 20px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    overflow: hidden !important;
    width: 100% !important;
    background: rgba(255, 255, 255, .06) !important;
}

table.shop_table thead th {
    color: #fff !important;
    border-bottom: 1px solid rgba(255, 255, 255, .18) !important;
    padding: 16px 20px !important;
    background: rgba(255, 255, 255, .08) !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

table.shop_table td {
    color: #d2d2d2 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .18) !important;
    padding: 16px 20px !important;
    vertical-align: middle !important;
}

table.shop_table tr:last-child td {
    border-bottom: none !important;
}

table.shop_table a {
    color: #fff !important;
    text-decoration: none !important;
}

table.shop_table a:hover {
    color: #d2d2d2 !important;
}

table.shop_table a.remove {
    color: rgba(255, 255, 255,.5) !important;
    font-size: 20px !important;
    line-height: 1 !important;
    transition: color 0.2s ease !important;
}

table.shop_table a.remove:hover {
    color: #e0806f !important;
    background: transparent !important;
}

td.product-thumbnail img {
    border-radius: 10px !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    width: 80px !important;
    height: 80px !important;
    object-fit: cover !important;
}

.woocommerce .price,
.ct-product-sku,
td.product-price,
td.product-subtotal {
    color: #ef6a2c !important;
}

td.product-price del,
td.product-subtotal del {
    color: rgba(255, 255, 255,.5) !important;
    font-size: 13px !important;
}

td.product-price ins,
td.product-subtotal ins {
    text-decoration: none !important;
    color: #fff !important;
    font-weight: 600 !important;
}

/* ilość */
div.quantity .ct-increase,
div.quantity .ct-decrease {
    color: #d2d2d2 !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 8px !important;
    transition: background 0.2s ease, color 0.2s ease !important;
}

div.quantity .ct-increase:hover,
div.quantity .ct-decrease:hover {
    background: #ef6a2c !important;
    color: #000 !important;
    border-color: #ef6a2c !important;
}

div.quantity input.qty {
    color: #fff !important;
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 8px !important;
    text-align: center !important;
}

/* kupon */
.coupon {
    display: flex !important;
    gap: 10px !important;
    align-items: center !important;
}

.coupon input#coupon_code {
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 10px !important;
    padding: 10px 16px !important;
    color: #fff !important;
    background: rgba(255, 255, 255, .06) !important;
    font-size: 14px !important;
}

.coupon input#coupon_code::placeholder {
    color: rgba(255, 255, 255,.5) !important;
}

.coupon button {
    border-radius: 10px !important;
}

/* ---------- KOSZYK: podsumowanie ---------- */

.cart-collaterals {
    margin-top: 30px !important;
}

.cart_totals {
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 20px !important;
    padding: 28px !important;
    background: #141414 !important;
}

.ct-woocommerce-cart-form .cart_totals {
    top: 150px !important;
}

.cart_totals h2 {
    color: #fff !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    margin-bottom: 20px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid rgba(255, 255, 255, .18) !important;
}

.cart_totals table {
    width: 100% !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.cart_totals table th,
.cart_totals table td {
    color: #d2d2d2 !important;
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, .18) !important;
    padding: 12px 0 !important;
}

.cart_totals table tr:last-child th,
.cart_totals table tr:last-child td {
    border-bottom: none !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    color: #fff !important;
}

.cart_totals .order-total td,
.cart_totals .order-total th {
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}

.cart_totals .shipping td,
.cart_totals .shipping th {
    font-size: 14px !important;
}

.cart_totals .shipping ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.cart_totals .shipping ul li label {
    color: #ef6a2c !important;
    font-size: 14px !important;
}

.shipping-calculator-button {
    color: #d2d2d2 !important;
    text-decoration: underline !important;
    font-size: 13px !important;
    cursor: pointer !important;
}

/* przycisk "Przejdź do kasy" */
.wc-proceed-to-checkout a.checkout-button {
    background: #ef6a2c !important;
    color: #000 !important;
    border-radius: 10px !important;
    padding: 14px 24px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    display: block !important;
    text-align: center !important;
    width: 100% !important;
    margin-top: 16px !important;
    box-shadow: rgba(255, 255, 255,.32) 0px 8px 26px;
    transition: opacity 0.3s ease !important;
}

.wc-proceed-to-checkout a.checkout-button:hover {
    opacity: .85;
    color: #000 !important;
}

/* przyciski WooCommerce (tylko w sklepie, nie rusza formularzy CF7) */
.woocommerce .button,
.woocommerce-page .button,
.woocommerce .ct-button,
.woocommerce .added_to_cart,
.woocommerce [type=submit],
.woocommerce .wp-element-button,
.woocommerce button.button,
.woocommerce-message .showlogin,
.woocommerce-message .restore-item,
.woocommerce button.button.alt {
    background: #ef6a2c !important;
    color: #000 !important;
    border-radius: 10px !important;
    border: none !important;
    font-weight: 700 !important;
    transition: opacity 0.3s ease !important;
}

.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce button.button.alt:hover,
.woocommerce [type=submit]:hover {
    opacity: .85;
    color: #000 !important;
}

.woocommerce .button:disabled,
.woocommerce button.button:disabled {
    opacity: .45 !important;
}

/* komunikaty */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
    border-radius: 12px !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    padding: 16px 20px !important;
    color: #d2d2d2 !important;
    background: rgba(255, 255, 255, .06) !important;
}

.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
    color: #fff !important;
}

.cart-section .woocommerce-shipping-totals.shipping {
    display: none !important;
}

.woocommerce-cart .cart_totals .order-total {
    display: none !important;
}

/* pusty koszyk */
.wc-empty-cart-message,
.cart-empty {
    color: #d2d2d2 !important;
}

/* ---------- ZAMÓWIENIE (CHECKOUT) ---------- */

#customer_details .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-account-fields,
.checkout-section .woocommerce-form-login-toggle {
    display: none !important;
}

.woocommerce-checkout .form-row input[type="text"],
.woocommerce-checkout .form-row input[type="email"],
.woocommerce-checkout .form-row input[type="tel"],
.woocommerce-checkout .form-row input[type="password"],
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row .select2-container--default .select2-selection--single {
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 10px !important;
    color: #fff !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    width: 100% !important;
    background: rgba(255, 255, 255, .06) !important;
}

.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
    border-color: #ef6a2c !important;
    outline: none !important;
}

.woocommerce-checkout .form-row input::placeholder,
.woocommerce-checkout .form-row textarea::placeholder {
    color: rgba(255, 255, 255,.5) !important;
}

.woocommerce-checkout .form-row select option {
    background: #000;
    color: #d2d2d2;
}

.woocommerce-checkout .form-row .select2-container--default .select2-selection--single {
    height: auto !important;
    line-height: 1.5 !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #fff !important;
    padding-left: 0 !important;
    line-height: 1.5 !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 50% !important;
    transform: translateY(-50%) !important;
}

/* lista rozwijana select2 (np. kraj) */
.select2-dropdown {
    background: #000 !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    color: #d2d2d2 !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    background: rgba(255, 255, 255, .06) !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    color: #fff !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
    background: #ef6a2c !important;
    color: #000 !important;
}

.woocommerce-checkout label {
    color: #ef6a2c !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    margin-bottom: 5px !important;
    display: block !important;
}

.woocommerce-checkout label .required {
    color: #ef6a2c !important;
}

.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3,
#order_review_heading {
    color: #fff !important;
    font-size: 26px !important;
    font-weight: 400 !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid rgba(255, 255, 255, .18) !important;
    margin-bottom: 20px !important;
}

.woocommerce-shipping-fields .ship-to-different-address label {
    font-size: 15px !important;
    font-weight: 600 !important;
}

/* tabela podsumowania zamówienia */
table.woocommerce-checkout-review-order-table {
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 20px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    overflow: hidden !important;
    width: 100% !important;
}

table.shop_table tr {
    --theme-table-border-style: solid !important;
}

table.woocommerce-checkout-review-order-table th,
table.woocommerce-checkout-review-order-table td {
    color: #d2d2d2 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .18) !important;
    padding: 12px 20px !important;
}

table.woocommerce-checkout-review-order-table thead th {
    background: rgba(255, 255, 255, .08) !important;
    color: #fff !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

table.woocommerce-checkout-review-order-table tr:last-child td,
table.woocommerce-checkout-review-order-table tr:last-child th {
    border-bottom: none !important;
}

table.woocommerce-checkout-review-order-table .order-total td,
table.woocommerce-checkout-review-order-table .order-total th {
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 16px !important;
}

/* płatności */
#payment {
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    background: rgba(255, 255, 255, .06) !important;
    margin: 0 !important;
}

#payment ul.payment_methods {
    border-bottom: 1px solid rgba(255, 255, 255, .18) !important;
    padding: 16px 20px !important;
    margin: 0 !important;
    list-style: none !important;
}

#payment ul.payment_methods li {
    padding: 8px 0 !important;
}

#payment ul.payment_methods li label {
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

#payment .payment_methods > .wc_payment_method > label,
#payment .payment_methods > .woocommerce-PaymentMethod > label {
    justify-content: start !important;
}

#payment .payment_box {
    border-top: 1px solid rgba(255, 255, 255, .18) !important;
    color: #d2d2d2 !important;
    font-size: 13px !important;
    padding: 14px 20px !important;
}

#payment .place-order {
    padding: 20px !important;
}

#payment .woocommerce-terms-and-conditions-wrapper,
#payment .woocommerce-privacy-policy-text {
    color: #d2d2d2 !important;
    font-size: 13px !important;
}

#payment .woocommerce-terms-and-conditions-wrapper a,
#payment .woocommerce-privacy-policy-text a {
    color: #fff !important;
    text-decoration: underline !important;
}

#place_order {
    background: #ef6a2c !important;
    color: #000 !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 14px 24px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    width: 100% !important;
    cursor: pointer !important;
    box-shadow: rgba(255, 255, 255,.32) 0px 8px 26px;
    transition: opacity 0.3s ease !important;
}

#place_order:hover {
    opacity: .85;
    color: #000 !important;
}

.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info {
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, .06) !important;
    color: #d2d2d2 !important;
    padding: 14px 20px !important;
    margin-bottom: 20px !important;
}

.woocommerce-checkout .woocommerce-error li {
    color: #d2d2d2 !important;
}

.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle {
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 12px !important;
    padding: 12px 20px !important;
    margin-bottom: 16px !important;
    background: rgba(255, 255, 255, .06) !important;
    color: #d2d2d2 !important;
}

.woocommerce-checkout .woocommerce-form-login-toggle a,
.woocommerce-checkout .woocommerce-form-coupon-toggle a {
    color: #fff !important;
    font-weight: 600 !important;
}

.woocommerce-checkout .woocommerce-form-login,
.woocommerce-checkout .woocommerce-form-coupon {
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    margin-bottom: 20px !important;
}

@media (min-width: 1000px) {
    .ct-order-review {
        top: 140px !important;
    }
}

/* ---------- metody dostawy (karty) ---------- */

#shipping_method {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

#shipping_method li {
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 12px !important;
    padding: 14px 18px !important;
    background: rgba(255, 255, 255, .06) !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    cursor: pointer !important;
    transition: border-color 0.2s ease !important;
}

#shipping_method li:has(input:checked) {
    border-color: #ef6a2c !important;
    background: rgba(255, 255, 255, .12) !important;
}

#shipping_method li input[type="radio"] {
    accent-color: #ef6a2c !important;
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
}

#shipping_method li label {
    color: #ef6a2c !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    margin: 0 !important;
    flex: 1 !important;
    justify-content: start;
}

#shipping_method li .button,
#shipping_method li button {
    background: #ef6a2c !important;
    color: #000 !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 8px 16px !important;
    font-size: 13px !important;
    margin-top: 8px !important;
    cursor: pointer !important;
}

#selected-paczkomat {
    font-size: 10px !important;
}

@media screen and (max-width: 576px) {
    #shipping_method li {
        flex-direction: column;
        align-items: start !important;
    }
}

/* ---------- metody płatności (karty) ---------- */

ul.wc_payment_methods,
ul.payment_methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    border: none !important;
    background: transparent !important;
}

li.wc_payment_method {
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 12px !important;
    padding: 14px 18px !important;
    background: rgba(255, 255, 255, .06) !important;
    transition: border-color 0.2s ease !important;
    overflow: hidden !important;
}

li.wc_payment_method:has(input:checked) {
    border-color: #ef6a2c !important;
    background: rgba(255, 255, 255, .12) !important;
}

li.wc_payment_method > label {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    cursor: pointer !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    margin: 0 !important;
}

li.wc_payment_method input[type="radio"] {
    accent-color: #ef6a2c !important;
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
}

li.wc_payment_method > label img {
    margin-left: auto !important;
    max-height: 24px !important;
    width: auto !important;
}

li.wc_payment_method .payment_box {
    border: none !important;
    border-top: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #d2d2d2 !important;
    font-size: 13px !important;
    padding: 14px 0 0 0 !important;
    margin-top: 12px !important;
}

li.wc_payment_method .payment_box::before {
    display: none !important;
}

li.wc_payment_method .payment_box p {
    font-size: 12px !important;
    line-height: 1.5 !important;
    margin-bottom: 0 !important;
}

li.wc_payment_method .payment_box a {
    color: #fff !important;
}

li.wc_payment_method .payment_box input[type="text"],
li.wc_payment_method .payment_box input[type="number"] {
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 8px !important;
    color: #fff !important;
    background: rgba(255, 255, 255, .06) !important;
    padding: 8px 12px !important;
    font-size: 14px !important;
}

/* ---------- STRONA PODZIĘKOWANIA (thankyou.php) ---------- */

.woocommerce-customer-details address {
    border-radius: 10px !important;
    padding: 20px !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    color: #d2d2d2 !important;
}

.tyPage__hero {
    text-align: center;
    margin-bottom: 48px;
}

.tyPage__iconWrap {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #ef6a2c;
    color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
}

.tyPage__iconWrap svg {
    width: 36px;
    height: 36px;
}

.tyPage__iconWrap--error {
    background: #b5544a;
    color: #fff;
}

.tyPage__h1,
.tyPage__h {
    font-size: clamp(26px, 4vw, 38px);
    font-weight: 400;
    color: #fff;
    margin-bottom: 12px;
}

.tyPage__sub {
    font-size: 16px;
    line-height: 1.7;
    max-width: 520px;
    margin: 0 auto;
    color: #d2d2d2;
}

.tyPage__meta {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 48px;
}

@media (max-width: 992px) { .tyPage__meta { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 576px) { .tyPage__meta { grid-template-columns: 1fr; } }

.tyPage__metaCard {
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 16px;
    padding: 20px 24px;
    background: rgba(255, 255, 255, .06);
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.tyPage__metaLabel {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 600;
    color: rgba(255, 255, 255,.75);
}

.tyPage__metaVal {
    font-size: 17px;
    font-weight: 700;
    color: #fff;
}

.tyPage__details {
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 20px;
    overflow: hidden;
    background: rgba(255, 255, 255, .06);
}

.tyPage__details .woocommerce-order-details,
.tyPage__details .woocommerce-customer-details {
    padding: 28px 32px;
}

.tyPage__details .woocommerce-order-details__title,
.tyPage__details .woocommerce-column__title {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, .18);
}

.tyPage__details .woocommerce-table--order-details {
    width: 100%;
    border-collapse: collapse;
    background: transparent !important;
    border: none !important;
}

.tyPage__details .woocommerce-table--order-details th,
.tyPage__details .woocommerce-table--order-details td {
    padding: 12px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .18);
    font-size: 15px;
}

.tyPage__details .woocommerce-table--order-details tfoot tr:last-child td,
.tyPage__details .woocommerce-table--order-details tfoot tr:last-child th {
    font-weight: 700;
    font-size: 17px;
    color: #fff;
    border-bottom: none;
}

.tyPage__details .woocommerce-columns--2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}

@media (max-width: 640px) {
    .tyPage__details .woocommerce-columns--2 { grid-template-columns: 1fr; }
    .tyPage__details .woocommerce-order-details,
    .tyPage__details .woocommerce-customer-details { padding: 20px; }
}

.tyPage__actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    margin-top: 28px;
    flex-wrap: wrap;
}

.tyPage__btn {
    background: #ef6a2c;
    color: #000;
    border-radius: 10px;
    padding: 12px 30px;
    font-weight: 700;
    font-size: 15px;
    text-decoration: none;
    transition: opacity .2s;
}

.tyPage__btn:hover { opacity: .85; color: #000; }

.tyPage__btn--outline {
    background: transparent;
    border: 1px solid #ef6a2c;
    color: #d2d2d2;
}

.tyPage__btn--outline:hover { background: #ef6a2c; color: #000; opacity: 1; }

.woocommerce-order-received .grid-1.margin-bottom-3,
.woocommerce-order-received .woocommerce-bacs-bank-details,
.woocommerce-order-received .woocommerce-customer-details,
.woocommerce-table--order-details tfoot {
    display: none !important;
}

/* ---------- KATEGORIA PRODUKTÓW (taxonomy-product-cat.php) ---------- */

.productCat__sidebarCard {
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 20px;
    padding: 24px;
    position: sticky;
    top: 100px;
}

.productCat__catName {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, .18);
}

.productCat__catName h2 {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    margin: 0;
}

.productCat__filterLabel {
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 12px;
}

.productCat__priceList {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.productCat__priceItem label {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-size: 14px;
    color: #ef6a2c;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 8px;
    transition: border-color 0.2s ease, background 0.2s ease;
}

.productCat__priceItem label:has(input:checked) {
    border-color: #ef6a2c;
    background: rgba(255, 255, 255, .12);
}

.productCat__priceItem input[type="checkbox"] {
    accent-color: #ef6a2c;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    border-color: #ef6a2c;
}

.productCat input[type="checkbox"]:checked::before {
    background: #ef6a2c;
    width: 18px;
    height: 18px;
    border-radius: 5px;
}

.productCat__clearBtn {
    display: block;
    margin-top: 14px;
    text-align: center;
    font-size: 13px;
    color: #d2d2d2;
    text-decoration: underline;
    cursor: pointer;
}

.productCat__topBar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    gap: 12px;
    flex-wrap: wrap;
}

.productCat__count {
    font-size: 13px;
    color: #d2d2d2;
}

.productCat__ordering select {
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 10px;
    padding: 8px 14px;
    font-size: 13px;
    color: #d2d2d2;
    background: #000;
    cursor: pointer;
}

.productCat__empty {
    grid-column: 1 / -1;
}

@media screen and (min-width: 992px) {
    .productCat__sidebar {
        height: 100%;
    }
    .productCat__sidebarCard {
        position: sticky;
        top: 150px;
    }
}

/* karta produktu na liście (bestsellers) */
.bestsellers__card {
    display: block;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 20px;
    padding: 10px;
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.3s ease;
    background: rgba(255, 255, 255, .06);
}

@media screen and (min-width: 992px) {
    .bestsellers__card:hover {
        box-shadow: 0 6px 24px rgba(0,0,0,0.25);
    }
    .bestsellers__card:hover .bestsellers__img {
        transform: scale(1.03);
    }
}

.bestsellers__imgWrap {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 10px;
}

.bestsellers__img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 14px;
    transition: transform 0.4s ease;
}

.bestsellers__info {
    padding: 4px 6px 6px;
}

.bestsellers__name {
    font-size: 16px;
    font-weight: 400;
    color: #fff;
    margin: 0 0 10px 0;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, .18);
    font-family: var(--txtHeader);
}

.bestsellers__price,
.bestsellers__price .woocommerce-Price-amount {
    font-size: 16px;
    font-weight: 600;
    color: #ef6a2c;
}

.bestsellers__price {
    padding-top: 8px;
}

.bestsellers__badge {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 2;
    background-color: #ef6a2c;
    color: #000;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 4px 10px;
    border-radius: 4px;
}

/* cena promocyjna (promoSlider__price używana w szablonach) */
.promoSlider__price del {
    color: rgba(255, 255, 255,.5);
    font-size: 13px;
    margin-right: 4px;
}

.promoSlider__price ins {
    text-decoration: none;
    font-weight: 600;
    color: #fff;
}

.promoSlider__price .woocommerce-price-suffix {
    display: none;
}

/* ---------- POJEDYNCZY PRODUKT (single-product.php) ---------- */

.single-product .woocommerce-tabs.wc-tabs-wrapper {
    display: none;
}

.single-product input[type=number] {
    border: 1px solid rgba(255, 255, 255, .18) !important;
    color: #fff !important;
    background: transparent !important;
}

.singleProduct__imgCol {
    position: relative;
}

.singleProduct__img {
    width: 100%;
    height: auto;
    display: block;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 20px;
    object-fit: contain;
}

.singleProduct__badge {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 2;
    background-color: #ef6a2c;
    color: #000;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 6px 14px;
    border-radius: 4px;
}

.singleProduct__title {
    font-size: 30px;
    line-height: 38px;
    font-weight: 400;
    color: #fff;
    margin-bottom: 16px;
}

.singleProduct__shortDesc {
    font-size: 15px;
    line-height: 1.6;
    color: #d2d2d2;
}

.singleProduct__price {
    font-size: 34px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 6px;
}

.singleProduct__price del {
    color: rgba(255, 255, 255,.5);
    font-size: 16px;
    font-weight: 400;
}

.singleProduct__price ins {
    text-decoration: none;
    color: #fff;
    font-size: 34px !important;
}

.singleProduct__minPrice {
    font-size: 12px;
    color: rgba(255, 255, 255,.6);
    margin-bottom: 20px;
}

.singleProduct__addToCart {
    margin-bottom: 28px;
}

.singleProduct__addToCart .quantity {
    margin-right: 12px;
}

.singleProduct__benefits {
    margin-bottom: 20px;
    margin-top: 20px;
    padding: 20px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, .18);
}

.singleProduct__benefit {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
}

.singleProduct__benefitIconWrap {
    width: 48px;
    height: 48px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255,.3);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.singleProduct__benefitIcon {
    width: 28px;
    height: 28px;
    filter: brightness(0) invert(1);
}

.singleProduct__benefitText {
    font-size: 12px;
    color: #d2d2d2;
    line-height: 1.4;
    margin: 0;
}

.singleProduct__faq {
    border-top: 1px solid rgba(255, 255, 255, .18);
    padding-top: 4px;
}

.singleProduct__faqItem {
    border-bottom: 1px solid rgba(255, 255, 255, .18);
}

.singleProduct__faqQ {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 0;
    cursor: pointer;
}

.singleProduct__faqIconWrap {
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, .08);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.singleProduct__faqIcon {
    width: 18px;
    height: 18px;
    filter: brightness(0) invert(1);
}

.singleProduct__faqQTxt {
    flex: 1;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
}

.singleProduct__faqArrow {
    width: 16px;
    height: 16px;
    filter: brightness(0) invert(1);
    transform: rotate(90deg);
    transition: transform 0.3s ease;
}

.singleProduct__faqItem.is-open .singleProduct__faqArrow {
    transform: rotate(-90deg);
}

.singleProduct__faqA {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
    font-size: 14px;
    line-height: 1.6;
    padding: 0 0 0 48px;
    color: #d2d2d2;
}

.singleProduct__faqItem.is-open .singleProduct__faqA {
    padding-bottom: 14px;
}

.singleProduct__descContent h2 {
    margin-bottom: 20px;
}

@media screen and (max-width: 1000px) {
    .singleProduct {
        padding-top: 40px !important;
    }
    .singleProduct__title {
        font-size: 25px !important;
        line-height: 33px !important;
    }
}

/* warianty produktu */
.variations_form .variations {
    width: 100%;
    border: none;
    border-collapse: collapse;
    margin-bottom: 0 !important;
}

.variations_form .variations tbody,
.variations_form .variations tr {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 14px;
}

.variations_form .variations th.label {
    padding: 0 0 6px 0;
    text-align: left;
}

.variations_form .variations th.label label {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #ef6a2c;
}

.variations_form .variations td.value {
    padding: 0;
}

.reset_variations {
    display: none !important;
}

.spVariantBtns {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.spVariantBtn {
    padding: 7px 20px;
    border: 1px solid rgba(255, 255, 255,.3);
    border-radius: 30px;
    background: transparent;
    color: #d2d2d2;
    font-size: 14px;
    font-family: inherit;
    cursor: pointer;
    transition: border-color .18s, background .18s, color .18s;
    line-height: 1.4;
}

.spVariantBtn:hover {
    border-color: #ef6a2c;
    color: #fff;
}

.spVariantBtn.is-selected {
    border-color: #ef6a2c;
    background: #ef6a2c;
    color: #000;
}

.woocommerce-variation-price {
    margin-bottom: 10px;
}

.woocommerce-variation-price .price {
    font-size: 34px;
    font-weight: 700;
    color: #fff !important;
}

/* przyklejony pasek na dole (telefon/scroll) */
.spStickyBar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 999;
    background: #141414;
    border-top: 1px solid rgba(255, 255, 255, .18);
    box-shadow: 0 -4px 24px rgba(0,0,0,0.25);
    padding: 12px 0;
    transform: translateY(110%);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}

.spStickyBar.is-visible {
    transform: translateY(0);
    pointer-events: auto;
}

.spStickyBar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.spStickyBar__title {
    font-weight: 400;
    font-size: 16px;
    color: #fff;
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: var(--txtHeader);
}

.spStickyBar__right {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

.spStickyBar__price ins {
    text-decoration: none;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
}

.spStickyBar__price del {
    font-size: 13px;
    opacity: 0.55;
    margin-right: 4px;
}

.spStickyBar.is-visible .woocommerce-Price-amount.amount {
    color: #fff;
    font-weight: 600;
    font-size: 18px;
}

.spStickyBar__btn {
    background: #ef6a2c;
    color: #000;
    border: none;
    border-radius: 10px;
    padding: 10px 26px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: opacity 0.2s, transform 0.15s;
    white-space: nowrap;
}

.spStickyBar__btn:hover {
    opacity: .85;
    transform: translateY(-1px);
}

body:has(.stock.out-of-stock) #spStickyBar {
    display: none !important;
}

@media (max-width: 576px) {
    .spStickyBar__title { display: none; }
    .spStickyBar__right { width: 100%; justify-content: space-between; }
}

/* linki w regulaminie / tekstach txt-full */
.txtFull__desc a {
    color: #d2d2d2;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.txtFull__desc a:hover {
    color: #fff;
}

/* ceny w koszyku i zamówieniu (globalnie były szare) */
.woocommerce table.shop_table .woocommerce-Price-amount,
.woocommerce table.shop_table .woocommerce-Price-amount bdi,
.cart_totals .woocommerce-Price-amount,
.cart_totals .woocommerce-Price-amount bdi,
#shipping_method .woocommerce-Price-amount,
#shipping_method .woocommerce-Price-amount bdi {
    color: #ef6a2c !important;
}
.woocommerce table.shop_table .order-total .woocommerce-Price-amount,
.woocommerce table.shop_table .order-total .woocommerce-Price-amount bdi {
    color: #fff !important;
}

/* checkboxy i radio w zamówieniu (były niewidoczne na ciemnym tle) */
.woocommerce-checkout input[type="checkbox"],
.woocommerce-checkout input[type="radio"],
.woocommerce-cart input[type="radio"] {
    border-color: rgba(255, 255, 255,.6) !important;
    accent-color: #ef6a2c;
}
.woocommerce-checkout input[type="checkbox"]:checked,
.woocommerce-checkout input[type="radio"]:checked,
.woocommerce-cart input[type="radio"]:checked {
    background-color: #ef6a2c !important;
    border-color: #ef6a2c !important;
}

/* badge w koszyku i zamówieniu: beżowy, bez kropki */
.cart-section .aboutStart__label,
.cart-section .aboutStart__label span,
.checkout-section .aboutStart__label,
.checkout-section .aboutStart__label span {
    color: #ef6a2c !important;
}

/* koszyk w nagłówku: kwota i ikona białe */
#header .woocommerce-Price-amount,
#header .woocommerce-Price-amount bdi,
#header .woocommerce-Price-currencySymbol,
#header .ct-cart-item .ct-label {
    color: #fff !important;
}
#header .ct-cart-item .ct-icon,
#header .ct-cart-item .ct-icon path {
    fill: #fff !important;
}

/* ceny w zamówieniu białe */
table.woocommerce-checkout-review-order-table .woocommerce-Price-amount,
table.woocommerce-checkout-review-order-table .woocommerce-Price-amount bdi,
table.woocommerce-checkout-review-order-table .woocommerce-Price-currencySymbol,
#shipping_method .woocommerce-Price-amount,
#shipping_method .woocommerce-Price-amount bdi,
#shipping_method .woocommerce-Price-currencySymbol {
    color: #fff !important;
}

/* zaznaczona metoda płatności: obwódka kółka biała */
#payment .payment_methods li.wc_payment_method>input[type=radio]:first-child:checked+label:before,
#payment .payment_methods li.woocommerce-PaymentMethod>input[type=radio]:first-child:checked+label:before {
    border-color: #fff !important;
}

/* zgody pod płatnością */
.woocommerce-privacy-policy-text p {
    color: #d2d2d2 !important;
}
.woocommerce-terms-and-conditions-checkbox-text {
    color: #fff !important;
    display: inline-block;
    margin-top: 2px !important;
}

/* ikony w nagłówku: białe także na hover */
#header .ct-cart-item:hover svg,
#header .ct-social-box a:hover svg,
#header .ct-color-switch:hover svg,
#header .ct-header-search:hover svg,
#header .ct-account-item:hover svg,
#header .ct-header-trigger:hover svg,
#header .ct-header-compare:hover svg,
#header .ct-header-wishlist:hover svg,
#header .ct-language-switcher:hover svg,
#header .ct-cart-item:hover svg path {
    fill: #fff !important;
}
#header .ct-cart-item:hover .ct-label,
#header .ct-cart-item:hover .woocommerce-Price-amount,
#header .ct-cart-item:hover bdi {
    color: #fff !important;
}

/* zamówienie: wszystkie ceny w podsumowaniu białe */
#order_review .woocommerce-Price-amount,
#order_review .woocommerce-Price-amount bdi,
#order_review .amount,
#order_review .product-total,
#order_review .cart-subtotal td,
#order_review .order-total td,
#order_review .includes_tax {
    color: #fff !important;
}

/* opis metody płatności (przelew) beżowy */
.wc_payment_method .payment_box,
.wc_payment_method .payment_box p,
.payment_method_bacs .payment_box p {
    color: #d2d2d2 !important;
}

/* checkbox regulaminu: bez pseudo-elementu before */
.woocommerce-form__label-for-checkbox .woocommerce-form__input-checkbox::before,
.woocommerce-form__label-for-checkbox input.input-checkbox::before {
    display: none !important;
    content: none !important;
}

/* regulamin rozwijany na stronie zamówienia (klik w "warunki i zasady") */
#payment .woocommerce-terms-and-conditions {
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, .04) !important;
    padding: 20px 24px !important;
    margin: 16px 0 16px 0 !important;
    max-height: 320px !important;
    overflow-y: auto !important;
    color: #d2d2d2 !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
    scrollbar-width: thin;
    scrollbar-color: #ef6a2c rgba(255, 255, 255, .08);
}
#payment .woocommerce-terms-and-conditions::-webkit-scrollbar {
    width: 6px;
}
#payment .woocommerce-terms-and-conditions::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, .08);
    border-radius: 10px;
}
#payment .woocommerce-terms-and-conditions::-webkit-scrollbar-thumb {
    background: #ef6a2c;
    border-radius: 10px;
}
#payment .woocommerce-terms-and-conditions .txtFull {
    padding: 0 !important;
    margin: 0 !important;
}
#payment .woocommerce-terms-and-conditions .txtFull .container {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}
#payment .woocommerce-terms-and-conditions .txtFull .gsap-reveal-item {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
}
#payment .woocommerce-terms-and-conditions .txtFull h1 {
    font-size: 24px !important;
    line-height: 1.2 !important;
    text-align: left !important;
    margin: 0 0 14px 0 !important;
    color: #fff !important;
}
#payment .woocommerce-terms-and-conditions .txtFull__desc h2 {
    font-size: 21px !important;
    line-height: 1.3 !important;
    color: #fff !important;
    margin: 18px 0 6px 0 !important;
}
#payment .woocommerce-terms-and-conditions .txtFull__desc,
#payment .woocommerce-terms-and-conditions .txtFull__desc li,
#payment .woocommerce-terms-and-conditions .txtFull__desc p {
    font-size: 13px !important;
    line-height: 1.7 !important;
    color: #d2d2d2 !important;
}
#payment .woocommerce-terms-and-conditions .txtFull__desc ul {
    padding-left: 18px !important;
    margin: 6px 0 !important;
}
#payment .woocommerce-terms-and-conditions .txtFull__desc li {
    margin-bottom: 4px !important;
}

/* licznik produktów przy koszyku w nagłówku */
[class*=ct-dynamic-count] {
    color: #000 !important;
    background: #fff !important;
}

/* ================================================================
   WOOCOMMERCE: KONIEC
   ================================================================ */

/* ============================================================
   WOOCOMMERCE: STRONA PRODUKTU (single-product.php, usługi projektowe)
   ============================================================ */

.spPage .spHero__notices:empty { display: none; }
.spPage .spHero__notices .woocommerce-message { margin-bottom: 30px !important; }

.spHero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 60px;
    align-items: start;
}
@media screen and (max-width: 992px) {
    .spHero__grid { grid-template-columns: 1fr; gap: 30px; }
}

/* zdjęcie: przyklejone od 992px (kolumna musi mieć pełną wysokość wiersza) */
.spHero__imgCol {
    align-self: stretch;
}
.spHero__imgSticky {
    position: relative;
}
@media screen and (min-width: 992px) {
    .spHero__imgSticky {
        position: sticky;
        top: 110px;
    }
}
.spHero__img {
    display: block;
    width: 100%;
    max-height: 560px;
    object-fit: cover;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, .18);
}
@media screen and (max-width: 992px) {
    .spHero__img { height: auto; min-height: 0; aspect-ratio: 4 / 5; max-height: 320px; }
}
.spHero__saleBadge {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 2;
    background: #ef6a2c;
    color: #000;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: 100px;
}

/* prawa kolumna */
.spHero__area { color: #d2d2d2 !important; }
.spHero__title {
    color: #fff !important;
    font-size: 44px !important;
    line-height: 1.1 !important;
    margin-bottom: 14px !important;
}
@media screen and (max-width: 768px) {
    .spHero__title { font-size: 30px !important; }
}
.spHero__tagline {
    color: #d2d2d2;
    font-size: 19px;
    line-height: 1.5;
    margin-bottom: 22px;
}
.spHero__points,
.spHero__trust {
    list-style: none;
    padding: 0;
    margin: 0;
}
.spHero__points li,
.spHero__trust li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #d2d2d2;
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 10px;
}
.spPage .spCheck {
    flex-shrink: 0;
    margin-top: 3px;
    color: #d2d2d2;
}

.spHero__priceBox {
    margin: 26px 0 22px;
    padding: 22px 0;
    border-top: 1px solid rgba(255, 255, 255, .18);
    border-bottom: 1px solid rgba(255, 255, 255, .18);
}
.spHero__price,
.spHero__price .woocommerce-Price-amount,
.spHero__price bdi {
    color: #fff !important;
    font-size: 38px !important;
    font-weight: 700 !important;
    line-height: 1.1;
}
.spHero__price del,
.spHero__price del .woocommerce-Price-amount,
.spHero__price del bdi {
    color: rgba(255, 255, 255,.55) !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    margin-right: 8px;
}
.spHero__price ins { text-decoration: none; }
.spHero__save {
    display: inline-block;
    margin: 10px 0 0;
    padding: 4px 12px;
    border-radius: 100px;
    background: rgba(255, 255, 255, .12);
    color: #d2d2d2;
    font-size: 13px;
    font-weight: 600;
}
.spHero__save .woocommerce-Price-amount,
.spHero__save bdi { color: #ef6a2c !important; font-size: 13px !important; }
.spHero__lowest {
    margin: 10px 0 0;
    color: rgba(255, 255, 255,.7);
    font-size: 12px;
}

/* ilość + przycisk */
.spHero__cart form.cart {
    display: flex !important;
    gap: 12px;
    align-items: stretch;
    margin: 0 !important;
}
.spHero__cart .quantity { margin-right: 0 !important; }
.spHero__cart .single_add_to_cart_button {
    flex: 1;
    min-height: 54px;
    font-size: 17px !important;
    box-shadow: rgba(255, 255, 255,.32) 0px 8px 26px;
}
.spHero__safe .loesSafePay {
    justify-content: flex-start !important;
    margin: 14px 0 22px !important;
}
.spHero__trust {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 20px;
}
.spHero__trust li { font-size: 14px; }
@media screen and (max-width: 576px) {
    .spHero__trust { grid-template-columns: 1fr; }
}

/* FAQ w prawej kolumnie */
.spHero__faq { margin-top: 34px; }
.spHero__faqTitle {
    color: #fff !important;
    font-size: 24px !important;
    margin-bottom: 10px !important;
}
.spPage .singleProduct__faqQ { justify-content: space-between; padding: 16px 0; }
.spPage .singleProduct__faqQTxt { font-size: 15px; }
.spFaq__plus {
    position: relative;
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}
.spFaq__plus::before,
.spFaq__plus::after {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    width: 14px;
    height: 2px;
    background: #ef6a2c;
    transition: transform .3s ease;
}
.spFaq__plus::after { transform: rotate(90deg); }
.singleProduct__faqItem.is-open .spFaq__plus::after { transform: rotate(0deg); }
.spPage .singleProduct__faqA { padding: 0; }
.spFaq__aInner { padding-bottom: 16px; color: #d2d2d2; font-size: 14px; line-height: 1.7; }
.spFaq__aInner p { margin: 0; }

/* sekcje: wspólne */
.spSection__head { max-width: 760px; margin: 0 auto 40px; }
.spSection__h2 {
    color: #fff !important;
    font-size: 40px !important;
    line-height: 1.15 !important;
}
@media screen and (max-width: 768px) {
    .spSection__h2 { font-size: 28px !important; }
}

/* 02 o projekcie */
.spAbout__box,
.spRemote__box {
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 10px;
    padding: 50px;
    background: rgba(255, 255, 255, .06) !important;
}
@media screen and (max-width: 768px) {
    .spAbout__box,
    .spRemote__box { padding: 30px 20px; }
}
.spAbout__desc p,
.spRemote__desc p {
    color: #d2d2d2;
    font-size: 16px;
    line-height: 1.75;
    margin-bottom: 16px;
}

/* 03 co dostajesz */
.spGet__grid,
.spWhy__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}
@media screen and (max-width: 1200px) { .spGet__grid, .spWhy__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media screen and (max-width: 576px)  { .spGet__grid, .spWhy__grid { grid-template-columns: 1fr; } }

.spGet__card,
.spWhy__card {
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 10px;
    padding: 28px;
    background: rgba(255, 255, 255, .06) !important;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.spGet__num {
    color: rgba(255, 255, 255,.6);
    font-size: 14px;
    letter-spacing: .1em;
}
.spGet__title,
.spWhy__title {
    color: #fff !important;
    font-size: 19px !important;
    line-height: 1.3 !important;
    margin: 0 !important;
}
.spGet__desc,
.spWhy__desc {
    color: #d2d2d2;
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}
.spGet__card--cta {
    background: #ef6a2c !important;
    border-color: #ef6a2c !important;
    justify-content: center;
    align-items: flex-start;
}
.spGet__ctaLabel {
    color: #000;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin: 0;
}
.spGet__ctaPrice,
.spGet__ctaPrice .woocommerce-Price-amount,
.spGet__ctaPrice bdi {
    color: #000 !important;
    font-size: 28px !important;
    font-weight: 700 !important;
}
.spGet__ctaPrice del,
.spGet__ctaPrice del .woocommerce-Price-amount,
.spGet__ctaPrice del bdi {
    color: rgba(0, 0, 0,.5) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
}
.spGet__ctaPrice ins { text-decoration: none; }
.spPage .spGet__ctaBtn {
    background: #000;
    color: #d2d2d2 !important;
    box-shadow: none;
    font-size: 16px;
    padding: 12px 30px;
    margin-top: 6px;
}
.spPage .spGet__ctaBtn:hover { color: #fff !important; }

/* 05 dlaczego warto */
.spWhy__icon {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255,.3);
    background: rgba(255, 255, 255, .08);
    display: flex;
    align-items: center;
    justify-content: center;
}
.spWhy__icon .spCheck { margin: 0; }

/* 04 etapy: zdjęcia 4:3 */
.spPage .spSteps .hbEtapy__cImg {
    width: 220px;
    height: 165px;
    object-fit: cover;
}
@media (max-width: 768px) {
    .spPage .spSteps .hbEtapy__cImg { width: 100%; height: 200px; }
}

/* 06 współpraca online */
.spRemote__img {
    width: 100%;
    height: 460px;
    object-fit: cover;
    border-radius: 10px;
}
@media screen and (max-width: 768px) {
    .spRemote__img { height: 280px; }
}

/* 07 inne produkty */
.spRelated__img {
    height: 280px;
    object-fit: cover;
}

/* pasek zakupu na dole */
.spStickyBar__btn {
    display: inline-block;
    text-decoration: none;
    color: #000 !important;
}

/* waluta w cenach na stronie produktu w kolorze kwoty */
.spPage .woocommerce-Price-currencySymbol,
.spStickyBar .woocommerce-Price-currencySymbol {
    color: inherit !important;
}
.spStickyBar__price ins,
.spStickyBar__price ins .woocommerce-Price-amount,
.spStickyBar__price ins bdi {
    color: #fff !important;
}
.spStickyBar__price del,
.spStickyBar__price del .woocommerce-Price-amount,
.spStickyBar__price del bdi {
    color: rgba(255, 255, 255,.55) !important;
    font-size: 13px !important;
}

/* podpunkty w górnej części: beżowe (globalne style dawały szary) */
.spHero__points li span,
.spHero__trust li span {
    color: #d2d2d2 !important;
}
.spHero__priceBox,
.spHero__price {
    text-align: left !important;
}
.spHero__cart form.cart { flex-wrap: wrap; }
.spHero__cart .single_add_to_cart_button {
    flex: 1 1 220px !important;
    width: auto !important;
}
/* cena: Blocksy owija ją w span.sale-price (flex), na telefonie układał w kolumnę */
.spHero__price .sale-price {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    justify-content: flex-start !important;
    align-items: baseline !important;
    gap: 4px 12px;
    text-align: left !important;
}
.spHero__price .sale-price > ins { order: 1; margin: 0 !important; }
.spHero__price .sale-price > del { order: 2; margin: 0 !important; }

/* poprawki strony produktu (10.10 wieczór) */
.spStickyBar__title { font-size: 22px !important; }
.spPage .spFaq__aInner p { color: #d2d2d2 !important; }
.spHero__faqTitle { font-size: 28px !important; }
.spGet__title,
.spWhy__title { font-size: 22px !important; }
.spAbout__img {
    display: block;
    width: 100%;
    height: 360px;
    object-fit: cover;
    border-radius: 10px;
}
@media screen and (max-width: 768px) {
    .spAbout__img { height: 240px; }
}
/* dopisek "brutto" przy cenie (globalnie sufiks jest ukryty) */
.spHero__price .woocommerce-price-suffix,
.spGet__ctaPrice .woocommerce-price-suffix {
    display: inline-block !important;
    color: #ef6a2c !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    margin-left: 4px;
}
.spGet__ctaPrice .woocommerce-price-suffix { color: #000 !important; }
/* "brutto" w jednej linii z ceną */
.spHero__price {
    display: flex !important;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 10px;
}
/* ilość i przycisk w jednym rzędzie (Blocksy: .ct-cart-actions) */
.spHero__cart .ct-cart-actions {
    flex: 1 1 100% !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    width: 100% !important;
}
.spHero__cart .ct-cart-actions .single_add_to_cart_button {
    flex: 1 1 auto !important;
    width: auto !important;
    margin: 0 !important;
}

/* współpraca online: podpunkty */
.spRemote__points {
    list-style: none;
    padding: 0;
    margin: 0;
}
.spRemote__points li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .18);
}
.spRemote__points li:first-child { padding-top: 0; }
.spRemote__points li span {
    color: #d2d2d2 !important;
    font-size: 16px;
    line-height: 1.6;
}

/* karty produktów (Zobacz też) */
.bestsellers__card { padding: 20px !important; }
.bestsellers__name { font-size: 20px !important; }

/* SKLEP: nagłówek */
.shopIntro__h1 { font-weight: inherit; }
.shopIntro__desc p {
    color: #d2d2d2;
    font-size: 17px;
    line-height: 1.75;
    margin-bottom: 14px;
    max-width: 760px;
}

/* STRONA PODZIĘKOWANIA: następny krok + cal.com */
.tyPage__hero { margin-bottom: 30px; }
.tyPage__sub { font-size: 19px !important; color: #fff !important; }
.tyPage__next {
    max-width: 1000px;
    margin: 0 auto;
    padding: 40px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 20px;
    background: rgba(255, 255, 255, .06);
}
.tyPage__badge { color: #ef6a2c !important; border-color: #ef6a2c !important; }
.tyPage__badge span { color: #ef6a2c !important; font-weight: 700; }
.tyPage__nextDesc {
    text-align: center;
    color: #d2d2d2;
    font-size: 16px;
    line-height: 1.7;
    max-width: 680px;
    margin: 0 auto 30px;
}
.tyPage__cal {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    min-height: 620px;
}
.tyPage__cal > div { min-height: 620px; }
.tyPage__hooks { display: none; }
@media screen and (max-width: 768px) {
    .tyPage__next { padding: 24px 14px; }
}

/* zamówienie: etykiety pól */
.woocommerce-checkout label {
    display: flex !important;
    margin-top: 10px !important;
}

/* ============================================================
   HAPPY HOUSE: KOLORY (2026-10-12)
   tło #000 | sekcje strony głównej na przemian #000 / #0d0d0d
   linie rgba(255,255,255,.1) | akcent: gradient z logo
   ============================================================ */

:root {
    --hhGradient: linear-gradient(90deg, #7a0f55 0%, #c8175a 50%, #ef6a2c 100%);
}

/* Header czarny (na stronie głównej przezroczysty nad wideo, po przewinięciu czarny) */
#header,
#header.bg-header,
.page-id-8924 #header.bg-header {
    background: #000;
    border-bottom-color: rgba(255, 255, 255, .1);
}
.tax-rodzaj-portfolio .ct-header {
    background-color: #000 !important;
}
.tax-rodzaj-portfolio .ct-header .default-logo {
    filter: none;
}

/* Strona główna: 01 hero i 02 liczby czarne, od 03 linia u góry i tło na przemian */
.hbBlock > section {
    background-color: #000;
}
.hbBlock > section:nth-of-type(n+2) {
    border-top: 1px solid rgba(255, 255, 255, .1) !important;
}
.hbBlock > section:nth-of-type(n+2):nth-of-type(even) {
    background-color: #0d0d0d !important;
}
.hbBlock > section:nth-of-type(n+2):nth-of-type(odd) {
    background-color: #000 !important;
}

/* Główny przycisk: gradient z logo, biały tekst */
.hbBtnLight,
.hbBlock section .hbBtnLight {
    background: var(--hhGradient) !important;
    color: #fff !important;
    box-shadow: rgba(200, 23, 90, .30) 0px 8px 26px;
}
.hbBtnLight:hover,
.hbBlock section .hbBtnLight:hover {
    color: #fff !important;
    opacity: 1;
}
@media screen and (min-width: 992px) {
    .hbBtnLight:hover {
        box-shadow: rgba(239, 106, 44, .40) 0px 10px 32px;
    }
}

/* ============================================================
   HAPPY HOUSE: STRONA GŁÓWNA, NOWE ELEMENTY (2026-10-12)
   akcent #ef6a2c, gradient --hhGradient
   ============================================================ */

.hbBlock { overflow-x: clip; }
.hbBlock > section:not(.hbHero) { position: relative; }
.hbBlock > section:not(.hbHero) > .container { position: relative; z-index: 2; }

/* poświata w tle sekcji, wystaje poza ekran */
.hhGlow {
    position: absolute;
    width: 620px;
    height: 620px;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    background: radial-gradient(circle, rgba(239, 106, 44, .20) 0%, rgba(200, 23, 90, .09) 42%, rgba(0, 0, 0, 0) 70%);
    filter: blur(30px);
    top: 10%;
}
.hhGlow--r { right: -320px; }
.hhGlow--l { left: -320px; top: 35%; }
@media screen and (max-width: 992px) {
    .hhGlow { width: 380px; height: 380px; }
    .hhGlow--r { right: -220px; }
    .hhGlow--l { left: -220px; }
}

/* ikona check (SVG, kolor z currentColor) */
.hhCheck { color: #ef6a2c; flex-shrink: 0; }

/* 01 HERO: podpunkty pod H1 */
.hhPoints { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.hhPoints__item { display: flex; align-items: center; gap: 12px; color: #fff; font-size: 17px; line-height: 1.4; }
.hbHero__grid { grid-template-columns: 1fr !important; }
.hbHero__left { max-width: 900px; }

/* 02 LICZBY */
.hbStats__num { color: #fff; }
.hbStats__label { color: #ef6a2c !important; }

/* 06b STANDARDY */
.hhStd__desc { max-width: 720px; color: rgba(255, 255, 255, .78); }
.hhStd__card {
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 12px;
    padding: 30px 26px;
    height: 100%;
}
.hhStd__card--featured {
    border-color: rgba(239, 106, 44, .7);
    background: linear-gradient(180deg, rgba(239, 106, 44, .10) 0%, rgba(255, 255, 255, .03) 100%);
}
.hhStd__label {
    position: absolute; top: -13px; left: 24px;
    background: var(--hhGradient); color: #fff;
    font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
    padding: 5px 12px; border-radius: 30px;
}
.hhStd__ttl { font-size: 28px; color: #fff; }
.hhStd__txt { color: rgba(255, 255, 255, .72); font-size: 15px; line-height: 1.6; margin: 0; }
.hhStd__line { border: none; border-top: 1px solid rgba(255, 255, 255, .1); margin: 0 0 18px; }
.hhStd__items { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.hhStd__items li { display: flex; align-items: flex-start; gap: 10px; color: rgba(255, 255, 255, .88); font-size: 15px; line-height: 1.45; }
.hhStd__items .hhCheck { width: 20px; height: 20px; margin-top: 1px; }

.hhStdTable__title { font-size: clamp(26px, 2.6vw, 36px); color: #fff; }
.hhStdTable__wrap { border: 1px solid rgba(255, 255, 255, .1); border-radius: 12px; overflow: hidden; }
.hhStdTable__row { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; border-top: 1px solid rgba(255, 255, 255, .08); }
.hhStdTable__row:nth-child(even) { background: rgba(255, 255, 255, .025); }
.hhStdTable__row--head { border-top: none; background: rgba(239, 106, 44, .12) !important; }
.hhStdTable__cell { padding: 14px 16px; display: flex; align-items: center; justify-content: center; text-align: center; color: rgba(255, 255, 255, .88); font-size: 15px; }
.hhStdTable__row--head .hhStdTable__cell { color: #fff; font-weight: 700; font-size: 15px; }
.hhStdTable__cell--name { justify-content: flex-start; text-align: left; }
.hhStdTable__yes .hhCheck { width: 22px; height: 22px; }
.hhStdTable__no { color: rgba(255, 255, 255, .28); font-size: 22px; line-height: 1; }
.hhStdTable__note { color: rgba(255, 255, 255, .55); font-size: 13px; }
@media screen and (max-width: 768px) {
    .hhStdTable__row { grid-template-columns: 1.6fr 1fr 1fr 1fr; }
    .hhStdTable__cell { padding: 10px 6px; font-size: 12px; }
    .hhStdTable__row--head .hhStdTable__cell { font-size: 11px; }
}

/* 08 ETAPY: timeline po lewej */
.hhTl { position: relative; padding-left: 74px; }
.hhTl__line { position: absolute; left: 24px; top: 8px; bottom: 8px; width: 2px; background: rgba(255, 255, 255, .12); }
.hhTl__fill { position: absolute; top: 0; left: 0; width: 100%; height: 0; background: var(--hhGradient); background: linear-gradient(180deg, #c8175a 0%, #ef6a2c 100%); transition: height .12s linear; }
.hhTl .stepsSticky__box { position: relative; }
.hhTl__dot {
    position: absolute; left: -74px; top: 22px;
    width: 50px; height: 50px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: #000; border: 1px solid rgba(255, 255, 255, .2);
    color: #fff; font-family: var(--txtHeader); font-size: 19px;
    transition: all .3s ease-out; z-index: 2;
}
.hhTl__dot.is-active { border-color: #ef6a2c; background: var(--hhGradient); box-shadow: 0 0 24px rgba(239, 106, 44, .45); }
@media screen and (max-width: 576px) {
    .hhTl { padding-left: 56px; }
    .hhTl__line { left: 18px; }
    .hhTl__dot { left: -56px; width: 38px; height: 38px; font-size: 15px; }
}

/* 09 TECHNOLOGIA */
.hbTech__img { width: 100%; height: 680px; object-fit: cover; border-radius: 12px; display: block; }
.hbTech__desc, .hbTech__desc p { color: rgba(255, 255, 255, .78); }
.hbTech__specCard { background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .1); border-radius: 10px; padding: 20px; }
.hbTech__specCard h4 { font-size: 22px; color: #fff; margin-bottom: 6px; }
.hbTech__specCard p { font-size: 14px; color: rgba(255, 255, 255, .7); line-height: 1.6; margin: 0; }
@media screen and (max-width: 992px) { .hbTech__img { height: 420px; } }

/* 10 CO NAS WYRÓŻNIA: tabela */
.hbCompare__desc { max-width: 760px; }
.hbCompare__desc, .hbCompare__desc p { color: rgba(255, 255, 255, .78); }
.hbCompare { border: 1px solid rgba(255, 255, 255, .1); border-radius: 12px; overflow: hidden; max-width: 1100px; margin: 0 auto; }
.hbCompare__row { display: grid; grid-template-columns: 2.2fr 1fr 1fr; border-top: 1px solid rgba(255, 255, 255, .08); }
.hbCompare__row--head { border-top: none; }
.hbCompare__cell { padding: 16px 18px; display: flex; align-items: center; justify-content: center; text-align: center; }
.hbCompare__cell--feature { justify-content: flex-start; text-align: left; }
.hbCompare__cell--us { background: rgba(239, 106, 44, .08); border-left: 1px solid rgba(239, 106, 44, .35); border-right: 1px solid rgba(239, 106, 44, .35); }
.hbCompare__row--head .hbCompare__cell--us { background: var(--hhGradient); border-color: transparent; }
.hbCompare__usLabel { color: #fff; font-weight: 700; font-size: 16px; }
.hbCompare__themLabel { color: rgba(255, 255, 255, .7); font-weight: 600; font-size: 15px; }
.hbCompare__featureTxt { color: #fff; font-size: 15px; margin: 0; }
.hbCompare__yes .hhCheck { width: 24px; height: 24px; }
.hbCompare__yesGrey .hhCheck { width: 24px; height: 24px; color: rgba(255, 255, 255, .45); }
.hbCompare__no { color: rgba(255, 255, 255, .3); font-size: 24px; line-height: 1; }
@media screen and (max-width: 768px) {
    .hbCompare__row { grid-template-columns: 1.7fr 1fr 1fr; }
    .hbCompare__cell { padding: 12px 6px; }
    .hbCompare__featureTxt { font-size: 13px; }
    .hbCompare__usLabel, .hbCompare__themLabel { font-size: 12px; }
}

/* HAPPY HOUSE: poprawki po podglądzie (2026-10-12) */
.hbBlock .hhPoints__item, .hbBlock .hhPoints__item span { color: #fff !important; }
.hbBlock .hhStd__items li, .hbBlock .hhStd__items li span { color: rgba(255, 255, 255, .88) !important; }
.hbBlock .hhStd__txt { color: rgba(255, 255, 255, .72) !important; }
.hbBlock .hhStd__ttl { color: #fff !important; }
.hbBlock .hbOferta .hbOferta__ctaBox {
    grid-column: 1 / -1;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 30px;
    background: linear-gradient(90deg, rgba(200, 23, 90, .14) 0%, rgba(239, 106, 44, .10) 100%);
    border-color: rgba(239, 106, 44, .35);
}
.hbBlock .hbOferta .hbOferta__ctaBox .hbOferta__ctaTitle,
.hbBlock .hbOferta .hbOferta__ctaBox .hbOferta__ctaDesc { margin-bottom: 0 !important; }
.hbBlock .hbOferta .hbOferta__ctaBox .hbOferta__ctaDesc { flex: 1; }
@media screen and (max-width: 768px) {
    .hbBlock .hbOferta .hbOferta__ctaBox { flex-direction: column; align-items: flex-start; }
}
.hbBlock .hbObszar__pill { color: #fff !important; }
/* przycisk w headerze: gradient jak hbBtnLight */
.second-btn--whiter a {
    background: var(--hhGradient) !important;
    border-color: transparent !important;
    color: #fff !important;
}

/* Realizacja: sekcja Inne projekty na ciemnym tle */
.singlePortfolio__other,
.singlePortfolio .otherPortfolio.bg-gradient {
    background: #0d0d0d !important;
    border-top: 1px solid rgba(255, 255, 255, .1) !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
}
.singlePortfolio__other .swiper-button-prev,
.singlePortfolio__other .swiper-button-next {
    background: rgba(255, 255, 255, .08) !important;
    border: 1px solid rgba(255, 255, 255, .18);
}
.singlePortfolio__other .swiper-button-next:hover,
.singlePortfolio__other .swiper-button-prev:hover { background: var(--hhGradient) !important; }
.singlePortfolio__other .swiper-pagination-progressbar { background: rgba(255, 255, 255, .12) !important; }
.singlePortfolio__other .swiper-pagination-progressbar-fill { background: var(--hhGradient) !important; }
.singlePortfolio__other .portfolio-tile__title { color: #fff; }

/* ============================================================
   HAPPY HOUSE: TYPOGRAFIA POPPINS + KOLORY TEKSTU (2026-10-12)
   gradient tylko na .hbBtnLight, reszta akcentów #ef6a2c
   ============================================================ */

/* nagłówki */
h1, h2 { font-weight: 700; }
h3, h4, h5, h6 { font-weight: 400; }
h1 { font-size: clamp(30px, 3.4vw, 50px); line-height: 1.15; text-transform: none; letter-spacing: 0; }
h2 { font-size: clamp(24px, 2.3vw, 34px); line-height: 1.25; }
.hbBlock .hbHero__h1 h1,
.hbHero__h1 h1 {
    text-transform: none !important;
    font-weight: 700 !important;
    font-size: clamp(31px, 3.6vw, 52px) !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
}
.hbBlock section h2:not(.header__opacityBig):not(.specialTxt) {
    font-size: clamp(24px, 2.3vw, 33px) !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}
.hbBlock section :is(h3, h4, h5, h6) { font-weight: 400 !important; }
.header__opacityBig {
    font-size: 44px !important;
    line-height: 1.1 !important;
    letter-spacing: 1px !important;
    font-weight: 700 !important;
}
.specialTxt { font-size: 64px !important; line-height: 1.05 !important; letter-spacing: 1px !important; font-weight: 700 !important; }
@media screen and (max-width: 576px) {
    .header__opacityBig { font-size: 28px !important; }
    .specialTxt { font-size: 34px !important; }
}

/* teksty: lekko nie białe */
p { color: #d2d2d2; }
.hbBlock section:not(.bg-light) :is(p, li),
.hbBlock section:not(.bg-light) :is(.hbProblem__desc, .hbAbout__desc, .hbWhyus__card div, .hbWyroznia__card div, .hbOpinie__desc, .hbObszar__left div),
.hbBlock .hbStats__label,
.hbStats__label,
.hbBlock .hhStd__desc, .hbBlock .hhStd__txt, .hbBlock .hhStd__items li, .hbBlock .hhStd__items li span,
.hbBlock .hbTech__desc, .hbBlock .hbTech__desc p, .hbBlock .hbTech__specCard p,
.hbBlock .hbCompare__desc, .hbBlock .hbCompare__desc p {
    color: #d2d2d2 !important;
}

/* badge: obramowanie i tekst #ef6a2c */
.hbBadge,
.hbHero .hbBadge,
.hbBlock section .hbBadge {
    border: 1px solid rgba(239, 106, 44, .45) !important;
    background: rgba(239, 106, 44, .08) !important;
}
.hbBadge span, .hbHero .hbBadge span, .hbBlock section .hbBadge span { color: #ef6a2c !important; }

/* etapy i FAQ: przejście na zdjęciu i kafelki kroków #0d0d0d */
.hbBlock :is(.hbEtapy, .hbFaq) .abs-bg-right :is(.bannerSlider__gradientBGBG--first, .bannerSlider__gradientBGBG--faq) { background: #0d0d0d !important; }
.hbBlock .hbEtapy .stepsSticky__box { background: #0d0d0d !important; }

/* gradient tylko na .hbBtnLight; tekst przycisku czarny */
.hbBtnLight,
.hbBlock section .hbBtnLight,
.hbBtnLight:hover,
.hbBlock section .hbBtnLight:hover { color: #000 !important; }
.second-btn--whiter a { background: var(--hhGradient) !important; color: #000 !important; border-color: transparent !important; }
.hhStd__label { background: #ef6a2c !important; color: #000 !important; }
.hhStd__card--featured { background: rgba(239, 106, 44, .06) !important; }
.hhTl__fill { background: #ef6a2c !important; }
.hhTl__dot.is-active { background: #ef6a2c !important; border-color: #ef6a2c !important; color: #000 !important; }
.hbCompare__row--head .hbCompare__cell--us { background: #ef6a2c !important; }
.hbCompare__row--head .hbCompare__usLabel { color: #000 !important; }
.hbBlock .hbOferta .hbOferta__ctaBox { background: rgba(239, 106, 44, .06) !important; }
.singlePortfolio__other .swiper-button-next:hover,
.singlePortfolio__other .swiper-button-prev:hover,
.singlePortfolio__other .swiper-pagination-progressbar-fill { background: #ef6a2c !important; }

/* etapy: kroki jako kafelki #0d0d0d */
.hbBlock .hbEtapy .stepsSticky__box {
    padding: 22px 26px !important;
    border: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 10px;
    margin-bottom: 16px;
}
.hbBlock .hbEtapy .hhTl__dot { top: 26px; }

/* 04 O firmie: liczby w wierszach (zamiast sekcji 02) */
.hhAboutStats { border-bottom: 1px solid rgba(255, 255, 255, .12); }
.hhAboutStats__row {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 16px 0;
    border-top: 1px solid rgba(255, 255, 255, .12);
}
.hhAboutStats__num {
    flex: 0 0 150px;
    font-family: var(--txtHeader);
    font-size: clamp(26px, 2.4vw, 36px);
    font-weight: 700;
    line-height: 1.1;
    color: #fff;
}
.hhAboutStats__label { color: #d2d2d2; font-size: 16px; line-height: 1.4; }
@media screen and (max-width: 576px) {
    .hhAboutStats__num { flex-basis: 110px; }
    .hhAboutStats__label { font-size: 14px; }
}

/* Hero H1: wyróżnione słowa gradientem z logo */
.hhGradTxt {
    background: var(--hhGradient);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

/* 2026-10-13: poprawki hero i 04 O firmie */
.hhGradTxt { background: linear-gradient(90deg, #ff5c93 0%, #ff6a3d 55%, #ffa04a 100%); -webkit-background-clip: text; background-clip: text; }
.hbHero .hbBadge, .hbBlock .hbHero .hbBadge { border-color: #fff !important; background: rgba(255, 255, 255, .06) !important; }
.hbHero .hbBadge span, .hbBlock .hbHero .hbBadge span { color: #fff !important; }
@media screen and (max-width: 576px) {
    .hbBlock .hhPoints__item, .hbBlock .hhPoints__item span { font-size: 15px; }
}
@media screen and (min-width: 993px) { .hbBlock .hbAbout .hbAbout__right { order: -1; } }
.hbBlock .hbAbout .hbAbout__imgBadge { display: none !important; }
.hhAboutStats__row { justify-content: space-between; }
.hhAboutStats__label { text-align: right; }

/* 2026-10-13: 03 Problem (podpunkty z X + 3 pionowe zdjęcia) */
.hhXList { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.hhXList__item { display: flex; align-items: center; gap: 14px; }
.hhXList__item strong { color: #fff; font-weight: 600; font-size: 17px; line-height: 1.4; }
.hhXList__icon {
    flex: 0 0 26px; width: 26px; height: 26px; border-radius: 50%;
    background: #ef6a2c; display: flex; align-items: center; justify-content: center;
}
.hhXList__icon img { width: 11px; height: 11px; filter: brightness(0); }
.hbBlock .hbProblem__outro, .hbBlock .hbProblem__outro p { color: #d2d2d2 !important; font-size: 16px; line-height: 1.7; }
.hbBlock .hbProblem__outro strong { color: #fff; }
.hhProblemImgs { align-items: start; }
.hhProblemImgs__item img { width: 100%; aspect-ratio: 2 / 3; object-fit: cover; border-radius: 10px; display: block; }
.hhProblemImgs__item--2 { margin-top: 70px; }
.hhProblemImgs__item--3 { margin-top: 30px; }
@media screen and (max-width: 768px) {
    .hhProblemImgs { gap: 10px; }
    .hhProblemImgs__item--2 { margin-top: 36px; }
    .hhProblemImgs__item--3 { margin-top: 16px; }
    .hhXList__item strong { font-size: 15px; }
}

/* 05 Realizacje i 06 Oferta: nagłówki jak w innych sekcjach */
.hbBlock .hbReal .hbReal__h2,
.hbBlock .hbOferta .hbOferta__h2 {
    color: #fff !important;
    opacity: 1 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* 05 Realizacje: metraż i rok na kafelkach */
.portfolioOneBig__imgWrap { position: relative; }
.hhRealBadges { position: absolute; top: 16px; left: 16px; display: flex; gap: 8px; z-index: 3; }
.hhRealBadges__item {
    background: rgba(0, 0, 0, .55);
    border: 1px solid rgba(255, 255, 255, .35);
    backdrop-filter: blur(8px);
    color: #fff; font-size: 13px; font-weight: 500;
    padding: 5px 12px; border-radius: 30px;
}

/* 2026-10-13: hover przycisku ghost, badge realizacji tylko po najechaniu */
@media screen and (min-width: 992px) {
    .hbBtnGhost:hover,
    .hbBlock section:not(.bg-light) .hbBtnGhost:hover,
    .hbBlock section .hbBtnGhost:hover {
        background: #fff !important;
        border-color: #fff !important;
        color: #000 !important;
    }
    .hhRealBadges { opacity: 0; transform: translateY(-6px); transition: opacity .35s ease, transform .35s ease; }
    .portfolioOneBig__link:hover .hhRealBadges,
    .portfolio-tile__link:hover .hhRealBadges { opacity: 1; transform: translateY(0); }
}
.portfolio-tile__img-container { position: relative; }

/* 2026-10-13: 05 Realizacje (lewa sticky, po prawej 2 w wierszu) */
@media screen and (min-width: 992px) {
    .hhReal__left { position: sticky; top: 120px; }
}
.hbBlock .hbReal .hhReal__item .portfolioOneBig__imgWrap { height: auto; aspect-ratio: 4 / 3; }
.hbBlock .hbReal .hhReal__item .portfolioOneBig__img { height: 100%; }

/* 06 Oferta: kafelki bez linków, overlay pomarańczowy, tekst czarny */
.hhOfCard { cursor: default; }
.hbBlock .hhOfCard .hbOferta__serviceImgWrap::after {
    background: linear-gradient(to top, #ef6a2c 0%, rgba(239, 106, 44, .85) 30%, rgba(239, 106, 44, 0) 100%);
    height: 45%;
}
@media (min-width: 992px) {
    .hbBlock .hhOfCard:hover .hbOferta__serviceImgWrap::after { height: 85%; }
}
@media (max-width: 991px) {
    .hbBlock .hhOfCard .hbOferta__serviceImgWrap::after { height: 70%; }
}
.hbBlock .hhOfCard .hbOferta__serviceTitle { color: #000 !important; font-weight: 700; font-size: 24px; }
.hbBlock .hhOfCard .hbOferta__serviceDesc { color: #1a1a1a !important; font-size: 14px; font-weight: 500; }

/* 2026-10-13: jasny gradient (jak „domy jednorodzinne”) na przyciskach i stopce */
:root { --hhGradientLight: linear-gradient(90deg, #ff5c93 0%, #ff6a3d 55%, #ffa04a 100%); }
.hhGradTxt { background: var(--hhGradientLight); -webkit-background-clip: text; background-clip: text; }
.hbBtnLight,
.hbBlock section .hbBtnLight { background: var(--hhGradientLight) !important; color: #000 !important; }
.copyrights-footer { background: var(--hhGradientLight) !important; color: #000 !important; border: none !important; }
/* FAQ: przejście na zdjęciu #000 (etapy bez zmian) */
.hbBlock .hbFaq .abs-bg-right :is(.bannerSlider__gradientBGBG--first, .bannerSlider__gradientBGBG--faq) { background: #000 !important; }

.copyrights-footer { font-weight: 700; }

/* przycisk w headerze: jasny gradient jak hbBtnLight */
.second-btn--whiter a { background: var(--hhGradientLight) !important; color: #000 !important; border-color: transparent !important; }

/* 2026-10-13: 07 Dlaczego warto (nagłówek na środku, 2 kafelki | grafika | 2 kafelki) */
.hhWhy__desc { max-width: 720px; }
.hhWhy__col { display: flex; flex-direction: column; gap: 20px; }
.hhWhy__img { width: 100%; height: auto; display: block; }
@media screen and (max-width: 992px) {
    .hhWhy__center { order: -1; max-width: 420px; margin: 0 auto; }
}
/* 08 Etapy: lista kroków na #0d0d0d */
.hbBlock .hbEtapy .stepsSticky__allBoxes { background: #0d0d0d !important; }

.hhWhy__img { mix-blend-mode: lighten; }

/* 2026-10-13 (14) Problem outro */
.hbBlock .hbProblem__outro{padding-left:20px;border-left:2px solid #ef6a2c;}

/* 2026-10-13 (15) Etapy naglowek + Technologia paski */
.hbBlock .hbEtapy .hbEtapy__h2{text-transform:none;opacity:1;color:#fff;text-align:left;}
.hbBlock .hhTechRows{display:flex;flex-direction:column;gap:14px;}
.hbBlock .hhTechRow{display:flex;align-items:center;gap:18px;padding:16px 20px;background:#141414;border:1px solid #262626;border-radius:14px;transition:border-color .3s;}
.hbBlock .hhTechRow__icon{flex:0 0 44px;width:44px;height:44px;border-radius:10px;background:rgba(239,106,44,.15);color:#ef6a2c;display:flex;align-items:center;justify-content:center;}
.hbBlock .hhTechRow__icon svg{width:22px;height:22px;}
.hbBlock .hhTechRow__txt{color:#fff;font-size:17px;font-weight:500;line-height:1.4;}

/* 2026-10-13 (17) badge mobile, Pod klucz, laur, obszar, CTA */
@media (max-width:576px){.hbBadge,.hbBadge span{font-size:11px !important;}}
.hhBrM{display:none;}
@media (max-width:576px){.hhBrM{display:inline;}}
.hbBlock .hbTech__imgWrap{position:relative;}
.hbBlock .hhAward{position:absolute;left:20px;bottom:20px;display:flex;align-items:center;gap:6px;color:#fff;padding:10px 14px;border-radius:14px;background:rgba(0,0,0,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
.hbBlock .hhAward__laurel{width:26px;height:54px;flex:0 0 auto;}
.hbBlock .hhAward__laurel.is-flip{transform:scaleX(-1);}
.hbBlock .hhAward__txt{font-size:17px;font-weight:700;line-height:1.15;text-align:center;color:#fff;}
@media (max-width:576px){.hbBlock .hhAward{left:12px;bottom:12px;}.hbBlock .hhAward__txt{font-size:14px;}.hbBlock .hhAward__laurel{width:20px;height:42px;}}
.hbBlock .hhObszar__media{display:grid;grid-template-columns:1.4fr 1fr;gap:30px;align-items:center;}
.hbBlock .hhCities{list-style:none;margin:0;padding:0;}
.hbBlock .hhCities__item{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #262626;color:#fff;font-size:18px;font-weight:500;margin:0;}
.hbBlock .hhCities__item:first-child{border-top:1px solid #262626;}
.hbBlock .hhCities__item svg{width:20px;height:20px;color:#ef6a2c;flex:0 0 auto;}
@media (max-width:576px){.hbBlock .hhObszar__media{grid-template-columns:1fr;}}
.hbCta .hbCta__box{position:relative;overflow:hidden;border-radius:20px;border:1px solid #262626;background:#0d0d0d;}
.hbCta .hhCtaBg{position:absolute;top:0;right:0;bottom:0;width:58%;}
.hbCta .hhCtaBg img{width:100%;height:100%;object-fit:cover;display:block;-webkit-mask:linear-gradient(90deg,transparent 0%,#000 45%);mask:linear-gradient(90deg,transparent 0%,#000 45%);}
.hbCta .hhCta__content{position:relative;z-index:2;max-width:560px;text-align:left;padding:60px 50px;}
.hbCta .hhCta__content .hbCta__btns{justify-content:flex-start;}
@media (max-width:992px){.hbCta .hhCtaBg{position:relative;width:100%;height:280px;}.hbCta .hhCtaBg img{-webkit-mask:linear-gradient(0deg,transparent 0%,#000 50%);mask:linear-gradient(0deg,transparent 0%,#000 50%);}.hbCta .hhCta__content{max-width:none;padding:10px 24px 40px;}}
.hbCta .hhCta__content{background:transparent !important;}
.hbCta .hhCta__content .hbCta__btns{display:flex;flex-wrap:wrap;gap:12px;}

/* 2026-10-13 (19) CTA: h2, szerokosc tresci, mobile tekst nad zdjeciem */
.hbCta .hbCta__content h2{font-size:clamp(25px,4vw,45px) !important;}
.hbCta .hhCta__content{max-width:50%;}
@media (max-width:992px){
  .hbCta .hbCta__box{display:flex;flex-direction:column;}
  .hbCta .hhCta__content{order:-1;max-width:none;padding:40px 24px 10px;}
  .hbCta .hhCtaBg img{-webkit-mask:linear-gradient(180deg,transparent 0%,#000 50%);mask:linear-gradient(180deg,transparent 0%,#000 50%);}
}

/* 2026-10-13 (20) Etapy mobile: overlay w kolorze tla sekcji */
@media (max-width:992px){
  .hbBlock .hbEtapy .stepsSticky__imgMobile::before{background:linear-gradient(180deg,#0d0d0d 0%,rgba(13,13,13,0) 50%);}
}

/* 2026-10-13 (22) tytul realizacji */
.portfolioOneBig__title{text-transform:uppercase;font-weight:700 !important;font-size:17px;}
.hbBlock .portfolioOneBig__title,.hbBlock h3.portfolioOneBig__title,.portfolioOneBig__title{text-transform:uppercase !important;font-weight:700 !important;font-size:17px !important;}

/* 2026-10-13 (23) oferta tytuly, tabela wyroznia mobile */
.hbBlock .hhOfCard .hbOferta__serviceTitle{font-size:17px !important;text-transform:uppercase;}
@media (max-width:576px){.hbBlock .hbCompare__featureTxt{font-size:12px !important;}}

/* 2026-10-14 (28) TEST: slowa w gradiencie Instrument Serif italic (do cofniecia: usun ten blok) */
.hhGradTxt{font-family:"Instrument Serif", serif !important;font-style:italic;font-weight:400 !important;font-size:1.12em;letter-spacing:0;padding-right:.08em;}

/* 2026-10-14 (30) etapy kropki */
.hbBlock .hbEtapy .hhTl__dot{font-weight:700;}

/* 2026-10-14 (31) obszar karta zdjecia */
.hbBlock .hbObszar__right{background:rgb(13 14 17) !important;}

/* 2026-10-14 (32) 12 OPINIE: wycentrowany slider */
.hbBlock .hhRev{overflow:hidden;position:relative;}
.hbBlock .hhRev__h2 h2{margin:0 auto;max-width:570px;}
.hbBlock .hhRev__swiper{overflow:visible;padding:0 0 4px;}
.hbBlock .hhRev__slide{height:auto;opacity:.45;transition:opacity .4s;}
.hbBlock .hhRev__slide.swiper-slide-active{opacity:1;}
.hbBlock .hhRev__card{height:100%;display:flex;flex-direction:column;background:rgb(13 14 17);border:1px solid #262626;border-radius:18px;padding:32px 30px;}
.hbBlock .hhRev__stars{display:flex;gap:4px;color:#fff;margin-bottom:20px;}
.hbBlock .hhRev__stars svg{width:20px;height:20px;}
.hbBlock .hhRev__desc{color:#d2d2d2;font-size:16px;line-height:1.7;flex:1;}
.hbBlock .hhRev__sep{height:1px;background:#2e2e2e;margin:24px 0 16px;}
.hbBlock .hhRev__name{color:#fff;font-weight:700;margin:0;font-size:16px;}
.hbBlock .hhRev__nav{display:flex;justify-content:center;gap:14px;margin-top:36px;}
.hbBlock .hhRev__btn{width:52px;height:52px;border-radius:50%;border:0;background:#ef6a2c;color:#000;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s,background .2s;}
.hbBlock .hhRev__btn:hover{background:#ff7d42;transform:scale(1.06);}
.hbBlock .hhRev__btn svg{width:22px;height:22px;}
@media (max-width:576px){.hbBlock .hhRev__card{padding:26px 22px;}.hbBlock .hhRev__desc{font-size:15px;}}
/* szerokosc slajdow opinii (motyw wymusza 300px na .swiper-slide) */
.hbBlock .hhRev .swiper-slide.hhRev__slide{width:74vw !important;}
@media (min-width:576px){.hbBlock .hhRev .swiper-slide.hhRev__slide{width:60vw !important;}}
@media (min-width:992px){.hbBlock .hhRev .swiper-slide.hhRev__slide{width:46vw !important;}}
@media (min-width:1400px){.hbBlock .hhRev .swiper-slide.hhRev__slide{width:37vw !important;max-width:640px;}}

/* 2026-10-14 (33) opinie: na komputerze 3 jasne na srodku + 2 przyciete po bokach */
@media (min-width:992px){.hbBlock .hhRev .swiper-slide.hhRev__slide{width:30vw !important;max-width:none;}.hbBlock .hhRev__slide.swiper-slide-prev,.hbBlock .hhRev__slide.swiper-slide-next{opacity:1;}}
@media (min-width:1200px){.hbBlock .hhRev .swiper-slide.hhRev__slide{width:26.5vw !important;}}

/* 2026-10-14 (35) FAQ: overlay zdjecia #0d0d0d */
.hbBlock .hbFaq .abs-bg-right :is(.bannerSlider__gradientBGBG--first, .bannerSlider__gradientBGBG--faq){background:#0d0d0d !important;}
@media (max-width:992px){.hbBlock .hbFaq .stepsSticky__imgMobile::before{background:linear-gradient(180deg,#0d0d0d 0%,rgba(13,13,13,0) 50%);}}

/* 2026-10-14 (36) KONFIGURATOR Happy House */
.konfigurator .konfigurator__h1{font-weight:700 !important;}
.konfigurator .konfigurator__card h2{font-weight:700 !important;}
.konfigurator .konfigurator__optTitle{font-size:19px;}
.konfigurator .konfigurator__opt:hover .konfigurator__circle{background:#ef6a2c;border-color:#ef6a2c;}
.konfigurator .konfigurator__opt.selected{background:rgba(239,106,44,.88);border-color:#ef6a2c;}
.konfigurator .konfigurator__opt.selected .konfigurator__optTitle{color:#000;}
.konfigurator .konfigurator__opt.selected .konfigurator__optDesc{color:#1a1a1a;}
.konfigurator .konfigurator__opt.selected .konfigurator__circle{background:#000;border-color:#000;}
.konfigurator .konfigurator__opt.selected .konfigurator__circle::after{background:#ef6a2c;color:#ef6a2c;}

/* 2026-10-14 (37) konfigurator: kolka, przycisk, pola, podsumowanie */
.konfigurator .konfigurator__opt.selected .konfigurator__circle::after{background:#000 !important;color:#000;}
.konfigurator .konfigurator__optTitle{font-size:17px;}
.konfigurator .konfigurator__h1{font-size:clamp(29px, 4vw, 45px) !important;}
.konfigurator .konfigurator__btnNext{background:var(--hhGradientLight) !important;color:#000 !important;border:0 !important;}
.konfigurator .wpcf7-form input[type="text"],.konfigurator .wpcf7-form input[type="email"],.konfigurator .wpcf7-form input[type="tel"],.konfigurator .wpcf7-form textarea{border:1px solid rgba(255,255,255,.1) !important;}
.konfigurator .wpcf7-form input[type="text"]:focus,.konfigurator .wpcf7-form input[type="email"]:focus,.konfigurator .wpcf7-form input[type="tel"]:focus,.konfigurator .wpcf7-form textarea:focus{border:1px solid #fff !important;}
.konfigurator .kf-field label,.konfigurator .kf-field--full label{color:#e8e8e8 !important;}
.konfigurator .konfigurator__sumRow{border-bottom:1px solid rgba(255,255,255,.1) !important;}
.konfigurator .konfigurator__sumRow:last-of-type{border-bottom:none !important;}
.konfigurator .konfigurator__summary{border:1px solid rgba(255,255,255,.1) !important;}
.konfigurator .konfigurator__sumTitle{border-bottom:1px solid rgba(255,255,255,.1) !important;}
.konfigurator .codedropz-upload-handler{border:1px solid rgba(255,255,255,.1) !important;}
.konfigurator__summary .konfigurator__sumTitle{font-weight:700 !important;}

/* 2026-10-14 (39) STRONA KONTAKT: hh-kontakt, hh-cytat, hh-mapa */
.hhPage .hhKontakt__h1{font-size:clamp(29px,4vw,45px);font-weight:700;max-width:760px;margin:0 auto;line-height:1.15;}
.hhPage .hhKontakt__grid{align-items:stretch;}
.hhPage .hhKontakt__card{background:rgb(13 14 17);border:1px solid #262626;border-radius:18px;padding:30px 26px;display:flex;flex-direction:column;gap:26px;}
.hhPage .hhKontakt__row{display:flex;gap:16px;align-items:flex-start;color:#fff;text-decoration:none;}
.hhPage .hhKontakt__ico{flex:0 0 44px;width:44px;height:44px;border-radius:10px;background:rgba(239,106,44,.15);color:#ef6a2c;display:flex;align-items:center;justify-content:center;}
.hhPage .hhKontakt__ico svg{width:20px;height:20px;}
.hhPage .hhKontakt__label{display:block;font-size:13px;color:#a8a8a8;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;}
.hhPage .hhKontakt__val{display:block;color:#fff;font-size:17px;font-weight:500;line-height:1.45;word-break:break-word;}
.hhPage a.hhKontakt__row:hover .hhKontakt__val,.hhPage .hhKontakt__soc:hover{color:#ef6a2c;}
.hhPage .hhKontakt__soc{text-decoration:none;margin-bottom:4px;}
.hhPage .hhKontakt__imgWrap{border-radius:18px;overflow:hidden;min-height:320px;}
.hhPage .hhKontakt__img{width:100%;height:100%;object-fit:cover;display:block;}
@media (max-width:992px){.hhPage .hhKontakt__imgWrap{order:-1;}}
.hhPage .hhCytat__fig{max-width:900px;margin:0 auto;}
.hhPage .hhCytat__mark{display:block;font-family:"Instrument Serif",serif;font-size:120px;line-height:.6;height:50px;background:var(--hhGradientLight);-webkit-background-clip:text;background-clip:text;color:transparent;}
.hhPage .hhCytat__quote{font-family:"Instrument Serif",serif;font-style:italic;font-size:clamp(28px,3.6vw,48px);line-height:1.25;color:#fff;margin:0 0 24px;}
.hhPage .hhCytat__author{color:#a8a8a8;font-size:14px;text-transform:uppercase;letter-spacing:2px;}
.hhPage .hhCytat__mark{font-size:140px;line-height:1;height:auto;margin-bottom:-40px;display:inline-block;padding:0 .1em;}

/* 2026-10-14 (40) Kontakt: naprzemienne sekcje jak na stronie glownej */
.hhPage .hhKontakt__h1{max-width:640px;}
.hhPage > .hhKontakt{background:#000;}
.hhPage > .hhCytat{background:#0d0d0d;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);}
.konfigurator.hhKfKontakt{background:#000;padding-top:70px !important;padding-bottom:70px !important;}
.hhPage > .hbMapa{background:#0d0d0d !important;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);}

/* 2026-10-14 (41) kontakt: mapa pod kartami */
.hhPage .hhKontakt__map{border-radius:18px;overflow:hidden;border:1px solid #262626;line-height:0;}
.hhPage .hhKontakt__map iframe{display:block;width:100%;height:450px;}
@media (max-width:576px){.hhPage .hhKontakt__map iframe{height:340px;}}
/* 2026-10-14 (42) kontakt: mapa pod zdjeciem, karty sticky */
.hhPage .hhKontakt__card{max-height:max-content;align-self:start;}
.hhPage .hhKontakt__center{display:flex;flex-direction:column;gap:16px;}
.hhPage .hhKontakt__imgWrap{min-height:0;aspect-ratio:3/2;}
.hhPage .hhKontakt__map{filter:grayscale(100%);}
.hhPage .hhKontakt__map iframe{height:380px;}
@media (min-width:992px){.hhPage .hhKontakt__card{position:sticky;top:120px;}}
@media (max-width:992px){.hhPage .hhKontakt__center{order:-1;}.hhPage .hhKontakt__imgWrap{order:0;}}
.konfigurator.hhKfKontakt{padding-bottom:0 !important;}
/* 2026-10-14 (43) kontakt mobile: zdjecie, karty, mapa na koncu; cytat */
@media (max-width:992px){.hhPage .hhKontakt__center{display:contents;}.hhPage .hhKontakt__imgWrap{order:-1 !important;}.hhPage .hhKontakt__map{order:5;}}
.hhPage .hhCytat__quote{font-size:clamp(23px,3.6vw,48px);}

/* 2026-10-14 (46) O FIRMIE: zalety + zdjecie z tekstem */
.hhPage > .hhZalety{background:#0d0d0d;border-top:1px solid rgba(255,255,255,.1);}
.hhPage .hhZalety .stepsSection .stepsSection__boxer{background:#0d0d0d;}
.hhPage .hhZalety .stepsSection.bg-light .stepsSection__boxer{background:#000;}
.hhPage .hhZalety__title{font-size:clamp(24px,2.3vw,33px);font-weight:700 !important;color:#fff;}
.hhPage .hhZalety .meetInpSteps__num{background:var(--hhGradientLight);color:#000;font-weight:700;}
.hhPage > .hhObraz{background:#000;border-top:1px solid rgba(255,255,255,.1);}
.hhPage .hhObraz__imgWrap{border-radius:18px;overflow:hidden;}
.hhPage .hhObraz__img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/3;}
.hhPage .hhObraz__desc p{color:#d2d2d2;}
.hhPage .hhZalety .stepsSection{top:100px;}
@media (max-width:992px){.hhPage .hhZalety .stepsSection{top:80px;}.hhPage .hhZalety .stepsSection__boxer{padding:90px 24px;}}
/* 2026-10-14 (47) O firmie */
.hhPage .hhZalety__h2{max-width:500px;margin:0 auto;}
.hhPage .hhChecks{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;}
.hhPage .hhChecks li{position:relative;padding-left:34px;color:#fff;font-weight:500;margin:0;}
.hhPage .hhChecks li::before{content:"";position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;background:#ef6a2c url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/13px no-repeat;}
@media (max-width:576px){.hhPage .hhChecks{grid-template-columns:1fr;}}
.hbBlock.hhPage section h2.hhZalety__h2{font-size:clamp(38px,3.4vw,52px) !important;line-height:1.15 !important;max-width:560px;}
/* 2026-10-14 (50) O firmie: ikonki w podpunktach, H2 zalet */
.hbBlock.hhPage section h2.hhZalety__h2{font-size:clamp(33px,3.4vw,52px) !important;}
.aboutAll .aboutAll__item--ico{display:flex;gap:18px;align-items:flex-start;}
.aboutAll .aboutAll__ico{flex:0 0 48px;width:48px;height:48px;border-radius:12px;background:rgba(239,106,44,.15);color:#ef6a2c;display:flex;align-items:center;justify-content:center;}
.aboutAll .aboutAll__ico svg{width:22px;height:22px;}
.aboutAll .aboutAll__itemBody{flex:1;min-width:0;}
@media (max-width:576px){.aboutAll .aboutAll__item--ico{flex-direction:column;gap:14px;}}

/* 2026-10-14 (52) TECHNOLOGIA */
.page-id-9827 .bannerOneImg__header1{text-transform:none !important;font-weight:700 !important;font-size:clamp(30px,3.4vw,50px) !important;}
.page-id-9827 .bannerOneImg__header1 .hhGradTxt{text-transform:none;}
.page-id-9827 .contentimgChange__h2{font-weight:700 !important;}
.page-id-9827 h3{margin-top:24px;margin-bottom:8px;}
/* 2026-10-14 (53) technologia: ikonki, faq */
.cdChange__ico{display:inline-flex;width:52px;height:52px;border-radius:12px;background:rgba(239,106,44,.15);color:#ef6a2c;align-items:center;justify-content:center;}
.cdChange__ico svg{width:24px;height:24px;}
.page-id-9827 .hbBlock .hbFaq .abs-bg-right :is(.bannerSlider__gradientBGBG--first, .bannerSlider__gradientBGBG--faq){background:#000 !important;}
/* 2026-10-14 (54) technologia: lista w banerze z ikonkami check */
.page-id-9827 .bannerOneImg ul{list-style:none;padding-left:0;margin:12px 0 0;}
.page-id-9827 .bannerOneImg ul li{position:relative;padding-left:34px;margin:0 0 12px;list-style:none;}
.page-id-9827 .bannerOneImg ul li::marker{content:"";}
.page-id-9827 .bannerOneImg ul li::before{content:"";position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;background:#ef6a2c url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23000%27 stroke-width=%273%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M20 6 9 17l-5-5%27/%3E%3C/svg%3E") center/13px no-repeat;}

/* 2026-10-14 (57) OFERTA */
.page-id-6656 .aboutStart__heading--dark{font-weight:700 !important;color:#fff;}
.page-id-6656 .ocpPack__num{font-family:"Instrument Serif",serif !important;font-style:italic;font-weight:400 !important;font-size:clamp(48px,4vw,64px) !important;line-height:1;background:var(--hhGradientLight);-webkit-background-clip:text;background-clip:text;color:transparent !important;display:inline-block;padding-right:.1em;}
.page-id-6656 .ocpPack__num{opacity:1 !important;filter:none !important;}

/* 2026-10-14 (58) oferta */
.page-id-6656 .ocpBlock .ocpPack__label{color:#e8e8e8 !important;}
.page-id-6656 .ocpBlock .ocpDesc__quote{font-family:"Instrument Serif",serif !important;font-style:italic !important;font-size:clamp(24px,2.4vw,34px) !important;line-height:1.3 !important;color:#fff !important;}
.page-id-6656 h2,.page-id-6656 .hbEtapy__title h2,.page-id-6656 .ocpDesc__h2,.page-id-6656 .setsApart__h2{font-weight:700 !important;}
@media (min-width:993px){.page-id-6656 .ocpApart .setsApart__rightBlock{order:-1;}}
.page-id-6656 .ocpApart .setsApart__item{border:0 !important;border-top:1px solid rgba(255,255,255,.12) !important;border-radius:0 !important;background:transparent !important;}
.page-id-6656 .ocpApart .setsApart__item:last-child{border-bottom:1px solid rgba(255,255,255,.12) !important;}

/* 2026-10-14 (63) REALIZACJE */
.headerCenter{overflow:hidden;}
.headerCenter .hhGlow--r{top:-120px;}
.page-id-1711 .headerCenter h2{font-weight:700 !important;}

/* 2026-10-14 (63) REALIZACJE */
.headerCenter{overflow:hidden;}
.headerCenter .hhGlow--r{top:-120px;}
.page-id-1711 .headerCenter h2{font-weight:700 !important;}
/* 2026-10-14 (64) realizacje: licznik 50+ */
.hhHcStat__col{display:flex;align-items:flex-end;justify-content:flex-end;}
.hhHcStat{border-left:2px solid #ef6a2c;padding-left:20px;}
.hhHcStat__num{font-family:var(--txtHeader);font-weight:700;font-size:clamp(44px,4.5vw,64px);line-height:1;color:#fff;}
.hhHcStat__label{color:#d2d2d2;font-size:16px;margin-top:8px;}
@media (max-width:992px){.hhHcStat__col{justify-content:flex-start;margin-top:30px;}}
.hhHcStat__num,.hhHcStat__count{color:#fff !important;opacity:1 !important;}

/* 2026-10-14 (66) POJEDYNCZY PROJEKT: hero, inne projekty */
.portfolioHeromain .hbBadge{border-color:#fff !important;}
.portfolioHeromain .hbBadge span{color:#fff !important;}
.portfolioHeromain .portfolioHeromain__h2{color:#fff !important;font-size:clamp(26px,2.3vw,34px) !important;font-weight:700 !important;text-transform:none !important;line-height:1.25 !important;letter-spacing:normal !important;opacity:1 !important;}
.singlePortfolio__other{border-bottom:1px solid rgba(255,255,255,.1);}
.singlePortfolio__other .spmOther__h2{font-size:clamp(24px,2.3vw,33px) !important;font-weight:700 !important;color:#fff !important;text-transform:none !important;opacity:1 !important;margin:0;}
.singlePortfolio__other :is(.swiper-button-prev,.swiper-button-next){width:52px !important;height:52px !important;border-radius:50% !important;background:#ef6a2c !important;color:#000 !important;border:0 !important;display:flex;align-items:center;justify-content:center;}
.singlePortfolio__other :is(.swiper-button-prev,.swiper-button-next)::after{display:none !important;}
.singlePortfolio__other :is(.swiper-button-prev,.swiper-button-next) svg{width:22px;height:22px;}
.singlePortfolio__other :is(.swiper-button-prev,.swiper-button-next):hover{background:#ff7d42 !important;}
.singlePortfolio__other .swiper-button-disabled{opacity:.4 !important;}
@media (min-width:992px){.singlePortfolio__other .typeCourse__item.typeCourse__item--noMargin.typeCourse__item--noMargin--noSticky{height:420px !important;}}

/* 2026-10-14 (67) POJEDYNCZY PROJEKT: badge, tytuly kafelkow, border */
.singlePortfolio .singlePortfolio__other{border-bottom:1px solid rgba(255,255,255,.1) !important;}
.singlePortfolio__other .hbBadge{font-size:12px !important;line-height:1.65 !important;letter-spacing:.08em !important;padding:7px 14px !important;border:1px solid rgba(239,106,44,.45) !important;background:rgba(239,106,44,.08) !important;color:#ef6a2c !important;}
.singlePortfolio__other .hbBadge span{font-size:12px !important;color:#ef6a2c !important;letter-spacing:.08em !important;}
.singlePortfolio__other .portfolio-tile__info .portfolio-tile__title{font-family:var(--txtHeader) !important;font-size:17px !important;font-weight:700 !important;line-height:1.2 !important;text-transform:uppercase !important;letter-spacing:normal !important;}

/* 2026-10-14 (69) CTA GLASS: mobile telefon nad wycena (jak hero) */
@media (max-width:576px){.hbCta .hbCta__btns{flex-direction:column;}.hbCta .hbCta__btns .hbBtnLight{order:2;}.hbCta .hbCta__btns .hbBtnLight,.hbCta .hbCta__btns .hbBtnGhost{width:100%;}}

/* 2026-10-14 (70) REALIZACJE: tytuly kafelkow jak na stronie glownej */
.allPortfolio .portfolio-tile__info .portfolio-tile__title{font-family:var(--txtHeader) !important;font-size:17px !important;font-weight:700 !important;line-height:1.2 !important;text-transform:uppercase !important;letter-spacing:normal !important;}

/* 2026-10-14 (71) DZIEKUJEMY: opis jasny, ikona gradient */
.thankVisit .thankVisit__desc{color:rgba(255,255,255,.82) !important;}
.thankVisit .thankVisit__icon{background:var(--hhGradientLight) !important;box-shadow:0 12px 34px rgba(255,106,61,.3);}

/* 2026-10-29 (73) KONTAKT: szersze kolumny boczne, e-mail w jednej linii, wartosci 15px */
.hhPage .hhKontakt__val{font-size:15px;}
@media (min-width:993px){.hhPage .hhKontakt__grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1.3fr) minmax(0,1.15fr) !important;}}
.hhPage .hhKontakt__card{container-type:inline-size;}
.hhPage a[href^="mailto:"] .hhKontakt__val{white-space:nowrap;word-break:normal;overflow-wrap:normal;}
.hhPage .hhMailBr{display:none;}
@container (max-width:328px){.hhPage .hhMailBr{display:block;}}

/* 2026-10-29 (74) KONTAKT: mapa 342px */
.hhPage .hhKontakt__map iframe{height:342px !important;min-height:0 !important;}
