/* DQTemplate — dopasowanie treści z fluid_styled_content do motywu */
.ao-content .frame{margin-bottom:2.5rem}
.ao-content .frame:last-child{margin-bottom:0}
.ao-content h1,.ao-content h2,.ao-content h3,.ao-content h4{text-transform:uppercase;font-weight:700;line-height:1.1;margin:0 0 1rem}
.ao-content h2{font-size:clamp(1.8rem,3.2vw,2.4rem)}
.ao-content h3{font-size:1.5rem}
.ao-content p,.ao-content li{color:var(--ao-ink-2);line-height:1.75}
.ao-content a:not(.btn-ao){border-bottom:1px solid currentColor}
.ao-content img{max-width:100%;height:auto}
.ao-content table{width:100%;margin-bottom:1.5rem}
.ao-content table th,.ao-content table td{padding:.6rem .8rem;border-top:1px solid var(--ao-line)}
.ao-wide .frame{margin:0}
.ao-wide .frame > .frame-container{max-width:none}

/* Menu: strzałka rozwijania przy najechaniu (desktop) */
@media (min-width:992px){
  .nav-ao .dropdown-menu{margin-top:0}
}
.nav-ao .nav-link.active,.dropdown-item.active{font-weight:700}
.dropdown-item.active,.dropdown-item:active{color:#fff}
.footer__list a.active{color:var(--ao-accent)}

/* ---------- Zakładki (EXT:df_tabs) ---------- */
.tx-dftabs-plugin1 .nav-pills{
  --bs-nav-pills-link-active-bg:transparent;
  --bs-nav-pills-link-active-color:var(--ao-accent);
  background:transparent !important;
  padding:0 !important;
  gap:0;flex-wrap:wrap;
  border-bottom:1px solid var(--ao-line);
}
.tx-dftabs-plugin1 .nav-pills .nav-item{margin-bottom:-1px}
.tx-dftabs-plugin1 .nav-pills .nav-link{
  border-radius:0;background:none;
  padding:14px 22px;
  font-family:var(--ao-font-body);font-weight:600;font-size:.84rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ao-ink-2);
  border:0;border-bottom:3px solid transparent;
  transition:color .15s,border-color .15s;
}
.tx-dftabs-plugin1 .nav-pills .nav-link:hover{color:var(--ao-accent)}
.tx-dftabs-plugin1 .nav-pills .nav-link.active{color:var(--ao-ink);border-bottom-color:var(--ao-accent);background:none}
.tx-dftabs-plugin1 .nav-pills .nav-link:focus-visible{outline:2px solid var(--ao-accent);outline-offset:-2px}
.tx-dftabs-plugin1 .tab-content{padding-top:2.25rem}
@media (max-width:767px){
  /* mobile: zakładki w jednym przewijanym wierszu */
  .tx-dftabs-plugin1 .nav-pills{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}
  .tx-dftabs-plugin1 .nav-pills .nav-link{white-space:nowrap;padding:12px 16px}
  .tx-dftabs-plugin1 .tab-content{padding-top:1.5rem}
}

/* ---------- Tekst + obraz (ce-textpic) ---------- */
.ao-content .ce-textpic::after{content:"";display:block;clear:both}
.ao-content .ce-gallery figure{margin:0}
.ao-content .ce-gallery .ce-row+.ce-row{margin-top:1rem}
.ao-content .ce-gallery img{display:block;max-width:100%;height:auto}
.ao-content .ce-bodytext>*:last-child{margin-bottom:0}
.ao-content .ce-bodytext ul,.ao-content .ce-bodytext ol{padding-left:1.25rem;margin-bottom:1rem}
.ao-content .ce-bodytext li{margin-bottom:.35rem}
.ao-content .ce-bodytext li::marker{color:var(--ao-accent)}
.ao-content .ce-bodytext strong{color:var(--ao-ink)}

/* obraz obok tekstu (opływany) */
.ao-content .ce-intext.ce-left .ce-gallery{float:left;margin:.25rem 2rem 1rem 0}
.ao-content .ce-intext.ce-right .ce-gallery{float:right;margin:.25rem 0 1rem 2rem}
.ao-content .ce-intext.ce-nowrap .ce-gallery{margin-bottom:0}
.ao-content .ce-intext.ce-nowrap .ce-bodytext{overflow:hidden}
.ao-content .ce-intext.ce-nowrap.ce-left .ce-bodytext,
.ao-content .ce-intext.ce-nowrap.ce-right .ce-bodytext{display:flow-root}

