/* =============================================
   CONTACT PAGE – IMAGE STYLE UI
============================================= */
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400&family=Roboto+Condensed:wght@700&display=swap');



/* ===== Contact Heading Section (Top Header) ===== */
.contact-heading-section {
    background: #DEFFFD;
    padding: 35px 0 55px;
    text-align: center;
    font-family: 'Roboto', Arial, Helvetica, sans-serif;
    border-bottom: 1px solid #e5e5e5;
}

.contact-heading-wrapper {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 15px;
}

.page-heading {
    margin: 0;
    display: inline-block;
    font-family: 'Roboto Condensed', 'Roboto', Arial, sans-serif;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 1px;
    color: #333;
    text-transform: uppercase;
    position: relative;
}




/* Map full width */
.contact-map-top { margin: 0; padding: 0; }
.map-container-top iframe { display: block; width: 100%; border: 0; }

/* ---- Common Sections ---- */
.connect-section,
.line-section {
    background: #f2f2f2;
    padding: 65px 0 75px;
    text-align: center;
    font-family: 'Roboto', Arial, Helvetica, sans-serif;
}
.line-section { border-top: 1px solid #e1e1e1; }

.connect-container { max-width: 1000px; margin: 0 auto; padding: 0 15px; }

/* Heading + side lines + teal arrows */
.sec-head { display: flex; align-items: center; justify-content: center; gap: 14px; }
.head-line { flex: 1; height: 1px; background: #d9d9d9; }
.deco { display: flex; align-items: center; }
.deco svg { display: block; }
.deco.flip svg { transform: scaleX(-1); }

.sec-title {
    margin: 0;
    font-family: 'Roboto Condensed', 'Roboto', Arial, sans-serif;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: .5px;
    color: #333;
    text-transform: uppercase;
    white-space: nowrap;
}
.sec-title span { color: #00A99D; }

.sec-sub {
    margin: 14px 0 0;
    font-size: 14px;
    color: #4a4a4a;
    letter-spacing: .4px;
    text-transform: uppercase;
}

/* ---- 3 Cards ---- */
.connect-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 58px;
}
.connect-card {
    position: relative;
    border: 1px solid #e0e0e0;
    background: transparent;
    padding: 44px 20px 30px;
}
.connect-icon {
    position: absolute;
    top: -28px; left: 50%;
    transform: translateX(-50%);
    width: 56px; height: 56px;
    background: #303030;
    border-radius: 3px;
    color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 26px; font-weight: 700;
}

.connect-icon:hover{
    background-color: #00A99D;
}
.connect-icon svg { width: 22px; height: 22px; fill: #fff; }
.connect-card h3 {
    margin: 10px 0 10px;
    font-size: 18px;
    font-weight: 700;
    color: #1f1f1f;
}
.connect-card p { margin: 0; font-size: 14px; color: #3d3d3d; }
.connect-card p a { color: #3d3d3d; text-decoration: none; }
.connect-card p a:hover { color: #00A99D; }

/* ---- Form ---- */
.line-form { margin-top: 45px; text-align: left; }
.form-row-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}
.line-form input,
.line-form textarea {
    width: 100%;
    background: #f7f7f7;
    border: 1px solid #dcdcdc;
    border-radius: 0;
    padding: 10px 12px;
    font-size: 12px;
    font-style: italic;
    color: #666;
    font-family: 'Roboto', Arial, sans-serif;
    outline: none;
    transition: border-color .2s, background .2s;
}
.line-form input::placeholder,
.line-form textarea::placeholder { color: #777; }
.line-form input:focus,
.line-form textarea:focus { border-color: #00A99D; background: #fff; }
.line-form textarea { margin-top: 22px; min-height: 155px; resize: vertical; }

.send-btn {
    margin-top: 22px;
    background:  #383838;
    color: #fff;
    border: none;
    border-radius: 2px;
    padding: 12px 20px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .6px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .2s;
}
.send-btn:hover { background: #ffffff; border: 2px solid  #383838; color: #000;}

/* Alerts */
.alert-success-new,
.alert-error-new {
    display: flex; align-items: center; gap: 8px;
    padding: 10px 14px; margin-bottom: 18px; font-size: 13px;
}
.alert-success-new { background: #e8f7ef; color: #2e7d32; border: 1px solid #c8e6c9; }
.alert-error-new { background: #fdecea; color: #c62828; border: 1px solid #f5c6cb; display: block; }
.alert-error-new p { margin: 2px 0; }

/* Responsive */
@media (max-width: 992px) {
    .connect-cards { gap: 18px; }
}
@media (max-width: 768px) {
    .head-line { display: none; }
    .sec-title { font-size: 20px; }
    .connect-cards { grid-template-columns: 1fr; gap: 42px; }
    .form-row-3 { grid-template-columns: 1fr; }
}