/*
Theme Name: Themify Ultra Child
Description: A child theme of Themify Ultra
Template: themify-ultra
Author: Perfect Cube (maja@ukontentowani.pl)
*/

/* Woohoo! Let's customize! */


@font-face {
  font-family: 'Prima Serif Bold';
  src: url('https://perfectcube.homes/wp-content/themes/themify-ultra-child/fonts/Prima-Serif-Bold.otf') format('opentype');
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Prima Serif Regular';
  src: url('https://perfectcube.homes/wp-content/themes/themify-ultra-child/fonts/Prima-Serif-Regular.otf') format('opentype');
  font-style: normal;
  font-weight: 400 !important;
  font-display: swap;
}

@font-face {
    font-family: 'Burford';
    src: url('https://perfectcube.homes/wp-content/themes/themify-ultra-child/fonts/BurfordRusticLine-Regular.otf');
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DINPro-Light';
    src: url('https://perfectcube.homes/wp-content/themes/themify-ultra-child/fonts/DINPro-Light.otf') format('opentype');
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'DINPro-Bold';
    src: url('https://perfectcube.homes/wp-content/themes/themify-ultra-child/fonts/DINPro-Bold.woff') format('woff');
    font-style: normal;
    font-display: swap;
}


:root {
    --color1: black;
    --color2: white;
    --color3: #aeafb0;
    --color4: #008b3e;
    --color5: #f3f7fa;
    --color6: #818181;
    --color7: #363739;
}
body {
    margin: 0 0 0 0;
    background-color: var(--color5);
    font-family: 'DINPro-Light', Arial, sans-serif;
    color: var(--color6);
}

#header {
    padding: 0px 35px;
}
#site-logo {
    margin: 0 !important;
}
a {
    color: var(--color4);
}



h1 {
    color: var(--color2);
}
h1 .main-head {
    font-family: 'Prima Serif Bold', sans-serif;
    font-size: 1.6em;
}
h1 .sub-head {
    font-family: 'Burford', sans-serif;
    text-transform: uppercase;
    font-size: 60% !important;
    font-weight: 400 !important;
}
.oferta h1 .main-head {
    font-family: 'DINPro-Light', sans-serif;
}
.oferta .module-fancy-heading .main-head+.sub-head:before {
    width: 100px;
    background-color: var(--color2);
    height: 0;
}
.ng-oferta {
    font-family: 'DINPro-Bold', sans-serif;
    color: var(--color2);
    font-size: 1.3em;
}


h2, h3, h4, h5, h6 {
    letter-spacing: 1.5px;
    color: var(--color3);
}



/*** mobile menu ***/
#mobile-menu.sidemenu {
    background-color: rgba(54, 55, 57, 0.96);
}
#mobile-menu #main-nav .menu-item {
    padding: 0;
    border: none;
}
#mobile-menu #main-nav .menu-item a {
    color: var(--color2);
    font-family: 'DINPro-Light', Arial, sans-serif;
    font-size: 25px;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-decoration: none;
    padding: 8px 0;
    transition: color 0.2s ease;
    text-align: center;
}
#mobile-menu #main-nav .menu-item a:hover,
#mobile-menu #main-nav .current-menu-item > a,
#headerwrap #main-nav .current-menu-item>a, 
#headerwrap #main-nav .current_page_item>a {
    color: var(--color4);
}
#mobile-menu #menu-icon-close.tf_close {
    position: absolute;
    top: 25px;
    right: 30px;
    width: 28px;
    height: 28px;
    display: block;
}
#mobile-menu #menu-icon-close.tf_close::before,
#mobile-menu #menu-icon-close.tf_close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: var(--color4);
}
#mobile-menu #menu-icon-close.tf_close::before { transform: rotate(45deg); }
#mobile-menu #menu-icon-close.tf_close::after  { transform: rotate(-45deg); }


/*** hamburger ***/
.menu-icon-inner {
    border-bottom: 3px solid;
    height: 25px;
    width: 32px;
}
.menu-icon-inner:after, .menu-icon-inner:before {
    border-top: 3px solid;
}
.header-icons {
    top: 50px !important;
}
#my-header-widgets {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: absolute;
    top: 0;
    width: 60%;
    margin: 1.5em 20% 0em 20%;
}
#my-header-widgets p {
    letter-spacing: 1px;
    margin-bottom: 0;
}
#my-header-widgets a {
    color: var(--color2);
}
#my-header-widgets .tel, #my-header-widgets .mail {
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 20px 20px;
    padding-left: 30px;
}
#my-header-widgets .tel {
    background-image: url(/wp-content/uploads/2026/05/telefon-perfectbay.svg);
}
#my-header-widgets .mail {
    background-image: url(/wp-content/uploads/2026/05/mail-perfectbay.svg);
}

