﻿/* KM Tani Dom - theme-styles.css */

/* -- ZMIENNE -- */
:root {
    --red: #ba101c;
    --red-dark: #980c17;
    --text: #333333;
    --muted-text: #646464;
    --line: #d1d1d1;
    --soft: #f6f6f6;
    --container: 1310px;
    --font: 'Figtree', Arial, Helvetica, sans-serif;
    --btn-hover-bg: #333333;
}

/* -- RESET -- */
*,*::before,*::after {box-sizing: border-box;}
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{font-size:100%;font:inherit;padding:0;border:0;margin:0;vertical-align:baseline}
body {line-height: 1}
ol,
ul {list-style: none}
blockquote,
q {quotes: none}
table {border-collapse: collapse; border-spacing: 0}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {display: block}

/* -- WP HELPERS -- */
.alignright {text-align: right; margin: 0; display: block; float: right;}
.alignleft {text-align: left; margin: 0; display: block; float: left;}
.aligncenter {text-align: center; margin: 0 auto; display: block;}
.screen-reader-text {clip: rect(1px,1px,1px,1px); position: absolute !important;}
.hidden {visibility: hidden; display: none;}

/* -- BASE -- */
html {font-size: 100%; scroll-behavior: smooth; scroll-padding-top: 105px;}
body {margin: 0; color: var(--text); font-family: var(--font); font-size: 16px; line-height: 1.45; background: white;}
img,
svg {display: block; max-width: 100%;}
a {color: inherit; text-decoration: none;}
a:hover {color: inherit;}
a:focus {outline: none;}
button,
input,
textarea,
select {font: inherit;}
p {color: var(--text); font-weight: 300; font-size: 16px; line-height: 1.55; margin-bottom: 20px;}
p:last-child {margin-bottom: 0;}
strong,
b {font-weight: 700;}
ul,
ol {margin: 0; padding: 0; list-style: none;}
h1,
h2,
h3,
h4,
h5,
h6 {font-family: var(--font); font-weight: 700; color: var(--text); line-height: 1.2;}

/* -- CONTAINER -- */
.container,
.inner-wrapper {width: min(var(--container),calc(100% - 48px)); margin: 0 auto;}

