/*--------------------------------------------------------------
# Main style & custom components
--------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@300;400;500;600;700&display=swap');


body {
    margin: 0;
    background: #fff;
    color: #333;
    font-family: "Rajdhani", Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.62857;
}

a {
    color: #29ac0a;
    background-color: transparent;
    transition: .2s ease-in-out;
}

a:active,
a:hover {
    color: #29ac0a;
    outline: 0;
    text-decoration: none;
}

p {
    margin-bottom: 1rem;
    font-size: 1.2rem;
    font-weight: 400;
}

strong {
    font-weight: 700;
}

.more {
    line-height: 2rem;
}

.more a,
.entry-content input[type="submit"] {
    transition: .2s ease-in-out;
    background: #29ac0a;
    border: 2px solid #29ac0a;
    color: #fff;
    border-radius: 6px 0 16px 0px;
    padding: .5rem 1.5rem;
    font-size: .9rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase
}

.more a:hover,
.entry-content input[type="submit"]:hover {
    background: transparent;
}

.more a .fa-solid {
    padding-left: .5rem;
}

.more a .fa-solid {
    color: #29ac0a;
    transition: .2s ease-in-out;
}


/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.mastheader {
    padding: 0;
    position: relative;
    z-index: 999;
}

.mh-top {
    padding: .75rem 0;
    font-size: 1rem;
}

.mht {}

.mht1 {}

.mht2 {}

.mht3 {}

.mht4 {}

.mht {}

.mh-main {
    padding: 2rem 0;
    position: relative;
}

.logo {
    position: absolute;
    height: auto;
}

.logo img {
    max-width: 140px;
}

.navbar {
    margin: 0;
    padding: 0;
}

.navbar-light .navbar-nav .nav-link {
    color: #333;
    margin: 0 2rem;
    padding: 0;
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
}

.navbar-light .navbar-nav .nav-link:focus,
.navbar-light .navbar-nav .nav-link:hover {
    color: #29ac0a
}

.navbar-light .navbar-nav .active>.nav-link,
.navbar-light .navbar-nav .nav-link.active,
.navbar-light .navbar-nav .nav-link.open,
.navbar-light .navbar-nav .open>.nav-link {
    color: #29ac0a
}

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 10rem;
    padding: .5rem 0;
    margin: .125rem 0 0;
    font-size: 1rem;
    color: #292b2c;
    text-align: left;
    list-style: none;
    background-color: #fff;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, .15);
    border-radius: .25rem;
}

.dropdown-item {
    display: block;
    width: 100%;
    padding: 3px 1.5rem;
    clear: both;
    font-weight: 400;
    color: #292b2c;
    text-align: inherit;
    white-space: nowrap;
    background: 0 0;
    border: 0;
}

.dropdown-item:focus,
.dropdown-item:hover {
    color: #1d1e1f;
    text-decoration: none;
    background-color: #f7f7f9;
}

.dropdown-item.active,
.dropdown-item:active {
    color: #fff;
    text-decoration: none;
    background-color: #0275d8;
}

.dropdown-toggle::after {
    color: #29ac0a;
}

.mhm-btn {
    text-align: center;
}

.mhm-social {
    text-align: right;
}

.mhm-social>* {
    padding: 0 .25rem
}

/*--------------------------------------------------------------
# Slider
--------------------------------------------------------------*/

#slider {}

#slider .item {
    padding: 10rem 0;
}

#slider .box {
    position: relative;
    z-index: 999;
}

#slider .item h2 {
    margin: 0;
    font-weight: 700;
    font-size: 4rem;
    color: #fff;
}

#slider .item h3 {
    margin: 0;
    font-weight: 700;
    font-size: 1rem;
    color: #111;
}

#slider .item h4 {
    margin: 0;
    font-weight: 700;
    font-size: 1rem;
    color: #111;
}

#slider .item .extra-txt {
    font-size: 1rem;
    margin: 0;
    letter-spacing: 0px;
}

#slider .mask {
    z-index: 99;
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgb(0, 0, 0);
    background: linear-gradient(120deg, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.55) 50%, rgba(0, 0, 0, 0.25) 80%);
    top: 0;
    left: 0;
}

#slider .owl-controls {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translate(-50%, -50%)
}

#slider .owl-controls .owl-page {
    display: block;
    zoom: 1;
    *: ;
    display: inline;
}

#slider .owl-controls .owl-page span {
    width: 2rem;
    height: 2rem;
    margin: 0 0 1rem;
    filter: Alpha(Opacity=50);
    opacity: 0.5;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    border-radius: 0px;
    background: #fff;
}

#slider .owl-controls .owl-page.active span,
#slider .owl-controls.clickable .owl-page:hover span {
    filter: Alpha(Opacity=100);
    opacity: 1;
}

