/* Visible Restaurant POS v0.4.2 */

.vmp-pos-wrap,

.vmp-pos-wrap * {

    box-sizing: border-box !important;

    writing-mode: horizontal-tb !important;

    text-orientation: mixed !important;

    transform: none !important;

    letter-spacing: normal !important;

    word-break: normal !important;

    overflow-wrap: normal !important;

}



.vmp-pos-wrap {

    --vmp-bg: #ffffff;

    --vmp-soft: #f8fafc;

    --vmp-line: #e5e7eb;

    --vmp-line-2: #cbd5e1;

    --vmp-text: #0f172a;

    --vmp-muted: #64748b;

    --vmp-primary: #111827;

    --vmp-blue: #2563eb;

    width: min(1500px, calc(100vw - 32px)) !important;

    max-width: 1500px !important;

    margin: 24px auto !important;

    padding: 0 !important;

    clear: both !important;

    color: var(--vmp-text) !important;

    font-size: 16px !important;

    line-height: 1.45 !important;

}



.vmp-pos-wrap .vmp-card {

    width: 100% !important;

    margin: 0 !important;

    padding: 28px !important;

    background: var(--vmp-bg) !important;

    border: 1px solid var(--vmp-line) !important;

    border-radius: 18px !important;

    box-shadow: 0 18px 44px rgba(15, 23, 42, .08) !important;

    overflow: hidden !important;

}



.vmp-pos-wrap .vmp-card-header {

    display: flex !important;

    justify-content: space-between !important;

    align-items: flex-start !important;

    gap: 18px !important;

    margin: 0 0 24px !important;

    padding: 0 !important;

}



.vmp-pos-wrap h2 {

    margin: 0 0 7px !important;

    padding: 0 !important;

    color: var(--vmp-text) !important;

    font-size: 30px !important;

    line-height: 1.15 !important;

    font-weight: 900 !important;

}



.vmp-pos-wrap .vmp-table-label {

    margin: 0 !important;

    padding: 0 !important;

    color: #1f2937 !important;

    font-size: 18px !important;

    font-weight: 850 !important;

}



.vmp-pos-wrap .vmp-table-box {

    width: 100% !important;

    margin: 0 0 22px !important;

    border: 1px solid var(--vmp-line) !important;

    border-radius: 15px !important;

    background: #fff !important;

    overflow-x: auto !important;

}



.vmp-pos-wrap table.vmp-order-table {

    display: table !important;

    width: 100% !important;

    min-width: 780px !important;

    margin: 0 !important;

    border-collapse: separate !important;

    border-spacing: 0 !important;

    table-layout: auto !important;

    color: var(--vmp-text) !important;

    background: #fff !important;

}



.vmp-pos-wrap .vmp-order-table thead { display: table-header-group !important; }

.vmp-pos-wrap .vmp-order-table tbody { display: table-row-group !important; }

.vmp-pos-wrap .vmp-order-table tr { display: table-row !important; }



.vmp-pos-wrap .vmp-order-table th,

.vmp-pos-wrap .vmp-order-table td {

    display: table-cell !important;

    margin: 0 !important;

    padding: 16px 18px !important;

    border: 0 !important;

    border-bottom: 1px solid #eef2f7 !important;

    background: transparent !important;

    color: var(--vmp-text) !important;

    vertical-align: middle !important;

    text-align: left !important;

    font-size: 16px !important;

    line-height: 1.35 !important;

    height: auto !important;

}



.vmp-pos-wrap .vmp-order-table thead th {

    background: #f8fafc !important;

    font-size: 14px !important;

    font-weight: 900 !important;

    text-transform: uppercase !important;

    letter-spacing: .02em !important;

    color: #334155 !important;

}



.vmp-pos-wrap .vmp-order-table tbody tr:last-child td { border-bottom: 0 !important; }

