/* ==========================================================
   Custom overrides – Dan & Teddy elev-site
   Hvidt tema. Overruler eksisterende dark-navy styles.
   Slet denne fil og fjern CSS-links for at rulle tilbage.
   ========================================================== */

/* 0. SKJUL NAVIGATION
   ========================================================== */
#menu {
    display: none !important;
}

/* 1. GLOBALE BAGGRUNDE
   ========================================================== */
body {
    background: #ffffff !important;
    color: #1a1a1a !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

#wrapper {
    background: #ffffff !important;
    background-image: none !important;
    background-color: #ffffff !important;
}

#boxcontainer {
    background: #ffffff !important;
    background-image: none !important;
}

#top-textbox,
#top-textbox-underside {
    background: #ffffff !important;
    background-image: none !important;
    color: #1a1a1a !important;
}

#venstre-underside {
    background: #ffffff !important;
    background-image: none !important;
}

#main-underside,
#content-underside {
    background: #ffffff !important;
    color: #1a1a1a !important;
}

/* 2. TEKST
   ========================================================== */
h1 {
    color: #1a1a1a !important;
    border-bottom-color: #e5e7eb !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    line-height: 1.3 !important;
}

h2 {
    color: #1a1a1a !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
}

h3 {
    color: #1a1a1a !important;
    font-weight: 500 !important;
}

h4 {
    color: #1a1a1a !important;
    font-weight: 500 !important;
}

p {
    color: #333333 !important;
    line-height: 1.6 !important;
}

li {
    color: #333333 !important;
    line-height: 1.6 !important;
}

span {
    color: inherit !important;
}

b, strong {
    color: inherit !important;
}

label {
    color: #333333 !important;
    font-weight: 500 !important;
    font-size: 0.9375rem !important;
}

h1 span {
    color: rgb(245, 130, 32) !important;
}

h2.orange {
    color: rgb(245, 130, 32) !important;
}

/* Dato-span i admin */
span.dato {
    color: #999999 !important;
}

/* 3. LINKS – Apple-blå med pil
   ========================================================== */
a {
    color: #256FCF !important;
    text-decoration: none !important;
    transition: color 0.15s ease !important;
}

a:hover {
    color: #1a5bb8 !important;
    text-decoration: none !important;
}

a:visited {
    color: #256FCF !important;
}

/* Pil foran links i lister */
li a {
    color: #256FCF !important;
}

li a::before {
    content: "\203A" !important;
    display: inline-block !important;
    margin-right: 0.4em !important;
    font-weight: 300 !important;
    font-size: 1.1em !important;
    color: #256FCF !important;
    transition: transform 0.15s ease !important;
}

li a:hover::before {
    transform: translateX(2px) !important;
    color: #1a5bb8 !important;
}

/* Ingen pil på menu-links, logo, knapper */
#menu_mobi li a::before,
#menu li a::before,
#header a::before,
#lokalmenu-mobil li a::before,
#lokalmenu-underside li a::before,
a#login_knap::before,
a#menu_knap::before,
a.knap_til_start::before,
a#ja::before,
a#nej::before {
    content: none !important;
}

.admin_menu a {
    color: #256FCF !important;
}

.admin_menu a:hover {
    color: #1a5bb8 !important;
}

/* 4. HEADER
   ========================================================== */
#header {
    background: #ffffff !important;
}

/* Logo: skift til logo-dark.svg via CSS
   Bruger relativ sti fra elev/-mappen.
   Admin-sider linker CSS som ../custom_override.css,
   så stien opløses relativt til elev/ uanset hvad. */
#header img[alt="Dan & Teddy logo"],
#header img[src*="logo"] {
    content: url("nye_billeder/logo-dark.svg") !important;
    max-height: 120px !important;
    max-width: none !important;
    width: auto !important;
    height: auto !important;
    border-radius: 10px !important;
    clip-path: inset(0 round 10px) !important;
    -webkit-clip-path: inset(0 round 10px) !important;
}

/* Fallback for alle header-billeder */
#header img {
    border-radius: 10px !important;
    clip-path: inset(0 round 10px) !important;
    -webkit-clip-path: inset(0 round 10px) !important;
    max-height: 120px !important;
}

/* Login-knap: behold orange */
#header a#login_knap {
    background-color: rgb(245, 130, 32) !important;
    color: #ffffff !important;
    border-radius: 0.5rem !important;
}

/* Hamburger-streger: mørke */
a#menu_knap span {
    background: #1a1a1a !important;
}

/* 5. MOBILMENU
   ========================================================== */
#menu_mobi {
    background: #f9fafb !important;
}

#menu_mobi ul {
    background: #f9fafb !important;
}

#menu_mobi ul li {
    background: #ffffff !important;
    background-image: none !important;
    border-color: #e5e7eb !important;
}

#menu_mobi a {
    color: #256FCF !important;
}

#menu_mobi li.active a {
    color: rgb(245, 130, 32) !important;
}

/* 6. FOOTER
   ========================================================== */
#footer {
    background: #f9fafb !important;
    border-bottom: 3px solid #e5e7eb !important;
}

#footer h2 {
    color: #1a1a1a !important;
}

#footer h2 a {
    color: #1a1a1a !important;
}

/* 7. FORMFELTER – moderne stil
   ========================================================== */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="date"],
