/* =====================================================================
   Fortrydelsesformular &ndash; custom styling
   Matchet til Kontakt Os-designet (Erfa Inventar A/S)
   Inds&aelig;ttes i assets/css/style.css (eller via "Inds&aelig;t CSS").
   Targeter KUN .m-form p&aring; formularsiden &ndash; r&oslash;rer ikke engine/HTML.
   ---------------------------------------------------------------------
   Design-tokens (udtrukket fra /kontakt-os/):
     Prim&aelig;r r&oslash;d : #942E28
     Tekst      : #333
     Kant       : #EEE
     Font       : "Sen", sans-serif
     Radius     : 10px (kort/hero) / 30px (knap/pill)
   ===================================================================== */

:root {
  --erfa-red: #942E28;
  --erfa-red-dark: #7a251f;
  --erfa-text: #333;
  --erfa-border: #eee;
  --erfa-radius: 10px;
  --erfa-radius-pill: 30px;
}

/* Begr&aelig;ns alt til formularsiden, s&aring; vi ikke p&aring;virker andre m-form moduler.
   pageId454 (DK) og pageId455 (DE) s&aelig;ttes p&aring; <body>. Begge formularsider
   rammes via :is(.pageId454, .pageId455). Tilf&oslash;j flere ID'er her hvis I
   opretter formularsider p&aring; andre sproglag. */
:is(.pageId454, .pageId455) .m-form {
  max-width: 720px;
  margin: 0 auto 48px;
  font-family: "Sen", sans-serif;
  color: var(--erfa-text);
}

/* ---- R&oslash;de fadede hj&oslash;rne-beslag KUN om feltblokken ---- */
/* Feltblokken = fieldset Input22 (f&oslash;rst) &rarr; Input27 (sidst).
   Vi g&oslash;r feltblokken til et sammenh&aelig;ngende omr&aring;de uden synlig ramme,
   og h&aelig;nger fire fadede hj&oslash;rner p&aring; f&oslash;rste og sidste felt via pseudo-elementer. */
:is(.pageId454, .pageId455) .m-form-article form {
  position: static;
  padding: 0;
}
:is(.pageId454, .pageId455) .m-form .form-group {
  border: 0;
  margin-bottom: 0;
  padding: 14px 24px;
  background: none;
}
/* Lidt ekstra luft i top/bund af blokken s&aring; hj&oslash;rnerne har plads */
:is(.pageId454, .pageId455) .m-form .form-group.m-form-FormElementInput22 {
  position: relative;
  padding-top: 22px;
}
:is(.pageId454, .pageId455) .m-form .form-group.m-form-FormElementTextarea464 {
  position: relative;
  padding-bottom: 22px;
  margin-bottom: 24px;
}

/* Hj&oslash;rne-l&aelig;ngde/tykkelse via variabler */
:is(.pageId454, .pageId455) .m-form .form-group.m-form-FormElementInput22::before,
:is(.pageId454, .pageId455) .m-form .form-group.m-form-FormElementInput22::after,
:is(.pageId454, .pageId455) .m-form .form-group.m-form-FormElementTextarea464::before,
:is(.pageId454, .pageId455) .m-form .form-group.m-form-FormElementTextarea464::after {
  content: "";
  position: absolute;
  width: 48px;
  height: 48px;
  pointer-events: none;
  background-repeat: no-repeat;
}

/* &Oslash;verste venstre hj&oslash;rne (p&aring; f&oslash;rste felt) */
:is(.pageId454, .pageId455) .m-form .form-group.m-form-FormElementInput22::before {
  top: 0; left: 0;
  background-image:
    linear-gradient(90deg, var(--erfa-red), rgba(148,46,40,0)),
    linear-gradient(180deg, var(--erfa-red), rgba(148,46,40,0));
  background-size: 48px 2px, 2px 48px;
  background-position: left top, left top;
}
/* &Oslash;verste h&oslash;jre hj&oslash;rne (p&aring; f&oslash;rste felt) */
:is(.pageId454, .pageId455) .m-form .form-group.m-form-FormElementInput22::after {
  top: 0; right: 0;
  background-image:
    linear-gradient(270deg, var(--erfa-red), rgba(148,46,40,0)),
    linear-gradient(180deg, var(--erfa-red), rgba(148,46,40,0));
  background-size: 48px 2px, 2px 48px;
  background-position: right top, right top;
}
/* Nederste venstre hj&oslash;rne (p&aring; sidste felt) */
:is(.pageId454, .pageId455) .m-form .form-group.m-form-FormElementTextarea464::before {
  bottom: 0; left: 0;
  background-image:
    linear-gradient(90deg, var(--erfa-red), rgba(148,46,40,0)),
    linear-gradient(0deg, var(--erfa-red), rgba(148,46,40,0));
  background-size: 48px 2px, 2px 48px;
  background-position: left bottom, left bottom;
}
/* Nederste h&oslash;jre hj&oslash;rne (p&aring; sidste felt) */
:is(.pageId454, .pageId455) .m-form .form-group.m-form-FormElementTextarea464::after {
  bottom: 0; right: 0;
  background-image:
    linear-gradient(270deg, var(--erfa-red), rgba(148,46,40,0)),
    linear-gradient(0deg, var(--erfa-red), rgba(148,46,40,0));
  background-size: 48px 2px, 2px 48px;
  background-position: right bottom, right bottom;
}

