/* ===== GLOBAL ===== */

@import url('https://fonts.cdnfonts.com/css/dm-sans');

body{
font-family:'DM Sans', sans-serif;
background:#f4f4f4;
margin:0;
color:#111;
}


/* ===== MAIN SEARCH AREA ===== */

.main{
text-align:center;
margin-top:140px;
}

.logo{
font-size:148px;
font-weight:400;
letter-spacing:-5px;
margin-bottom:40px;
}


/* ===== SEARCH BAR ===== */

.search-box{
width:580px;
margin:0 auto;
position:relative;
display:flex;
align-items:center;
}

.search-box input{
width:100%;
padding:20px 60px 20px 24px;
font-size:18px;
border-radius:20px;
border:1px solid #e6e6e6;
background:white;
box-shadow:0 6px 20px rgba(0,0,0,0.06);
outline:none;
}

.search-box input::placeholder{
color:#888;
}


/* ===== SEARCH BUTTON ===== */

.search-btn{
position:absolute;
right:20px;
top:50%;
transform:translateY(-50%);
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
}

.search-btn img{
width:46px;
height:46px;
object-fit:contain;
}


/* ======================================================
SEARCH DROPDOWN
====================================================== */

.search-results{
position:absolute;
top:74px;
left:0;
width:100%;
background:white;
border-radius:18px;
box-shadow:0 20px 40px rgba(0,0,0,0.08);
overflow:hidden;
z-index:999;
}

.result-item{
display:grid;
grid-template-columns:1fr 1fr;
column-gap:80px;
padding:28px 30px;
border-bottom:1px solid #f1f1f1;
cursor:pointer;
transition:background .15s ease;
}

.result-item:hover{
background:#f7f7f7;
}

.result-item:last-child{
border-bottom:none;
}

/* LEFT SIDE */

.result-left{
display:flex;
flex-direction:column;
gap:8px;
text-align:left;
font-size:15px;
line-height:1.45;
color:#222;
}

/* RIGHT SIDE */

.result-right{
display:flex;
flex-direction:column;
gap:6px;
text-align:right;
font-size:15px;
line-height:1.45;
color:#444;
}

.contact-line{
display:flex;
align-items:center;
gap:8px;
}

.contact-line img{
width:14px;
height:14px;
opacity:.85;
}

.result-item.empty{
color:#888;
cursor:default;
padding:16px;
text-align:center;
font-size:14px;
}


/* ======================================================
SECTION 1 — ENTITY CARD
====================================================== */

.entity-card{
width:580px;
margin:40px auto 10px auto;
background:white;
border-radius:22px;
padding:36px 40px;
box-shadow:0 10px 30px rgba(0,0,0,0.08);
display:flex;
flex-direction:column;
gap:12px;
text-align:left;
}

.entity-card h2{
font-size:36px;
font-weight:500;
margin:0;
}

.entity-type{
font-size:16px;
color:#666;
}

.entity-subtype{
font-size:15px;
color:#444;
}

.entity-affiliations{
font-size:14px;
color:#444;
margin-top:6px;
}

.entity-contact{
display:flex;
flex-direction:column;
gap:6px;
margin-top:8px;
font-size:15px;
}

.entity-phone{
display:flex;
align-items:center;
gap:8px;
font-weight:500;
}

.entity-phone img{
width:18px;
height:18px;
}


/* ======================================================
SECTION 2 — ROUTING PANEL
====================================================== */

.routing-panel{
width:580px;
margin:10px auto 40px auto;
padding:36px 38px;
border-radius:20px;

background:rgba(255,255,255,0.65);

border:1px solid rgba(0,0,0,0.25);

display:grid;
grid-template-columns:1fr 1fr;
gap:26px 50px;
}

.routing-section{
display:flex;
flex-direction:column;
gap:4px;
}

.routing-section h3{
font-size:13px;
font-weight:600;
color:#666;
margin:0;
}

.routing-section div{
font-size:16px;
color:#111;
}


/* ===== UPLOAD TOGGLE ===== */

.upload-toggle{
margin-top:25px;
margin-bottom:20px;
display:flex;
justify-content:center;
align-items:center;
gap:14px;
font-size:14px;
color:#555;
}


/* ===== SWITCH ===== */

.switch{
position:relative;
display:inline-block;
width:46px;
height:24px;
}

.switch input{
opacity:0;
width:0;
height:0;
}

.slider{
position:absolute;
cursor:pointer;
top:0;
left:0;
right:0;
bottom:0;
background:#ddd;
border-radius:30px;
transition:.3s;
}

.slider:before{
position:absolute;
content:"";
height:18px;
width:18px;
left:3px;
bottom:3px;
background:white;
border-radius:50%;
transition:.3s;
}

.switch input:checked + .slider{
background:#111;
}

.switch input:checked + .slider:before{
transform:translateX(22px);
}


/* ===== UPLOAD AREA ===== */

.upload-container{
width:580px;
margin:25px auto 30px auto;
display:flex;
justify-content:space-between;
gap:20px;
}

.upload-container.single{
justify-content:center;
}

.upload-box{
width:280px;
height:210px;
border-radius:26px;
border:1px solid #000;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
transition:.2s;
}

.upload-box:hover{
transform:translateY(-4px);
box-shadow:0 14px 35px rgba(0,0,0,0.12);
}

.upload-inner{
text-align:center;
}

.upload-icon img{
width:42px;
height:42px;
object-fit:contain;
margin-bottom:10px;
}

.upload-box p{
margin:0;
font-size:15px;
color:#555;
}

.upload-box input{
display:none;
}

.upload-container.single .upload-box{
width:580px;
height:210px;
}


/* ===== HOT CONTACTS ===== */

.hot-contacts{
padding:40px 0;
text-align:left;
}

.hot-contacts h2{
font-size:65px;
font-weight:400;
margin-bottom:60px;
letter-spacing:-3px;
text-align:center;
}

.cards{
max-width:1100px;
margin:0 auto;
display:flex;
justify-content:center;
gap:40px;
flex-wrap:wrap;
}

.contact-wrapper{
width:240px;
text-align:left;
}

.card{
width:100%;
height:200px;
padding:26px;
border-radius:28px;
background:white;
box-shadow:0 12px 35px rgba(0,0,0,0.08);
display:flex;
flex-direction:column;
transition:.2s;
text-align:left;
}

.card:hover{
transform:translateY(-4px);
box-shadow:0 18px 45px rgba(0,0,0,0.12);
}

.card h3{
font-size:28px;
margin:0;
font-weight:400;
}

.card p{
font-size:15px;
margin-top:6px;
color:#666;
}

.designation-icon{
margin-top:auto;
width:80px;
height:80px;
display:flex;
align-items:center;
justify-content:flex-start;
}

.designation-icon img{
max-width:70px;
max-height:70px;
object-fit:contain;
}

.card-info{
margin-top:14px;
text-align:left;
}

.entity-type{
font-size:14px;
margin-bottom:6px;
}

.phone{
display:flex;
align-items:center;
gap:8px;
font-size:15px;
font-weight:500;
}

.phone-icon{
width:24px;
height:24px;
background:black;
border-radius:6px;
display:flex;
align-items:center;
justify-content:center;
}

.phone-icon img{
width:14px;
height:14px;
object-fit:contain;
filter:invert(1);
}

.card-1{background:#ffffff;}
.card-2{background:#f0f0f0;}
.card-3{background:#e6e6e6;}
.card-4{background:#dcdcdc;}