input[type="time"],
textarea,
select {
    background: #ffffff !important;
    color: #1a1a1a !important;
    border: 1px solid #d1d5db !important;
    border-radius: 0.375rem !important;
    padding: 0.5rem 0.75rem !important;
    font-size: 1rem !important;
    font-family: inherit !important;
    height: auto !important;
    line-height: 1.5 !important;
    box-sizing: border-box !important;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
    -webkit-appearance: none !important;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
textarea:focus,
select:focus {
    border-color: #256FCF !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1) !important;
}

/* Elev_side specifikke input overrides */
.elev_side input[type="text"],
.elev_side input[type="password"],
form.elevside input[type="text"],
form.elevside input[type="password"] {
    background: #ffffff !important;
    border: 1px solid #d1d5db !important;
    color: #1a1a1a !important;
}

input:required {
    border-color: #d1d5db !important;
}

input:required:invalid {
    border-color: #ef4444 !important;
}

/* Fejl-markering */
input.fejl,
.fejl {
    border-color: #ef4444 !important;
    color: #1a1a1a !important;
}

/* Placeholder */
input::placeholder,
textarea::placeholder {
    color: #9ca3af !important;
}

/* 8. KNAPPER – moderne stil
   ========================================================== */

/* Primære knapper (submit) – behold orange */
input[type="submit"],
input.subm,
input.knap {
    background-color: rgb(245, 130, 32) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 0.5rem !important;
    padding: 0.625rem 1.5rem !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    height: auto !important;
    line-height: 1.5 !important;
    transition: background-color 0.15s ease-in-out !important;
}

input[type="submit"]:hover,
input.subm:hover,
input.knap:hover {
    background-color: rgb(220, 115, 25) !important;
    color: #ffffff !important;
}

/* Sekundære knapper (reset, button) */
input[type="reset"],
input[type="button"],
input.res {
    background-color: #f3f4f6 !important;
    color: #374151 !important;
    border: 1px solid #d1d5db !important;
    border-radius: 0.5rem !important;
    padding: 0.625rem 1.5rem !important;
    font-size: 1rem !important;
    cursor: pointer !important;
    height: auto !important;
    line-height: 1.5 !important;
    transition: background-color 0.15s ease-in-out !important;
}

input[type="reset"]:hover,
input[type="button"]:hover,
input.res:hover {
    background-color: #e5e7eb !important;
    color: #1a1a1a !important;
}

/* Link-style knapper */
a.knap_til_start {
    background-color: rgb(245, 130, 32) !important;
    color: #ffffff !important;
    border-radius: 0.5rem !important;
}

/* Admin ja/nej knapper */
.ja_knap {
    background: #ef4444 !important;
    color: #ffffff !important;
    border-radius: 0.375rem !important;
}

.nej_knap {
    background: #6b7280 !important;
    color: #ffffff !important;
    border-radius: 0.375rem !important;
}

/* 9. FIELDSET & LEGEND
   ========================================================== */
fieldset {
    border: 1px solid #e5e7eb !important;
    border-radius: 0.5rem !important;
    padding: 1.25rem !important;
}

legend {
    color: rgb(245, 130, 32) !important;
    font-weight: 600 !important;
}

/* 10. ELEVSIDE SPECIFIK
   ========================================================== */

/* Override original: ul.elevside li har height: .8rem som knuser layoutet */
ul.elevside li {
    height: auto !important;
    margin: 0 !important;
    padding: 0.5rem 0 !important;
}

ul.elevside p {
    color: #1a1a1a !important;
    padding-left: 0 !important;
    margin: 0 !important;
    line-height: 1.6 !important;
    font-size: 0.9375rem !important;
}

ul.elevside p b {
    color: #1a1a1a !important;
    width: auto !important;
    text-align: right !important;
}

ul.elevside p.booket,
ul.elevside p.booket b {
    color: #9ca3af !important;
}

ul.hold li span {
    color: #1a1a1a !important;
}

ul.hold li:first-child span {
    color: rgb(245, 130, 32) !important;
}

/* Highlight */
.highlight {
    background: #eff6ff !important;
    color: #1e40af !important;
}

/* 11. PREVIEW/BESKED BOKSE
   ========================================================== */
#preview_box {
    border-color: #e5e7eb !important;
    background: #ffffff !important;
}

#preview_box h1,
#preview_box h2 {
    color: #1a1a1a !important;
}

#preview_box h3 {
    color: rgb(245, 130, 32) !important;
}

#preview_box p {
    color: #333333 !important;
}

#preview_box h4 {
    background: rgb(245, 130, 32) !important;
    color: #ffffff !important;
}

#preview_box h4 strong {
    color: #ffffff !important;
}

#preview_box h4 em {
    color: #fff3e0 !important;
}

/* Beskeder */
#beskeder div.besked {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 0.5rem !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08) !important;
}

#beskeder h1 {
    color: #1a1a1a !important;
}

#beskeder h2 {
    color: rgb(245, 130, 32) !important;
}

#beskeder h3 {
    color: rgb(245, 130, 32) !important;
}

#beskeder p {
    color: #333333 !important;
}

#beskeder strong {
    color: #1a1a1a !important;
}

/* 12. BEKRÆFT BOKS
   ========================================================== */
div.bekraeft_box {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1) !important;
    color: #1a1a1a !important;
    border-radius: 0.5rem !important;
}

/* 13. HOLD FORM BOX (admin)
   ========================================================== */
#hold_form_box {
    background: #f9fafb !important;
    border-radius: 0.5rem !important;
}

/* 14. EKSEMPEL SEKTION
   ========================================================== */
#eksempel p {
    color: #555555 !important;
}

/* 15. LOKALMENU
   ========================================================== */
#lokalmenu-mobil a {
    color: #256FCF !important;
}

#lokalmenu-mobil a.active {
    color: rgb(245, 130, 32) !important;
}

#lokalmenu-underside a {
    color: #256FCF !important;
}

#lokalmenu-underside a:hover,
#lokalmenu-underside a.active {
    color: rgb(245, 130, 32) !important;
}

/* 16. INFOBLOK (fejlmeddelelser)
   ========================================================== */
#infoblok {
    background: #fef2f2 !important;
    color: #991b1b !important;
    border: 1px solid #fecaca !important;
    border-radius: 0.375rem !important;
    padding: 0.75rem 1rem !important;
}

/* 17. TEXTBLOK / LINK (login-ok besked)
   ========================================================== */
#textblok {
    color: #1a1a1a !important;
}

#link {
    color: #1a1a1a !important;
}

#link a {
    color: #256FCF !important;
}

/* 18. RADIO/CHECKBOX
   ========================================================== */
input[type="radio"]:checked {
    accent-color: rgb(245, 130, 32) !important;
}

input[type="checkbox"]:checked {
    accent-color: rgb(245, 130, 32) !important;
}

/* 19. TABELLER (admin holdlister)
   ========================================================== */
table {
    color: #1a1a1a !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    width: 100% !important;
    font-size: 0.9375rem !important;
}

table.holdliste {
    border: 1px solid #e5e7eb !important;
    border-radius: 0.5rem !important;
    overflow: hidden !important;
}

/* Header: diskret mørkegrå i stedet for orange */
th,
table tr:first-child td,
table tr:first-child {
    background: #f8f9fa !important;
    color: #374151 !important;
    font-weight: 600 !important;
    font-size: 0.8125rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    padding: 0.625rem 0.75rem !important;
    border-bottom: 2px solid #e5e7eb !important;
}

table td {
    color: #333333 !important;
    padding: 0.75rem !important;
    border-bottom: 1px solid #f3f4f6 !important;
    vertical-align: middle !important;
}

/* Zebra-striping */
table tr:nth-child(even) {
    background: #f9fafb !important;
}

table tr:nth-child(odd) {
    background: #ffffff !important;
}

/* Første rækken (header) skal ikke zebra-stripes */
table tr:first-child {
    background: #f8f9fa !important;
}

/* Hover-effekt på rækker */
table tr:hover:not(:first-child) {
    background: #eff6ff !important;
}

/* Venteliste: dæmpet */
tr.venteliste td,
.venteliste {
    color: #9ca3af !important;
}

