/* Gartows Bioladen – Jobanzeigen / Aubergine + Cremegelb */
.gbj-layout {
    --gbj-accent: #74216f;
    --gbj-accent-dark: #5d1759;
    --gbj-accent-soft: #fff4bf;
    --gbj-accent-softer: #fff9df;
    --gbj-text: #302a30;
    --gbj-muted: #716a71;
    --gbj-border: #ddd4dc;
    --gbj-surface: #ffffff;

    width: 100%;
    max-width: 760px;
    margin: 2rem auto;
    color: var(--gbj-text);
    box-sizing: border-box;
    direction: ltr !important;
}

.gbj-layout *,
.gbj-layout *::before,
.gbj-layout *::after {
    box-sizing: border-box;
}

.gbj-intro-card {
    width: 100%;
    margin: 0 0 1.2rem !important;
    padding: 1.55rem 1.65rem !important;
    border: 1px solid rgba(116, 33, 111, .15) !important;
    border-left: 5px solid var(--gbj-accent) !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #fffdf2 0%, #fff 76%) !important;
    box-shadow: 0 10px 28px rgba(48, 42, 48, .05) !important;
}

.gbj-eyebrow {
    display: block !important;
    margin: 0 0 .35rem !important;
    color: var(--gbj-accent-dark) !important;
    font-size: .82rem !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}

