@charset "UTF-8";
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

@page {
    margin: 0;
    size: portrait;
}

.receipt {
    font-weight: 500;
    margin-top: 2px;
    font-family: sans-serif;
    font-size: 14px;
    padding: 0 0 25px 0;
    margin-right: 12px;
    width: 100%;
    max-width: 80mm;
}

.receipt-section {
    margin-bottom: 3px;
}

.receipt-body {
    padding: 0 2px;
    /*margin-bottom: 5px;*/
    /*border: 1px solid #000;*/
    /*border-radius: 8px;*/
}

.order-number {
    font-size: 6em;
    font-weight: bold;
    text-align: center;
    border: 2px dashed black;
    border-radius: 8px;
}

.order-info {
    display: flex;
    justify-content: space-between; /* Distributes space between the elements */
    width: 100%; /* Ensures the container takes full width */
}

.order-info-left {
    text-align: left;
    flex: 1; /* Makes each div take up equal available space */
}

.order-info-right {
    text-align: right;
    flex: 1; /* Makes each div take up equal available space */
}


.items-table {
    width: 100%;
    border-collapse: collapse;
    text-align: center;
    /*font-size: 1.1em;*/
}

.items-table th {
    /*text-align: left;*/
    border-bottom: 2px solid #000;
}

.items-table tbody {
    border-collapse: collapse;
}

.items-table th:first-child {
    text-align: left;
}

.items-table th:last-child {
    text-align: right;
}

.items-table td {
    /*padding-top: 3px;*/
    margin: 0;
    padding: 0 0 1px;
    max-width: 280px;
}

.items-table td:first-child {
    text-align: left;
}

.items-table td:last-child {
    text-align: right;
}

.total {
    font-weight: bold;
    text-align: left;
    border-top: 1px solid #000;
    padding-top: 10px;
}

.item-row-main {
    font-weight: 500;
    border-top: 1px dashed #000;
}

.item-row-main td:first-child {
    /*padding-left: 1ch; !* Add left padding to the first cell in main rows *!*/
}

.item-row-quiz td:first-child {
    padding-left: 1ch; /* Add left padding to the first cell in quiz rows */
}

.item-row-answer td:first-child {
    padding-left: 2ch; /* Add more padding for answer rows to show deeper nesting */
}

.order-id {
    text-align: left;
    flex: 1;
}

.receipt-footer {
    border-top: 2px solid #000;
}

.receipt-footer-price {
    text-align: right;
}

.uni-flex {
    display: flex;
    justify-content: space-between;
}

.uni-flex > div {
    flex: 1; /* Makes each div take up equal available space */
}

.total-label {
    text-align: left;
}

.first-column {
    display: flex;
    justify-content: left;
}

.item-id {
    flex: 0.1;
}

.item-name {
    flex: 0.9;
}

.summary {
    font-weight: bold;
    text-align: center;
    margin-top: 10px;
}

.receipt-company {
    border: 2px solid black;
    padding: 10px;
    text-align: center;
    margin: 25px 0 0 0;
    position: relative;
    border-radius: 10px;
}

.receipt-company > * > span {
    font-size: 1.15em;
}

.box-title {
    text-align: center;
    display: inline-block;
    position: absolute;
    top: -12px;
    left: 0;
    width: 100%;
}

.box-title > span {
    background-color: white;
    padding: 0 5px;
    font-weight: bold;
}