/* Hold-separator */
table.holdliste td.streg {
    border-bottom-color: #e5e7eb !important;
}

table.holdliste tr th[colspan="4"] {
    border-bottom-color: #e5e7eb !important;
    background: #f8f9fa !important;
}

/* Radio-knapper i tabeller */
table td input[type="radio"] {
    width: 1.125rem !important;
    height: 1.125rem !important;
    cursor: pointer !important;
}

table th {
    color: #374151 !important;
}

/* Notat-input i tabeller */
table.holdliste form.notat input[type='text'] {
    font-size: 0.875rem !important;
    border: 1px solid #d1d5db !important;
    border-radius: 0.25rem !important;
    padding: 0.25rem 0.5rem !important;
}

/* 20. MEDIA QUERIES
   ========================================================== */
@media only screen and (max-width: 480px) {
    #wrapper {
        background: #ffffff !important;
        background-image: none !important;
    }
}

@media only screen and (min-width: 481px) and (max-width: 800px) {
    #wrapper {
        background: #ffffff !important;
        background-image: none !important;
    }
}

@media only screen and (min-width: 801px) {
    #wrapper {
        background: #ffffff !important;
        background-image: none !important;
    }
}

/* 21. DIVERSE OVERRIDES
   ========================================================== */

/* Box-elementer (forside) */
.box {
    background-color: #f9fafb !important;
    color: #1a1a1a !important;
    border-bottom-color: rgb(245, 130, 32) !important;
    border-radius: 0.5rem !important;
}

.box h2 {
    color: #1a1a1a !important;
}

.box p {
    color: #555555 !important;
}

/* Overskrifter med .orange klasse */
.orange {
    color: rgb(245, 130, 32) !important;
}

/* Admin menu baggrund */
.admin_menu {
    color: #333333 !important;
}

/* Select styling */
select {
    background-image: none !important;
}

/* ==========================================================
   22. ADMIN MODERNISERING
   ========================================================== */

/* --- Admin generelt: spacing og layout --- */
body#admin,
body#admin_venteliste,
body#vis_lister,
body#bekraeft_tilm,
body[id*="send"] {
    padding: 1.5rem 2rem !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

/* --- Administration.php: lister som cards --- */

/* Alle ul'er på admin-sider */
body ul {
    padding-left: 0 !important;
    list-style: none !important;
}

body ul li {
    list-style: none !important;
}

/* Separator-streger (-------) gør diskrete */
body li {
    list-style: none !important;
}

/* --- Venteliste modernisering --- */
div.tilmeld_info {
    background: #f9fafb !important;
    padding: 0.75rem 1rem !important;
    border-radius: 0.375rem !important;
    border: 1px solid #e5e7eb !important;
    margin-bottom: 0.25rem !important;
}

div.ikoner {
    padding: 0.5rem 0 !important;
}

div.ikoner a {
    opacity: 0.7 !important;
    transition: opacity 0.15s ease !important;
}

div.ikoner a:hover {
    opacity: 1 !important;
}

/* Orange listeelementer (kursusnavne) */
li.orange {
    border-bottom: none !important;
    margin-top: 1.5rem !important;
    margin-bottom: 0.5rem !important;
}

li.orange h3 {
    color: #1a1a1a !important;
    font-size: 1.125rem !important;
    font-weight: 600 !important;
    padding-bottom: 0.5rem !important;
    border-bottom: 2px solid #e5e7eb !important;
}

/* Venteliste li borders */
body#admin_venteliste li {
    border-bottom-color: #f3f4f6 !important;
}

/* --- Notat-formularer --- */
form.notat {
    margin: 0.5rem 0 !important;
}

form.notat input[type='text'] {
    background: #ffffff !important;
    border: 1px solid #d1d5db !important;
    border-radius: 0.375rem !important;
    padding: 0.375rem 0.75rem !important;
    font-size: 0.875rem !important;
}

form.notat input[type='submit'],
form.notat input[type='button'] {
    font-size: 0.8125rem !important;
    padding: 0.375rem 1rem !important;
    border-radius: 0.375rem !important;
}

/* --- Hold-oprettelse & redigering --- */
div#opret_koerekorthold,
div#rediger_hold {
    background: #f9fafb !important;
    padding: 1.5rem !important;
    border-radius: 0.5rem !important;
    border: 1px solid #e5e7eb !important;
}

div.holdnavn h2 {
    color: rgb(245, 130, 32) !important;
    font-weight: 600 !important;
}

div.dato_gruppe {
    margin-bottom: 1rem !important;
}

/* Form labels i hold-edit */
#opret_hold label,
#rediger_hold label {
    color: #6b7280 !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
    margin-bottom: 0.25rem !important;
}

/* Select dropdowns side by side */
select + select {
    margin-left: 0.375rem !important;
}

/* Dato-selects */
select {
    padding: 0.375rem 0.5rem !important;
    border: 1px solid #d1d5db !important;
    border-radius: 0.375rem !important;
    background: #ffffff !important;
    font-size: 0.875rem !important;
    cursor: pointer !important;
    color: #1a1a1a !important;
}

/* --- Popup/modal bokse (tilføj tider etc.) --- */
#opret_teori_tider,
#opret_glatbanetider,
#opret_manoevretider,
#opret_glatbane_tider,
#opret_manoevre_tider {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 0.5rem !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1) !important;
    padding: 1.25rem !important;
}

/* --- Add-knapper (+ ikoner) --- */
p.Add_butt,
p.add_butt,
p.add_butt_teori {
    border-bottom-color: #e5e7eb !important;
    padding: 0.75rem 0 !important;
    transition: background 0.15s ease !important;
}

p.Add_butt:hover,
p.add_butt:hover,
p.add_butt_teori:hover {
    background: #f9fafb !important;
    border-radius: 0.375rem !important;
}

/* --- Rapport-boks --- */
div.rapport {
    background-color: #256FCF !important;
    color: #ffffff !important;
    border-radius: 0.5rem !important;
    padding: 1rem 1.25rem !important;
    font-size: 0.9375rem !important;
}

/* --- Retur-box (navigation links) --- */
#returbox {
    margin-top: 1.5rem !important;
    padding-top: 1rem !important;
    border-top: 1px solid #e5e7eb !important;
}

#returbox h3 {
    color: #256FCF !important;
    border-top: none !important;
    font-weight: 500 !important;
}

/* --- Fieldsets i admin-forms --- */
body#admin fieldset {
    margin-bottom: 1.5rem !important;
    background: #f9fafb !important;
    padding: 1.25rem !important;
}

body#admin legend {
    background: #ffffff !important;
    padding: 0.25rem 0.75rem !important;
    border-radius: 0.25rem !important;
    border: 1px solid #e5e7eb !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
    color: #374151 !important;
}

