html, body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

a, .btn-link {
    color: #7b1e3a;
}

.btn-primary {
    color: #fff;
    background-color: #7b1e3a;
    border-color: #7b1e3a;
}

.btn-primary:hover {
    background-color: #5c162c;
    border-color: #5c162c;
}

.btn-outline-primary {
    color: #7b1e3a;
    border-color: #7b1e3a;
}

.btn-outline-primary:hover {
    color: #fff;
    background-color: #7b1e3a;
    border-color: #7b1e3a;
}

.content {
    padding-top: 1.1rem;
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHZpZXdCb3g9IjAgMCA1NiA0OSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIzLjQzMjggNDYuNTEwM0MyMi40Mjc5IDQ4Ljg5NDEgMTkuOTAyMSA1MC4xMDQyIDE3LjQ4ODQgNDkuMTk1OEwxNC40NzY0IDQ4LjA1MzNDMTIuMDYyNyA0Ny4xNDUgMTAuODUyNiA0NC42MTkyIDExLjc2MDkgNDIuMjA1NUwxMi45MDM0IDM5LjE5MzVDMTMuODExNyAzNi43Nzk4IDE2LjMzNzUgMzUuNTY5NyAxOC43NTEyIDM2LjQ3OEw0Ny4yNzY5IDQ3LjA4M0M0OS42OTA2IDQ3Ljk5MTMgNTAuOTAwNyA1MC41MTcxIDQ5Ljk5MjQgNTIuOTMwOEw0OC44NDk5IDU1Ljk0MjlDNDcuOTQxNiA1OC4zNTY2IDQ1LjQxNTggNTkuNTY2NyA0My4wMDIxIDU4LjY1ODRMMjMuNDMyOCA0Ni41MTAzWiIgZmlsbD0iI0MzMDAyRiIvPgo8cGF0aCBkPSJNMTMuNDg5MyAzLjA5OTg0QzE0LjQ5NDIgMC43MTYwNDcgMTcuMDIgLTAuNDk0MDk3IDE5LjQzMzcgMC40MTQzODdMMjIuNDQ1NyAxLjU1NjlDMjQuODU5NCAyLjQ2NTIgMjYuMDY5NSA0Ljk5MSAzNS4xNjEyIDcuNDA0N0wzNC4wMTg3IDEwLjQxNjdDMzMuMTEwNCAxMi44MzA0IDMwLjU4NDYgMTQuMDQwNSAyOC4xNzA5IDEzLjEzMjJMMTMuNDg5MyAzLjA5OTg0WiIgZmlsbD0iI0MzMDAyRiIvPgo8L3N2Zz4K) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

.blazor-error-boundary::after {
    content: "Der opstod en fejl.";
}

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.card-title {
    color: #7b1e3a;
}

.nav-tabs .nav-link {
    color: #7b1e3a;
    border: none;
    background: transparent;
    cursor: pointer;
}

.nav-tabs .nav-link.active {
    border-bottom: 2px solid #7b1e3a;
    font-weight: 600;
}

/* Bootstrap 5.2 "text-bg-*" helpers (wwwroot/bootstrap is 5.1, which lacks them → badges were invisible).
   Same values as Bootstrap 5.2. Used by mark- and producent-klassifikation badges. */
