 :root {
     --primary-blue: #0056b3;
     --text-dark: #333;
     --bg-light: #f4f7f6;
     --border: #e0e0e0;
     --premium-gold: #ffd700;
 }

 /* main wrapper to fit into your Django base template */
 .directory-wrapper {
     width: 100%;
     margin: 0;
     padding: 0 0 20px;
     box-sizing: border-box;
     /* Allow full-bleed hero to break out to viewport width */
     overflow-x: visible;
     overflow-y: visible;
     position: relative;
 }

main.container:has(.directory-wrapper) {
    padding-top: 0;
}

.rg-breadcrumb {
    width: min(1200px, calc(100% - 40px));
    margin: 8px auto 18px;
}

.rg-breadcrumb__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 10px;
    font-size: 13px;
    line-height: 1.35;
    color: #667085;
}

.rg-breadcrumb__item {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.rg-breadcrumb__item + .rg-breadcrumb__item::before {
    content: "/";
    color: #98a2b3;
    margin-right: 2px;
}

.rg-breadcrumb__item a {
    color: #4b5563;
    text-decoration: none;
}

.rg-breadcrumb__item a:focus-visible {
    color: #1a502c;
    text-decoration: underline;
}

.rg-breadcrumb__item--current {
    color: #111827;
    font-weight: 600;
}

/* Home index: breadcrumb overlays hero without affecting hero layout */
.directory-wrapper > .rg-breadcrumb {
    position: absolute;
    top: 14px;
    left: 50%;
    transform: translateX(-50%);
    width: min(1180px, calc(100% - 48px));
    margin: 0;
    z-index: 4;
}

@media (max-width: 768px) {
    .directory-wrapper > .rg-breadcrumb {
        top: 10px;
        width: calc(100% - 32px);
    }
}

 /* Base Styles (Desktop / Large Screens) */
.badges-container {
     display: flex;
     gap: 15px;
     width: 100%;
     margin: -58px 0 22px;
     position: relative;
     z-index: 3;
 }

 .badge-box {
     flex: 1;
     display: flex;
     align-items: center;
     gap: 20px;
     padding: 20px;
     border: 1px solid #ddd;
     border-radius: 12px;
     text-align: left;
     background-color: #fff;
 }

 .badge-icon {
     width: 44px;
     height: 57px;
     flex: 0 0 44px;
     background-repeat: no-repeat;
     background-position: center;
     background-size: 44px 57px;
 }

 .badge-text {
     display: flex;
     flex-direction: column;
     justify-content: center;
     gap: 2px;
     min-width: 0;
 }

 .box-label {
     font-size: 0.75rem;
     color: #666;
     text-transform: uppercase;
 }

 .box-title {
     font-size: 1rem;
     font-weight: 600;
     margin: 0;
     color: #4b5563;
 }

 .box-count {
     font-size: 1.6rem;
     font-weight: 800;
     line-height: 1.1;
 }

 .badge-box--companies .badge-icon {
     background-image: url("../img/rg-stat-company.svg");
 }

.badge-box--industries .badge-icon:not(.badge-icon--svg) {
     background-image: url("../img/rg-stat-industries.svg");
 }

.badge-box--premium .badge-icon:not(.badge-icon--svg) {
     background-image: url("../img/rg-stat-premium.svg");
 }

.badge-icon--svg {
    background-image: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #5EAF6B;
}

.badge-icon--svg svg {
    width: 100%;
    height: 100%;
    display: block;
}

 /* --- Media Queries --- */

 /* Tablet (iPad) - screen width under 1024px */
 @media (max-width: 1024px) {
     .header-section {
         height: 500px;
     }

     .badges-container {
         gap: 10px;
         margin-top: -40px;
         /* Tighter gap for smaller screens */
     }

     .badge-box {
         padding: 15px;
         /* Reduce padding to save space */
         gap: 12px;
     }

     .box-count {
         font-size: 1.3rem;
         /* Slightly smaller text */
     }
 }

/* Mobile (iPhone) - screen width under 768px */
@media (max-width: 768px) {
    .badges-container {
        flex-direction: row;
        align-items: stretch;
        gap: 8px;
        margin: 14px 0;
        /* Keep all three badges side-by-side on mobile */
    }

    .badge-box {
        flex: 1 1 0;
        min-width: 0;
        padding: 10px 12px;
        gap: 10px;
        border-radius: 10px;
        border-color: #eceff3;
        background: #fafbfc;
        min-height: 56px;
    }

    .badge-icon {
        width: 26px;
        height: 34px;
        flex: 0 0 26px;
        background-size: 26px 34px;
    }

    .badge-box--industries .badge-icon,
    .badge-box--premium .badge-icon {
        width: 22px;
        height: 30px;
        flex: 0 0 22px;
        background-size: 22px 30px;
    }

    .box-count {
        font-size: 1.2rem;
    }

    .box-title {
        font-size: 0.84rem;
    }
}

 /* FLEXBOX: Filter/Search Bar  */
 .filter-section {
     display: flex;
     flex-wrap: wrap;
     gap: 15px;
     align-items: center;
     background: #fff;
     padding: 20px;
     border-radius: 8px;
     margin-bottom: 30px;
     border: 1px solid var(--border);
 }

 .rg-search-input {
     flex-grow: 1;
     padding: 10px;
     border: 1px solid var(--border);
     border-radius: 4px;
 }

 /* GRID: The Main Layout [cite: 16] */
 .partner-grid {
     display: grid;
     /* This forces exactly two columns, each taking 50% of the available space */
     grid-template-columns: 1fr 1fr;
     gap: 24px;
     width: 100%;
 }

.header-section {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    height: 560px;
    position: relative;
    overflow: hidden;
    background-color: #e9eeea;
    background-image:
        linear-gradient(to bottom, rgba(255, 255, 255, 0.58), rgba(255, 255, 255, 0.58)),
        url("../img/rekryteringsguiden-hero.jpeg");
    background-size: cover, cover;
    background-position: center, center;
    background-repeat: no-repeat, no-repeat;
    padding: 0;
    border-bottom: none;
    margin-bottom: 0;
}

.header-section::before {
    content: none;
}

.header-section__inner {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    height: 100%;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
     text-align: left;
 }

.header-section h1 {
    font-size: 56px;
    color: #111827;
    margin: 0 0 20px 0;
    font-weight: 800;
    line-height: 1.1;
}

 .header-section .lead-text {
     font-size: 1.25rem;
     color: #4b5563;
     max-width: 800px;
     /* Limits width to keep lines readable */
     line-height: 1.6;
     margin-bottom: 15px;
 }

 .header-section__cta {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     margin-top: 12px;
     padding: 12px 22px;
     border-radius: 999px;
     background-color: #49b170;
     color: #ffffff !important;
     text-decoration: none;
     font-size: 16px;
     line-height: 1;
     font-weight: 600;
     border: 1px solid #49b170;
     vertical-align: middle;
     transition: background-color 0.2s ease, border-color 0.2s ease;
 }

 .header-section__cta::after {
     content: "→";
     font-size: 14px;
     line-height: 1;
 }

 .header-section__cta:focus-visible {
     background-color: #3f9a61;
     border-color: #3f9a61;
     color: #ffffff !important;
 }

 .header-section .sub-text {
     font-size: 1rem;
     color: #6b7280;
     border-left: 3px solid #0056b3;
     /* Adds a decorative accent on the left */
     padding-left: 15px;
 }

 /* FLEXBOX: Card Inner Logic */
 .partner-card {
     display: flex;
     flex-direction: column;
     border: 1px solid #e5e7eb;
     border-radius: 12px;
     padding: 16px;
     background: #fff;
     height: 100%;
     margin-bottom: 20px;
     /* Space between cards in mobile/stack view */
     box-sizing: border-box;
     position: relative;
     overflow: hidden;
 }

 .card-top {
     display: flex;
     justify-content: space-between;
     align-items: center;
     margin-bottom: 16px;
     gap: 12px;
     min-height: 36px;
 }

 .card-logo {
     min-height: 36px;
     display: inline-flex;
     align-items: center;
     flex: 1 1 auto;
     max-width: 72%;
     min-width: 0;
 }

 .card-logo:empty {
     min-height: 0;
 }

 .card-logo__img {
     max-height: 36px;
     width: auto;
     max-width: 100%;
     object-fit: contain;
     display: block;
 }

 /* Premium badge visual style is defined globally further down in this file. */

 .card-body {
     flex-grow: 1;
     /* Pushes button to bottom regardless of description length */
     display: flex;
     flex-direction: column;
     gap: 10px;
 }

 .card-body h3 {
     margin: 0;
     word-wrap: break-word;
     /* Prevents long names from breaking the box */
     font-size: 1.25rem;
     line-height: 1.25;
 }

 .card-body p {
     margin: 0;
     color: #4b5563;
     line-height: 1.5;
 }

 .yrkesomraden-label {
     font-weight: 700;
     display: block;
     margin: 12px 0 2px;
     font-size: 0.86rem;
     color: #374151;
     text-transform: uppercase;
     letter-spacing: 0.02em;
 }

 /* FLEXBOX: */
 .tag-container {
     display: flex;
     flex-wrap: wrap;
     gap: 5px 6px;
     margin: 0;
 }

 .tag {
     background: #f5f5f5;
     border: none;
     padding: 6px 10px;
     border-radius: 16px;
     font-size: 0.78rem;
     line-height: 1.2;
     color: #1f2937;
     display: inline-flex;
     align-items: center;
     min-height: 24px;
     white-space: nowrap;
 }

.btn-view {
    align-self: stretch;
    color: #1a502c;
    text-decoration: none;
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #e6e6e6;
    background: #5EAF6B1F;
    padding: 10px 14px;
    border-radius: 9999px;
     font-weight: 600;
     text-align: center;
     margin-top: 14px;
     line-height: 1.1;
     transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
     /* Final push to bottom */
}

.btn-view:focus-visible {
    background: #5EAF6B;
    border-color: #5EAF6B;
    color: #ffffff;
}

.premium-badge {
     display: inline-flex;
     align-items: center;
     gap: 7px;
     justify-content: center;
     padding: 5px 11px;
     border-radius: 8px;
     background: #ffffff;
     color: #111111;
     border: 1px solid #d5dae1;
     font-size: 12px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.03em;
     line-height: 1;
 }

/* Ensure premium visual style wins even when .card-badge sets defaults */
.card-badge.premium-badge {
    background: #ffffff !important;
    color: #111111 !important;
    border: 1px solid #d5dae1 !important;
}

 /* Scale the SVG to match the text height */
 .premium-badge svg {
     width: 12px;
     height: 12px;
     display: block;
 }

 .premium-badge svg path {
     fill: #111111;
     stroke: #111111;
 }

 .partner-card .card-badge.premium-badge {
     position: absolute;
     top: 8px;
     right: 10px;
     height: auto;
     min-width: 0;
     margin: 0;
     padding: 4px 8px 5px;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     background: rgba(255, 255, 255, 0.88) !important;
     color: #111827 !important;
     border: 0 !important;
     border-left: 1px solid rgba(17, 24, 39, 0.14) !important;
     border-bottom: 1px solid rgba(17, 24, 39, 0.14) !important;
     border-radius: 0 0 0 6px;
     box-shadow: none;
     font-size: 9px;
     font-weight: 700;
     line-height: 1.1;
     letter-spacing: 0.12em;
     text-transform: uppercase;
     z-index: 2;
     overflow: hidden;
     pointer-events: none;
 }

 .partner-card .card-badge.premium-badge svg {
     display: none;
 }

 .quality-badges {
     display: flex;
     flex-wrap: wrap;
     align-items: center;
     gap: 8px;
 }

 .quality-badge {
     padding: 10px 0 0;
     align-self: flex-start;
 }

 .quality-badge__img {
     max-height: 44px;
     width: auto;
     display: block;
 }

.search-container {
    width: 100%;
    margin-bottom: 22px;
    overflow: visible;
}

.filter-panel-anchor {
    position: relative;
    width: 100%;
    overflow: visible;
    z-index: 30;
}

.search-flex-row {
     display: flex;
     gap: 12px;
     width: 100%;
     align-items: center;
 }

 .search-input-wrapper {
     position: relative;
     flex-grow: 1;
     /* Makes the search bar expand to fill the row */
 }

 .search-input-wrapper::before {
     content: "";
     position: absolute;
     left: 14px;
     top: 50%;
     width: 18px;
     height: 18px;
     transform: translateY(-50%);
     background-repeat: no-repeat;
     background-position: center;
     background-size: 18px 18px;
     background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='11' cy='11' r='6.5' stroke='%23707D8E' stroke-width='2'/%3E%3Cpath d='M16 16L21 21' stroke='%23707D8E' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
     pointer-events: none;
 }

 .search-input-wrapper .rg-search-input {
     width: 100%;
     height: 48px;
     padding: 0 14px 0 44px;
     /* Space for icon */
     border: 1px solid var(--border);
     border-radius: 12px;
     font-size: 1rem;
     box-sizing: border-box;
     background: #fff;
     color: #1d2530;
     outline: none;
     transition: border-color 0.2s ease, box-shadow 0.2s ease;
 }

 .search-input-wrapper .rg-search-input:focus {
     border-color: #cdb27a;
     box-shadow: 0 0 0 3px rgba(225, 182, 88, 0.18);
 }

 .search-icon {
     position: absolute;
     left: 12px;
     top: 50%;
     transform: translateY(-50%);
     color: #888;
 }

 .btn-filter {
     display: inline-flex;
     align-items: center;
      gap: 10px;
     height: 48px;
     padding: 0 26px;
     min-width: 136px;
     flex: 0 0 auto;
     background: #f7f8fa;
     border: 1px solid #c9d1dc;
     border-radius: 12px;
     cursor: pointer;
     font-weight: 700;
     white-space: nowrap;
     /* Prevents "Filter" from wrapping */
     color: #18212d;
     transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
 }

 .btn-filter::before {
     content: "";
     width: 18px;
     height: 18px;
     background-repeat: no-repeat;
     background-position: center;
     background-size: 18px 18px;
     background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M3 5H21L14 13V19L10 21V13L3 5Z' stroke='%2318212D' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");
 }

 .btn-filter:focus-visible {
     background: #1A502C;
     border-color: #1A502C;
     color: #ffffff;
     box-shadow: 0 8px 20px rgba(26, 80, 44, 0.22);
 }

 .btn-filter:focus-visible::before {
     background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M3 5H21L14 13V19L10 21V13L3 5Z' stroke='%23FFFFFF' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E");
 }

 .filter-count {
     background: var(--bg-light);
     padding: 2px 6px;
     border-radius: 4px;
     font-size: 0.8rem;
 }

 .btn-filter:focus-visible .filter-count {
     background: rgba(255, 255, 255, 0.22);
     color: #ffffff;
 }

 .btn-clear-text {
    background: none;
    border: none;
    color: #ef4444; /* Red color to signal "reset" */
    text-decoration: underline;
    cursor: pointer;
    font-weight: 500;
    padding: 10px;
}

/* Modal Background */
.modal-overlay {
    display: flex; /* Hidden by default */
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    left: auto;
    width: 100%;
    z-index: 3200;
    justify-content: flex-end;
    align-items: flex-start;
    pointer-events: auto;
}

.modal-overlay::before {
    content: none;
}

.modal-content {
    background: #ffffff;
    width: 100%;
    max-width: none;
    max-height: calc(100vh - 140px);
    max-height: calc(100dvh - 140px);
    border-radius: 16px;
    border: 1px solid #e5e7eb;
    display: flex;
    flex-direction: column;
    overflow: visible;
    box-shadow:
        0 16px 36px rgba(15, 23, 42, 0.16),
        0 4px 12px rgba(15, 23, 42, 0.09);
    animation: rg-filter-pop 150ms ease-out;
    transform-origin: top right;
    position: relative;
}

.modal-content::before {
    content: "";
    position: absolute;
    top: -8px;
    right: 34px;
    width: 14px;
    height: 14px;
    background: #ffffff;
    border-left: 1px solid #e5e7eb;
    border-top: 1px solid #e5e7eb;
    transform: rotate(45deg);
}

@keyframes rg-filter-pop {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Header & Footer */
.modal-header, .modal-footer {
    padding: 16px 22px;
    display: flex;
    align-items: center;
}

.modal-header {
    justify-content: space-between;
    border-bottom: 1px solid #eef2f7;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
}

.modal-header h2 {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.2;
    color: #111827;
}

.close-x {
    border: 1px solid #dbe3eb;
    background: #ffffff;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    font-size: 24px;
    line-height: 1;
    color: #374151;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.close-x:focus-visible {
    background: #f7f8fa;
    border-color: #c7d2df;
}

.modal-footer {
    border-top: 1px solid #eef2f7;
    border-bottom: none;
    justify-content: flex-end;
    gap: 8px;
    background: #fcfdff;
}

.modal-footer .btn-primary {
    height: 40px;
    border-radius: 10px;
    padding: 0 14px;
    margin: 0;
    border: 1px solid #d7dee8;
    background: #ffffff;
    color: #4b5563;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.modal-footer .btn-primary:last-child {
    background: #1a502c;
    border-color: #1a502c;
    color: #ffffff;
    min-width: 136px;
}

.modal-footer .btn-primary:focus-visible {
    background: #f8fafc;
    border-color: #c6d1df;
}

.modal-footer .btn-primary:last-child:focus-visible {
    background: #143f22;
    border-color: #143f22;
}

.modal-footer .btn-clear-text {
    height: 40px;
    border-radius: 10px;
    border: 1px solid #efd9d9;
    text-decoration: none;
    padding: 0 14px;
    margin: 0;
    background: #ffffff;
    color: #b42318;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.modal-footer .btn-clear-text:focus-visible {
    background: #fff5f5;
    border-color: #e8b4b4;
    color: #b42318;
}

/* The Grid Layout */
.filter-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr; /* Give more space to Bransch */
    flex: 1 1 auto;
    min-height: 0;
    gap: 20px;
    padding: 18px 22px 20px;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.filter-group {
    border: 1px solid #ecf1f6;
    border-radius: 14px;
    padding: 13px 14px;
    background: #fbfcfe;
}

.filter-group h3 {
    font-size: 0.95rem;
    margin: 0 0 12px;
    color: #1f2937;
    letter-spacing: 0.01em;
}

/* Multi-column list for Bransch */
.bransch-columns {
    column-count: 2;
    column-gap: 16px;
}

.checkbox-list label, .radio-list label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    font-size: 0.9rem;
    cursor: pointer;
    break-inside: avoid; /* Prevents splitting labels across columns */
    color: #374151;
}

.checkbox-list label:last-child, .radio-list label:last-child {
    margin-bottom: 0;
}

/* Responsive */
@media (max-width: 850px) {
    .header-section h1 {
        font-size: 44px;
    }

    .header-section {
        height: auto;
        min-height: 0;
        padding: 44px 0 52px;
        margin-bottom: 12px;
    }

    .badges-container {
        margin: 14px 0 16px;
        z-index: 1;
    }

    .header-section__inner {
        height: auto;
        width: min(1180px, calc(100% - 32px));
        justify-content: flex-start;
    }

    .header-section .lead-text {
        font-size: 0.94rem;
        line-height: 1.45;
        margin-bottom: 12px;
        max-width: 100%;
    }

    .search-input-wrapper .rg-search-input {
        font-size: 0.8rem;
    }

    .search-input-wrapper .rg-search-input::placeholder {
        font-size: 0.8rem;
    }

    .modal-overlay {
        position: fixed;
        inset: 0;
        width: 100%;
        top: 0;
        justify-content: center;
        align-items: center;
        padding: 14px;
    }

    .modal-content {
        width: 100%;
        max-height: calc(100vh - 80px);
        border-radius: 14px;
        transform-origin: center;
    }

    .modal-content::before {
        content: none;
    }

    .filter-grid {
        grid-template-columns: 1fr; /* Single column on mobile */
        padding: 14px;
    }
    .bransch-columns {
        column-count: 1;
    }

    .modal-footer {
        flex-wrap: wrap;
    }

    .modal-footer .btn-primary,
    .modal-footer .btn-clear-text {
        width: 100%;
    }
}

@media (max-width: 600px) {
    .header-section h1 {
        font-size: 30px;
    }

    .header-section {
        padding: 40px 0 48px;
    }

    .badges-container {
        margin: 12px 0;
    }

    .header-section__inner {
        padding-left: 12px;
    }

    .header-section .lead-text {
        font-size: 0.88rem;
        line-height: 1.4;
    }

    .search-input-wrapper .rg-search-input {
        font-size: 0.76rem;
    }

    .search-input-wrapper .rg-search-input::placeholder {
        font-size: 0.76rem;
    }
}

 .pagination {
     margin-top: 1.25rem;
     display: flex;
     flex-wrap: wrap;
     align-items: center;
     justify-content: center;
     gap: 0.45rem;
 }

 .pagination a,
 .pagination .disabled,
 .pagination .current {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     padding: 0.4rem 0.7rem;
     border-radius: var(--ja-radius-md);
     border: 1px solid var(--ja-border);
     background: #fff;
     text-decoration: none;
     color: var(--ja-muted);
     font-size: 0.88rem;
 }

 .pagination .current {
     background: #eff6ff;
     border-color: #bfdbfe;
     color: #1e3a8a;
     font-weight: 600;
 }

 .pagination .disabled {
     opacity: 0.55;
 }

 @media (max-width: 768px) {
     .pagination {
         flex-wrap: nowrap;
         justify-content: flex-start;
         overflow-x: auto;
         -webkit-overflow-scrolling: touch;
         scrollbar-width: none;
         gap: 0.35rem;
         padding-bottom: 2px;
     }

     .pagination::-webkit-scrollbar {
         display: none;
     }

     .pagination a,
     .pagination .disabled,
     .pagination .current {
         white-space: nowrap;
         padding: 0.34rem 0.58rem;
         font-size: 0.8rem;
         border-radius: 10px;
     }

     .pagination .current {
         padding: 0.4rem 0.7rem;
     }
 }

 /* Responsive adjustments */
 @media (max-width: 600px) {
     .partner-grid {
         grid-template-columns: 1fr;
     }
 }

 /* --- Media Queries --- */

 /* iPad/Tablet (Up to 1024px) */
 @media (max-width: 1024px) {
     .partner-card {
         padding: 15px;
     }
 }

 /* iPhone/Mobile (Up to 768px) */
 @media (max-width: 768px) {
     .partner-card {
         padding: 14px;
     }

     .card-top {
         flex-direction: row;
         align-items: center;
         margin-bottom: 14px;
     }

     .card-logo__img {
         max-height: 32px;
     }

     .partner-card .card-badge.premium-badge {
         top: 7px;
         right: 8px;
         padding: 4px 7px;
         font-size: 8.5px;
         letter-spacing: 0.1em;
     }

     .btn-view {
         margin-top: 12px;
     }
 }


 /* --- Layout Container --- */
 .company-container {
     display: grid;
     grid-template-columns: 1fr 300px;
     /* Main content + 300px Sidebar */
     gap: 40px;
     max-width: 1200px;
     margin: 0 auto;
     padding: 20px;
 }


 /* --- Main Content --- */
 .company-header {
     display: flex;
     align-items: center;
     gap: 20px;
     margin-bottom: 30px;
 }

 .company-logo {
     max-width: 120px;
     height: auto;
 }

 /* Premium badge uses global .premium-badge style across the site */

 /* --- Contact Form --- */
 .contact-section {
     margin-top: 40px;
     padding-top: 30px;
     border-top: 1px solid #eee;
 }

 .contact-form-header {
     font-size: 1.2rem;
 }

 .form-group {
     margin-bottom: 15px;
 }

 .form-group label {
     display: block;
     margin-bottom: 5px;
     font-weight: 600;
 }

 .form-group input,
 .form-group textarea {
     width: 100%;
     padding: 10px;
     border: 1px solid #ccc;
     border-radius: 6px;
 }

 .btn-submit {
     background: #28a745;
     color: white;
     padding: 12px 24px;
     border: none;
     border-radius: 6px;
     cursor: pointer;
 }

 .referenser-list {
     display: grid;
     grid-template-columns: 1fr 1fr;
     /* Two equal columns */
     gap: 10px 40px;
     /* Vertical and Horizontal gap */
     padding: 0;
     list-style: none;
     /* Often cleaner to remove dots in grids */
 }

 /* --- Sidebar --- */
 .company-sidebar {
     /* background: #f8f9fa; */
     padding: 25px;
     border-radius: 12px;
     height: fit-content;
     position: sticky;
     top: 20px;
 }

 .sidebar-actions {
     display: flex;
     flex-direction: column;
     /* Stacks items vertically */
     align-items: center;
     /* Centers items horizontally */
     gap: 15px;
     width: 100%;
 }

 .profession-area {
     display: flex;
     flex-wrap: wrap;
     /* Allows tags to jump to the next line */
     gap: 8px;
     /* Space between tags */
     list-style: none;
     /* Removes the dots */
     padding: 0;
     margin: 15px 0;
 }

 .profession-area li {
     background-color: #f0f4f8;
     /* Light blue/gray background */
     color: #334e68;
     /* Darker text for contrast */
     padding: 6px 14px;
     border-radius: 20px;
     /* Pill shape */
     font-size: 0.85rem;
     font-weight: 500;
     border: 1px solid #d9e2ec;
     transition: all 0.2s ease;
 }

 .btn-back {
     display: inline-flex;
     align-items: center;
     gap: 18px;

     margin: 20px auto 0 auto;
     padding: 10px 20px;
     background-color: transparent;
     color: #4b5563;
     /* Subtle gray */
     border: 1px solid #d1d5db;
     border-radius: 8px;
     text-decoration: none;
     font-weight: 500;
     font-size: 0.95rem;

     display: inline-flex;
     align-items: center;
     justify-content: center;
     /* Optional: give it a specific width or let padding decide */


 }


 .btn-primary {
     background-color: transparent;
     color: #4b5563;
     /* Subtle gray */
     border: 1px solid #d1d5db;
     color: black;
     text-align: center;
     padding: 12px 30px;
     border-radius: 6px;
     text-decoration: none;
     margin: 10px 0
 }

 .btn-linkedin img {
     height: 30px;
     display: block;
     margin: 0 auto;
 }

 /* Row for inputs */
 .input-row {
     display: flex;
     gap: 15px;
     margin-bottom: 15px;
 }

 /* Individual input containers */
 .field {
     flex: 1;
     display: flex;
     flex-direction: column;
 }

 .field input {
     padding: 8px;
     border: 1px solid #ccc;
     border-radius: 4px;
 }

 /* Button left-aligned */
 .button-row {
     display: flex;
     justify-content: flex-start;
     /* This moves the button to the left */
 }

 .btn-send {
     padding: 10px 30px;
     cursor: pointer;
 }

 /* Mobile: Stack everything */
 @media (max-width: 600px) {
     .input-row {
         flex-direction: column;
     }

     .btn-send {
         width: 100%;
         /* Optional: full width on mobile often looks better */
     }
 }

 /* --- Responsive Media Queries --- */

 /* Tablets & Mobile (Stacking logic) */
 @media (max-width: 992px) {
     .company-container {
         grid-template-columns: 1fr;
         /* Sidebar drops below main content */
     }

     .company-sidebar {
         position: static;
         /* Remove sticky on mobile */
         order: 2;
         /* Content first, sidebar second */
     }

     .company-header {
         flex-direction: column;
         text-align: center;
     }
 }

/* Company page modern pass (scoped) */
.rg-company-page {
    background: #ffffff;
    padding: 26px 0 40px;
}

.rg-company-page .company-container {
    max-width: 1200px;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 28px;
    padding: 0 20px;
}

.rg-company-page .company-main {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.rg-company-page .company-admin-link {
    display: inline-flex;
    align-self: flex-start;
    margin: 0 0 8px;
    padding: 10px 16px;
    border-radius: 10px;
    border: 1px solid #d1d5db;
    background: #f3f4f6;
    color: #111827;
    text-decoration: none;
    font-weight: 600;
}

.rg-company-page .company-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 22px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.04);
}