/* --- Radio/checkbox i admin lister --- */
#admin input[type='radio'],
#admin input[type='checkbox'] {
    accent-color: #256FCF !important;
    width: 1.125rem !important;
    height: 1.125rem !important;
    margin-top: 0.875rem !important;
    cursor: pointer !important;
}

/* --- Hold-lister med spans --- */
#admin ul.hold li span,
ul.hold li span {
    color: #1a1a1a !important;
    font-size: 0.9375rem !important;
}

ul.hold li:first-child span,
#admin ul.hold li:first-child span {
    color: #256FCF !important;
    font-weight: 600 !important;
}

/* --- Luk-knap i popups --- */
a#luk_knap {
    opacity: 0.5 !important;
    transition: opacity 0.15s ease !important;
}

a#luk_knap:hover {
    opacity: 1 !important;
}

/* --- Knapper side by side --- */
input[type="submit"] + input[type="submit"],
input[type="submit"] + input[type="button"],
input[type="submit"] + input[type="reset"],
input.subm + input.res {
    margin-left: 0.5rem !important;
}

/* Alle submit/reset: inline-block for side-by-side */
input[type="submit"],
input[type="reset"],
input[type="button"],
input.subm,
input.res,
input.knap {
    display: inline-block !important;
    float: none !important;
    vertical-align: middle !important;
}

/* --- Fade animation for venteliste --- */
@keyframes fade_ud {
    from { opacity: 1; }
    to { opacity: 0; height: 0; padding: 0; margin: 0; overflow: hidden; }
}

.fade_ud_anim {
    animation: fade_ud 0.5s ease forwards !important;
}

/* --- Images/style.css overrides --- */
body#vis_lister label {
    width: auto !important;
    margin-right: 0.5rem !important;
}

/* --- Bekræftelse/annuller sider --- */
body#bekraeft_tilm {
    line-height: 1.6 !important;
}

body#bekraeft_tilm h1 {
    margin-bottom: 0.5rem !important;
}

body#bekraeft_tilm h2 {
    color: #256FCF !important;
    font-weight: 500 !important;
    margin-bottom: 1rem !important;
}

/* --- Header på admin-sider: mere luft --- */
#header {
    margin-bottom: 1.5rem !important;
    padding-bottom: 1rem !important;
    border-bottom: 1px solid #f3f4f6 !important;
}

#header img {
    max-height: 80px !important;
}

/* --- Nulstil/slet sektioner --- */
div.nulstil {
    background: #fef2f2 !important;
    border: 1px solid #fecaca !important;
    border-radius: 0.5rem !important;
    padding: 1rem !important;
    margin-top: 1rem !important;
}

/* --- Generel li spacing på admin-sider --- */
body#admin li,
body#admin_venteliste li {
    padding: 0.375rem 0 !important;
}

/* Li med border-bottom */
body li {
    border-bottom-color: #f3f4f6 !important;
}

/* ==========================================================
   25. ELEVSIDE (admin/elev_side.php) – Apple-look
   ========================================================== */

/* Wrapper: centreret, max-width */
body.elevside #wrapper {
    max-width: 720px !important;
    margin: 0 auto !important;
    padding: 2rem 1.5rem !important;
}

/* Velkomst-overskrift */
body.elevside h1 {
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    border: none !important;
    margin-bottom: 0.25rem !important;
}

/* Intro-tekst */
body.elevside #wrapper > p {
    color: #6b7280 !important;
    font-size: 0.9375rem !important;
    margin-bottom: 2rem !important;
}

/* --- Fieldsets som cards --- */
body.elevside fieldset {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 0.75rem !important;
    padding: 1.5rem 1.75rem !important;
    margin-bottom: 1.75rem !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

/* Legend som diskret label */
body.elevside fieldset legend {
    color: #1a1a1a !important;
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 0.25rem 0.75rem !important;
    background: #f9fafb !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 2rem !important;
}

/* --- H3 inde i cards: ikke orange --- */
body.elevside fieldset h3 {
    color: #1a1a1a !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    margin: 0.5rem 0 !important;
}

/* --- Teoritimer og bookinger: bedre læsbarhed --- */
body.elevside ul.elevside {
    padding: 0 !important;
    margin: 0.75rem 0 !important;
    list-style: none !important;
}

body.elevside ul.elevside li {
    padding: 0.75rem 0 !important;
    border-bottom: 1px solid #e0e0e0 !important;
    list-style: none !important;
    position: relative !important;
}

body.elevside ul.elevside li:last-child {
    border-bottom: none !important;
}

/* Datooverskrift-rækker (h3 inde i li) */
body.elevside ul.elevside li h3 {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    line-height: 1.8 !important;
}

/* Li med h3: mere luft ovenover, stregen sidder under h3 */
body.elevside ul.elevside li:has(h3) {
    padding-top: 1.25rem !important;
    padding-bottom: 0.5rem !important;
    border-bottom: 1px solid #ccc !important;
    margin-bottom: 0 !important;
}

/* Første datooverskrift: mindre top */
body.elevside ul.elevside li:first-child:has(h3) {
    padding-top: 0.5rem !important;
}

/* Tids-rækker (li med p): luft så tekst ikke rører stregen */
body.elevside ul.elevside li p {
    color: #1a1a1a !important;
    font-size: 0.9375rem !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0.25rem 0 !important;
    line-height: 1.6 !important;
}

/* Dato/tid-spans: mørk og læsbar */
body.elevside ul.elevside li p {
    color: #1a1a1a !important;
    font-size: 0.9375rem !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 4px 0 !important;
    line-height: 1.5 !important;
}

body.elevside ul.elevside li p span {
    color: #1a1a1a !important;
    font-size: 0.9375rem !important;
}

/* "kl." bold-tekst */
body.elevside ul.elevside li p b {
    color: #1a1a1a !important;
    font-weight: 600 !important;
}

/* Booket-slots: dæmpet */
body.elevside ul.elevside li p.booket,
body.elevside ul.elevside li p.booket span,
body.elevside ul.elevside li p.booket b {
    color: #c4c4c4 !important;
    font-weight: 400 !important;
}

/* Afholdte lektioner: IKKE udtonet – de er vigtige */
body.elevside li.afholdt,
li.afholdt {
    opacity: 1 !important;
}

/* Teorihold og manøvrehold lister */
ul.teorihold,
ul.teorihold li,
ul.teorihold li span,
ul.teorihold li b,
ul.teorihold li em,
ul.manoevrehold,
ul.manoevrehold li,
ul.manoevrehold li span,
ul.manoevrehold li b {
    color: #1a1a1a !important;
    opacity: 1 !important;
}

ul.teorihold li:first-child span,
ul.manoevrehold li:first-child span {
    font-weight: 600 !important;
}

em.booket {
    color: #9ca3af !important;
}

/* Manøvrebane + førstehjælp vælg-lister */
body.elevside fieldset table {
    width: 100% !important;
    border-collapse: collapse !important;
}

body.elevside fieldset table tr {
    border-bottom: 1px solid #e5e5e5 !important;
}

body.elevside fieldset table tr:last-child {
    border-bottom: none !important;
}

body.elevside fieldset table td {
    padding: 10px 4px !important;
    vertical-align: middle !important;
    color: #1a1a1a !important;
    font-size: 0.9375rem !important;
}

/* Dato-overskrifter i manøvrebane */
body.elevside fieldset h3 + p,
body.elevside fieldset p.dato {
    font-weight: 600 !important;
    margin-top: 16px !important;
    margin-bottom: 4px !important;
}

/* Radio buttons lidt større */
body.elevside input[type="radio"] {
    width: 18px !important;
    height: 18px !important;
    accent-color: #f58220 !important;
    margin-left: 8px !important;
    vertical-align: middle !important;
    cursor: pointer !important;
}

/* Separator-linjer mørkere */
body.elevside fieldset hr,
body.elevside hr {
    border: none !important;
    border-top: 1px solid #ddd !important;
    margin: 12px 0 !important;
}

/* Start-info i fieldset */
body.elevside fieldset > p {
    color: #374151 !important;
    font-size: 0.9375rem !important;
    line-height: 1.6 !important;
}

body.elevside fieldset > p b,
body.elevside fieldset > p strong {
    color: #1a1a1a !important;
}

/* --- Tilmeld-knapper --- */
body.elevside input[type="submit"] {
    background: rgb(245, 130, 32) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 0.5rem !important;
    padding: 0.625rem 2rem !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    margin-top: 1rem !important;
}

body.elevside input[type="submit"]:hover {
    background: rgb(220, 115, 25) !important;
}

/* --- Radio-knapper --- */
body.elevside input[type="radio"] {
    accent-color: rgb(245, 130, 32) !important;
    width: 1.125rem !important;
    height: 1.125rem !important;
    cursor: pointer !important;
    margin-left: 0.5rem !important;
}

/* --- Bekræft-boks (popup) --- */
body.elevside div.bekraeft_box {
    background: #ffffff !important;
    color: #1a1a1a !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 16px !important;
    box-shadow: 0 12px 48px rgba(0, 0, 0, 0.12) !important;
    padding: 28px 32px !important;
    font-size: 0.95rem !important;
    line-height: 1.7 !important;
    max-width: 400px !important;
    margin: 16px 0 !important;
}

body.elevside div.bekraeft_box .knapper {
    display: flex !important;
    gap: 10px !important;
    margin-top: 20px !important;
}

body.elevside a#ja,
body.elevside a#nej {
    display: inline-block !important;
    padding: 10px 28px !important;
    border-radius: 10px !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    text-align: center !important;
    transition: all .2s !important;
    cursor: pointer !important;
}

