/* WP CV Builder Pro 2.3.3: isolated editor, Figma ATS templates, RTL, and PDF/footer compatibility. */

.wp-block-bwdcv-wp-cv-builder-sass,
.wp-block-bwdcv-wp-cv-builder-sass * {
    box-sizing: border-box;
}

.bwdcv-pro-job-applied {
    background: #ecfdf5 !important;
    border-color: #a7f3d0 !important;
    color: #047857 !important;
    cursor: default;
    font-weight: 750;
}

.wp-block-bwdcv-wp-cv-builder-sass {
    overflow-wrap: anywhere;
    text-rendering: optimizeLegibility;
}

.wp-block-bwdcv-wp-cv-builder-sass [dir="auto"],
.bwdcv-pro-direction-auto .about-description,
.bwdcv-pro-direction-auto .description,
.bwdcv-pro-direction-auto .wpcv-about-description,
.bwdcv-pro-direction-auto .wpcv-experience-description {
    unicode-bidi: plaintext;
}

.bwdcv-pro-rtl,
.bwdcv-pro-force-rtl {
    direction: rtl;
    font-family: "Noto Sans Arabic", "Noto Kufi Arabic", Tahoma, Arial, sans-serif;
}

.bwdcv-pro-ltr,
.bwdcv-pro-force-ltr {
    direction: ltr;
}

.bwdcv-pro-rtl .profile-info,
.bwdcv-pro-rtl .about-description,
.bwdcv-pro-rtl .description,
.bwdcv-pro-rtl .section-title,
.bwdcv-pro-rtl .wpcv-temp26-content,
.bwdcv-pro-rtl .wpcv-temp27-content,
.bwdcv-pro-rtl .wpcv-temp28-content,
.bwdcv-pro-force-rtl .profile-info,
.bwdcv-pro-force-rtl .about-description,
.bwdcv-pro-force-rtl .description,
.bwdcv-pro-force-rtl .section-title,
.bwdcv-pro-force-rtl .wpcv-temp26-content,
.bwdcv-pro-force-rtl .wpcv-temp27-content,
.bwdcv-pro-force-rtl .wpcv-temp28-content {
    direction: rtl;
    text-align: right;
}

.bwdcv-pro-rtl .wpcv-container ul li,
.bwdcv-pro-force-rtl .wpcv-container ul li {
    margin-left: 0 !important;
    margin-right: 15px !important;
}

.bwdcv-pro-rtl .wpcv-container ul li::before,
.bwdcv-pro-force-rtl .wpcv-container ul li::before {
    left: auto !important;
    right: -9px !important;
}

.bwdcv-pro-rtl .wpcv-container.temp27 .wpcv-section-title,
.bwdcv-pro-force-rtl .wpcv-container.temp27 .wpcv-section-title {
    margin-left: -100% !important;
    margin-right: -100% !important;
}

.bwdcv-pro-footer-safe,
.bwdcv-pro-footer-safe .bwdcvs-main-wrapper,
.bwdcv-pro-footer-safe .bwdcvs-cv-builder-common,
.bwdcv-pro-footer-safe .cv-builder-information {
    max-height: none !important;
    overflow: visible !important;
}

.bwdcv-pro-footer-safe .footer,
.bwdcv-pro-pdf-capture .footer,
.bwdcv-pro-pdf-capture [class*="footer"] {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    flex: 0 0 auto;
    max-width: 100%;
}

.bwdcv-pro-pdf-capture,
.bwdcv-pro-pdf-capture .bwdcvs-main-wrapper,
.bwdcv-pro-pdf-capture .bwdcvs-cv-builder-common,
.bwdcv-pro-pdf-capture .cv-builder-information {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

.bwdcv-pro-pdf-capture .footer {
    position: relative !important;
    inset: auto !important;
    clear: both !important;
    width: 100% !important;
}

.bwdcv-pro-page-break-spacer {
    display: block !important;
    width: 100% !important;
    min-width: 100% !important;
    visibility: hidden !important;
    clear: both !important;
}

#bwdcv-pro-launcher {
    align-items: center;
    background: linear-gradient(135deg, #1d4ed8, #6d28d9);
    border: 0;
    border-radius: 999px;
    bottom: 24px;
    box-shadow: 0 12px 32px rgba(30, 41, 59, .3);
    color: #fff;
    cursor: pointer;
    display: flex;
    font-size: 13px;
    font-weight: 700;
    gap: 7px;
    inset-inline-end: 24px;
    min-height: 46px;
    padding: 0 17px;
    position: fixed;
    z-index: 99989;
}

#bwdcv-pro-launcher:hover,
#bwdcv-pro-launcher:focus-visible {
    box-shadow: 0 16px 38px rgba(30, 41, 59, .42);
    transform: translateY(-1px);
}