.text-bg-primary { color: #fff !important; background-color: #0d6efd !important; }
.text-bg-secondary { color: #fff !important; background-color: #6c757d !important; }
.text-bg-success { color: #fff !important; background-color: #198754 !important; }
.text-bg-info { color: #000 !important; background-color: #0dcaf0 !important; }
.text-bg-warning { color: #000 !important; background-color: #ffc107 !important; }
.text-bg-danger { color: #fff !important; background-color: #dc3545 !important; }
.text-bg-light { color: #000 !important; background-color: #f8f9fa !important; }
.text-bg-dark { color: #fff !important; background-color: #212529 !important; }

/* Read-only detail pages (vine/producenter/druer/omraader/marker/klassifikationer/smagsnoter …/vis) */
.detalje-dl { display: grid; grid-template-columns: minmax(9rem, max-content) 1fr; gap: .25rem 1rem; margin-bottom: 0; }
.detalje-dl dt { font-weight: 600; color: #6c757d; }
.detalje-dl dd { margin: 0; }
.detalje-kort .card-header { background-color: #f8f3f5; color: #7b1e3a; font-weight: 600; }
.detalje-tekst { white-space: pre-line; }
.detalje-kilde { font-size: .8rem; color: #6c757d; }

/* Druens farve (bærhud, VIVC): badge på /druer og /druer/{id}/vis */
.drue-farve { display: inline-block; padding: .2em .55em; font-size: .75em; font-weight: 600; line-height: 1; border-radius: .375rem;
              white-space: nowrap; border: 1px solid transparent; }
.drue-farve-roed { background: #6d1a36; color: #fff; }
.drue-farve-hvid { background: #f6efc4; color: #5c4b00; border-color: #e3d68c; }
.drue-farve-rose { background: #f7c6d0; color: #7a2140; border-color: #eba5b5; }
.drue-farve-graa { background: #b9b4c4; color: #2f2a3a; border-color: #a19bb0; }
.drue-pager .page-link { cursor: pointer; }

/* ---- Brugere: brugermenu, nav-sektioner, konto-sider ---- */
.bruger-menu { position: relative; }
.bruger-menu > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: .4rem; font-weight: 500; }
.bruger-menu > summary::-webkit-details-marker { display: none; }
.bruger-avatar { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 50%;
  background: #7b1e3a; color: #fff; font-size: .8rem; font-weight: 600; }
.bruger-menu-panel { position: absolute; right: 0; top: calc(100% + .4rem); min-width: 15rem; background: #fff; border: 1px solid #ddd;
  border-radius: .5rem; z-index: 1050; padding-bottom: .3rem; }
.bruger-menu-panel a, .bruger-menu-panel button { display: block; width: 100%; text-align: left; padding: .4rem 1rem; color: #222;
  text-decoration: none; background: none; border: 0; font-size: .95rem; }
.bruger-menu-panel a:hover, .bruger-menu-panel button:hover { background: #f4eef0; }
.nav-sektion { color: rgba(255,255,255,.55); font-size: .7rem; text-transform: uppercase; letter-spacing: .12em; margin-top: .9rem; }
.bi-person-nav-menu { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm4 8c0 1-1 1-1 1H3s-1 0-1-1 1-4 6-4 6 3 6 4Z'/%3E%3C/svg%3E"); }
.konto-kort { max-width: 28rem; margin: 2rem auto; }
.badge-vaert { background: #6f42c1; color: #fff; }
.salg-boks { border: 1px solid #c3e6cb; background: #f3fbf5; border-radius: .5rem; padding: .75rem; }

/* Side-om-side-sammenligning af dubletter (/admin/dubletter/{vin|producent}/{a}/{b}) */
.sml-tabel td, .sml-tabel th { vertical-align: top; }
.sml-tabel .sml-felt { width: 13rem; font-weight: 500; }
.sml-tabel .sml-status { width: 2.2rem; text-align: center; font-weight: 700; }
.sml-tabel tr.sml-gruppe th { background: #f8f3f5; color: #7b1e3a; font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; }
.sml-tabel tr.sml-ens > td { background-color: #d1e7dd; }
.sml-tabel tr.sml-ens .sml-status { color: #0f5132; }
.sml-tabel tr.sml-naesten-ens > td { background-color: #e6f4ea; }
.sml-tabel tr.sml-naesten-ens .sml-status { color: #146c43; }
.sml-tabel tr.sml-forskellig > td { background-color: #fff3cd; }
.sml-tabel tr.sml-forskellig .sml-status { color: #997404; }
.sml-tabel tr.sml-kun-en-side > td { background-color: #fdf8ee; }
.sml-tabel tr.sml-kun-en-side td.sml-mangler { background-color: #f8d7da; color: #842029; font-style: italic; }
.sml-tabel tr.sml-begge-tomme > td { color: #6c757d; }
.sml-tabel .sml-vaerdi { white-space: pre-line; max-height: 14rem; overflow: auto; }
.sml-chip { display: inline-block; padding: .05rem .45rem; margin: 0 .25rem .25rem 0; border-radius: 1rem; font-size: .85em; border: 1px solid transparent; }
.sml-chip-faelles { background: #badbcc; border-color: #75b798; color: #0f5132; }
.sml-chip-unik { background: #ffe69c; border-color: #ffcd39; color: #664d03; }
.sml-legende span { margin-right: .75rem; white-space: nowrap; }
.sml-legende i { display: inline-block; width: .9rem; height: .9rem; border-radius: .2rem; vertical-align: -.1rem; margin-right: .25rem; border: 1px solid #ccc; }
