.cybertill-giftcard-container {
    margin-top: 20px;
    margin-bottom: 20px;
}

.cybertill-giftcard-container .block.giftcard {
    border: 1px solid #e0e0e0;
    padding: 15px;
    border-radius: 4px;
}

.cybertill-giftcard-container .block.giftcard .title {
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e0e0e0;
}

.cybertill-giftcard-container .fieldset .field {
    margin-bottom: 10px;
}

.cybertill-giftcard-container .fieldset .field .label {
    display: block;
    font-weight: 600;
    margin-bottom: 5px;
}

.cybertill-giftcard-container .fieldset .field .control input {
    width: 100%;
    max-width: 300px;
}

.cybertill-giftcard-container .actions-toolbar {
    margin-top: 15px;
}

.cybertill-giftcard-applied {
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid #e0e0e0;
}

.cybertill-giftcard-applied h3 {
    margin-bottom: 10px;
    font-size: 14px;
}

.applied-cards-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.applied-cards-list .applied-card-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 8px 0;
    border-bottom: 1px solid #f0f0f0;
}

.applied-cards-list .applied-card-item .card-number {
    font-weight: 600;
}

.applied-cards-list .applied-card-item .card-balance {
    color: #006400;
}

.applied-cards-list .applied-card-item .action.remove {
    margin-left: auto;
    color: #c00;
    background: none;
    border: none;
    cursor: pointer;
    text-decoration: underline;
}

.applied-cards-list .applied-card-item .action.remove:focus,
.applied-cards-list .applied-card-item .action.show-pin:focus {
    outline: 2px solid #006bb4;
    outline-offset: 2px;
}

.giftcard-total-discount {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #e0e0e0;
    font-size: 14px;
}

.giftcard-total-discount span {
    color: #006400;
    font-weight: 600;
}

/* My Account - Gift Cards Table */
.block-giftcards .table-giftcards {
    width: 100%;
    border-collapse: collapse;
}

.block-giftcards .table-giftcards th,
.block-giftcards .table-giftcards td {
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid #e0e0e0;
    vertical-align: middle;
}

.block-giftcards .table-giftcards thead th {
    font-weight: 700;
    background-color: #f5f5f5;
    white-space: nowrap;
}

.block-giftcards .card-number-value {
    font-family: monospace;
    font-size: 13px;
    letter-spacing: 0.5px;
}

.block-giftcards .pin-value {
    font-family: monospace;
    font-size: 13px;
    letter-spacing: 1px;
    display: inline-block;
    min-width: 40px;
}

.block-giftcards .action.show-pin {
    background: none;
    border: none;
    color: #1979c3;
    cursor: pointer;
    font-size: 12px;
    padding: 2px 6px;
    text-decoration: underline;
    margin-left: 5px;
}

.block-giftcards .action.show-pin:hover {
    color: #006bb4;
}

/* Status badges */
.block-giftcards .status-badge {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
}

.block-giftcards .status-active {
    background-color: #e6f4ea;
    color: #1e7e34;
}

.block-giftcards .status-inactive {
    background-color: #f0f0f0;
    color: #666;
}

.block-giftcards .status-expired {
    background-color: #fdecea;
    color: #c62828;
}

.block-giftcards .status-used {
    background-color: #fff3e0;
    color: #e65100;
}

/* Expiry date color coding */
.block-giftcards .expiry-warning {
    color: #e65100;
    font-weight: 600;
}

.block-giftcards .expiry-critical {
    color: #c62828;
    font-weight: 700;
}

.block-giftcards .expiry-expired {
    color: #c62828;
    font-weight: 700;
    text-decoration: line-through;
}

/* Current balance highlight */
.block-giftcards .col.current-balance strong {
    color: #1e7e34;
}

/* Responsive */
@media (max-width: 768px) {
    .block-giftcards .table-giftcards thead {
        display: none;
    }

    .block-giftcards .table-giftcards tr {
        display: block;
        margin-bottom: 15px;
        border: 1px solid #e0e0e0;
        border-radius: 4px;
        padding: 10px;
    }

    .block-giftcards .table-giftcards td {
        display: block;
        border-bottom: none;
        padding: 5px 0;
    }

    .block-giftcards .table-giftcards td:before {
        content: attr(data-th) ": ";
        font-weight: 600;
    }
}