body.elevside a#ja {
    background: #f58220 !important;
    color: #ffffff !important;
}

body.elevside a#ja:hover {
    background: #e0741a !important;
}

body.elevside a#nej {
    background: #f0f0f0 !important;
    color: #333 !important;
}

body.elevside a#nej:hover {
    background: #e0e0e0 !important;
}

/* --- Log ud-knap --- */
body.elevside #header a#login_knap {
    background: #f3f4f6 !important;
    color: #374151 !important;
    border: 1px solid #d1d5db !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
}

body.elevside #header a#login_knap:hover {
    background: #e5e7eb !important;
    color: #1a1a1a !important;
}

/* --- Nyttig info-sektion --- */
body.elevside h2 {
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    margin-top: 2rem !important;
    padding-top: 1.5rem !important;
    border-top: 1px solid #e5e7eb !important;
}

/* --- Header: diskret separator --- */
body.elevside #header {
    border-bottom: 1px solid #f3f4f6 !important;
    padding-bottom: 1rem !important;
    margin-bottom: 1.5rem !important;
}

/* --- Links inde i fieldsets: normal blå link-stil --- */
body.elevside fieldset a,
body.elevside fieldset a:visited,
body.elevside fieldset a:link {
    color: #256FCF !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    font-weight: 500 !important;
    font-size: inherit !important;
    display: inline !important;
    border-radius: 0 !important;
}

body.elevside fieldset a:hover {
    color: #1a5bb8 !important;
    text-decoration: underline !important;
    background: transparent !important;
}

/* "Gå til siden her" og lignende links: let vægt */
body.elevside a,
body.elevside p a,
body.elevside div a:not(#ja):not(#nej):not(#login_knap) {
    font-weight: 300 !important;
}

/* Links efter indholdet (gå til side etc.) */
body.elevside #wrapper > p a,
body.elevside #wrapper > div a:not(#login_knap):not(#ja):not(#nej) {
    color: #256FCF !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

/* Teoritider: IKKE lysegrå – mørk og læsbar */
body.elevside fieldset p,
body.elevside fieldset li,
body.elevside fieldset span,
body.elevside fieldset div,
body.elevside fieldset h3,
body.elevside fieldset b,
body.elevside fieldset strong,
#underside ul,
#underside ul li,
#underside ul li p,
#underside ul li p span,
#underside ul li p b,
#underside h3,
body.elevside form,
body.elevside form h3,
body.elevside form p,
body.elevside form li,
body.elevside form span {
    color: #1a1a1a !important;
}

/* ==========================================================
   23. ADMINISTRATION DASHBOARD
   ========================================================== */

/* Sektions-overskrifter som kategori-labels */
body > h1 {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #9ca3af !important;
    border-bottom: none !important;
    margin: 2rem 0 0.5rem !important;
    padding: 0 !important;
}

/* Første h1 skal ikke have top-margin */
#header + h1 {
    margin-top: 0.5rem !important;
}

/* Links-lister som card-grid */
body > ul {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    padding: 0 !important;
    margin: 0 0 1rem !important;
}

body > ul > li {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border-bottom: none !important;
}

/* Links som kompakte knapper/chips */
body > ul > li > a {
    display: inline-block !important;
    padding: 0.5rem 1rem !important;
    background: #f3f4f6 !important;
    color: #1a1a1a !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 0.5rem !important;
    font-size: 0.9375rem !important;
    font-weight: 500 !important;
    transition: all 0.15s ease !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
}

/* Besøgte links: stadig sort – alle niveauer */
body > ul > li > a:visited,
body > ul > li > a:link,
body > ul > li > a:active,
.admin_menu > li > a:visited,
.admin_menu > li > a:link,
.admin_menu > li > a:active {
    color: #1a1a1a !important;
    background: #f3f4f6 !important;
}

