/* =========================================================
   TRUSTONE CONTACT PAGE — PREMIUM CLEAN
========================================================= */

.tc-contact-wrap{
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 18px;
}

/* HERO */
.tc-contact-hero{
    padding: 60px 0 80px;
    background: linear-gradient(135deg, #ffffff, #f6f8ff);
    border-bottom: 1px solid rgba(2,6,23,.06);
}

.tc-contact-hero-grid{
    display:grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 40px;
    align-items:center;
}

/* left */
.tc-badge{
    display:inline-flex;
    align-items:center;
    gap: 10px;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    background: rgba(37,99,235,.10);
    color: #1d4ed8;
    margin-bottom: 16px;
    text-transform: uppercase;
    letter-spacing: .6px;
}

.tc-title{
    font-size: 44px;
    line-height: 1.05;
    letter-spacing: -.04em;
    font-weight: 800;
    margin: 0 0 14px;
}

.tc-title span{
    color: #2563eb;
}

.tc-sub{
    font-size: 15px;
    color: rgba(15,23,42,.68);
    margin: 0 0 26px;
    max-width: 520px;
}

/* CTA */
.tc-cta-row{
    display:flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.tc-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap: 10px;
    padding: 14px 22px;
    border-radius: 999px;
    font-weight: 800;
    font-size: 14px;
    transition: .25s ease;
}

.tc-btn-wa{
    background: linear-gradient(135deg, #22c55e, #16a34a);
    color:#fff;
    box-shadow: 0 14px 45px rgba(34,197,94,.25);
}

.tc-btn-wa:hover{
    transform: translateY(-2px);
    opacity:.95;
}

.tc-btn-outline{
    background: transparent;
    border: 1px solid rgba(2,6,23,.15);
    color:#0f172a;
}

.tc-btn-outline:hover{
    background: rgba(2,6,23,.04);
    transform: translateY(-2px);
}

/* mini info */
.tc-mini-info{
    display:flex;
    gap: 18px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.tc-mini-item{
    display:inline-flex;
    align-items:center;
    gap: 10px;
    font-size: 13px;
    color: rgba(15,23,42,.75);
}

.tc-mini-item i{
    color:#2563eb;
}


/* RIGHT CARD */
.tc-contact-card{
    background:#fff;
    border-radius: 24px;
    border: 1px solid rgba(2,6,23,.06);
    box-shadow: 0 20px 60px rgba(2,6,23,.10);
    padding: 22px;
}

.tc-contact-card-top{
    display:flex;
    gap: 14px;
    align-items:flex-start;
    margin-bottom: 18px;
}

.tc-contact-icon{
    width: 52px;
    height: 52px;
    border-radius: 18px;
    display:flex;
    justify-content:center;
    align-items:center;
    background: linear-gradient(135deg,#2563eb,#1d4ed8);
    color:#fff;
    font-size: 18px;
    box-shadow: 0 18px 55px rgba(37,99,235,.20);
}

.tc-contact-card-title{
    font-weight: 800;
    margin: 0;
    font-size: 16px;
}

.tc-contact-card-sub{
    margin: 4px 0 0;
    font-size: 13px;
    color: rgba(15,23,42,.6);
}

/* list */
.tc-contact-list{
    display:grid;
    gap: 14px;
    margin-top: 10px;
}

.tc-contact-item{
    display:flex;
    gap: 12px;
    align-items:flex-start;
    padding: 12px;
    border-radius: 18px;
    border: 1px solid rgba(2,6,23,.06);
    background: rgba(2,6,23,.02);
}

.tc-contact-i{
    width: 40px;
    height: 40px;
    border-radius: 16px;
    display:flex;
    justify-content:center;
    align-items:center;
    background: rgba(37,99,235,.10);
    color:#2563eb;
}

.tc-contact-label{
    margin: 0;
    font-size: 12px;
    font-weight: 700;
    color: rgba(15,23,42,.55);
}

.tc-contact-val{
    margin: 2px 0 0;
    font-size: 13px;
    font-weight: 700;
    color:#0f172a;
}

.tc-contact-wa-btn{
    margin-top: 18px;
    width: 100%;
    display:flex;
    justify-content:center;
    align-items:center;
    padding: 14px;
    border-radius: 999px;
    font-weight: 900;
    background: #111;
    color:#fff;
    transition:.25s ease;
}

.tc-contact-wa-btn:hover{
    opacity:.92;
    transform: translateY(-2px);
}

/* SECTION */
.tc-contact-section{
    padding: 70px 0;
}

.tc-contact-grid{
    display:grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 30px;
}

/* form card */
.tc-form-card,
.tc-map-card{
    background:#fff;
    border-radius: 24px;
    border: 1px solid rgba(2,6,23,.06);
    box-shadow: 0 18px 55px rgba(2,6,23,.08);
    padding: 26px;
}

.tc-sec-title{
    margin: 0;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -.02em;
}

.tc-sec-sub{
    margin-top: 8px;
    font-size: 13px;
    color: rgba(15,23,42,.55);
}

/* form */
.tc-form-row{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-top: 20px;
}

.tc-form-group{
    margin-top: 14px;
}

.tc-form-group label{
    font-size: 12px;
    font-weight: 800;
    color:#0f172a;
    margin-bottom: 6px;
    display:block;
}

.tc-form-group input,
.tc-form-group textarea{
    width:100%;
    border-radius: 16px;
    border: 1px solid rgba(2,6,23,.12);
    padding: 13px 14px;
    outline:none;
    font-size: 13px;
    background: #fff;
}

.tc-form-group input:focus,
.tc-form-group textarea:focus{
    border-color: rgba(37,99,235,.55);
    box-shadow: 0 0 0 4px rgba(37,99,235,.12);
}

.tc-form-btn{
    margin-top: 18px;
    width:100%;
    padding: 14px;
    border-radius: 999px;
    border:none;
    background: linear-gradient(135deg,#2563eb,#1d4ed8);
    color:#fff;
    font-weight: 900;
    transition:.25s ease;
}

.tc-form-btn:hover{
    transform: translateY(-2px);
    opacity:.95;
}

.tc-note{
    margin-top: 12px;
    font-size: 12px;
    color: rgba(15,23,42,.55);
    text-align:center;
}

.tc-note a{
    font-weight: 800;
    color:#2563eb;
}

/* MAP */
.tc-map{
    width:100%;
    height: 320px;
    margin-top: 18px;
    border-radius: 22px;
    overflow:hidden;
    border: 1px solid rgba(2,6,23,.08);
}

.tc-map-foot{
    margin-top: 16px;
    display:flex;
    gap: 10px;
    flex-wrap: wrap;
}

.tc-map-foot-item{
    display:inline-flex;
    align-items:center;
    gap: 10px;
    font-size: 12px;
    font-weight: 700;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(2,6,23,.03);
}

/* RESPONSIVE */
@media(max-width: 992px){
    .tc-contact-hero-grid{
        grid-template-columns: 1fr;
    }
    .tc-contact-grid{
        grid-template-columns: 1fr;
    }
    .tc-form-row{
        grid-template-columns: 1fr;
    }
    .tc-title{
        font-size: 34px;
    }
}

/* =========================================================
   EXTRA ANIMATION + MICRO INTERACTION (PREMIUM)
========================================================= */

/* floating gradient blob (hero) */
.tc-contact-hero{
    position: relative;
    overflow: hidden;
}
.tc-contact-hero::before{
    content:"";
    position:absolute;
    top: -140px;
    right: -160px;
    width: 380px;
    height: 380px;
    background: radial-gradient(circle at top left, rgba(37,99,235,.28), transparent 65%);
    filter: blur(2px);
    pointer-events:none;
}
.tc-contact-hero::after{
    content:"";
    position:absolute;
    bottom: -160px;
    left: -160px;
    width: 420px;
    height: 420px;
    background: radial-gradient(circle at top left, rgba(255,210,0,.25), transparent 65%);
    filter: blur(4px);
    pointer-events:none;
}

/* hover card effect */
.tc-contact-card,
.tc-form-card,
.tc-map-card{
    transition: .25s ease;
}
.tc-contact-card:hover,
.tc-form-card:hover,
.tc-map-card:hover{
    transform: translateY(-4px);
    box-shadow: 0 28px 80px rgba(2,6,23,.14);
}

/* hover for list item */
.tc-contact-item{
    transition: .22s ease;
}
.tc-contact-item:hover{
    transform: translateY(-2px);
    background: rgba(37,99,235,.06);
    border-color: rgba(37,99,235,.18);
}

/* button hover improve */
.tc-contact-wa-btn,
.tc-form-btn{
    transition: .25s ease;
}
.tc-contact-wa-btn:hover,
.tc-form-btn:hover{
    transform: translateY(-2px);
    opacity:.95;
}
