/* Heading and the three tabs (Hitta rätt / Allergener / Näringsvärden) above whichever tab is open. */
.product-info-top{padding-top:48px;padding-bottom:28px;color:#1e2f77}
.product-info-top .product-view-switch{margin-bottom:0}
.product-information{padding-top:8px;padding-bottom:64px;color:#1e2f77}
.product-info-heading{text-align:center;max-width:760px;margin:0 auto 28px}
.product-info-heading>span{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#1c4e9d;margin-bottom:12px}
.product-info-heading h1{font-size:clamp(32px,4.5vw,56px);font-weight:600;letter-spacing:-.045em;line-height:1.1;margin:0}
.product-info-heading p{font-size:18px;line-height:1.5;margin-top:16px;color:#48617c}
.product-view-switch{display:flex;justify-content:center;gap:5px;padding:5px;border-radius:32px;background:#e5edf8;width:fit-content;margin:0 auto 36px}
.product-view-switch button{border:0;border-radius:24px;background:transparent;padding:12px 22px;color:#1e2f77;font:inherit;font-size:15px;cursor:pointer}
.product-view-switch button[aria-pressed=true]{background:#1c4e9d;color:white}
.product-info-key{display:grid;grid-template-columns:1fr 1.2fr;gap:32px;padding:25px 28px;border:1px solid #cbd8eb;border-radius:18px;background:#fff;margin-bottom:25px}
.allergen-legend{display:flex;flex-direction:column;justify-content:center;gap:14px;font-size:14px}
.allergen-legend>span{display:flex;align-items:center;gap:12px}
.product-info-key strong{font-size:16px;font-weight:600}
.product-info-key p{font-size:14px;color:#48617c;line-height:1.6;margin:7px 0 0}
.product-info-filters{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:#e5edf8;border-radius:18px;padding:24px}
.product-info-filters label{display:block;min-width:0}
.product-info-filters label>span{display:block;font-size:13px;font-weight:600;margin-bottom:9px}
.product-info-filters select{width:100%;min-height:48px;border:1px solid #c3d1e4;border-radius:9px;background:#fff;color:#1e2f77;font:inherit;font-size:14px}
.product-info-filters select{padding:10px 32px 10px 12px}
.product-information button:focus-visible,.product-information select:focus-visible,.allergen-table-scroll:focus-visible{outline:2px solid #1c4e9d;outline-offset:4px}
.product-results-meta{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:18px 0 30px;color:#48617c;font-size:13px}
.product-results-meta button{background:none;border:0;font:inherit;color:#1c4e9d;text-decoration:underline;cursor:pointer;padding:8px}
.product-scroll-hint{font-size:12px;color:#48617c;display:none;margin-bottom:15px}
.allergen-group{margin-bottom:40px}
.allergen-group h2,.product-nutrition-list h2{font-size:26px;font-weight:600;letter-spacing:-.025em;margin:0 0 16px;color:#1e2f77}
.allergen-group h2>span{font-size:12px;font-weight:400;letter-spacing:0;margin-left:8px;color:#48617c}
.allergen-table-scroll{overflow-x:auto;border:1px solid #d4deeb;border-radius:14px;background:#fff;isolation:isolate}
.product-information .allergen-matrix{width:100%;min-width:1040px;border-collapse:separate;border-spacing:0;table-layout:fixed;margin:0;font-size:14px}
.allergen-matrix th,.allergen-matrix td{border:0;border-bottom:1px solid #e1e7f0;padding:13px 6px;text-align:center;background:#fff;color:#1e2f77}
.allergen-matrix thead th{height:140px;vertical-align:bottom;background:#eef3fa;font-weight:500}
.allergen-matrix thead th>span{writing-mode:vertical-rl;transform:rotate(180deg);display:inline-block;text-align:left;white-space:nowrap;font-size:12px}
.allergen-matrix th:first-child{position:sticky;left:0;width:240px;text-align:left;padding-left:20px;z-index:2;box-shadow:1px 0 #d4deeb}
.allergen-matrix tbody th{font-weight:500}
.allergen-matrix tbody th a:hover{text-decoration:underline;text-underline-offset:4px}
.allergen-matrix tr:last-child>*{border-bottom:0}
.allergen-matrix tbody tr:hover>*{background:#f3f6fc}
.allergen-matrix .allergen-selected{background:#dce8fa!important}
.allergen-dot{width:17px;height:17px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid #ccd6e4;color:#7890ac;font-style:normal;font-size:12px;vertical-align:middle;background:#f0f3f8}
.allergen-dot.is-present{background:#1c4e9d;border-color:#1c4e9d}
.product-source-note{font-size:12px;color:#61718a;margin-top:28px}
/* Allergy notes: small numbers next to a dish or category, explained under the table. */
.allergen-note-mark{margin-left:2px;font-size:.72em;font-weight:600;line-height:0;color:#1c4e9d;vertical-align:super}
.allergen-notes{max-width:860px;margin:30px 0 0;padding:20px 24px;background:#f3f6fb;border:1px solid #dbe4f0;border-radius:14px;color:#20344d}
.allergen-notes h3{margin:0 0 10px;font-size:17px;font-weight:600;letter-spacing:-.01em;color:#1e2f77}
.allergen-notes ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.allergen-notes li{display:flex;gap:8px;font-size:15px;line-height:1.55}
.allergen-notes li .allergen-note-mark{flex:none;min-width:14px;margin:0;font-size:15px;line-height:1.55;vertical-align:baseline}
.allergen-notes-print{display:none}
.allergen-matrix tbody th .allergen-note-mark{font-size:13px}
.allergen-group h2 .allergen-note-mark{font-size:17px}
.product-nutrition-list>section{margin-bottom:32px}
@media(max-width:1100px){.product-scroll-hint{display:block}}
@media(max-width:700px){
.product-info-top{padding-top:28px;padding-bottom:20px}
.product-information{padding-top:4px;padding-bottom:40px}
.product-tabs button{padding:10px 14px}
.product-info-heading p{font-size:15px}
.product-view-switch{margin-bottom:24px}.product-view-switch button{padding:11px 18px;font-size:14px}
.product-info-key{grid-template-columns:1fr;gap:20px;padding:20px}
.product-info-filters{grid-template-columns:1fr;gap:16px;padding:20px}
.product-results-meta{margin-bottom:18px}
.allergen-matrix th:first-child{width:155px;padding-left:12px;font-size:13px}
.product-information .allergen-matrix{min-width:940px}
.allergen-group h2{font-size:23px}
}
.allergen-table-scroll{position:relative;contain:layout paint;max-width:100%}
.product-print-head{display:none}
.product-results-meta .product-print-button{margin-left:auto;text-decoration:none;border:1px solid #c3d1e4;border-radius:20px;padding:7px 14px;background:#fff}
/* Internal printout: A4 portrait, title and date only, black dots that print without background colours. */
@media print{
@page{size:A4 portrait;margin:12mm 10mm 12mm}
html,body{background:#fff!important}
body>:not(main){display:none!important}
.product-information{padding:0!important;margin:0!important;max-width:none!important;width:auto!important;color:#000}
.product-info-top,.product-info-heading,.product-view-switch,.product-info-key,.product-info-filters,.product-results-meta,.product-scroll-hint,.product-source-note,.empty-state{display:none!important}
.product-print-head{display:block;margin:0 0 5mm;padding-bottom:2.5mm;border-bottom:.4mm solid #000}
.product-print-head h1{font-size:15pt;font-weight:700;letter-spacing:0;line-height:1.2;margin:0;color:#000}
.product-print-head p{font-size:9pt;margin:1mm 0 0;color:#000}
.allergen-group{margin:0 0 5mm;break-inside:avoid}
.allergen-group h2{font-size:11pt;letter-spacing:0;margin:0 0 1.5mm;color:#000;break-after:avoid}
.allergen-group h2>span{font-size:8pt;color:#444}
.allergen-table-scroll{overflow:visible!important;contain:none!important;border:.25mm solid #888;border-radius:0}
.product-information .allergen-matrix{min-width:0!important;width:100%;font-size:8pt;border-collapse:collapse}
.allergen-matrix thead{display:table-header-group}
.allergen-matrix tr{break-inside:avoid}
.allergen-matrix th,.allergen-matrix td{padding:.9mm .4mm;border-bottom:.2mm solid #bbb;color:#000;background:#fff!important}
.allergen-matrix thead th{height:21mm;font-weight:600;border-bottom:.3mm solid #666}
.allergen-matrix thead th>span{font-size:7pt}
.allergen-matrix th:first-child{position:static;width:46mm;padding-left:1.5mm;box-shadow:none;border-right:.25mm solid #888}
.allergen-matrix tbody th{font-weight:500}
.allergen-matrix tbody th a{color:#000;text-decoration:none}
.allergen-dot{width:3.4mm;height:3.4mm;border:0;background:none;color:#888;font-size:7pt}
.allergen-dot.is-present{box-sizing:content-box;width:0;height:0;border:1.7mm solid #000;border-radius:50%}
.allergen-note-mark{color:#000}
.allergen-notes{margin:4mm 0 0;padding:2.5mm 3mm;background:#fff;border:.25mm solid #888;border-radius:0;color:#000;break-inside:avoid}
.allergen-notes h3{font-size:10pt;margin:0 0 1.5mm;color:#000}
.allergen-notes ul{gap:1mm}
.allergen-notes li,.allergen-notes li .allergen-note-mark{font-size:8.5pt;line-height:1.35}
.allergen-notes-print{display:block;margin:1.5mm 0 0;font-size:8.5pt;line-height:1.35}
}
/* Näringsvärden: one open table per category, as on the old site. On phones each dish takes a line
   of its own with its six values below, so the table never scrolls sideways. */
.nutrition-legend p{font-size:14px;color:#48617c;line-height:1.6;margin:7px 0 0}
.nutrition-group{margin-bottom:40px}
.nutrition-group-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 16px}
.nutrition-group-head h2{font-size:26px;font-weight:600;letter-spacing:-.025em;margin:0;color:#1e2f77}
.nutrition-group-head h2>span{font-size:12px;font-weight:400;letter-spacing:0;margin-left:8px;color:#48617c}
.nutrition-sizes{display:flex;gap:4px;padding:4px;border-radius:24px;background:#e5edf8}
.nutrition-sizes button{border:0;border-radius:20px;background:transparent;padding:8px 16px;color:#1e2f77;font:inherit;font-size:14px;cursor:pointer}
.nutrition-sizes button[aria-pressed=true]{background:#1c4e9d;color:#fff}
.nutrition-size-note{margin:0;font-size:13px;color:#48617c}
.nutrition-table-wrap{border:1px solid #d4deeb;border-radius:14px;background:#fff;overflow:hidden}
.nutrition-table{width:100%;border-collapse:collapse;table-layout:fixed;margin:0;font-size:15px}
.nutrition-table th,.nutrition-table td{border:0;border-bottom:1px solid #e1e7f0;padding:13px 10px;text-align:right;color:#1e2f77;font-variant-numeric:tabular-nums}
.nutrition-table thead th{background:#eef3fa;font-size:13px;font-weight:600;vertical-align:bottom;line-height:1.3}
.nutrition-table thead small{display:block;font-size:11px;font-weight:400;color:#48617c}
.nutrition-table th:first-child{width:30%;text-align:left;padding-left:20px}
.nutrition-table td:last-child,.nutrition-table th:last-child{padding-right:20px}
.nutrition-table tbody th{font-weight:500}
.nutrition-table tbody td small{font-size:inherit;color:#48617c}
.nutrition-table tbody th a:hover{text-decoration:underline;text-underline-offset:4px}
.nutrition-table tbody tr:last-child>*{border-bottom:0}
.nutrition-table tbody tr:hover>*{background:#f3f6fc}
@media(max-width:700px){
.nutrition-group-head h2{font-size:23px}
.nutrition-table,.nutrition-table thead,.nutrition-table tbody{display:block}
.nutrition-table tr{display:grid;grid-template-columns:1fr 1.15fr 1.35fr .8fr .95fr .75fr;border-bottom:1px solid #e1e7f0}
.nutrition-table tbody tr:last-child{border-bottom:0}
.nutrition-table th,.nutrition-table td{border:0;padding:8px 4px;text-align:left;font-size:13px}
.nutrition-table thead th{font-size:11px;padding:8px 4px}
.nutrition-table thead small{font-size:10px}
.nutrition-table thead th:first-child{display:none}
.nutrition-table tbody th:first-child{grid-column:1/-1;width:auto;padding:9px 12px 0;font-size:15px}
.nutrition-table td:first-of-type,.nutrition-table thead th:nth-child(2){padding-left:12px}
.nutrition-table td:last-child,.nutrition-table th:last-child{padding-right:8px}
.nutrition-table tbody td{padding-top:3px;padding-bottom:9px}
.nutrition-table tbody td small{font-size:11px}
}
@media print{
.nutrition-sizes{padding:0;background:none}.nutrition-sizes button:not([aria-pressed=true]){display:none}.nutrition-sizes button{padding:0;background:none!important;color:#444!important;font-size:8pt}
.nutrition-group{margin:0 0 5mm;break-inside:avoid}
.nutrition-group-head{margin:0 0 1.5mm}
.nutrition-group-head h2{font-size:11pt;letter-spacing:0;color:#000}
.nutrition-group-head h2>span,.nutrition-size-note{font-size:8pt;color:#444}
.nutrition-table-wrap{border:.25mm solid #888;border-radius:0}
.nutrition-table{font-size:8pt}
.nutrition-table th,.nutrition-table td{padding:.9mm 1.5mm;border-bottom:.2mm solid #bbb;color:#000;background:#fff!important}
.nutrition-table thead small{font-size:7pt;color:#444}
.nutrition-table tbody th a{color:#000;text-decoration:none}
}
/* Very small phones (320 px): the three tabs still fit on one row. */
@media(max-width:360px){.product-tabs{gap:2px;padding:4px}.product-tabs button{padding:9px 10px;font-size:13px}}