.vmp-pos-wrap .vmp-order-table tbody tr:hover td { background: #fbfdff !important; }



.vmp-pos-wrap .vmp-order-table .vmp-num {

    width: 150px !important;

    text-align: right !important;

    white-space: nowrap !important;

}



.vmp-pos-wrap .vmp-order-table .vmp-item-cell { width: auto !important; }

.vmp-pos-wrap .vmp-order-table .vmp-item-cell strong,

.vmp-pos-wrap .vmp-strong {

    display: block !important;

    color: var(--vmp-text) !important;

    font-size: 17px !important;

    font-weight: 900 !important;

}



.vmp-pos-wrap .vmp-order-table .vmp-item-cell small {

    display: block !important;

    max-width: 1000px !important;

    margin-top: 5px !important;

    color: #475569 !important;

    font-size: 14px !important;

    line-height: 1.45 !important;

    font-weight: 500 !important;

    overflow-wrap: anywhere !important;

}



.vmp-pos-wrap .vmp-checkout-bottom {

    display: grid !important;

    grid-template-columns: minmax(0, 1fr) minmax(360px, 430px) !important;

    gap: 22px !important;

    align-items: start !important;

    margin: 0 0 18px !important;

    width: 100% !important;

}



/* Summary is intentionally a compact list, not tall cards */

.vmp-pos-wrap .vmp-summary {

    display: grid !important;

    grid-template-columns: 1fr !important;

    gap: 0 !important;

    width: 100% !important;

    min-width: 0 !important;

    padding: 8px 18px !important;

    border: 1px solid var(--vmp-line) !important;

    border-radius: 15px !important;

    background: #fff !important;

    overflow: hidden !important;

}



.vmp-pos-wrap .vmp-summary-row {

    display: grid !important;

    grid-template-columns: minmax(0, 1fr) auto !important;

    align-items: center !important;

    gap: 20px !important;

    min-height: 0 !important;

    height: auto !important;

    margin: 0 !important;

    padding: 14px 0 !important;

    border: 0 !important;

    border-bottom: 1px solid #eef2f7 !important;

    border-radius: 0 !important;

    background: transparent !important;

    position: relative !important;

}

.vmp-pos-wrap .vmp-summary-row:last-child { border-bottom: 0 !important; }



.vmp-pos-wrap .vmp-summary-row span,

.vmp-pos-wrap .vmp-summary-row label {

    display: block !important;

    width: auto !important;

    margin: 0 !important;

    padding: 0 !important;

    color: var(--vmp-muted) !important;

    font-size: 14px !important;

    font-weight: 850 !important;

    line-height: 1.25 !important;

    position: static !important;

    white-space: normal !important;

}



.vmp-pos-wrap .vmp-summary-row strong {

    display: block !important;

    width: auto !important;

    margin: 0 !important;

    padding: 0 !important;

    color: var(--vmp-text) !important;

    font-size: 22px !important;

    line-height: 1.15 !important;

    font-weight: 950 !important;

    text-align: right !important;

    white-space: nowrap !important;

    position: static !important;

}



.vmp-pos-wrap .vmp-total-row strong { font-size: 24px !important; }



.vmp-pos-wrap .vmp-grand-row {

    margin: 8px -10px 0 !important;

    padding: 18px 16px !important;

    border: 0 !important;

    border-radius: 13px !important;

    background: #111827 !important;

}

.vmp-pos-wrap .vmp-grand-row span,

.vmp-pos-wrap .vmp-grand-row strong { color: #fff !important; }

.vmp-pos-wrap .vmp-grand-row strong { font-size: 27px !important; }



.vmp-pos-wrap .vmp-tip-row {

    grid-template-columns: minmax(0, 1fr) auto !important;

}

.vmp-pos-wrap .vmp-tip-input-wrap {

    display: inline-flex !important;

    align-items: center !important;

    justify-content: flex-end !important;

    gap: 8px !important;

    width: auto !important;

    min-width: 0 !important;

    position: relative !important;

}

.vmp-pos-wrap .vmp-tip-input-wrap span,

.vmp-pos-wrap .vmp-cash-input-line span {

    display: inline-block !important;

    width: auto !important;

    min-width: 22px !important;

    color: var(--vmp-muted) !important;

    font-size: 14px !important;

    font-weight: 850 !important;

    line-height: 1 !important;

    white-space: nowrap !important;

}



.vmp-pos-wrap input#vmp_tip_amount,

.vmp-pos-wrap input#vmp_cash_received {

    display: inline-block !important;

    width: 130px !important;

    min-width: 130px !important;

    max-width: 130px !important;

    height: 44px !important;

    min-height: 44px !important;

    margin: 0 !important;

    padding: 8px 12px !important;

    border: 1px solid #cbd5e1 !important;

    border-radius: 10px !important;

    background: #fff !important;

    color: var(--vmp-text) !important;

    font-size: 17px !important;

    font-weight: 750 !important;

    line-height: 1.2 !important;

    text-align: right !important;

    opacity: 1 !important;

    visibility: visible !important;

    pointer-events: auto !important;

    appearance: auto !important;

    -webkit-appearance: auto !important;

    -webkit-user-select: text !important;

    user-select: text !important;

    position: relative !important;

    z-index: 5 !important;

}



.vmp-pos-wrap input#vmp_tip_amount:focus,

.vmp-pos-wrap input#vmp_cash_received:focus {

    outline: none !important;

    border-color: var(--vmp-blue) !important;

    box-shadow: 0 0 0 3px rgba(37, 99, 235, .14) !important;

}



.vmp-pos-wrap .vmp-payment-panel {

    display: flex !important;

    flex-direction: column !important;

    gap: 14px !important;

    width: 100% !important;

    min-width: 0 !important;

    margin: 0 !important;

    padding: 18px !important;

    border: 1px solid var(--vmp-line) !important;

    border-radius: 15px !important;

    background: #fff !important;

    position: relative !important;

}