.gbj-title {
    margin: 0 0 .55rem !important;
    color: var(--gbj-accent) !important;
    font-size: clamp(1.55rem, 3vw, 2rem) !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

.gbj-intro-text,
.gbj-intro-text p {
    color: var(--gbj-muted) !important;
    line-height: 1.62 !important;
}

.gbj-intro-text p {
    margin: 0 0 .6rem !important;
}

.gbj-intro-text p:last-child {
    margin-bottom: 0 !important;
}

.gbj-jobs {
    display: grid !important;
    gap: 1rem !important;
    width: 100% !important;
}

.gbj-job-card {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    border: 1px solid var(--gbj-border) !important;
    border-radius: 14px !important;
    background: var(--gbj-surface) !important;
    box-shadow: 0 12px 32px rgba(48, 42, 48, .055) !important;
    overflow: hidden !important;
}

.gbj-job-card.is-featured {
    border-top: 4px solid var(--gbj-accent) !important;
}

.gbj-job-summary {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    width: 100% !important;
    padding: 1.25rem 1.35rem !important;
    list-style: none !important;
    cursor: pointer !important;
    background: #fff !important;
}

.gbj-job-summary::-webkit-details-marker {
    display: none !important;
}

.gbj-job-summary::marker {
    display: none !important;
    content: '';
}

.gbj-job-summary-main {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.gbj-job-heading-row {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: .65rem !important;
    margin: 0 0 .4rem !important;
}

.gbj-job-title {
    margin: 0 !important;
    color: var(--gbj-accent-dark) !important;
    font-size: clamp(1.18rem, 2.6vw, 1.42rem) !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
}

.gbj-featured-badge {
    display: inline-block !important;
    padding: .23rem .55rem !important;
    border-radius: 999px !important;
    background: var(--gbj-accent-soft) !important;
    color: var(--gbj-accent-dark) !important;
    font-size: .76rem !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

.gbj-short {
    margin: 0 0 .75rem !important;
    color: var(--gbj-muted) !important;
    line-height: 1.55 !important;
}

.gbj-meta-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .45rem !important;
}

.gbj-meta {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 27px !important;
    padding: .3rem .58rem !important;
    border: 1px solid rgba(116, 33, 111, .10) !important;
    border-radius: 999px !important;
    background: var(--gbj-accent-softer) !important;
    color: var(--gbj-text) !important;
    font-size: .84rem !important;
    line-height: 1.25 !important;
    font-weight: 650 !important;
}

.gbj-toggle {
    display: inline-flex !important;
    flex: 0 0 36px !important;
    width: 36px !important;
    height: 36px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(116, 33, 111, .17) !important;
    border-radius: 999px !important;
    background: #fffdf7 !important;
    color: var(--gbj-accent) !important;
    font-size: 1.3rem !important;
    font-weight: 700 !important;
}

.gbj-toggle::before {
    content: '+';
}

.gbj-job-card[open] .gbj-toggle::before {
    content: '–';
}

.gbj-job-card[open] .gbj-job-summary {
    background: linear-gradient(180deg, #fffdf2 0%, #fff 100%) !important;
}

.gbj-job-content {
    padding: 0 1.35rem 1.35rem !important;
    border-top: 1px solid rgba(116, 33, 111, .08) !important;
}

.gbj-description {
    margin: 1.1rem 0 !important;
    color: var(--gbj-text) !important;
    line-height: 1.65 !important;
}

.gbj-description > :first-child {
    margin-top: 0 !important;
}

.gbj-description > :last-child {
    margin-bottom: 0 !important;
}

.gbj-sections {
    display: grid !important;
    gap: .9rem !important;
    margin: 1rem 0 !important;
}

.gbj-section {
    width: 100% !important;
    padding: 1rem 1.05rem !important;
    border: 1px solid #eadf8f !important;
    border-radius: 10px !important;
    background: var(--gbj-accent-softer) !important;
}

.gbj-section h4 {
    margin: 0 0 .6rem !important;
    color: var(--gbj-accent-dark) !important;
    font-size: 1.03rem !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
}

.gbj-list {
    margin: 0 !important;
    padding: 0 0 0 1.1rem !important;
}

.gbj-list li {
    margin: 0 0 .42rem !important;
    color: var(--gbj-text) !important;
    line-height: 1.52 !important;
}

.gbj-list li:last-child {
    margin-bottom: 0 !important;
}

.gbj-application-panel {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    margin: 1.15rem 0 0 !important;
    padding: 1rem 1.05rem !important;
    border-left: 4px solid var(--gbj-accent) !important;
    border-radius: 10px !important;
    background: #fffdf7 !important;
}

.gbj-application-copy {
    display: flex !important;
    flex-direction: column !important;
    gap: .16rem !important;
    min-width: 0 !important;
}

.gbj-application-copy strong {
    color: var(--gbj-accent-dark) !important;
    font-weight: 800 !important;
}

.gbj-application-copy span {
    color: var(--gbj-muted) !important;
    font-size: .9rem !important;
    line-height: 1.4 !important;
}

.gbj-apply-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    min-height: 45px !important;
    padding: .72rem 1.05rem !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: var(--gbj-accent) !important;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    transition: background .16s ease, transform .16s ease !important;
}

.gbj-apply-button:hover,
.gbj-apply-button:focus {
    background: var(--gbj-accent-dark) !important;
    color: #fff !important;
}

.gbj-apply-button:focus-visible,
.gbj-job-summary:focus-visible {
    outline: 3px solid var(--gbj-accent-soft) !important;
    outline-offset: 3px !important;
}

.gbj-empty {
    display: flex !important;
    flex-direction: column !important;
    gap: .28rem !important;
    width: 100% !important;
    padding: 1.3rem 1.4rem !important;
    border: 1px solid var(--gbj-border) !important;
    border-left: 5px solid var(--gbj-accent) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(48, 42, 48, .045) !important;
}

.gbj-empty strong {
    color: var(--gbj-accent-dark) !important;
}

.gbj-empty span {
    color: var(--gbj-muted) !important;
    line-height: 1.5 !important;
}

@media (max-width: 640px) {
    .gbj-layout {
        margin: 1rem auto;
    }

    .gbj-intro-card,
    .gbj-job-summary,
    .gbj-job-content {
        padding-left: 1.05rem !important;
        padding-right: 1.05rem !important;
    }

    .gbj-job-summary {
        align-items: flex-start !important;
    }

    .gbj-toggle {
        flex-basis: 32px !important;
        width: 32px !important;
        height: 32px !important;
    }

    .gbj-application-panel {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .gbj-apply-button {
        width: 100% !important;
    }
}
