:root{
    --green:#143d31;
    --green-dark:#08261f;
    --green-soft:#e8f0eb;

    --red:#b7332c;

    --sand:#c9a86a;
    --sand-light:#efe2c6;

    --cream:#f7f1e8;
    --cream-light:#fbf7ef;

    --white:#ffffff;
    --text:#18231f;
    --muted:#66736c;

    --shadow:0 14px 34px rgba(8,38,31,0.12);
    --shadow-soft:0 8px 22px rgba(8,38,31,0.08);

    --radius:14px;
    --wrap:1180px;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Inter', Arial, sans-serif;

    background:
        radial-gradient(circle at top left, rgba(201,168,106,0.28), transparent 22%),
        radial-gradient(circle at 85% 15%, rgba(20,61,49,0.14), transparent 26%),
        radial-gradient(circle at bottom right, rgba(166,66,54,0.10), transparent 24%),
        linear-gradient(
            135deg,
            #f9f6ef 0%,
            #efe3cf 38%,
            #e6efe7 100%
        );

    color:var(--text);
}

h1,
h2,
h3,
h4{
    font-family:'Playfair Display', Georgia, serif;
    color:var(--green-dark);
    line-height:1.08;
    font-weight:800;
}

p{
    line-height:1.7;
    color:#2f3d36;
}

img{
    max-width:100%;
    display:block;
}

a{
    color:inherit;
}

.container,
.km-wrap{
    width:min(var(--wrap), calc(100% - 48px));
    margin-left:auto;
    margin-right:auto;
}

.button,
.km-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:0 28px;
    border-radius:8px;
    border:0;
    color:#fff;
    background:var(--green);
    text-decoration:none;
    font-size:14px;
    font-weight:900;
    text-transform:uppercase;
    cursor:pointer;
    transition:0.25s ease;
}

.button:hover,
.km-btn:hover{
    background:var(--green-dark);
    transform:translateY(-2px);
}

.km-btn-red{
    background:var(--red);
}

.km-btn-green{
    background:var(--green);
}

.status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:7px 13px;
    border-radius:4px;
    color:#fff;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
}

.te-huur{
    background:var(--red);
}

.te-koop{
    background:var(--green);
}

.verhuurd{
    background:#64748b;
}

.verkocht{
    background:#7f1d1d;
}

.km-footer{
    margin-top:80px;
    background:linear-gradient(135deg,#0b3a2d 0%, #06261e 100%);
    color:#fff;
}

.km-footer-top{
    max-width:1180px;
    margin:0 auto;
    padding:45px 24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:50px;
}

.km-footer-left,
.km-footer-center,
.km-footer-right{
    flex:1;
}

.km-footer-left{
    text-align:left;
}

.km-footer-left h3{
    color:#fff;
    font-size:22px;
    margin-bottom:14px;
}

.km-footer-left p{
    color:#fff;
    font-size:16px;
    line-height:1.7;
}

.km-footer-route{
    display:inline-flex;
    margin-top:12px;
    color:#fff;
    font-size:15px;
    font-weight:800;
    text-decoration:none;
    border-bottom:1px solid rgba(255,255,255,.55);
}

.km-footer-route:hover{
    border-color:#fff;
}

.km-footer-center{
    display:flex;
    justify-content:center;
}

.km-footer-center img{
    width:135px;
}

.km-footer-right{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:16px;
}

.km-footer-contact{
    display:flex;
    align-items:center;
    gap:12px;
    white-space:nowrap;
    font-size:16px;
}

.km-footer-contact span{
    font-size:22px;
}

.km-footer-contact strong{
    color:#fff;
    font-weight:800;
}

.km-footer-bottom{
    border-top:1px solid rgba(255,255,255,.12);
    min-height:64px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 24px;
    color:#fff;
    font-size:14px;
    text-align:center;
}

.km-footer-bottom a{
    color:#fff;
    font-weight:800;
    text-decoration:none;
}

@media(max-width:800px){
    .km-footer-top{
        flex-direction:column;
        text-align:center;
    }

    .km-footer-left,
    .km-footer-right{
        text-align:center;
        align-items:center;
    }

    .km-footer-bottom{
        flex-wrap:wrap;
        line-height:1.6;
        padding:18px 24px;
    }
}