/*--------------------------------------------------------------
# Homepage
--------------------------------------------------------------*/
.welcome {}

/*--------------------------------------------------------------
# Pages
--------------------------------------------------------------*/


.page-title {
    background: url('#') center center;
    background-size: cover;
    background-repeat: no-repeat;
    padding: 2rem 0;
}

.page-title h1 {
    font-size: 2rem;
    margin: 0;
    color: #111;
    font-weight: 700;
}

.page-title h3 {
    margin: 0rem 0 0rem;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0px;
    color: #777;
}

.page-wrapper {
    padding: 3rem 0;
    background: #f4f4f4;
}

body.product-template-default #main,
.entry-page {
    padding: 3rem;
    background: #fff;
}


.entry-content {}

.entry-content h2 {
    font-weight: 700;
    margin: 2rem 0 1rem;
    font-size: 1.5rem;
}


.entry-content p {}

.entry-content p:last-child {
    margin-bottom: 0
}

.entry-content input,
.entry-content textarea {
    border-radius: 0;
    border: 2px solid #ddd;
}

.entry-content textarea {
    margin-top: 1rem;
}

.entry-content .form-control:focus {
    border-color: #c5aa5c;

}

.entry-content table td {
    border: 1px solid #eee;
    padding: 1rem;
}

.wpcf7 p {
    font-size: .9rem;
}

.wpcf7-not-valid-tip {
    color: #dc3232;
    font-size: .75rem;
    font-weight: normal;
    display: block;
}

.wpcf7 form .wpcf7-response-output {
    padding: 1rem;
}

.thumb-img img {
    transition: .25s ease-in-out;
}

.thumb-img img:hover {
    opacity: .7
}

.pw-archive article {
    margin: 0 0 2rem 0;
}

.pw-archive h2.entry-title {
    font-size: 1.2rem;
    margin: 1rem 0 2rem 0;
}

.pw-archive h2.entry-title a {
    color: #111;
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
#footer-wrapper {}


.footer-widget {
    background: url('#') center center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 3rem 0 3rem;
    color: #111;
}

.footer-widget h3 {
    font-size: 1.4rem;
    font-weight: 700;
    margin: 0 0 2rem;
}

.footer-widget h3::after {
    content: "";
    display: inline-block;
    height: 2px;
    width: 50px;
    background: #111;
    margin: 0 0 0 2rem;
}


.footer-widget .widget {}

.footer-widget .widget p:last-child {}

.footer-widget a {}

.footer-widget .nav-link {
    padding: .5rem 0;
    margin: 0 .5rem;
    border-bottom: 1px solid #eee;
    text-align: left;
}

.footer-widget .nav-link::before {
    font-family: "Font Awesome 5 Pro";
    content: "\f0da";
    padding-right: 1rem;
    color: #29ac0a;
}

.footer-widget .nav-link:hover {
    padding-left: .75rem;
}

.footer-widget ul.menu>*:last-child .nav-link {
    border-bottom: 0;
}

.footer-bottom {
    background: transparent;
    padding: 3rem 0;
}

.footer-bottom .footer-credits {
    margin-bottom: 0;
    text-align: left;
}

.footer-bottom .footer-author {
    text-align: left;

}

.footer-bottom .footer-logo {
    text-align: center;
}

.footer-bottom .footer-logo img {
    max-height: 60px;
}


.footer-bottom .footer-credits a,
.footer-bottom a,
.footer-bottom .footer-author a {
    font-weight: 700;
}

.footer-bottom .footer-credits a:hover,
.footer-bottom a:hover,
.footer-bottom .footer-author a:hover {}

.scroll-top {
    text-align: right;
}

.scroll-top a .fad {
    padding-left: .5rem;
}

/*--------------------------------------------------------------
# Custom styles
--------------------------------------------------------------*/

#o-inwestycji ul.custom-list {
    padding: 0;
    margin: 0;
    list-style: none;
}

#o-inwestycji ul.custom-list li {
    padding: 0 0 1rem 0;
}

#o-inwestycji ul.custom-list li::before {
    content: "\f054";
    font-family: "Font Awesome 5 Pro";
    padding-right: .5rem;
    color: #C39E76;
}

#przeglad-budowy {
    padding: 4rem 0;
}

#przeglad-budowy h2 {
    color: #314335;
    font-size: 3rem;
    margin: 0 0 2.5rem;
    text-align: center;
    font-weight: 900;
    font-family: "Roboto", sans-serif;
}

.klonowa-carousel {
    padding: 2rem 0;
}

.klonowa-swiper .swiper-slide {
    height: 460px;
    overflow: hidden;
    border-radius: 10px;
}

.klonowa-swiper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
    border-radius: 10px;
}

