/* CONTRACTOR SEARCH */

.contractor-search-box{
background:#53606C;
padding:25px;
border-radius:10px;
max-width:500px;
margin:20px auto;
}

.search-input-wrapper{
position:relative;
}

.search-input-wrapper input{
width:100%;
padding:12px 15px 12px 40px;
border-radius:6px;
border:none;
}

.search-icon{
position:absolute;
left:12px;
top:50%;
transform:translateY(-50%);
}

/* BUTTONS */

.search-buttons{
display:flex;
gap:10px;
margin-top:10px;
}

.search-btn,
.filter-btn{
background:#fff;
padding:8px 18px;
border-radius:6px;
border:none;
cursor:pointer;
}

/* CONTRACTOR CARD */

.contractor-person-name{font-weight:600;}

.firm-title{
font-size:20px;
font-weight:700;
margin-bottom:8px;
}

.contractor-info{
font-size:15px;
margin:4px 0;
}

/* CONTRACTOR SINGLE PAGE */

.single-contractors .bp-overview-card{
max-width:750px;
margin:30px auto;
text-align:center;
}

.single-contractors .bp-info-grid{
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:20px;
}

.single-contractors .bp-gallery{
text-align:center;
}

.single-contractors .property-contact-buttons{
display:flex;
justify-content:center;
gap:20px;
}

/* CONTRACTOR TITLE BOX */

.contractor-title-box{
text-align:center;
margin:40px auto 30px;
}

.contractor-main-title{
display:inline-block;
background:#f3f5f7;
padding:14px 35px;
border-radius:10px;
font-size:30px;
font-weight:700;
}

/* WRAPPER ALIGNMENT */

.contractor-wrapper{
max-width:1100px;
margin:0 auto;
}

/* HERO IMAGE */

.contractor-hero{
text-align:center;
margin-bottom:20px;
}

.contractor-hero img{
display:block;
margin:0 auto;
max-width:900px;
width:100%;
height:auto;
border-radius:12px;
}

/* CONTRACTOR TITLE */

.single-contractor .contractor-hero-title{
text-align:center;
margin:25px auto;
}

.single-contractor .contractor-main-title{
display:inline-block;
background:#ffffff;
padding:14px 34px;
border-radius:12px;
font-size:28px;
font-weight:700;
box-shadow:0 6px 18px rgba(0,0,0,0.06);
}

/* CONTACT BUTTON CONTAINER */

.single-contractor .property-contact-buttons{
display:flex;
justify-content:center;
align-items:center;
gap:15px;
margin:25px auto 10px;
flex-wrap:wrap;
}

/* CALL BUTTON */

.single-contractor .property-call-btn{
background:#16a34a;
color:white;
padding:10px 20px;
border-radius:8px;
text-decoration:none;
font-weight:600;
display:inline-flex;
align-items:center;
gap:6px;
}


/* WHATSAPP BUTTON */

.single-contractor .property-whatsapp-btn{
background:#25D366;
color:white;
padding:10px 20px;
border-radius:8px;
text-decoration:none;
font-weight:600;
display:inline-flex;
align-items:center;
gap:6px;
}


/* SHARE BUTTON */

.single-contractor .property-share-btn{
background:#2563eb;
color:white;
padding:10px 20px;
border-radius:8px;
text-decoration:none;
font-weight:600;
display:inline-flex;
align-items:center;
gap:6px;
}

.single-contractor .contractor-contact-buttons{
display:flex;
justify-content:center;
align-items:center;
gap:15px;
margin:30px auto;
flex-wrap:wrap;
}

.single-contractor .contractor-call-btn{
background:#16a34a;
color:white;
padding:10px 20px;
border-radius:8px;
text-decoration:none;
font-weight:600;
}

.single-contractor .contractor-whatsapp-btn{
background:#25D366;
color:white;
padding:10px 20px;
border-radius:8px;
text-decoration:none;
font-weight:600;
}

.single-contractor .contractor-share-btn{
background:#2563eb;
color:white;
padding:10px 20px;
border-radius:8px;
border:none;
font-weight:600;
cursor:pointer;
}

/* MOBILE OPTIMIZATION */

@media (max-width:768px){

.contractor-wrapper{
padding:0 12px;
}

/* INFO BOX GRID */

.contractor-overview-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:12px;
}

.contractor-overview-box{
padding:16px;
border-radius:14px;
font-size:14px;
}

/* GALLERY */

.contractor-gallery{
padding:0 8px;
}

/* CONTACT BUTTONS */

.contractor-contact-buttons{
display:flex;
justify-content:center;
gap:10px;
flex-wrap:wrap;
}

.contractor-call-btn,
.contractor-whatsapp-btn,
.contractor-share-btn{
flex:1;
text-align:center;
padding:12px;
}

}

@media (max-width:768px){

.single-contractor .contractor-contact-buttons{
gap:10px;
padding:0 10px;
}

.single-contractor .contractor-call-btn,
.single-contractor .contractor-whatsapp-btn,
.single-contractor .contractor-share-btn{

flex:1;
text-align:center;
padding:12px;
font-size:14px;

}

}

.contractor-hero-title {
    max-width: 1200px;   /* match Astra container */
    margin: -40px auto 30px auto;  /* center it */
    padding: 0;   /* IMPORTANT: remove side padding */
    text-align: center;
}

/* Title box */
.contractor-main-title {
    display: block;
    width: 100%;
    max-width: 600px;   /* controls box size */
    margin: 0 auto;     /* center inside */
    background: #fff;
    padding: 18px 25px;
    border-radius: 12px;
    font-size: 24px;
    font-weight: 600;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}