
.tm-contact-section{
    max-width:980px;
    margin:0 auto;
    padding:55px 15px;
    font-family: Arial, Helvetica, sans-serif;
    color:#555;
}
.tm-contact-main-title{
    text-align:center;
    font-size:28px;
    font-weight:400;
    letter-spacing:.5px;
    color:#333;
    margin:0 0 18px;
}
.tm-contact-info-box{
    background:#f7f7f7;
    border-radius:14px;
    padding:32px 25px;
    text-align:center;
    max-width:850px;
    margin:0 auto 42px;
    color:#666;
    font-size:14px;
    line-height:1.7;
}
.tm-contact-info-box a{
    color:#00a63c;
    text-decoration:none;
}
.tm-contact-line{
    margin-top:22px;
    color:#333;
}
.tm-contact-lines{
    margin-top:20px;
}
.tm-contact-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:28px;
    align-items:start;
}
.tm-contact-form-wrap h3{
    margin:0 0 8px;
    font-size:18px;
    font-weight:700;
    color:#555;
}
.tm-contact-form label{
    display:block;
    font-size:14px;
    color:#999;
    margin:8px 0 3px;
}
.tm-contact-form input[type="text"],
.tm-contact-form input[type="email"],
.tm-contact-form textarea{
    width:100%;
    border:1px solid #d7d7d7;
    background:#fff;
    height:32px;
    padding:5px 8px;
    box-sizing:border-box;
    font-size:14px;
    outline:none;
}
.tm-contact-form textarea{
    height:auto;
    resize:vertical;
}
.tm-contact-checkbox{
    display:flex!important;
    gap:6px;
    align-items:center;
    margin:13px 0!important;
    color:#78c878!important;
}
.tm-contact-checkbox input{
    width:auto!important;
}
.tm-contact-form button{
    background:#00a000;
    color:#fff;
    border:0;
    padding:10px 23px;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    border-radius:0;
}
.tm-contact-form button:hover{
    background:#008800;
}
.tm-contact-map iframe{
    width:100%;
    height:390px;
    border:0;
}
.tm-contact-success{
    background:#e9f8ec;
    color:#128a2e;
    padding:10px;
    margin:10px 0;
    border-left:4px solid #128a2e;
}
@media(max-width:768px){
    .tm-contact-grid{grid-template-columns:1fr;}
    .tm-contact-main-title{font-size:24px;}
    .tm-contact-info-box{padding:24px 15px;}
}


/* v1.1 alignment fix */
.tm-contact-grid{
    align-items: stretch;
}
.tm-contact-map{
    height: 100%;
    min-height: 520px;
    display: flex;
}
.tm-contact-map iframe{
    height: 100% !important;
    min-height: 520px;
    display: block;
}
@media(max-width:768px){
    .tm-contact-map,
    .tm-contact-map iframe{
        min-height: 360px;
        height: 360px !important;
    }
}


/* v1.2 bigger map - bottom aligned with submit button */
.tm-contact-grid{
    grid-template-columns: 1fr 1fr;
    align-items: stretch !important;
}

.tm-contact-map{
    height: 100% !important;
    min-height: 560px !important;
    display: flex !important;
}

.tm-contact-map iframe{
    width: 100% !important;
    height: 100% !important;
    min-height: 560px !important;
    display: block !important;
}

@media(max-width:768px){
    .tm-contact-map,
    .tm-contact-map iframe{
        min-height: 420px !important;
        height: 420px !important;
    }
}


/* v1.3 FORCE bigger map */
body .tm-contact-section .tm-contact-grid{
    display:grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 28px !important;
    align-items: stretch !important;
}

body .tm-contact-section .tm-contact-map{
    width:100% !important;
    height: 455px !important;
    min-height:455px !important;
    max-height:none !important;
    display:block !important;
    align-self: stretch !important;
}

body .tm-contact-section .tm-contact-map iframe{
    width:100% !important;
    height:455px !important;
    min-height:455px !important;
    max-height:none !important;
    display:block !important;
    border:0 !important;
}

@media(max-width:768px){
    body .tm-contact-section .tm-contact-grid{
        grid-template-columns: 1fr !important;
    }
    body .tm-contact-section .tm-contact-map,
    body .tm-contact-section .tm-contact-map iframe{
        height:420px !important;
        min-height:420px !important;
    }
}


/* v1.4 PERFECT alignment with submit button */
body .tm-contact-section .tm-contact-grid{
    align-items:flex-start !important;
}

body .tm-contact-section .tm-contact-map{
    margin-top: 0 !important;
}

body .tm-contact-section .tm-contact-map iframe{
    height: 505px !important;
    min-height: 505px !important;
}


/* v1.5 exact map height forced inline too */
.tm-contact-section .tm-contact-map,
.tm-contact-section .tm-contact-map iframe{
    height:438px !important;
    min-height:438px !important;
    max-height:438px !important;
}


/* v1.6 FORCE BIGGER MAP HEIGHT */
.tm-contact-map,
.tm-contact-map iframe,
.tm-contact-section .tm-contact-map iframe{
    height: 720px !important;
    min-height: 720px !important;
    max-height: 720px !important;
}

@media(max-width:768px){
    .tm-contact-map,
    .tm-contact-map iframe{
        height: 450px !important;
        min-height: 450px !important;
        max-height: 450px !important;
    }
}


/* v1.7 PERFECT BOTTOM ALIGNMENT */
.tm-contact-grid{
    align-items: stretch !important;
}

.tm-contact-map{
    display:flex !important;
    height:auto !important;
}

.tm-contact-map iframe{
    flex:1 !important;
    height:auto !important;
    min-height:620px !important;
}


/* v1.8 move map lower */
.tm-contact-map{
    margin-top: 15% !important;
}