/* Company profile: remove card chrome for top header + description sections only */
.rg-company-page .company-header.company-card,
.rg-company-page .company-description.company-card {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
}

.rg-company-page .company-header {
    gap: 18px;
    margin-bottom: 0;
    align-items: stretch;
    flex-direction: column;
    padding-top: 2px;
}

.rg-company-page .company-header-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    width: 100%;
}

.rg-company-page .company-logo-wrap {
    min-width: 180px;
    min-height: 72px;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    flex: 1 1 auto;
}

.rg-company-page .company-logo {
    max-width: 180px;
    max-height: 72px;
    width: auto;
    height: auto;
    object-fit: contain;
    flex-shrink: 0;
}

.rg-company-page .header-text h1 {
    margin: 0;
    line-height: 1.1;
}

.rg-company-page .header-text {
    width: 100%;
}

.rg-company-page .header-text h1 {
    margin: 0;
    min-width: 0;
    line-height: 1.1;
}

.rg-company-page .company-header .company-premium-badge {
    margin: 0;
    margin-left: auto;
    flex-shrink: 0;
    align-self: flex-start;
    height: auto;
    min-width: 0;
    padding: 4px 8px 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.88) !important;
    color: #111827 !important;
    border: 0 !important;
    border-left: 1px solid rgba(17, 24, 39, 0.14) !important;
    border-bottom: 1px solid rgba(17, 24, 39, 0.14) !important;
    border-radius: 0 0 0 6px;
    box-shadow: none;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    overflow: hidden;
    pointer-events: none;
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    float: none !important;
    z-index: 1;
}

