/*
 * QazvinJobs 2.1.4 — web stability compatibility layer.
 * The actual presentation comes unchanged from the proven 1.7 stylesheet.
 * This file contains only non-visual safety rules for theme collisions.
 */
html, body { max-width: 100%; overflow-x: hidden; }
.qazvinjobs-auth-wrapper,
.qazvinjobs-dashboard-wrapper,
.qazvinjobs-submit-ad-wrapper,
.qz-intelligent-submission { box-sizing: border-box; max-width: 100%; }
.qazvinjobs-auth-wrapper *,
.qazvinjobs-dashboard-wrapper *,
.qazvinjobs-submit-ad-wrapper *,
.qz-intelligent-submission * { box-sizing: border-box; }

/* Keep AI generation and upload as separate touch targets. */
.qz-media-section,
.qz-ai-image-builder,
.qz-upload-alternative,
.qazvinjobs-file-upload-box { position: relative; }
.qz-ai-image-builder { z-index: 4; }
.qz-ai-image-generate,
.qz-image-style,
#qz-remove-generated-image { position: relative; z-index: 6; pointer-events: auto; }
.qz-upload-alternative { z-index: 2; }
.qazvinjobs-file-upload-box input[type="file"] { z-index: 2; }

.qz-ai-quick-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.qz-ai-fill-fields-btn {
    border: 1px solid #7c5ce0;
    border-radius: 10px;
    padding: 9px 12px;
    background: #f4f0ff;
    color: #583bbb;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}
.qz-ai-fill-fields-btn:disabled { opacity: .65; cursor: wait; }
.qz-ai-fill-status { flex-basis: 100%; margin: 8px 0 0; padding: 9px 11px; border-radius: 9px; background: #f7f9fb; color: #405267; }
.qz-ai-fill-status.success { background: #ecfdf5; color: #166534; }
.qz-ai-fill-status.error { background: #fef2f2; color: #991b1b; }

/* Prevent a theme sticky bar from covering the last form controls. */
.qz-intelligent-submission .qazvinjobs-submit-footer { z-index: 20; }
@media (max-width: 640px) {
    .qz-ai-quick-actions { width: 100%; }
    .qz-ai-quick-actions > button { flex: 1 1 150px; min-height: 42px; }
}

/* 2.1.4 Web stability: app-style role cards, inline AI and actionable reports. */
.qazvinjobs-role-selector{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
.qazvinjobs-role-card{min-height:190px!important;padding:22px 16px!important;border:0!important;border-radius:22px!important;color:#fff!important;box-shadow:0 14px 34px rgba(27,53,79,.15)!important;overflow:hidden!important}
.qazvinjobs-role-card[data-role="employer"]{background:linear-gradient(135deg,#ff9500,#ff7a00)!important}
.qazvinjobs-role-card[data-role="job_seeker"]{background:linear-gradient(135deg,#1bb7aa,#07998d)!important}
.qazvinjobs-role-card h3,.qazvinjobs-role-card p{color:#fff!important}
.qazvinjobs-role-card p{opacity:.9!important}
.qazvinjobs-role-card .role-icon-wrapper{background:rgba(255,255,255,.18)!important;border:1px solid rgba(255,255,255,.34)!important;color:#fff!important}
.qazvinjobs-role-card .role-icon-wrapper .dashicons{color:#fff!important}
.qazvinjobs-role-card.active{outline:4px solid rgba(255,255,255,.95)!important;outline-offset:-8px!important;transform:translateY(-2px)}
.qazvinjobs-role-card .qazvinjobs-role-radio{border-color:rgba(255,255,255,.8)!important;background:rgba(255,255,255,.18)!important}
.qazvinjobs-role-card.active .qazvinjobs-role-radio{background:#fff!important;border-color:#fff!important}
.qazvinjobs-role-card.active .qazvinjobs-role-radio:after{background:#ff8b00!important}
.qz-profile-photo-onboarding,.qz-profile-photo-editor,.qz-reference-photo-card,.qz-resume-pdf-builder{border:1px solid #e4eaf1;border-radius:18px;background:#fff;padding:16px;margin:14px 0}
.qz-profile-photo-editor,.qz-reference-photo-card,.qz-resume-pdf-builder{display:flex;gap:15px;align-items:center}
.qz-profile-photo-preview,.qz-reference-photo-card img,.qz-reference-placeholder{width:94px;height:94px;flex:0 0 94px;border-radius:18px;object-fit:cover;background:#f1f5f9;display:grid;place-items:center}
.qz-profile-photo-preview img{width:100%;height:100%;border-radius:18px;object-fit:cover}
.qz-profile-photo-preview .dashicons,.qz-reference-placeholder .dashicons{font-size:34px;width:34px;height:34px;color:#7b8796}
.qz-ai-consent{display:flex;align-items:flex-start;gap:9px;padding:12px;border-radius:13px;background:#f7fbff;color:#516174;font-size:12px;line-height:1.8;margin-top:10px}
.qz-smart-workflow-toolbar{margin:16px 0;padding:16px;border:1px solid #dfe8f2;border-radius:18px;background:linear-gradient(135deg,#fffaf3,#f3fbff)}
.qz-smart-workflow-copy{display:flex;align-items:center;gap:12px}.qz-smart-workflow-copy>.dashicons{width:42px;height:42px;border-radius:13px;background:#1f3853;color:#fff;display:grid;place-items:center;font-size:20px}
.qz-smart-workflow-copy strong{display:block;color:#24394e;font-size:14px}.qz-smart-workflow-copy p{margin:4px 0 0;color:#708092;font-size:11px}
.qz-smart-workflow-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.qz-workflow-btn,.qz-inline-ai-btn,.qz-resume-pdf-builder button,.qz-profile-photo-editor button,.qz-generate-action-report,.qz-ai-real-tools button,.qz-ai-real-tools a{border:1px solid #dbe4ee;border-radius:11px;background:#fff;color:#27415a;padding:9px 13px;font:inherit;font-size:11px;font-weight:700;cursor:pointer;text-decoration:none}.qz-workflow-btn.is-ai,.qz-inline-ai-btn{border-color:#d9cfff;background:#f7f3ff;color:#6d48c9}
.qz-label-action-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px}.qz-label-action-row label{margin:0!important}.qz-inline-ai-btn{white-space:nowrap;padding:6px 9px;font-size:10px}
.qz-quality-result{margin-top:12px;padding:12px;border-radius:12px;background:#fff}.qz-quality-result ul{margin:8px 18px 0}.qz-quality-result .is-ok{color:#16865d}.qz-quality-result .is-missing{color:#b96b11}
.qz-jobseeker-image-builder{background:linear-gradient(135deg,#f7fbff,#fff8ef)}.qz-fast-image{background:linear-gradient(135deg,#18a99d,#0b8f86)!important}.qz-reference-upload{margin-top:12px}
.qz-resume-pdf-builder>div{flex:1}.qz-resume-pdf-builder strong{display:block;color:#273e55}.qz-resume-pdf-builder p{margin:4px 0 0;color:#768596;font-size:11px}.qz-resume-pdf-builder>.dashicons{color:#7b56d6}
.qz-ai-actionable{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important}.qz-action-report-result{margin:16px 0;padding:18px;border:1px solid #dfe7f0;border-radius:18px;background:#fff}.qz-action-report-result h4{margin:0 0 12px;color:#273d54}.qz-action-report-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.qz-action-report-kpis span{padding:10px;border-radius:11px;background:#f5f8fb;color:#667487;font-size:11px}.qz-action-report-kpis b{display:block;color:#20394f;font-size:16px}.qz-action-report-result ol{margin:15px 20px 0;color:#384e63;line-height:2}.qz-report-warning{background:#fff7e7;color:#9b6715;padding:10px;border-radius:10px}.qz-ai-real-tools article{display:flex;flex-direction:column}.qz-ai-real-tools article button,.qz-ai-real-tools article a{margin-top:auto;text-align:center}
.qz-avatar-photo{object-fit:cover!important}
@media(max-width:700px){.qazvinjobs-role-selector{grid-template-columns:1fr 1fr!important;gap:9px!important}.qazvinjobs-role-card{min-height:166px!important;padding:16px 9px!important}.qazvinjobs-role-card h3{font-size:14px!important}.qazvinjobs-role-card p{font-size:10px!important}.qz-smart-workflow-actions>*{flex:1 1 130px}.qz-label-action-row{align-items:flex-start}.qz-inline-ai-btn{font-size:9px;padding:6px}.qz-profile-photo-editor,.qz-reference-photo-card,.qz-resume-pdf-builder{align-items:flex-start;flex-wrap:wrap}.qz-ai-actionable{grid-template-columns:auto 1fr!important}.qz-ai-actionable .qz-generate-action-report{grid-column:1/-1;width:100%}.qz-action-report-kpis{grid-template-columns:1fr}.qz-profile-photo-preview,.qz-reference-photo-card img,.qz-reference-placeholder{width:78px;height:78px;flex-basis:78px}}


/* 2.1.4: app-like actions and automatic AI report state */
.qz-loop-primary-action{display:flex;width:100%;margin:10px 0 2px;position:relative;z-index:3}
.qz-loop-primary-action:empty{display:none}
.qz-loop-apply{border:0!important;width:100%;min-height:44px;display:flex!important;align-items:center;justify-content:center;gap:7px;border-radius:12px!important;background:#ff8a00!important;color:#fff!important;font-weight:800!important;text-decoration:none!important;box-shadow:0 7px 18px rgba(255,138,0,.18);cursor:pointer}
.qz-loop-apply.qz-loop-invite{background:#10a79c!important}
.qz-loop-apply.is-complete{background:#1f8f62!important;opacity:.92}
.qz-ai-auto-report-hero{align-items:center}
.qz-auto-report-state{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border-radius:999px;background:#eefbf5;color:#16835d;font-size:12px;font-weight:800;white-space:nowrap}
.qz-action-report-result.is-loading{min-height:120px;display:flex;align-items:center;justify-content:center;color:#64748b}
.qz-inline-ai-feedback{display:block;margin-top:6px;font-size:12px;color:#16835d}
.qz-inline-ai-feedback.error{color:#c0392b}
.qz-inline-ai-btn.is-success{background:#eafaf2!important;color:#16835d!important;border-color:#bcebd3!important}
@media(max-width:700px){.qz-ai-auto-report-hero{display:block!important}.qz-auto-report-state{margin-top:10px;white-space:normal}.qz-loop-apply{min-height:46px}}


/* =====================================================================
 * QazvinJobs 2.1.5 — responsive account, app-like actions, compact ads
 * ===================================================================== */
@media(max-width:991px){
  .qz-mobile-account-direct>.qz-hidden-legacy-account-menu,
  .qz-mobile-account-direct>.dropdown-menu,
  .qz-mobile-account-direct>ul.sub-menu{display:none!important;visibility:hidden!important;pointer-events:none!important}
  .qz-legacy-account-direct{position:relative!important;z-index:10050!important;pointer-events:auto!important;cursor:pointer!important}
}

/* One landscape media ratio on the home grid, sliders, search and single page. */
.qazvinjobs-ad-employer .image,
.qazvinjobs-ad-job_seeker .image,
.qazvinjobs-ad-employer .product-image,
.qazvinjobs-ad-job_seeker .product-image,
.qazvinjobs-ad-employer .qazvinjobs-thumbnail-wrapper,
.qazvinjobs-ad-job_seeker .qazvinjobs-thumbnail-wrapper{
  display:block!important;width:100%!important;aspect-ratio:3/2!important;overflow:hidden!important;background:#eef2f5!important
}
.qazvinjobs-ad-employer .image img,.qazvinjobs-ad-job_seeker .image img,
.qazvinjobs-ad-employer .product-image img,.qazvinjobs-ad-job_seeker .product-image img,
.qazvinjobs-ad-employer .qazvinjobs-thumbnail-wrapper img,.qazvinjobs-ad-job_seeker .qazvinjobs-thumbnail-wrapper img{
  display:block!important;width:100%!important;height:100%!important;min-height:100%!important;max-height:none!important;object-fit:cover!important;object-position:center!important
}
body.qazvinjobs-single-ad .woocommerce-product-gallery,
body.qazvinjobs-single-ad .single-image,
body.qazvinjobs-single-ad .product-slider{overflow:hidden!important;border-radius:14px!important;background:#edf2f5!important}
body.qazvinjobs-single-ad .woocommerce-product-gallery img,
body.qazvinjobs-single-ad .single-image img,
body.qazvinjobs-single-ad .product-slider img{width:100%!important;max-height:min(66vh,620px)!important;aspect-ratio:3/2!important;object-fit:cover!important;object-position:center!important}

/* Ensure action exists in all Charsoogh card variants and remains touchable. */
.qazvinjobs-ad-employer .qz-loop-primary-action,.qazvinjobs-ad-job_seeker .qz-loop-primary-action{clear:both!important;padding:0 10px 10px!important;box-sizing:border-box!important}
.qazvinjobs-ad-employer .qz-loop-apply,.qazvinjobs-ad-job_seeker .qz-loop-apply{position:relative!important;z-index:20!important;pointer-events:auto!important}

/* Readable single-ad hero on the dark background. */
body.qazvinjobs-single-ad .hero .page-title,
body.qazvinjobs-single-ad .hero .page-title h1,
body.qazvinjobs-single-ad .hero .page-title h2,
body.qazvinjobs-single-ad .hero .page-title h3,
body.qazvinjobs-single-ad .hero .page-title .title,
body.qazvinjobs-single-ad .hero .page-title .location,
body.qazvinjobs-single-ad .hero .page-title .location a,
body.qazvinjobs-single-ad .hero .page-title p:not(.qz-salary-price),
body.qazvinjobs-single-ad .hero .page-title span:not(.qz-salary-prefix),
body.qazvinjobs-single-ad .hero .page-title i{color:#fff!important;opacity:1!important;text-shadow:0 1px 2px rgba(0,0,0,.35)!important}
body.qazvinjobs-single-ad .hero .page-title .location,
body.qazvinjobs-single-ad .hero .page-title .location a{color:#dce8f1!important}
body.qazvinjobs-single-ad .hero .page-title .ad-id,
body.qazvinjobs-single-ad .hero .page-title .product-id{color:#c5d3df!important}

/* Fields first, then a true 3–4-line summary instead of a very long page. */
.qz-public-ad-details{margin-top:18px!important}
.qz-public-ad-details dl{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.qz-public-ad-details dl>div{min-height:62px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.qz-public-ad-description{margin:16px 0 20px;padding:18px 20px;border:1px solid #dfe7ee;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(32,54,76,.045)}
.qz-public-ad-description p{display:-webkit-box;margin:0;color:#4c6074;font-size:12px;line-height:2;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4}
.qz-unified-contact-panel .qz-public-contact-heading p{line-height:1.9!important;color:#6d7e90!important}
@media(max-width:600px){
  .qz-public-ad-details dl{grid-template-columns:1fr!important}
  .qz-public-ad-details dl>div{min-height:56px!important}
  .qz-public-ad-description{padding:15px!important}
  .qz-public-ad-description p{font-size:11px!important;-webkit-line-clamp:4!important}
}


/* Mobile account strip: never let a legacy dropdown cover the quick-action header. */
@media(max-width:991px){
  .qz-mobile-account-direct{position:relative!important;z-index:10060!important}
  .qz-mobile-account-direct.open>.dropdown-menu,
  .qz-mobile-account-direct.show>.dropdown-menu,
  .qz-mobile-account-direct:hover>.dropdown-menu{display:none!important;opacity:0!important;transform:none!important}
  .qz-mobile-account-direct>a,.qz-mobile-account-direct>button{pointer-events:auto!important;touch-action:manipulation!important}
}