#bwdcv-pro-assistant {
    background: #fff;
    border: 1px solid #dbe3ee;
    border-radius: 14px;
    bottom: 80px;
    box-shadow: 0 18px 55px rgba(15, 23, 42, .28);
    color: #172033;
    display: flex;
    flex-direction: column;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    inset-inline-end: 24px;
    max-height: min(720px, calc(100vh - 112px));
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    position: fixed;
    transform: translateY(12px) scale(.98);
    transition: opacity .18s ease, transform .18s ease;
    width: min(390px, calc(100vw - 34px));
    z-index: 99990;
}

#bwdcv-pro-assistant.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

.bwdcv-pro-notice {
    background: #172033;
    border-inline-start: 4px solid #60a5fa;
    border-radius: 10px;
    bottom: 24px;
    box-shadow: 0 14px 38px rgba(15, 23, 42, .32);
    color: #fff;
    font: 600 14px/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    inset-inline: auto 18px;
    max-width: min(430px, calc(100vw - 32px));
    padding: 12px 15px;
    position: fixed;
    z-index: 100020;
}

.bwdcv-pro-notice[hidden] { display: none !important; }
.bwdcv-pro-notice.is-success { border-inline-start-color: #34d399; }
.bwdcv-pro-notice.is-warning { border-inline-start-color: #fbbf24; }
.bwdcv-pro-notice.is-error { border-inline-start-color: #fb7185; }

#bwdcv-pro-assistant > header {
    align-items: center;
    background: linear-gradient(135deg, #172554, #312e81);
    color: #fff;
    display: flex;
    justify-content: space-between;
    padding: 15px 17px;
}

#bwdcv-pro-assistant > header > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

#bwdcv-pro-assistant > header strong {
    font-size: 15px;
}

#bwdcv-pro-assistant > header small {
    color: #c7d2fe;
    font-size: 11px;
}

#bwdcv-pro-assistant > header button {
    background: transparent;
    border: 0;
    color: #fff;
    cursor: pointer;
    font-size: 27px;
    line-height: 1;
    padding: 0 2px;
}

#bwdcv-pro-assistant nav {
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    padding: 0 12px;
}

#bwdcv-pro-assistant nav button {
    background: transparent;
    border: 0;
    border-bottom: 2px solid transparent;
    color: #64748b;
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    padding: 12px 8px 10px;
}

#bwdcv-pro-assistant nav button.is-active {
    border-bottom-color: #4f46e5;
    color: #312e81;
}

.bwdcv-pro-panel-body {
    overflow: auto;
    padding: 17px;
}

.bwdcv-pro-panel-body h3,
.bwdcv-pro-panel-body h4 {
    color: #172033;
    margin: 0 0 12px;
}

.bwdcv-pro-panel-body h3 {
    font-size: 15px;
}

.bwdcv-pro-panel-body h4 {
    font-size: 13px;
    margin-top: 18px;
}

.bwdcv-pro-score-grid {
    display: grid;
    gap: 11px;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 17px;
}

.bwdcv-pro-score-card {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding: 12px 8px;
    text-align: center;
}

.bwdcv-pro-score-card > span {
    color: #475569;
    font-size: 11px;
    font-weight: 700;
}