.rg-company-page .company-header .company-premium-badge svg {
    display: none;
}

.rg-company-page .header-text {
    margin-top: 4px;
}

.rg-company-page .company-description p {
    margin: 0;
    color: #374151;
    line-height: 1.7;
}

.rg-company-page .company-description.company-card {
    margin-top: 28px;
}

.rg-company-page .company-description h2,
.rg-company-page .contact-form-header {
    margin: 0 0 14px;
    color: #111827;
}

.rg-company-page .referenser-list {
    margin: 0;
    gap: 8px 24px;
}

.rg-company-page .referenser-list li {
    color: #374151;
    padding-left: 14px;
    position: relative;
}

.rg-company-page .referenser-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.6em;
    width: 5px;
    height: 5px;
    border-radius: 999px;
    background: #5eaf6b;
}

.rg-company-page .contact-section {
    margin-top: 0;
    padding-top: 22px;
    border-top: 1px solid #eef1f5;
}

.rg-company-page .form-group {
    margin-bottom: 12px;
}

.rg-company-page .contact-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    max-width: 560px;
    width: 100%;
}

.rg-company-page .contact-row .form-group {
    min-width: 0;
    margin: 0;
}

.rg-company-page .contact-row + .form-group {
    margin-top: 16px;
}

.rg-company-page .form-group label {
    margin-bottom: 6px;
    color: #111827;
}

