/* One label for public pages, administration previews and shop modals.
   The clean export stylesheet changes only these presentation variables. */
.nv-container.nv-label {
    --nv-width: 350px;
    --nv-padding: 22px;
    --nv-font: 14px;
    --nv-title: 22px;
    --nv-small: 12px;
    --nv-composition: 13px;
    --nv-gap: 20px;
    --nv-row: 8px;
    box-sizing: border-box;
    width: var(--nv-width);
    max-width: 100%;
    padding: var(--nv-padding);
    margin: 0 auto;
    border: 0 !important;
    border-radius: 0;
    background: #fff;
    color: #1d1d1f;
    font: 400 var(--nv-font)/1.55 Inter, Arial, sans-serif;
    text-align: left;
    overflow-wrap: anywhere;
}
.nv-label *, .nv-label *::before, .nv-label *::after { box-sizing: border-box; }
.nv-label p, .nv-label h2, .nv-label h3 { text-align: left; }
.nv-label .nv-label-producer { margin: 0 0 7px; color: #55565a; font-size: var(--nv-small); }
.nv-label .nv-label-name { margin: 0; color: inherit; font: 600 var(--nv-title)/1.2 Inter, Arial, sans-serif; letter-spacing: -.3px; text-wrap: balance; }
.nv-label .nv-label-details { margin: 8px 0 0; font-size: var(--nv-font); }
.nv-label .nv-label-batch { margin: 4px 0 0; color: #55565a; font-size: var(--nv-small); }
.nv-label .nv-label-nutrition, .nv-label .nv-label-ingredients { margin: var(--nv-gap) 0 0; }
.nv-label .nv-label-heading { margin: 0 0 10px; color: inherit; font: 600 var(--nv-font)/1.4 Inter, Arial, sans-serif; font-size: var(--nv-font) !important; text-wrap: balance; }
.nv-label .nv-label-table { border-collapse: collapse; width: 100%; margin: 0; border: 0; background: transparent; font: inherit; line-height: 1.45; }
.nv-label .nv-label-table th, .nv-label .nv-label-table td { padding: var(--nv-row) 0; border: 0; border-bottom: 1px solid #dedee0; background: transparent; vertical-align: baseline; color: inherit; }
.nv-label .nv-label-table th { text-align: left; font-weight: 400; }
.nv-label .nv-label-table td { padding-left: 12px; text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.nv-label .nv-row-energy th, .nv-label .nv-row-energy td { font-weight: 700; border-top: 2px solid #1d1d1f; }
.nv-label .nv-row-carbohydrates th, .nv-label .nv-row-carbohydrates td { border-bottom: 0; padding-bottom: 2px; }
.nv-label .nv-row-sugars th, .nv-label .nv-row-sugars td { padding-top: 2px; }
.nv-label .nv-row-sugars th { padding-left: 14px; }
.nv-label .nv-label-note { margin: 14px 0 0; font-size: var(--nv-small); line-height: 1.6; color: #55565a; text-wrap: pretty; }
.nv-label .nv-label-composition, .nv-label .nv-label-packing { margin: 0; font-size: var(--nv-composition); line-height: 1.65; text-wrap: pretty; }
.nv-label .nv-label-packing { margin-top: 10px; }
.nv-label strong { font-weight: 700; }

/* Public electronic label. The QR-code artwork uses a different body class. */
body.wine-label { background: #fafafa !important; font-family: Inter, Arial, sans-serif !important; font-weight: 400 !important; }
body.wine-label #mainContainer { min-height: 100%; height: auto !important; }
body.wine-label #mainContainer > .container.h-100 { padding: 24px 16px; height: auto !important; }
.wine-label .nv-container.nv-label {
    --nv-width: 390px;
    --nv-padding: 30px 26px 32px;
    --nv-font: 16px;
    --nv-title: 27px;
    --nv-small: 13px;
    --nv-composition: 15px;
    --nv-gap: 28px;
    --nv-row: 11px;
    border-radius: 16px;
    box-shadow: 0 3px 24px #0000000c;
}
@media (max-width: 480px) {
    body.wine-label { background: #fff !important; }
    body.wine-label #mainContainer > .container.h-100 { padding: 0; }
    .wine-label .nv-container.nv-label { --nv-padding: 24px 20px; --nv-title: 25px; border-radius: 0; box-shadow: none; }
}
@media (max-width: 359px) {
    .wine-label .nv-container.nv-label { --nv-font: 15px; --nv-padding: 24px 16px; }
}