/* ---- Ren overskrift (intet r&oslash;dt banner) ---- */
:is(.pageId454, .pageId455) .m-form-header.page-title {
  background: none;
  padding: 0;
  margin-bottom: 4px;
  border-bottom: 0;
}
:is(.pageId454, .pageId455) .m-form-headline {
  color: var(--erfa-text);
  font-weight: 700;
  font-size: 30px;
  margin: 0;
}

/* ---- Br&oslash;dtekst / introafsnit ---- */
:is(.pageId454, .pageId455) .m-form-article p {
  line-height: 1.6;
  font-size: 16px;
}

/* ---- Punktopstilling: genskab bullets (template nulstiller list-style globalt) ---- */
:is(.pageId454, .pageId455) .m-form-article ul {
  list-style: disc outside !important;
  padding-left: 22px;
  margin: 0 0 16px;
}
:is(.pageId454, .pageId455) .m-form-article ul li {
  list-style: disc outside !important;
  display: list-item;
  line-height: 1.6;
  margin-bottom: 4px;
}

/* Labels */
:is(.pageId454, .pageId455) .m-form .form-label {
  display: block;
  font-weight: 700;
  margin-bottom: 6px;
  font-size: 14px;
}

/* P&aring;kr&aelig;vet-stjerne i prim&aelig;rr&oslash;d */
:is(.pageId454, .pageId455) .m-form .form-required {
  color: var(--erfa-red);
  margin-left: 2px;
}

/* ---- Inputfelter ---- */
:is(.pageId454, .pageId455) .m-form .form-input,
:is(.pageId454, .pageId455) .m-form input[type="text"],
:is(.pageId454, .pageId455) .m-form input[type="email"],
:is(.pageId454, .pageId455) .m-form textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 11px 14px;
  border: 1px solid #d8d8d8;
  border-radius: 8px;
  font-family: inherit;
  font-size: 15px;
  color: var(--erfa-text);
  transition: border-color .15s ease, box-shadow .15s ease;
}
:is(.pageId454, .pageId455) .m-form .form-input:focus,
:is(.pageId454, .pageId455) .m-form input:focus,
:is(.pageId454, .pageId455) .m-form textarea:focus {
  outline: none;
  border-color: var(--erfa-red);
  box-shadow: 0 0 0 3px rgba(148, 46, 40, .12);
}

/* ---- Radio (Fortryd hele ordren? Ja/Nej) ---- */
/* ScanNet pakker hver radio i en Bootstrap input-group med gr&aring; addon-boks.
   Fjern boksene og stil knap + tekst rent op. */
:is(.pageId454, .pageId455) .m-form [class*="m-form-FormElementRadio"] .input-group,
:is(.pageId454, .pageId455) .m-form [class*="m-form-FormElementRadio"] .input-group.trailing {
  display: inline-flex;
  align-items: center;
  margin-right: 24px;
  border: 0;
  vertical-align: middle;
}
:is(.pageId454, .pageId455) .m-form [class*="m-form-FormElementRadio"] .input-group-addon {
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center;
  height: auto !important;
  line-height: 1 !important;
  width: auto !important;
}
/* Custom rund radio (appearance:none) &mdash; fuld kontrol, ingen firkantet highlight */
:is(.pageId454, .pageId455) .m-form [class*="m-form-FormElementRadio"] input[type="radio"],
:is(.pageId454, .pageId455) .m-form [class*="m-form-FormElementRadio"] .m-form-input {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  width: 18px;
  height: 18px;
  margin: 0 8px 0 0;
  padding: 0;
  border: 2px solid #b9b9b9 !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: none !important;
  outline: none !important;
  cursor: pointer;
  vertical-align: middle;
  position: relative;
  flex: 0 0 auto;
  transition: border-color .15s ease;
}
:is(.pageId454, .pageId455) .m-form [class*="m-form-FormElementRadio"] input[type="radio"]:checked,
:is(.pageId454, .pageId455) .m-form [class*="m-form-FormElementRadio"] .m-form-input:checked {
  border-color: var(--erfa-red) !important;
}
/* Indre prik ved valg */
:is(.pageId454, .pageId455) .m-form [class*="m-form-FormElementRadio"] input[type="radio"]:checked::after,
:is(.pageId454, .pageId455) .m-form [class*="m-form-FormElementRadio"] .m-form-input:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--erfa-red);
  transform: translate(-50%, -50%);
}
:is(.pageId454, .pageId455) .m-form [class*="m-form-FormElementRadio"] input[type="radio"]:focus-visible,
:is(.pageId454, .pageId455) .m-form [class*="m-form-FormElementRadio"] .m-form-input:focus-visible {
  border-color: var(--erfa-red) !important;
  box-shadow: 0 0 0 3px rgba(148, 46, 40, .2) !important;
}
/* tekst-delen (Ja / Nej) sidder i .input-group-main med .form-label.
   H&aelig;v specificitet (fieldset-klasse + to klasser) s&aring; den sl&aring;r .form-label-reglen. */