.rg-company-page .form-group input,
.rg-company-page .form-group textarea,
.rg-company-page .field input {
    border: 1px solid #d1d5db;
    border-radius: 10px;
    background: #ffffff;
    color: #111827;
}

.rg-company-page .form-group input,
.rg-company-page .field input {
    height: 40px;
    padding: 0 10px;
    width: 100%;
    box-sizing: border-box;
}

.rg-company-page .form-group textarea {
    min-height: 92px;
    resize: vertical;
    width: 100%;
    box-sizing: border-box;
}

.rg-company-page .form-group input:focus,
.rg-company-page .form-group textarea:focus,
.rg-company-page .field input:focus {
    outline: none;
    border-color: #9fb4a5;
    box-shadow: 0 0 0 3px rgba(94, 175, 107, 0.16);
}

.rg-company-page .btn-submit,
.rg-company-page .btn-send {
    background: #1f7a45;
    color: #ffffff;
    border: 1px solid #1f7a45;
    border-radius: 10px;
    font-weight: 700;
    padding: 11px 20px;
}

.rg-company-page .company-card--non-premium h2 {
    margin: 0 0 10px;
}

.rg-company-page .company-card--non-premium .non-premium-lead {
    margin: 0 0 16px;
    color: #4b5563;
    line-height: 1.6;
}

