/* =========================================================
   TBB Frontend Job Card
   Targets the real WP Job Manager DOM:
     .single_job_listing .job_description
   No wrapper injection — pure CSS overlay on existing elements.
   ========================================================= */

/* ---------- Card shell ---------- */
.single_job_listing .job_description {
    background:          #ffffff;
    border:              1px solid #e2e8f0;
    border-radius:       14px;
    box-shadow:          0 4px 24px rgba(0, 0, 0, .08), 0 1px 4px rgba(0, 0, 0, .04);
    margin:              2rem 0;

    /* Padding for content — header via ::before cancels horizontal padding */
    padding: 0 2rem 2rem;
}

/* ---------- Header bar via ::before ---------- */
.single_job_listing .job_description::before {
    content:        "POSITION DETAILS";
    display:        block;

    /* Stretch to full width by cancelling the parent's horizontal padding */
    margin:         0 -2rem 1.5rem;
    padding:        .85rem 1.5rem;

    background:     #f8fafc;
    border-bottom:  1px solid #e2e8f0;
    border-radius:  13px 13px 0 0;   /* match card radius on top corners */

    font-size:      .75rem;
    font-weight:    700;
    letter-spacing: .08em;
    color:          #64748b;

    /* Prevent text selection on the label */
    user-select:    none;
}

/* ---------- Typography ---------- */
.single_job_listing .job_description > *:first-child {
    margin-top: 0;
}

.single_job_listing .job_description > *:last-child {
    margin-bottom: 0;
}

.single_job_listing .job_description h4 {
    font-size:   1rem;
    font-weight: 700;
    margin:      1.4rem 0 .4rem;
    color:       #1e293b;
}

.single_job_listing .job_description p {
    margin:      0 0 .85rem;
    line-height: 1.7;
    color:       #475569;
}

.single_job_listing .job_description ul,
.single_job_listing .job_description ol {
    padding-left: 1.4rem;
    margin:       0 0 .85rem;
    color:        #475569;
}

.single_job_listing .job_description li {
    margin-bottom: .35rem;
    line-height:   1.65;
}

/* ---------- Plugin-generated data tables ---------- */
.single_job_listing .job_description table.tbb-pasted-table {
    width:           100%;
    border-collapse: collapse;
    margin:          .85rem 0 1.1rem;
    font-size:       .9rem;
    border-radius:   8px;
    overflow:        hidden;
    box-shadow:      0 0 0 1px #e2e8f0;
}

.single_job_listing .job_description table.tbb-pasted-table th,
.single_job_listing .job_description table.tbb-pasted-table td {
    padding:       .55rem .9rem;
    text-align:    left;
    border:        none;
    border-bottom: 1px solid #f1f5f9;
    color:         #334155;
}

.single_job_listing .job_description table.tbb-pasted-table tr:last-child td {
    border-bottom: none;
}

.single_job_listing .job_description table.tbb-pasted-table th {
    background:     #f8fafc;
    font-weight:    600;
    font-size:      .8125rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color:          #64748b;
}

.single_job_listing .job_description table.tbb-pasted-table tr:nth-child(even) td {
    background: #fafbfc;
}

/* ---------- Generic tables ---------- */
.single_job_listing .job_description table:not(.tbb-pasted-table) {
    width:           100%;
    border-collapse: collapse;
    margin:          .85rem 0 1.1rem;
    font-size:       .9rem;
}

.single_job_listing .job_description table:not(.tbb-pasted-table) th,
.single_job_listing .job_description table:not(.tbb-pasted-table) td {
    padding:        .5rem .75rem;
    border:         1px solid #e2e8f0;
    vertical-align: top;
    color:          #334155;
}

.single_job_listing .job_description table:not(.tbb-pasted-table) th {
    background:  #f8fafc;
    font-weight: 600;
}

/* ---------- Links ---------- */
.single_job_listing .job_description a {
    color:                 #6366f1;
    text-decoration:       underline;
    text-underline-offset: 2px;
}

.single_job_listing .job_description a:hover {
    color: #4f46e5;
}

/* ---------- Apply Now / CTA button ---------- */
.single_job_listing .job_description a.button,
.single_job_listing .job_description .button {
    display:         inline-block;
    margin-top:      .5rem;
    padding:         .6rem 1.35rem;
    color:           #fff !important;
    text-decoration: none;
    border-radius:   8px;
    font-weight:     600;
    font-size:       .9rem;
    letter-spacing:  .02em;
    transition:      background .18s ease, box-shadow .18s ease;
    box-shadow:      0 2px 8px rgba(99, 102, 241, .3);
}

.single_job_listing .job_description a.button:hover,
.single_job_listing .job_description .button:hover {
    background: #4f46e5;
    box-shadow: 0 4px 14px rgba(99, 102, 241, .4);
}

/* ---------- Blockquote ---------- */
.single_job_listing .job_description blockquote {
    margin:        .85rem 0;
    padding:       .75rem 1.1rem;
    border-left:   3px solid #6366f1;
    background:    #f8f7ff;
    border-radius: 0 6px 6px 0;
    color:         #475569;
    font-style:    italic;
}

/* ---------- Responsive ---------- */
@media (max-width: 640px) {
    .single_job_listing .job_description {
        padding:       0 1.1rem 1.5rem;
        border-radius: 10px;
    }

    .single_job_listing .job_description::before {
        margin:        0 -1.1rem 1.25rem;
        border-radius: 9px 9px 0 0;
        padding:       .75rem 1.1rem;
    }
}