body > ul > li > a::before {
    content: none !important;
}

body > ul > li > a:hover,
body > ul > li > a:hover:visited,
body > ul > li > a:hover:link,
body > ul > li > a:hover:active,
.admin_menu > li > a:hover,
.admin_menu > li > a:hover:visited {
    background: #256FCF !important;
    color: #ffffff !important;
    border-color: #256FCF !important;
    text-decoration: none !important;
}

/* Subliste-links på hover: også hvid tekst */
body > ul > li > ul > li > a:hover,
body > ul > li > ul > li > a:hover:visited,
body > ul > li > ul > li > a:hover:link {
    color: #ffffff !important;
    background: #256FCF !important;
    border-color: #256FCF !important;
}

/* Skjul separator-streger (-------) - KUN sider UDEN body-id (administration.php) */
body:not([id]) > ul > li:not(:has(a)) {
    display: none !important;
}

/* Fallback: skjul li'er der kun indeholder streger - KUN sider UDEN body-id */
body:not([id]) > ul > li {
    font-size: 0 !important;
    line-height: 0 !important;
    min-height: 0 !important;
}

body > ul > li > a {
    font-size: 0.875rem !important;
}

/* Sublister (under admin_menu) */
body > ul > li > ul {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.375rem !important;
    padding: 0.375rem 0 0 0 !important;
    margin: 0 !important;
}

body > ul > li > ul > li {
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

body > ul > li > ul > li > a {
    display: inline-block !important;
    padding: 0.375rem 0.75rem !important;
    background: #ffffff !important;
    color: #6b7280 !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 0.375rem !important;
    font-size: 0.8125rem !important;
    font-weight: 400 !important;
    transition: all 0.15s ease !important;
}

body > ul > li > ul > li > a::before {
    content: none !important;
}

body > ul > li > ul > li > a:hover {
    background: #f9fafb !important;
    color: #256FCF !important;
    border-color: #256FCF !important;
}

/* Skjul "Administration sideindhold:" sektionen (6. h1 + tilhørende ul) */
body > h1:nth-of-type(6),
body > h1:nth-of-type(6) + ul {
    display: none !important;
}

/* ==========================================================
   24. VÆLG HOLD-SIDE (vaelg_edit_koerekorthold.php etc.)
   ========================================================== */

/* Hold-liste som pænt grid */
body#vis_koerekort_holdlister ul {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
    gap: 0.75rem !important;
    padding: 0 !important;
    margin: 1rem 0 !important;
    list-style: none !important;
}

body#vis_koerekort_holdlister li.orange {
    background: #f9fafb !important;
    border: 1px solid #e5e7eb !important;
    border-bottom: 1px solid #e5e7eb !important;
    border-radius: 0.5rem !important;
    padding: 0.875rem 1rem !important;
    margin: 0 !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
    overflow: visible !important;
    min-height: 40px !important;
    list-style: none !important;
}

body#vis_koerekort_holdlister li.orange:hover {
    border: 1px solid #b0b8c4 !important;
    border-bottom: 1px solid #b0b8c4 !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06) !important;
    background: #f9fafb !important;
}

body#vis_koerekort_holdlister li.orange a {
    color: #1a1a1a !important;
    font-weight: 500 !important;
    font-size: 0.9375rem !important;
    text-decoration: none !important;
    display: block !important;
}

body#vis_koerekort_holdlister li.orange a:visited {
    color: #1a1a1a !important;
}

body#vis_koerekort_holdlister li.orange a::before {
    content: none !important;
}

/* Hold-card links: ingen blå baggrund ved hover */
body#vis_koerekort_holdlister li.orange a,
body#vis_koerekort_holdlister li.orange a:link,
body#vis_koerekort_holdlister li.orange a:visited,
body#vis_koerekort_holdlister li.orange a:hover,
body#vis_koerekort_holdlister li.orange a:hover:visited,
body#vis_koerekort_holdlister li.orange a:hover:link {
    background: transparent !important;
    color: #1a1a1a !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Fjern alle streger inde i hold-cards */
body#vis_koerekort_holdlister li.orange a,
body#vis_koerekort_holdlister li.orange a:link,
body#vis_koerekort_holdlister li.orange a:visited {
    border: none !important;
    border-bottom: none !important;
    text-decoration: none !important;
    outline: none !important;
    box-shadow: none !important;
}

body#vis_koerekort_holdlister li.orange * {
    border-bottom: none !important;
    text-decoration: none !important;
}

/* Førstehjælp + kørekort hold: h3 og dato synlig */
body#vis_koerekort_holdlister li.orange h3 {
    color: #f58220 !important;
    font-size: 0.95rem !important;
    position: static !important;
    top: auto !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    visibility: visible !important;
}
body#vis_koerekort_holdlister li.orange h3 span.hold-dato {
    display: block !important;
    color: #555 !important;
    font-weight: 400 !important;
    font-size: 0.85rem !important;
    margin-top: 4px !important;
}

/* Edit-boks for førstehjælpshold: vis som overlay over grid */
body#vis_koerekort_holdlister #rediger_foerstehjaelp {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 1000 !important;
    min-width: 400px !important;
    max-width: 500px !important;
    background: #fff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 0.75rem !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15) !important;
    padding: 1.5rem 1.5rem 3.5rem !important;
    overflow: visible !important;
}

body#vis_koerekort_holdlister #rediger_foerstehjaelp input[value='rediger'],
body#vis_koerekort_holdlister #rediger_foerstehjaelp button[value='rediger'] {
    position: absolute !important;
    bottom: 1rem !important;
    right: 8rem !important;
    top: auto !important;
}

body#vis_koerekort_holdlister #rediger_foerstehjaelp input[value='slet'] {
    position: absolute !important;
    bottom: 1rem !important;
    right: 1.5rem !important;
    top: auto !important;
}

/* Status-tekst (ikke_aktiv etc.) */
body#vis_koerekort_holdlister li.orange b {
    color: #9ca3af !important;
    font-weight: 400 !important;
    font-size: 0.8125rem !important;
    display: block !important;
    margin-top: 1rem !important;
    padding-top: 0 !important;
    border: none !important;
    text-align: center !important;
}

/* H2 "Vælg hold:" styling */
body#vis_koerekort_holdlister h2 {
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    margin-bottom: 0 !important;
}

/* ==========================================================
   BESKEDER FRA WEBSITE – admin_beskeder.php
   ========================================================== */

/* Infoblok header */
body#beskeder #infoblok {
    background: transparent !important;
    border: none !important;
    padding: 0 20px !important;
    margin-bottom: 10px !important;
}

body#beskeder #infoblok h1 {
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    letter-spacing: 0.02em !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
}

body#beskeder #infoblok h1 br {
    display: none !important;
}

