/* PJM Vaccine Planner — rejsevaccinations-planlægger (sundrejse).
   Alt scoped under .pjm-vaxplan så temaets styles ikke rammes. Lys palet (sitets look). */
.pjm-vaxplan{
  --vx-ink:#16324f; --vx-ink2:#33506e; --vx-muted:#6c7686; --vx-faint:#98a0ad;
  --vx-panel:#fffdf8; --vx-panel2:#f8f5ec;
  --vx-rule:#e4ddce; --vx-rule2:#d3cab6;
  --vx-accent:#cf8a2f; --vx-accent-soft:#f6ead4; --vx-accent-line:#e3c489;
  --vx-req:#b0413a; --vx-req-soft:#f7e6e3;
  --vx-rec:#2c7a63; --vx-rec-soft:#e0f0ea;
  --vx-con:#9a7118; --vx-con-soft:#f5ecd6;
  --vx-serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --vx-shadow:0 1px 2px rgba(22,50,79,.05),0 8px 24px rgba(22,50,79,.07);
  color:var(--vx-ink);font-size:15.5px;line-height:1.55;max-width:760px;margin:0 auto;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.pjm-vaxplan *{box-sizing:border-box}
.pjm-vaxplan .tnum{font-variant-numeric:tabular-nums}
.pjm-vaxplan .vxp-loading{color:var(--vx-muted);padding:30px 0;text-align:center}
.pjm-vaxplan .vxp-intro{display:flex;flex-direction:column;gap:5px;background:linear-gradient(135deg,#fbfdfe,#edf3f7);border:1.5px solid #cfdde7;border-radius:15px;padding:17px 20px;margin-bottom:18px}
.pjm-vaxplan .vxp-intro b{color:var(--vx-ink);font-size:17px;letter-spacing:-.01em}
.pjm-vaxplan .vxp-intro span{color:#5c6f80;font-size:13.5px;line-height:1.5}
.pjm-vaxplan .vxp-langbtn{align-self:flex-end;margin-top:2px;background:none;border:1px solid #cfdde7;border-radius:20px;padding:4px 12px;font-size:12px;color:#5c6f80;cursor:pointer;font-family:inherit}
.pjm-vaxplan .vxp-langbtn:hover{border-color:#cf8a2f;color:#16324f}
.pjm-vaxplan .panel{background:var(--vx-panel);border:1px solid var(--vx-rule);border-radius:15px;box-shadow:var(--vx-shadow);padding:20px 20px 22px;margin-bottom:20px}
.pjm-vaxplan .step{border-top:1px solid var(--vx-rule);padding:16px 0}
.pjm-vaxplan .step:first-of-type{border-top:0;padding-top:2px}
.pjm-vaxplan .step .num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--vx-ink);color:var(--vx-panel);font-size:12px;font-weight:700;margin-right:8px}
.pjm-vaxplan .step h3{display:flex;align-items:center;font-size:13px;letter-spacing:.02em;margin:0 0 12px;color:var(--vx-ink);font-family:inherit;text-transform:none}
.pjm-vaxplan label.fld{display:block;font-size:12.5px;font-weight:600;color:var(--vx-muted);margin:0 0 5px}
.pjm-vaxplan input[type=date],.pjm-vaxplan input[type=text]{width:100%;padding:11px 12px;border:1px solid var(--vx-rule2);border-radius:9px;font-size:15px;font-family:inherit;background:var(--vx-panel2);color:var(--vx-ink)}
.pjm-vaxplan input:focus,.pjm-vaxplan button:focus-visible,.pjm-vaxplan .act:focus-within{outline:2px solid var(--vx-accent);outline-offset:1px}
.pjm-vaxplan input[type=date]{max-width:220px}
.pjm-vaxplan .len-out{margin-top:10px;font-size:13px;color:var(--vx-ink2);background:var(--vx-panel2);border:1px solid var(--vx-rule);border-radius:8px;padding:8px 11px}
.pjm-vaxplan .len-out.warn{color:var(--vx-req);background:var(--vx-req-soft);border-color:var(--vx-req)}
/* Rejserute */
.pjm-vaxplan .legrow{display:grid;grid-template-columns:24px 1fr;gap:12px;position:relative;padding-bottom:12px}
.pjm-vaxplan .legrow::before{content:"";position:absolute;left:11px;top:26px;bottom:-2px;width:2px;background:var(--vx-rule2)}
.pjm-vaxplan .legrow:last-child::before{display:none}
.pjm-vaxplan .legdot{width:24px;height:24px;border-radius:50%;background:var(--vx-ink);color:var(--vx-panel);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:var(--vx-serif);margin-top:6px}
.pjm-vaxplan .legcard{background:var(--vx-panel2);border:1px solid var(--vx-rule);border-radius:11px;padding:11px 13px}
.pjm-vaxplan .legcard .lc-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.pjm-vaxplan .legcard .lc-name{font-weight:700;font-size:15px;color:var(--vx-ink)}
.pjm-vaxplan .legcard .lc-x{background:none;border:0;color:var(--vx-faint);cursor:pointer;font-size:15px;padding:2px 6px;line-height:1}
.pjm-vaxplan .legcard .lc-dates{display:flex;gap:10px;align-items:center;margin-top:8px;flex-wrap:wrap;font-size:13px;color:var(--vx-muted)}
.pjm-vaxplan .legcard .lc-dates input[type=date]{max-width:175px;padding:8px 10px}
.pjm-vaxplan .leghome{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:center}
.pjm-vaxplan .leghome .legdot{background:var(--vx-accent)}
.pjm-vaxplan .leghome .lh-t{font-size:13.5px;color:var(--vx-ink2)}
/* Landesøgning */
.pjm-vaxplan .cbox{position:relative;margin-top:12px}
.pjm-vaxplan .cbox input{max-width:none}
.pjm-vaxplan .clist{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--vx-panel);border:1px solid var(--vx-rule);border-radius:12px;box-shadow:0 12px 32px rgba(10,30,50,.14);max-height:290px;overflow:auto;z-index:9999}
.pjm-vaxplan .clist .ch{padding:10px 14px 4px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--vx-faint)}
.pjm-vaxplan .clist .ci{padding:11px 14px;font-size:14.5px;color:var(--vx-ink);cursor:pointer;display:flex;justify-content:space-between;gap:10px;align-items:center}
.pjm-vaxplan .clist .ci .ci-sub{font-size:12px;color:var(--vx-faint)}
.pjm-vaxplan .clist .ci:hover,.pjm-vaxplan .clist .ci.on{background:var(--vx-panel2)}
.pjm-vaxplan .clist .cnone{padding:14px;font-size:13.5px;color:var(--vx-muted)}
/* Risikofaktorer */
.pjm-vaxplan .vxp-acts-h{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--vx-faint);margin:12px 2px 7px}
.pjm-vaxplan .vxp-acts-h:first-child{margin-top:2px}
.pjm-vaxplan .act{display:flex;gap:9px;align-items:flex-start;padding:9px 11px;border:1px solid var(--vx-rule);border-radius:10px;cursor:pointer;background:var(--vx-panel2);margin-bottom:7px}
.pjm-vaxplan .act input{margin-top:3px;accent-color:var(--vx-accent);width:auto}
.pjm-vaxplan .act .a-t{font-size:14px;font-weight:600;color:var(--vx-ink)}
.pjm-vaxplan .act:has(input:checked){border-color:var(--vx-accent-line);background:var(--vx-accent-soft)}
.pjm-vaxplan .seeplan{width:100%;margin-top:18px;background:var(--vx-accent);color:#fff;border:0;border-radius:11px;padding:14px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:8px}
.pjm-vaxplan .seeplan:hover{filter:brightness(1.05)}
.pjm-vaxplan .seeplan[disabled]{opacity:.45;cursor:not-allowed}
/* Resultat */
.pjm-vaxplan .res-head h2{font-family:var(--vx-serif);font-weight:600;font-size:22px;margin:0 0 4px;letter-spacing:-.01em;color:var(--vx-ink)}
.pjm-vaxplan .dest-tags{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 14px}
.pjm-vaxplan .dest-tag{font-size:12.5px;background:var(--vx-panel2);border:1px solid var(--vx-rule);border-radius:7px;padding:3px 9px;color:var(--vx-ink2)}
.pjm-vaxplan .empty{color:var(--vx-muted);text-align:center;padding:46px 20px;font-size:15px}
.pjm-vaxplan .empty .ic{font-size:34px;margin-bottom:8px}
.pjm-vaxplan .summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 18px}
.pjm-vaxplan .sc{background:var(--vx-panel2);border:1px solid var(--vx-rule);border-radius:11px;padding:12px 13px}
.pjm-vaxplan .sc .k{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--vx-muted);font-weight:700}
.pjm-vaxplan .sc .v{font-family:var(--vx-serif);font-size:23px;font-weight:600;margin-top:2px;color:var(--vx-ink)}
.pjm-vaxplan .timeline{background:var(--vx-panel2);border:1px solid var(--vx-rule);border-radius:12px;padding:15px 16px 10px;margin-bottom:18px}
.pjm-vaxplan .tl-h{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--vx-muted);margin-bottom:12px}
.pjm-vaxplan .tl-track{position:relative;height:2px;background:var(--vx-rule2);margin:26px 8px 30px}
.pjm-vaxplan .tl-dep{position:absolute;right:-8px;top:-7px;width:16px;height:16px;border-radius:50%;background:var(--vx-accent);border:3px solid var(--vx-panel)}
.pjm-vaxplan .tl-dep-lbl{position:absolute;right:-10px;top:-30px;font-size:11px;font-weight:700;color:var(--vx-accent);white-space:nowrap}
.pjm-vaxplan .tl-mark{position:absolute;top:-5px;width:12px;height:12px;border-radius:50%;border:2px solid var(--vx-panel);transform:translateX(-50%)}
.pjm-vaxplan .tl-mark.req{background:var(--vx-req)}.pjm-vaxplan .tl-mark.rec{background:var(--vx-rec)}.pjm-vaxplan .tl-mark.con{background:var(--vx-con)}
.pjm-vaxplan .tl-mark-lbl{position:absolute;top:12px;font-size:10px;color:var(--vx-muted);transform:translateX(-50%);white-space:nowrap}
.pjm-vaxplan .vleg{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:15px 4px;border-top:1px solid var(--vx-rule)}
.pjm-vaxplan .vleg:first-child{border-top:0}
.pjm-vaxplan .stat{padding:3px 9px;border-radius:7px;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;align-self:start}
.pjm-vaxplan .stat.req{color:var(--vx-req);background:var(--vx-req-soft)}
.pjm-vaxplan .stat.rec{color:var(--vx-rec);background:var(--vx-rec-soft)}
.pjm-vaxplan .stat.con{color:var(--vx-con);background:var(--vx-con-soft)}
.pjm-vaxplan .vleg .nm{font-weight:700;font-size:16px;color:var(--vx-ink)}
.pjm-vaxplan .vleg .nm a{color:inherit;text-decoration:none;border-bottom:1px dotted var(--vx-rule2)}
.pjm-vaxplan .vleg .meta{font-size:12.5px;color:var(--vx-muted);margin-top:3px;display:flex;gap:6px 14px;flex-wrap:wrap}
.pjm-vaxplan .vleg .deadline{text-align:right;white-space:nowrap}
.pjm-vaxplan .vleg .deadline .d-k{font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--vx-faint);font-weight:700}
.pjm-vaxplan .vleg .deadline .d-v{font-family:var(--vx-serif);font-size:16px;font-weight:600;color:var(--vx-ink)}
.pjm-vaxplan .vleg .deadline .d-v.late{color:var(--vx-req)}
.pjm-vaxplan .vleg .price{text-align:right;font-size:13px;color:var(--vx-muted);margin-top:2px}
.pjm-vaxplan .vleg.late{background:var(--vx-req-soft);border-radius:10px}
.pjm-vaxplan .have-btn{margin-top:8px;display:inline-block;background:none;border:1.5px solid var(--vx-rule);border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:600;color:var(--vx-muted);cursor:pointer;transition:border-color .15s,color .15s}
.pjm-vaxplan .have-btn:hover{border-color:var(--vx-req);color:var(--vx-req)}
.pjm-vaxplan .have-box{margin:12px 0 0;padding:11px 13px;background:var(--vx-panel2);border:1px dashed var(--vx-rule);border-radius:11px}
.pjm-vaxplan .have-box-t{font-size:12.5px;font-weight:700;color:var(--vx-muted);margin-bottom:8px}
.pjm-vaxplan .have-chips{display:flex;flex-wrap:wrap;gap:8px}
.pjm-vaxplan .have-chip{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--vx-ink2);background:var(--vx-panel);border:1px solid var(--vx-rule);border-radius:999px;padding:5px 6px 5px 12px;text-decoration:line-through;text-decoration-color:var(--vx-faint)}
.pjm-vaxplan .have-chip button{background:var(--vx-accent-soft);border:0;border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:700;color:var(--vx-accent);cursor:pointer;text-decoration:none}
.pjm-vaxplan .advice{background:var(--vx-accent-soft);border:1px solid var(--vx-accent-line);border-radius:12px;padding:14px 16px;margin:18px 0}
.pjm-vaxplan .advice.warn{background:var(--vx-req-soft);border-color:var(--vx-req)}
.pjm-vaxplan .advice h4{margin:0 0 7px;font-size:13px;color:var(--vx-accent);letter-spacing:.02em;font-family:inherit}
.pjm-vaxplan .advice.warn h4{color:var(--vx-req)}
.pjm-vaxplan .advice ul{margin:0;padding-left:18px;display:grid;gap:6px}
.pjm-vaxplan .advice li{font-size:13.5px;color:var(--vx-ink2)}
.pjm-vaxplan .visit-row{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start}
.pjm-vaxplan .visit-dot{width:34px;height:34px;border-radius:50%;background:var(--vx-panel2);border:1px solid var(--vx-rule2);color:var(--vx-ink);display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--vx-serif)}
.pjm-vaxplan .visit-row.first .visit-dot{background:var(--vx-ink);color:var(--vx-panel)}
.pjm-vaxplan .visit-t{font-size:13.5px;font-weight:700;color:var(--vx-ink)}
.pjm-vaxplan .visit-s{font-size:12px;color:var(--vx-muted)}
.pjm-vaxplan .visit-note{font-size:12px;color:var(--vx-ink2);margin-top:12px;padding-top:10px;border-top:1px solid var(--vx-rule)}
.pjm-vaxplan .totals{display:flex;justify-content:space-between;align-items:baseline;border-top:1px dashed var(--vx-rule2);padding-top:14px;margin-top:6px;gap:14px;flex-wrap:wrap}
.pjm-vaxplan .totals .lbl{color:var(--vx-muted);font-size:13px}
.pjm-vaxplan .totals .amt{font-family:var(--vx-serif);font-size:24px;font-weight:600;color:var(--vx-ink)}
.pjm-vaxplan .totals .amt small{font-size:12px;color:var(--vx-muted);font-family:inherit;font-weight:400;display:block;text-align:right}
.pjm-vaxplan .cta-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.pjm-vaxplan .vbtn{display:flex;flex-direction:column;gap:2px;text-align:left;border:0;border-radius:12px;padding:14px 16px;cursor:pointer;font-family:inherit;text-decoration:none}
.pjm-vaxplan .vbtn .b-t{font-size:15px;font-weight:700}
.pjm-vaxplan .vbtn .b-s{font-size:12px;opacity:.85;font-weight:400}
.pjm-vaxplan .vbtn.primary{background:var(--vx-ink);color:var(--vx-panel)}
.pjm-vaxplan .vbtn.secondary{background:var(--vx-panel2);color:var(--vx-ink);border:1px solid var(--vx-rule2)}
.pjm-vaxplan .vbtn:hover{filter:brightness(1.04)}
.pjm-vaxplan .util{display:flex;gap:14px;align-items:center;margin-top:14px;flex-wrap:wrap}
.pjm-vaxplan .vlink{background:none;border:0;color:var(--vx-accent);font-weight:600;cursor:pointer;font-size:13.5px;font-family:inherit;padding:6px 0;display:inline-flex;align-items:center;gap:6px}
.pjm-vaxplan .disc{font-size:11.5px;color:var(--vx-faint);margin-top:20px;line-height:1.5}
/* Kort: klynge-ringe i brand-navy m. hvid skrift (markerclusters standard-grøn drukner i kortet) */
.pjm-vaxplan .marker-cluster-small,
.pjm-vaxplan .marker-cluster-medium,
.pjm-vaxplan .marker-cluster-large{background:rgba(22,50,79,.32)}
.pjm-vaxplan .marker-cluster-small div,
.pjm-vaxplan .marker-cluster-medium div,
.pjm-vaxplan .marker-cluster-large div{background:#16324f;color:#fff;font-weight:700;font-family:inherit}
.pjm-vaxplan .marker-cluster span{color:#fff}
.pjm-vaxplan .vxp-maplbl{background:#16324f;color:#fff;border:0;border-radius:7px;font-weight:700;font-size:11.5px;padding:3px 9px;box-shadow:0 1px 4px rgba(0,0,0,.28)}
.pjm-vaxplan .vxp-maplbl::before{border-right-color:#16324f}

/* Serie-booking-wizard */
.pjm-vaxplan .wiz-h{font-family:var(--vx-serif);font-weight:600;font-size:20px;color:var(--vx-ink);margin:0 0 10px}
.pjm-vaxplan .wiz-sub{font-size:13.5px;color:var(--vx-ink2);margin:0 0 14px;line-height:1.5}
.pjm-vaxplan .wiz-clinics{display:grid;gap:10px}
.pjm-vaxplan .wiz-clinic{display:flex;flex-direction:column;gap:3px;text-align:left;background:var(--vx-panel2);border:1px solid var(--vx-rule2);border-radius:12px;padding:13px 15px;cursor:pointer;font-family:inherit}
.pjm-vaxplan .wiz-clinic:hover{border-color:var(--vx-accent)}
.pjm-vaxplan .wiz-clinic .wc-n{font-size:15px;font-weight:700;color:var(--vx-ink)}
.pjm-vaxplan .wiz-clinic .wc-a{font-size:12.5px;color:var(--vx-muted)}
.pjm-vaxplan .wiz-clinic .wc-d{font-size:12.5px;color:var(--vx-rec);font-weight:600;margin-top:2px}
.pjm-vaxplan .wiz-days{display:flex;gap:7px;flex-wrap:wrap;margin:6px 0 12px}
.pjm-vaxplan .wiz-day{border:1px solid var(--vx-rule2);background:var(--vx-panel2);border-radius:20px;padding:7px 13px;font-size:13px;cursor:pointer;color:var(--vx-ink2);font-family:inherit}
.pjm-vaxplan .wiz-day.on{background:var(--vx-ink);border-color:var(--vx-ink);color:var(--vx-panel);font-weight:600}
.pjm-vaxplan .wiz-slots{display:flex;gap:8px;flex-wrap:wrap}
.pjm-vaxplan .wiz-slot{border:1px solid var(--vx-rule2);background:var(--vx-panel);border-radius:9px;padding:9px 14px;font-size:14px;font-weight:600;cursor:pointer;color:var(--vx-ink);font-family:inherit;font-variant-numeric:tabular-nums}
.pjm-vaxplan .wiz-slot:hover{border-color:var(--vx-accent);background:var(--vx-accent-soft)}
.pjm-vaxplan .wiz-note{font-size:12px;color:var(--vx-muted);margin-top:12px}
.pjm-vaxplan .wiz-ok{background:var(--vx-rec-soft);border:1px solid var(--vx-rec);border-radius:11px;padding:11px 14px;font-size:14px;color:var(--vx-ink);margin-bottom:14px}
.pjm-vaxplan .wiz-ask{font-size:15px;color:var(--vx-ink);margin:4px 0 14px;line-height:1.5}
.pjm-vaxplan .wiz-ask-s{font-size:13px;color:var(--vx-muted);font-weight:400;margin-top:4px}
.pjm-vaxplan .wiz-summary{display:grid;gap:9px;margin:4px 0 12px}
.pjm-vaxplan .wiz-sumrow{display:grid;grid-template-columns:26px 1fr auto;gap:10px;align-items:start;font-size:14px;color:var(--vx-ink)}
.pjm-vaxplan .wiz-sumprice{font-size:13px;color:var(--vx-muted);white-space:nowrap;font-weight:600}
.pjm-vaxplan .wiz-sumdot{width:24px;height:24px;border-radius:50%;background:var(--vx-ink);color:var(--vx-panel);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:var(--vx-serif)}
/* Stillingtagen pr. vaccine (ja tak / ellers tak / har i forvejen) */
.pjm-vaxplan .vx-pick{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.pjm-vaxplan .vx-opt{border:1.5px solid var(--vx-rule2);background:var(--vx-panel);border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:600;color:var(--vx-muted);cursor:pointer;font-family:inherit;transition:.12s}
.pjm-vaxplan .vx-opt.on{background:var(--vx-ink);border-color:var(--vx-ink);color:var(--vx-panel)}
.pjm-vaxplan .vx-opt:not(.on):hover{border-color:var(--vx-accent);color:var(--vx-ink)}
.pjm-vaxplan .vleg.off{opacity:.5}
.pjm-vaxplan .vleg.off .nm{text-decoration:line-through;text-decoration-color:var(--vx-faint)}
.pjm-vaxplan .vleg.off .vx-opt.on{background:var(--vx-req);border-color:var(--vx-req);color:#fff}
/* Uge-kalender (som normal booking) */
.pjm-vaxplan .wk-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:4px 0 10px}
.pjm-vaxplan .wk-arrow{border:1px solid var(--vx-rule2);background:var(--vx-panel);border-radius:9px;padding:8px 13px;font-size:13px;font-weight:600;color:var(--vx-ink);cursor:pointer;font-family:inherit}
.pjm-vaxplan .wk-arrow[disabled]{opacity:.35;cursor:not-allowed}
.pjm-vaxplan .wk-range{font-size:13px;color:var(--vx-muted);font-weight:600}
.pjm-vaxplan .wk-grid{display:grid;grid-template-columns:repeat(7,minmax(86px,1fr));gap:8px;overflow-x:auto;padding-bottom:6px}
.pjm-vaxplan .wk-col{display:flex;flex-direction:column;gap:6px;min-width:86px}
.pjm-vaxplan .wk-cslots{display:flex;flex-direction:column;gap:6px}
.pjm-vaxplan .wk-col.blocked{opacity:.45}
.pjm-vaxplan .wk-empty-note{grid-column:1/-1;text-align:center;color:var(--vx-muted);font-size:13.5px;padding:18px 8px}
/* Mobil: 7 kolonner kan ikke være der — vis i stedet kun dage MED ledige tider som
   kompakte rækker (dag til venstre, tider som chips der wrapper). Blokerede/tomme dage skjules. */
@media(max-width:640px){
  .pjm-vaxplan .wk-grid{display:flex;flex-direction:column;gap:9px;overflow:visible}
  .pjm-vaxplan .wk-col{flex-direction:row;align-items:flex-start;gap:10px;min-width:0}
  .pjm-vaxplan .wk-col .wk-day{flex:0 0 62px;font-size:11.5px;padding:7px 0}
  .pjm-vaxplan .wk-cslots{flex-direction:row;flex-wrap:wrap;gap:6px;flex:1}
  .pjm-vaxplan .wk-col.blocked,.pjm-vaxplan .wk-col.empty{display:none}
  .pjm-vaxplan .wk-slot{padding:8px 12px}
}
.pjm-vaxplan .wk-day{text-align:center;font-size:12px;font-weight:700;color:var(--vx-ink);padding:6px 0;background:var(--vx-panel2);border:1px solid var(--vx-rule);border-radius:9px}
.pjm-vaxplan .wk-day .wk-date{font-weight:400;color:var(--vx-muted)}
.pjm-vaxplan .wk-slot{border:1px solid var(--vx-rule2);background:var(--vx-panel);border-radius:8px;padding:8px 4px;font-size:13px;font-weight:600;cursor:pointer;color:var(--vx-ink);font-family:inherit;font-variant-numeric:tabular-nums;text-align:center}
.pjm-vaxplan .wk-slot:hover{border-color:var(--vx-accent);background:var(--vx-accent-soft)}
.pjm-vaxplan .wk-none{text-align:center;color:var(--vx-faint);padding:10px 0}
.pjm-vaxplan .wk-lock{text-align:center;padding:10px 0;font-size:15px}
.pjm-vaxplan .wiz-form{margin-top:14px;display:grid;gap:4px;max-width:420px}
.pjm-vaxplan .wiz-form label.fld{margin-top:8px}
.pjm-vaxplan .wiz-err{background:var(--vx-req-soft);border:1px solid var(--vx-req);color:var(--vx-req);border-radius:9px;padding:9px 12px;font-size:13px;margin-top:10px}
@media(max-width:520px){
  .pjm-vaxplan .cta-row{grid-template-columns:1fr}
  .pjm-vaxplan .summary{grid-template-columns:1fr}
  .pjm-vaxplan .vleg{grid-template-columns:auto 1fr;grid-auto-rows:auto}
  .pjm-vaxplan .vleg>div:last-child{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
  .pjm-vaxplan .vleg .deadline{text-align:left}
}
@media print{
  body *{visibility:hidden}
  .pjm-vaxplan,.pjm-vaxplan *{visibility:visible}
  .pjm-vaxplan{position:absolute;left:0;top:0;width:100%;max-width:none;font-size:12px}
  .pjm-vaxplan .panel.form,.pjm-vaxplan .util,.pjm-vaxplan .cta-row,.pjm-vaxplan .have-btn{display:none!important}
  .pjm-vaxplan .panel{border:0;box-shadow:none;padding:0}
  .pjm-vaxplan .vleg,.pjm-vaxplan .timeline,.pjm-vaxplan .advice,.pjm-vaxplan .sc{break-inside:avoid}
}
@media (prefers-reduced-motion:reduce){.pjm-vaxplan *{transition:none!important}}

/* Intent-vælger på booking-siden ([pjm_booking_intents]) */
.pjm-intents{max-width:760px;margin:34px auto 26px;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.pjm-intents a{text-decoration:none}
.pjm-intents .pi-hero{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#fbfdfe,#edf3f7);border:1.5px solid #cfdde7;border-radius:15px;padding:19px 22px;transition:transform .12s,border-color .12s;box-shadow:0 2px 10px rgba(22,50,79,.06)}
.pjm-intents .pi-hero:hover{transform:translateY(-2px);border-color:#cf8a2f}
.pjm-intents .pi-hero .pi-ico{flex:0 0 46px;width:46px;height:46px;border-radius:50%;background:#16324f;color:#fff;display:flex;align-items:center;justify-content:center}
.pjm-intents .pi-hero .pi-ico svg{width:24px;height:24px}
.pjm-intents .pi-hero .pi-tx{flex:1;display:flex;flex-direction:column;gap:3px}
.pjm-intents .pi-hero .pi-t{color:#16324f;font-size:18px;font-weight:800;letter-spacing:-.01em}
.pjm-intents .pi-hero .pi-s{color:#5c6f80;font-size:13.5px;line-height:1.45}
.pjm-intents .pi-hero .pi-arrow{color:#cf8a2f;font-size:24px;font-weight:700}
.pjm-intents .pi-langbar{text-align:right;margin-bottom:7px}
.pjm-intents .pi-langbar button{background:none;border:1px solid #e4ddce;border-radius:20px;padding:5px 13px;font-size:12.5px;color:#6c7686;cursor:pointer;font-family:inherit}
.pjm-intents .pi-langbar button:hover{border-color:#cf8a2f;color:#16324f}
.pjm-intents .pi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.pjm-intents .pi-grid2{grid-template-columns:repeat(2,1fr)}
.pjm-intents .pi-card{display:flex;flex-direction:column;gap:5px;background:#fffdf8;border:1px solid #e4ddce;border-radius:13px;padding:15px 16px;transition:border-color .12s}
.pjm-intents .pi-card:hover{border-color:#cf8a2f}
.pjm-intents .pi-card .pi-ci{color:#cf8a2f}
.pjm-intents .pi-card .pi-ci svg{width:24px;height:24px}
.pjm-intents .pi-card b{color:#16324f;font-size:14.5px}
.pjm-intents .pi-card span:not(.pi-ci){color:#6c7686;font-size:12.5px;line-height:1.45}
.pjm-intents .pi-follow{display:block;text-align:center;margin-top:12px;background:#f8f5ec;border:1px dashed #d3cab6;border-radius:11px;padding:11px 14px;font-size:13.5px;color:#33506e}
.pjm-intents .pi-follow b{color:#16324f}
.pjm-intents .pi-follow:hover{border-color:#cf8a2f}
.pjm-intents.slim{margin-bottom:14px}
.pjm-intents.slim a{font-size:13.5px;color:#cf8a2f;font-weight:600}
@media(max-width:640px){.pjm-intents .pi-grid{grid-template-columns:1fr}.pjm-intents .pi-hero{flex-wrap:wrap}}
