/* ─── Header-knapper ─────────────────────────────────────────── */
.ca-header-knapper {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ca-hdr-knap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 38px;
    padding: 0 18px;
    border-radius: 4px;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.04em;
    white-space: nowrap;
    text-decoration: none !important;
    cursor: pointer;
    transition: background .15s, color .15s, border-color .15s, opacity .15s;
    line-height: 1;
    flex-shrink: 0;
}

.ca-hdr-knap--outline {
    background: transparent !important;
    color: inherit !important;
    border: 1px solid currentColor !important;
}

.ca-hdr-knap--outline:hover {
    background: rgba(0,0,0,0.06) !important;
    opacity: 1 !important;
}

.ca-hdr-knap--filled {
    background: #1a1a1a !important;
    color: #fff !important;
    border: 1px solid #1a1a1a !important;
}

.ca-hdr-knap--filled:hover {
    opacity: 0.82 !important;
    color: #fff !important;
}

/* Tablet: reducer knapstørrelse */
@media (max-width: 900px) {
    .ca-hdr-knap { font-size: 14px; padding: 0 13px; height: 36px; }
}

@media (max-width: 768px) {
    .ca-hdr-knap { font-size: 13px; padding: 0 11px; height: 34px; }
    .ca-header-knapper { gap: 5px; }
}

/* Mobil: meget kompakte knapper */
@media (max-width: 600px) {
    .ca-hdr-knap { font-size: 12px; padding: 0 9px; height: 30px; }
    .ca-header-knapper { gap: 4px; }
}

/* Lille mobil: endnu mere kompakt */
@media (max-width: 420px) {
    .ca-hdr-knap { font-size: 11px; padding: 0 7px; height: 28px; letter-spacing: 0; }
    .ca-header-knapper { gap: 3px; }
    .bde-image2-10153170-101 { width: 90px !important; }
}

/* ─────────────────────────────────────────────────────────────── */
.ca-form { max-width: 580px; margin: 0 auto; }

.ca-felt { display: flex; flex-direction: column; gap: 6px; margin-bottom: 20px; }

.ca-felt label {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #888;
}

.ca-felt input[type="text"],
.ca-felt input[type="email"],
.ca-felt input[type="tel"],
.ca-felt input[type="date"],
.ca-felt input[type="url"],
.ca-felt textarea,
.ca-felt select {
    height: 48px;
    border: 0.5px solid #d0d0d0;
    border-radius: 4px;
    background: #fff;
    padding: 0 16px;
    font-size: 15px;
    color: #1a1a1a;
    outline: none;
    width: 100%;
    box-sizing: border-box;
    appearance: none;
    -webkit-appearance: none;
    transition: border-color .15s;
}

.ca-felt textarea {
    height: 180px;
    padding: 14px 16px;
    resize: vertical;
    width: 100%;
    box-sizing: border-box;
}

.ca-felt select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-color: #fff;
    padding-right: 40px;
}

.ca-felt input:focus,
.ca-felt select:focus,
.ca-felt textarea:focus {
    border-color: #1a1a1a;
}

.ca-felt-bred {
    grid-column: 1 / -1;
}

.ca-form button[type="submit"] {
    width: 100%;
    height: 52px;
    background: #1a1a1a;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.03em;
    cursor: pointer;
    margin-top: 1.5rem;
    transition: opacity .15s;
}

.ca-form button[type="submit"]:hover { opacity: 0.85; }

/* ─── Progress bar ─────────────────────────────────────────── */
.ca-progress {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 100%;
    margin: 0 auto 3rem;
}

.ca-progress-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

.ca-progress-dot {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 500;
    border: 0.5px solid rgba(255,255,255,0.4);
    background: transparent;
    color: #fff;
    transition: all .2s;
}

.ca-progress-step.active .ca-progress-dot {
    background: #fff;
    color: #1a1a1a;
    border-color: #fff;
}

.ca-progress-step.done .ca-progress-dot {
    background: rgba(255,255,255,0.2);
    color: #fff;
    border-color: rgba(255,255,255,0.4);
}

.ca-progress-label {
    font-size: 11px;
    color: rgba(255,255,255,0.5);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.ca-progress-step.active .ca-progress-label { color: #fff; }
.ca-progress-step.done .ca-progress-label { color: rgba(255,255,255,0.7); }

.ca-progress-line {
    flex: 1;
    height: 0.5px;
    background: rgba(255,255,255,0.3);
    margin-bottom: 20px;
}

/* ─── Upload / billeder ────────────────────────────────────── */
.ca-upload-wrap { max-width: 580px; margin: 0 auto; }

.ca-felt-hint {
    font-size: 15px;
    color: rgba(255,255,255,0.9);
    margin: 5px 0 12px;
    line-height: 1.55;
}

/* Upload spinner-overlay */
.ca-upload-loader {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.45);
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 5;
}

.ca-upload-loader::after {
    content: '';
    width: 28px;
    height: 28px;
    border: 3px solid rgba(255,255,255,0.25);
    border-top-color: #fff;
    border-radius: 50%;
    animation: ca-spin 0.7s linear infinite;
}

@keyframes ca-spin {
    to { transform: rotate(360deg); }
}

.ca-drop-zone {
    border: 1.5px dashed #fff;
    border-radius: 4px;
    padding: 3rem 2rem;
    text-align: center;
    cursor: pointer;
    transition: border-color .15s, background .15s;
    background: transparent;
    position: relative;
    overflow: hidden;
}

.ca-drop-zone:hover,
.ca-drag-over {
    border-color: rgba(255,255,255,0.6);
    background: rgba(255,255,255,0.05);
}

.ca-drop-icon {
    font-size: 28px;
    color: #fff;
    margin-bottom: 8px;
    line-height: 1;
}

.ca-drop-inner p {
    font-size: 15px;
    color: #fff;
    margin: 0 0 4px;
}

.ca-drop-inner span {
    font-size: 12px;
    color: rgba(255,255,255,0.6);
    letter-spacing: 0.03em;
}

.ca-vaelg-btn {
    display: inline-block;
    margin-top: 14px;
    padding: 10px 24px;
    background: transparent;
    color: #fff;
    border: 0.5px solid #fff;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: background .15s;
}

.ca-vaelg-btn:hover { background: rgba(255,255,255,0.1); }

.ca-upload-status {
    font-size: 15px;
    margin-top: 8px;
    min-height: 20px;
    color: #fff;
    font-weight: 500;
    border-radius: 6px;
    padding: 0;
    transition: background .2s, padding .2s;
}
.ca-upload-status:not(:empty) {
    padding: 10px 14px;
}
.ca-upload-status--fejl {
    background: rgba(192, 57, 43, 0.15) !important;
    border: 1px solid #c0392b !important;
    font-size: 16px !important;
    font-weight: 700 !important;
}

.ca-portfolio-previews {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 16px;
    width: 100%;
    box-sizing: border-box;
}

.ca-portfolio-thumb {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 4px;
    border: 0.5px solid #e0e0e0;
    display: block;
}

.ca-drop-zone img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    border-radius: 4px;
}