/* obraz nad / pod tekstem, wyśrodkowany, kilka obrazów w rzędzie */
.ao-content .ce-above .ce-gallery{margin-bottom:1.5rem}
.ao-content .ce-below .ce-gallery{margin-top:1.75rem}
.ao-content .ce-center .ce-gallery .ce-inner{display:flex;flex-wrap:wrap;justify-content:center;gap:1.25rem}
.ao-content .ce-center .ce-gallery .ce-row{margin:0}
.ao-content .ce-center .ce-gallery .ce-row+.ce-row{margin-top:0}
.ao-content .ce-center .ce-gallery[data-ce-columns="2"] .ce-row{display:flex;gap:1.25rem}

/* na telefonie: obraz nad tekstem, bez opływania */
@media (max-width:767px){
  .ao-content .ce-intext.ce-left .ce-gallery,
  .ao-content .ce-intext.ce-right .ce-gallery{float:none;margin:0 0 1.25rem}
  .ao-content .ce-intext.ce-nowrap .ce-bodytext{overflow:visible}
  .ao-content .ce-center .ce-gallery[data-ce-columns="2"] .ce-row{flex-direction:column}
}

/* ---------- Lightbox (EXT:skjsonlylightbox / GLightbox) ---------- */
.ao-content a.skjsonlylightbox{display:block;position:relative;border-bottom:0;overflow:hidden;cursor:zoom-in}
.ao-content a.skjsonlylightbox img{transition:transform .35s ease}
.ao-content a.skjsonlylightbox:hover img{transform:scale(1.04)}
.ao-content a.skjsonlylightbox::after{
  content:"";position:absolute;right:10px;bottom:10px;width:34px;height:34px;border-radius:50%;
  background:rgba(27,29,31,.72) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'%3e%3ccircle cx='10.5' cy='10.5' r='6'/%3e%3cpath d='M15 15l5 5M10.5 8v5M8 10.5h5'/%3e%3c/svg%3e") center/18px no-repeat;
  opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s;
}
.ao-content a.skjsonlylightbox:hover::after,.ao-content a.skjsonlylightbox:focus-visible::after{opacity:1;transform:none}
/* okno lightboxa w kolorach strony */
.glightbox-clean .gslide-description{background:var(--ao-bg)}
.glightbox-clean .gdesc-inner{padding:16px 22px}
.glightbox-clean .gslide-title{font-family:var(--ao-font-display);text-transform:uppercase;font-size:1.2rem;color:var(--ao-ink)}
.glightbox-clean .gslide-desc{color:var(--ao-ink-2);font-family:var(--ao-font-body)}
.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background:rgba(27,29,31,.7)}
.glightbox-clean .gclose:hover,.glightbox-clean .gnext:hover,.glightbox-clean .gprev:hover{background:var(--ao-accent)}
.goverlay{background:rgba(20,23,26,.92)}

/* ---------- Listy punktowane: kwadratowy pomarańczowy punktor (ce-bullets i wszystkie ul w .ao-content) ---------- */
ul.ce-bullets,
.ao-content ul:not(.nav):not(.nav-pills):not(.pagination):not(.dropdown-menu):not(.list-unstyled){
  list-style:none;padding-left:1.5em;margin:0 0 1rem;
}
ul.ce-bullets>li,
.ao-content ul:not(.nav):not(.nav-pills):not(.pagination):not(.dropdown-menu):not(.list-unstyled)>li{list-style:none}
ul.ce-bullets>li::before,
.ao-content ul:not(.nav):not(.nav-pills):not(.pagination):not(.dropdown-menu):not(.list-unstyled)>li::before{
  content:"";
  line-height:1em;
  width:.5em;
  height:.5em;
  background-color:#D25400;
  float:left;
  margin:.60em .7em 0;
  margin-left:-1.5em;
}

/* ---------- Obramowanie obrazów / iframe (opcja "Border" w elemencie) ---------- */
body .ce-border img,
body .ce-border iframe{border:2px solid rgb(199,199,199);padding:0}