/* HEADER */
.site-header,
.cnt-header-main {position: -webkit-sticky; position: sticky; top: 0; z-index: 20; min-height: 103px; background: #F6F6F6;}
.cnt-header-main.stuck {position: fixed; top: 0; left: 0; right: 0;}
.home .cnt-header-main {background: white;}
.header-inner {display: grid; grid-template-columns: 220px 1fr; align-items: center; min-height: 103px; gap: 20px;}
.brand {display: inline-flex; align-items: center;}
.brand img {width: 176px; height: auto;}
/* menu WP (menumaker) */
.main-nav,
.theme-nav-main {display: flex; align-items: center; justify-content: center; height: 55px; font-size: 16px; font-weight: 600;}
.main-nav ul.menu {display: flex; align-items: center; justify-content: center; gap: 32px; height: 55px;}
.main-nav ul.menu > li > a {display: flex; align-items: center; height: 55px; padding: 0; transition: color 180ms ease;}
.main-nav ul.menu > li > a:hover,
.main-nav ul.menu > li.is-open > a {color: var(--red);}
/* dropdown */
.main-nav ul.menu > li.has-sub {position: relative;}
.main-nav ul.menu li .sub-menu {position: absolute; top: 57px; left: 0; min-width: 230px; padding: 12px 0; border: 0; box-shadow: none; opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity 160ms ease,transform 160ms ease,visibility 160ms ease;}
.main-nav ul.menu li .sub-menu { background: #F6F6F6;}
.home .main-nav ul.menu li .sub-menu {background: white;}
.main-nav ul.menu li.is-open .sub-menu,
.main-nav ul.menu li:focus-within .sub-menu { opacity: 1; visibility: visible; transform: translateY(0);}
.main-nav ul.menu li .sub-menu li a { display: block; padding: 11px 18px; font-size: 13px; line-height: 15px; font-weight: 400;}
/* mobile menu button (menumaker adds it) */
#menu-button {display: none;}
/* @media (min-width:1281px) { */
.main-nav ul.menu > li > a.menu-red {min-width: 197px; text-transform: none; margin-left: 79px; color: white; background: var(--red); display: inline-flex; justify-content: center; border-radius: 5px;}
.main-nav ul.menu > li > a.menu-red:hover {color: white; background: var(--btn-hover-bg);}

@media (min-width:1081px) {
	#menu-item-586, #menu-item-587 {display:none;}
}
@media (max-width:1081px) {
	#menu-item-31 {display:none;}
}
.current-menu-item {color: var(--red)}
#menu-item-31 {cursor:pointer;}

/* } */
.main-nav.mobile-view #menu-button { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; cursor: pointer; border: 1px solid var(--line); border-radius: 5px; margin-left: auto; position: relative; z-index: 1;}
.main-nav.mobile-view #menu-button .menu-button-text {display: none;}
.main-nav.mobile-view #menu-button::before,
.main-nav.mobile-view #menu-button::after { content: ""; display: block; width: 20px; height: 2px; background: var(--text); position: absolute; transition: transform 180ms ease;}
.main-nav.mobile-view #menu-button::before {transform: translateY(-4px);}
.main-nav.mobile-view #menu-button::after {transform: translateY(4px);}
.main-nav.mobile-view #menu-button.menu-opened::before {transform: rotate(45deg);}
.main-nav.mobile-view #menu-button.menu-opened::after {transform: rotate(-45deg);}
.main-nav.mobile-view {height: auto;}
.main-nav.mobile-view ul.menu {display: block; width: 100% !important; height: auto !important; background: white; position: fixed; top: -100%; left: 0; right: 0; padding: 0 !important; margin: 0 !important; opacity: 1 !important;}
.main-nav.mobile-view ul.menu.open {top: 0; height: 100% !important;}
.main-nav.mobile-view ul.menu > li {width: 100%;}
.main-nav.mobile-view ul.menu > li.before-menu-links {margin: 40px 0 20px; text-align: right;}
.main-nav.mobile-view ul.menu > li.before-menu-links .menu-close-force {cursor: pointer; display: none;}
.main-nav.mobile-view ul.menu > li:first-child {margin-top: 40px;}
.main-nav.mobile-view ul.menu > li > a {margin: 0 15px;}
.main-nav.mobile-view ul.menu > li > a.menu-red {margin-left: 15px;}

/* mobile sub menu button */
.main-nav.mobile-view .submenu-button {position: absolute; z-index: 99; right: 18px; top: 7px; display: block; border-left: 0; height: 35px; width: 35px; cursor: pointer;}
.main-nav.mobile-view .submenu-button:before {position: absolute; top: 12px; right: 17px; display: block; width: 2px; height: 12px; background: var(--red-dark); content: ''}
.main-nav.mobile-view .submenu-button:after {position: absolute; top: 17px; right: 12px; width: 12px; height: 2px; display: block; background: var(--red-dark); content: ''}
.main-nav.mobile-view ul ul .submenu-button {height: 34px; width: 34px;}
.main-nav.mobile-view ul ul .submenu-button:before {top: 12px; right: 16px;}
.main-nav.mobile-view ul ul .submenu-button:after {top: 15px; right: 13px;}
.main-nav.mobile-view .submenu-button.submenu-opened {background: var(--red-dark);}
.main-nav.mobile-view .submenu-button.submenu-opened:after {background: white;}
.main-nav.mobile-view .submenu-button.submenu-opened:before {display: none;}
.main-nav.mobile-view ul.menu li .sub-menu {position: relative; top: 0; box-shadow: none; margin-bottom: 12px; transform: none !important;}
.main-nav.mobile-view ul.menu li .sub-menu.open {opacity: 1; visibility: visible;}
.main-nav.mobile-view ul.menu li .sub-menu li a {font-size: 16px;}

.main-nav.mobile-view ul.menu > li.current-menu-item > a,
.main-nav ul.menu li li.current-menu-item a,
.main-nav ul.menu li .sub-menu li.current-menu-item a,
.main-nav ul.menu li .sub-menu .current-menu-item > a {color: var(--red);}

/* BUTTONS */
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 34px; border: 1px solid transparent; border-radius: 5px; font-size: 15px; font-weight: 700; text-transform: uppercase; cursor: pointer; transition: background 180ms ease,color 180ms ease,border-color 180ms ease;}
.btn-red {color: white; background: var(--red);}
.btn-red:hover {background: var(--btn-hover-bg); color: white;}
.btn-light {color: var(--text); background: white;}
.btn-light:hover {color: white; border-color: var(--btn-hover-bg); background: var(--btn-hover-bg);}

/* LINKS */
.text-link,
.small-link {color: var(--red); font-weight: 500;}
.text-link:hover,
.small-link:hover {text-decoration: underline;}
.text-link {font-size: 16px;}
.text-link::after {content: " +"; font-weight: 700;}
.arrow-link::after {content: ""; display: inline-block; width: 14px; height: 11px; background: url('../svg/right-arrow.svg') no-repeat center/contain; margin-left: 6px; vertical-align: middle;}
.small-link {display: inline-flex; align-items: center; font-size: 16px;}

/* SECTIONS */
.section {padding: 96px 0;}
.section-muted {background: var(--soft);}
.section h2,
.section-head h2 {margin: 0; font-size: 24px; line-height: 1.25; font-weight: 700;}
.section-head {display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 36px;}

/* HERO */
.hero { position: relative; display: grid; min-height: 744px; overflow: hidden; color: white; background: center/cover no-repeat #222;}
.hero-overlay {position: absolute; inset: 0; background: rgba(0,0,0,.15);}
.hero-content { position: relative; z-index: 1; display: grid; align-content: center; justify-items: center; min-height: 744px; padding-top: 26px; text-align: center; max-width:1100px;}
.hero h1 {margin: 0 0 18px; font-size: 52px; line-height: 1.18; font-weight: 700; color: white;}
.hero p {max-width: 752px; margin: 0 0 31px; font-size: 17px; line-height: 1.3; color: white; font-weight: 400;}
.hero-actions {display: flex; gap: 25px;}

/* PROMO GRID (kafelki promocji) */
.section.section-promo {padding-top: 0;}
.promo-grid {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 25px;}
.promo-card { min-height: 427px; overflow: hidden; border: 1px solid var(--line); border-radius: 5px; background: white;}
.promo-card img {width: 100%; height: 390px; -o-object-fit: cover; object-fit: cover;}
.promo-body {padding: 20px 28px 23px;}
.promo-title-row {display: flex; align-items: start; justify-content: space-between; gap: 18px; margin-bottom: 13px;}
.promo-title-row h3 {margin: 0; font-size: 20px; line-height: 1.25;}
.badge { display: inline-flex; align-items: center; justify-content: center; min-width: 50px; min-height: 25px; padding: 0 9px; color: white; background: var(--red); border-radius: 5px; font-size: 16px; font-weight: 700; flex-shrink: 0;}
.badge-large {min-width: 72px; min-height: 34px;}
.promo-body p {margin: 0 0 12px; color: var(--muted-text); font-size: 16px; line-height: 1.35;}

/* OFERTA (sekcja na głównej) */
.offer-section {padding-top: 91px; padding-bottom: 80px;}
.offer-flow {display: grid; gap: 82px;}
.offer-row {display: grid; grid-template-columns: minmax(0,752px) 530px; align-items: center; justify-content: space-between; gap: 55px;}
.offer-row-right {grid-template-columns: 530px minmax(0,752px); justify-content: space-between;}
.offer-row-right .offer-image {order: -1;}
.offer-copy h2 {margin-bottom: 14px;}
.offer-copy p,
.wide-text {margin: 0; color: var(--text); font-size: 16px; line-height: 1.43;}
.offer-image {width: 530px; height: 330px; border-radius: 5px; -o-object-fit: cover; object-fit: cover;}
.tag-list {display: flex; flex-wrap: wrap; gap: 16px 19px; margin: 33px 0 31px;}
.tag-list a { display: inline-flex; align-items: center; min-height: 35px; padding: 0 17px; border: 1px solid var(--line); border-radius: 5px; background: white; font-size: 13px; font-weight: 700; text-transform: uppercase; transition: background 180ms ease,color 180ms ease,border-color 180ms ease;}
.tag-list a:hover {color: white; background: var(--red); border-color: var(--red);}

/* O FIRMIE (główna) */
.about-section {padding-top: 0; padding-bottom: 72px; border-top: 0;}
.about-section h2 {margin-bottom: 24px;}
.about-section .wide-text {max-width: 1307px; margin-bottom: 17px;}
.feature-grid {display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 25px; margin-top: 85px; padding-bottom: 85px; border-bottom: 1px solid #ECECEC;}
.feature-card { display: grid; align-content: center; justify-items: center; min-height: 200px; padding: 28px 24px; border: 1px solid var(--line); border-radius: 5px; background: white; text-align: center;}
.feature-card svg,
.feature-card img {width: 52px; height: 52px; margin-bottom: 20px; fill: none; stroke: var(--red); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;}
.feature-card h3 {max-width: 220px; margin: 0; font-size: 16px; line-height: 1.25; font-weight: 600;}

/* IMAGE BAND */
.image-band {height: 660px; overflow: hidden;}
.image-band img {width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover;}

/* WYPRZEDAŻ */
.sale-section {padding-top: 94px; padding-bottom: 104px;}
.sale-list {overflow: hidden;}
.sale-item {border: 1px solid var(--line); border-radius: 5px; background: white; margin-bottom: 20px;}
.sale-item:last-child {margin-bottom: 0;}
.sale-item summary { display: grid; grid-template-columns: 38px minmax(310px,1fr) minmax(180px,1fr) auto; align-items: center; gap: 22px; min-height: 95px; padding: 22px 30px; list-style: none; cursor: pointer;}
.sale-item summary::-webkit-details-marker {display: none;}
.sale-item summary::after { content: ""; width: 9px; height: 9px; border-right: 2px solid var(--text); border-bottom: 2px solid var(--text); transform: rotate(45deg); transition: transform 180ms ease;}
.sale-item[open] summary::after {transform: rotate(225deg);}
.sale-item strong {display: block; font-size: 20px; line-height: 1.25;}
.sale-item small {display: block; margin-top: 7px; color: var(--muted-text); font-size: 13px;}
.sale-item b {justify-self: end; color: var(--red); font-size: 25px; line-height: 1.1; white-space: nowrap;}
.sale-item img {width: min(630px,calc(100% - 48px)); height: auto; margin: 0 auto 54px; border-radius: 5px; }
.sale-item .sale-icon {width: 38px; height: 38px; flex-shrink: 0; display: flex; align-items: center; justify-content: center;}
.sale-item .sale-icon img {width: auto; height: auto; margin: auto;}

/* FORMULARZ KONTAKTOWY */
.contact-section {padding-top: 104px; padding-bottom: 104px;}
.contact-grid {display: grid; grid-template-columns: 420px minmax(0,773px); justify-content: space-between; gap: 72px;}
.contact-copy h2 {margin: 0 0 20px; color: var(--red); font-size: 32px; line-height: 1.05; font-weight: 700;}
.contact-copy > p {margin: 0 0 30px; max-width: 419px; color: var(--text); font-size: 16px;}
.contact-point {display: grid; grid-template-columns: 65px minmax(0,1fr); gap: 15px; margin-bottom: 20px;}
.contact-point span {width: 65px; height: 65px; border: 1px solid var(--line); border-radius: 5px; position: relative; display: flex; align-items: center; justify-content: center;}
.contact-point strong {font-size: 16px;}
.contact-point p {margin: 0; color: var(--muted-text); font-size: 16px; line-height: 1.35;}
.contact-point .small-link {text-decoration: underline; margin-top: 20px;}
.contact-form {display: grid; gap: 18px; padding: 45px 44px 48px; border: 1px solid var(--line); border-radius: 5px; background: var(--soft);}
.contact-form h3 {margin: 0 0 15px; font-size: 16px; font-weight: 700;}
.contact-form label {display: grid; gap: 8px; color: var(--text); font-size: 14px; font-weight: 600;}
.form-row {display: grid; grid-template-columns: 1fr; gap: 55px;}
.contact-form input:not([type="checkbox"]),
.contact-form textarea,
.contact-form select { width: 100%; border: 1px solid var(--line); border-radius: 3px; background: white; color: var(--text); outline: none;}
.contact-form input:not([type="checkbox"]),
.contact-form select {height: 43px; padding: 0 16px;}
.contact-form textarea {min-height: 104px; resize: vertical; padding: 14px 16px;}
.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus {border-color: var(--red);}
.file-row {display: flex; align-items: center; gap: 16px;}
.file-row button { min-height: 29px; padding: 0 29px; border: 0; border-radius: 5px; color: white; background: #646464; font-size: 9px; font-weight: 700; text-transform: uppercase; cursor: pointer;}
.file-row span {color: var(--muted-text); font-size: 10px;}
.contact-form .consent {grid-template-columns: 16px 1fr; align-items: start; gap: 11px; color: var(--muted-text); font-size: 13px; line-height: 1.75; font-weight: 400;}
.consent input {width: 13px; height: 13px; margin: 2px 0 0;}
.submit-btn {justify-self: end; min-width: 197px;}

/* OPINIE (Swiper carousel) */
.trust-section {padding-top: 66px; padding-bottom: 86px;}
.reviews-wrap {position: relative; margin-top: 42px; margin-bottom: 72px;}
.reviews-carousel {overflow: hidden;}
.reviews-carousel .swiper-wrapper {display: flex;}
.review-card { min-height: 275px; padding: 37px 52px 34px; border: 1px solid var(--line); border-radius: 5px; background: white; box-sizing: border-box;}
.stars {margin-bottom: 16px; color: var(--red); font-size: 18px; font-weight: 700;}
.review-card p {margin: 0 0 18px; color: var(--text); font-size: 14px; line-height: 1.35;}
.review-card strong {font-size: 14px; display: block; margin-top: 15px;}
.reviews-wrap .swiper-pagination {position: static; margin-top: 28px;}
.reviews-wrap .swiper-pagination-bullet-active {background: var(--red);}

/* LOGA (Swiper carousel) */
.logos-title {margin-top: 0;}
.logos-carousel {overflow: hidden; margin: 38px auto 0; max-width: 1120px;}
.logos-carousel .swiper-slide {display: flex; align-items: center; justify-content: center; height: auto;}
.logos-carousel .swiper-slide img {max-height: 38px; width: auto; max-width: 100%;}
.logos-carousel .swiper-pagination {position: static; margin-top: 24px;}
.logos-carousel .swiper-pagination-bullet-active {background: var(--red);}

.swiper .swiper-pagination .swiper-pagination-bullet {width: 8px; height: 8px; border-radius: 12px; opacity: 1; background: black; margin: 0 5px;}
.swiper .swiper-pagination .swiper-pagination-bullet-active {background: var(--red);}

/* STOPKA */
.site-footer,
.cnt-main-footer {background: var(--soft);}
.footer-grid { display: grid; grid-template-columns: 1.25fr repeat(3,1fr); gap: 80px; padding: 74px 0 67px;}
.footer-brand {margin-bottom: 16px;}
.site-footer .footer-block-title,
.cnt-main-footer .footer-block-title {margin: 0 0 10px; font-size: 16px; font-family: var(--font); font-weight: 700; color: var(--text); line-height: 1.2; display: flex; justify-content: space-between;}
.site-footer .footer-block-title .toggle-trigger,
.cnt-main-footer .footer-block-title .toggle-trigger {display: flex; align-items: center; justify-content: center; width: 20px; height: 20px; position: relative; transform: rotate(180deg); transition: all .2s linear;}
.site-footer .footer-block-title .toggle-trigger::after,
.cnt-main-footer .footer-block-title .toggle-trigger::after {content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 10px; border-top: 2px solid var(--text); border-right: 2px solid var(--text); transform: translate(-50%, -30%) rotate(-45deg);}
.site-footer .footer-block-title.active .toggle-trigger,
.cnt-main-footer .footer-block-title.active .toggle-trigger {transform: rotate(0deg);}
@media all and (max-width: 767px) {
    .site-footer .footer-block-title.active .toggle-trigger,
    .cnt-main-footer .footer-block-title.active .toggle-trigger {cursor: pointer;}
}
.site-footer p,
.site-footer a,
.cnt-main-footer p,
.cnt-main-footer a {color: var(--text); font-size: 14px; line-height: 1.75;}
.site-footer p,
.cnt-main-footer p {margin: 0 0 24px;}
.site-footer p:last-of-type,
.cnt-main-footer p:last-of-type {margin: 0 0 12px;}
.site-footer a,
.cnt-main-footer a {display: block;}
.site-footer .small-link,
.cnt-main-footer .small-link {display: inline-flex; color: var(--red); text-decoration: underline;}
.footer-social {display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; margin-bottom: 12px;}
.social-link {display: inline-flex; align-items: center; justify-content: center; width: 25px; height: 25px; border-radius: 50%; background: rgba(0,0,0,.06); color: var(--text); transition: background .2s,color .2s;}

footer ul li {margin-bottom: 4px;}
footer ul li:last-child {margin-bottom: 0;}

.social-link:hover {background: var(--red); color: white;}
.footer-bottom {border-top: 1px solid rgba(209,209,209,.75); background: white;}
.footer-bottom .container { display: grid; grid-template-columns: 1fr 1fr; align-items: center; min-height: 64px; gap: 40px; color: var(--muted-text); font-size: 13px;}
.footer-bottom .container span:nth-of-type(1) a {margin-left: 30px;}
.footer-bottom a {color: var(--muted-text); font-size: 13px; display: inline;}
.footer-bottom span:last-child {justify-self: end; display: flex; align-items: center;}
.footer-bottom span:last-child img {margin-left: 8px;}

/* BREADCRUMBS */
.breadcrumbs-block {/*background: var(--soft);*/}
.breadcrumbs-wrap {padding: 15px 0;}
.breadcrumbs {display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; list-style: none; margin: 0; padding: 0; font-size: 13px; color: var(--muted-text);}
.breadcrumbs a {color: inherit; text-decoration: none;}
.breadcrumbs a:hover {color: var(--red);}
.breadcrumbs .item-current span {color: var(--text); font-weight: 700;}

/* PAGE INTRO (podstrony) */
.page-intro {padding: 58px 0 46px;}
.page-intro h1,
.about-hero-page > .container > h1 {margin: 0 0 15px; font-size: 32px; line-height: 38px; font-weight: 700;}
.page-intro h2 {margin: 0 0 15px; font-size: 52px; line-height: 62px; font-weight: 700;}
.page-intro p {max-width: 1300px; margin: 0; font-size: 16px; line-height: 1.55;}

/* AKORDEONY OFERTY */
.page-offer {padding-top: 40px;}
.accordion-list {display: grid; gap: 28px;}
.offer-accordion {border: 1px solid var(--line); border-radius: 5px; background: white; overflow: hidden;}
.offer-accordion summary {list-style: none; cursor: pointer;}
.offer-accordion summary::-webkit-details-marker {display: none;}
.acc-intro {display: grid; grid-template-columns: minmax(0,1fr) 419px; gap: 0; padding: 0; align-items: start;}
.acc-copy {display: flex; flex-direction: column; padding: 40px;}
.acc-copy h2 {margin: 0 0 14px; font-size: 24px; line-height: 1.25; text-transform: uppercase; font-weight: 600;}
.acc-small {margin: 0 0 20px; font-size: 16px; line-height: 1.55; color: var(--muted-text);}
.acc-body {border-top: 1px solid var(--line); padding: 40px;}
.acc-body p {margin: 0 0 20px; font-size: 16px; line-height: 1.55;}
.acc-intro--full {grid-template-columns: 1fr;}
.acc-image {width: 419px; height: 100%; max-height: 250px; -o-object-fit: cover; object-fit: cover; border-radius: 5px;}
.acc-toggle-text {display: inline-flex; align-items: center; color: var(--red); font-size: 15px; font-weight: 600; margin-top: auto;}
.toggle-open::after,
.toggle-close::after {content: ""; background: url('../svg/chevron-down.svg') no-repeat center; background-size: 12px; width: 12px; height: 12px; display: inline-block; margin-left: 10px;}
.toggle-close {display: none;}
.toggle-close::after {transform: rotate(180deg);}
.offer-accordion[open] .toggle-open {display: none;}
.offer-accordion[open] .toggle-close {display: inline;}
.offer-accordion[open] .acc-body {border-top: 0;}

@media (max-width: 1280px) {
    .acc-intro {
        grid-template-columns: 1fr;
    }

    .acc-image {
        order: -1;
    }
}

.brand-group:first-of-type {padding-top: 24px;}
.brand-group {padding-bottom: 40px; margin-bottom: 15px; border-bottom: 1px solid #D1D1D1;}
.brand-group:last-of-type {padding-bottom: 0; margin-bottom: 15px; border-bottom: 0;}
.brand-group-label {margin: 0 0 14px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted-text);}
.brand-strip {display: flex; flex-wrap: wrap; align-items: center; gap: 24px 32px;}
.brand-strip img {max-width: 140px; max-height: 54px; width: auto;}

/* USŁUGI */
.service-section {padding-top: 40px;}
.service-flow {display: grid; gap: 50px;}
.service-row-outer {padding-bottom: 80px; border-bottom: 1px solid #ECECEC; margin-bottom: 30px;}
.service-row-outer:last-of-type {padding-bottom: 0; border-bottom: 0; margin-bottom: 0;}
.service-row {display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start;}
.service-row-alt {grid-template-columns: 631px minmax(0,1fr);}
.service-row img {width: 100%; height: 388px; -o-object-fit: cover; object-fit: cover; border-radius: 5px;}
.service-row h2 {margin: 0 0 22px; font-size: 24px;}
.service-row p {margin: 0 0 24px; font-size: 16px; line-height: 1.55;}

.service-content-wide h2 {color: var(--red-dark); margin-bottom: 0; width: 100%;}

.form-page-section {padding-top: 72px;}
.contact-form-full {max-width: 1307px; margin: 0 auto;}
.form-lead {margin: 12px 0 36px; max-width: 1300px;}

/* GALERIA */
.gallery-section {padding-top: 44px;}
.gallery-tabs {display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 34px;}
.gallery-tabs a,
.gallery-tabs button { display: inline-flex; min-height: 35px; align-items: center; padding: 0 18px; border: 1px solid var(--line); border-radius: 5px; font-size: 13px; font-weight: 700; text-transform: uppercase; background: white; cursor: pointer; color: var(--text); transition: background 180ms ease,color 180ms ease,border-color 180ms ease;}
.gallery-tabs a.active,
.gallery-tabs a:hover,
.gallery-tabs button.active,
.gallery-tabs button:hover { color: white; background: var(--red); border-color: var(--red);}
.gallery-grid {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 34px 27px;}
.gallery-grid a {height: 308px; overflow: hidden; border-radius: 5px; display: block;}
.gallery-grid img {width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; transition: transform 220ms ease;}
.gallery-grid a:hover img {transform: scale(1.06);}
.gallery-item[data-hidden] {display: none;}
.gallery-pagination {display: flex; flex-wrap: wrap; gap: 8px; margin-top: 36px; justify-content: center;}
.gallery-page-link {display: inline-flex; align-items: center; justify-content: center; min-width: 40px; min-height: 40px; padding: 0 12px; border: 1px solid var(--line); border-radius: 5px; font-size: 14px; font-weight: 600; color: var(--text); background: white; cursor: pointer; transition: background 180ms ease,color 180ms ease,border-color 180ms ease;}
.gallery-page-link:hover {color: white; background: var(--red); border-color: var(--red);}
.gallery-page-current {color: white; background: var(--red); border-color: var(--red); cursor: default;}

/* PROMOCJE detail */
.promo-grid-page {row-gap: 52px;}
.promo-detail {padding-top: 92px; padding-bottom: 104px;}
.promo-detail .btn {margin-top: 28px;}
.promo-detail-grid {display: grid; grid-template-columns: minmax(0,1fr) 641px; gap: 64px; align-items: start;}
.promo-detail h1 {margin: 6px 0; font-size: 32px; line-height: 1.25;}
.promo-detail p {margin: 28px 0; font-size: 16px; line-height: 1.6;}
.promo-detail img.promo-main-img {width: 641px; height: 427px; -o-object-fit: cover; object-fit: cover; border-radius: 5px;}
.promo-back {display: inline-flex; align-items: center; color: var(--red); font-size: 16px; font-weight: 700;}
.back-box {text-align: center; padding-top: 60px;}
.back-box .back-link {color: var(--red); font-size: 16px; font-weight: 400; text-decoration: underline;}

/* O NAS */
.about-hero-page {padding-top: 92px;}
.about-hero-grid {display: grid; grid-template-columns: minmax(0,1fr) 641px; gap: 62px; align-items: start;}
.about-hero-grid h2 {margin: 0 0 28px; font-size: 52px; line-height: 1.15;}
.about-hero-grid p {font-size: 16px; line-height: 1.6;}
.about-hero-grid img {width: 641px; height: 414px; -o-object-fit: cover; object-fit: cover; border-radius: 5px;}
.stats-grid {display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 25px; margin-top: 96px;}
.stats-grid div {display: grid; gap: 0; min-height: 160px; align-content: center;}
.stats-grid strong {font-size: 80px; line-height: 1; font-weight: 700;}
.stats-grid span {font-size: 20px; font-weight: 400;}
.why-section {background: var(--soft); text-align: center;}
.why-section h2 {margin: 0 0 18px; font-size: 32px;}
.why-section .why-text {max-width: 860px; margin: 0 auto; font-size: 16px; line-height: 1.6;}
.reason-grid {display: flex; justify-content: space-between; flex-wrap: wrap; gap: 40px 32px; margin-top: 52px;}
.reason-grid article {flex: 0 1 225px; display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; font-size: 16px; font-weight: 600; line-height: 23px;}
.reason-grid article img {width: 60px; height: 60px; -o-object-fit: contain; object-fit: contain;}
.split-section {}
.split-row {display: grid; grid-template-columns: 641px minmax(0,1fr); gap: 62px; align-items: center;}
.split-row img {width: 641px; height: 399px; -o-object-fit: cover; object-fit: cover; border-radius: 5px;}
.split-row h2 {margin: 0 0 18px; font-size: 24px;}
.split-row p {margin: 0 0 28px; font-size: 16px; line-height: 1.6;}

@media all and (max-width: 767px) {}
@media all and (max-width: 450px) {
    .reason-grid {gap: 30px 0;}
    .reason-grid article {flex: 0 1 50%;}
}

/* KARIERA */
.career-intro {padding-bottom: 30px;}
.job-content {max-width: 980px;}
.job-content h2 {margin: 34px 0 22px; font-size: 24px;}
.job-content h3 {margin: 36px 0 18px; font-size: 16px;}
.job-content p {max-width: none; margin: 0 0 24px;}
.job-content ul {display: grid; gap: 14px; margin: 0 0 30px; padding-left: 32px; list-style: disc;}
.job-content li {font-size: 16px; line-height: 1.45;}
.job-offers-list {display: grid; gap: 48px;}

/* KONTAKT */
.contact-card-grid {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 25px; margin-top: 44px;}
.contact-card-grid article {padding: 0; background: white; display: flex; align-items: flex-start; gap: 25px;}
.contact-card-grid .contact-card-icon {border-radius: 5px; border: 1px solid #D1D1D1; width: 65px; height: 65px; display: flex; align-items: center; justify-content: center;}
.contact-card-grid .contact-card-icon img {width: 35px; height: 35px;}
.contact-card-grid .contact-card-head {}
.contact-card-grid .contact-card-head h2 {margin: 0; font-size: 16px; line-height: 19px; font-weight: 700;}
.contact-card-grid .contact-card-address {margin-bottom: 18px; font-size: 15px; line-height: 19px; color: var(--text); font-weight: 400;}
.contact-card-grid .contact-card-section {margin-bottom: 18px;}
.contact-card-grid .contact-card-section:last-child {margin-bottom: 0;}
.contact-label {display: block; font-size: 16px; font-weight: 700; margin-bottom: 0; color: var(--text);}
.contact-card-section p {margin: 0; font-size: 16px; line-height: 19px; color: var(--text); font-weight: 400;}
.contact-card-section a {color: inherit;}
.map-section {height: 729px; overflow: hidden;}
.map-section img,
.map-section iframe {width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; border: 0; display: block;}

/* WYPRZEDAŻ strona */
.sale-page {padding-top: 40px;}

/* SCROLL TO TOP */
#scrolltotop.scrolltotop { position: fixed; bottom: 28px; right: 28px; z-index: 999; width: 44px; height: 44px; border-radius: 5px; background: var(--red); cursor: pointer; opacity: 0; visibility: hidden; transition: opacity 220ms ease,visibility 220ms ease;}
#scrolltotop.scrolltotop.vis {opacity: 1; visibility: visible;}
#scrolltotop.scrolltotop::before,
#scrolltotop.scrolltotop::after { content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 10px; border-top: 2px solid #fff; border-right: 2px solid #fff; transform: translate(-50%,-30%) rotate(-45deg);}
#scrolltotop.scrolltotop::after {display: none;}

/* RESPONSIVE */
@media (max-width:1280px) {
    .header-inner {grid-template-columns: 200px 1fr;}
    .offer-row,
    .contact-grid {grid-template-columns: 1fr;}
    .offer-row-right {justify-content: stretch;}
    .offer-image {width: 100%; height: auto; aspect-ratio: 530/330;}
    .feature-grid {grid-template-columns: repeat(2,minmax(0,1fr));}
    .sale-item summary {grid-template-columns: 38px minmax(0,1fr) auto;}
    .acc-intro,
    .service-row,
    .service-row-alt,
    .promo-detail-grid,
    .about-hero-grid,
    .split-row {grid-template-columns: 1fr;}
    .acc-image,
    .service-row img,
    .promo-detail img.promo-main-img,
    .about-hero-grid img,
    .split-row img {width: 100%; height: auto; aspect-ratio: 16/9;}
    .service-row {gap: 20px; margin-bottom: 30px;}
    .service-row-outer {padding-bottom: 40px; margin-bottom: 0;}
    .contact-card-grid,
    .gallery-grid {grid-template-columns: repeat(2,minmax(0,1fr));}
    .stats-grid {grid-template-columns: repeat(2,minmax(0,1fr));}
    .footer-grid {grid-template-columns: 1fr 1fr; gap: 40px;}
}
@media (max-width:1100px) {
    .footer-bottom {}
    .footer-bottom .container {grid-template-columns: 1fr; gap: 0;}
    .footer-bottom .container span {text-align: center;}
    .footer-bottom .container span:last-child {justify-self: center;}
}
@media (max-width:900px) {
    .container,
    .inner-wrapper {width: min(100% - 32px,var(--container));}
    .site-header,
    .cnt-header-main,
    .header-inner {min-height: auto;}
    .header-inner {grid-template-columns: 1fr 1fr; gap: 0; padding: 18px 0;}
    .hero,
    .hero-content {min-height: 580px;}
    .hero h1 {font-size: 38px;}
    .promo-grid {display: block;}
    .promo-grid .promo-card {margin-bottom: 20px;}
    .section {padding: 30px 0;}
    .section-head {align-items: start; flex-direction: column;}
    .image-band {height: 420px;}
    .form-row,
    .footer-bottom .container {grid-template-columns: 1fr;}
    .footer-bottom .container {justify-items: center; min-height: auto; padding: 22px 0; gap: 10px;}
    .footer-bottom .container span:first-child span {display: block;}
    .footer-bottom .container span:last-child {justify-self: center;}
    .page-intro {padding: 58px 0 34px;}
    .acc-intro {padding: 0;}
    .acc-copy {padding: 28px;}
    .acc-body {padding: 0 24px 28px;}
    .acc-body p:first-of-type {padding-top: 30px;}
    .acc-body p.brand-group-label,
    .acc-body p.brand-group-label:first-of-type {padding-top: 0;}
    .about-hero-grid h2 {font-size: 38px;}
}
@media (max-width:767px) {
    .acc-image {height: auto; aspect-ratio: auto; max-height: -webkit-max-content; max-height: -moz-max-content; max-height: max-content; -o-object-fit: contain; object-fit: contain;}
}
/* CONTACT FORM 7 */
.contact-form .wpcf7 {display: contents;}
.contact-form .wpcf7-form {display: grid; gap: 18px;}
.contact-form .wpcf7-form > p {margin: 0;}
.contact-form .wpcf7-form > p:last-of-type {text-align: right;}
.contact-form .wpcf7-form-control-wrap {display: block;}
.file-row .wpcf7-form-control-wrap {display: none;}
.contact-form input.wpcf7-submit.btn-red {width: 100%; border: none; color: white; background: var(--red); max-width: 200px; border-radius: 5px;}
.contact-form input.wpcf7-submit.btn-red:disabled {opacity: .6;}
.contact-form .wpcf7-not-valid {border-color: var(--red)!important;}
.contact-form .wpcf7-not-valid-tip {color: var(--red); font-size: 11px; margin-top: 4px; display: block; font-weight: 400;}
.contact-form .wpcf7-response-output {border: none; margin: 4px 0 0; padding: 0; font-size: 13px;}
.contact-form .wpcf7-form.sent .wpcf7-response-output {color: #2d7a37;}
.contact-form .wpcf7-form.invalid .wpcf7-response-output,
.contact-form .wpcf7-form.spam .wpcf7-response-output,
.contact-form .wpcf7-form.failed .wpcf7-response-output {color: var(--red);}
.contact-form .wpcf7-spinner {display: none;}
.contact-form .wpcf7-acceptance .wpcf7-list-item {margin: 0;}
.contact-form .wpcf7-acceptance .wpcf7-list-item > label {display: grid; grid-template-columns: 16px 1fr; align-items: start; gap: 11px; color: var(--muted-text); font-size: 10px; line-height: 1.35; font-weight: 400; cursor: pointer;}
.contact-form .wpcf7-acceptance input[type="checkbox"] {width: 17px; height: 17px; margin-top: 2px;}
.contact-form .consent a,
.contact-form .wpcf7-acceptance a {color: inherit;}
.contact-form .form-row > p {display: grid; grid-template-columns: 1fr 1fr; gap: 55px; margin: 0;}
.contact-form .form-row br {display: none;}
.contact-form .file-row > p {display: flex; align-items: center; gap: 16px; margin: 0;}
.contact-form .file-row br {display: none;}
.contact-form .screen-reader-response {position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0);}
@media (max-width:640px) {
    .brand img {width: 140px;}
    .hero h1 {font-size: 31px;}
    .hero p {font-size: 15px;}
    .hero-actions {width: 100%; flex-direction: column; gap: 12px;}
    .btn {width: 100%;}
    .promo-card img {height: 230px;}
    .feature-grid {grid-template-columns: 1fr;}
    .sale-item summary {grid-template-columns: 34px 1fr; gap: 16px; padding: 22px;}
    .sale-item b {justify-self: start; grid-column: 2; font-size: 20px;}
    .sale-item summary::after {grid-column: 1; grid-row: 2; margin-left: 11px;}
    .contact-form {padding: 28px 22px;}
    .review-card {padding: 28px;}
    .gallery-grid,
    .contact-card-grid,
    .stats-grid {grid-template-columns: 1fr;}
    .gallery-grid a {height: 240px;}
    .promo-detail h1,
    .page-intro h2 {font-size: 26px;}
    .about-hero-grid h2 {font-size: 31px;}
    .footer-grid {grid-template-columns: 1fr;}
    .stats-grid {grid-template-columns: 1fr 1fr;}
    .stats-grid div {min-height: 120px;}
    .stats-grid strong {font-size: 46px;}
    .contact-form .form-row > p {grid-template-columns: 1fr; gap: 20px;}
}

.grecaptcha-badge  {
display:none !important;
}