.bwdcv-pro-score-ring {
    align-items: center;
    background: conic-gradient(var(--score-color) calc(var(--score) * 1%), #dbe4ef 0);
    border-radius: 50%;
    display: flex;
    height: 72px;
    justify-content: center;
    position: relative;
    width: 72px;
}

.bwdcv-pro-score-ring::before {
    background: #fff;
    border-radius: inherit;
    content: "";
    inset: 7px;
    position: absolute;
}

.bwdcv-pro-score-ring strong {
    color: #172033;
    font-size: 17px;
    position: relative;
}

.bwdcv-pro-field {
    display: block;
    margin-bottom: 11px;
}

.bwdcv-pro-field > span {
    color: #334155;
    display: block;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 5px;
}

.bwdcv-pro-field textarea,
.bwdcv-pro-field select,
.bwdcv-pro-import-preview {
    border: 1px solid #cbd5e1;
    border-radius: 7px;
    box-sizing: border-box;
    font-size: 12px;
    line-height: 1.45;
    padding: 9px;
    width: 100%;
}

.bwdcv-pro-upload {
    align-items: center;
    background: #f8fafc;
    border: 1px dashed #94a3b8;
    border-radius: 10px;
    color: #3730a3;
    cursor: pointer;
    display: flex;
    font-size: 12px;
    font-weight: 700;
    justify-content: center;
    margin-bottom: 13px;
    min-height: 76px;
    padding: 12px;
    text-align: center;
}

.bwdcv-pro-upload input {
    height: 1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

.bwdcv-pro-import-divider {
    align-items: center;
    color: #64748b;
    display: flex;
    font-size: 10px;
    font-weight: 800;
    gap: 9px;
    letter-spacing: .08em;
    margin: -3px 0 10px;
    text-transform: uppercase;
}

.bwdcv-pro-import-divider::before,
.bwdcv-pro-import-divider::after {
    background: #e2e8f0;
    content: "";
    flex: 1;
    height: 1px;
}

.bwdcv-pro-camera {
    align-items: center;
    background: linear-gradient(135deg, #eef2ff, #ecfeff);
    border: 1px solid #a5b4fc;
    border-radius: 12px;
    color: #1e1b4b;
    cursor: pointer;
    display: grid;
    gap: 2px 9px;
    grid-template-columns: 34px minmax(0, 1fr);
    margin-bottom: 8px;
    padding: 12px;
}

.bwdcv-pro-camera:hover,
.bwdcv-pro-camera:focus-within {
    border-color: #4f46e5;
    box-shadow: 0 0 0 3px rgba(79, 70, 229, .12);
}

.bwdcv-pro-camera.is-busy {
    cursor: wait;
    opacity: .75;
}

.bwdcv-pro-camera input {
    height: 1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

.bwdcv-pro-camera .dashicons {
    align-items: center;
    background: #4f46e5;
    border-radius: 10px;
    color: #fff;
    display: flex;
    font-size: 19px;
    grid-row: 1 / span 2;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.bwdcv-pro-camera strong {
    font-size: 12px;
    line-height: 1.3;
}

.bwdcv-pro-camera small {
    color: #475569;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.4;
}

.bwdcv-pro-camera-privacy {
    align-items: flex-start;
    color: #64748b;
    display: flex;
    font-size: 10px;
    gap: 6px;
    line-height: 1.45;
    margin: 0 0 12px;
}

.bwdcv-pro-camera-privacy .dashicons {
    color: #0f766e;
    flex: 0 0 auto;
    font-size: 14px;
    height: 14px;
    margin-top: 1px;
    width: 14px;
}

.bwdcv-pro-import-preview {
    background: #f8fafc;
    color: #475569;
    margin: 9px 0 12px;
    resize: vertical;
}

.bwdcv-pro-file-ready,
.bwdcv-pro-keyword-match,
.bwdcv-pro-muted,
.bwdcv-pro-disclaimer {
    color: #64748b;
    font-size: 11px;
    line-height: 1.5;
}

.bwdcv-pro-disclaimer {
    border-top: 1px solid #e2e8f0;
    margin-top: 16px;
    padding-top: 11px;
}

.bwdcv-pro-suggestions {
    display: grid;
    gap: 7px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.bwdcv-pro-suggestions li {
    background: #fff7ed;
    border-inline-start: 3px solid #f97316;
    color: #7c2d12;
    font-size: 11px;
    line-height: 1.45;
    padding: 7px 9px;
}

.bwdcv-pro-success {
    background: #ecfdf5;
    border-inline-start: 3px solid #10b981;
    color: #065f46;
    font-size: 11px;
    padding: 8px 9px;
}

.bwdcv-pro-locked,
.bwdcv-pro-empty {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 11px;
    min-height: 180px;
    justify-content: center;
    text-align: center;
}

.bwdcv-pro-locked .dashicons {
    color: #6366f1;
    font-size: 34px;
    height: 34px;
    width: 34px;
}

@media (max-width: 600px) {
    #bwdcv-pro-launcher {
        bottom: 14px;
        inset-inline-end: 14px;
    }

    #bwdcv-pro-assistant {
        bottom: 70px;
        inset-inline-end: 10px;
        width: calc(100vw - 20px);
    }
}

@media print {
    #bwdcv-pro-launcher,
    #bwdcv-pro-assistant {
        display: none !important;
    }

    .bwdcv-pro-footer-safe .footer,
    .bwdcv-pro-pdf-capture .footer {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }
}

/* Compact assistant workspace: five focused tabs and readable controls. */
#bwdcv-pro-assistant {
    bottom: 72px;
    height: auto;
    inset-inline-end: auto;
    inset-inline-start: 24px;
    max-height: min(620px, calc(100vh - 104px));
    width: min(360px, calc(100vw - 34px));
}

#bwdcv-pro-assistant nav {
    display: grid;
    gap: 0;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    overflow: visible;
    padding: 0 10px;
}

#bwdcv-pro-assistant nav button {
    min-width: 0;
    padding-inline: 4px;
    white-space: normal;
}

