/* LEGKO S142: one universal PRO surface. All selectors scoped; no base-theme changes. */
.page-main .s31-results:has(.s140-pro-switch){display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}
.s140-pro-switch{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;align-items:stretch;isolation:isolate;
 border:1px solid #d8e3f5;border-radius:22px;padding:4px;margin:1px 0;background:#fff;box-shadow:0 3px 12px #1c4d8d10;
 min-width:270px;max-width:100%;gap:0;vertical-align:middle}
.s140-pro-switch:before{content:"";position:absolute;z-index:-1;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);
 border-radius:17px;background:linear-gradient(135deg,#e9f1ff,#dbe8ff);box-shadow:inset 0 0 0 1px #bfd4fa;transition:transform .24s ease}
.s140-pro-switch .s140-pro-selected,.s140-pro-switch .s140-pro-open{position:relative;display:flex;align-items:center;
 justify-content:center;min-height:40px;border:0;outline-offset:3px;box-shadow:none;border-radius:17px;
 padding:9px 15px;text-align:center;text-decoration:none;white-space:nowrap;line-height:1.25;font-size:13px}
.s140-pro-switch .s140-pro-selected{font-weight:700;background:transparent;color:#183766}
.s140-pro-switch .s140-pro-open{font-family:inherit;font-weight:500;background:transparent;color:#263958;cursor:pointer}
.s140-pro-switch .s140-pro-open:hover{background:#eff5ff;color:#113c85}
.s140-pro-badge{position:absolute;top:-6px;right:3px;z-index:2;background:#c63246;color:#fff;font-size:9px;
 font-weight:800;letter-spacing:.04em;line-height:1;min-height:17px;padding:4px 5px;border-radius:5px;
 box-shadow:0 2px 5px #7b233126;pointer-events:none}
.s140-pro-public-switch{display:flex;justify-content:flex-end;margin:8px 0 13px}
.s140-pro-public-switch .s140-pro-switch{margin:0}

/* Next page retains semantics; on page 10 it is a real link with a shared PRO dialog. */
.page-main .result-pagination{max-width:660px;margin:28px auto 30px;padding:12px 0 0;border:0}
.page-main .result-pagination .result-pagination-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;
 align-items:center;max-width:460px;margin:0 auto 17px}
.page-main .result-pagination .result-pagination-controls>a,
.page-main .result-pagination .result-pagination-controls>span,
.page-main .result-pagination .result-pagination-controls>button{position:relative;display:inline-flex;
 align-items:center;justify-content:center;gap:9px;min-height:48px;width:100%;padding:10px 18px;
 border:1px solid #d8e2f0;background:#fff;color:#23426d;border-radius:13px;
 box-shadow:none;text-decoration:none;font-size:14px;font-weight:600;line-height:1.25}
.page-main .result-pagination .result-pagination-controls>a:hover{background:#f3f7ff;border-color:#a9c5ee;color:#184d9b}
.page-main .result-pagination .result-pagination-controls>a[rel=next]{background:#fff;color:#23426d;border-color:#d8e2f0}
.page-main .result-pagination .result-pagination-controls>span[aria-disabled]{background:#f8fafd;color:#9baac1;border-color:#e8edf4}
.page-main .result-pagination .result-pagination-controls .icon{width:17px;height:17px}
.page-main .result-pagination .result-pagination-controls button.s140-pro-locked-next{border:1px solid #cfdbed;
 background:linear-gradient(165deg,#fff,#f8faff);color:#23426d}
/* S143: override legacy .result-pagination .result-pagination-controls span rules.
   Badge must stay a small RED corner sticker, not a white outlined box. */
.page-main .result-pagination .result-pagination-controls button.s140-pro-locked-next > .s140-pro-badge{
 display:inline-flex;align-items:center;justify-content:center;position:absolute;z-index:2;
 top:-8px;right:12px;left:auto;bottom:auto;
 width:auto;height:auto;min-width:0;min-height:0;max-width:none;
 padding:4px 6px;margin:0;border:0;border-radius:5px;
 background:#c63246;color:#fff;box-shadow:0 2px 7px #7b233126;
 font-size:9px;font-weight:800;line-height:1;letter-spacing:.04em;white-space:nowrap;
 pointer-events:none;transform:none
}
.page-main .result-pagination .result-pagination-numbers{display:flex;justify-content:center;align-items:center;
 flex-wrap:wrap;gap:6px}
.page-main .result-pagination .result-pagination-number{display:inline-flex;justify-content:center;align-items:center;
 border:1px solid transparent;border-radius:11px;min-width:40px;min-height:40px;padding:0 9px;
 font-size:13px;font-weight:500;text-decoration:none;color:#566780}
.page-main .result-pagination .result-pagination-number:hover{background:#f5f8ff;color:#174995}
.page-main .result-pagination .result-pagination-number[aria-current=page]{background:#eaf2ff;color:#1857c7;
 border-color:#cddfff;font-weight:700}
.page-main .result-pagination .result-pagination-status{display:block;text-align:center;margin:11px 0 0;
 color:#74859e;font-size:12px;font-weight:400}
.page-main .result-pagination .result-pagination-gap{display:inline-flex}

/* Reusable dialog (one per page, not one per locked feature). */
.s140-pro-dialog{box-sizing:border-box;position:fixed;max-width:min(820px,calc(100vw - 32px));
 width:100%;max-height:min(90vh,740px);overflow:auto;border:1px solid #dbe5f4;
 border-radius:25px;padding:0;margin:auto;background:#fff;color:#172a48;
 box-shadow:0 28px 95px #16396238,0 5px 22px #24416b1a}
.s140-pro-dialog::backdrop{background:rgba(16,37,67,.45);backdrop-filter:blur(5px)}
.s140-pro-dialog-inner{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.7fr);
 align-items:center;gap:23px;padding:45px 43px 34px}
.s140-pro-dialog-content{min-width:0}
.s140-pro-dialog h2{margin:0 40px 12px 0;font-size:clamp(23px,2.25vw,31px);font-weight:750;
 letter-spacing:-.03em;line-height:1.13;color:#142644}
.s140-pro-dialog .s140-pro-intro{font-size:15px;line-height:1.53;color:#61728c;margin:0 0 22px}
.s140-pro-close{position:absolute;z-index:5;top:13px;right:14px;margin:0}
.s140-pro-close button{display:grid;place-items:center;border:0;background:transparent;color:#71819b;
 width:38px;height:38px;padding:0;border-radius:11px;cursor:pointer}
.s140-pro-close button:hover{background:#eff4fb;color:#253f67}
.s140-pro-benefits{padding:0;margin:0 0 24px;list-style:none;display:grid;gap:12px}
.s140-pro-benefits li{display:flex;align-items:center;gap:11px;font-size:14px;color:#243855;
 font-weight:600;line-height:1.38}
.s140-pro-benefit-icon{flex:0 0 35px;display:grid;place-items:center;width:35px;height:35px;
 border-radius:10px;color:#2d69d5;background:linear-gradient(135deg,#eff5ff,#e5eeff);
 font-size:25px;font-weight:600;line-height:1}
.s140-pro-dialog-actions{display:flex;gap:11px;align-items:stretch}
.s140-pro-dialog-actions .s140-pro-cta,.s140-pro-dialog-actions .s140-pro-secondary{
 display:inline-flex;justify-content:center;align-items:center;text-align:center;min-height:45px;
 padding:9px 18px;border-radius:12px;flex:1;text-decoration:none;font-size:14px;font-weight:700;transition:.15s}
.s140-pro-dialog-actions .s140-pro-cta{color:#fff;background:#1954a5;border:1px solid #174b9a;
 box-shadow:0 3px 8px #184d9a21}
.s140-pro-dialog-actions .s140-pro-cta:hover{background:#10468c;color:#fff}
.s140-pro-dialog-actions .s140-pro-secondary{border:1px solid #d0dced;color:#2b4265;background:#fff}
.s140-pro-dialog-actions .s140-pro-secondary:hover{background:#f4f7fd;color:#153c78}
.s140-pro-dialog .s140-pro-note{margin:15px 0 0;font-size:12px;line-height:1.5;color:#718098}
.s140-pro-dialog .s140-pro-note>span{color:#5a73a0;margin-right:5px}
.s140-pro-art{min-height:250px;position:relative;display:grid;place-items:center;isolation:isolate}
.s140-pro-art-card{display:grid;place-items:center;width:145px;height:145px;
 background:linear-gradient(150deg,#fff,#e4efff);border:1px solid #fff;
 border-radius:30px;box-shadow:12px 22px 35px #6d9ee64a,inset 0 0 0 1px #d0dffa;
 transform:rotate(-6deg);z-index:2}
.s140-pro-art-back{position:absolute;width:153px;height:153px;background:linear-gradient(160deg,#e8f1ff,#b8d3ff77);
 border:1px solid #fff8;border-radius:30px}
.s140-pro-art-back-one{transform:translate(17px,13px) rotate(8deg)}
.s140-pro-art-back-two{transform:translate(-17px,29px) rotate(-10deg);opacity:.85}
.s140-pro-art-badge{position:absolute;z-index:3;top:42px;right:33px;
 background:#c63246;color:#fff;font-weight:800;font-size:13px;padding:5px 7px;border-radius:7px;
 box-shadow:0 4px 12px #c632463b;transform:rotate(-6deg)}
.s140-pro-art-spark{position:absolute;z-index:1;left:20px;top:31px;width:58px;height:55px;transform:rotate(-15deg)}
.s140-pro-art-spark i{position:absolute;display:block;width:5px;height:22px;border-radius:7px;background:#6a9ffb}
.s140-pro-art-spark i:nth-child(1){top:13px;left:4px;transform:rotate(-45deg)}
.s140-pro-art-spark i:nth-child(2){top:0;left:27px;transform:rotate(-15deg)}
.s140-pro-art-spark i:nth-child(3){top:28px;left:34px;transform:rotate(70deg)}
@media(max-width:800px){
 .s140-pro-dialog{max-width:min(650px,calc(100vw - 24px));border-radius:21px}
 .s140-pro-dialog-inner{grid-template-columns:145px minmax(0,1fr);padding:35px 25px 27px;gap:18px}
 .s140-pro-art{transform:scale(.77);transform-origin:center}
}
@media(max-width:580px){
 .page-main .s31-toolbar .s31-results:has(.s140-pro-switch){display:block;justify-self:stretch;width:100%;text-align:center}
 .page-main .s31-results .s140-pro-switch{display:grid;margin:8px auto 0}
 .s140-pro-switch{width:min(100%,325px);min-width:0}
 .s140-pro-switch .s140-pro-selected,.s140-pro-switch .s140-pro-open{font-size:12px;padding:9px 8px}
 .page-main .result-pagination{margin:23px auto 29px}
 .page-main .result-pagination .result-pagination-controls{gap:9px}
 .page-main .result-pagination .result-pagination-controls>a,
 .page-main .result-pagination .result-pagination-controls>span{padding:10px 12px;min-height:45px}
 .s140-pro-dialog-inner{display:block;padding:30px 22px 23px}
 .s140-pro-art{display:none}
 .s140-pro-dialog h2{font-size:25px;margin-right:32px}
 .s140-pro-dialog .s140-pro-intro{font-size:14px;margin-bottom:20px}
 .s140-pro-benefits{gap:10px;margin-bottom:20px}
 .s140-pro-benefits li{font-size:13px}
 .s140-pro-benefit-icon{flex-basis:33px;width:33px;height:33px}
 .s140-pro-dialog-actions{flex-wrap:wrap}
 .s140-pro-dialog-actions>a{flex-basis:100%}
}
@media(prefers-reduced-motion:reduce){
 .s140-pro-switch:before,.s140-pro-dialog-actions a{transition:none}
}

/* The only PRO CTA should remain a balanced width on desktop. */
.s140-pro-dialog-actions .s140-pro-cta{flex:0 1 260px;max-width:100%}
@media(max-width:580px){
 .s140-pro-dialog-actions .s140-pro-cta{flex:1 1 100%;width:100%}
}

/* S144: button semantics prevent browser fallback-navigation to /support on PRO click. */
.page-main .result-pagination .result-pagination-controls button.s140-pro-locked-next{cursor:pointer;font-family:inherit}
.page-main .result-pagination .result-pagination-controls button.s140-pro-locked-next:hover{background:#f3f7ff;border-color:#a9c5ee;color:#184d9b}
.s140-pro-noscript{margin:0 6px;font-size:12px;color:#174a94;text-decoration:underline}