.rg-company-page .company-card--non-premium .input-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 14px;
    max-width: 560px;
}

.rg-company-page .company-card--non-premium .field {
    min-width: 0;
}

.rg-company-page .company-card--non-premium .field label {
    margin-bottom: 6px;
    color: #111827;
    font-weight: 600;
}

.rg-company-page .company-card--non-premium .button-row {
    margin-top: 6px;
}

.rg-company-page .company-sidebar {
    background: transparent;
    border: none;
    padding: 0;
    top: 24px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.rg-company-page .sidebar-actions,
.rg-company-page .sidebar-card {
    width: 100%;
    max-width: 100%;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: 14px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.04);
    box-sizing: border-box;
}

.rg-company-page .sidebar-actions {
    align-items: stretch;
    gap: 14px;
}

.rg-company-page .sidebar-card--quality {
    justify-content: center;
    align-items: center;
}

.rg-company-page .sidebar-card--actions {
    position: relative;
    z-index: 1;
}

.rg-company-page .sidebar-card--non-premium h3 {
    margin: 0 0 8px;
    color: #111827;
}

.rg-company-page .sidebar-card--non-premium p {
    margin: 0;
    color: #4b5563;
    line-height: 1.5;
}

.rg-company-page .quality-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.rg-company-page .quality-badge__img {
  display: block;
  height: 40px;
  width: auto;
}