body#beskeder #infoblok h1 a {
    font-size: 1.1rem !important;
    font-weight: 400 !important;
    color: #256FCF !important;
    text-decoration: none !important;
}

body#beskeder #infoblok h1 a:hover {
    text-decoration: underline !important;
}

/* Individuelle besked-kort */
body#beskeder .besked {
    background: #ffffff !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 12px !important;
    padding: 28px 32px !important;
    margin: 0 20px 20px 20px !important;
    box-shadow: 0 1px 4px rgba(0,0,0,.04) !important;
    transition: box-shadow .2s ease !important;
}

body#beskeder .besked:hover {
    box-shadow: 0 2px 12px rgba(0,0,0,.08) !important;
}

/* Dato-header i besked */
body#beskeder .besked h2 {
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: #f58220 !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #f0f0f0 !important;
}

body#beskeder .besked h2 span {
    color: #f58220 !important;
}

/* Skjul "Forespørgsel fra websitet" og "på hold:" overskrifter */
body#beskeder .besked h1 {
    display: none !important;
}

body#beskeder .besked h2:not(:first-child) {
    display: none !important;
}

body#beskeder .besked h3 {
    display: none !important;
}

/* Hold-navn label i besked */
body#beskeder .besked .hold-label {
    color: #1a1a1a !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    margin-bottom: 12px !important;
    padding: 8px 14px !important;
    background: #f5f5f7 !important;
    border-radius: 6px !important;
    border-left: 3px solid #f58220 !important;
    display: inline-block !important;
}

/* Gamle beskeder med div (uden class) */
body#beskeder .besked > div:not(.hold-label) {
    color: #1a1a1a !important;
    font-weight: 500 !important;
    font-size: 0.95rem !important;
    margin-bottom: 8px !important;
}

body#beskeder .besked p {
    font-size: 0.9rem !important;
    line-height: 1.7 !important;
    color: #333 !important;
    margin: 0 !important;
}

body#beskeder .besked p strong {
    color: #1a1a1a !important;
    font-weight: 600 !important;
}

/* Behold linjeskift i besked-tekst */

body#beskeder .besked p a {
    display: inline !important;
    color: #555 !important;
    text-decoration: none !important;
    transition: color .2s !important;
    margin-right: 16px !important;
}

body#beskeder .besked p a:hover {
    color: #256FCF !important;
}

/* Telefon og email på samme linje */
body#beskeder .besked p a[href^="tel:"],
body#beskeder .besked p a[href^="mailto:"] {
    display: inline-block !important;
    background: #f5f5f7 !important;
    padding: 6px 14px !important;
    border-radius: 6px !important;
    font-size: 0.85rem !important;
    color: #333 !important;
    margin-top: 12px !important;
    margin-right: 8px !important;
}

/* Send følgebrev knap */
body#beskeder .besked p a[href*="foelgebrev"] {
    display: inline-block !important;
    background: #f58220 !important;
    color: #ffffff !important;
    padding: 10px 24px !important;
    border-radius: 8px !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: background .2s !important;
    margin-top: 16px !important;
    margin-right: 0 !important;
}

body#beskeder .besked p a[href*="foelgebrev"]:hover {
    background: #e0741a !important;
    color: #ffffff !important;
}

body#beskeder .besked p a[href*="foelgebrev"] strong {
    color: #ffffff !important;
}

/* Slet besked link */
body#beskeder .besked p a[href*="side="] {
    display: inline-block !important;
    color: #c00 !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    background: #fff0f0 !important;
    border: 1px solid #fdd !important;
    padding: 7px 18px !important;
    border-radius: 6px !important;
    margin-top: 16px !important;
    opacity: 1 !important;
    transition: all .2s !important;
}

body#beskeder .besked p a[href*="side="]:hover {
    background: #fdd !important;
    border-color: #f99 !important;
    color: #900 !important;
}

/* Slet-bekræftelses-side */
body#beskeder .ja_knap,
body#beskeder .nej_knap {
    display: inline-block !important;
    padding: 10px 28px !important;
    border-radius: 8px !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    margin-right: 10px !important;
    transition: all .2s !important;
}

body#beskeder .ja_knap {
    background: #dc3545 !important;
    color: #fff !important;
}

body#beskeder .ja_knap:hover {
    background: #b02a37 !important;
}

body#beskeder .nej_knap {
    background: #e8e8e8 !important;
    color: #333 !important;
}

body#beskeder .nej_knap:hover {
    background: #d0d0d0 !important;
}

/* ==========================================================
   TILMELDINGS-SIDE – tilmeld.php (body#underside)
   ========================================================== */

/* Overskriv mørk baggrund */
body#underside {
    background: #ffffff !important;
    color: #1a1a1a !important;
}

body#underside #wrapper {
    background: #ffffff !important;
}

body#underside #header {
    background: #ffffff !important;
    border-bottom: 1px solid #eee !important;
    padding: 20px !important;
}

body#underside #header img {
    max-height: 80px !important;
    border-radius: 10px !important;
}

/* Skjul den gamle menu + menu_knap */
body#underside #menu,
body#underside #menu_mobi,
body#underside #menu_knap {
    display: none !important;
}

/* Boxcontainer */
body#underside #boxcontainer {
    background: #ffffff !important;
    color: #1a1a1a !important;
    max-width: 700px !important;
    margin: 0 auto !important;
    padding: 40px 20px !important;
}

/* Skjul venstre sidebar + lokalmenu */
body#underside #venstre-underside,
body#underside #lokalmenu-mobil,
body#underside #lokalmenu-underside,
body#underside #top-textbox-underside {
    display: none !important;
}

/* Main content fuld bredde */
body#underside #main-underside {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body#underside #content-underside {
    color: #1a1a1a !important;
    background: #ffffff !important;
    padding: 0 !important;
}

/* Overskrifter */
body#underside h1 {
    font-size: 1.6rem !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    margin-bottom: 8px !important;
}

body#underside h2 {
    font-size: 1.2rem !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    margin-top: 24px !important;
    margin-bottom: 12px !important;
}

body#underside h2.mellemrubrik {
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    margin-top: 32px !important;
}

body#underside h3 {
    font-size: 1rem !important;
    font-weight: 500 !important;
    color: #555 !important;
}

body#underside p {
    color: #333 !important;
    line-height: 1.7 !important;
    font-size: 0.95rem !important;
}

/* Fieldset / formular */
body#underside fieldset {
    border: 1px solid #e0e0e0 !important;
    border-radius: 12px !important;
    padding: 24px !important;
    margin: 16px 0 !important;
    background: #fafafa !important;
}

body#underside fieldset legend {
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: #888 !important;
    padding: 0 8px !important;
}