.bwdcv-pro-panel-body {
    flex: 1 1 auto;
    padding: 17px;
}

.bwdcv-pro-form-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bwdcv-pro-field input,
.bwdcv-pro-field select,
.bwdcv-pro-field textarea,
.bwdcv-pro-section-row input[type="text"] {
    border: 1px solid #cbd5e1;
    border-radius: 7px;
    box-sizing: border-box;
    font-size: 13px;
    min-height: 40px;
    padding: 8px 10px;
    width: 100%;
}

.bwdcv-pro-voice-actions {
    display: grid;
    gap: 8px;
    grid-template-columns: 1fr 1fr;
    margin: 12px 0 8px;
}

.bwdcv-pro-voice-actions .button,
.bwdcv-pro-voice-insert {
    min-height: 40px;
    justify-content: center;
}

.bwdcv-pro-voice-insert {
    width: 100%;
}

.bwdcv-pro-figma-picker {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bwdcv-pro-template-filters {
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(160px, 1fr) minmax(135px, .65fr) minmax(145px, .75fr);
    margin: 0 0 14px;
}

.bwdcv-pro-template-filters input,
.bwdcv-pro-template-filters select {
    background: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    box-sizing: border-box;
    min-height: 40px;
    padding: 7px 10px;
    width: 100%;
}

@media (max-width: 720px) {
    .bwdcv-pro-template-filters {
        grid-template-columns: 1fr;
    }
}

.bwdcv-pro-figma-card {
    align-content: start;
    min-height: 0;
    overflow: hidden;
    padding: 8px;
    position: relative;
}

.bwdcv-pro-figma-card.is-locked {
    background: #f8fafc;
}

.bwdcv-pro-template-preview {
    align-items: center;
    aspect-ratio: auto;
    background: linear-gradient(145deg, #eef2ff, #f8fafc);
    border-radius: 6px;
    display: flex !important;
    justify-content: center;
    height: 132px;
    overflow: hidden;
    position: relative;
}

.bwdcv-pro-template-preview img {
    height: 100%;
    object-fit: cover;
    object-position: top;
    width: 100%;
}

.bwdcv-pro-template-preview .dashicons {
    color: #6366f1;
    font-size: 44px;
    height: 44px;
    width: 44px;
}

.bwdcv-pro-template-preview em {
    background: #166534;
    border-radius: 999px;
    color: #fff;
    font-size: 9px;
    font-style: normal;
    font-weight: 800;
    inset-inline-end: 7px;
    letter-spacing: .08em;
    padding: 4px 7px;
    position: absolute;
    top: 7px;
}

.bwdcv-pro-figma-card.is-locked .bwdcv-pro-template-preview em {
    background: #5b21b6;
}

.bwdcv-pro-section-list,
.bwdcv-pro-job-list {
    display: grid;
    gap: 10px;
}

.bwdcv-pro-section-row {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    display: grid;
    gap: 12px;
    grid-template-columns: 150px minmax(180px, 1fr) 140px auto;
    padding: 10px;
}

.bwdcv-pro-section-row.is-active {
    border-color: #6366f1;
    box-shadow: 0 0 0 1px #6366f1;
}

.bwdcv-pro-section-focus,
.bwdcv-pro-section-row > div button {
    background: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    cursor: pointer;
    padding: 7px;
}

.bwdcv-pro-job-card {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding: 14px;
}

.bwdcv-pro-job-card h4,
.bwdcv-pro-job-card p {
    margin: 3px 0;
}

.bwdcv-pro-job-card > div > span {
    color: #047857;
    font-size: 11px;
    font-weight: 800;
}

#bwd-pdf-capture-stage [class*="signature"],
#bwd-pdf-capture-stage img[src*="signature"],
#bwd-pdf-capture-stage img[src*="sign_"] {
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    mix-blend-mode: normal !important;
}

#bwd-pdf-capture-stage img[src*="sign-white.png"],
#bwd-pdf-capture-stage [data-bwdcv-placeholder-signature] {
    display: none !important;
}

