
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Inter,sans-serif;
}

body{
    background:#f5f5f7;
}


.header{

    height:75px;

    background:white;

    border-bottom:1px solid #e5e7eb;

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:0 30px;
}


/* LOGO */

.logo{
    display:flex;
    align-items:center;
    text-decoration:none;
}

.logo img{
    height:111px;
    width:auto;
    display:block;
}


.heart{
    color:#ef4444;
}

.back-btn{

    text-decoration:none;

    background:#111827;

    color:white;

    padding:12px 18px;

    border-radius:10px;
}


.container{

    max-width:900px;

    margin:60px auto;

    padding:20px;
}

.top-content{

    text-align:center;

    margin-bottom:40px;
}

.top-content h1{

    font-size:52px;

    margin-bottom:15px;
}

.top-content p{

    color:#6b7280;
}


.upload-box {
  width: 100%;

  min-height: 320px;

  background: white;

  border: 3px dashed #d1d5db;

  border-radius: 30px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  text-align: center;

  cursor: pointer;

  transition: 0.3s;

  padding: 40px;
}

.upload-box:hover {
  border-color: #ef4444;

  background: #fff7f7;
}

.upload-box.dragover {
  border-color: #ef4444;

  background: #fff1f2;
}

.upload-box i{

    font-size:80px;

    color:#ef4444;

    margin-bottom:20px;
}

.upload-box h2{

    margin-bottom:10px;
}

.upload-box p{

    color:#6b7280;
}

#fileInfo{

    margin-top:25px;

    text-align:center;

    font-size:18px;

    font-weight:600;

    color:#111827;
}

/* =========================
   PDF PREVIEW LOADER
========================= */

/* LOADER */

.loader{

    display:none;

    text-align:center;

    padding:30px;
}

.spinner{

    width:60px;

    height:60px;

    margin:0 auto 15px;

    border:6px solid #e5e7eb;

    border-top:6px solid #ef4444;

    border-radius:50%;

    animation:spin 1s linear infinite;
}

@keyframes spin{

    0%{
        transform:rotate(0deg);
    }

    100%{
        transform:rotate(360deg);
    }
}
/* =========================
   PDF PREVIEW
========================= */

.preview-section{

    margin-top:40px;
}

.preview-section h2{

    text-align:center;

    margin-bottom:20px;
}

#pdfPreview{

    display:flex;

    flex-direction:column;

    gap:20px;

    align-items:center;
}

.pdf-page{

    background:white;

    padding:10px;

    border-radius:12px;

    box-shadow:
    0 2px 10px rgba(0,0,0,.08);
}

.pdf-page canvas{

    display:block;
}
.pdf-page{
    position:relative;
}

.signature-marker{

    position:absolute;

    width:16px;

    height:16px;

    background:red;

    border-radius:50%;

    transform:translate(-50%, -50%);

    pointer-events:none;

    z-index:100;
}

#positionInfo{

    margin-top:20px;

    text-align:center;

    font-size:18px;

    font-weight:600;
}
/* =========================
   DRAW SIGNATURE SECTION
========================= */

.section{

    background:white;

    padding:25px;

    border-radius:20px;

    margin-top:30px;

    text-align:center;
}

#signatureCanvas{

    width:100%;

    max-width:500px;

    height:200px;

    border:2px solid #d1d5db;

    border-radius:12px;

    background:white;

    cursor:crosshair;

    display:block;

    margin:0 auto 20px auto;
}

/* =========================
   CLEAR BUTTON
========================= */

#clearBtn{

    display:block;

    margin:0 auto;

    border:none;

    background:#ef4444;

    color:white;

    padding:12px 24px;

    border-radius:10px;

    cursor:pointer;

    font-size:15px;

    font-weight:600;
}
#clearBtn:hover{

    background:#dc2626;
}

.controls{

    text-align:center;

    margin-top:30px;
}

#signBtn{

    border:none;

    background:#10b981;

    color:white;

    padding:15px 30px;

    border-radius:12px;

    font-size:16px;

    font-weight:600;

    cursor:pointer;
}

#signBtn:hover{

    background:#059669;
}

#signatureStatus{

    margin-top:10px;

    font-size:14px;

    color:#6b7280;
}
/* =========================
   FOOTER
========================= */

.footer{

    background:#111827;

    color:#fff;

    margin-top:80px;
}

.footer-container{

    max-width:1300px;

    margin:auto;

    padding:60px 24px;

    display:grid;

    grid-template-columns:
    2fr 1fr 1fr 1fr;

    gap:40px;
}

.footer-brand img{
    height:81px;

    background:white;

    padding:5px;

    border-radius:5px;
}
.footer-brand p{

    color:#9ca3af;

    line-height:1.8;

    max-width:320px;
}

.footer-column h3{

    margin-bottom:20px;

    font-size:18px;

    font-weight:700;
}

.footer-column{
    display:flex;
    flex-direction:column;
    position:relative;
    padding-left:30px;
}

.footer-column a{

    color:#9ca3af;

    text-decoration:none;

    margin-bottom:12px;

    transition:.3s;
}

.footer-column a:hover{

    color:#ef4444;
}

.footer-bottom{

    border-top:1px solid #374151;

    text-align:center;

    padding:20px;
}

.footer-bottom p{

    color:#9ca3af;

    font-size:14px;
}

.footer-column::before{

    content:"";

    position:absolute;

    left:0;
    top:10px;

    width:1px;
    height:80%;

    background:rgba(255,255,255,0.12);
}
@media (max-width: 992px){

    .footer-container{

        grid-template-columns:
        repeat(2,1fr);
    }

}
@media (max-width: 768px){

    .footer-container{

        grid-template-columns:1fr;

        text-align:center;
    }

    .footer-brand p{

        max-width:100%;

        margin:auto;
    }

   .footer-brand img{
    height:50px;

    background:white;

    padding:8px;

    border-radius:10px;
}

}

@media (max-width:768px){

    .footer-column::before{
        display:none;
    }

    .footer-column{
        padding-left:0;
    }

}