body#underside label {
    display: block !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    color: #555 !important;
    margin-top: 12px !important;
    margin-bottom: 4px !important;
}

body#underside input[type="text"],
body#underside input[type="email"],
body#underside input[type="tel"],
body#underside textarea {
    width: 100% !important;
    padding: 12px 14px !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    font-size: 0.95rem !important;
    color: #1a1a1a !important;
    background: #ffffff !important;
    transition: border-color .2s !important;
    box-sizing: border-box !important;
}

body#underside input[type="text"]:focus,
body#underside input[type="email"]:focus,
body#underside input[type="tel"]:focus {
    border-color: #256FCF !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(37,111,207,0.1) !important;
}

body#underside input.fejl {
    border-color: #dc3545 !important;
    background: #fff5f5 !important;
}

/* Checkbox */
body#underside input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
    margin-right: 8px !important;
    vertical-align: middle !important;
    accent-color: #f58220 !important;
}

/* Accept-tekst */
body#underside #accept_box {
    color: #555 !important;
    font-size: 0.9rem !important;
    line-height: 1.6 !important;
}

body#underside #accept_box b,
body#underside #accept_box strong {
    color: #1a1a1a !important;
}

/* Submit knap */
body#underside input[type="submit"],
body#underside .subm {
    display: inline-block !important;
    background: #f58220 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 14px 40px !important;
    border-radius: 10px !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background .2s !important;
    margin-top: 20px !important;
}

body#underside input[type="submit"]:hover,
body#underside .subm:hover {
    background: #e0741a !important;
}

/* Reset knap */
body#underside .res {
    display: none !important;
}

/* Footer */
body#underside #footer {
    background: #ffffff !important;
    border-top: 1px solid #eee !important;
    text-align: center !important;
    padding: 20px !important;
    margin-top: 40px !important;
}

body#underside #footer h2 {
    font-size: 0.9rem !important;
    font-weight: 400 !important;
    color: #888 !important;
}

body#underside #footer a {
    color: #256FCF !important;
    text-decoration: none !important;
}

/* Skjul billede i sidebar */
body#underside .grafik3 {
    display: none !important;
}

/* ==========================================================
   VENTELISTE – admin_venteliste.php
   ========================================================== */

body#admin_venteliste b[style*="color:white"],
body#admin_venteliste b[style*="color: white"] {
    color: #1a1a1a !important;
}

/* Global override: inline color:white skal være synlig mod hvid baggrund */
span[style*="color:white"],
span[style*="color: white"],
span[style*="color:white "],
b[style*="color:white"],
b[style*="color: white"],
li.orange h3 span,
li.orange span,
.orange span {
    color: #333 !important;
}

li.orange h3 {
    color: #f58220 !important;
}

body#admin_venteliste ul {
    list-style: none !important;
    padding: 0 20px !important;
    margin: 0 !important;
}

body#admin_venteliste li {
    border-bottom: 1px solid #eee !important;
    padding: 14px 0 !important;
    margin-bottom: 0 !important;
    color: #333 !important;
}

body#admin_venteliste li.orange {
    border-bottom: none !important;
    padding-top: 24px !important;
}

body#admin_venteliste li.orange h3 {
    color: #f58220 !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    display: inline !important;
}

body#admin_venteliste li.orange h3 span {
    color: #f58220 !important;
}

body#admin_venteliste li.orange p {
    font-size: 0.8rem !important;
    color: #888 !important;
}

body#admin_venteliste li.orange p span {
    color: #888 !important;
}

body#admin_venteliste .tilmeld_info {
    color: #333 !important;
    font-size: 0.9rem !important;
}

body#admin_venteliste .tilmeld_info b {
    color: #1a1a1a !important;
    font-weight: 600 !important;
}

body#admin_venteliste .ikoner {
    display: flex !important;
    gap: 8px !important;
    float: right !important;
    width: auto !important;
}

body#admin_venteliste .ikoner a {
    float: none !important;
    width: 32px !important;
    margin: 0 !important;
}

body#admin_venteliste .ikoner img {
    width: 32px !important;
    height: 32px !important;
}

body#admin_venteliste form.notat input[type='text'] {
    background: #f5f5f7 !important;
    color: #333 !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    padding: 6px 10px !important;
    font-size: 0.85rem !important;
}

body#admin_venteliste form.notat input[type='text']:focus {
    border-color: #256FCF !important;
    outline: none !important;
}

body#admin_venteliste form.notat p {
    color: #256FCF !important;
    font-size: 0.8rem !important;
    cursor: pointer !important;
}

/* Venteliste: hold-navn synlighed */
body#admin_venteliste li.orange {
    display: list-item !important;
    visibility: visible !important;
    height: auto !important;
    overflow: visible !important;
    padding: 24px 0 8px 0 !important;
    border-bottom: none !important;
    background: #fff8f0 !important;
    margin-top: 16px !important;
    padding-left: 10px !important;
    border-left: 3px solid #f58220 !important;
}

body#admin_venteliste li.orange h3 {
    display: block !important;
    visibility: visible !important;
    color: #f58220 !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    margin: 0 0 4px 0 !important;
    padding: 0 !important;
    height: auto !important;
    line-height: 1.4 !important;
}

body#admin_venteliste li.orange h3 span {
    display: inline !important;
    visibility: visible !important;
    color: #f58220 !important;
}

/* Venteliste: layout fix */
body#admin_venteliste .tilmeld_info {
    float: left !important;
    width: 75% !important;
    max-width: 800px !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    line-height: 1.5 !important;
}

body#admin_venteliste .ikoner {
    float: right !important;
    width: 20% !important;
    display: flex !important;
    gap: 8px !important;
    justify-content: flex-end !important;
}

body#admin_venteliste form.notat {
    clear: both !important;
    padding-top: 0.5rem !important;
}

body#admin_venteliste form.notat p {
    float: left !important;
}

/* Venteliste: responsive mobil */
@media (max-width: 600px) {
    body#admin_venteliste .tilmeld_info {
        font-size: 0.85rem !important;
        word-break: break-word !important;
    }

    body#admin_venteliste .ikoner {
        justify-content: flex-start !important;
    }

    body#admin_venteliste .ikoner a {
        width: 28px !important;
    }

    body#admin_venteliste .ikoner img {
        width: 28px !important;
        height: 28px !important;
    }

    body#admin_venteliste form.notat input[type='text'] {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* ==========================================================
   TILMELDING – tilmeld.php spacing fix
   ========================================================== */

#accept_box p {
    margin: 0.25rem 0 !important;
    line-height: 1.5 !important;
}

#accept_box b + br,
#accept_box b + br + br {
    display: none !important;
}

/* Mere luft efter MobilPay-linjen */
#accept_box p:last-of-type {
    margin-top: 1rem !important;
}
