/* Shared public job/project/company/expert detail design; source content, provider rules and action handlers stay intact. */
.portal-offer-detail-page .portal-offer-detail { padding: 28px 0 55px; background: linear-gradient(#effbf7 0, #f8fcfa 450px); }
.portal-offer-detail-page .portal-detail-container { width: min(1320px, calc(100% - 96px)); max-width: none; padding: 0; }
.portal-offer-detail-page .portal-detail-container > .row { margin: 0; }
.portal-offer-detail-page .portal-detail-container > .row > .col-xl-12 { padding: 0; }
.portal-offer-detail-page .portal-detail-container .portal-container { max-width: none; width: 100%; padding: 0; margin-top: 0 !important; }
.portal-offer-detail-page .portal-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 304px; gap: 28px; align-items: start; margin: 0; }
.portal-offer-detail-page .portal-detail-main, .portal-offer-detail-page .portal-detail-related { width: auto; min-width: 0; padding: 0; }
.portal-offer-detail-page .portal-detail-main > .row { margin-left: 0; margin-right: 0; --bs-gutter-y: 20px; }
.portal-offer-detail-page .portal-detail-main > .row > .col, .portal-offer-detail-page .portal-detail-main > .row > .col-12 { padding-inline: 0; min-width: 0; }
.portal-offer-detail-page .content_info_box { padding: 0; color: var(--home-ink); font-size: 16px; font-weight: 500; }
.portal-offer-detail-page .portal-detail-main > .content_info_box { margin: 0 0 23px; font-size: 11px; }
.portal-offer-detail-page .breadcrumb { font-size: 11px; gap: 3px; line-height: 1.8; }
.portal-offer-detail-page .breadcrumb-item a { color: var(--home-brand-text); }
.portal-offer-detail-page .breadcrumb-item.active { color: var(--home-muted); }
.portal-offer-detail-page .card { border: 1px solid var(--home-line); border-radius: 14px; background: #fff; color: var(--home-ink); box-shadow: 0 3px 15px #022f2203; }
.portal-offer-detail-page .card.top-prio-card { border-color: #b8e7d6; }
.portal-offer-detail-page .card .card-body { min-width: 0; padding: 28px; color: var(--home-ink); font-weight: 400; font-size: 13px; line-height: 1.95; }
.portal-offer-detail-page .portal-detail-main .card :is(h2,h6) { font-size: 20px; font-weight: 600; letter-spacing: -.5px; margin-bottom: 18px; color: var(--home-ink); scroll-margin-top: 25px; }
.portal-offer-detail-page .portal-detail-summary { border: 1px solid #b9e8d7; border-left: 4px solid var(--home-brand); background: radial-gradient(ellipse at 95% 5%, #e7fbf2, #fff 65%); }
.portal-offer-detail-page .portal-detail-summary .card-body { padding: 32px; }
.portal-offer-detail-page .portal-detail-summary .card-body > .row > .col { min-width: 0; font-size: 13px; color: var(--home-muted); }
.portal-offer-detail-page .portal-detail-summary .logo-col-desktop-portal { width: 114px; display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 18px; }
.portal-offer-detail-page .portal-detail-summary .logo-col-desktop-portal > .row { margin: 0; }
.portal-offer-detail-page .portal-detail-summary .logo-col-desktop-portal > .row > .col { margin: 0 !important; padding: 0; }
.portal-offer-detail-page .portal-action-container-desktop { display: flex; width: auto; gap: 2px; flex-wrap: wrap; }
.portal-offer-detail-page .btn-portal-actions { width: 32px; min-height: 34px; padding: 3px; }
.portal-offer-detail-page .company_pic_extra_big, .portal-offer-detail-page .company_pic_extra_big_external { width: 72px; height: 72px; max-width: 72px; max-height: 72px; object-fit: contain; border-radius: 9px; margin: 0; }
.portal-offer-detail-page .company_pic_small, .portal-offer-detail-page .company_pic_small_external { width: 44px; height: 44px; object-fit: contain; border-radius: 7px; margin: 0; }
.portal-offer-detail-page .portal-detail-kicker { margin: 0 0 13px; color: var(--home-brand-text); font-size: 9px; font-weight: 600; letter-spacing: 1.7px; }
.portal-offer-detail-page .portal-detail-summary h1 { font-size: clamp(25px, 2.5vw, 35px); line-height: 1.35; letter-spacing: -1px; font-weight: 600; margin: 0 0 16px; overflow-wrap: anywhere; color: var(--home-ink); }
.portal-offer-detail-page .portal-title a { color: var(--home-ink); }
.portal-offer-detail-page .portal-title { line-height: 1.5; overflow-wrap: anywhere; }
.portal-offer-detail-page .card .fs-6 { font-size: 12px !important; }
.portal-offer-detail-page .comp_img_portal { width: 16px; height: 16px; }
.portal-offer-detail-page .card .badge { font-size: 10px !important; font-weight: 400 !important; line-height: 1.6; white-space: normal; padding: 4px 9px; border-radius: 5px; margin: 4px 2px 0 0; }
.portal-offer-detail-page .card .badge:is(.bg-info,.btn-blue,.btn-orange,.btn-purple,.bg-green) { color: var(--home-brand-text) !important; background: var(--home-soft) !important; border: 0; }
.portal-offer-detail-page .badge:empty { display: none; }
.portal-offer-detail-page .topjob-badge { position: static; display: inline-block; padding: 4px 8px; border-radius: 5px; color: #04563d; background: #d8f8ec; font-size: 9px; white-space: nowrap; }
.portal-offer-detail-page .portal-detail-read-more { padding: 0; border: 0; background: transparent; color: var(--home-brand-text); text-decoration: underline; text-underline-offset: 3px; font: inherit; cursor: pointer; }
.portal-offer-detail-page .portal-detail-ad { margin-block: 8px; }
.portal-offer-detail-page .portal-detail-main .portal-ad-label { margin: 7px 0; }
.portal-offer-detail-page #divShortDescription, .portal-offer-detail-page #divFullDescription, .portal-offer-detail-page .portal-job-preview, .portal-offer-detail-page .portal-ba-full-description { line-height: 1.95; overflow-wrap: anywhere; }
.portal-offer-detail-page :is(#divFullDescription,.portal-ba-full-description) :is(img,video,iframe,table) { max-width: 100%; }
.portal-offer-detail-page :is(#divFullDescription,.portal-ba-full-description) table { display: block; overflow-x: auto; }
.portal-offer-detail-page .portal-job-description { padding-top: 12px; margin-bottom: 15px; border-top: 1px solid var(--home-line); }
.portal-offer-detail-page .portal-job-description > summary { color: var(--home-brand-text); font-size: 12px; font-weight: 500; cursor: pointer; padding: 8px 0; }
/* Preserve the BA exception: full text stays collapsed, clipped and white, even when the disclosure is open. */
.portal-offer-detail-page .portal-offer-detail-preview #divAdsenseInArticle { position: relative; border: 1px dashed #a6d9c8; border-radius: 8px; margin-block: 22px; background: var(--home-soft); }
.portal-offer-detail-page .portal-offer-detail-preview #divAdsenseInArticle::before { content: 'AdSense-Werbeplatz · Lokale Vorschau'; position: absolute; inset: 0; display: grid; place-items: center; padding: 20px; text-align: center; color: var(--home-muted); font-size: 12px; }
.portal-offer-detail-page .portal-detail-actions .btn { min-height: 42px; border-radius: 7px; font-size: 12px; padding: 9px 13px; margin-bottom: 7px; }
.portal-offer-detail-page .portal-detail-actions .btn-blue { background: var(--home-brand); border-color: var(--home-brand); color: #033325; font-weight: 600; }
.portal-offer-detail-page .portal-detail-actions .btn-green, .portal-offer-detail-page .portal-detail-actions .btn-orange { background: #067556; border-color: #067556; color: #fff; }
.portal-offer-detail-page .portal-detail-main .alert-light-grey { border: 1px solid var(--home-line); border-radius: 12px; background: var(--home-soft); color: var(--home-muted); padding: 23px; line-height: 1.8; }
.portal-offer-detail-page .status_color_green, .portal-offer-detail-page .status_color_purple { color: var(--home-brand-text) !important; }
.portal-offer-detail-page .portal-detail-related { padding-top: 5px; }
.portal-offer-detail-page .portal-detail-related > .content_info_box { font-size: 15px; margin-bottom: 14px; }
.portal-offer-detail-page .portal-detail-related .card-body { padding: 21px; line-height: 1.75; }
.portal-offer-detail-page .portal-detail-related .relatedAdsInfo { padding-left: 12px !important; min-width: 0; }
.portal-offer-detail-page .portal-detail-related .fs-5 { font-size: 15px !important; line-height: 1.6; }
.portal-offer-detail-page .portal-detail-related .fs-5 a { color: var(--home-ink); overflow-wrap: anywhere; }
.portal-offer-detail-page .portal-detail-related .fs-6 { color: var(--home-muted); font-size: 11px !important; }
.portal-offer-detail-page .portal-detail-related .card .badge { font-size: 9px !important; }
.portal-offer-detail-page .btn-oproma, .portal-offer-detail-page .portal-detail-main a.btn-purple, .portal-offer-detail-page .portal-detail-main a.btn-info { border: 1px solid #caeadd; border-radius: 8px; background: #e9faf3; color: var(--home-brand-text) !important; font-size: 12px; font-weight: 500; line-height: 1.7; padding: 12px 15px; }
.portal-offer-detail-page .portal-detail-main > div:not(.row) > .content_info_box { margin: 27px 0 17px; }
.portal-offer-detail-page .contact_pic_extra_big { width: 80px; height: 80px; max-width: 80px; object-fit: cover; border-radius: 50%; }
.portal-offer-detail-page .portal-detail-main .card .ps-4 { min-width: 0; }
.portal-offer-detail-page .portal-detail-main .card .fs-3 { font-size: 22px !important; line-height: 1.5; }
.portal-offer-detail-page .portal-detail-main .card .fs-5 { font-size: 14px; }
.portal-offer-detail-page .portal-info-social-table { margin-top: 28px !important; }
.portal-offer-detail-page .portal-info-social-table td { padding: 5px 8px; }
.portal-offer-detail-page .portal-info-social-table a { color: var(--home-brand-text); }
.portal-offer-detail-page section[aria-labelledby="portalSignupHintTitle"] { width: min(1320px, calc(100% - 96px)); max-width: none; padding: 0; }
.portal-offer-detail-page section[aria-labelledby="portalSignupHintTitle"] .card { background: var(--home-soft); }
.portal-offer-detail-page .btn-outline-purple { color: var(--home-brand-text); border-color: #8cd3b9; border-radius: 8px; font-size: 12px; padding: 12px 18px; }
.portal-offer-detail-page .modal-content { border: 1px solid var(--home-line); border-radius: 14px; background: #fff; color: var(--home-ink); overflow: hidden; }
.portal-offer-detail-page .modal-header, .portal-offer-detail-page .modal-footer { border-color: var(--home-line); background: var(--home-soft); }
.portal-offer-detail-page .modal-body { line-height: 1.85; font-size: 13px; }
.portal-offer-detail-page .modal :is(.form-control,.form-select,textarea) { max-width: 100%; border: 1px solid #d5e8df; border-radius: 7px; font-family: inherit; }
.portal-offer-detail-page .jconfirm.jconfirm-supervan .jconfirm-box { background: #fff; color: var(--home-ink); border-radius: 14px; padding: 28px; }
.portal-offer-detail-page .jconfirm.jconfirm-supervan .jconfirm-box :is(.jconfirm-title,.jconfirm-content) { color: var(--home-ink); }
.portal-offer-detail-page .jconfirm.jconfirm-supervan .jconfirm-box .jconfirm-buttons button { color: var(--home-brand-text); border-radius: 7px; }
@media (max-width: 1200px) {
    .portal-offer-detail-page .portal-detail-container, .portal-offer-detail-page section[aria-labelledby="portalSignupHintTitle"] { width: calc(100% - 64px); }
    .portal-offer-detail-page .portal-detail-grid { grid-template-columns: minmax(0, 1fr) 265px; gap: 24px; }
    .portal-offer-detail-page .card .card-body { padding: 24px; }
    .portal-offer-detail-page .portal-detail-summary .logo-col-desktop-portal { width: 90px; }
    .portal-offer-detail-page .company_pic_extra_big, .portal-offer-detail-page .company_pic_extra_big_external { width: 56px; height: 56px; }
    .portal-offer-detail-page .portal-detail-related .card-body { padding: 18px; }
}
.portal-company-detail-page .portal-detail-grid > .portal-company-aside { display: block; }
.portal-company-detail-page .portal-company-aside > .portal-ad-slot { margin-top: 0; }
.portal-company-detail-page .portal-detail-main .card-body { overflow-wrap: anywhere; }
.portal-company-detail-page .portal-detail-main .card-body :is(img,video,iframe,table) { max-width: 100%; }
.portal-company-detail-page .portal-detail-main .card-body table { display: block; overflow-x: auto; }
.portal-company-detail-page .portal-detail-main .btn:is(.btn-blue,.btn-info,.btn-purple,.btn-green) { border: 1px solid #caeadd; border-radius: 8px; background: #e9faf3; color: var(--home-brand-text) !important; font-size: 12px; line-height: 1.7; padding: 11px 15px; white-space: normal; }
.portal-company-detail-page .company_counter_container { margin: 5px 12px 0 0; }
.portal-company-detail-page .portal-detail-main .card-company:not(.portal-detail-summary) .portal-title { font-size: 18px; }
.portal-company-detail-page .portal-detail-main .card-company:not(.portal-detail-summary) .logo-col-desktop-portal { width: 105px; }
.portal-company-detail-page .portal-detail-main .card-company:not(.portal-detail-summary) .company_pic_extra_big { width: 64px; height: 64px; }
.portal-company-detail-page .portal-detail-main .card-company .pe-5 { padding-right: 0 !important; }
.portal-project-detail-page .portal-detail-container { margin-top: 0 !important; }
.portal-expert-detail-page .portal-detail-container { margin-top: 0 !important; }
.portal-education-detail-page .portal-offer-detail > .container { width: min(1320px, calc(100% - 96px)); max-width: none; padding: 0; }
.portal-education-detail-page .portal-offer-detail > .container > .row { margin-inline: 0; }
.portal-education-detail-page .portal-offer-detail > .container > .row > .col-xl-12 { padding-inline: 0; }
.portal-education-detail-page .portal-detail-container { margin-top: 0 !important; }
.portal-education-detail-page .portal-detail-main .card-body { overflow-wrap: anywhere; }
.portal-education-detail-page .portal-detail-main .card-body :is(img,video,iframe,table) { max-width: 100%; }
.portal-education-detail-page .portal-detail-main .card-body table { display: block; overflow-x: auto; }
.portal-education-detail-page .portal-detail-related .relatedAdsInfo { min-width: 0; padding-left: 12px !important; overflow-wrap: anywhere; }
.portal-education-detail-page .portal-detail-related .btn-purple { background: var(--home-soft); color: var(--home-brand-text) !important; border: 1px solid #caeadd; border-radius: 8px; white-space: normal; }
.portal-education-detail-page .portal-detail-related .adsbygoogle { min-height: 280px; width: 100%; }
.portal-education-detail-page .portal-offer-detail-preview .portal-detail-related .adsbygoogle { border: 1px dashed #a6d9c8; border-radius: 8px; background: var(--home-soft); }
.portal-education-detail-page .portal-offer-detail-preview .portal-detail-related .adsbygoogle::before { content: 'AdSense-Werbeplatz · Lokale Vorschau'; display: block; padding: 100px 20px; color: var(--home-muted); text-align: center; font-size: 12px; line-height: 1.8; }
@media (max-width: 1200px) { .portal-education-detail-page .portal-offer-detail > .container { width: calc(100% - 64px); } }
@media (max-width: 767px) { .portal-education-detail-page .portal-offer-detail > .container { width: calc(100% - 36px); } }
.portal-expert-detail-page .portal-offer-detail > div > .row { margin-inline: 0; }
.portal-expert-detail-page .portal-offer-detail > div > .row > .col-xl-12 { padding-inline: 0; }
.portal-expert-detail-page .portal-detail-main .card-body { overflow-wrap: anywhere; }
.portal-expert-detail-page .portal-detail-main .card-body :is(img,video,iframe,table) { max-width: 100%; }
.portal-expert-detail-page .portal-detail-main .card-body table { display: block; overflow-x: auto; }
.portal-expert-detail-page .portal-detail-summary .contact_pic_extra_big { border-radius: 50%; }
.portal-expert-detail-page .portal-detail-summary .contact_pic_small { width: 44px; height: 44px; object-fit: cover; border-radius: 50%; margin: 0; }
.portal-expert-detail-page .portal-detail-summary #lblExpertName { font-size: 15px !important; margin-bottom: 8px; }
.portal-expert-detail-page .portal-detail-summary h1 { hyphens: auto; }
.portal-expert-detail-page .portal-detail-related .relatedAdsInfo { min-width: 0; padding-left: 12px !important; overflow-wrap: anywhere; }
.portal-expert-detail-page .portal-detail-related .portal-cta-card { background: var(--home-soft); }
.portal-expert-detail-page .portal-detail-related .btn-purple { border: 1px solid #caeadd; border-radius: 8px; background: #e9faf3; color: var(--home-brand-text) !important; font-size: 12px; line-height: 1.7; padding: 12px 15px; white-space: normal; margin-left: 0 !important; }
@media (max-width: 600px) { .portal-expert-detail-page #contactDataContainer .col-6 { width: 100%; } }
@media (max-width: 767px) { .portal-expert-detail-page .portal-detail-summary h1 { font-size: 24px; } }
.portal-project-detail-page .portal-detail-description { overflow-wrap: anywhere; }
.portal-project-detail-page .portal-detail-description :is(img,video,iframe,table) { max-width: 100%; }
.portal-project-detail-page .portal-detail-description table { display: block; overflow-x: auto; }
.portal-project-detail-page .portal-detail-related .portal-cta-card { background: var(--home-soft); }
.portal-project-detail-page .portal-detail-related .btn-purple { border: 1px solid #caeadd; border-radius: 8px; background: #e9faf3; color: var(--home-brand-text) !important; font-size: 12px; line-height: 1.7; padding: 12px 15px; }
@media (max-width: 991px) {
    .portal-offer-detail-page .portal-detail-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .portal-offer-detail-page .portal-detail-related { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
    .portal-offer-detail-page .portal-detail-related > .content_info_box { grid-column: 1 / -1; margin: 0; }
    .portal-offer-detail-page .portal-detail-related > .row { margin: 0 !important; }
    .portal-offer-detail-page .portal-detail-related > .row > .col { padding: 0; }
}
@media (max-width: 767px) {
    .portal-offer-detail-page .portal-offer-detail { padding: 22px 0 30px; }
    .portal-offer-detail-page .portal-detail-container, .portal-offer-detail-page section[aria-labelledby="portalSignupHintTitle"] { width: calc(100% - 36px); }
    .portal-offer-detail-page .portal-detail-main > .content_info_box { margin-bottom: 18px; }
    .portal-offer-detail-page .breadcrumb { font-size: 10px; }
    .portal-offer-detail-page .card .card-body { padding: 22px; font-size: 13px; line-height: 1.9; }
    .portal-offer-detail-page .portal-detail-summary .card-body { padding: 23px 20px; }
    .portal-offer-detail-page .portal-detail-summary h1 { font-size: 26px; letter-spacing: -.75px; }
    .portal-offer-detail-page .portal-detail-summary .w-75 { width: calc(100% - 50px) !important; }
    .portal-offer-detail-page .portal-detail-kicker { font-size: 8px; letter-spacing: 1.2px; }
    .portal-offer-detail-page .portal-detail-summary .card-body > .row > .col { font-size: 11px; }
    .portal-offer-detail-page .portal-detail-main .card :is(h2,h6) { font-size: 19px; }
    .portal-offer-detail-page .portal-detail-related { display: block; }
    .portal-offer-detail-page .portal-detail-related > .row { margin-bottom: 18px !important; }
    .portal-offer-detail-page .portal-detail-related .portal-title { font-size: 17px; }
    .portal-offer-detail-page .portal-detail-related .w-75 { width: calc(100% - 52px) !important; }
    .portal-offer-detail-page .portal-detail-related .pe-5 { padding-right: 0 !important; font-size: 12px; line-height: 1.9; }
    .portal-offer-detail-page .btn-portal-actions { width: 40px; min-height: 40px; }
    .portal-offer-detail-page .portal-detail-actions .btn { margin-right: 3px; }
    .portal-offer-detail-page .portal-detail-main .card .ps-4 { padding-left: 12px !important; }
    .portal-offer-detail-page .contact_pic_extra_big { width: 56px; height: 56px; }
    .portal-offer-detail-page .portal-detail-main .card .fs-3 { font-size: 19px !important; }
    .portal-offer-detail-page .modal :is(.form-control,.form-select,textarea) { font-size: 16px; }
}