:is(.pageId454, .pageId455) fieldset[class*="m-form-FormElementRadio"] .input-group-main.form-label,
:is(.pageId454, .pageId455) .m-form [class*="m-form-FormElementRadio"] .input-group-main {
  display: inline-flex !important;
  align-items: center;
  border: 0;
  background: none;
  padding: 0;
  margin: 0;
  font-weight: 400;
  font-size: 15px;
  line-height: 1;
  width: auto;
}

/* ---- Send-knap "Bekr&aelig;ft fortrydelse" som pill ---- */
:is(.pageId454, .pageId455) .m-form button[type="submit"],
:is(.pageId454, .pageId455) .m-form input[type="submit"],
:is(.pageId454, .pageId455) .m-form .form-submit {
  background-color: var(--erfa-red);
  color: #fff;
  font-weight: 700;
  font-family: inherit;
  font-size: 16px;
  border: 0;
  border-radius: var(--erfa-radius-pill);
  padding: 13px 32px;
  cursor: pointer;
  transition: background-color .15s ease;
}
:is(.pageId454, .pageId455) .m-form button[type="submit"]:hover,
:is(.pageId454, .pageId455) .m-form input[type="submit"]:hover,
:is(.pageId454, .pageId455) .m-form .form-submit:hover {
  background-color: var(--erfa-red-dark);
}

/* ---- reCAPTCHA-widget: ingen boks, bare luft ---- */
:is(.pageId454, .pageId455) .m-form .w-recatpcha,
:is(.pageId454, .pageId455) .m-form .w-recaptcha {
  border: 0;
  background: none;
  padding: 0;
  margin: 8px 0 24px;
}

/* ---- Fjern de gr&aring; skillelinjer (hr) i formularen ---- */
:is(.pageId454, .pageId455) .m-form-article hr {
  border: 0;
  height: 0;
  margin: 0;
  background: none;
}

/* ---- Footer: knap flugtet med reCAPTCHA i h&oslash;jre side ---- */
/* reCAPTCHA (64px) st&aring;r til venstre i sin egen r&aelig;kke; knappen (50px) tr&aelig;kkes
   op via transform s&aring; midterne flugter (96px), uden at p&aring;virke layout-flow.
   Footeren kollapses til 0 h&oslash;jde s&aring; der ikke st&aring;r tomt rum tilbage. */
:is(.pageId454, .pageId455) .m-form .panel-footer {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  height: 0 !important;
  overflow: visible !important;
  text-align: right !important;
}
:is(.pageId454, .pageId455) .m-form .panel-footer .button,
:is(.pageId454, .pageId455) .m-form .panel-footer button[type="submit"] {
  transform: translate(-15px, -96px);
  margin: 0 !important;
}
:is(.pageId454, .pageId455) .m-form .panel-body {
  border: 0 !important;
}
/* Panelet har en svag box-shadow (0 1px 1px) der ses som en gr&aring; streg
   under knappen. Fjern den. */
:is(.pageId454, .pageId455) .m-form .panel,
:is(.pageId454, .pageId455) .m-form .panel.panel-border {
  box-shadow: none !important;
}

/* ---- OBS-note under "Hvem booker returforsendelse?" ----
   Noten er wrappet i <p class="returnote"> direkte i tekst-boksens HTML
   (samme princip som .withdrawal-intro). Klassen er en del af indholdet og
   er derfor stabil &mdash; i mods&aelig;tning til ScanNets m-form-NNN-numre. */
:is(.pageId454, .pageId455) .m-form .returnote {
  padding: 0 24px !important;
  margin-top: 4px !important;
  color: rgb(101, 103, 100) !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}

