/* Scoped to the SHC app. No styles/assets at all when the plugin switch is OFF. */
#shc-app .shc-ads-block{box-sizing:border-box;background:#fff;border:1px solid #dce4ef;border-radius:4px;padding:12px;color:#17324d;min-width:0}
#shc-app .shc-ads-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 12px;padding:0;border:0;background:none}
#shc-app .shc-ads-heading h2{font:700 16px/1.4 system-ui,sans-serif;color:inherit;margin:0;padding:0}
#shc-app .shc-ads-books{display:grid;min-width:0;gap:12px;grid-template-columns:repeat(var(--shc-ads-columns,1),minmax(0,1fr))}
#shc-app .shc-ads-card{display:flex;flex-direction:column;align-self:start;min-width:0;color:#174d76;text-decoration:none;background:#fff;border:1px solid #e4eaf2;border-radius:3px;overflow:hidden}
#shc-app .shc-ads-card:hover{border-color:#4e80a5;box-shadow:0 2px 7px #17324d17}
/* Fill each card's content width, not a fixed-height thumbnail viewport.
   Natural height preserves the complete cover at every breakpoint. */
#shc-app .shc-ads-cover{display:block;width:100%;height:auto;background:#fff;padding:0;box-sizing:border-box;min-width:0}
#shc-app .shc-ads-cover img{display:block;width:100%;height:auto;max-width:100%;max-height:none;object-fit:contain;object-position:center}
#shc-app .shc-ads-cta{display:block;text-align:center;font:500 12px/1.4 system-ui,sans-serif;padding:6px 8px 8px}
#shc-app .shc-ads-sidebar{margin:12px 0 0}
#shc-app .shc-ads-notes-host{display:block!important}
#shc-app .shc-ads-browse-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;align-items:start;gap:16px;width:100%;max-width:1560px;margin:0 auto;flex:1;min-width:0}
#shc-app .shc-ads-browse-layout>#shc-content{padding-right:0}
#shc-app .shc-ads-rail{padding:0 24px 24px 0;align-self:start;min-width:0}
#shc-app .shc-ads-rail>.shc-ads-sidebar{margin-top:0}
#shc-app .shc-ads-home{margin:20px 0}
#shc-app .shc-ads-controls{display:flex;gap:8px;align-items:center}
#shc-app .shc-ads-controls[hidden]{display:none}
#shc-app .shc-ads-controls button{font:500 12px/1.4 system-ui,sans-serif;background:#fff;color:#174d76;border:1px solid #c6d4e5;border-radius:3px;padding:5px 8px;cursor:pointer;min-height:30px}
#shc-app .shc-ads-controls button:disabled{opacity:.4;cursor:default}
#shc-app .shc-ads-page{font:400 12px/1.4 system-ui,sans-serif;color:#58708b;white-space:nowrap}
#shc-app .shc-ads-block :focus-visible{outline:2px solid #2a79ae;outline-offset:2px}
/* A last CSS safety net during async transitions into practice/attempt screens. */
#shc-app:is([data-view=practice],[data-view=attempt]) .shc-ads-block{display:none!important}
@media(max-width:1100px){#shc-app .shc-ads-browse-layout{grid-template-columns:minmax(0,1fr);gap:0}#shc-app .shc-ads-browse-layout>#shc-content{padding-right:22px}#shc-app .shc-ads-rail{padding:0 22px 22px}#shc-app .shc-ads-rail .shc-ads-books{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#shc-app .shc-ads-heading{align-items:flex-start;flex-wrap:wrap}#shc-app .shc-ads-browse-layout>#shc-content{padding-right:18px}#shc-app .shc-ads-rail{padding:0 18px 18px}}
@media print{#shc-app .shc-ads-block,#shc-app .shc-ads-rail{display:none!important}#shc-app .shc-ads-browse-layout{display:block}}