.rg-company-page .quality-badge__text {
  display: inline-block;
  line-height: 1;
}

.rg-company-page .sidebar-card h3 {
    margin: 0 0 10px;
}

.rg-company-page .sidebar-card .tag-container {
    gap: 6px;
}

.rg-company-page .sidebar-card .tag {
    border: none;
    background: #f5f5f5;
    border-radius: 16px;
    min-height: 24px;
    padding: 6px 10px;
}

.rg-company-page .btn-primary,
.rg-company-page .btn-back {
    margin: 0;
    border-radius: 10px;
    text-align: center;
    max-width: 100%;
    box-sizing: border-box;
}

.rg-company-page .btn-primary {
    display: inline-flex;
    width: 100%;
    justify-content: center;
    align-items: center;
    background: #F2A100;
    border: 1px solid #F2A100;
    color: #ffffff;
    font-weight: 600;
}

.rg-company-page .btn-linkedin {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 34px;
}

.rg-company-page .btn-linkedin img {
    height: 28px;
}

.rg-company-page .btn-back {
    display: inline-flex;
    gap: 8px;
    justify-content: flex-start;
    align-items: center;
    width: auto;
    border: none;
    background: transparent;
    color: #6b7280;
    font-weight: 600;
    text-decoration: none;
    padding: 2px 0;
    border-radius: 0;
}

.rg-company-page .btn-back--outside {
    margin-top: 6px;
    align-self: center;
}

@media (max-width: 992px) {
    .rg-company-page .company-container {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .rg-company-page .company-sidebar {
        position: static;
    }

    .rg-company-page .company-card--non-premium .input-row {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}

@media (max-width: 640px) {
    .rg-company-page {
        padding-top: 18px;
    }

    .rg-company-page .company-container {
        padding: 0 14px;
    }

    .rg-company-page .company-card {
        padding: 16px;
        border-radius: 14px;
    }

    .rg-company-page .company-header {
        align-items: flex-start;
    }

    .rg-company-page .company-header-top {
        align-items: flex-start;
    }

    .rg-company-page .header-text h1 {
        font-size: 1.9rem;
    }

    .rg-company-page .contact-row {
        grid-template-columns: 1fr;
        gap: 0;
    }
}

/* Rekryteringsguiden annonsera: local parity overrides */
main.container:has(#paket.ja-packages) {
    padding-top: 16px;
    max-width: none;
    width: 100%;
    background: #ffffff;
}

/* Annonsera page: keep breadcrumb spacing inside main (avoid body bleed gap) */
body:has(#paket.ja-packages) .rg-breadcrumb {
    margin: 0 auto 18px;
}

/* Annonsera page: remove green page bleed when burger menu is open */
body:has(#paket.ja-packages).menu-open,
body:has(#paket.ja-packages).menu-open .page,
body:has(#paket.ja-packages).menu-open main.container {
    background: #ffffff !important;
}

body:has(#paket.ja-packages).menu-open::before,
body:has(#paket.ja-packages).menu-open::after {
    content: none !important;
    display: none !important;
}

/* Annonsera page: neutralize generic job_annons button:hover on burger trigger */
body:has(#paket.ja-packages) .hamburger:focus-visible {
    background: transparent !important;
}

main.container:has(#paket.ja-packages) #bestall-formular .ja-container {
    max-width: 1180px;
    margin-inline: auto;
    padding-inline: clamp(16px, 3vw, 32px);
}

/* Package cards */
#paket.ja-packages {
    width: 100%;
    padding: 72px 0 32px;
    margin: 0;
    background: transparent;
}

#paket .ja-packages__header {
    max-width: 760px;
    margin: 0 auto 36px;
    text-align: center;
}

#paket .ja-packages__header h2 {
    margin: 0 0 14px;
    font-size: 34px;
    line-height: 1.18;
    font-weight: 700;
}

#paket .ja-packages__header p {
    margin: 0;
    font-size: 16px;
    line-height: 1.5;
    color: #6b7280;
}

#paket .ja-container {
    width: min(1400px, 100%);
    margin-inline: auto;
    padding-inline: clamp(16px, 3vw, 32px);
}