.bwdcv-pro-export-toolbar {
    align-items: center;
    background: #fff;
    border: 1px solid #dbe3ee;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .1);
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 14px auto;
    max-width: 794px;
    padding: 10px 12px;
}

.bwdcv-pro-export-toolbar strong {
    color: #334155;
    font-size: 12px;
    margin-inline-end: 4px;
}

.bwdcv-pro-export-toolbar button {
    background: #eef2ff;
    border: 1px solid #c7d2fe;
    border-radius: 7px;
    color: #3730a3;
    cursor: pointer;
    font-size: 11px;
    font-weight: 800;
    padding: 7px 10px;
}

.bwdcv-pro-export-toolbar.is-subscription-required button {
    cursor: pointer;
    opacity: .72;
}

.bwdcv-pro-export-toolbar .bwdcv-pro-export-upgrade {
    background: linear-gradient(135deg, #4338ca, #7c3aed);
    border-radius: 7px;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    padding: 8px 12px;
    text-decoration: none;
}

.bwdcv-pro-export-toolbar .bwdcv-pro-print-button {
    align-items: center;
    display: inline-flex;
    gap: 5px;
}

.bwdcv-pro-export-toolbar .bwdcv-pro-print-button svg {
    fill: currentColor;
    height: 14px;
    width: 14px;
}

.bwdcv-pro-export-toolbar .bwdcv-pro-toolbar-edit {
    background: #1d4ed8;
    border: 1px solid #1d4ed8;
    border-radius: 7px;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    margin-inline-start: auto;
    padding: 7px 12px;
    text-decoration: none;
}

.bwdcv-pro-saved-signature {
    align-items: center;
    break-inside: avoid;
    display: flex;
    justify-content: flex-end;
    margin-top: 18px;
    padding: 0 28px 22px;
    page-break-inside: avoid;
}

.bwdcv-pro-saved-signature img {
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    height: auto;
    max-height: 64px;
    max-width: 170px;
    object-fit: contain;
}

@media (max-width: 900px) {
    #bwdcv-pro-assistant {
        bottom: 70px;
        height: auto;
        inset-inline-end: auto;
        inset-inline-start: 10px;
        max-height: calc(100vh - 90px);
        width: calc(100vw - 20px);
    }
    .bwdcv-pro-figma-picker { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bwdcv-pro-section-row { grid-template-columns: 1fr; }
}

@media (max-width: 540px) {
    .bwdcv-pro-form-grid,
    .bwdcv-pro-figma-picker { grid-template-columns: 1fr; }
    .bwdcv-pro-panel-body { padding: 14px; }
    .bwdcv-pro-export-toolbar { margin: 10px; }
}

@media print {
    .bwdcv-pro-export-toolbar,
    #bwdcv-pro-live-score { display: none !important; }
}

#bwdcv-pro-live-score {
    align-items: center;
    background: #fff;
    border: 2px solid #2563eb;
    border-radius: 999px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .18);
    color: #0f172a;
    cursor: pointer;
    display: grid;
    gap: 0;
    grid-template-columns: auto auto;
    inset-inline-end: 16px;
    line-height: 1.05;
    padding: 8px 13px;
    position: fixed;
    top: 16px;
    z-index: 100001;
}

body.admin-bar #bwdcv-pro-live-score { top: 48px; }

