/* =====================================
   RECEIPT MAIN BOX
===================================== */

.gp-receipt{
    width:100% !important;
	
    max-width:190mm !important;

    height:auto;

    min-height:auto;

    margin:10px auto;

    background:#fff;

    padding:5mm 8mm !important;

    position:relative;

    border:4px solid #262563 !important;

    box-sizing:border-box;

    font-family:
    'Noto Sans Devanagari',
    sans-serif;

    font-size:12px;
}
	
/* INNER BORDER */

.gp-receipt:before{

    content:'';

    position:absolute;

    top:8px;
    left:8px;
    right:8px;
    bottom:8px;

    border:1.5px solid #262563;

    pointer-events:none;
}


/* =====================================
   HEADER
===================================== */

.gp-header{

    display:flex;

    align-items:flex-start;

    justify-content:space-between;
}


/* EMBLEM */

.gp-emblem{

    width:45px;

    text-align:center;
}

.gp-emblem img{

    width:70px;
}

.gp-emblem-text{

    font-size:7px;

    margin-top:6px;

    font-weight:700;
}


/* CENTER HEADER */

.gp-header-center{

    flex:1;

    text-align:center;
}


/* TAGLINE */

.gp-tagline{

    font-size:13px;

    font-style:italic;

    font-weight:500;
}


/* GP NAME */

.gp-gp-name{

    font-size:16px;

    font-weight:800;

    margin-top:3px;

    color:#111;
}


/* MAIN TITLE */

.gp-main-heading{

    font-size:22px;

    line-height:1.1;

    font-weight:900;

    color:#0d2b78;

    margin-top:4px;
}


/* DIVIDER */

.gp-divider{

    text-align:center;

    margin:6px 0;

    font-size:16px;

    color:#262563;
}


/* =====================================
   RECEIPT NO + DATE + OWNER (single row)
===================================== */

.gp-info-owner-row{

    display:flex;

    flex-wrap:wrap;

    justify-content:space-between;

    align-items:center;

    column-gap:14px;

    row-gap:4px;

    margin-top:6px;

    font-size:12px;

    font-weight:500;
}

.gp-red{

    color:#c20000;
}


/* BLUE TEXT */

.gp-blue{

    color:#082b78;

    font-weight:600;
}


/* =====================================
   DASHED LINE
===================================== */

.gp-dashed{

    border-top:3px dashed #262563;

    margin:6px 0;
}


/* =====================================
   TAX HEADS TABLE
===================================== */

.gp-tax-heads-table{

    width:100%;

    border-collapse:collapse;

    margin-top:8px;

    font-size:12px;

    table-layout:fixed;
}

.gp-tax-heads-table th{

    background:#082b78;

    color:#fff;

    padding:4px 6px;

    border:1px solid #1a3a7a;

    font-size:12px;

    font-weight:700;

    text-align:center;
}

.gp-tax-heads-table td{

    padding:4px 8px;

    border:1px solid #cfd6e4;

    text-align:center;

    font-weight:600;

    color:#222;

    overflow:hidden;

    text-overflow:ellipsis;
}

.gp-head-name{

    text-align:left !important;

    font-weight:700 !important;
}

.gp-tax-total-row td{

    background:#f4f7ff;

    font-weight:800;
}

.gp-total-label{

    text-align:right !important;
}

.gp-tax-heads-table td.gp-red{

    color:#c20000 !important;
}

.gp-green{

    color:#0a7d2c;
}


/* =====================================
   SUMMARY COLUMNS (SIDE BY SIDE)
===================================== */

.gp-summary-columns{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:12px;
}

.gp-summary-final td{

    font-weight:800;

    border-top:2px dashed #262563 !important;
}

.gp-ledger-note{

    font-size:10px;

    color:#666;

    margin-top:4px;

    font-style:italic;
}

.gp-legend-line{

    line-height:1.6;
}

/* Per-cell payment status in the tax-heads table: paid this receipt
   (green), paid in an earlier receipt (blue-grey), still due (red) */

.gp-tax-heads-table td.gp-cell-paid-now{

    background:#e6f7ee;

    color:#0a7d2c;

    font-weight:700;
}

.gp-tax-heads-table td.gp-cell-paid-before{

    background:#eef2fb;

    color:#3452a4;
}