#paket .ja-pricing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(398px, 100%), 1fr));
    gap: 28px;
    align-items: start;
    justify-items: center;
}

#paket .ja-pricing-card {
    --pkg-accent: #1a502c;
    position: relative;
    width: 100%;
    max-width: 398px;
    min-height: 440px;
    margin: 0 auto;
    padding: 30px 28px 26px;
    border: 1px solid #d7dde4;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    display: flex;
    flex-direction: column;
    font-size: 14px;
    color: #1d2530;
    line-height: 1.5;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

#paket .ja-pricing-card:focus-within {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.1);
    border-color: rgba(29, 37, 48, 0.16);
}

#paket .ja-pricing-card--featured {
    border-color: #b7c2cc;
    background: #fcfdfd;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.1);
}

#paket .ja-pricing-card.is-selected {
    border-color: #a4b0bc;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.12);
}

#paket .ja-pricing-card--sprint,
#paket .ja-pricing-card--authority {
    min-height: 540px;
}

#paket .ja-pricing-card--search {
    min-height: 560px;
}

#paket .ja-pricing-card__head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}

#paket .ja-pricing-card__icon {
    width: 32px;
    height: 32px;
    border-radius: 9px;
    background: #f3f6fa;
    border: 1px solid #dbe3ec;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--pkg-accent);
    font-weight: 700;
}

#paket .ja-pricing-card__title {
    margin: 0;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
}

#paket .ja-pricing-card__price {
    margin: 0 0 15px;
    color: var(--pkg-accent);
    font-size: 46px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: -0.01em;
}

#paket .ja-pricing-card__price span {
    display: inline-block;
    margin-left: 6px;
    font-size: 12px;
    font-weight: 500;
    color: #64748b;
}

#paket .ja-pricing-list {
    list-style: none;
    margin: 0 0 22px;
    padding: 0;
    display: grid;
    gap: 13px;
}

#paket .ja-pricing-list li {
    position: relative;
    padding-left: 25px;
    font-size: 14px;
    line-height: 1.56;
    color: #1d2530;
}

#paket .ja-pricing-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0.08em;
    color: var(--pkg-accent);
    font-weight: 700;
    opacity: 0.9;
}

#paket .ja-pricing-card__label {
    margin: 0 0 8px;
    color: #627084;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

#paket .ja-packages .ja-btn,
#paket .ja-packages .ja-btn.ja-btn--primary {
    width: 100%;
    max-width: 100%;
    height: 46px;
    border-radius: 10px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none;
    font-weight: 700;
    letter-spacing: 0.01em;
    border: 1px solid #5eaf6b !important;
    background: #5eaf6b !important;
    color: #ffffff !important;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

#paket .ja-pricing-grid .ja-btn--primary,
#paket .ja-pricing-grid .ja-btn--success,
#paket .ja-pricing-grid .ja-btn--primary:visited,
#paket .ja-pricing-grid .ja-btn--success:visited,
#paket .ja-pricing-grid .ja-btn--primary:active,
#paket .ja-pricing-grid .ja-btn--success:active {
    background: #5eaf6b !important;
    border-color: #5eaf6b !important;
    color: #ffffff !important;
    background-image: none !important;
}

#paket .ja-packages .ja-btn:focus-visible,
#paket .ja-packages .ja-btn.ja-btn--primary:focus-visible {
    background: #3f9a61 !important;
    border-color: #3f9a61 !important;
    color: #ffffff !important;
}

#paket .ja-pricing-card.is-selected .ja-btn--primary,
#paket .ja-pricing-card--sprint.is-selected .ja-btn--primary,
#paket .ja-pricing-card--authority.is-selected .ja-btn--primary,
#paket .ja-pricing-card--search.is-selected .ja-btn--success {
    background: #5eaf6b !important;
    border-color: #5eaf6b !important;
    color: #ffffff !important;
    background-image: none !important;
}

#paket .ja-card-foot {
    margin-top: auto;
    padding-top: 18px;
    border-top: 0;
}

#paket .ja-card-foot__sep {
    height: 1px;
    margin: 0 0 14px;
    background: rgba(29, 37, 48, 0.1);
}

#paket .ja-card-foot__logos {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    color: #6b7280;
    font-size: 12px;
    font-weight: 600;
}

#paket .ja-pricing-card--visibility .ja-pricing-card__price,
#paket .ja-pricing-card--featured .ja-pricing-card__price {
    color: var(--pkg-accent);
}

#paket .ja-pricing-card--sprint .ja-pricing-card__price {
    color: var(--pkg-accent);
}

#paket .ja-pricing-card--authority .ja-pricing-card__price {
    color: var(--pkg-accent);
}

#paket .ja-pricing-card--search .ja-pricing-card__price {
    color: var(--pkg-accent);
}

#paket .ja-pricing-card--featured .ja-pricing-card__icon {
    color: var(--pkg-accent);
}

#paket .ja-pricing-card--sprint .ja-pricing-card__icon {
    color: var(--pkg-accent);
}

#paket .ja-pricing-card--authority .ja-pricing-card__icon {
    color: var(--pkg-accent);
}

#paket .ja-pricing-card--search .ja-pricing-card__icon {
    color: var(--pkg-accent);
    transform: scaleX(-1);
}

#paket .ja-pricing-card--featured .ja-pricing-list li::before {
    color: var(--pkg-accent);
}

#paket .ja-pricing-card--sprint .ja-pricing-list li::before {
    color: var(--pkg-accent);
}

#paket .ja-pricing-card--authority .ja-pricing-list li::before {
    color: var(--pkg-accent);
}

#paket .ja-pricing-card--search .ja-pricing-list li::before {
    color: var(--pkg-accent);
}

#paket .ja-pricing-card--featured .ja-tag {
    border-color: #d8dee5;
    background: #f6f8fa;
    color: #3f4b59;
}

#paket .ja-pricing-card--visibility .ja-pricing-list li::before {
    color: var(--pkg-accent);
}

#paket .ja-pricing-card--sprint .ja-tag {
    border-color: #d8dee5;
    background: #f6f8fa;
    color: #3f4b59;
}

#paket .ja-pricing-card--authority .ja-tag {
    border-color: #d8dee5;
    background: #f6f8fa;
    color: #3f4b59;
}

#paket .ja-pricing-card--search .ja-btn--success {
    background: #29A37A;
}

