/*
Theme Name: Twenty Twenty-Five
Theme URI: https://devisu.pl/
Author: Devisu
Author URI: https://devisu.pl/
Description: Child theme
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: twentytwentyfive
Text Domain: twentytwentyfivechild
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

body,
html {
  overflow-x: hidden;
}
header {
  position: fixed;
  top: 24px;
  width: 100%;
  left: 0;
  right: 0;
  z-index: 991;
  width: 100%;
}

:where(.wp-site-blocks *:focus) {
  outline: none !important;
}

.logged-in header {
  top: 56px;
}

header ul li.btn a {
  color: var(--wp--preset--color--white) !important;
  background-color: var(--wp--preset--color--custom-niebieski);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  padding: 7px 14px;
}

.w152 {
  min-width: 152px;
}

.wpcf7 label,
.wpcf7 p {
  font-size: 0.8rem;
  font-family: 'Open Sans', sans-serif;
}

.wpcf7 label {
  font-weight: 500;
}

.wpcf7 .wpcf7-form-control-wrap {
  margin-top: 8px;
  display: flex;
}

.wpcf7 p {
  margin: 0 0 24px 0;
  width: 100%;
  display: block;
}

.wpcf7 .dflex p {
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.wpcf7 .dflex p input {
  width: 100%;
}

.wpcf7 .wpcf7-not-valid {
  border-color: #dc3232;
}

.wpcf7 .wpcf7-not-valid-tip {
  display: none !important;
}

.wpcf7 input,
.wpcf7 textarea,
.wpcf7 select {
  outline: 0;
  padding: 9px 12px;
  border: 1px solid #ACB1B4;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  font-family: 'Open Sans', sans-serif;
  width: 100%;
}

.wpcf7 .wpcf7-submit {
  background-color: var(--wp--preset--color--custom-niebieski);
  border-color: var(--wp--preset--color--custom-niebieski);
  color: var(--wp--preset--color--white);
  width: initial;
  cursor: pointer;
}

.wpcf7 .wpcf7-acceptance label {
  display: flex;
  gap: 8px;
  font-size: 0.7rem;
  font-weight: 400;
}

.wpcf7 .wpcf7-acceptance input[type="checkbox"] {
  width: 16px;
  height: 16px;
}

.wpcf7 .wpcf7-list-item {
  margin: 0;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
  font-size: var(--wp--preset--font-size--medium);
  margin: 0;
  padding: 8px;
  border-width: 1px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}

footer.wp-block-template-part {
  margin: 0;
}

.w300 {
  max-width: 300px;
}

.ml100 {
  position: relative;
  left: -100px;
  top: 100px;
}

.ml50 {
  position: relative;
  left: -50px;
  top: 100px;
}

.ovn {
  overflow: initial !important;
}

.map {
  height: 500px !important;
}

.home .wp-block-cover__inner-container .wp-block-buttons {
  gap: 10px !important;
}

/* cookie banner */
#cmplz-document {
  font-size: 16px;
  max-width: 1400px;
}
#cmplz-document h2 {
  font-size: 32px;
}
#cmplz-document .cmplz-subtitle {
  font-size: 24px;
}

#cmplz-document p {
  font-size: 16px;
}

.realizations-gallery > figure {
  flex-basis: 33%;
}
.realizations-gallery > figure img {
  height: 100% !important;
  max-height: 58vw;
}
.realizations-gallery > .wp-block-group {
  flex-basis: 67%;
}

/* popup */
.popup {
  display: none;
  position: fixed;
  z-index: 9999;
  inset: 0;
  background: rgba(0,0,0,0.6);
  justify-content: center;
  align-items: center;
  font-size: 16px;
}

.popup-inner {
  background: #fff;
  padding: 30px;
  max-width: 800px;
  width: 90%;
  position: relative;
  max-height: 80vh;
  overflow-y: auto;
}
.popup-inner table {
  width: 100%;
}
.popup-inner table, 
.popup-inner th, 
.popup-inner td {
  border: 1px solid black;
  border-collapse: collapse;
}
.popup-inner th, 
.popup-inner td {
  padding: 5px;
  width: 50%;
}

.popup-open {
  cursor: pointer;
}

.close-popup {
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 24px;
  background: transparent;
  border: none;
  cursor: pointer;
}