.gp-tax-heads-table td.gp-cell-due{

    background:#fdeaea;

    color:#c20000;

    font-weight:700;
}

.gp-legend-chip{

    font-size:11px;

    margin-right:2px;
}

.gp-legend-chip.gp-cell-paid-now{ color:#0a7d2c; background:none; }
.gp-legend-chip.gp-cell-paid-before{ color:#3452a4; background:none; }
.gp-legend-chip.gp-cell-due{ color:#c20000; background:none; }


/* =====================================
   PAYMENT ROW (details + collected box)
===================================== */

.gp-payment-row{

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    gap:16px;

    flex-wrap:wrap;
}

.gp-total-collected-box{

    border:2px solid #262563;

    border-radius:8px;

    padding:8px 16px;

    text-align:center;

    min-width:200px;
}

.gp-total-collected-label{

    font-size:12px;

    font-weight:700;

    color:#333;
}

.gp-total-collected-amount{

    font-size:20px;

    font-weight:900;

    color:#c20000;

    margin-top:3px;
}


/* =====================================
   SUMMARY TABLE
===================================== */

.gp-summary-table{

    width:100%;

    border-collapse:collapse;

    margin-top:8px;

    font-size:12px;
}

.gp-summary-table th{

    background:#082b78;

    color:#fff;

    padding:5px;

    border:1px solid #ccc;

    font-size:13px;
}

.gp-summary-table td{

    padding:5px 6px;

    border:1px solid #ccc;
}


/* =====================================
   PAYMENT SECTION
===================================== */

.gp-payment-details{

    font-size:12px;

    line-height:1.6;

    font-weight:500;
}


/* =====================================
   STAMP AREA
===================================== */

.gp-stamp-note{

    display:flex;

    justify-content:space-between;

    align-items:flex-end;

    gap:50px;

    margin-top:8px;
	
	margin-left:10px;
}


/* NOTE */

.gp-note{

    font-size:12px;

    font-weight:500;

    line-height:1.6;

    text-align:center;
			
	margin-right:50px;
}


/* =====================================
   FOOTER
===================================== */

.gp-footer-thanks{

    margin-top:4px;

    text-align:center;

    font-size:12px;

    font-weight:800;

    color:#082b78;
}


/* =====================================
   MOBILE PREVIEW
===================================== */

@media(max-width:768px){

    .gp-receipt{

        max-width:650px;

        min-height:auto;

        padding:10px;
    }

    .gp-main-heading{

        font-size:34px;
    }

    .gp-gp-name{

        font-size:24px;
    }

    .gp-tagline{

        font-size:14px;
    }

    .gp-info-owner-row{

        font-size:16px;

        flex-direction:column;

        align-items:flex-start;

        gap:8px;
    }

    .gp-tax-grid{

        grid-template-columns:1fr;

        gap:20px;
    }

    .gp-tax-head{

        font-size:22px;
    }

    .gp-tax-body li{

        font-size:18px;
    }

    .gp-summary-table{

        font-size:16px;
    }

    .gp-payment-details{

        font-size:16px;
    }

    .gp-stamp-note{

        flex-direction:column;

        align-items:center;
    }

    .gp-note{

        font-size:16px;
    }

    .gp-footer-thanks{

        font-size:18px;
    }
}
	
/* PRINT */

@page{

    size:A4 portrait;
    margin:5mm;
}

@media print{

    body{

        margin:0 !important;
        padding:0 !important;
        background:#fff !important;
    }

    .site-header,
    .site-footer,
    .elementor-location-header,
    .elementor-location-footer,
    .gp-edit-btn,
    .gp-send-btn{

        display:none !important;
    }

    .gp-tax-form-card{

        width:100% !important;
        max-width:100% !important;
        margin:0 !important;
        padding:0 !important;
        overflow:visible !important;
        box-shadow:none !important;
        border:none !important;
    }

    .gp-receipt-wrapper{

        width:100% !important;
        margin:0 !important;
        padding:0 !important;
        display:block !important;
    }

    .gp-receipt{

        width:180mm !important;
        max-width:180mm !important;

        height:auto !important;
        min-height:auto !important;

        margin:0 auto !important;

        box-shadow:none !important;

        font-size:12px !important;

        page-break-inside:avoid !important;
        break-inside:avoid !important;
    }

}

