/* ==========================================
   TRADEMARK STATUS PORTAL
   PROFESSIONAL CSS
========================================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Arial,Helvetica,sans-serif;
}

body{

background:#f5f7fb;
color:#222;
line-height:1.6;

}

.container{

width:92%;
max-width:1200px;
margin:auto;

}

/* ================= HEADER ================= */

.top-header{

background:#003366;
color:#fff;
padding:18px 0;
box-shadow:0 3px 15px rgba(0,0,0,.15);

}

.top-header .container{

display:flex;
justify-content:space-between;
align-items:center;

}

.logo{

font-size:28px;
font-weight:bold;

}

.logo i{

margin-right:10px;
color:#ffd54f;

}

nav a{

color:#fff;
text-decoration:none;
margin-left:30px;
font-weight:bold;
transition:.3s;

}

nav a:hover{

color:#ffd54f;

}

/* ================= HERO ================= */

.hero{

background:linear-gradient(135deg,#004a99,#003366);
padding:80px 0;
text-align:center;
color:#fff;

}

.hero h1{

font-size:46px;
margin-bottom:15px;

}

.hero p{

font-size:19px;
opacity:.9;

}

/* ================= SEARCH ================= */

.search-section{

margin-top:-45px;

}

.search-card{

background:#fff;
padding:35px;
border-radius:12px;
box-shadow:0 10px 35px rgba(0,0,0,.12);

}

.search-card h2{

color:#003366;
margin-bottom:10px;

}

.search-card p{

color:#666;
margin-bottom:25px;

}

.search-card input{

width:100%;
padding:16px;
font-size:17px;
border:1px solid #ccc;
border-radius:8px;
outline:none;
transition:.3s;

}

.search-card input:focus{

border-color:#0056b3;

}

.search-card button{

margin-top:20px;
width:100%;
padding:15px;
font-size:18px;
border:none;
border-radius:8px;
background:#0056b3;
color:#fff;
cursor:pointer;
transition:.3s;

}

.search-card button:hover{

background:#003366;

}

/* ================= ERROR ================= */

.error-message{

display:none;
color:#c62828;
font-weight:bold;
margin-top:10px;

}

.input-error{

border:2px solid #c62828!important;
background:#fff5f5;

}

/* ================= SUMMARY ================= */

.summary-section{

padding:50px 0;

}

.summary-grid{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
gap:25px;

}

.summary-card{

background:#fff;
padding:30px;
border-radius:12px;
box-shadow:0 8px 20px rgba(0,0,0,.08);
transition:.3s;

}

.summary-card:hover{

transform:translateY(-6px);

}

.summary-card h3{

color:#003366;
margin-bottom:15px;

}

.summary-card p{

font-size:18px;
font-weight:bold;

}

.badge-grey{

background:#999;
color:#fff;
padding:8px 18px;
border-radius:25px;
display:inline-block;

}

.badge-abandoned{

background:#c62828;
color:#fff;
padding:8px 20px;
border-radius:25px;
display:inline-block;
font-weight:bold;

}

/* ================= RESULT ================= */

.result-card{

background:#fff;
padding:35px;
border-radius:12px;
box-shadow:0 8px 20px rgba(0,0,0,.08);
margin-bottom:35px;

}

.result-card h2{

color:#003366;
margin-bottom:20px;

}

.result-card table{

width:100%;
border-collapse:collapse;

}

.result-card td{

padding:16px;
border-bottom:1px solid #eee;

}

.result-card td:first-child{

font-weight:bold;
background:#f8fbff;
width:35%;

}

/* ==========================================
   ACTION REQUIRED
========================================== */

.action-required{

background:#fff4f4;
border-left:6px solid #d32f2f;
padding:35px;
border-radius:12px;
margin:40px 0;
box-shadow:0 8px 20px rgba(0,0,0,.08);

}

.action-header h2{

color:#b71c1c;
margin-bottom:20px;

}

.action-body p{

font-size:17px;
color:#444;
margin-bottom:18px;
line-height:1.8;

}

.action-buttons{

display:flex;
gap:15px;
margin-top:25px;
flex-wrap:wrap;

}

.btn-call,
.btn-email{

display:inline-block;
padding:14px 28px;
border-radius:8px;
font-weight:bold;
text-decoration:none;
transition:.3s;

}

.btn-call{

background:#007bff;
color:white;

}

.btn-call:hover{

background:#0056b3;

}

.btn-email{

background:#198754;
color:white;

}

.btn-email:hover{

background:#146c43;

}

/* ==========================================
   TIMELINE
========================================== */

.timeline{

background:#fff;
padding:35px;
border-radius:12px;
box-shadow:0 8px 20px rgba(0,0,0,.08);
margin:40px 0;

}

.timeline h2{

color:#003366;
margin-bottom:30px;

}

.timeline-item{

display:flex;
align-items:flex-start;
margin-bottom:30px;

}

.timeline-dot{

width:18px;
height:18px;
border-radius:50%;
background:#bdbdbd;
margin-right:20px;
margin-top:6px;
flex-shrink:0;

}

.timeline-dot.completed{

background:#28a745;

}

.timeline-dot.warning{

background:#d32f2f;

}

.timeline-content h3{

margin-bottom:8px;
color:#003366;

}

.timeline-content p{

color:#666;

}

/* ==========================================
   SERVICES
========================================== */

.service-box{

margin:40px 0;
background:white;
padding:40px;
border-radius:12px;
box-shadow:0 8px 20px rgba(0,0,0,.08);

}

.service-box h2{

color:#003366;
margin-bottom:15px;

}

.service-box p{

color:#666;
margin-bottom:30px;

}

.service-grid{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:25px;

}

.service-card{

background:#f8fbff;
padding:30px;
border-radius:10px;
text-align:center;
transition:.3s;

}

.service-card:hover{

transform:translateY(-6px);

}

.service-card i{

font-size:38px;
color:#0056b3;
margin-bottom:18px;

}

.service-card h3{

margin-bottom:12px;
color:#003366;

}

/* ==========================================
   DISCLAIMER
========================================== */

.disclaimer{

margin:40px 0;
background:#fff8e1;
padding:30px;
border-left:6px solid #ff9800;
border-radius:10px;

}

.disclaimer h3{

color:#e65100;
margin-bottom:12px;

}

.disclaimer p{

line-height:1.8;
color:#555;

}

/* ==========================================
   FOOTER
========================================== */

footer{

background:#003366;
color:white;
padding:40px 0;
margin-top:50px;
text-align:center;

}

footer h3{

margin-bottom:12px;

}

footer p{

opacity:.9;
margin-bottom:8px;

}

/* ==========================================
   LOADING
========================================== */

.loading-box{

display:none;
text-align:center;
padding:50px;
margin:40px auto;
background:white;
max-width:650px;
border-radius:12px;
box-shadow:0 8px 20px rgba(0,0,0,.08);

}

.loader{

width:70px;
height:70px;
margin:auto;
border:6px solid #ddd;
border-top:6px solid #0056b3;
border-radius:50%;
animation:spin 1s linear infinite;

}

@keyframes spin{

100%{

transform:rotate(360deg);

}

}

.loading-box h3{

margin-top:25px;
color:#003366;

}

.loading-box p{

margin-top:10px;
color:#666;

}

/* ==========================================
   MOBILE
========================================== */

@media(max-width:768px){

.top-header .container{

flex-direction:column;

}

nav{

margin-top:20px;

}

nav a{

display:inline-block;
margin:8px;

}

.hero h1{

font-size:32px;

}

.hero p{

font-size:16px;

}

.search-card{

padding:25px;

}

.action-buttons{

flex-direction:column;

}

.btn-call,
.btn-email{

width:100%;
text-align:center;

}

.timeline-item{

flex-direction:column;

}

.timeline-dot{

margin-bottom:10px;

}

}