/* ==========================================================================
   overrides.css – odświeżenie wyglądu (ładowany PO style.min.css)
   Sekcje: 0 fonty · 1 layout · 2 banery · 3 typografia · 4 przyciski ·
   5 formularze · 6 kontakt · 7 o nas · 8 stopka/karty/FAQ · 9 ruch ·
   10 strona główna · 11 podstrony usług
   ========================================================================== */

/* ---- 0. Fonty (hostowane lokalnie) ---- */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/cormorant-garamond-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/cormorant-garamond-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/source-sans-3-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/source-sans-3-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/source-sans-3-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/source-sans-3-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

html body,
html body p, html body li, html body a, html body span, html body em, html body strong, html body label,
html body button, html body input, html body textarea, html body select,
html body h3, html body h4, html body h5, html body h6, html body th, html body td, html body address, html body small {
  font-family: 'Source Sans 3', Arial, Helvetica, sans-serif !important;
}
html body h1, html body h2 {
  font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif !important;
  font-weight: 600 !important;
  letter-spacing: 0;
}
html body h2 span { font-family: inherit !important; }

/* ---- 1. Layout: jeden kontener, bez poziomego przewijania ---- */
.container {
  width: 100%;
  max-width: 1200px;
  padding-left: 32px;
  padding-right: 32px;
}
.container .container {
  padding-left: 0;
  padding-right: 0;
  max-width: 100%;
}
@media (max-width: 767px) {
  .container { padding-left: 20px; padding-right: 20px; }
}
@media (max-width: 760px) {
  .seo-box { margin-left: 0; margin-right: 0; padding-left: 20px; padding-right: 20px; }
}

/* ---- 2. Banery i odstępy ---- */
.at-innerbannercontent { padding: 64px 0 48px; }
.at-pagespace { padding: 56px 0; }
.at-innerbanner .at-pagetitle h1 {
  font-size: 40px;
  line-height: 1.25;
}
@media (max-width: 767px) {
  .at-innerbannercontent { padding: 36px 0 28px; }
  .at-pagespace { padding: 36px 0; }
  .at-innerbanner .at-pagetitle h1 { font-size: 30px; }
}

/* ---- 3. Typografia (zasięg: treść strony) ---- */
.at-main h2,
.at-main .at-sectiontitleborder h2 {
  font-size: 32px;
  line-height: 1.25;
}
.at-main h3 {
  font-size: 24px;
  line-height: 1.3;
}
.at-main p,
.at-main li,
.at-main .at-description p {
  font-size: 17px;
  line-height: 1.65;
  font-weight: 400;
}
.at-main .at-btn { font-size: 15px; }
.seo-info-sec p,
.at-faqcategorytitle p { max-width: 75ch; }
.at-faqcategorytitle { max-width: 760px; }
@media (max-width: 767px) {
  .at-main h2,
  .at-main .at-sectiontitleborder h2 { font-size: 28px; }
  .at-main h3 { font-size: 21px; }
  .at-main p,
  .at-main li,
  .at-main .at-description p { font-size: 16px; }
  .at-faqcategory { margin-bottom: 28px; }
}

