.soc-filters{display:flex;flex-wrap:wrap;gap:12px;margin:15px 0 24px}.soc-filters label{display:flex;flex-direction:column;font-size:13px;gap:4px}.soc-filters select{min-width:150px;padding:9px;border:1px solid #ccc;border-radius:6px;background:white}.soc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:20px}.soc-card{position:relative;min-width:0;border:1px solid #e2e5e8;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 3px 12px #0000000a;color:#20252a;max-width:340px}.soc-card[hidden],.soc-modal[hidden],.soc-empty[hidden]{display:none!important}.soc-cover{display:block;width:100%;aspect-ratio:210/297;border:0;background:#f2f3f4;cursor:pointer;padding:0;overflow:hidden}.soc-cover img,.soc-cover canvas{width:100%;height:100%;object-fit:contain;display:block}.soc-preview-fallback{display:flex;align-items:center;justify-content:center;height:100%;color:#777}.soc-card-body{display:flex;flex-direction:column;gap:8px;padding:14px}.soc-card-body strong{font-size:15px;line-height:1.35}.soc-card-body small{font-size:12px;color:#656b70}.soc-button{background:#176ab2!important;color:#fff!important;border:0;border-radius:7px;padding:10px;cursor:pointer;font-weight:600}.soc-share{color:#16844b;text-align:center;font-size:13px}.soc-badge{position:absolute;top:10px;right:10px;background:#b52828;color:white;border-radius:5px;padding:4px 9px;font-size:12px}.soc-single{max-width:280px;margin:25px auto}.soc-modal{position:fixed;inset:0;z-index:999999;background:#000c;display:flex;justify-content:center;align-items:center;padding:16px}.soc-modal-panel{background:white;border-radius:10px;width:min(100%,1050px);height:min(95vh,1000px);display:flex;flex-direction:column;overflow:hidden;color:#222}.soc-modal-panel header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid #ddd}.soc-close{border:0;background:transparent;font-size:32px;cursor:pointer}.soc-toolbar{display:flex;justify-content:center;gap:10px;padding:10px;border-bottom:1px solid #ddd}.soc-toolbar button{padding:7px 12px;border:1px solid #ddd;background:#f7f7f7;border-radius:6px;cursor:pointer}.soc-canvas-wrap{flex:1;overflow:auto;background:#e6e6e6;text-align:center;padding:12px}.soc-page{max-width:none;background:white;box-shadow:0 1px 8px #0003}.soc-error{text-align:center;color:#a22}.soc-no-scroll{overflow:hidden}@media(max-width:600px){.soc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.soc-card-body{padding:9px}.soc-filters select{min-width:120px}.soc-toolbar{gap:4px}.soc-toolbar button{padding:6px}}
/* Free product search v3 */
.soc-product-search{max-width:1050px;margin:24px auto}.soc-product-controls{display:grid;grid-template-columns:minmax(200px,2fr) repeat(2,minmax(140px,1fr)) auto;gap:12px;align-items:end}.soc-product-controls label{display:flex;flex-direction:column;gap:6px;font-weight:600}.soc-product-controls input,.soc-product-controls select{min-height:42px;width:100%;padding:8px;border:1px solid #bbb;border-radius:6px}.soc-product-submit{min-height:42px;border:0;border-radius:6px;background:#155e75;color:white;padding:8px 20px;cursor:pointer}.soc-product-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.soc-product-result{border:1px solid #ddd;border-radius:10px;padding:15px;display:flex;flex-direction:column;gap:8px;background:white}.soc-product-result b{font-size:1.25rem}.soc-product-result small{color:#555}.soc-product-page-link{margin-top:auto}.soc-product-message{margin:16px 0}@media(max-width:750px){.soc-product-controls{grid-template-columns:1fr 1fr}.soc-product-controls label:first-child{grid-column:1/-1}}

/* v3.1: Fit an entire PDF page in the popup at default zoom. */
.soc-modal-panel{height:min(96dvh,1100px);max-height:96dvh;min-height:0}
.soc-canvas-wrap{min-height:0;display:flex;align-items:center;justify-content:center;overflow:auto;overscroll-behavior:contain}
.soc-page{display:block;flex:none;max-width:none;max-height:none}
.soc-toolbar{flex-shrink:0;flex-wrap:wrap}
.soc-modal-panel header{flex-shrink:0}
@media(max-width:600px){.soc-modal{padding:5px}.soc-modal-panel{height:98dvh;max-height:98dvh}.soc-canvas-wrap{padding:6px}}