/* ---------- Style z menu "Style" w edytorze RTE ---------- */
.frameorange,
.ao-content p.frameorange{
  background-color:#FF7A22;
  color:#FFF;
  padding:1rem 1.2rem;
  display:block;
  margin:1rem 0;
}
.ao-content p.frameorange strong,
.ao-content p.frameorange em{color:#FFF}
.ao-content p.frameorange a{color:#FFF;border-bottom-color:rgba(255,255,255,.6)}
.ao-content .text-justify{text-align:justify}

/* ---------- Formularze (EXT:form): przycisk jak .btn-ao--accent ---------- */
.form-navigation .btn,
.form-navigation .btn-primary{
  --bs-btn-bg:var(--ao-accent);
  --bs-btn-border-color:var(--ao-accent);
  --bs-btn-color:#fff;
  --bs-btn-hover-bg:var(--ao-dark);
  --bs-btn-hover-border-color:var(--ao-dark);
  --bs-btn-hover-color:#fff;
  --bs-btn-active-bg:var(--ao-dark);
  --bs-btn-active-border-color:var(--ao-dark);
  --bs-btn-active-color:#fff;
  --bs-btn-focus-shadow-rgb:208,102,45;
  background:var(--ao-accent);
  border:1px solid var(--ao-accent);
  color:#fff;
  border-radius:0;
  margin-top:2em;
  padding:15px 28px;
  font-weight:700;
  font-size:.88rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  transition:background .15s,color .15s,border-color .15s;
}
.form-navigation .btn:hover,
.form-navigation .btn:focus-visible,
.form-navigation .btn:active{background:var(--ao-dark);border-color:var(--ao-dark);color:#fff}

/* ---------- Formularze: checkbox z długim tekstem – tekst opływa checkbox z prawej strony ---------- */
.form-check-wrapping-label{
  display:flex;
  align-items:flex-start;
  gap:.7em;
  padding-left:0;
}
.form-check-wrapping-label .form-check-input{
  flex:0 0 auto;
  float:none;
  margin:.3em 0 0;
}
.form-check-wrapping-label .form-check-label{
  flex:1 1 auto;
  min-width:0;
  display:block;
  line-height:1.5;
}

/* ---------- Formularz kontaktowy: mniejszy tekst zgody (checkbox-2) i klauzuli informacyjnej ---------- */
#formularzkontaktowy-892 label[for="formularzkontaktowy-892-checkbox-2"]{font-size:.85rem;line-height:1.5}
#formularzkontaktowy-892 .form-element-statictext p{font-size:.85rem;line-height:1.55;color:var(--ao-ink-3)}

/* ---------- Tabele z edytora RTE (figure.table) – responsywne ---------- */
.ao-content figure.table{
  margin:0 0 1.75rem;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border:1px solid var(--ao-line);
}
.ao-content figure.table table{
  width:100%;
  margin:0;
  border-collapse:collapse;
  font-size:.95rem;
}
.ao-content figure.table th,
.ao-content figure.table td{
  padding:.8rem 1rem;
  text-align:left;
  vertical-align:top;
  border-top:1px solid var(--ao-line);
  border-left:1px solid var(--ao-line);
  line-height:1.5;
}
.ao-content figure.table tr>*:first-child{border-left:0}
.ao-content figure.table thead th{
  background:var(--ao-dark);
  color:#fff;
  border-top:0;
  border-left-color:rgba(255,255,255,.15);
  font-size:.8rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
.ao-content figure.table tbody tr:nth-child(even)>*{background:var(--ao-bg)}
.ao-content figure.table tbody td:first-child{font-weight:600;color:var(--ao-ink)}
@media (max-width:767px){
  .ao-content figure.table table{min-width:560px;font-size:.88rem}
  .ao-content figure.table th,
  .ao-content figure.table td{padding:.65rem .8rem}
  /* pierwsza kolumna zostaje widoczna przy przewijaniu w bok */
  .ao-content figure.table tbody td:first-child,
  .ao-content figure.table thead th:first-child{position:sticky;left:0;z-index:1;min-width:8.5rem}
  .ao-content figure.table tbody td:first-child{background:#fff;box-shadow:1px 0 0 var(--ao-line)}
  .ao-content figure.table tbody tr:nth-child(even) td:first-child{background:var(--ao-bg)}
}

/* ======================================================================
   Formularze EXT:form – wygląd karty, układ i pola
   (zakres: elementy "Formularz" – .frame-type-form_formframework)
   ====================================================================== */
.frame-type-form_formframework form{
  background:#faf9f7;
  border:1px solid #ece8e1;
  border-top:3px solid var(--ao-accent);
  padding:2.25rem 2.25rem 2rem;
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:1.5rem;
  max-width:860px;
}
/* pomocniczy div z ukrytymi polami (__state, __trustedProperties) nie zajmuje miejsca */
.frame-type-form_formframework form>div:first-child{display:none}
.frame-type-form_formframework .form-element{grid-column:1/-1;margin-bottom:1.35rem !important}
/* imię i telefon obok siebie */
.frame-type-form_formframework .form-element-text,
.frame-type-form_formframework .form-element-phone{grid-column:auto}

/* etykiety */
.frame-type-form_formframework .form-label,
.frame-type-form_formframework fieldset>legend{
  display:block;float:none;width:auto;
  margin:0 0 .45rem;padding:0;
  font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ao-ink);
}
.frame-type-form_formframework .required{color:var(--ao-accent);margin-left:.15em}

/* pola tekstowe */
.frame-type-form_formframework .form-control{
  background:#fff;
  border:1px solid #dcd6cd;
  border-radius:0;
  padding:.8rem .95rem;
  font-size:1rem;
  color:var(--ao-ink);
  box-shadow:none;
  transition:border-color .15s,box-shadow .15s;
}
.frame-type-form_formframework .form-control:hover{border-color:#c8c1b6}
.frame-type-form_formframework .form-control:focus{
  border-color:var(--ao-accent);
  box-shadow:0 0 0 3px rgba(208,102,45,.18);
  outline:0;
}
.frame-type-form_formframework textarea.form-control{min-height:11rem;resize:vertical}

/* grupa checkboxów "Zapytanie dotyczy" – siatka kafelków */
.frame-type-form_formframework fieldset{border:0;padding:0;margin:0}
.frame-type-form_formframework [role="group"]{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.6rem;
}
.frame-type-form_formframework [role="group"] .form-check{
  margin:0 !important;padding:0;min-height:0;
}
.frame-type-form_formframework [role="group"] .form-check-wrapping-label{
  width:100%;height:100%;
  background:transparent;border:1px solid #e3ded6;
  padding:.7rem .9rem;cursor:pointer;
  transition:border-color .15s,background .15s;
}
.frame-type-form_formframework [role="group"] .form-check-wrapping-label:hover{border-color:var(--ao-accent)}
.frame-type-form_formframework [role="group"] .form-check-wrapping-label:has(input:checked){
  border-color:var(--ao-accent);background:rgba(208,102,45,.06);
}

/* checkboxy w kolorze akcentu */
.frame-type-form_formframework .form-check-input{
  width:1.15em;height:1.15em;
  border:1px solid #b9b2a7;border-radius:0;
  background-color:transparent;cursor:pointer;
}
.frame-type-form_formframework .form-check-input:checked{
  background-color:var(--ao-accent);border-color:var(--ao-accent);
}
.frame-type-form_formframework .form-check-input:focus{
  border-color:var(--ao-accent);box-shadow:0 0 0 3px rgba(208,102,45,.18);
}
.frame-type-form_formframework .form-check-label{cursor:pointer}
.frame-type-form_formframework [role="group"] .form-check-label{font-size:.9rem;line-height:1.35}

/* zgoda + klauzula */
.frame-type-form_formframework .form-element-check{margin-bottom:1rem !important}
.frame-type-form_formframework .form-element-statictext{
  border-top:1px solid #ece8e1;padding-top:1.1rem;margin-bottom:.5rem !important;
}
.frame-type-form_formframework .form-element-statictext p:last-child{margin-bottom:0}

/* błędy walidacji */
.frame-type-form_formframework .invalid-feedback,
.frame-type-form_formframework .error{display:block;margin-top:.35rem;font-size:.82rem;color:#b3261e}
.frame-type-form_formframework .form-control.is-invalid{border-color:#b3261e}

/* przycisk */
.frame-type-form_formframework .actions{grid-column:1/-1}

@media (max-width:767px){
  .frame-type-form_formframework form{padding:1.4rem 1.1rem 1.25rem;grid-template-columns:1fr}
  .frame-type-form_formframework .form-element-text,
  .frame-type-form_formframework .form-element-phone{grid-column:1/-1}
  .frame-type-form_formframework [role="group"]{grid-template-columns:1fr 1fr}
  .frame-type-form_formframework .form-navigation .btn{width:100%}
}

/* wyrównanie checkboxa do pierwszej linii tekstu (środek kwadratu = środek pierwszej linii) */
.frame-type-form_formframework .form-check-wrapping-label .form-check-input{margin-top:.1em}
.frame-type-form_formframework [role="group"] .form-check-wrapping-label{align-items:flex-start}
.frame-type-form_formframework [role="group"] .form-check-wrapping-label .form-check-input{margin-top:0}

/* ---------- Formularze: dopracowane pola tekstowe ---------- */
.frame-type-form_formframework .form-control{
  padding:.9rem 1.05rem;
  border:1px solid #ddd8ce;
  box-shadow:inset 0 1px 2px rgba(27,29,31,.05);
  font-size:1rem;
  line-height:1.4;
  transition:border-color .2s,box-shadow .2s,background-color .2s;
}
.frame-type-form_formframework .form-control::placeholder{color:#a39b90;opacity:1}
.frame-type-form_formframework .form-control:hover{
  border-color:#c8c1b6;
}
.frame-type-form_formframework .form-control:focus{
  background:#fff;
  border-color:var(--ao-accent);
  box-shadow:inset 0 1px 2px rgba(27,29,31,.04),0 4px 14px rgba(208,102,45,.14);
}
.frame-type-form_formframework .form-control:focus-visible{outline:0}
/* wypełnienie automatyczne przeglądarki bez żółtego/niebieskiego tła */
.frame-type-form_formframework .form-control:-webkit-autofill{
  -webkit-box-shadow:0 0 0 1000px #fff inset;
  -webkit-text-fill-color:var(--ao-ink);
}
/* pola z błędem */
.frame-type-form_formframework .form-control.is-invalid,
.frame-type-form_formframework .form-control:user-invalid{
  border-color:#b3261e;
  background-image:none;
}