.ca-upload-wrap .ca-felt label { color: rgba(255,255,255,0.7); }

.ca-profil-preview-wrap,
.ca-portfolio-thumb-wrap {
    position: relative;
    display: inline-block;
    width: 100%;
}

.ca-slet-btn {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 28px;
    height: 28px;
    background: #1a1a1a;
    color: #fff;
    border: none;
    border-radius: 50%;
    font-size: 12px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity .15s;
    z-index: 10;
}

.ca-slet-btn:hover { opacity: 0.75; }

.ca-portfolio-thumb-wrap {
    position: relative;
    aspect-ratio: 1 / 1;
}

.ca-portfolio-thumb-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
    border: 0.5px solid #e0e0e0;
    display: block;
}

/* ─── Knapper ──────────────────────────────────────────────── */
.ca-faerdig {
    display: flex;
    flex-direction: row;
    gap: 12px;
    max-width: 580px;
    margin: 0 auto;
}

.ca-btn-primaer {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    height: 52px;
    background: #1a1a1a !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.03em;
    cursor: pointer;
    text-align: center;
    text-decoration: none !important;
    box-sizing: border-box;
    transition: opacity .15s;
    padding: 0 16px;
}

.ca-btn-primaer:hover {
    opacity: 0.85;
    color: #fff !important;
}

.ca-btn-sekundaer {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    height: 52px;
    background: transparent !important;
    color: #1a1a1a !important;
    border: 0.5px solid #1a1a1a !important;
    border-radius: 4px;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.03em;
    cursor: pointer;
    text-align: center;
    text-decoration: none !important;
    box-sizing: border-box;
    transition: background .15s;
    padding: 0 16px;
    white-space: normal;
    line-height: 1.2;
}

.ca-btn-sekundaer:hover {
    background: #f5f5f5 !important;
    color: #1a1a1a !important;
}

.ca-nav-knapper {
    display: flex;
    gap: 12px;
    margin-top: 1.5rem;
    align-items: stretch;
}

.ca-nav-knapper a.ca-btn-sekundaer,
.ca-nav-knapper button.ca-btn-primaer {
    height: 52px !important;
    box-sizing: border-box !important;
    padding: 0 16px !important;
    margin: 0 !important;
}

