.has-opportunity-popup { overflow:hidden; }
.opportunity-popup { position:fixed; z-index:99999; inset:0; display:grid; visibility:hidden; place-items:center; padding:22px; opacity:0; transition:opacity .28s ease,visibility .28s ease; }
.opportunity-popup.is-visible { visibility:visible; opacity:1; }
.opportunity-popup-backdrop { position:absolute; inset:0; background:rgba(18,31,32,.72); backdrop-filter:blur(7px); -webkit-backdrop-filter:blur(7px); }
.opportunity-popup-dialog { position:relative; display:grid; overflow:hidden; grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr); width:min(880px,100%); max-height:calc(100vh - 44px); border:1px solid rgba(255,255,255,.4); border-radius:26px; background:#fff; box-shadow:0 28px 90px rgba(0,0,0,.34); transform:translateY(24px) scale(.97); transition:transform .35s cubic-bezier(.2,.8,.2,1); }
.opportunity-popup.is-visible .opportunity-popup-dialog { transform:none; }
.opportunity-popup-close { position:absolute; z-index:5; top:15px; inset-inline-end:15px; display:grid; width:42px; height:42px; place-items:center; border:0; border-radius:50%; background:rgba(255,255,255,.92); color:#243b3c; box-shadow:0 5px 18px rgba(0,0,0,.14); cursor:pointer; font:400 29px/1 Arial,sans-serif; transition:.2s ease; }
.opportunity-popup-close:hover { color:#fff; background:#243b3c; transform:rotate(8deg); }
.opportunity-popup-visual { position:relative; min-height:410px; background:#eef3e3; }
.opportunity-popup-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 52%,rgba(22,45,46,.55)); pointer-events:none; }
.opportunity-popup-visual img { width:100%; height:100%; object-fit:cover; }
.opportunity-popup-placeholder { display:grid; width:100%; height:100%; place-items:center; color:#fff; background:linear-gradient(145deg,#263f43,#94b62b); font-size:5rem; }
.opportunity-popup[data-type="tender"] .opportunity-popup-placeholder { background:linear-gradient(145deg,#263f43,#d7992c); }
.opportunity-popup-ribbon { position:absolute; z-index:2; bottom:22px; inset-inline-start:20px; padding:8px 14px; border-radius:9px; color:#243b3c; background:#f2b33d; font-size:.86rem; font-weight:900; box-shadow:0 8px 22px rgba(0,0,0,.16); }
.opportunity-popup-content { display:flex; justify-content:center; flex-direction:column; padding:clamp(34px,5vw,60px); background-image:radial-gradient(circle at 90% 10%,rgba(148,182,43,.13),transparent 32%); }
.opportunity-popup-eyebrow { display:inline-flex; align-items:center; align-self:flex-start; gap:8px; margin-bottom:15px; color:#718d1e; font-size:.86rem; font-weight:900; }
.opportunity-popup[data-type="tender"] .opportunity-popup-eyebrow { color:#b77b14; }
.opportunity-popup-content h2 { margin:0 0 14px; color:#243b3c; font-size:clamp(1.55rem,2.5vw,2.15rem); font-weight:900; line-height:1.4; }
.opportunity-popup-content p { display:-webkit-box; overflow:hidden; margin:0 0 25px; color:#667776; font-size:.94rem; line-height:1.75; -webkit-box-orient:vertical; -webkit-line-clamp:4; line-clamp:4; }
.opportunity-popup-action { display:inline-flex; align-items:center; justify-content:center; align-self:flex-start; gap:10px; min-width:180px; padding:13px 22px; border-radius:11px; color:#fff!important; background:#94b62b; box-shadow:0 10px 24px rgba(116,145,32,.25); font-weight:900; text-decoration:none!important; transition:.22s ease; }
.opportunity-popup[data-type="tender"] .opportunity-popup-action { color:#243b3c!important; background:#f2b33d; box-shadow:0 10px 24px rgba(210,150,32,.23); }
.opportunity-popup-action:hover { gap:15px; filter:brightness(.94); transform:translateY(-2px); }
@media(max-width:700px){.opportunity-popup{padding:14px}.opportunity-popup-dialog{display:block;overflow-y:auto;border-radius:20px}.opportunity-popup-visual{height:220px;min-height:0}.opportunity-popup-content{padding:28px 24px 32px}.opportunity-popup-content h2{font-size:1.65rem}.opportunity-popup-close{top:10px;inset-inline-end:10px}.opportunity-popup-action{width:100%;align-self:stretch}.opportunity-popup-ribbon{bottom:14px}}
@media(prefers-reduced-motion:reduce){.opportunity-popup,.opportunity-popup-dialog,.opportunity-popup *{transition:none!important}}