/* formularz wyceny */
.brama-form {
  box-shadow: var(--wp--preset--shadow--deep);
  padding: 64px;
}
.brama-form button {
  background-color: #0f54b1;
  border: 1px solid #0f54b1;
  border-radius: 4px;
  color: #fff;
  cursor: pointer;
  font-size: 13.33px;
  padding: 9px 12px;
}
.brama-form div,
.brama-form label,
.brama-form-wzor {
  display: flex;
  flex-wrap: wrap;
}
.brama-form div {
  gap: 0 24px;
}
.brama-form div p {
  width: 100%;
}
.brama-form label {
  display: flex;
  font-size: 16px;
  margin-bottom: 24px;
  width: calc(50% - 12px);
}
.brama-form label p {
  margin: 0 0 8px;
}
.brama-form
.brama-form-radio label {
  width: calc(100% / 3 - 16px);
}
.brama-form input[type="text"],
.brama-form input[type="email"],
.brama-form input[type="number"], 
.brama-form input[type="tel"], 
.brama-form textarea, 
.brama-form select {
    outline: 0;
    padding: 9px 12px;
    border: 1px solid #ACB1B4;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    font-family: 'Open Sans', sans-serif;
    width: 100%;
}
.brama-form-info label {
    width: calc(100% / 3 - 16px);
}
.brama-form-info label:last-child {
    width: 100%;
}
.brama-form-ral a {
  box-sizing: border-box;
  cursor: pointer;
  display: block;
  font-size: 9px;
  padding: 4px 2px;
  text-align: center;
  text-decoration: none;
  width: 5%;
}
.brama-form-ral a:hover {
  text-decoration: underline;
}
.brama-form-rodo label {
  width: 100%;
}
.brama-form-wzor {
  gap: 0 !important;
}
.brama-form-wzor label {
  flex-direction: column;
  width: calc(100% / 6);
}
.brama-form-wzor img {
  margin: auto;
  width: fit-content;
}
.ral-header {
  cursor: pointer;
  font-size: 16px;
  position: relative;
}
.ral-header::after {
  align-items: center;
  background: #0f54b1;
  border-radius: 10px;
  content: '+';
  color: #fff;
  display: flex;
  font-size: 16px;
  height: 20px;
  justify-content: center;
  line-height: 10px;
  width: 20px;
}
.ral-header.open::after {
  content: '-';
  line-height: 1px;
}
.ral-palette-wrapper {
  display: grid !important;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s ease-in-out;
}
.ral-palette-wrapper.open {
  grid-template-rows: 1fr;
}
.ral-palette {
  overflow: hidden;
  gap: 0 !important;
}

@media (max-width: 1500px) {
  .possibilities .ml100 {
    left: -75px;
  }
}
@media (max-width: 1200px) {
.home .wp-block-cover__inner-container .wp-block-columns .wp-block-column:first-child > p {
    font-size: 40px !important;
  }
}
@media (max-width: 991px) {
  .wp-block-site-logo {
    width: 150px;
  }
  .home .services .wp-block-columns {
    flex-wrap: wrap !important;
  }
  .home .services > .wp-block-columns > .wp-block-column {
    flex-basis: 100% !important;
  }
  /*.home .services .wp-block-columns .wp-block-column:not(:first-child) {
    flex-basis: calc(50% - 25px) !important;
  }*/
  .home .why-us {
    flex-wrap: wrap !important;
  }
  .home .why-us .wp-block-column {
    flex-basis: calc(50% - 12px) !important;
  }
  .brama-form-wzor label {
    width: calc(100% / 3);
  }
  .brama-form-ral a {
    width: calc(100% / 12);
  }
}
@media (min-width: 769px) {
  .hide-desktop {
    display: none !important;
  }
  .home .services > .wp-block-columns > .wp-block-column .wp-block-columns {
    flex-wrap: nowrap !important;
  }
  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: none !important;
  }
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: block !important;
  }
}
@media (max-width: 768px) {
  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex !important;
  }
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: none !important;
  }
  .hide-mobile {
    display: none !important;
  }
  .cta {
    padding: 32px !important;
  }
  .cta .wp-block-group {
    flex-wrap: wrap !important;
  }
  .cta-form .wp-block-columns .wp-block-group {
    padding: 32px !important;
  }
  .home .wp-block-cover {
    padding: 0 !important;
  }
  .home .wp-block-cover__inner-container .wp-block-buttons {
    margin-bottom: 30px;
  }
  .home .wp-block-cover__inner-container > .wp-block-group {
    flex-wrap: wrap !important;
  }
  .home .wp-block-cover__inner-container > .wp-block-group > p {
    font-size: 28px !important;
    padding-top: 100px !important;
  }
  .home .wp-block-cover__inner-container > .wp-block-group > p,
  .home .wp-block-cover__inner-container > .wp-block-group > .wp-block-group {
    flex-basis: 100% !important;
  }
  .home .wp-block-cover__inner-container .wp-block-columns .wp-block-column:first-child > p {
    margin-top: 100px;
  }
  .home .services .wp-block-columns .wp-block-column:not(:first-child) {
    flex-basis: 100% !important;
  }
  .home .about .wp-block-group {
    padding: 0 !important;
  }
  .home .why-us .wp-block-column {
    flex-basis: 100% !important;
  }
  .footer-inner {
    flex-wrap: wrap !important;
  }
  .footer-inner .wp-block-group {
    flex-basis: 100% !important;
  }
  .footer-inner .wp-block-group:first-child .wp-block-group {
    flex-wrap: wrap !important;
    justify-content: flex-end;
  }
  .footer-inner .wp-block-group:first-child .wp-block-group > p {
    flex-basis: calc(100% - 60px);
  }
  .footer-inner .wp-block-group:nth-child(2) > .wp-block-group {
    flex-wrap: wrap !important;
    gap: 19.2px;
  }
  .possibilities .ml50 {
    left: -40px;
    top: 0;
  }
  .possibilities .ml100 {
    left: -60px;
    top: 0;
  }
  .possibilities .has-custom-niebieski-background-color {
    padding: 32px !important;
  }
  .price-group .wp-block-group p:last-child {
    min-width: 100px;
    text-align: right;
    width: 100px;
  }
  .contact-form {
    padding: 32px !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.btn a {
    padding: 7px 14px !important;
  }
  .brama-form {
    padding: 32px;
  }
  .brama-form label,
  .brama-form .brama-form-radio label {
    width: 100%;
  }
  .brama-form-wzor label {
    width: 50%;
  }
  .brama-form-wzor label img {
    max-width: 100%;
  }
  .brama-form-ral a {
      width: calc(100% / 6);
  }
}
@media (max-width: 600px) {
  .home .wp-block-cover__inner-container .wp-block-columns .wp-block-column:first-child > p {
    font-size: 24px !important;
  }
}