.project-image {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 420px;
    max-height: clamp(420px, 30vw, 600px);
    overflow: hidden;
}
.project-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.project-info {
    background-color: var(--ltc-grey);
}
.project-more{
    font-size: clamp(16px, 15.1px + 0.24vw, 20px);
    font-weight: 300;
    text-decoration: underline;
    color: #CCC;
}
.project-title {
    color: var(--ltc-blue);
}
.project-text {
    color: var(--ltc-blue);
}

.project-name {
    font-size: clamp(20px, 16px + 1.11vw, 32px);
    line-height: clamp(28px, 24px + 1.11vw, 40px);
    font-weight: 200;
    color: var(--ltc-blue);
}

.project-city {
    font-size: clamp(14px, 12px + 0.74vw, 18px);
    font-weight: 400;
    color: var(--ltc-blue);
}

.project-separator{
    width: 100%;
    height: 1px;
    background-color: #CCC;
    margin: 20px 0;
}


.project-kavels-content *{
    color: var(--ltc-blue) !important;
}

.project-kavel-row{
    display: block;
    padding-bottom: 20px;
}


.project-kavel-model {
    font-weight: 600;
}

.project-kavel-card{
    display: block;
    color: var(--ltc-blue);
    text-decoration: underline;
    cursor: pointer;
}

/*.project-kavel-card:hover {
    color: var(--ltc-yellow);
    text-decoration: underline;
}*/






/* ESTATE CARDS */

.estate-list-grid {
    --bs-gutter-y: var(--bs-gutter-x);
}




/* ESTATE MAP */

#estate-detail-map {
    width: 100%;
    height: 600px;
    border-radius: 8px;
    overflow: hidden;
}

@media (max-width: 768px) {
    #estate-detail-map {
        height: 400px;
    }
}



/*
#estate-detail-map {
    pointer-events: none;
}

#estate-detail-map:focus,
#estate-detail-map:active {
    pointer-events: auto;
}
    */





.estate-open-house{
    background-color: var(--ltc-yellow);
    padding: 20px;
    margin-bottom: 20px;
    border-radius: 8px;
}

.estate-open-house-title{
    font-size: clamp(20px, 16px + 1.11vw, 32px);
    line-height: clamp(28px, 24px + 1.11vw, 40px);
    font-weight: 500;
    color: var(--ltc-blue);
}

























.estate-back-link {
    font-size: 14px;
    display: inline-block;
    padding: 2px 6px;
    border-radius: 6px;
    color: white;
    background-color: lightgrey;
    text-decoration: none;
    font-weight: 400;
    transition: all 0.2s ease;
}

.estate-back-link:hover {
    background-color: var(--ltc-blue);
    color: white;
}

.estate-sort-and-city {    
    font-weight: 500;
    color: var(--ltc-blue);
}

.estate-detail-reference{
    font-size: 13px;
    color: grey;
    font-weight: 300;
}

.estate-detail-title {
    font-size: clamp(20px, 16px + 1.11vw, 32px);
    line-height: clamp(28px, 24px + 1.11vw, 40px);
    
    font-weight: 500;
    color: var(--ltc-blue);
}

.estate-detail-section-title {
    font-size: clamp(24px, 16px + 2.22vw, 48px);
    line-height: clamp(32px, 24px + 2.22vw, 56px);
    font-weight: 400;
    color: white;
}


.estate-detail-price {
    font-size: clamp(32px, 28px + 1.11vw, 44px);
line-height: clamp(42px, 37.33px + 1.3vw, 56px);
    font-weight: 500;
    color: var(--ltc-blue);
}

.estate-document-list{
    list-style: none;
    padding-left: 0;
}
.estate-document-list li{
    position: relative;
    margin-bottom: 10px;
    display: inline-block;
    margin-right: 20px;
}
.estate-document-list a{
    display: block;
    height: 100%;
    width: 100%;
    text-decoration: none;
    color: #444;
    border: 1px dashed #CCC;
    padding: 10px 15px;
}
.estate-document-list a:hover{
    text-decoration: underline;
}



/* Contact Form Styles */
/*.estate-contact-form-title {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 24px;
    color: #000;
}*/

/*.estate-contact-form {
    max-width: 700px;
}*/

.estate-contact-form .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

.estate-contact-form .form-group {
    margin-bottom: 20px;
}

/*
.estate-contact-form label {
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 8px;
    color: #333;
}
    */

.estate-contact-form .form-control {
    padding: 12px 16px;
    font-size: 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    transition: border-color 0.2s;
    font-family: inherit;
    background-color: var(--ltc-blue);
    /* placeholder color */
    color: white;
}

.estate-contact-form .form-control::placeholder {
    color: #999;
    opacity: 1; /* Bootstrap zet de opacity standaard op 0.65, dus zet deze op 1 voor puur wit */
}

.estate-contact-form .form-control:focus {
    outline: none;
    border-color: var(--ltc-yellow);
}

.estate-contact-form textarea.form-control {
    resize: vertical;
    min-height: 120px;
}

.estate-contact-form small > a {
    color: white;
    text-decoration: underline;
    font-weight: 300;
    font-size: 14px;
}

/*
.estate-contact-submit {
    padding: 12px 32px;
    font-size: 15px;
    font-weight: 600;
    background: #000;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s;
}

.estate-contact-submit:hover {
    background: #333;
}
*/

.form-error {
    color: #dc3545;
    font-size: 13px;
    margin-top: 4px;
}

.form-control.is-invalid {
    border-color: #dc3545;
}

.alert {
    padding: 12px 16px;
    border-radius: 4px;
    margin-bottom: 20px;
}

.alert-success {
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.alert-danger {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

@media (max-width: 768px) {
    .estate-contact-form .form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }
}











/* *********************************************************
**
**
** accordion
**
**
********************************************************* */

.accordion-item{
    padding-left: 0;
    border:none;
    border-bottom: #CCC 1px solid;
}

.accordion-button::after {
    zoom: 1.5;
}

/*#accordionExample .accordion-button {
    max-width: calc(100vw - 20px);
    margin: 0 auto;
}*/

.accordion-button{
	outline: none !important;
    -webkit-appearance: none !important;
    box-shadow: none !important;
    font-size: clamp(16px, 12px + 1.11vw, 28px);
    padding-left: 0;
}
button.accordion-button:not(.collapsed){
	background-color: white;
	color: var(--ltc-blue);
	font-weight: 300;
}
button.accordion-button.collapsed{
	font-weight: 300;
}


.estate-contact-form-wrapper{
	background-color: #F9F9F9;
}






/* *********************************************************
**
**
** TABEL SPECS
**
**
********************************************************* */


table.specs{
	width: 100%;
}

table.specs tr td:first-child {
    /* CSS properties here */
	font-weight: 300;
}

table.specs tr td:nth-child(2) {
    /* CSS properties here */
	font-weight: 200;
}

table.specs td{
	width: 50%;
	border-bottom:#F0F0F0 1px solid;
}

.tabs-content{
	border: none;
}

.tabs-panel{
	padding: 40px;
}

.specs-title{
	color: #000 !important;
	font-weight: bold;
}


/* *********************************************************
**
**
** PAGINATOR
**
**
********************************************************* */

.paginator-wrapper{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.paginatornumbers{
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.paginatorbuttonmobileL, .paginatorbuttonmobileR{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--ltc-blue);
    color: var(--ltc-blue);
    text-decoration: none;
    transition: all 0.2s ease;
}

.paginatorbuttonmobileL:hover, .paginatorbuttonmobileR:hover{
    background-color: var(--ltc-yellow);
    color: var(--ltc-blue);
}