.ca-nav-knapper .ca-btn-sekundaer {
    flex: 1;
    height: 52px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ca-nav-knapper .ca-btn-primaer {
    flex: 2;
    height: 52px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ca-nav-knapper button.ca-btn-primaer {
    flex: 2;
}

/* ─── Gem billeder knap ────────────────────────────────────── */
#ca-gem-billeder {
    width: 100%;
    height: 52px;
    background: #1a1a1a !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.03em;
    cursor: pointer;
    transition: opacity .15s;
    text-decoration: none !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

#ca-gem-billeder:hover { opacity: 0.85; }

/* ─── Ansøgningskort trin 5 ────────────────────────────────── */
.ca-ansogninger {
    max-width: 580px;
    margin: 0 auto 2rem;
}

.ca-ansogninger-titel {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.6);
    margin-bottom: 12px;
}

.ca-ansogninger-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.ca-ansogning-kort {
    display: flex;
    align-items: center;
    gap: 16px;
    background: rgba(255,255,255,0.08);
    border: 0.5px solid rgba(255,255,255,0.2);
    border-radius: 4px;
    padding: 12px 16px;
}

.ca-ansogning-billede {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}

.ca-ansogning-billede img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ca-ansogning-ingen-billede {
    background: rgba(255,255,255,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: rgba(255,255,255,0.4);
}

.ca-ansogning-info { flex: 1; }

.ca-ansogning-navn {
    font-size: 15px;
    font-weight: 500;
    color: #fff;
    margin: 0 0 2px;
}

.ca-ansogning-status {
    font-size: 12px;
    color: rgba(255,255,255,0.5);
    margin: 0;
}

.ca-ansogning-slet {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(255,255,255,0.1);
    color: #fff !important;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    text-decoration: none !important;
    transition: background .15s;
    flex-shrink: 0;
}

.ca-ansogning-slet:hover { background: rgba(255,0,0,0.3); }

/* ─── Dashboard layout ─────────────────────────────────────── */
.ca-db-layout {
    display: flex;
    gap: 40px;
    align-items: flex-start;
    max-width: 900px;
    margin: 0 auto;
}

/* ─── Sidebar ───────────────────────────────────────────────── */
.ca-db-sidebar {
    width: 220px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.ca-db-bruger {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 20px;
    border-bottom: 0.5px solid #e8e8e8;
}

.ca-db-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #1a1a1a;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 600;
    flex-shrink: 0;
}

.ca-db-navn {
    font-size: 14px;
    font-weight: 500;
    color: #1a1a1a;
    margin: 0 0 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 140px;
}

.ca-db-email {
    font-size: 11px;
    color: #888;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 140px;
}

.ca-db-nav {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ca-db-nav-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 400;
    color: #555 !important;
    text-decoration: none !important;
    transition: background .12s, color .12s;
}

.ca-db-nav-link:hover {
    background: #f5f5f5;
    color: #1a1a1a !important;
}

.ca-db-nav-link--aktiv {
    background: #f0f0f0;
    color: #1a1a1a !important;
    font-weight: 500;
}

.ca-db-sidebar-bund {
    padding-top: 16px;
    border-top: 0.5px solid #e8e8e8;
    margin-top: auto;
}

.ca-db-nav-link--logout {
    color: #888 !important;
}

.ca-db-nav-link--logout:hover {
    background: #fde8e8;
    color: #c0392b !important;
}

/* ─── Hovedindhold ──────────────────────────────────────────── */
.ca-db-main {
    flex: 1;
    min-width: 0;
}

/* ─── Dashboard ────────────────────────────────────────────── */
.ca-dashboard {
    max-width: 680px;
    margin: 0 auto;
}

.ca-dashboard-sektion {
    margin-bottom: 3rem;
}

.ca-dashboard-sektion-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    gap: 12px;
}

.ca-dashboard-sektion-titel {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #888;
    margin: 0;
}

.ca-dashboard-tom {
    font-size: 15px;
    color: #888;
}

.ca-dashboard-tom a {
    color: #1a1a1a;
}

/* ─── Lille knap-variant ───────────────────────────────────── */
.ca-btn-lille {
    flex: none !important;
    height: 38px !important;
    font-size: 13px !important;
    padding: 0 16px !important;
    white-space: nowrap;
}

/* ─── Profilkort (dashboard) ───────────────────────────────── */
.ca-profiler-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.ca-profil-kort {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #fafafa;
    border: 0.5px solid #e8e8e8;
    border-radius: 6px;
    padding: 14px 16px;
}

.ca-profil-billede {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}

.ca-profil-billede img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ca-profil-ingen-billede {
    width: 100%;
    height: 100%;
    background: #e8e8e8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #bbb;
}

.ca-profil-info {
    flex: 1;
    min-width: 0;
}

.ca-profil-navn {
    font-size: 15px;
    font-weight: 500;
    color: #1a1a1a;
    margin: 0 0 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ca-profil-by {
    font-size: 12px;
    color: #888;
    margin: 0 0 2px;
}

.ca-profil-status {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin: 0;
    color: #888;
}

.ca-profil-status--aktiv    { color: #3a9e5f; }
.ca-profil-status--draft    { color: #d68910; }
.ca-profil-status--pending  { color: #2b5cb8; }
.ca-profil-status--afvist   { color: #c0392b; }

.ca-profil-opdateret {
    font-size: 10px;
    color: #bbb;
    margin: 2px 0 0;
    letter-spacing: 0.02em;
}

.ca-profil-handlinger {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.ca-profil-slet {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #f0f0f0;
    color: #888 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    text-decoration: none !important;
    transition: background .15s, color .15s;
    flex-shrink: 0;
}

.ca-profil-slet:hover {
    background: #fde8e8;
    color: #c0392b !important;
}

/* ─── Ordrehistorik ────────────────────────────────────────── */
.ca-ordrer-liste {
    border: 0.5px solid #e8e8e8;
    border-radius: 6px;
    overflow: hidden;
}

.ca-ordre-raekke {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    border-bottom: 0.5px solid #e8e8e8;
    gap: 12px;
}

.ca-ordre-raekke:last-child {
    border-bottom: none;
}

.ca-ordre-info {
    display: flex;
    align-items: center;
    gap: 16px;
}

.ca-ordre-nr {
    font-size: 14px;
    font-weight: 500;
    color: #1a1a1a;
}

.ca-ordre-dato {
    font-size: 13px;
    color: #888;
}

.ca-ordre-detaljer {
    display: flex;
    align-items: center;
    gap: 16px;
}

.ca-ordre-status {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 20px;
    background: #f0f0f0;
    color: #888;
}

.ca-ordre-status--completed {
    background: #e8f7ee;
    color: #3a9e5f;
}

.ca-ordre-status--processing {
    background: #fff8e6;
    color: #d68910;
}

.ca-ordre-status--on-hold {
    background: #f0f0f0;
    color: #888;
}

.ca-ordre-status--refunded {
    background: #fde8e8;
    color: #c0392b;
}

.ca-ordre-total {
    font-size: 14px;
    font-weight: 500;
    color: #1a1a1a;
}

/* ─── Sidemenu separator ───────────────────────────────────── */
.ca-db-nav-separator {
    height: 0.5px;
    background: #e8e8e8;
    margin: 4px 0;
}


/* ─── Gemte betalingsmetoder ────────────────────────────────── */
.ca-betalinger-liste {
    display: flex;
    flex-direction: column;
    gap: 0;
    border: 0.5px solid #e8e8e8;
    border-radius: 6px;
    overflow: hidden;
}

.ca-betaling-raekke {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    border-bottom: 0.5px solid #e8e8e8;
    gap: 12px;
}

.ca-betaling-raekke:last-child {
    border-bottom: none;
}

.ca-betaling-info {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ca-betaling-label {
    font-size: 14px;
    color: #1a1a1a;
}

.ca-betaling-standard {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: #e8f7ee;
    color: #3a9e5f;
    padding: 3px 8px;
    border-radius: 20px;
}

/* ─── Min profil-formular ───────────────────────────────────── */
.ca-profil-form {
    max-width: 100%;
}

.ca-profil-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 20px;
}

.ca-profil-adskiller {
    margin: 28px 0 20px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.ca-profil-adskiller::before,
.ca-profil-adskiller::after {
    content: '';
    flex: 1;
    height: 0.5px;
    background: #e8e8e8;
}

.ca-profil-adskiller span {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #888;
    white-space: nowrap;
}

.ca-felt-valgfri {
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    font-size: 11px;
    color: #aaa;
}

.ca-profil-handlinger-bund {
    margin-top: 24px;
}

/* ─── Beskeder ──────────────────────────────────────────────── */
.ca-besked {
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 14px;
    margin-bottom: 24px;
}

.ca-besked--success {
    background: #e8f7ee;
    color: #2d7d50;
    border: 0.5px solid #b6dfc9;
}

.ca-besked--error {
    background: #fde8e8;
    color: #c0392b;
    border: 0.5px solid #f5c0c0;
}

/* ─── Sidemenu badge ───────────────────────────────────────── */
.ca-db-badge {
    margin-left: auto;
    background: #e8e8e8;
    color: #555;
    font-size: 11px;
    font-weight: 600;
    min-width: 20px;
    height: 20px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
}

.ca-db-badge--groen {
    background: #e8f7ee;
    color: #3a9e5f;
}

/* ─── Tom tilstand ──────────────────────────────────────────── */
.ca-db-tom-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 48px 0;
    text-align: center;
    color: #aaa;
    font-size: 14px;
}

/* ─── Draft-kort fremhævning ────────────────────────────────── */
.ca-profil-kort--draft {
    border-color: #f5c842;
    background: #fffdf0;
}

/* ─── Advarsel-besked ───────────────────────────────────────── */
.ca-besked--advarsel {
    background: #fffdf0;
    color: #8a6d00;
    border: 0.5px solid #f5c842;
}

.ca-besked--info {
    background: #eef4ff;
    color: #2b5cb8;
    border: 0.5px solid #b8cff5;
}

/* ─── Kvittering-link i ordreliste ──────────────────────────── */
.ca-ordre-link {
    font-size: 12px;
    color: #888;
    text-decoration: none;
    margin-left: 4px;
    white-space: nowrap;
}

.ca-ordre-link:hover {
    color: #1a1a1a;
    text-decoration: underline;
}

/* ─── Kvittering ─────────────────────────────────────────────── */
.ca-kvittering {
    background: #fff;
    border: 0.5px solid #e8e8e8;
    border-radius: 8px;
    padding: 28px 32px;
    max-width: 640px;
}

.ca-kvittering-tilbage {
    display: inline-block;
    font-size: 13px;
    color: #888;
    text-decoration: none;
    margin-bottom: 24px;
    transition: color .15s;
}
.ca-kvittering-tilbage:hover { color: #1a1a1a; text-decoration: underline; }

.ca-kvittering-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 28px;
}

.ca-kvittering-titel {
    font-size: 20px;
    font-weight: 600;
    color: #1a1a1a;
    margin: 0 0 4px;
}

.ca-kvittering-meta {
    font-size: 13px;
    color: #888;
    margin: 0;
}

.ca-kvittering-tabel {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 24px;
    font-size: 14px;
}
.ca-kvittering-tabel th,
.ca-kvittering-tabel td {
    padding: 10px 0;
    border-bottom: 0.5px solid #f0f0f0;
    color: #1a1a1a;
    text-align: left;
}
.ca-kvittering-tabel thead th {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #aaa;
}
.ca-kvittering-tabel tfoot td {
    border-bottom: none;
    color: #555;
}
.ca-kvittering-total td {
    font-weight: 600;
    font-size: 15px;
    color: #1a1a1a !important;
    padding-top: 14px;
    border-top: 1px solid #e8e8e8;
}
.ca-kvittering-tal {
    text-align: right !important;
}

.ca-kvittering-faktura,
.ca-kvittering-betaling {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 0.5px solid #f0f0f0;
}
.ca-kvittering-sektion-titel {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #aaa;
    margin: 0 0 8px;
}
.ca-kvittering-faktura p,
.ca-kvittering-betaling p {
    font-size: 14px;
    color: #1a1a1a;
    margin: 2px 0;
}

/* ─── Betal-knap (primær lille) ─────────────────────────────── */
.ca-profil-handlinger .ca-btn-primaer.ca-btn-lille {
    flex: none !important;
    height: 38px !important;
    font-size: 13px !important;
    padding: 0 16px !important;
}

/* ─── Katalog layout ───────────────────────────────────────── */
.ca-katalog {
    max-width: 1100px;
    margin: 0 auto;
}

.ca-katalog-login {
    text-align: center;
    padding: 60px 0;
    color: #888;
    font-size: 15px;
}

.ca-katalog-header {
    margin-bottom: 20px;
}

.ca-katalog-titel {
    font-size: 22px;
    font-weight: 600;
    color: #1a1a1a;
    margin: 0 0 4px;
}

.ca-katalog-antal {
    font-size: 13px;
    color: #888;
    margin: 0;
}

.ca-katalog-nulstil {
    color: #888;
    text-decoration: underline;
}

/* ─── Filterbar ─────────────────────────────────────────────── */
.ca-filterbar {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 28px;
    flex-wrap: wrap;
}

/* Søgefelt */
.ca-filterbar-soeg {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 42px;
    padding: 0 14px;
    background: #fff;
    border: 0.5px solid #d8d8d8;
    border-radius: 8px;
    flex: 1;
    min-width: 180px;
    max-width: 260px;
    box-sizing: border-box;
    transition: border-color .15s, box-shadow .15s;
}

.ca-filterbar-soeg:focus-within {
    border-color: #1a1a1a;
    box-shadow: 0 0 0 3px rgba(26,26,26,0.07);
}

.ca-filterbar-soeg-input {
    border: none;
    outline: none;
    font-size: 14px;
    color: #1a1a1a;
    width: 100%;
    background: transparent;
}

.ca-filterbar-soeg-input::placeholder { color: #aaa; }

/* ─── Multi-select dropdown ──────────────────────────────────── */
.ca-ms {
    position: relative;
    flex-shrink: 0;
}

/* Knap */
.ca-ms-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 42px;
    padding: 0 14px;
    font-size: 13px;
    font-weight: 500;
    color: #444;
    background: #fff;
    border: 0.5px solid #d8d8d8;
    border-radius: 8px;
    cursor: pointer;
    white-space: nowrap;
    transition: border-color .15s, background .15s, color .15s;
    user-select: none;
}

.ca-ms-btn:hover {
    border-color: #bbb;
    background: #fafafa;
}

.ca-ms-pil {
    flex-shrink: 0;
    transition: transform .2s;
    color: #999;
}

.ca-ms--aaben .ca-ms-pil { transform: rotate(180deg); }

/* Aktiv (mindst ét valgt) */
.ca-ms--aktiv .ca-ms-btn {
    background: #1a1a1a;
    border-color: #1a1a1a;
    color: #fff;
}

.ca-ms--aktiv .ca-ms-pil { color: rgba(255,255,255,0.7); }

/* Badge — antal valgte */
.ca-ms-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: rgba(255,255,255,0.22);
    color: #fff;
    border-radius: 9px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
}

/* Dropdown panel */
.ca-ms-panel {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    min-width: 200px;
    background: #fff;
    border: 0.5px solid #e0e0e0;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.10), 0 2px 6px rgba(0,0,0,0.06);
    padding: 6px;
    z-index: 500;
    max-height: 320px;
    overflow-y: auto;
}

.ca-ms--aaben .ca-ms-panel { display: block; }

/* Option (label med custom checkbox) */
.ca-ms-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    border-radius: 6px;
    font-size: 13px;
    color: #333;
    cursor: pointer;
    transition: background .1s;
    user-select: none;
}

.ca-ms-option:hover { background: #f5f5f5; }

.ca-ms-option input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

/* Custom checkbox boks */
.ca-ms-check {
    width: 16px;
    height: 16px;
    border: 1.5px solid #d0d0d0;
    border-radius: 4px;
    flex-shrink: 0;
    background: #fff;
    transition: background .15s, border-color .15s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ca-ms-option:has(input:checked) .ca-ms-check {
    background: #1a1a1a;
    border-color: #1a1a1a;
}

.ca-ms-option:has(input:checked) .ca-ms-check::after {
    content: '';
    display: block;
    width: 4px;
    height: 7px;
    border: 1.5px solid #fff;
    border-top: none;
    border-left: none;
    transform: rotate(45deg) translateY(-1px);
}

.ca-ms-option:has(input:checked) {
    color: #1a1a1a;
    font-weight: 500;
}

/* Nulstil-knap */
.ca-filterbar-nulstil {
    display: none;
    align-items: center;
    gap: 5px;
    height: 42px;
    padding: 0 14px;
    font-size: 12px;
    font-weight: 500;
    color: #888;
    text-decoration: none;
    border: 0.5px solid #e0e0e0;
    border-radius: 8px;
    transition: color .15s, border-color .15s, background .15s;
    white-space: nowrap;
    letter-spacing: 0.02em;
}

.ca-filterbar-nulstil--synlig { display: inline-flex; }

.ca-filterbar-nulstil:hover {
    color: #c0392b;
    border-color: #f5c0c0;
    background: #fff5f5;
}

/* ─── Modelgrid ─────────────────────────────────────────────── */
.ca-katalog-grid-wrap { width: 100%; }

.ca-katalog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.ca-katalog-ingen {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 60px 0;
    text-align: center;
    color: #aaa;
    font-size: 14px;
}

/* ─── Modelkort ─────────────────────────────────────────────── */
.ca-model-kort {
    border-radius: 6px;
    overflow: visible;
    cursor: pointer;
    transition: transform .15s;
    position: relative;
    /* content-visibility springer rendering af off-screen kort over */
    content-visibility: auto;
    contain-intrinsic-size: auto 380px;
}

.ca-model-kort:hover { transform: translateY(-2px); }

.ca-model-billede {
    aspect-ratio: 3 / 4;
    border-radius: 6px;
    overflow: hidden;
    background: #f0f0f0;
    position: relative;
}

.ca-model-billede img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .2s;
}

.ca-model-kort:hover .ca-model-billede img { transform: scale(1.03); }

.ca-model-ingen-billede {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5f5f5;
}

.ca-model-portfolio-badge {
    position: absolute;
    bottom: 8px;
    right: 8px;
    background: rgba(0,0,0,0.55);
    color: #fff;
    font-size: 11px;
    font-weight: 500;
    padding: 3px 8px;
    border-radius: 20px;
    letter-spacing: 0.03em;
}

.ca-model-info {
    padding: 10px 4px 4px;
}

.ca-model-navn {
    font-size: 14px;
    font-weight: 500;
    color: #1a1a1a;
    margin: 0 0 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ca-model-meta {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.ca-model-meta span {
    font-size: 12px;
    color: #888;
}

.ca-model-meta span + span::before {
    content: '·';
    margin-right: 6px;
}

.ca-model-opdateret {
    font-size: 10px;
    color: #bbb;
    margin: 3px 0 0;
    letter-spacing: 0.02em;
}

/* ─── Model detaljepanel (modal) ────────────────────────────── */
.ca-model-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0);
    z-index: 1000;
    transition: background .25s;
}

.ca-model-overlay--aktiv {
    background: rgba(0,0,0,0.5);
}

.ca-model-panel {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 520px;
    max-width: 95vw;
    background: #fff;
    z-index: 1001;
    overflow-y: auto;
    transform: translateX(100%);
    transition: transform .25s cubic-bezier(.4,0,.2,1);
    box-shadow: -4px 0 24px rgba(0,0,0,0.12);
}

.ca-model-panel--aktiv {
    transform: translateX(0);
}

.ca-model-panel-indhold {
    padding: 32px;
    position: relative;
}

.ca-model-panel-luk {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #f0f0f0;
    border: none;
    cursor: pointer;
    font-size: 13px;
    color: #555;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s;
}

.ca-model-panel-luk:hover { background: #e0e0e0; }

.ca-model-panel-profil {
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    border-radius: 6px;
    display: block;
    margin-bottom: 12px;
}

.ca-model-panel-portfolio {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    margin-bottom: 20px;
}

.ca-model-panel-portfolio img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 4px;
    display: block;
}

.ca-model-panel-navn {
    font-size: 20px;
    font-weight: 600;
    color: #1a1a1a;
    margin: 0 0 14px;
}

.ca-model-panel-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 16px;
}

.ca-model-tag {
    font-size: 12px;
    font-weight: 500;
    background: #f0f0f0;
    color: #555;
    padding: 4px 10px;
    border-radius: 20px;
    letter-spacing: 0.02em;
}

.ca-model-panel-om {
    font-size: 14px;
    color: #555;
    line-height: 1.65;
    margin: 0;
}

/* ─── ACF felter skjult ────────────────────────────────────── */
.acf-field[data-name="kunde"],
.acf-field[data-name="id_nummer"],
.acf-field[data-name="new_id_nummer"],
.acf-field[data-name="age"],
.acf-field[data-name="fulde_navn"],
.acf-field[data-name="new_portfolio"] {
    display: none !important;
}

/* ══════════════════════════════════════════════════════════════
   CUSTOM HEADER
   ══════════════════════════════════════════════════════════════ */

/* ── Sticky (override alt fra Breakdance) ───────────────────── */
/* :has() fanger sectionen uanset Breakdance's dynamiske klasse-ID */
section:has(#ca-hdr-content),
.bde-section-10165738-116,
header.bde-header-builder,
.bde-header-builder {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    transition: background 0.35s ease !important;
    background: transparent !important;
}

/* ── Admin-bar offset (når admin er logget ind) ─────────────── */
html.admin-bar section:has(#ca-hdr-content),
html.admin-bar .bde-section-10165738-116,
html.admin-bar .bde-header-builder {
    top: 32px !important;
}
@media screen and (max-width: 782px) {
    html.admin-bar section:has(#ca-hdr-content),
    html.admin-bar .bde-section-10165738-116,
    html.admin-bar .bde-header-builder {
        top: 46px !important;
    }
}

/* Grøn baggrund ved scroll / solid sider */
section:has(#ca-hdr-content).ca-is-scrolled,
section:has(#ca-hdr-content).ca-hdr-solid,
.bde-section-10165738-116.ca-is-scrolled,
.bde-section-10165738-116.ca-hdr-solid,
.bde-header-builder.ca-is-scrolled,
.bde-header-builder.ca-hdr-solid {
    background: #929E98 !important;
}

/* ── Indhold ─────────────────────────────────────────────────── */
#ca-hdr-content { width: 100%; }

.ca-hdr-row {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 16px 100px;
    gap: 20px;
    box-sizing: border-box;
}

/* ── Logo ────────────────────────────────────────────────────── */
.ca-hdr-logo {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    text-decoration: none !important;
    line-height: 0;
}

.ca-hdr-logo img {
    width: 160px;
    height: auto;
    display: block;
    filter: brightness(0) invert(1);   /* hvid på transparent */
    transition: filter 0.35s ease;
}

/* Sort logo på grøn header */
section:has(#ca-hdr-content).ca-is-scrolled .ca-hdr-logo img,
section:has(#ca-hdr-content).ca-hdr-solid   .ca-hdr-logo img,
.bde-section-10165738-116.ca-is-scrolled .ca-hdr-logo img,
.bde-section-10165738-116.ca-hdr-solid   .ca-hdr-logo img,
.bde-header-builder.ca-is-scrolled .ca-hdr-logo img,
.bde-header-builder.ca-hdr-solid   .ca-hdr-logo img {
    filter: brightness(0);
}

/* ── Desktop-nav ─────────────────────────────────────────────── */
.ca-hdr-nav {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-width: 0;
}

.ca-hdr-navlink {
    font-size: 16px;
    font-weight: 400;
    color: rgba(255,255,255,0.85) !important;
    text-decoration: none !important;
    padding: 7px 10px;
    border-radius: 4px;
    white-space: nowrap;
    letter-spacing: 0.01em;
    transition: color 0.2s;
}
.ca-hdr-navlink:hover { color: #fff !important; }

/* Mørke links på grøn baggrund */
section:has(#ca-hdr-content).ca-is-scrolled .ca-hdr-navlink,
section:has(#ca-hdr-content).ca-hdr-solid   .ca-hdr-navlink,
.bde-section-10165738-116.ca-is-scrolled .ca-hdr-navlink,
.bde-section-10165738-116.ca-hdr-solid   .ca-hdr-navlink,
.bde-header-builder.ca-is-scrolled .ca-hdr-navlink,
.bde-header-builder.ca-hdr-solid   .ca-hdr-navlink {
    color: #1a1a1a !important;
    opacity: 0.85;
}
section:has(#ca-hdr-content).ca-is-scrolled .ca-hdr-navlink:hover,
section:has(#ca-hdr-content).ca-hdr-solid   .ca-hdr-navlink:hover,
.bde-section-10165738-116.ca-is-scrolled .ca-hdr-navlink:hover,
.bde-section-10165738-116.ca-hdr-solid   .ca-hdr-navlink:hover,
.bde-header-builder.ca-is-scrolled .ca-hdr-navlink:hover,
.bde-header-builder.ca-hdr-solid   .ca-hdr-navlink:hover {
    opacity: 1;
    color: #1a1a1a !important;
}

/* ── CTA-knapper ─────────────────────────────────────────────── */
.ca-hdr-cta {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
}

.ca-hdr-btn {
    display: inline-flex;
    align-items: center;
    height: 38px;
    padding: 0 18px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.03em;
    white-space: nowrap;
    text-decoration: none !important;
    cursor: pointer;
    background: #1a1a1a;
    color: #fff !important;
    border: 1px solid #1a1a1a;
    transition: opacity 0.15s;
}
.ca-hdr-btn:hover { opacity: 0.80; color: #fff !important; }

/* ── Hamburger ───────────────────────────────────────────────── */
.ca-hdr-burger {
    display: none;
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 9px;
    border-radius: 4px;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    transition: background 0.15s;
}
.ca-hdr-burger:hover { background: rgba(0,0,0,0.08); }

.ca-hdr-burger span {
    display: block;
    width: 22px;
    height: 2px;
    background: #fff;           /* hvid på transparent */
    border-radius: 2px;
    transition: transform 0.25s, opacity 0.2s, background 0.35s;
    transform-origin: center;
}

/* Sort hamburger på grøn baggrund */
section:has(#ca-hdr-content).ca-is-scrolled .ca-hdr-burger span,
section:has(#ca-hdr-content).ca-hdr-solid   .ca-hdr-burger span,
.bde-section-10165738-116.ca-is-scrolled .ca-hdr-burger span,
.bde-section-10165738-116.ca-hdr-solid   .ca-hdr-burger span,
.bde-header-builder.ca-is-scrolled .ca-hdr-burger span,
.bde-header-builder.ca-hdr-solid   .ca-hdr-burger span {
    background: #1a1a1a;
}

/* Burger → X */
.ca-hdr-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.ca-hdr-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.ca-hdr-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

/* ── Mobil-drawer ────────────────────────────────────────────── */
.ca-hdr-drawer {
    position: fixed;
    left: 0;
    right: 0;
    z-index: 9998;
    background: #929E98;
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.32s cubic-bezier(0.4, 0, 0.2, 1);
}
.ca-hdr-drawer--open { max-height: 520px; }

.ca-hdr-drawer-link {
    display: block;
    padding: 15px 100px;
    font-size: 16px;
    color: #1a1a1a !important;
    text-decoration: none !important;
    border-bottom: 0.5px solid rgba(0,0,0,0.08);
    transition: background 0.15s;
}
.ca-hdr-drawer-link:last-child { border-bottom: none; }
.ca-hdr-drawer-link:hover { background: rgba(0,0,0,0.06); }

/* ══ Responsive ════════════════════════════════════════════════ */

/* Tablet ≤ 1200px */
@media (max-width: 1200px) {
    .ca-hdr-row { padding: 14px 60px; gap: 16px; }
    .ca-hdr-navlink { font-size: 13px; padding: 6px 8px; }
    .ca-hdr-btn { font-size: 13px; padding: 0 14px; height: 36px; }
    .ca-hdr-logo img { width: 140px; }
}

/* Tablet ≤ 860px: nav → hamburger */
@media (max-width: 860px) {
    .ca-hdr-nav    { display: none; }
    .ca-hdr-burger { display: inline-flex; }
    .ca-hdr-row    { padding: 12px 40px; gap: 12px; }
    .ca-hdr-drawer-link { padding: 15px 40px; }
}

/* Mobil ≤ 680px: to-rækket */
@media (max-width: 680px) {
    .ca-hdr-row {
        flex-wrap: wrap;
        padding: 10px 20px 8px;
        row-gap: 14px;
        gap: 0;
    }
    .ca-hdr-logo {
        order: 1;
        flex: 0 0 100%;
        justify-content: center;
    }
    .ca-hdr-logo img { width: 130px; }
    .ca-hdr-burger {
        order: 2;
        display: inline-flex;
        margin-right: auto;
    }
    .ca-hdr-cta   { order: 3; gap: 6px; }
    .ca-hdr-btn   { font-size: 12px; padding: 0 11px; height: 32px; }
    .ca-hdr-drawer-link { padding: 14px 20px; }
}

/* Lille mobil ≤ 400px */
@media (max-width: 400px) {
    .ca-hdr-row { padding: 8px 12px 6px; }
    .ca-hdr-logo img { width: 110px; }
    .ca-hdr-btn { font-size: 11px; padding: 0 9px; height: 30px; letter-spacing: 0; }
    .ca-hdr-cta { gap: 4px; }
}

/* ─── Bureau-bar (sort linje over header) ───────────────────── */

/* ─── Login / Opret konto ──────────────────────────────────── */
.ca-login-wrap {
    max-width: 480px;
    margin: 0 auto;
    padding: 0 16px;
}

.ca-login-tabs {
    display: flex;
    gap: 0;
    border-bottom: 2px solid #e8e8e8;
    margin-bottom: 32px;
}

.ca-login-tab {
    padding: 12px 24px;
    font-size: 15px;
    font-weight: 500;
    color: #888;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: color 0.2s, border-color 0.2s;
}

.ca-login-tab:hover { color: #222; }

.ca-login-tab.aktiv {
    color: #222;
    border-bottom-color: #222;
}

.ca-login-form .ca-felt:last-of-type {
    margin-bottom: 24px;
}

.ca-besked-fejl {
    background: #fff0f0;
    color: #c0392b;
    border: 1px solid #fcc;
}

/* ─── Login-formular ─────────────────────────────────────────── */
.ca-login-formular {
    display: flex;
    flex-direction: column;
}

.ca-login-beskrivelse {
    font-size: 14px;
    color: #666;
    margin: 0 0 24px;
    line-height: 1.6;
}

.ca-login-link-raekke {
    text-align: center;
    margin: 0;
}

.ca-login-glemt-link {
    font-size: 13px;
    color: #888;
    text-decoration: none;
    transition: color .15s;
}
.ca-login-glemt-link:hover { color: #1a1a1a; text-decoration: underline; }

/* Vis/skjul adgangskode */
.ca-pwd-wrap {
    position: relative;
    display: flex;
    align-items: center;
}
.ca-pwd-wrap input {
    flex: 1;
    padding-right: 44px;
}
.ca-vis-pwd {
    position: absolute;
    right: 12px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: #aaa;
    display: flex;
    align-items: center;
    transition: color .15s;
}
.ca-vis-pwd:hover { color: #1a1a1a; }

/* Email-sendt bekræftelse */
.ca-login-sendt {
    text-align: center;
    padding: 16px 0 8px;
}
.ca-login-sendt-ikon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    background: #f0fff4;
    border-radius: 50%;
    margin: 0 auto 20px;
}
.ca-login-sendt-titel {
    font-size: 20px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 12px;
}
.ca-login-sendt-tekst {
    font-size: 14px;
    color: #666;
    line-height: 1.7;
    margin: 0 0 24px;
    max-width: 340px;
    margin-left: auto;
    margin-right: auto;
}

.ca-besked-ok {
    background: #f0fff4;
    color: #27ae60;
    border: 1px solid #b2dfdb;
}

/* ─── Enkelt model-side ─────────────────────────────────────── */
.ca-model-side {
    max-width: 1120px;
    margin: 0 auto;
}

/* Hero: billede + info */
.ca-model-hero {
    display: grid;
    grid-template-columns: 360px 1fr;
    align-items: start;
    gap: 0;
}

.ca-model-hero-img {
    position: sticky;
    top: 0;
    overflow: hidden;
    background: #f0f0f0;
    aspect-ratio: 3 / 4;
}

.ca-model-hero-profil {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
}

.ca-model-ingen-billede {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Info-kolonne */
.ca-model-hero-info {
    padding: 52px 52px 68px;
}

.ca-model-profil-meta {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #1a1a1a;
    margin: 0 0 18px;
}

.ca-model-profil-navn {
    font-size: 46px;
    font-weight: 700;
    color: #1a1a1a !important;
    line-height: 1.05;
    letter-spacing: -0.02em;
    margin: 0 0 10px;
}

.ca-model-sted {
    font-size: 14px;
    color: #999;
    margin: 0 0 22px;
}

.ca-model-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 30px;
}

/* Quick stats bar */
.ca-model-quick-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    border-top: 1px solid #ebebeb;
    border-bottom: 1px solid #ebebeb;
    padding: 14px 0;
    margin-bottom: 36px;
}

.ca-model-quick-stat {
    font-size: 13px;
    font-weight: 600;
    color: #1a1a1a;
    letter-spacing: 0.01em;
    padding-right: 18px;
    margin-right: 18px;
    border-right: 1px solid #ddd;
}

.ca-model-quick-stat:last-child {
    border-right: none;
    padding-right: 0;
    margin-right: 0;
}

/* Sektioner */
.ca-model-sektion {
    margin-bottom: 28px;
    padding-bottom: 28px;
    border-bottom: 1px solid #ebebeb;
}

.ca-model-sektion-sidst,
.ca-model-sektion:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.ca-model-sektion-titel {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: #c0c0c0;
    margin: 0 0 14px;
}

.ca-model-om {
    font-size: 15px;
    color: #444;
    line-height: 1.75;
    margin: 0;
}

/* Stats grid */
.ca-model-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border: 1px solid #ebebeb;
    border-radius: 8px;
    overflow: hidden;
}

.ca-model-stat {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 14px;
    border-bottom: 1px solid #ebebeb;
    gap: 12px;
    min-width: 0;
}

.ca-model-stats .ca-model-stat:nth-last-child(1),
.ca-model-stats .ca-model-stat:nth-last-child(2) {
    border-bottom: none;
}

.ca-model-stats .ca-model-stat:last-child:nth-child(odd) {
    grid-column: 1 / -1;
}

.ca-model-stat-label {
    font-size: 12px;
    color: #999;
    white-space: nowrap;
}

.ca-model-stat-value {
    font-size: 13px;
    font-weight: 500;
    color: #1a1a1a;
    text-align: right;
    word-break: break-word;
    overflow-wrap: break-word;
    min-width: 0;
}

/* PDF-knap */
.ca-model-pdf-knap {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 28px;
    padding: 9px 16px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    color: #555;
    background: #fff;
    cursor: pointer;
    text-decoration: none;
    transition: border-color .15s, color .15s;
}
.ca-model-pdf-knap:hover { border-color: #aaa; color: #222; }

/* Modelnummer */
.ca-model-nummer {
    font-size: 15px;
    color: #1a1a1a;
    margin: 4px 0 0;
    letter-spacing: 0.04em;
}

/* Kontakt-info linje */
.ca-model-kontakt-info {
    margin-top: 14px;
    font-size: 12px;
    color: #999;
}
.ca-model-kontakt-info a { color: #999; text-decoration: underline; }
.ca-model-kontakt-info a:hover { color: #555; }

/* Print / Gem som PDF */
@media print {
    @page {
        size: A4 portrait;
        margin: 16mm 14mm;
    }

    /* Skjul UI-elementer */
    .ca-model-pdf-knap,
    .ca-lightbox,
    nav, header, footer,
    .ca-db-sidebar,
    .ca-model-video-link,
    .breakdance-header,
    #wpadminbar { display: none !important; }

    body,
    html {
        background: #fff !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* WordPress sætter margin-top på body når adminbar er aktiv */
    body.admin-bar { margin-top: 0 !important; padding-top: 0 !important; }

    /* Breakdance / side-wrapper: fjern evt. top-padding */
    .section-container,
    .bde-code-block,
    [class*="bde-code-block"],
    .bde-section:first-child,
    [data-breakdance-area],
    .breakdance-body > *:first-child,
    main, .site-main, .page-content,
    .entry-content { margin-top: 0 !important; padding-top: 0 !important; }

    /* Hero: smal billedkolonne */
    .ca-model-hero {
        grid-template-columns: 200px 1fr !important;
        gap: 0 !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .ca-model-hero-img {
        position: static !important;
        max-height: 280px !important;
        aspect-ratio: auto !important;
        overflow: hidden !important;
    }

    .ca-model-hero-profil {
        height: 280px !important;
        object-fit: cover !important;
    }

    .ca-model-hero-info {
        padding: 12px 20px !important;
    }

    /* Hvert sektion holder sig samlet */
    .ca-model-sektion {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    /* Stats: 3 kolonner, holder sig samlet */
    .ca-model-stats {
        grid-template-columns: repeat(3, 1fr) !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .ca-model-stat {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    /* Portfolio-galleri */
    .ca-model-galleri-sektion {
        margin-top: 24px !important;
        padding-top: 16px !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .ca-model-galleri {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 6px !important;
    }

    .ca-galleri-thumb-btn {
        break-inside: avoid;
        page-break-inside: avoid;
    }
}

/* Video */
.ca-model-video-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: #1a1a1a;
    text-decoration: none;
    border: 1px solid #1a1a1a;
    border-radius: 4px;
    padding: 10px 18px;
    transition: background .15s, color .15s;
}

.ca-model-video-link:hover {
    background: #1a1a1a;
    color: #fff;
}

/* Kontakt */
.ca-model-kontakt {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ca-model-kontakt-knap {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: #1a1a1a;
    text-decoration: none;
    transition: color .15s;
}

.ca-model-kontakt-knap:hover { color: #666; }

/* Portfolio-galleri (under hero) */
.ca-model-galleri-sektion {
    margin-top: 64px;
    border-top: 1px solid #ebebeb;
    padding-top: 36px;
}

.ca-model-galleri-titel {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: #c0c0c0;
    margin: 0 0 20px;
}

.ca-model-galleri {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 8px;
}

.ca-galleri-thumb-btn {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    border-radius: 4px;
    border: none;
    padding: 0;
    cursor: pointer;
    background: #f0f0f0;
    transition: opacity .15s;
}

.ca-galleri-thumb-btn:hover { opacity: 0.85; }

.ca-galleri-thumb-btn img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .25s;
}

.ca-galleri-thumb-btn:hover img { transform: scale(1.04); }

/* Lightbox */
.ca-lightbox {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.92);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ca-lightbox-img-wrap {
    max-width: 90vw;
    max-height: 90vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ca-lightbox-img-wrap img {
    max-width: 90vw;
    max-height: 90vh;
    object-fit: contain;
    border-radius: 4px;
    display: block;
}

.ca-lightbox-luk {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255,255,255,0.12);
    color: #fff;
    border: none;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s;
    z-index: 10000;
}

.ca-lightbox-luk:hover { background: rgba(255,255,255,0.22); }

.ca-lightbox-nav {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255,255,255,0.1);
    color: #fff;
    border: none;
    font-size: 28px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s;
    z-index: 10000;
    line-height: 1;
}

.ca-lightbox-nav:hover { background: rgba(255,255,255,0.22); }
.ca-lightbox-prev { left: 16px; }
.ca-lightbox-next { right: 16px; }

.ca-lightbox-tæller {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 13px;
    color: rgba(255,255,255,0.6);
    letter-spacing: 0.04em;
}

/* Model-side responsiv: tablet */
@media (max-width: 860px) {
    .ca-model-hero {
        grid-template-columns: 1fr;
    }

    .ca-model-hero-img {
        position: static;
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
    }

    .ca-model-hero-info {
        padding: 36px 32px 48px;
    }

    .ca-model-profil-navn {
        font-size: 36px;
    }

    .ca-model-galleri {
        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    }
}

/* Model-side responsiv: mobil */
@media (max-width: 680px) {
    .ca-model-hero-img {
        position: static;
        max-width: 100%;
        width: 100%;
    }

    .ca-model-hero-info {
        padding: 28px 20px 40px;
    }

    .ca-model-profil-navn {
        font-size: 30px;
    }

    .ca-model-galleri {
        grid-template-columns: repeat(2, 1fr);
        gap: 6px;
    }

    .ca-model-galleri-sektion {
        margin-top: 40px;
        padding-top: 28px;
    }
}

/* Model-side responsiv: lille mobil */
@media (max-width: 400px) {
    .ca-model-hero-info {
        padding: 24px 16px 36px;
    }

    .ca-model-profil-navn {
        font-size: 26px;
    }

    .ca-model-stats {
        grid-template-columns: 1fr;
    }

    .ca-model-stats .ca-model-stat:nth-last-child(1),
    .ca-model-stats .ca-model-stat:nth-last-child(2) {
        border-bottom: 1px solid #ebebeb;
    }

    .ca-model-stats .ca-model-stat:last-child {
        border-bottom: none;
    }
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE
   860px = tablet   |   680px = mobil   |   400px = lille mobil
   ═══════════════════════════════════════════════════════════════ */

/* ── Tablet (≤ 860px) ─────────────────────────────────────────── */
@media (max-width: 860px) {

    /* Katalog: 3 → 2 kolonner */
    .ca-katalog-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    /* Panel lidt smallere */
    .ca-model-panel {
        width: 440px;
    }
}

/* ── Mobil (≤ 680px) ──────────────────────────────────────────── */
@media (max-width: 680px) {

/* Dashboard: sidebar over indhold */
    .ca-db-layout {
        flex-direction: column;
        gap: 20px;
    }

    .ca-db-sidebar {
        width: 100%;
    }

    .ca-db-sidebar-bund {
        margin-top: 0;
        padding-top: 8px;
    }

    /* Dashboard grids → 1 kolonne */
    .ca-profiler-grid,
    .ca-ansogninger-grid {
        grid-template-columns: 1fr;
    }

    /* Profilkort: kompakt */
    .ca-profil-handlinger {
        flex-wrap: wrap;
        gap: 6px;
    }

    /* Profil-formular → 1 kolonne */
    .ca-profil-form-grid {
        grid-template-columns: 1fr;
    }

    .ca-felt-bred {
        grid-column: auto;
    }

    /* Ordre-rækker: stack vertikalt */
    .ca-ordre-raekke {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
        padding: 12px 14px;
    }

    .ca-ordre-detaljer {
        flex-wrap: wrap;
        gap: 8px;
    }

    /* Katalog: forhindrer overflow af siden */
    .ca-katalog {
        overflow-x: hidden;
        width: 100%;
    }

    .ca-katalog-grid-wrap {
        overflow-x: hidden;
    }

    /* Filterbar: horisontal scroll — width: 100% er KRITISK for at overflow-x: auto virker */
    .ca-filterbar {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        touch-action: pan-x;
        padding-bottom: 6px;
        scrollbar-width: none;
        gap: 6px;
    }

    .ca-filterbar::-webkit-scrollbar { display: none; }

    .ca-filterbar-soeg {
        min-width: 160px;
        max-width: 220px;
        flex-shrink: 0;
    }

    .ca-ms {
        flex-shrink: 0;
    }

    /* Dropdown panels: fixed bredde på mobil */
    .ca-ms-panel {
        min-width: 160px;
    }

    /* Katalog titel */
    .ca-katalog-titel {
        font-size: 18px;
    }

    /* Model-kort info */
    .ca-model-navn {
        font-size: 13px;
    }

    /* Detalje-panel: bottom sheet på mobil */
    .ca-model-panel {
        width: 100%;
        max-width: 100%;
        top: auto;
        right: 0;
        bottom: 0;
        height: 88vh;
        transform: translateY(100%);
        border-radius: 16px 16px 0 0;
        box-shadow: 0 -4px 32px rgba(0,0,0,0.18);
    }

    .ca-model-panel--aktiv {
        transform: translateY(0);
    }

    .ca-model-panel-indhold {
        padding: 24px 20px;
    }

    /* Progress-labels: skjul på mobil */
    .ca-progress-label {
        display: none;
    }

    /* Formular fuld bredde */
    .ca-form,
    .ca-faerdig,
    .ca-ansogninger,
    .ca-upload-wrap {
        max-width: 100%;
    }

    /* Nav-knapper: stacked */
    .ca-nav-knapper {
        flex-direction: column;
    }

    .ca-nav-knapper .ca-btn-sekundaer,
    .ca-nav-knapper .ca-btn-primaer,
    .ca-nav-knapper button.ca-btn-primaer {
        flex: none;
        width: 100%;
    }

    /* Model-side: allerede håndteret i 780px breakpoint */

    /* Lightbox nav: lidt mindre */
    .ca-lightbox-nav {
        width: 40px;
        height: 40px;
        font-size: 22px;
    }

    .ca-lightbox-prev { left: 8px; }
    .ca-lightbox-next { right: 8px; }
}

/* ── Lille mobil (≤ 400px) ────────────────────────────────────── */
@media (max-width: 400px) {

    /* Katalog: 1 kolonne */
    .ca-katalog-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    /* Deaktivér hover-lift på touch */
    .ca-model-kort:hover {
        transform: none;
    }

/* Dashboard avatar + navn */
    .ca-db-navn {
        max-width: 200px;
    }

    /* Trin-5 knapper: stack vertikalt */
    .ca-faerdig {
        flex-direction: column;
    }

    /* Ansøgningskort på trin-5: kompakt */
    .ca-ansogning-kort {
        gap: 10px;
        padding: 10px 12px;
    }
}