.vmp-pos-wrap .vmp-payment-title {

    display: block !important;

    margin: 0 !important;

    padding: 0 !important;

    color: var(--vmp-text) !important;

    font-size: 16px !important;

    font-weight: 900 !important;

}



.vmp-pos-wrap .vmp-payment-methods {

    display: grid !important;

    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    gap: 10px !important;

    width: 100% !important;

    margin: 0 !important;

}



.vmp-pos-wrap button.vmp-method-card,

.vmp-pos-wrap .vmp-method-card {

    appearance: none !important;

    -webkit-appearance: none !important;

    display: flex !important;

    flex-direction: row !important;

    align-items: center !important;

    justify-content: center !important;

    gap: 10px !important;

    width: 100% !important;

    min-width: 0 !important;

    min-height: 58px !important;

    margin: 0 !important;

    padding: 13px 14px !important;

    border: 1px solid var(--vmp-line-2) !important;

    border-radius: 13px !important;

    background: #fff !important;

    color: var(--vmp-text) !important;

    font-size: 16px !important;

    font-weight: 900 !important;

    line-height: 1.2 !important;

    text-align: center !important;

    cursor: pointer !important;

    box-shadow: none !important;

    text-decoration: none !important;

    position: relative !important;

    z-index: 1 !important;

}



.vmp-pos-wrap button.vmp-method-card:hover {

    border-color: #94a3b8 !important;

    background: #f8fafc !important;

}



.vmp-pos-wrap button.vmp-method-card.vmp-is-selected {

    border-color: var(--vmp-blue) !important;

    background: #eff6ff !important;

    color: #1d4ed8 !important;

    box-shadow: 0 0 0 2px rgba(37, 99, 235, .14) inset !important;

}



.vmp-pos-wrap .vmp-method-icon,

.vmp-pos-wrap .vmp-method-label {

    display: inline-flex !important;

    align-items: center !important;

    justify-content: center !important;

    position: static !important;

    width: auto !important;

    height: auto !important;

    min-width: 0 !important;

    max-width: none !important;

    margin: 0 !important;

    padding: 0 !important;

    opacity: 1 !important;

    visibility: visible !important;

    color: inherit !important;

    overflow: visible !important;

    text-indent: 0 !important;

    white-space: nowrap !important;

    pointer-events: none !important;

}

.vmp-pos-wrap .vmp-method-icon { font-size: 20px !important; line-height: 1 !important; }

.vmp-pos-wrap .vmp-method-label { font-size: 16px !important; font-weight: 900 !important; }



.vmp-pos-wrap .vmp-cash-panel {

    display: none !important;

    margin: 0 !important;

    padding: 15px !important;

    border: 1px solid #bfdbfe !important;

    border-radius: 13px !important;

    background: #eff6ff !important;

    position: relative !important;

    z-index: 3 !important;

}

.vmp-pos-wrap .vmp-cash-panel.vmp-is-visible { display: block !important; }

.vmp-pos-wrap .vmp-cash-panel label {

    display: block !important;

    margin: 0 0 8px !important;

    padding: 0 !important;

    color: #1e3a8a !important;

    font-size: 13px !important;

    font-weight: 900 !important;

    line-height: 1.25 !important;

    position: static !important;

}

.vmp-pos-wrap .vmp-cash-input-line {

    display: flex !important;

    align-items: center !important;

    justify-content: flex-start !important;

    gap: 8px !important;

    margin: 0 0 12px !important;

    position: relative !important;

    z-index: 4 !important;

}

.vmp-pos-wrap .vmp-change-line {

    display: grid !important;

    grid-template-columns: minmax(0, 1fr) auto !important;

    justify-content: initial !important;

    align-items: center !important;

    gap: 18px !important;

    margin-top: 4px !important;

    padding-top: 12px !important;

    border-top: 1px solid #bfdbfe !important;

    color: #1e3a8a !important;

    font-weight: 850 !important;

}

.vmp-pos-wrap .vmp-change-line span {

    color: #1e3a8a !important;

    font-size: 14px !important;

    font-weight: 900 !important;

    white-space: nowrap !important;

    justify-self: start !important;

}

.vmp-pos-wrap .vmp-change-line strong {

    display: inline-block !important;

    min-width: 125px !important;

    text-align: right !important;

    font-size: 22px !important;

    font-weight: 950 !important;

    color: #1e3a8a !important;

    white-space: nowrap !important;

    justify-self: end !important;

}



.vmp-pos-wrap .vmp-button {

    display: inline-flex !important;

    align-items: center !important;

    justify-content: center !important;

    min-height: 50px !important;

    margin: 0 !important;

    padding: 13px 18px !important;

    border-radius: 13px !important;

    font-size: 16px !important;

    font-weight: 900 !important;

    line-height: 1.2 !important;

    text-decoration: none !important;

    cursor: pointer !important;

}

