/* @author Jakub Chrobot - WytwórniaTreści */

.ca-section, .ca-hero, .ca-logos,
.ca-section *, .ca-hero *, .ca-logos * {
    box-sizing: border-box !important;
    font-family: 'Barlow Condensed', sans-serif !important;
}
.ca-section a, .ca-hero a { text-decoration: none !important; color: inherit !important; }

.ca-container {
    max-width: 1024px !important;
    margin: 0 auto !important;
    padding: 0 16px !important;
    width: 100% !important;
}

/* ── HERO ── */
.ca-hero {
    position: relative !important;
    width: 100% !important;
    height: 457px !important;
    overflow: hidden !important;
}
.ca-hero__track { position: relative !important; width: 100% !important; height: 100% !important; }
.ca-hero__slide {
    position: absolute !important; left: 0 !important; top: 0 !important;
    width: 100% !important; height: 100% !important;
    opacity: 0 !important; transition: opacity 0.6s ease !important;
    pointer-events: none !important;
}
.ca-hero__slide.is-active { opacity: 1 !important; pointer-events: auto !important; }
.ca-hero__bg {
    position: absolute !important; left: 0 !important; top: 0 !important;
    width: 100% !important; height: 100% !important;
    background-size: cover !important; background-position: center !important;
}
.ca-hero__overlay {
    position: absolute !important; left: 0 !important; top: 0 !important;
    width: 100% !important; height: 100% !important;
    background: rgba(0,0,0,0.26) !important;
}
.ca-hero__content {
    position: relative !important; z-index: 2 !important;
    max-width: 1024px !important; margin: 0 auto !important;
    padding: 0 53px !important; height: 100% !important;
    display: flex !important; flex-direction: column !important;
    justify-content: flex-end !important; padding-bottom: 70px !important;
}
.ca-hero__title {
    font-weight: 600 !important; font-size: 47px !important;
    line-height: 1.11 !important; color: #fff !important;
    margin: 0 0 18px 0 !important; padding: 0 !important;
    max-width: 523px !important; text-transform: uppercase !important;
}
.ca-hero__dots {
    position: absolute !important; bottom: 24px !important;
    left: 50% !important; transform: translateX(-50%) !important;
    display: flex !important; gap: 6px !important; z-index: 3 !important;
}
.ca-hero__dot {
    width: 25px !important; height: 10px !important; border-radius: 7px !important;
    border: 1px solid #fff !important; background: transparent !important;
    cursor: pointer !important; padding: 0 !important; outline: none !important;
    transition: background 0.3s !important;
}
.ca-hero__dot.is-active { background: #fff !important; }

/* ── BUTTONS ── */
.ca-btn {
    display: inline-flex !important; align-items: center !important;
    justify-content: center !important;
    width: 173px !important; height: 35px !important;
    font-weight: 400 !important; font-size: 14px !important;
    line-height: 22px !important; text-align: center !important;
    cursor: pointer !important; position: relative !important;
    border: none !important; padding: 0 !important;
    transition: opacity 0.2s !important;
}
.ca-btn:hover { opacity: 0.85 !important; }
.ca-btn--white { background: #fff !important; color: #000 !important; }
.ca-btn--black { background: #000 !important; color: #fff !important; }
.ca-btn span { margin: 0 auto !important; }
.ca-btn__arrow {
    position: absolute !important; right: 15px !important; top: 50% !important;
    transform: translateY(-50%) rotate(-90deg) !important;
    width: 10px !important; height: 3.81px !important;
}

/* ── LOGOS ── */
.ca-logos { background: #dcdcdc !important; padding: 22px 0 !important; overflow: hidden !important; }
.ca-logos__track {
    max-width: 1024px !important; margin: 0 auto !important;
    padding: 0 16px !important;
    display: flex !important; gap: 12px !important;
    align-items: center !important; justify-content: center !important;
    overflow-x: auto !important;
    scrollbar-width: none !important; -ms-overflow-style: none !important;
}
.ca-logos__track::-webkit-scrollbar { display: none !important; }
.ca-logos__item {
    flex: 0 0 85px !important; width: 85px !important; height: 106px !important;
    background: #fff !important; border-radius: 17px !important;
    display: flex !important; align-items: center !important;
    justify-content: center !important;
}
.ca-logos__item img { max-width: 65px !important; max-height: 80px !important; object-fit: contain !important; }
.ca-logos__placeholder { font-weight: 500 !important; font-size: 16px !important; color: #000 !important; }

/* ── SECTION HEADER ── */
.ca-section__header {
    display: flex !important; align-items: center !important;
    justify-content: space-between !important;
    margin: 0 0 10px 0 !important; padding: 0 !important;
}
.ca-section__title {
    font-weight: 600 !important; font-size: 49.5px !important;
    line-height: 1.57 !important; color: #000 !important;
    margin: 0 !important; padding: 0 !important;
}

/* ════════════════════════════════════════════
   SLIDER — flex row: [arrow] [viewport] [arrow]
   ════════════════════════════════════════════ */
.ca-slider {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 0 !important;
    width: 100% !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
}
.ca-slider__arrow {
    flex: 0 0 auto !important;
    width: 36px !important;
    background: none !important; border: none !important;
    cursor: pointer !important; padding: 0 !important;
    color: #171616 !important;
    display: flex !important; align-items: center !important;
    justify-content: center !important;
    margin-top: 100px !important;
    transition: opacity 0.2s !important;
    outline: none !important;
}
.ca-slider--sm .ca-slider__arrow { margin-top: 80px !important; }
.ca-slider__arrow:hover { opacity: 0.5 !important; }
.ca-slider__arrow svg {
    width: 22px !important; height: 11px !important;
    display: block !important;
}
.ca-slider__prev svg { transform: rotate(90deg) !important; }
.ca-slider__next svg { transform: rotate(-90deg) !important; }

.ca-slider__viewport {
    flex: 1 1 auto !important;
    overflow: hidden !important;
    min-width: 0 !important;
    width: auto !important;
}
.ca-slider__track {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    transition: transform 0.45s cubic-bezier(0.25,0.1,0.25,1) !important;
    will-change: transform !important;
}
.ca-slider__slide {
    flex: 0 0 auto !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ── CARDS — Large ── */
.ca-card { display: block !important; }
.ca-card--lg { width: 100% !important; }
.ca-card--lg .ca-card__img {
    width: 100% !important;
    aspect-ratio: 4 / 3 !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    margin: 0 0 14px 0 !important;
}
.ca-card--lg .ca-card__img img {
    width: 100% !important; height: 100% !important;
    object-fit: cover !important; display: block !important;
    transition: transform 0.4s ease !important;
}
.ca-card--lg:hover .ca-card__img img { transform: scale(1.05) !important; }
.ca-card--lg .ca-card__ttl {
    font-weight: 600 !important; font-size: 15.6px !important;
    line-height: 1.22 !important; color: #0d0d0d !important;
    text-transform: uppercase !important;
    margin: 0 !important; padding: 0 !important;
}

/* ── CARDS — Small ── */
.ca-card--sm { width: 100% !important; }
.ca-card--sm .ca-card__img {
    width: 100% !important;
    aspect-ratio: 1 / 0.92 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    margin: 0 0 12px 0 !important;
}
.ca-card--sm .ca-card__img img {
    width: 100% !important; height: 100% !important;
    object-fit: cover !important; display: block !important;
    transition: transform 0.4s ease !important;
}
.ca-card--sm:hover .ca-card__img img { transform: scale(1.05) !important; }
.ca-card--sm .ca-card__ttl {
    font-weight: 600 !important; font-size: 12.3px !important;
    line-height: 1.34 !important; color: #0d0d0d !important;
    text-transform: uppercase !important;
    margin: 0 !important; padding: 0 !important;
}

/* ── SECTIONS ── */
.ca-aktualnosci { padding: 10px 0 50px !important; background: #fff !important; }
.ca-testy { padding: 0 !important; background: transparent !important; }
.ca-testy__bg { background: #efefef !important; padding: 10px 0 50px !important; }
.ca-realizacje { padding: 10px 0 50px !important; background: #fff !important; }

/* ── O NAS ── */
.ca-about { background: #efefef !important; padding: 40px 0 45px !important; }
.ca-about__sub {
    font-weight: 400 !important; font-size: 16px !important;
    line-height: 22px !important; color: #000 !important;
    margin: 0 0 4px 0 !important;
}
.ca-about__ttl {
    font-weight: 600 !important; font-size: 54px !important;
    line-height: 1.4 !important; color: #000 !important;
    margin: 0 0 14px 0 !important;
}
.ca-about__desc {
    font-weight: 400 !important; font-size: 16px !important;
    line-height: 22px !important; color: #000 !important;
    text-align: justify !important; max-width: 898px !important;
}

/* ── NEWSLETTER ── */
.ca-nl { padding: 30px 0 20px !important; background: #fff !important; }
.ca-nl__line {
    width: 100% !important; height: 1px !important;
    background: rgba(0,0,0,0.2) !important;
    margin: 0 !important; padding: 0 !important;
}
.ca-nl__row {
    display: flex !important; align-items: flex-start !important;
    gap: 60px !important; padding: 28px 0 !important;
}
.ca-nl__left { flex: 0 0 auto !important; max-width: 428px !important; }
.ca-nl__title {
    font-weight: 600 !important; font-size: 34px !important;
    line-height: 40px !important; color: #000 !important;
    margin: 0 0 6px 0 !important;
}
.ca-nl__desc {
    font-weight: 400 !important; font-size: 16px !important;
    line-height: 22px !important; color: #000 !important;
    margin: 0 !important;
}
.ca-nl__right { flex: 1 1 auto !important; max-width: 413px !important; }
.ca-nl__input-row {
    display: flex !important; align-items: center !important;
    background: #f0f0f0 !important; height: 35px !important;
    padding: 0 10px !important; gap: 8px !important;
    margin: 0 0 12px 0 !important;
}
.ca-nl__input {
    flex: 1 1 auto !important; background: transparent !important;
    border: none !important; outline: none !important;
    font-weight: 400 !important; font-size: 14px !important;
    line-height: 22px !important; color: #000 !important;
    height: 100% !important; padding: 0 !important;
}
.ca-nl__input::placeholder { color: #797475 !important; }
.ca-nl__send {
    background: none !important; border: none !important;
    cursor: pointer !important; padding: 0 !important;
    display: flex !important; align-items: center !important;
    color: #000 !important;
}
.ca-nl__send svg { width: 10px !important; height: 4px !important; transform: rotate(-90deg) !important; }
.ca-nl__check {
    display: flex !important; align-items: flex-start !important;
    gap: 8px !important; cursor: pointer !important;
}
.ca-nl__check input[type="checkbox"] { display: none !important; }
.ca-nl__box {
    flex: 0 0 11px !important; width: 11px !important; height: 11px !important;
    background: #f0f0f0 !important; margin-top: 2px !important;
    position: relative !important;
}
.ca-nl__check input:checked + .ca-nl__box::after {
    content: '' !important; position: absolute !important;
    left: 2px !important; top: 2px !important;
    width: 7px !important; height: 7px !important;
    background: #000 !important;
}
.ca-nl__gdpr {
    font-weight: 400 !important; font-size: 12px !important;
    line-height: 16.5px !important; color: #000 !important;
}

/* ══ RESPONSIVE ══ */
@media (max-width: 768px) {
    .ca-hero { height: 360px !important; }
    .ca-hero__title { font-size: 34px !important; max-width: 380px !important; }
    .ca-hero__content { padding: 0 24px 60px 24px !important; }
    .ca-section__title { font-size: 34px !important; }
    .ca-section__header { flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; }
    .ca-slider__arrow { width: 28px !important; margin-top: 70px !important; }
    .ca-slider--sm .ca-slider__arrow { margin-top: 60px !important; }
    .ca-slider__arrow svg { width: 18px !important; height: 9px !important; }
    .ca-about__ttl { font-size: 36px !important; }
    .ca-nl__row { flex-direction: column !important; gap: 20px !important; }
    .ca-nl__right { max-width: 100% !important; }
    .ca-nl__title { font-size: 28px !important; }
    .ca-logos__item { width: 72px !important; height: 90px !important; border-radius: 14px !important; flex: 0 0 72px !important; }
    .ca-logos__track { gap: 8px !important; justify-content: flex-start !important; }
}
@media (max-width: 520px) {
    .ca-hero { height: 300px !important; }
    .ca-hero__title { font-size: 26px !important; max-width: 260px !important; }
    .ca-hero__content { padding: 0 20px 50px 20px !important; }
    .ca-hero__dot { width: 20px !important; height: 8px !important; }
    .ca-section__title { font-size: 26px !important; }
    .ca-btn { width: 155px !important; height: 32px !important; font-size: 13px !important; }
    .ca-slider__arrow { width: 24px !important; margin-top: 50px !important; }
    .ca-slider--sm .ca-slider__arrow { margin-top: 40px !important; }
    .ca-slider__arrow svg { width: 14px !important; height: 7px !important; }
    .ca-card--lg .ca-card__img { border-radius: 14px !important; }
    .ca-card--sm .ca-card__img { border-radius: 12px !important; }
    .ca-about__ttl { font-size: 28px !important; }
    .ca-about__desc { font-size: 14px !important; }
    .ca-nl__title { font-size: 22px !important; }
    .ca-logos__item { width: 60px !important; height: 76px !important; border-radius: 12px !important; flex: 0 0 60px !important; }
    .ca-logos__placeholder { font-size: 12px !important; }
}