#paket .ja-pricing-card--visibility,
#paket .ja-pricing-card--sprint,
#paket .ja-pricing-card--authority,
#paket .ja-pricing-card--search {
    --pkg-accent: #1a502c;
}

#paket .ja-badge {
    position: absolute;
    top: -11px;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 5px 14px;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--pkg-accent) 82%, #ffffff 18%);
    background: var(--pkg-accent);
    color: #ffffff;
    font-size: 10.5px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.08);
}

#paket .ja-logo {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

#paket .ja-logo--linked {
    color: #0a66c2;
    flex-direction: row;
    gap: 0;
}

#paket .ja-logo--linked img {
    order: 2;
    display: block;
    width: auto;
    height: 16px;
    object-fit: contain;
}

#paket .ja-logo--linked > span {
    order: 1;
    margin: 0;
    padding: 0;
}

@media (min-width: 1280px) {
    #paket .ja-pricing-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    #paket .ja-pricing-card {
        max-width: none;
    }
}

@media (max-width: 1200px) {
    #paket .ja-pricing-card {
        max-width: 398px;
        height: auto;
    }
}

@media (max-width: 760px) {
    #paket .ja-pricing-grid {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 20px;
    }

    #paket .ja-pricing-card {
        width: 100%;
        max-width: 398px;
        min-height: 0;
        padding: 24px 20px 22px;
    }

    #paket .ja-pricing-card__title {
        font-size: 20px;
    }

    #paket .ja-pricing-card__price {
        font-size: 38px;
        margin-bottom: 12px;
    }

    #paket .ja-pricing-list {
        gap: 10px;
    }

    #paket .ja-badge {
        top: -9px;
        left: 50%;
        right: auto;
        transform: translateX(-50%);
        padding: 4px 12px;
        border-radius: 999px;
        font-size: 9px;
    }
}

/* Form section */
#bestall-formular.ja-form-section {
    padding-top: 64px;
}

#bestall-formular .ja-form-pagehead {
    margin-bottom: 32px;
}

#bestall-formular .ja-form-pagehead__title {
    margin: 0 0 10px;
    font-size: 34px;
    line-height: 1.18;
}

#bestall-formular .ja-form-pagehead__lead {
    font-size: 16px;
    line-height: 1.5;
}

#bestall-formular .ja-step-badge {
    background: #1A502C;
    color: #ffffff;
}

#bestall-formular .ja-submit-row .ja-btn--submit {
    background: #5eaf6b;
    color: #ffffff;
}

#bestall-formular .ja-submit-row .ja-btn--submit:focus-visible {
    background: #3f9a61;
    color: #ffffff;
}

/* Step cards */
#bestall-formular .ja-step-card {
    margin-bottom: 24px;
}

#bestall-formular .ja-step-body {
    gap: 18px;
}

/* Information block */
#bestall-formular .ja-package-summary {
    max-width: 760px;
    background: rgba(241, 248, 244, 0.78);
    border-color: rgba(165, 191, 173, 0.46);
    -webkit-backdrop-filter: blur(6px) saturate(115%);
    backdrop-filter: blur(6px) saturate(115%);
}

#bestall-formular .ja-package-summary__intro {
    background: rgba(94, 175, 107, 0.14);
    color: #1a502c;
}

#bestall-formular .ja-consent__box {
    background: rgba(241, 248, 244, 0.78);
    border: 1px solid rgba(165, 191, 173, 0.46);
    -webkit-backdrop-filter: blur(6px) saturate(115%);
    backdrop-filter: blur(6px) saturate(115%);
}

#bestall-formular .ja-consent__check {
    border-color: #1a502c;
}

#bestall-formular .ja-consent__input:checked + .ja-consent__check {
    background: #1a502c;
}

@media (hover: hover) and (pointer: fine) {
    .rg-breadcrumb__item a:hover {
        color: #1a502c;
        text-decoration: underline;
    }

    .header-section__cta:hover {
        background-color: #3f9a61;
        border-color: #3f9a61;
        color: #ffffff !important;
    }

    .btn-view:hover {
        background: #5EAF6B;
        border-color: #5EAF6B;
        color: #ffffff;
    }

    .btn-filter:hover {
        background: #1A502C;
        border-color: #1A502C;
        color: #ffffff;
        box-shadow: 0 8px 20px rgba(26, 80, 44, 0.22);
    }

    .btn-filter:hover::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M3 5H21L14 13V19L10 21V13L3 5Z' stroke='%23FFFFFF' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E");
    }

    .btn-filter:hover .filter-count {
        background: rgba(255, 255, 255, 0.22);
        color: #ffffff;
    }

    .btn-clear-text:hover {
        color: #b91c1c;
    }

    .close-x:hover {
        background: #f7f8fa;
        border-color: #c7d2df;
    }

    .modal-footer .btn-primary:hover {
        background: #f8fafc;
        border-color: #c6d1df;
    }

    .modal-footer .btn-primary:last-child:hover {
        background: #143f22;
        border-color: #143f22;
    }

    .modal-footer .btn-clear-text:hover {
        background: #fff5f5;
        border-color: #e8b4b4;
        color: #b42318;
    }

    .pagination a:hover {
        border-color: #cbd5e1;
        color: var(--ja-fg);
    }

    .profession-area li:hover {
        background-color: #d9e2ec;
        border-color: #bcccdc;
        transform: translateY(-1px);
    }

    .btn-back:hover {
        background-color: #f9fafb;
        border-color: #9ca3af;
        color: #111827;
    }

    .rg-company-page .btn-submit:hover,
    .rg-company-page .btn-send:hover {
        background: #1a653a;
        border-color: #1a653a;
    }

    .rg-company-page .btn-primary:hover {
        background: #d88f00;
        border-color: #d88f00;
        color: #ffffff;
    }

    .rg-company-page .btn-back:hover {
        color: #374151;
        text-decoration: underline;
    }

    body:has(#paket.ja-packages) .hamburger:hover {
        background: transparent !important;
    }

    #paket .ja-pricing-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 14px 30px rgba(15, 23, 42, 0.1);
        border-color: rgba(29, 37, 48, 0.16);
    }

    #paket .ja-packages .ja-btn:hover,
    #paket .ja-packages .ja-btn.ja-btn--primary:hover {
        background: #3f9a61 !important;
        border-color: #3f9a61 !important;
        color: #ffffff !important;
    }

    #bestall-formular .ja-submit-row .ja-btn--submit:hover {
        background: #3f9a61;
        color: #ffffff;
    }
}
