/* Public job details only; keep panel and listing styles independent. */
.job-detail { --job-border: #e1e7ee; }

/* Header and section cards. Important rules override Bootstrap utilities. */
.job-detail .job-detail-header { border-inline-start: 4px solid #427b91 !important; }
.job-detail .job-detail-header h1 { color: #172b45; font-size: 18px; line-height: 1.8; min-width: 0; overflow-wrap: anywhere; }
.job-detail :is(#contacts, #description, #comments, #faq) {
    border: 1px solid var(--job-border) !important;
    border-radius: 1rem !important;
    background: #fff;
    box-shadow: 0 3px 16px #172b4506 !important;
    scroll-margin-top: 6rem;
}
.job-detail .job-detail-logo { width: 144px; height: 144px; object-fit: contain; background: #fff; }
.job-detail .job-detail-phones { min-width: 0; }

/* Phone links: keep their sizing independent from social actions. */
.job-detail .job-detail-phones a[href^="tel:"] {
    min-height: 40px;
    padding: 6px 10px !important;
    font-size: 16px !important;
    line-height: 24px;
    vertical-align: middle;
    margin-block: .125rem;
    border: 1px solid #d8e6ee;
    border-radius: .65rem;
    background: #f0f7fa;
    color: #195875 !important;
    direction: ltr;
    font-weight: 600;
    max-width: 100%;
    overflow-wrap: anywhere;
}
.job-detail .job-detail-phones a[href^="tel:"]:hover { background: #e2f0f5; border-color: #7fa9bd; }

/* Social actions. */
.job-detail #socials { border: 0 !important; border-top: 1px solid var(--job-border) !important; padding: .5rem 0 0 !important; margin: .5rem 0 0 !important; }
.job-detail #socials .btn {
    padding: 3px 7px !important;
    font-size: 15px !important;
    line-height: 24px;
    vertical-align: middle;
    border-radius: .65rem;
    margin-bottom: .25rem;
}

/* Discount offer. */
.job-detail .job-discount { border-color: var(--job-border) !important; }
.job-detail .job-discount-header { background: #f0f5f9; border-radius: 1rem 1rem 0 0; }
.job-detail .job-discount-header .job-discount-title { min-width: 0; font-size: 16px; }
.job-detail .job-discount-header:has(+ .d-none) { border-radius: 1rem; }
.job-detail .job-discount-title { font-size: 15px; line-height: 1.8; }
.job-detail .job-discount-percent { font-size: 18px; white-space: nowrap; }
.job-detail .job-discount-details { font-size: 15px; line-height: 1.9; overflow-wrap: anywhere; }
.job-detail .job-discount-button { font-size: 15px; padding: 3px 7px; border-radius: .65rem; }

/* Addresses, description, questions and comments. */
.job-detail #addresses > div { background: #fff; border-color: var(--job-border) !important; border-radius: .85rem !important; padding: .5rem .75rem !important; line-height: 1.8; }
.job-detail #addresses .badge { background: #eef4f8 !important; color: #284b63; margin-inline-end: .4rem; }
.job-detail .job-detail-description { line-height: 1.9; overflow-wrap: anywhere; }
.job-detail #description img { max-width: 100%; height: auto; }
.job-detail #faq > .card-header { background: #f0f5f9 !important; color: #24344b; padding: .5rem .75rem; border-radius: 1rem 1rem 0 0; border-bottom-color: var(--job-border); }
.job-detail #faq .accordion-button { line-height: 1.9; }
.job-detail #comments { padding: .75rem !important; margin-top: .75rem !important; }
/* Photos and clips. */
.job-detail .job-media { border-color: var(--job-border) !important; }
.job-detail .job-media-title { font-size: 16px; font-weight: 600; line-height: 1.8; }
.job-detail .job-media-title .badge { font-size: 13px; }
.job-detail .job-photo-strip { display: flex; gap: .5rem; overflow-x: auto; padding: .25rem; }
.job-detail .job-photo-thumb { position: relative; flex: 0 0 104px; border: 1px solid var(--job-border); border-radius: .65rem; overflow: hidden; }
.job-detail .job-photo-thumb img { display: block; width: 104px; height: 104px; object-fit: cover; }
.job-detail .job-photo-more { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: #172b45b3; color: white; font-size: 20px; direction: ltr; }
.job-detail .job-clip-list { display: flex; flex-wrap: wrap; gap: .5rem; }
.job-detail #moreClips:not(.d-none) { display: contents; }
.job-detail .job-clip { width: min(100%, 280px); aspect-ratio: 16 / 9; object-fit: contain; background: #172b45; border-radius: .65rem; }
.job-detail .job-media-toggle { font-size: 15px; padding: 3px 7px; border-radius: .65rem; }

@media (max-width: 575.98px) {
    .job-detail .job-detail-logo { width: 104px; height: 104px; }
    .job-detail .job-discount-header .job-discount-title { font-size: 15px; }
    .job-detail .job-discount-header .job-discount-button { font-size: 14px; }
}