/** divider **/
.module-fancy-heading .sub-head {
    padding-top: 0.5em;
}
.module-fancy-heading .main-head+.sub-head:before {
    content: "";
    display: block;
    width: 100px;
    height: 2px;
    background-color: var(--color4);
    border: none;
}
.inline-fancy-heading .fancy-heading .sub-head:after, :is(.module-fancy-heading.tb_hide_divider,.inline-fancy-heading) .sub-head:before {
    display: none !important;
}

.icons .module-icon-item {
    border: 1px solid white;
}


/*** zdjecie z modułem ***/
a.caption {
    font-family: 'DINPro-Bold', sans-serif;
    color: var(--color2);
    padding: 10px;
    border: 1px solid var(--color5);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.6em;
}
.module.image-full-overlay .image-content {
    padding: 15% 5% 5% 5%;
}
.module-image.image-overlay :is(.image-wrap noscript,.image-wrap a,img)+.image-content {
    display: flex;
    justify-content: center;
    align-items: center;
}
.module.image-full-overlay .image-content:before {
    background-color: rgba(54, 55, 57, 0.2);
}
.module.image-full-overlay:hover .image-content:before {
    background-color: rgba(54, 55, 57, 0.8);
}
.module.image-full-overlay:hover a.caption {
    background-color: var(--color5);
    color: var(--color7);
}
.module.image-full-overlay .image-title {
    font-family: 'DINPro-Bold', sans-serif;
    font-size: 60px;
    margin-bottom: 1em;
}
.module.image-full-overlay .image-title a {
    position: relative;
}
.module.image-full-overlay .image-title a::before {
    content: " ";
    position: absolute;
    bottom: -20px; 
    left: 50%;
    transform: translateX(-50%);
    z-index: 0;
    background-color: var(--color2);
    width: 100%;
    height: 10px;
    display: block;
}



/*** kolumna z szarym tłem ***/
.col-grey {
    background-color: var(--color7);
    color: var(--color2);
    padding: 10% 8% 6% 8%;
}
.col-grey h2, .col-grey h3 {
    color: var(--color2);
}
.col-grey .module-fancy-heading .main-head+.sub-head:before {
    background-color: var(--color2);
}



/*** galeria - slider ***/
.module-gallery.layout-slider .tf_swiper-thumbs {
    margin-top: 0px;
}



/*** accordion ***/
.accordion-title-wrap {
    position: relative;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}
.accordion-title-wrap::before {
    position: absolute;
    content: " ";
    width: 100px;
    height: 3px;
    background-color: var(--color4);
    display: block;
    bottom: -10px;
    left: 0;
}
.accordion-title-wrap span {
    font-family: 'DINPro-Bold', sans-serif;
}
.co-zyskujesz li {
    border: none;
    padding-left: 100px;
    background-repeat: no-repeat !important;
    background-size: 60px !important;
    background-position: left 30px !important;
    padding-top: 30px;
    padding-bottom: 30px;
}
.co-zyskujesz li:first-child {
    background-image: url(/wp-content/uploads/2026/04/dom-ekologiczny.svg) !important;
}
.co-zyskujesz li:nth-of-type(2) {
    background-image: url(/wp-content/uploads/2026/04/dom-caloroczny.svg) !important;
}
.co-zyskujesz li:nth-of-type(3) {
    background-image: url(/wp-content/uploads/2026/04/krotki-czas-budowy.svg) !important;
}
.co-zyskujesz li:nth-of-type(4) {
    background-image: url(/wp-content/uploads/2026/04/nowoczesny-design.svg) !important;
}
.co-zyskujesz li:nth-of-type(5) {
    background-image: url(/wp-content/uploads/2026/04/najlepsze-materialy.svg) !important;
}
.co-zyskujesz li:nth-of-type(6) {
    background-image: url(/wp-content/uploads/2026/04/niskie-koszty-ogrzewania.svg) !important;
}


/*** tabele ***/
.produkt_table { width: 90%; }

.produkt_table th,
.produkt_table td { padding: 3px 3%; font-size: 10.5pt; text-align: left; font-weight: normal; }