/* ---- Checkbox (forst&aring;else: returforsendelse for egen regning) ----
   Samme input-group-m&oslash;nster som radioerne, men FIRKANTET boks.
   Generisk selektor s&aring; fremtidige checkboxe ogs&aring; rammes. */
:is(.pageId454, .pageId455) .m-form [class*="m-form-FormElementCheckbox"] .input-group,
:is(.pageId454, .pageId455) .m-form [class*="m-form-FormElementCheckbox"] .input-group.trailing {
  display: inline-flex;
  align-items: center;
  border: 0;
  vertical-align: middle;
}
:is(.pageId454, .pageId455) .m-form [class*="m-form-FormElementCheckbox"] .input-group-addon {
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center;
  height: auto !important;
  line-height: 1 !important;
  width: auto !important;
}
/* Custom firkantet checkbox */
:is(.pageId454, .pageId455) .m-form [class*="m-form-FormElementCheckbox"] input[type="checkbox"],
:is(.pageId454, .pageId455) .m-form [class*="m-form-FormElementCheckbox"] .m-form-input {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  width: 18px;
  height: 18px;
  margin: 0 8px 0 0;
  padding: 0;
  border: 2px solid #b9b9b9 !important;
  border-radius: 4px !important;
  background: #fff !important;
  box-shadow: none !important;
  outline: none !important;
  cursor: pointer;
  vertical-align: middle;
  position: relative;
  flex: 0 0 auto;
  transition: border-color .15s ease, background-color .15s ease;
}
:is(.pageId454, .pageId455) .m-form [class*="m-form-FormElementCheckbox"] input[type="checkbox"]:checked,
:is(.pageId454, .pageId455) .m-form [class*="m-form-FormElementCheckbox"] .m-form-input:checked {
  border-color: var(--erfa-red) !important;
  background: var(--erfa-red) !important;
}
/* Hvidt flueben ved valg */
:is(.pageId454, .pageId455) .m-form [class*="m-form-FormElementCheckbox"] input[type="checkbox"]:checked::after,
:is(.pageId454, .pageId455) .m-form [class*="m-form-FormElementCheckbox"] .m-form-input:checked::after {
  content: "";
  position: absolute;
  top: 1px;
  left: 5px;
  width: 5px;
  height: 9px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
:is(.pageId454, .pageId455) .m-form [class*="m-form-FormElementCheckbox"] input[type="checkbox"]:focus-visible,
:is(.pageId454, .pageId455) .m-form [class*="m-form-FormElementCheckbox"] .m-form-input:focus-visible {
  border-color: var(--erfa-red) !important;
  box-shadow: 0 0 0 3px rgba(148, 46, 40, .2) !important;
}
/* tekst-delen ("Ja") p&aring; linje, lys og normal v&aelig;gt */
:is(.pageId454, .pageId455) fieldset[class*="m-form-FormElementCheckbox"] .input-group-main.form-label,
:is(.pageId454, .pageId455) .m-form [class*="m-form-FormElementCheckbox"] .input-group-main {
  display: inline-flex !important;
  align-items: center;
  border: 0;
  background: none;
  padding: 0;
  margin: 0;
  font-weight: 400;
  font-size: 15px;
  line-height: 1;
  width: auto;
}

/* ---- Valgt option: tekst m&oslash;rk (som overskrift) + fed ----
   input ligger i .input-group-addon, tekst i .input-group-main som er
   S&Oslash;SKENDE til addon &mdash; derfor :has(input:checked) p&aring; addon + nabo-main. */
:is(.pageId454, .pageId455) .m-form [class*="m-form-FormElementRadio"] .input-group-addon:has(input:checked) + .input-group-main,
:is(.pageId454, .pageId455) .m-form [class*="m-form-FormElementCheckbox"] .input-group-addon:has(input:checked) + .input-group-main {
  color: #111 !important;
  font-weight: 700 !important;
}

/* ---- Responsiv ---- */
@media (max-width: 767px) {
  :is(.pageId454, .pageId455) .m-form-header.page-title { padding: 22px 20px; }
  :is(.pageId454, .pageId455) .m-form-headline { font-size: 23px; }

  /* Ved <=767px g&oslash;r ScanNet knappen fuld bredde, og der er ikke plads
     ved siden af reCAPTCHA. Nulstil transformen s&aring; footeren tager h&oslash;jde
     og knappen falder p&aelig;nt ned UNDER reCAPTCHA. */
  :is(.pageId454, .pageId455) .m-form .panel-footer {
    height: auto !important;
    text-align: left !important;
    margin-top: 16px !important;
  }
  :is(.pageId454, .pageId455) .m-form .panel-footer .button,
  :is(.pageId454, .pageId455) .m-form .panel-footer button[type="submit"] {
    transform: none !important;
  }
}