/* bostedsplads.dk: egen stil oven på DKFDS 7 virkdk. Alle egne klasser har præfikset bp-; resten er DKFDS, select2 og htmx. */

/* Header */
.bp-logo-link { display: flex; align-items: center; text-decoration: none; }
.bp-logo { width: 61px; height: 60px; margin-right: 1rem; background: #0b6b3a; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 2.4rem; letter-spacing: .05em; border-radius: 4px; }
.bp-logo-navn { font-size: 2.8rem; line-height: 3.2rem; font-weight: 600; color: #1a1a1a; }
.bp-undertitel { font-size: 2.5rem; line-height: 3.2rem; font-weight: 600; color: #1a1a1a; }
.nav-actions > div { margin-right: 10px; }
.nav-actions div:last-child { margin-right: 0; }

/* Ikoner: Material Icons (Apache 2.0) som svg-baggrund; DKFDS' .icon giver inline-block og background-size */
i.bp-ikon-auto { width: inherit; height: inherit; }
i.bp-ikon-s { width: 8px; height: 8px; }
i.bp-ikon-m { width: 16px; height: 16px; }
i.bp-ikon-l { width: 24px; height: 24px; }
i.bp-ikon-xl { width: 36px; height: 36px; }
i.bp-ikon-adresse { background-image: url("/static/vendor/icons/location_on.svg"); }
i.bp-ikon-takst { background-image: url("/static/vendor/icons/attach_money.svg"); }
i.bp-ikon-nat { background-image: url("/static/vendor/icons/brightness_2.svg"); }
i.bp-ikon-virksomhed { background-image: url("/static/vendor/icons/business.svg"); }
i.bp-ikon-afkrydsning { background-image: url("/static/vendor/icons/check_box.svg"); }
i.bp-ikon-laeser { background-image: url("/static/vendor/icons/chrome_reader_mode.svg"); }
i.bp-ikon-klasse { background-image: url("/static/vendor/icons/class.svg"); }
i.bp-ikon-beskrivelse { background-image: url("/static/vendor/icons/description.svg"); }
i.bp-ikon-udvidelse { background-image: url("/static/vendor/icons/extension.svg"); }
i.bp-ikon-gruppe { background-image: url("/static/vendor/icons/group.svg"); }
i.bp-ikon-hjem { background-image: url("/static/vendor/icons/home.svg"); }
i.bp-ikon-registrering { background-image: url("/static/vendor/icons/how_to_reg.svg"); }
i.bp-ikon-info { background-image: url("/static/vendor/icons/info.svg"); }
i.bp-ikon-boeger { background-image: url("/static/vendor/icons/library_books.svg"); }
i.bp-ikon-tilbud { background-image: url("/static/vendor/icons/local_offer.svg"); }
i.bp-ikon-kort { background-image: url("/static/vendor/icons/place.svg"); }
i.bp-ikon-person { background-image: url("/static/vendor/icons/perm_identity.svg"); }
i.bp-ikon-telefon { background-image: url("/static/vendor/icons/phone.svg"); }
i.bp-ikon-skole { background-image: url("/static/vendor/icons/school.svg"); }
i.bp-ikon-soeg { background-image: url("/static/vendor/icons/search.svg"); }
i.bp-ikon-opdateret { background-image: url("/static/vendor/icons/update.svg"); }
i.bp-ikon-arbejde { background-image: url("/static/vendor/icons/work_outline.svg"); }
.bp-ikon-paragraf { width: 36px; height: 36px; font-style: normal; font-weight: normal; font-size: 29px; display: inline-block; line-height: 1; text-transform: none; letter-spacing: normal; word-wrap: normal; white-space: nowrap; direction: ltr; text-align: center; }

/* Søgefelt og filtre */
.bp-soegning-top { display: flex; justify-content: space-between; }
.bp-soeg-knap { height: 36px; }
.bp-alder { height: 40px; }
.bp-filtre .form-group { margin-top: 8px; }
.select2-selection--single { height: 40px !important; }
.select2-selection--single .select2-selection__rendered { line-height: 40px !important; }
.select2-selection--single .select2-selection__arrow { height: 40px !important; }
.select2-selection__placeholder { color: #747474 !important; }
.select2-container--open { z-index: 9999; }
.select2-search__field { max-width: 100%; }
@media (max-width: 1000px) {
  .bp-filter-luft-40 { margin-top: 40px; }
  .bp-filter-luft-20 { margin-top: 20px; }
  .bp-filter-luft-10 { margin-top: 10px; }
}

/* Resultatliste */
.bp-kort { margin: 0 -16px; padding: 3rem 16px; }
.bp-kort:hover { background-color: #f7f5f3; }
.bp-uden-topmargen { margin-top: 0; }
.bp-kort-link, .bp-kort-link:visited, .bp-kort-link:active, .bp-kort-link:hover { color: inherit; text-decoration: none; padding: 0; margin: 0; }
.bp-kort-link:focus { max-width: none; }
.bp-ikon-indryk { margin-right: 4px; width: 42px; }
.bp-ikon-indryk-bred { margin-right: 16px; width: 77px; }
.bp-felt-tekst { line-height: 2.5rem; }
.bp-felt { display: flex; flex-direction: column; }
.bp-felt div:nth-child(1) { display: flex; align-items: center; }
.bp-felt div:nth-child(1) i { margin-right: 10px; }
.bp-felt div:nth-child(2) { display: flex; }
.bp-felt-overskrift { font-weight: bold; font-size: 1.7rem; }
.bp-skillelinje { height: 1px; background-color: grey; margin: 0 -16px; }
.button-quaternary { padding-left: 14px !important; }
.bp-midt { vertical-align: middle; }
.footer a { white-space: nowrap; }
.icon-svg { margin-left: 8px; height: 20px; width: 20px; }
.page-container { visibility: visible; }

/* Ledighedsstatus: grøn/rød/gul/grå */
.ledighed { font-weight: 600; }
.ledighed-ledig { color: #0b6b3a; }
.ledighed-fuld { color: #a4262c; }
.ledighed-foraeldet { color: #8a5a00; }
.ledighed-ukendt { color: #747474; font-weight: 400; }
.bp-portal-ledig { color: #747474; font-size: 1.3rem; white-space: nowrap; }   /* Tilbudsportalens eget flag: sekundært, i parentes på statuslinjen (ejeren 12/10) */
.ledighed.stor { font-size: 2rem; }

/* Afdelingsside (ikke i brug; resultater linker direkte til Tilbudsportalen) */
.detalje-sektion { margin-top: 4rem; }
.detalje-sektion h3 { margin-top: 2rem; margin-bottom: .4rem; font-size: 1.7rem; }

/* HTMX */
.htmx-indicator { opacity: 0; transition: opacity .2s; }
.htmx-request .htmx-indicator, .htmx-request.htmx-indicator { opacity: 1; }

/* Justeringer af DKFDS 7.2.0's standardstørrelser (knapper, lead, overskrifter) */
.button, .button-search, a.button { font-size: 1.6rem; }
.font-lead { font-size: 2rem; line-height: 3.2rem; }
.bp-kort h3 { font-size: 2.4rem; line-height: 3.2rem; font-weight: 600; margin-bottom: 1.6rem; }
.form-group.search .form-input { height: 40px; }
h2 { font-size: 3.2rem; line-height: 4rem; }
.bp-resultat-vaerktoej .button-overflow-menu { color: #454545; padding-left: 12px; height: 40px; }
.form-checkbox + label { line-height: 2.4rem; }
.solution-info p { line-height: 2.4rem; }
.bp-felt .bp-felt-tekst > div { display: block !important; }

/* Paginering (DKFDS 7.2.0 har ingen pagineringskomponent): egen markup og egne regler */
.bp-paginering { clear: both; overflow: hidden; }
.bp-paginering .bp-paginering-info { clear: both; float: left; padding-top: .755em; color: #333; }
.bp-paginering .bp-paginering-knapper { float: right; text-align: right; padding-top: .25em; color: #333; }
.bp-paginering .bp-paginering-knapper .bp-side { box-sizing: border-box; display: inline-block; min-width: 1.5em; padding: 8px 16px; margin-left: 4px; text-align: center; text-decoration: none !important; cursor: pointer; color: #1a1a1a !important; border: 1px solid transparent; border-radius: 2px; }
.bp-paginering .bp-paginering-knapper .bp-side:hover { color: #1a1a1a !important; border-color: #f5f5f5; background: #f5f5f5; }
.bp-paginering .bp-paginering-knapper .bp-side.bp-side-aktiv, .bp-paginering .bp-paginering-knapper .bp-side.bp-side-aktiv:hover { color: #1a1a1a !important; border: 1px solid #747474; background: #f5f5f5; cursor: default; }
.bp-paginering .bp-paginering-knapper .bp-ellipse { padding: 0 1em; }
.bp-paginering .bp-paginering-knapper .button-quaternary { vertical-align: middle; }
@media screen and (max-width: 767px) {
  .bp-paginering .bp-paginering-info, .bp-paginering .bp-paginering-knapper { float: none; text-align: center; }
  .bp-paginering .bp-paginering-knapper { margin-top: .5em; }
}

/* /om, /for-bosteder, /privatlivspolitik: tekstsider */
.om-side { max-width: 80rem; }
.om-side h1 { margin-top: 2.4rem; }
.om-side h2 { margin-top: 4rem; }
.om-side p, .om-side li { line-height: 2.8rem; }
.om-side code { font-size: 1.5rem; background: #f5f5f5; padding: .1rem .5rem; }

/* /svar: kontaktpersonens svarside */
.svar-side { max-width: 96rem; }
.svar-tabel td, .svar-tabel th { vertical-align: top; }
.svar-tabel tr.svar-valgt td { background: #fffae6; }
.svar-tabel tr.svar-forslag td .ledighed, .svar-tabel tr.svar-ingen td .ledighed { color: #8a5a00; }
.svar-dim { color: #747474; font-size: 1.4rem; }
.svar-form-raekke td { padding-top: 0; padding-bottom: 2.4rem; }
.svar-form fieldset { border: 0; padding: 0; margin: 0; }
.svar-form .button { margin-top: 1.6rem; margin-right: .8rem; }
.svar-fravaelg { margin-top: 1.2rem; }
.svar-fravaelg .function-link { background: none; border: 0; padding: 0; cursor: pointer; font-size: 1.4rem; }
.svar-alt-knap { font-size: 1.8rem; padding: 1.2rem 2.4rem; }
.svar-stop summary { list-style: none; cursor: pointer; text-decoration: underline; color: #1a1a1a; display: inline; }
.svar-stop summary::-webkit-details-marker { display: none; }
.svar-stop summary::after { content: " ▾"; text-decoration: none; }
.svar-stop[open] summary::after { content: " ▴"; }
.svar-stop-tekst { max-width: 60rem; margin-top: 1.2rem; padding: 1.6rem; background: #f5f5f5; }
.svar-handling form { display: inline; margin-right: .6rem; }
.svar-handling .button { margin-top: .2rem; margin-bottom: .2rem; }
.svar-kasse { display: block; max-width: 34rem; margin-top: .6rem; padding: .8rem 1.2rem; background: #fff3cd; border-left: 4px solid #ffb800; color: #5c4400; font-size: 1.4rem; line-height: 2rem; }
.svar-kasse-knapper { margin-top: .6rem; }
.svar-kasse-knapper .button { margin-right: .6rem; font-size: 1.4rem; padding: .4rem 1.2rem; min-height: 0; }
.svar-handling .svar-fravaelg { display: block; margin-top: .8rem; text-align: right; }
.svar-gemt { color: #0b6b3a; font-weight: 600; font-size: 1.4rem; }

/* select2-felter skal se ud som DKFDS' form-input: samme skrift, samme indre afstand, lodret centreret hjælpetekst */
.select2-container--default .select2-selection--multiple { min-height: 40px; padding: 6px 15px; box-sizing: border-box; }
.select2-container--default .select2-selection--multiple .select2-selection__rendered { padding: 0; line-height: 2.6rem; display: block; }
.select2-container .select2-search--inline { margin: 0; float: none; display: inline-block; }
.select2-container .select2-search--inline .select2-search__field { font-family: inherit; font-size: 1.6rem; line-height: 2.6rem; height: 2.6rem; margin: 0; padding: 0; }
.select2-container .select2-search--inline .select2-search__field::placeholder { color: #747474; opacity: 1; font-family: inherit; }
.select2-container--default .select2-selection--multiple .select2-selection__choice { margin-top: 0; margin-bottom: .2rem; }

/* Grøn i stedet for DKFDS' blå i topmenuen (aktivt punkt, hover/fokus og åben dropdown) */
.nav-primary > li.current > a, .nav-primary > li.current > a span,
.nav-primary > li > a:hover span, .nav-primary > li > a:focus span,
.nav-primary > li.current > a:hover span { border-bottom-color: #0b6b3a !important; }
.nav-primary button[aria-expanded=true] span { border-bottom-color: #0b6b3a !important; }

/* Knapper: grøn i stedet for DKFDS' blå (primær, sekundær og søgeknap). Fokusramme (gul) beholdes fra DKFDS. */
.button-primary, .button-search { background-color: #0b6b3a !important; border-color: #0b6b3a !important; color: #fff !important; }
.button-primary:hover, .button-search:hover { background-color: #08522c !important; border-color: #08522c !important; }
.button-primary:active, .button-search:active { background-color: #063d21 !important; border-color: #063d21 !important; }
.button-secondary { color: #0b6b3a !important; border-color: #0b6b3a !important; background-color: #fff !important; }
.button-secondary:hover { background-color: #e6f2ec !important; color: #08522c !important; border-color: #08522c !important; }
.button-primary:disabled, .button-primary[disabled] { background-color: #bfbfbf !important; border-color: #bfbfbf !important; }

/* select2: valgte punkter (chips) og afkrydsning i listen i grøn i stedet for sort */
.select2-container--default .select2-selection--multiple .select2-selection__choice { background-color: #0b6b3a !important; border-color: #0b6b3a !important; color: #fff !important; }
.select2-container.select2-container--default .select2-results__option[role=option].select2-results__option--selected:before { background-color: #0b6b3a !important; border-color: #0b6b3a !important; }

/* hover på resultatkort: meget lys grøn ved bekræftet ledige, meget lys rød ved ingen ledige; ukendt/forældet som portalen (lys grå) */
.bp-kort.raekke-ledig:hover { background-color: #eaf6ee; }
.bp-kort.raekke-fuld:hover { background-color: #fbeceb; }
/* /status: statussiden i den oprindelige svarsides skema-layout (ejerens beslutning 19-21, 20/9); .svar-* ovenfor genbruges.
   "Skift status" er en <label> for en skjult radioknap; rækkens visning styres af :has(input:checked). Ingen scripts. */
.status-celle .status-valg { position: absolute; opacity: 0; width: 1px; height: 1px; overflow: hidden; }
.status-celle .vis-ledig, .status-celle .vis-fuld, .status-celle .vis-ingen, .status-celle .aendret, .status-fallback { display: none; }
.status-celle .status-kilde { display: block; }
.svar-handling label.button.skift, .svar-handling .vaelg-ingen { display: none; }
.svar-handling label.button { margin: .2rem 0; cursor: pointer; align-items: center; justify-content: center; }
.svar-handling .vaelg-ingen label.button { margin-left: .4rem; }
.status-tabel tr:has(.status-valg[value=ledig]:checked) .vis-ledig { display: inline; }
.status-tabel tr:has(.status-valg[value=fuld]:checked) .vis-fuld { display: inline; }
.status-tabel tr:not(:has(.status-valg:checked)) .vis-ingen { display: inline; }
.status-tabel tr:has(.status-valg[value=ledig]:checked) label.skift-til-fuld { display: inline-flex; }
.status-tabel tr:has(.status-valg[value=fuld]:checked) label.skift-til-ledig { display: inline-flex; }
.status-tabel tr:not(:has(.status-valg:checked)) .vaelg-ingen { display: inline; }
.status-tabel tr:not(:has(.status-valg:checked)) .vaelg-ingen label.skift { display: inline-flex; }
/* ændret i forhold til det viste (ikke indsendt): gul række og note */
.status-tabel tr.oprindelig-ledig:has(.status-valg[value=fuld]:checked) td, .status-tabel tr.oprindelig-fuld:has(.status-valg[value=ledig]:checked) td,
.status-tabel tr.oprindelig-ukendt:has(.status-valg:checked) td { background: #fffae6; }
.status-tabel tr.oprindelig-ledig:has(.status-valg[value=fuld]:checked) .aendret, .status-tabel tr.oprindelig-fuld:has(.status-valg[value=ledig]:checked) .aendret,
.status-tabel tr.oprindelig-ukendt:has(.status-valg:checked) .aendret { display: block; }
.svar-handling .svar-fravaelg { display: block; margin-top: .8rem; text-align: right; font-size: 1.4rem; }
@supports not selector(:has(a)) {
  /* gamle browsere: synlige radioknapper i statuskolonnen, ingen Skift status-knap */
  .status-celle .status-valg { position: static; opacity: 1; width: auto; height: auto; margin-right: .3rem; }
  .status-fallback { display: inline; }
  .status-celle .vis-ledig, .status-celle .vis-fuld, .status-celle .vis-ingen { display: none !important; }
}
@media screen and (max-width: 767px) {
  .status-tabel th:first-child, .status-tabel td:first-child { width: 34%; }
  .status-tabel td .ledighed.stor { font-size: 1.7rem; }
}

/* mobil: burger-ikon i stedet for teksten "Menu" (DKFDS viser kun knappen under 992 px) */
.button-menu-open.burger { padding: .6rem .8rem; min-width: 0; min-height: 0; border: 0; color: #1a1a1a; background: transparent; }
.button-menu-open.burger .burger-ikon { display: block; }

/* Adminside /admin/mail (læs-kun) */
.admin-side .tag { display: inline-block; margin: 0 .8rem .8rem 0; padding: .3rem 1rem; border-radius: .4rem; background: #f0f0f0; color: #1a1a1a; font-size: 1.4rem; }
.admin-side .tag--ledig { background: #e6f2eb; color: #0b6b3a; }
.admin-side .tag--fuld { background: #fbe9ea; color: #a4262c; }
.admin-side .tag--ukendt { background: #fff3cd; color: #5c4400; }
.admin-side table.table th { white-space: nowrap; }
.admin-side .table-overflow { overflow-x: auto; }
.admin-side p.small { font-size: 1.4rem; color: #747474; }

/* Mini-CRM /admin/crm (samtykkeflow P2): kun for operatører, ingen scripts */
.bp-crm-side { max-width: none; }
.bp-crm-side p { max-width: none; }
.bp-crm-sek { margin-top: 3.2rem; }
.bp-crm-sek h2 { font-size: 2.2rem; line-height: 3rem; margin-bottom: .8rem; }
.bp-crm-navn { margin-bottom: .4rem; }
.bp-crm-meta { font-size: 1.6rem; line-height: 2.6rem; }
.bp-crm-meta a { color: #1a1a1a; }
.bp-dim { display: block; color: #747474; font-size: 1.3rem; line-height: 1.9rem; }
h2 .bp-dim, p.bp-dim { display: inline; }
table.bp-crm-tabel { font-size: 1.5rem; }
table.bp-crm-tabel th, table.bp-crm-tabel td { vertical-align: top; padding: .8rem 1rem; }
table.bp-crm-tabel .bp-num { text-align: right; white-space: nowrap; }
table.bp-crm-tabel tr.bp-forfalden td:first-child { border-left: 4px solid #a4262c; }
.bp-crm-stak { display: flex; height: 2.4rem; width: 100%; background: #d9d9d9; margin: 1.2rem 0 1.6rem; overflow: hidden; }
.bp-crm-stak span, .bp-crm-stak a { display: block; height: 100%; }
.bp-crm-stak a:hover { filter: brightness(.9); }
.bp-st-permission { background: #0b6b3a; }
.bp-st-nej_tak { background: #a4262c; }
.bp-st-i_dialog { background: #ffb800; }
.bp-st-ikke_kontaktet { background: #d9d9d9; }
.bp-prik { display: inline-block; width: 1.2rem; height: 1.2rem; margin-right: .8rem; vertical-align: middle; border-radius: .2rem; }
.bp-crm-tal { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 1.2rem; margin: 1.6rem 0; }
.bp-crm-tal-kort { border: 1px solid #bfbfbf; padding: 1.2rem 1.4rem; background: #fff; }
.bp-crm-tal-n { display: block; font-size: 3.2rem; line-height: 3.6rem; font-weight: 600; }
.bp-crm-tal-tekst { display: block; font-size: 1.4rem; line-height: 2rem; color: #454545; margin-top: .4rem; }
.bp-crm-tal-delta { display: block; font-size: 1.3rem; color: #0b6b3a; }
.bp-crm-genveje { margin: 1.6rem 0 .8rem; }
.bp-crm-genveje strong { font-size: 1.4rem; margin-right: .8rem; }
.bp-crm-genveje a { display: inline-block; margin: 0 .8rem .8rem 0; padding: .5rem 1.2rem; border: 1px solid #0b6b3a; border-radius: 2rem; color: #0b6b3a; font-size: 1.4rem; text-decoration: none; }
.bp-crm-genveje a:hover, .bp-crm-genveje a.bp-aktiv { background: #0b6b3a; color: #fff; }
.bp-crm-filtre { display: grid; grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)); gap: 0 2rem; }
.bp-crm-filtre .form-group { margin-top: 1.2rem; }
.bp-crm-filtre .form-label { font-size: 1.5rem; margin-bottom: .4rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.bp-crm-filtre .form-input, .bp-crm-filtre .form-select { height: 4rem; font-size: 1.5rem; max-width: none; }
.bp-crm-fratil { display: flex; gap: .8rem; }
.bp-crm-filtre-knapper { grid-column: 1 / -1; margin-top: 1.6rem; }
.bp-crm-filtre-knapper .button { margin-right: .8rem; }
.bp-crm-vaerktoej { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; margin: 2.4rem 0 .4rem; }
.bp-crm-handling { border: 1px solid #bfbfbf; padding: 1.6rem 2rem; margin: 2.4rem 0; background: #fafafa; }
.bp-crm-handling h2 { margin: 0 0 1.2rem; font-size: 2.2rem; line-height: 3rem; }
@media (max-width: 767px) { .bp-crm-tal { grid-template-columns: repeat(2, 1fr); } }
/* CRM-handlinger (P3) */
.bp-dim-inline { color: #747474; font-size: 1.3rem; }
.bp-crm-felter { display: grid; grid-template-columns: repeat(auto-fit, minmax(24rem, 1fr)); gap: 0 2rem; }
.bp-crm-felter .form-input { max-width: none; }
.bp-crm-felter textarea.form-input { height: 7rem; }
.bp-crm-knapper { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.2rem; }
.bp-crm-husregel { margin-top: .8rem; }
.bp-crm-detaljer { margin-top: 1.6rem; border-top: 1px solid #ddd; padding-top: 1.2rem; }
.bp-crm-detaljer summary { cursor: pointer; list-style: none; }
.bp-crm-detaljer summary::-webkit-details-marker { display: none; }
.bp-crm-detaljer summary .bp-dim { display: inline; margin-left: .8rem; }
.bp-crm-detaljer[open] summary { margin-bottom: 1.2rem; }
.bp-crm-ja fieldset { border: 0; padding: 0; margin: 0; }
.bp-crm-ja textarea.form-input { height: 7rem; max-width: 60rem; }
.bp-crm-ja .button { margin-top: 1.6rem; }
.bp-crm-inline { display: inline-block; width: 30rem; max-width: 100%; height: 3.6rem; margin-left: 1rem; }
.bp-crm-inlineform { display: inline; }
.bp-crm-henvist { margin: 0.5rem 0 1rem; }
.bp-crm-ja .bp-crm-inline + .bp-crm-inline { margin-top: 0.5rem; }
.bp-knap-roed { color: #a4262c !important; border-color: #a4262c !important; }
.bp-crm-opret .form-input { max-width: 48rem; }
.bp-crm-opret fieldset { border: 0; padding: 0; }
/* Resultatkort: strakt link til Tilbudsportalen og CTA-boks "Bekræft ledige pladser"/"Meld fyldt op" (samtykkeflow P4, beslutning 11; CRO runde 2) */
.bp-kort { position: relative; }
.bp-kort h3 a.bp-kort-link-strakt { color: inherit; text-decoration: none; }
/* z-index 1: DKFDS' kolonner er positioneret og ville ellers tegnes oven på linket, så klik på felterne ikke ramte det (ejerens test 12/10) */
.bp-kort h3 a.bp-kort-link-strakt::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.bp-kort:has(a.bp-kort-link-strakt) { cursor: pointer; }
.bp-kort h3 a.bp-kort-link-strakt:focus { outline: none; }
.bp-kort:has(a.bp-kort-link-strakt:focus-visible) { outline: 3px solid #ffbb16; outline-offset: -3px; }
.bp-cta { position: relative; z-index: 2; display: table; margin-top: 1rem; padding: 1rem 1.2rem; border: 1px solid #0b6b3a; border-left-width: 4px; background: #f3faf6; cursor: default; }
.bp-cta-tekst { display: block; font-size: 1.4rem; line-height: 2rem; color: #1a1a1a; margin-bottom: .6rem; }
@media (min-width: 576px) { .bp-cta-tekst { white-space: nowrap; } }   /* én linje (ejerens ønske 12/10); Ledighed-kolonnen er bredere (col-sm-4) */
.bp-cta-knap { font-size: 1.5rem !important; padding: .6rem 1.4rem !important; min-height: 0; }
/* Knappen er en GET-formular, ikke et link, så søgemaskiner ikke følger ~3.400 tilmeldingssider (ejerens SEO-ønske 13/10); udseendet er uændret */
.bp-cta-form { display: block; margin: 0; }
.bp-cta-form .bp-cta-knap { margin: 0; line-height: 2.8rem; vertical-align: top; }   /* samme højde (40 px) som da knappen var et link */
/* /tilmeld (CRO runde 2, udkast 11-13): før/efter, tre trin, tillidslinje, hjælpeboks, kvittering */
.bp-tilmeld { max-width: 84rem; }
.bp-tilmeld h1 { margin-bottom: 1.2rem; }
.bp-foerefter { display: grid; grid-template-columns: 1fr auto 1fr; gap: 1.6rem; align-items: stretch; margin: 2.4rem 0; }
.bp-pil { align-self: center; font-size: 3rem; color: #0b6b3a; }
.bp-mini { border: 1px solid #bfbfbf; padding: 1.4rem 1.6rem; background: #fff; position: relative; }
.bp-mini-lbl { position: absolute; top: -1.1rem; left: 1.2rem; background: #fff; padding: 0 .6rem; font-size: 1.3rem; font-weight: 600; color: #454545; }
.bp-mini-efter { border: 2px solid #0b6b3a; }
.bp-mini-efter .bp-mini-lbl { color: #0b6b3a; }
.bp-mini h2 { font-size: 1.8rem; line-height: 2.4rem; margin: 0 0 .6rem; }
.bp-mini p { margin: 0; font-size: 1.5rem; line-height: 2.2rem; }
.bp-mini-gevinst { display: inline-block; margin-top: .6rem; font-size: 1.3rem; color: #0b6b3a; font-weight: 600; }
.bp-trin { list-style: none; counter-reset: bptrin; padding: 0; margin: 2.4rem 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6rem; }
.bp-trin li { counter-increment: bptrin; padding: 1.2rem 1.4rem; border-top: 3px solid #0b6b3a; background: #fafafa; font-size: 1.5rem; line-height: 2.2rem; }
.bp-trin li::before { content: counter(bptrin); display: block; font-size: 2.4rem; font-weight: 700; color: #0b6b3a; margin-bottom: .4rem; }
.bp-tilmeld-form { margin-top: 1.6rem; }
.bp-tilmeld-form .button { margin-top: 1.6rem; }
.bp-tilmeld-input { max-width: 40rem; }
.bp-tilmeld-tlf { max-width: 24rem; }
.bp-tillid { margin-top: 1rem; font-size: 1.4rem; color: #454545; }
.bp-tillid span { white-space: nowrap; }
.bp-dok-lille { margin-top: .8rem; font-size: 1.3rem; line-height: 1.9rem; color: #747474; max-width: 60rem; }
.bp-hjaelp { margin-top: 2.4rem; padding: 1.4rem 1.6rem; border: 1px solid #bfbfbf; }
.bp-hjaelp h2 { font-size: 1.9rem; line-height: 2.6rem; margin: 0 0 .6rem; }
.bp-hjaelp .button { margin-top: 1.2rem; }
.bp-honning { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }   /* honeypot på "Ring mig op" */
.bp-tjek { display: grid; grid-template-columns: auto 1fr; gap: 1.2rem 1.6rem; margin: 2.4rem 0; align-items: start; font-size: 1.6rem; line-height: 2.4rem; }
.bp-tjek-n { width: 3.2rem; height: 3.2rem; border-radius: 50%; background: #0b6b3a; color: #fff; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.bp-mailpreview { border: 1px solid #bfbfbf; padding: 1rem 1.4rem; font-size: 1.5rem; line-height: 2.2rem; background: #fafafa; max-width: 56rem; }
.bp-mailpreview-pre { color: #747474; }
@media (max-width: 767px) { .bp-foerefter { grid-template-columns: 1fr; } .bp-pil { transform: rotate(90deg); justify-self: center; } .bp-trin { grid-template-columns: 1fr; } }
/* Personkortets formularer: ens topmargen i rækkerne, så etiketter og felter flugter; lodret centreret knaptekst (ejerens test 12/10) */
.bp-crm-felter > .form-group, .bp-crm-felter form > .form-group:first-of-type { margin-top: 0; }
.bp-crm-felter .form-label { min-height: 2.4rem; }
.bp-crm-handling .button { display: inline-flex; align-items: center; justify-content: center; min-height: 4rem; padding-top: .6rem; padding-bottom: .6rem; line-height: 2rem; vertical-align: middle; }
.bp-crm-detaljer summary { display: flex; align-items: center; gap: 1.2rem; }
.bp-crm-detaljer summary .bp-dim { margin-left: 0; }
.bp-crm-husregel { margin-top: 1.2rem !important; }
.bp-crm-felter form { display: flex; flex-direction: column; align-items: flex-start; }
.bp-crm-felter form .form-group { width: 100%; }
.bp-crm-ja .bp-crm-inline { vertical-align: middle; }
.bp-stop-fordele { max-width: 70rem; }
.bp-stop-fordele li { line-height: 2.6rem; margin-bottom: .6rem; }
.bp-crm-ledig { color: #0b6b3a; }   /* CRM: afdelinger, der er ledige ifølge Tilbudsportalen */
/* Personkortet: "Ja tak"/"Nej tak" er udfoldnings-overskrifter, ikke knapper (ejeren 12/10); kun knappen i formularen udfører handlingen */
.bp-crm-fold { font-weight: 600; font-size: 1.8rem; color: #1a1a1a; }
.bp-crm-fold::before { content: "▸"; display: inline-block; width: 1.6rem; color: #0b6b3a; transition: transform .1s; }
.bp-crm-detaljer[open] .bp-crm-fold::before { transform: rotate(90deg); }
.bp-crm-detaljer summary:hover .bp-crm-fold { text-decoration: underline; }
.bp-knap-roed-fyldt { background-color: #a4262c !important; border-color: #a4262c !important; color: #fff !important; }
.bp-knap-roed-fyldt:hover { background-color: #7f1d22 !important; border-color: #7f1d22 !important; }

/* CRM: "Ring op" (tel:-links; på Mac'en ringer de via iPhonen med "Opkald fra iPhone") og QR-koder til at ringe fra telefonen */
.bp-crm-ring { display: flex; flex-wrap: wrap; gap: 1.2rem; align-items: center; margin: 1.6rem 0 0; }
.bp-crm-ring .bp-crm-ring-knap { display: inline-flex; flex-direction: column; align-items: flex-start; min-height: 4.8rem; padding: .6rem 1.6rem; line-height: 2.2rem; text-decoration: none; text-align: left; }
.bp-crm-ring-etiket { font-size: 1.3rem; line-height: 1.8rem; font-weight: 400; opacity: .9; }
.bp-crm-ring-tekst { font-size: 1.6rem; }
.bp-crm-qr { margin-top: 1.2rem; border-top: 0; padding-top: 0; }
.bp-crm-qr-raekke { display: flex; flex-wrap: wrap; gap: 2.4rem; }
.bp-crm-qr figure { margin: 0; text-align: center; }
.bp-crm-qr svg.bp-qr { display: block; width: 16rem; height: 16rem; background: #fff; }
.bp-crm-qr figcaption { font-size: 1.3rem; line-height: 1.9rem; color: #454545; margin-top: .4rem; max-width: 16rem; }
a.bp-crm-tel { color: inherit; white-space: nowrap; }
@media (max-width: 767px) { .bp-crm-qr { display: none; } .bp-crm-ring .bp-crm-ring-knap { width: 100%; } }   /* på telefonen ringer knappen direkte */
.bp-crm-andre { border-top: 0; padding-top: 0; margin-top: .8rem; }
.bp-crm-andre table { width: auto; margin: 0; }
.bp-crm-andre table.bp-crm-tabel td { vertical-align: middle; }
.bp-crm-andre .bp-crm-ring-lille { min-height: 3.2rem; padding: .2rem 1.2rem; font-size: 1.4rem; line-height: 2rem; white-space: nowrap; text-decoration: none; }
.bp-tilmeld-afd { margin: 2.4rem 0 .4rem; font-size: 1.6rem; line-height: 2.4rem; color: #454545; }
.bp-tilmeld-afd strong { color: #1a1a1a; }
.bp-tilmeld-afd + h1 { margin-top: 0; }