#bwdcv-pro-live-score span { color: #2563eb; font-size: 11px; font-weight: 800; margin-inline-end: 6px; }
#bwdcv-pro-live-score strong { font-size: 18px; }
#bwdcv-pro-live-score small { color: #64748b; font-size: 9px; grid-column: 1 / -1; margin-top: 2px; }

.bwdcv-pro-preset-template .bwdcv-pro-preset-preview { display: block; position: relative; }
.bwdcv-pro-preset-template .bwdcv-pro-preset-preview img { aspect-ratio: .72; height: auto; object-fit: cover; object-position: top; width: 100%; }
.bwdcv-pro-preset-template .bwdcv-pro-preset-preview em,
.bwdcv-pro-preset-template .bwdcv-pro-preset-preview i { border-radius: 999px; color: #fff; font-size: 9px; font-style: normal; font-weight: 800; padding: 3px 6px; position: absolute; top: 5px; }
.bwdcv-pro-preset-template .bwdcv-pro-preset-preview em { background: #5b21b6; inset-inline-end: 5px; }
.bwdcv-pro-preset-template .bwdcv-pro-preset-preview i { background: #047857; inset-inline-start: 5px; }
.bwdcv-pro-preset-template .image-label small { display: block; font-size: 9px; font-weight: 500; line-height: 1.25; }

.bwdcv-pro-tutorial { aspect-ratio: 16 / 9; overflow: hidden; }
.bwdcv-pro-tutorial iframe { border: 0; height: 100%; width: 100%; }
.bwdcv-pro-job-actions { display: flex; flex-wrap: wrap; gap: 6px; }

/* Mobile-first integration with the adaptive frontend CV workspace. */
@media (max-width: 782px) {
    body.bwdcv-frontend-editor .bwdcv-pro-notice {
        bottom: calc(var(--bwdcv-bottom-height, 62px) + env(safe-area-inset-bottom) + 12px);
        inset-inline: 12px;
        max-width: none;
        text-align: start;
    }

    body.bwdcv-frontend-editor #bwdcv-pro-launcher {
        bottom: calc(var(--bwdcv-bottom-height, 62px) + env(safe-area-inset-bottom) + 10px);
        inset-inline-end: 10px;
        min-height: 44px;
        padding: 0 13px;
    }

    body.bwdcv-frontend-editor #bwdcv-pro-assistant {
        border-radius: 18px 18px 0 0;
        bottom: calc(var(--bwdcv-bottom-height, 62px) + env(safe-area-inset-bottom));
        inset-inline: 0;
        max-height: min(70dvh, 650px);
        padding-bottom: env(safe-area-inset-bottom);
        width: 100vw;
    }

    body.bwdcv-frontend-editor #bwdcv-pro-assistant > header {
        min-height: 52px;
        padding: 11px 14px;
    }

    body.bwdcv-frontend-editor #bwdcv-pro-assistant nav {
        grid-template-columns: repeat(5, minmax(68px, 1fr));
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        padding: 0 8px;
        scroll-snap-type: x proximity;
    }

    body.bwdcv-frontend-editor #bwdcv-pro-assistant nav button {
        min-height: 44px;
        scroll-snap-align: start;
    }

    body.bwdcv-frontend-editor .bwdcv-pro-panel-body {
        overscroll-behavior: contain;
        padding: 13px;
    }

    body.bwdcv-frontend-editor .bwdcv-pro-figma-picker {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.bwdcv-frontend-editor .bwdcv-pro-template-preview {
        height: 116px;
    }

    body.bwdcv-frontend-editor #bwdcv-pro-live-score {
        border-width: 1px;
        inset-inline-end: 9px;
        padding: 6px 9px;
        top: calc(var(--bwdcv-shell-top, 102px) + 7px);
        z-index: 100004;
    }

    body.bwdcv-frontend-editor #bwdcv-pro-live-score span { font-size: 9px; }
    body.bwdcv-frontend-editor #bwdcv-pro-live-score strong { font-size: 14px; }
    body.bwdcv-frontend-editor #bwdcv-pro-live-score small { display: none; }
}

@media (max-width: 390px) {
    body.bwdcv-frontend-editor #bwdcv-pro-launcher span:not(.dashicons) { display: none; }
    body.bwdcv-frontend-editor #bwdcv-pro-launcher { border-radius: 50%; justify-content: center; padding: 0; width: 44px; }
}