/* ---- 4. Przyciski: prostokąty, bez przesuniętej warstwy ---- */
.at-btn:before,
.at-btnb:before,
.at-btnw:before { display: none; content: none; }
.at-btn,
.at-btn:hover,
.at-btnb:hover,
.at-btnw:hover {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 12px 28px;
  min-height: 46px;
  line-height: 1.3;
  font-size: 15px;
  border-radius: 0;
  box-shadow: none;
  transition: background-color .2s, color .2s, border-color .2s;
}
/* główny: zielony */
.at-btnb, .btn-green, .at-btnactive {
  background: #0e3928;
  color: #fff;
  border-color: #0e3928;
}
.at-btnb:hover, .btn-green:hover, .at-btnactive:hover {
  background: #0a2a1d;
  color: #fff !important;
  border-color: #0a2a1d;
}
/* drugorzędny: biały / przezroczysty z ramką */
.at-btnw {
  background: #fff;
  color: #0e3928;
  border-color: #fff;
}
.at-btnw:hover { background: #eef2f0; color: #0e3928 !important; }
/* na zielonym hero: główny = biały, drugorzędny = obrys */
.at-pogolidercontent .at-btnactive,
.at-pogolidercontent .at-btnb {
  background: #fff;
  color: #0e3928;
  border-color: #fff;
}
.at-pogolidercontent .at-btnactive:hover,
.at-pogolidercontent .at-btnb:hover { background: #eef2f0; color: #0e3928 !important; }
.at-pogolidercontent .at-btn:not(.at-btnactive):not(.at-btnb) { background: transparent; color: #fff; border-color: #fff; }
.at-pogolidercontent .at-btn:not(.at-btnactive):not(.at-btnb):hover { background: rgba(255,255,255,.12); color: #fff !important; }
.at-btn:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 3px solid #0e3928;
  outline-offset: 2px;
}
.at-pogolidercontent a:focus-visible, .at-footer a:focus-visible, .at-formcontacus *:focus-visible, .at-whychooseusarea a:focus-visible { outline-color: #fff; }
/* przyciski z numerem i nazwiskiem (strona główna) */
.at-titleandbtn .at-btn {
  line-height: 1.3;
  padding: 8px 24px;
  margin: 0 12px 12px 0;
  text-align: left;
  vertical-align: top;
}
.at-titleandbtn .at-btn small { display: block; font-size: 13px; opacity: .85; }

/* ---- 5. Formularze ---- */
html body .at-formtheme .form-control,
html body .at-formtheme input[type=text],
html body .at-formtheme input[type=email],
html body .at-formtheme input[type=tel],
html body .at-formtheme textarea {
  font-size: 16px;
  min-height: 46px;
  border-radius: 0;
  box-shadow: none;
  padding: 10px 14px;
}
.at-formtheme .form-label {
  display: block;
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 6px;
}
.at-formrequestcallback .form-control,
.at-formrequestcallback input,
.at-formrequestcallback textarea { color: #333; background: #fff; border: 1px solid #bbb; }
.at-formrequestcallback .form-label { color: #333; }
.at-formrequestcallback ::placeholder { color: #767676; opacity: 1; }
.at-formcontacus .form-control,
.at-formcontacus input[type=text],
.at-formcontacus input[type=email],
.at-formcontacus input[type=tel],
.at-formcontacus textarea { color: #fff; background: transparent; border: 1px solid rgba(255,255,255,.6); }
.at-formcontacus .form-label { color: #fff; }
.at-formcontacus ::placeholder { color: rgba(255,255,255,.75); opacity: 1; }
.at-formtheme .form-control:focus { border-color: #0e3928; box-shadow: 0 0 0 2px rgba(14,57,40,.25); }
.at-formcontacus .form-control:focus { border-color: #fff; box-shadow: 0 0 0 2px rgba(255,255,255,.35); }
html body .at-formtheme .form-group { display: block; position: relative; }
.at-formtheme .form-group input[type=checkbox] ~ span.error { display: block; padding-left: 30px; }
html body .at-formtheme label.privacy-policy {
  display: block;
  text-align: left !important;
  font-size: 14px;
  line-height: 1.5;
  padding-left: 30px;
}
html body .at-formtheme .form-group input[type=checkbox] {
  position: absolute;
  left: 0;
  top: 3px;
  margin: 0;
  width: 20px;
  height: 20px;
}

/* ---- 6. Kontakt ---- */
.at-formcontacus .at-sectiontitleborder h1,
.at-formcontacus .at-sectiontitleborder h2 { color: #fff; }
.at-formcontacus .at-sectiontitleborder h1 { font-size: 40px; line-height: 1.25; margin: 0; }
@media (max-width: 991px) {
  .at-contactusvfour { display: flex; flex-direction: column; padding-top: 80px; }
  .at-contactusvfour .at-formcontacus { order: 1; width: 100%; float: none; margin-top: 0; padding: 40px 20px; }
  .at-contactusvfour .at-locationmap { order: 2; position: static; width: 100%; height: 260px; float: none; }
  .at-contactusvfour .at-locationmap iframe { width: 100%; height: 100%; }
}

/* ---- 7. O nas ---- */
.at-processcontent .at-sectiontitleborder h2 { font-size: 32px; line-height: 1.2; }
.at-processcontent .at-sectiontitleborder h3 {
  font-size: 17px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #555;
  margin: 8px 0 0;
}
.at-ourprocess figure, .at-ourprocess figure img, .team-photo { box-shadow: none !important; }
.team-photo { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: top; }
@media (max-width: 767px) {
  .at-processcontent .at-sectiontitleborder h2 { font-size: 28px; }
}

/* ---- 8. Stopka, karty, nagłówek ---- */
.at-footer, .at-footer p, .at-footer li, .at-footer a { font-size: 15px; line-height: 1.5; }
.at-footer li { margin-bottom: 8px; }
.at-feature, .seo-box, .at-aboutus, .at-sidebar, .at-widget { box-shadow: none; }
.at-contactnumber a, .at-contactnumber em { color: #0e3928; font-weight: 600; font-style: normal; }

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

/* ---- 8b. Okruszki, FAQ (akordeon +/−), kontakt ---- */
.at-breadcrumb { text-transform: none; font-size: 14px; }
.at-faqaccordion .panel { border: 0; border-bottom: 1px solid #ddd; box-shadow: none; background: transparent; }
.at-faqaccordion .panel-heading { padding: 0; background: transparent; border: 0; }
.at-faqaccordion .panel-title a {
  display: block;
  position: relative;
  padding: 14px 36px 14px 0;
  font-size: 18px;
  line-height: 1.4;
  text-decoration: none;
}
.at-faqaccordion .panel-title a:after {
  content: '\2212';
  position: absolute;
  right: 4px;
  top: 12px;
  font-size: 24px;
  line-height: 1;
  color: #0e3928;
}
.at-faqaccordion .panel-title a.collapsed:after { content: '+'; }
.at-faqaccordion .panel-body { padding: 0 0 16px; border: 0; }
.contact-label { opacity: .8; margin-right: 4px; }
.route-link { display: inline-block; margin-top: 6px; color: #fff; font-weight: 600; }

/* ---- 10. Strona główna (układ sekcji bez zmian) ---- */
/* oferta: siatka w miejscu dawnej karuzeli, obok bloku tytułu */
.home-services {
  float: left;
  width: calc(73% - 70px);
  margin: 40px 0 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media (min-width: 1281px) and (max-width: 1440px) { .home-services { width: calc(70% - 70px); } }
@media (max-width: 1280px) { .home-services { width: calc(68% - 70px); } }
@media (max-width: 1080px) {
  .home-services { float: none; width: 100%; clear: both; padding: 0 20px; }
}
@media (max-width: 599px) { .home-services { grid-template-columns: 1fr; } }
.home-service {
  display: block;
  background: #fff;
  border: 1px solid #ddd;
  border-top: 3px solid #0e3928;
  padding: 24px;
  color: #333;
  text-decoration: none;
  box-shadow: none;
}
.home-service:hover { border-color: #0e3928; color: #333; text-decoration: none; }
.home-service h3 { margin: 0 0 10px; font-size: 22px; line-height: 1.3; color: #0e3928; }
.home-service p { margin: 0 0 14px; font-size: 16px; line-height: 1.55; }
.home-service__more { font-weight: 600; color: #0e3928; font-size: 15px; }

/* O nas: portrety zamiast tła z młotkiem, w tym samym miejscu (prawa strona) */
.at-aboutus { background-image: none; display: flex; align-items: center; gap: 40px; }
.at-aboutus .at-textcontent { flex: 1 1 55%; width: auto; margin: 50px 0; }
.home-team { flex: 1 1 45%; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 50px 0; }
.home-team__person { margin: 0; }
.home-team__person img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: top; box-shadow: none; }
.home-team__person figcaption { padding-top: 10px; line-height: 1.3; }
.home-team__person figcaption strong { display: block; font-size: 18px; }
.home-team__person figcaption span { font-size: 14px; text-transform: uppercase; letter-spacing: .08em; color: #555; }
@media (max-width: 991px) {
  .at-aboutus { display: block; }
  .at-aboutus .at-textcontent { width: 100%; }
  .home-team { margin: 30px 0; }
}

/* „Dlaczego warto” bez ikon */
.at-whychooseus .at-whychooseuscontent { width: 100%; padding-left: 0; margin-left: 0; }

/* ---- 11. Podstrony usług ---- */
.behind { display: none; }
.at-sidebar .at-widgettext { background: #0e3928; padding: 28px; box-shadow: none; }
.at-sidebar .at-widgettext .at-widgettitleborder h3 { font-size: 24px; margin: 0 0 14px; color: #fff; }
.at-sidebar .at-widgettext .sidebar-phone { font-size: 28px; line-height: 1.2; margin: 0 0 12px; }
.at-sidebar .at-widgettext .sidebar-phone a { color: #fff; font-weight: 600; text-decoration: none; }
.at-sidebar .at-widgettext p { color: #fff; }
.seo-info-sec img.img-fluid,
.at-main .col-md-8 img.img-fluid { width: 100%; max-height: 360px; object-fit: cover; }

/* ---- 12. Poprawki po recenzji ---- */
.at-requestandcustomers { margin: 0; }
.at-navigation ul li a { text-transform: none; }