.klonowa-swiper .swiper-slide:hover img {
    transform: scale(1.02);
}

.klonowa-swiper .swiper-button-prev,
.klonowa-swiper .swiper-button-next {
    width: 48px;
    height: 48px;
    background-color: #bf9971;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease;
    top: 50%;
    transform: translateY(-50%);
}

.klonowa-swiper .swiper-button-prev::after,
.klonowa-swiper .swiper-button-next::after {
    font-size: 20px;
    color: #fff;
}

.klonowa-swiper .swiper-button-prev:hover,
.klonowa-swiper .swiper-button-next:hover {
    background-color: #a8845e;
}

.klonowa-about {
    padding: 4rem 0;
    background-color: #f7f7f5;
}

.klonowa-about .section-title {
    text-align: center;
    font-size: 2.4rem;
    margin-bottom: 2.5rem;
    color: #333;
    font-weight: 800;
    font-family: "Roboto", sans-serif;
}

.about-intro {
    max-width: 75%;
    margin: 0 auto 3rem;
    font-size: 1.25rem;
    font-weight: 400;
    color: #555;
    text-align: center;
}

.about-feature-blocks {
    margin-bottom: 3rem;
}

.feature-box {
    background: #fff;
    border-radius: 12px;
    padding: 2rem 1.5rem;
    text-align: center;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease;
}

.feature-box i {
    font-size: 2.2rem;
    margin-bottom: 1rem;
    color: #bf9971;
}

.feature-box h3 {
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
    color: #222;
}

.feature-box p {
    font-size: 0.95rem;
    color: #666;
}

.feature-box:hover {
    transform: translateY(-4px);
}

.subsection-title {
    font-size: 1.6rem;
    margin: 2rem 0 1.2rem;
    color: #333;
    font-weight: 800;
    font-family: "Roboto", sans-serif;
}

.about-feature-blocks {
    margin-top: 3rem;
}

.icon-list {
    max-width: 900px;
    margin: 0 auto 3rem;
    padding: 0;
    list-style: none;
}

.icon-list li {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 1.2rem;
    margin-bottom: 1rem;
    color: #444;
}

.icon-list i {
    color: #bf9971;
    font-size: 1.2rem;
    flex-shrink: 0;
}

.section-apartments {
    padding: 4rem 0 1rem;
    background-color: #f4f4f4;
}

.section.section-apartments h3 {
    font-size: 2rem;
    margin-bottom: 1.25rem;
    color: #222;
    font-weight: 800;
    font-family: "Roboto", sans-serif;
}

.apartment-row {
    margin-bottom: 4rem;
    align-items: flex-start;
    display: flex;
}

.apartment-row>*:nth-child(1) {
    padding-right: 2rem;
}

.apartment-row>*:nth-child(3) {
    padding-left: 2rem;
}

.apartment-desc-box {
    background: #fff;
    padding: 2rem;
    height: 100%;
    border-radius: 8px;
}

.section .apartment-areas h4 {
    margin: 0 0 1rem;
    font-size: 1.4rem;
    font-weight: 800;
    font-family: "Roboto", sans-serif;
}

.styled-table table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 2rem;
}

.styled-table td {
    padding: 0.75rem 1rem;
    background: #f9f9f9;
    border-bottom: 1px solid #e5e5e5;
    font-size: 0.95rem;
    color: #333;
    vertical-align: middle;
}

.styled-table tr.highlight td,
.styled-table tr:hover td {
    background-color: #bf9971;
    color: #fff;
    font-weight: 600;
}

.styled-table tr.highlight td i,
.styled-table tr:hover td i {
    color: #fff;
}


.styled-table td i {
    margin-right: 0.6rem;
    color: #bf9971;
    width: 20px;
    text-align: center;
}

.styled-table h4 {
    font-size: 1rem;
    margin-bottom: 0.5rem;
    color: #333;
    font-weight: 600;
}

.section_apartments-b {
    background-color: #bf997147;
}

.section_apartments-b .apartment-desc-box {
    background: #fff;
    padding: 3rem;
    border-radius: 10px;
}

.section_apartments-b .styled-table table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 2rem;
}

.section_apartments-b .styled-table td {
    padding: 0.75rem 1rem;
    background: #f9f9f9;
    border-bottom: 1px solid #e5e5e5;
    font-size: 0.95rem;
    color: #333;
    vertical-align: middle;
}

.section_apartments-b .styled-table tr.highlight td,
.section_apartments-b .styled-table tr.highlight:hover td {
    background-color: #bf9971;
    color: #fff;
    font-weight: 600;
}

.section_apartments-b .styled-table tr.highlight td i,
.section_apartments-b .styled-table tr.highlight:hover td i {
    color: #fff;
}