.vmp-pos-wrap .vmp-button-primary {

    width: 100% !important;

    border: 0 !important;

    background: var(--vmp-primary) !important;

    color: #fff !important;

    box-shadow: 0 8px 18px rgba(15, 23, 42, .16) !important;

}

.vmp-pos-wrap .vmp-button-primary:hover { background: #020617 !important; color: #fff !important; }

.vmp-pos-wrap .vmp-button-primary:disabled { opacity: .65 !important; cursor: not-allowed !important; }

.vmp-pos-wrap .vmp-button-secondary {

    border: 1px solid #cbd5e1 !important;

    background: #fff !important;

    color: var(--vmp-text) !important;

}

.vmp-pos-wrap .vmp-button-secondary:hover { border-color: #94a3b8 !important; background: #f8fafc !important; }



.vmp-pos-wrap .vmp-response {

    min-height: 22px !important;

    margin: 0 !important;

    color: var(--vmp-text) !important;

    font-size: 14px !important;

    font-weight: 850 !important;

}

.vmp-pos-wrap .vmp-response.is-error { color: #b91c1c !important; }

.vmp-pos-wrap .vmp-response.is-success { color: #047857 !important; }

.vmp-pos-wrap .vmp-notice { padding: 13px 15px !important; background: #f8fafc !important; border-left: 4px solid #64748b !important; color: var(--vmp-text) !important; }

.vmp-pos-wrap .vmp-notice-error { border-left-color: #b91c1c !important; }



@media (max-width: 1100px) {

    .vmp-pos-wrap .vmp-checkout-bottom { grid-template-columns: 1fr !important; }

}

@media (max-width: 760px) {

    .vmp-pos-wrap { width: min(100%, calc(100vw - 18px)) !important; margin: 12px auto !important; }

    .vmp-pos-wrap .vmp-card { padding: 18px !important; border-radius: 14px !important; }

    .vmp-pos-wrap h2 { font-size: 26px !important; }

    .vmp-pos-wrap .vmp-summary-row { grid-template-columns: 1fr !important; gap: 7px !important; }

    .vmp-pos-wrap .vmp-summary-row strong { text-align: left !important; }

    .vmp-pos-wrap .vmp-tip-input-wrap { justify-content: flex-start !important; }

    .vmp-pos-wrap .vmp-payment-methods { grid-template-columns: 1fr !important; }

}



.vmp-pos-wrap .vmp-receipt-choice {

    display: grid !important;

    gap: 8px !important;

    padding: 12px !important;

    border: 1px solid #e2e8f0 !important;

    border-radius: 14px !important;

    background: #f8fafc !important;

}

.vmp-pos-wrap .vmp-receipt-choice label {

    font-weight: 850 !important;

    color: var(--vmp-muted) !important;

    font-size: 13px !important;

}

.vmp-pos-wrap .vmp-receipt-choice select,

.vmp-pos-wrap .vmp-receipt-choice input[type="email"] {

    width: 100% !important;

    max-width: none !important;

    min-height: 42px !important;

    border-radius: 10px !important;

    border: 1px solid #cbd5e1 !important;

    background: #fff !important;

    color: var(--vmp-text) !important;

    padding: 8px 11px !important;

    font-size: 15px !important;

    box-shadow: none !important;

}



/* POS admin settings layout */

.vmp-wrap .vmp-card{background:#fff;border:1px solid #d7e0ea;border-radius:14px;padding:22px;margin-top:16px;box-shadow:0 12px 30px rgba(15,23,42,.06);max-width:1100px}.vmp-wrap .vmp-card h2{margin:0 0 16px;color:#1d3557}.vmp-settings-tabs{position:sticky;top:32px;z-index:20;background:#f0f0f1;padding:10px 0;margin:10px 0 16px;border-bottom:1px solid #dcdcde;display:flex;gap:8px;flex-wrap:wrap}.vmp-settings-tabs a{display:inline-flex;align-items:center;border:1px solid #d7e0ea;border-radius:999px;background:#fff;color:#1d3557;font-weight:700;padding:9px 16px;text-decoration:none;box-shadow:0 2px 6px rgba(15,23,42,.04)}.vmp-settings-tabs a:hover{border-color:#2271b1;background:#f6fbff;color:#1d3557}.vmp-settings-tabs a.is-active{background:#1d3557;color:#fff;border-color:#1d3557}.vmp-settings-form .vmp-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:16px;margin-bottom:22px}.vmp-settings-form label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#1f2937}.vmp-settings-form label span{font-weight:800}.vmp-settings-form label em{font-weight:400;font-style:normal;color:#64748b;font-size:13px;line-height:1.4}.vmp-settings-form input[type=text],.vmp-settings-form input[type=url],.vmp-settings-form input[type=number],.vmp-settings-form select,.vmp-settings-form textarea{width:100%;max-width:none;border:1px solid #ccd6e0;border-radius:10px;padding:9px 12px;background:#fff;box-shadow:none}.vmp-settings-form textarea{min-height:110px}.vmp-settings-form .vmp-wide{grid-column:1/-1}.vmp-check-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px 14px;margin:8px 0 22px}.vmp-check-grid label{display:flex;flex-direction:row;align-items:center;gap:8px;border:1px solid #d7e0ea;border-radius:12px;background:#f8fbff;padding:10px 12px;font-weight:700}.vmp-check-grid input{margin:0}@media(max-width:900px){.vmp-settings-form .vmp-settings-grid,.vmp-check-grid{grid-template-columns:1fr}.vmp-settings-tabs{position:static}}

.vmp-pos-wrap .vmp-line-qty{width:72px;max-width:72px;text-align:center;border:1px solid #ccd6e0;border-radius:8px;padding:7px 8px;background:#fff}.vmp-pos-wrap .vmp-extra-lines{margin-top:18px;padding-top:16px;border-top:1px solid #e5edf5}.vmp-pos-wrap .vmp-extra-lines h3{margin:0 0 4px;font-size:18px}.vmp-pos-wrap .vmp-extra-help{margin:0 0 12px;color:#64748b}.vmp-pos-wrap .vmp-extra-line{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) 80px 110px auto;gap:10px;align-items:center;margin:8px 0}.vmp-pos-wrap .vmp-extra-line input,.vmp-pos-wrap .vmp-extra-line select{width:100%;border:1px solid #ccd6e0;border-radius:8px;padding:8px 10px;background:#fff;min-height:39px}.vmp-pos-wrap .vmp-remove-extra-line{border:1px solid #ef4444;color:#b91c1c;background:#fff;border-radius:8px;padding:8px 10px;font-weight:700;cursor:pointer}@media(max-width:700px){.vmp-pos-wrap .vmp-extra-line{grid-template-columns:1fr}.vmp-pos-wrap .vmp-line-qty{width:100%;max-width:100%}}

/* v2.1.10: robuste betalingsikoner uden afhængighed af emoji-billeder */
.vmp-pos-wrap .vmp-method-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    color: currentColor !important;
}
.vmp-pos-wrap .vmp-method-svg {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
}
.vmp-pos-wrap .vmp-method-fallback-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 24px !important;
    height: 24px !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    line-height: 1 !important;
}
.vmp-pos-wrap .vmp-method-icon img {
    display: none !important;
}

/* v2.1.11: betalingsside låses efter registreret betaling */
.vmp-pos-wrap.vmp-is-paid .vmp-order-table input,.vmp-pos-wrap.vmp-is-paid .vmp-extra-lines,.vmp-pos-wrap.vmp-is-paid .vmp-payment-panel,.vmp-pos-wrap.vmp-is-paid .vmp-tip-row{opacity:.55;pointer-events:none}.vmp-pos-wrap.vmp-is-paid .vmp-back-to-waiter{opacity:1!important;pointer-events:auto!important}

/* Visible responsive POS refinements v2.1.33 */
.vmp-pos-wrap{
    max-width:100% !important;
    overflow-x:hidden !important;
}
.vmp-pos-wrap .vmp-card,
.vmp-pos-wrap .vmp-table-box,
.vmp-pos-wrap .vmp-checkout-bottom,
.vmp-pos-wrap .vmp-summary,
.vmp-pos-wrap .vmp-payment-panel{
    max-width:100% !important;
    min-width:0 !important;
}
.vmp-pos-wrap .vmp-item-cell,
.vmp-pos-wrap .vmp-item-cell strong,
.vmp-pos-wrap .vmp-item-cell small,
.vmp-pos-wrap .vmp-method-label,
.vmp-pos-wrap .vmp-summary-row span,
.vmp-pos-wrap .vmp-summary-row label{
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    white-space:normal !important;
}
@media (max-width: 900px){
    .vmp-pos-wrap table.vmp-order-table{
        min-width:0 !important;
        width:100% !important;
    }
    .vmp-pos-wrap .vmp-order-table thead{
        display:none !important;
    }
    .vmp-pos-wrap .vmp-order-table,
    .vmp-pos-wrap .vmp-order-table tbody,
    .vmp-pos-wrap .vmp-order-table tr,
    .vmp-pos-wrap .vmp-order-table td{
        display:block !important;
        width:100% !important;
    }
    .vmp-pos-wrap .vmp-order-table tr{
        padding:14px !important;
        border-bottom:1px solid #eef2f7 !important;
        background:#fff !important;
    }
    .vmp-pos-wrap .vmp-order-table tr:last-child{border-bottom:0 !important;}
    .vmp-pos-wrap .vmp-order-table td{
        padding:8px 0 !important;
        border-bottom:0 !important;
    }
    .vmp-pos-wrap .vmp-order-table td.vmp-num{
        display:grid !important;
        grid-template-columns:minmax(0, 1fr) auto !important;
        gap:12px !important;
        align-items:center !important;
        text-align:right !important;
    }
    .vmp-pos-wrap .vmp-order-table td.vmp-num:nth-child(2)::before{content:'Antal';}
    .vmp-pos-wrap .vmp-order-table td.vmp-num:nth-child(3)::before{content:'Stk. pris';}
    .vmp-pos-wrap .vmp-order-table td.vmp-num:nth-child(4)::before{content:'Total';}
    .vmp-pos-wrap .vmp-order-table td.vmp-num::before{
        color:#64748b !important;
        font-size:13px !important;
        font-weight:900 !important;
        text-align:left !important;
        text-transform:uppercase !important;
    }
    .vmp-pos-wrap .vmp-line-qty{
        justify-self:end !important;
    }
}
@media (max-width: 520px){
    .vmp-pos-wrap{width:100% !important;margin:8px auto !important;padding:0 8px !important;}
    .vmp-pos-wrap .vmp-card{padding:14px !important;}
    .vmp-pos-wrap .vmp-card-header{display:block !important;}
    .vmp-pos-wrap h2{font-size:24px !important;}
    .vmp-pos-wrap .vmp-summary{padding:8px 12px !important;}
    .vmp-pos-wrap .vmp-summary-row,
    .vmp-pos-wrap .vmp-tip-row,
    .vmp-pos-wrap .vmp-change-line{
        grid-template-columns:1fr !important;
        gap:8px !important;
    }
    .vmp-pos-wrap .vmp-summary-row strong,
    .vmp-pos-wrap .vmp-change-line strong{
        text-align:left !important;
        white-space:normal !important;
        min-width:0 !important;
    }
    .vmp-pos-wrap .vmp-tip-input-wrap,
    .vmp-pos-wrap .vmp-cash-input-line{
        width:100% !important;
        justify-content:flex-start !important;
    }
    .vmp-pos-wrap input#vmp_tip_amount,
    .vmp-pos-wrap input#vmp_cash_received{
        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
        text-align:left !important;
    }
    .vmp-pos-wrap button.vmp-method-card,
    .vmp-pos-wrap .vmp-method-card,
    .vmp-pos-wrap .vmp-button{
        min-width:0 !important;
        width:100% !important;
        white-space:normal !important;
    }
}


/* v2.1.34: bedre mobilvisning af antal-felt på kassesiden */
@media (max-width: 640px){
    .vmp-pos-wrap .vmp-order-table td.vmp-num{
        grid-template-columns: minmax(90px, 1fr) minmax(96px, 120px) !important;
        column-gap: 16px !important;
    }
    .vmp-pos-wrap .vmp-order-table td.vmp-num::before{
        align-self:center !important;
        min-width:0 !important;
        padding-right:8px !important;
    }
    .vmp-pos-wrap .vmp-line-qty{
        width:96px !important;
        max-width:96px !important;
        min-width:96px !important;
        box-sizing:border-box !important;
        justify-self:end !important;
        text-align:center !important;
    }
}
@media (max-width: 380px){
    .vmp-pos-wrap .vmp-order-table td.vmp-num{
        grid-template-columns:1fr !important;
        row-gap:6px !important;
        text-align:left !important;
    }
    .vmp-pos-wrap .vmp-line-qty{
        width:100% !important;
        max-width:none !important;
        min-width:0 !important;
        justify-self:stretch !important;
    }
}


/* v2.1.35: stærkere mobil-layout på antal-felt i kassen */
@media (max-width: 640px){
    .vmp-pos-wrap .vmp-order-table,
    .vmp-pos-wrap .vmp-order-table thead,
    .vmp-pos-wrap .vmp-order-table tbody,
    .vmp-pos-wrap .vmp-order-table tr,
    .vmp-pos-wrap .vmp-order-table th,
    .vmp-pos-wrap .vmp-order-table td{
        display:block !important;
        width:100% !important;
        box-sizing:border-box !important;
    }
    .vmp-pos-wrap .vmp-order-table thead{display:none !important;}
    .vmp-pos-wrap .vmp-order-table tr.vmp-pos-line{
        border:1px solid #e5edf5 !important;
        border-radius:16px !important;
        padding:12px !important;
        margin:0 0 12px !important;
        background:#fff !important;
    }
    .vmp-pos-wrap .vmp-order-table td.vmp-item-cell{padding:0 0 10px !important;}
    .vmp-pos-wrap .vmp-order-table td.vmp-num{
        display:grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(88px, 110px) !important;
        align-items:center !important;
        gap:10px !important;
        padding:8px 0 !important;
        text-align:right !important;
        border-top:1px solid #eef2f7 !important;
        min-width:0 !important;
    }
    .vmp-pos-wrap .vmp-order-table td.vmp-num::before{
        display:block !important;
        min-width:0 !important;
        text-align:left !important;
        white-space:normal !important;
        overflow-wrap:anywhere !important;
    }
    .vmp-pos-wrap .vmp-line-qty{
        width:100% !important;
        min-width:0 !important;
        max-width:110px !important;
        justify-self:end !important;
        box-sizing:border-box !important;
    }
}
@media (max-width: 360px){
    .vmp-pos-wrap .vmp-order-table td.vmp-num{grid-template-columns:1fr !important;text-align:left !important;}
    .vmp-pos-wrap .vmp-line-qty{max-width:none !important;justify-self:stretch !important;}
}

/* v2.1.36: endelig mobil-fix for antal-feltet i POS/kasse */
@media (max-width: 640px){
    .vmp-pos-wrap .vmp-table-box{
        overflow-x:hidden !important;
    }
    .vmp-pos-wrap table.vmp-order-table{
        min-width:0 !important;
        width:100% !important;
        table-layout:fixed !important;
    }
    .vmp-pos-wrap .vmp-order-table .vmp-num{
        width:auto !important;
        white-space:normal !important;
        text-align:left !important;
    }
    .vmp-pos-wrap .vmp-order-table td.vmp-num{
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:12px !important;
        min-width:0 !important;
    }
    .vmp-pos-wrap .vmp-order-table td.vmp-num::before{
        flex:0 0 auto !important;
        min-width:58px !important;
        max-width:45% !important;
        margin:0 !important;
        text-align:left !important;
        white-space:normal !important;
    }
    .vmp-pos-wrap .vmp-order-table td.vmp-num .vmp-line-qty{
        flex:0 0 96px !important;
        width:96px !important;
        max-width:96px !important;
        min-width:72px !important;
        margin:0 !important;
        display:block !important;
        position:static !important;
        box-sizing:border-box !important;
        text-align:center !important;
    }
}
@media (max-width: 420px){
    .vmp-pos-wrap .vmp-order-table td.vmp-num{
        display:block !important;
    }
    .vmp-pos-wrap .vmp-order-table td.vmp-num::before{
        display:block !important;
        max-width:none !important;
        margin:0 0 6px !important;
    }
    .vmp-pos-wrap .vmp-order-table td.vmp-num .vmp-line-qty{
        width:100% !important;
        max-width:none !important;
    }
}


/* v2.1.37: robust mobil-layout for kasse/antal-felt - label og felt må aldrig overlappe */
@media (max-width: 700px){
    .vmp-pos-wrap .vmp-table-box,
    .vmp-pos-wrap .vmp-order-panel,
    .vmp-pos-wrap .vmp-order-table{
        overflow-x:hidden !important;
        max-width:100% !important;
    }
    .vmp-pos-wrap .vmp-order-table,
    .vmp-pos-wrap .vmp-order-table tbody,
    .vmp-pos-wrap .vmp-order-table tr,
    .vmp-pos-wrap .vmp-order-table td{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        box-sizing:border-box !important;
        min-width:0 !important;
    }
    .vmp-pos-wrap .vmp-order-table thead{display:none !important;}
    .vmp-pos-wrap .vmp-order-table tr.vmp-pos-line{
        padding:16px !important;
        margin:0 !important;
        border:0 !important;
        border-bottom:1px solid #e9eef5 !important;
        border-radius:0 !important;
        background:#fff !important;
    }
    .vmp-pos-wrap .vmp-order-table td.vmp-item-cell{
        padding:0 0 14px !important;
        border:0 !important;
    }
    .vmp-pos-wrap .vmp-order-table td.vmp-num{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:7px !important;
        align-items:stretch !important;
        justify-content:stretch !important;
        text-align:left !important;
        padding:10px 0 !important;
        border:0 !important;
        overflow:visible !important;
        clear:both !important;
    }
    .vmp-pos-wrap .vmp-order-table td.vmp-num::before{
        display:block !important;
        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
        margin:0 !important;
        padding:0 !important;
        position:static !important;
        float:none !important;
        line-height:1.2 !important;
        text-align:left !important;
        color:#64748b !important;
        font-size:13px !important;
        font-weight:900 !important;
        text-transform:uppercase !important;
        white-space:normal !important;
    }
    .vmp-pos-wrap .vmp-order-table td.vmp-num .vmp-line-qty,
    .vmp-pos-wrap .vmp-order-table td.vmp-num input.vmp-line-qty{
        display:block !important;
        width:100% !important;
        max-width:180px !important;
        min-width:0 !important;
        height:48px !important;
        margin:0 !important;
        padding:8px 12px !important;
        position:static !important;
        float:none !important;
        justify-self:start !important;
        align-self:start !important;
        box-sizing:border-box !important;
        text-align:center !important;
        transform:none !important;
    }
    .vmp-pos-wrap .vmp-order-table td.vmp-num:not(:has(input)){
        grid-template-columns: minmax(80px, auto) 1fr !important;
        gap:12px !important;
        align-items:center !important;
    }
    .vmp-pos-wrap .vmp-order-table td.vmp-num:not(:has(input))::before{
        width:auto !important;
        min-width:80px !important;
    }
}
@supports not selector(:has(*)){
    @media (max-width:700px){
        .vmp-pos-wrap .vmp-order-table td.vmp-num{display:block !important;}
        .vmp-pos-wrap .vmp-order-table td.vmp-num::before{display:block !important;margin-bottom:7px !important;}
    }
}


/* v2.1.38: mobil-kasse uden overlap mellem label og input */
@media (max-width: 767px){
    .vmp-pos-wrap .vmp-order-panel,
    .vmp-pos-wrap .vmp-table-box,
    .vmp-pos-wrap table.vmp-order-table{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        overflow:visible !important;
        table-layout:auto !important;
    }
    .vmp-pos-wrap .vmp-order-table thead{display:none !important;}
    .vmp-pos-wrap .vmp-order-table,
    .vmp-pos-wrap .vmp-order-table tbody,
    .vmp-pos-wrap .vmp-order-table tr,
    .vmp-pos-wrap .vmp-order-table td{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        box-sizing:border-box !important;
        float:none !important;
        clear:both !important;
    }
    .vmp-pos-wrap .vmp-order-table tr.vmp-pos-line{
        padding:16px !important;
        border-bottom:1px solid #e8eef6 !important;
    }
    .vmp-pos-wrap .vmp-order-table td.vmp-num{
        display:block !important;
        padding:10px 0 !important;
        margin:0 !important;
        text-align:left !important;
        border:0 !important;
        position:relative !important;
        overflow:visible !important;
    }
    .vmp-pos-wrap .vmp-order-table td.vmp-num::before,
    .vmp-pos-wrap .vmp-mobile-label{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        margin:0 0 7px 0 !important;
        padding:0 !important;
        line-height:1.25 !important;
        color:#64748b !important;
        font-size:13px !important;
        font-weight:900 !important;
        text-align:left !important;
        text-transform:uppercase !important;
        white-space:normal !important;
        position:static !important;
        transform:none !important;
    }
    .vmp-pos-wrap .vmp-order-table td.vmp-num input.vmp-line-qty,
    .vmp-pos-wrap input.vmp-line-qty{
        display:block !important;
        position:static !important;
        float:none !important;
        clear:both !important;
        width:140px !important;
        max-width:100% !important;
        min-width:0 !important;
        height:52px !important;
        margin:0 !important;
        padding:8px 12px !important;
        box-sizing:border-box !important;
        text-align:center !important;
        z-index:auto !important;
    }
    .vmp-pos-wrap .vmp-order-table td.vmp-num.has-mobile-label::before{content:none !important;display:none !important;}
}

/* v2.2: kasse på mobil uden dobbelt Antal. Admin bar skjules kun i frontend-output, ikke via global admin-CSS. */
.vmp-pos-wrap .vmp-mobile-label{display:none!important;}
@media (max-width: 767px){
    .vmp-pos-wrap .vmp-order-table td.vmp-num.has-mobile-label::before,
    .vmp-pos-wrap .vmp-order-table td.vmp-num.vmp-qty-cell::before{content:'Antal' !important;display:block !important;}
    .vmp-pos-wrap .vmp-order-table td.vmp-num:nth-child(3)::before{content:'Stk. pris' !important;display:block !important;}
    .vmp-pos-wrap .vmp-order-table td.vmp-num:nth-child(4)::before{content:'Total' !important;display:block !important;}
    .vmp-pos-wrap .vmp-order-table td.vmp-num{
        display:block !important;
        text-align:left !important;
        padding:10px 0 !important;
    }
    .vmp-pos-wrap .vmp-order-table td.vmp-num::before{
        display:block !important;
        margin:0 0 8px 0 !important;
        width:100% !important;
        color:#64748b !important;
        font-size:13px !important;
        font-weight:900 !important;
        line-height:1.2 !important;
        text-transform:uppercase !important;
    }
    .vmp-pos-wrap .vmp-order-table td.vmp-num input.vmp-line-qty{
        display:block !important;
        width:140px !important;
        max-width:100% !important;
        min-width:0 !important;
        margin:0 !important;
        position:static !important;
        float:none !important;
    }
}