.produkt_table th { color: #ffffff; text-transform: uppercase; letter-spacing: 1px; }
.produkt_header_green { background-image: linear-gradient(to right, #03903f , #17b424); }
.produkt_header_grey { background-color: #818181; }

.produkt_table tbody td { color: #818181; }
.produkt_table tbody tr:nth-child(odd) td { background-color: #f8f9f8; }
.produkt_table tbody tr:nth-child(even) td { background-color: #e2e8e3; }

.produkt_data_table {
    width: 100%;
    max-width: 500px;
    margin-bottom: 1em;
}
.produkt_data_table th {
    width: 49%;
    padding: 7px 3px;
    color: #ffffff;
    font-size: 10.5pt;
    font-family: 'DINPro-Light', Arial, sans-serif;
    text-align: center;
    background-color: #0b9f33;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.produkt_data_table td {
    width: 50%;
    padding: 10px 2%;
    color: #818181;
    font-size: 14pt;
    font-family: 'DINPro-Medium', Arial, sans-serif;
    text-align: center;
    background-color: #f1f3f1;
}




/**** FOOTER ****/
#footerwrap {
    background-image: url(/wp-content/uploads/2026/04/perfectcube-kontakt.jpg);
    background-repeat: no-repeat;
    background-position: top center;
    margin-top: -1px;
    padding-bottom: 0em !important;
}
.footer-widgets {
    text-align: left !important;
    color: var(--color2);
}
.footer-widgets a {
    color: var(--color3);
}
.footer-widgets a:hover {
    color: var(--color2);
}
.footer-widgets p {
    line-height: 1.4;
}
.footer-widgets h4 {
    font-family: 'DINPro-Light', Arial, sans-serif;
    font-size: 2em;
    color: var(--color2);
    text-transform: uppercase;
}
.footer-text-inner {
    color: var(--color2);
}


/**** FORMULARZ ****/
.builder-contact-fields input:is([type=radio],
.builder-contact-fields [type=checkbox]), 
.builder-contact-fields input:read-only, 
.builder-contact-fields input:read-write, 
.builder-contact-fields select, 
.builder-contact-fields textarea {
    background: transparent;
    color: var(--color3);
    border-radius: 0;
    border-color: var(--color3);
}
.builder-contact-fields textarea::placeholder {
    color: var(--color3);
}
.builder-contact-fields button {
    background-color: transparent;
    border-radius: 0px;
    border: 1px solid var(--color2);
}



/*   RESPONSYWNOSC   */
@media all and (max-width: 1330px) {
    .module.image-full-overlay .image-title {
        font-size: 40px;
    }
}
@media screen and (max-width: 1240px) {
  .produkt_table {
    width: 100%;
  }
}
@media all and (max-width: 1200px) {
    #ergo {
        background-size: 70%;
    }
    #my-header-widgets {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-content: center;
        width: 60%;
        margin: 1.5em 20% 0em 20%;
    }
    #my-header-widgets p {
        text-align: center;
    }
    #my-header-widgets .tel {
        margin: 0.5em 0;
    }
}
@media all and (max-width: 1100px) {
    #site-logo {
        margin-top: 0px !important;
    }
    body #site-logo a img {
        width: 100px !important;
        aspect-ratio: 180 / 171;
    }
    #header {
        padding: 0px 5px;
    }
}
@media all and (max-width: 900px) {
    h1 .main-head {
        font-size: 1.2em;
    }
    .oferta h1 .main-head, .ng-oferta {
        font-size: 0.8em;
    }
    #ergo {
        background-size: 90%;
    }
    #footerwrap {
        background-image: none;
        background-color: var(--color7);
    }
    .footer-widgets .col4-2 {
        width: 100%;
        margin-left: 0 !important;
        margin-bottom: 2em;
    }
    .footer-widgets h4, .footer-widgets .wp-block-image, .footer-widgets p {
        text-align: center;
    }
}
@media all and (max-width: 900px) and (min-width: 768px) {
    .module.image-full-overlay .image-title {
        font-size: 30px;
    }
}
@media screen and (max-width: 600px) {
  .produkt_table {
    width: 100%;
  }
  h2 {
    font-size: 24px;
  }
  .col-grey {
    padding: 10% 4% 6% 4% !important;
}
  .produkt_table th, .produkt_table td {
    padding: 2px 3%; font-size: 7pt; line-height: 140%;
  }
  .co-zyskujesz li  {
    padding-left: 0px;
    padding-top: 80px;
  }
    #my-header-widgets {
        width: 85%;
        margin: 1em 1em 1em 0;
        align-items: flex-end;
    }
    #my-header-widgets p {
        font-size: 12px;
        line-height: 13px;
        text-align: right;
    }
    #my-header-widgets .tel, #my-header-widgets .mail {
        font-size: 14px;
        line-height: 14px;
    }
    #my-header-widgets .tel, #my-header-widgets .mail {
        background-size: 15px 15px;
    }
    #my-header-widgets .tel {
        margin: 10px 0;
    }
}
@media all and (max-width: 480px) {
    #my-header-widgets {
        width: 53%;
        margin: 1em 1em 1em 30%;
    }
}