.section_apartments-b .styled-table td i {
    margin-right: 0.6rem;
    color: #bf9971;
    width: 20px;
    text-align: center;
}

.section-apartments-list {
    background-color: #fdfdfd;
    padding: 5rem 0;
}

.section-apartments-list .section-title {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 2rem;
}

.apartments-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 1.2rem;
}

.apartments-table th {
    background-color: #c8a57c;
    color: #fff;
    font-weight: 600;
    padding: 1rem;
    text-align: left;
}

.apartments-table td {
    padding: 1rem;
    border-bottom: 1px solid #eee;
    background: #f9f9f9;
}

.apartments-table tr.available td {
    background-color: #fdf9f5;
    font-weight: 500;
}

.apartments-table tr.reserved td {
    background-color: #fff7e0;
    color: #8a6d3b;
    font-weight: 500;
}

.apartments-table tr.sold td {
    background-color: #f3cece;
    color: #545454;
    text-decoration: line-through;
}

@media (max-width: 768px) {

    .apartments-table th,
    .apartments-table td {
        font-size: 0.875rem;
        padding: 0.75rem;
    }
}

.section-contact-booking {
    background: #fdfcfb;

    padding: 4rem 0 8rem !important
}

.contact-subtitle {
    color: #c8a57c;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.9rem;
}

.contact-title {
    font-size: 2.5rem;
    font-weight: 700;
    margin: 1rem 0 1.5rem;
}

.contact-desc {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #444;
    margin-bottom: 2rem;
}

.contact-details .contact-info {
    display: flex;
    gap: 1.2rem;
    align-items: flex-start;
    margin-bottom: 1.5rem;
}

.contact-details .contact-info i {
    font-size: 1.8rem;
    color: #c8a57c;
    margin-top: 0.2rem;
}

.contact-details .contact-info small {
    font-size: 0.85rem;
    color: #888;
}

.contact-details .contact-info strong a {
    text-decoration: none;
    color: #2d2d2d;
    font-weight: 600;
}

.form-wrapper {
    background: #fff;
    padding: 2rem;
    box-shadow: 0 10px 50px rgba(0, 0, 0, 0.07);
    border-radius: 0.5rem;
}

/* Pola formularza */
#cf7f input[type="text"],
#cf7f input[type="email"],
#cf7f input[type="tel"],
#cf7f textarea {
    width: 100%;
    padding: 1.2rem 1.5rem;
    font-size: 1rem;
    font-family: inherit;
    background-color: #f0f0f0;
    color: #333;
    border: 1px solid #ccc;
    border-radius: 6px;
    margin-bottom: 1rem;
    transition: border 0.3s ease, box-shadow 0.3s ease;
}

#cf7f textarea {
    min-height: 120px;
}

/* Placeholder */
#cf7f input::placeholder,
#cf7f textarea::placeholder {
    color: #424242;
    letter-spacing: 0.3px;
}

/* Focus */
#cf7f input:focus,
#cf7f textarea:focus {
    outline: none;
    border-color: #c39e76;
    box-shadow: 0 0 0 2px #c39e7640;
}

/* Przycisk wysyłania */
#cf7f input[type="submit"],
#cf7f .wpcf7-submit {
    background-color: #C39E76;
    color: #fff;
    border: none;
    padding: 1rem 2rem;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.95rem;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.3s ease;
}

#cf7f input[type="submit"]:hover,
#cf7f .wpcf7-submit:hover {
    background-color: #a88463;
}

/* Wiadomość po wysłaniu */
#cf7f .wpcf7-response-output {
    margin-top: 2rem;
    padding: 1rem 1.5rem;
    border: 1px solid #c39e76;
    background: #fff;
    color: #2b2b2b;
    font-size: 0.95rem;
    border-radius: 6px;
}

/* Błędy */
#cf7f span.wpcf7-not-valid-tip {
    color: #d70000;
    font-size: 0.85rem;
    margin-top: -0.5rem;
    display: block;
    margin-bottom: 1rem;
}

/* Pole z błędem */
#cf7f .wpcf7-form-control.wpcf7-not-valid {
    border-color: #d70000;
}

.developer-section {
    padding: 4rem 0;
    background-color: #c39e7647;
    color: #fff;
}

.developer-logo {
    max-width: 320px;
    margin: 0rem 0;
}

.developer-section h3 {
    font-size: 2.4rem;
    color: #333;
    margin:2rem 0 1rem;
    font-weight: 800;
    font-family: "Roboto", sans-serif;
}

.developer-section p {
    line-height: 1.7;
    font-size: 1.2rem;
    margin-bottom: 1.2rem;
    color: #333;
}

.developer-section .developer-signature p {
    margin-top: 0.5rem;
    font-size: 0.95rem;  
    color: #333;
}