/* v1.39.1: teacher-friendly resource offer presentation. Scoped to TTH promo surfaces.
   No global font, security, membership, checkout or Library Ordering overrides. */
.tth-resource-promo{box-sizing:border-box;max-width:1030px;margin:clamp(20px,4vw,48px) auto 55px;border:1px solid #d6e3ee;border-radius:24px;background:#fff;color:#253552;box-shadow:0 12px 36px rgba(23,52,111,.07);line-height:1.6;overflow:hidden;overflow-wrap:anywhere}
.tth-resource-promo *{box-sizing:border-box}
.tth-resource-promo-head{position:relative;padding:clamp(24px,4vw,42px) clamp(22px,4.5vw,52px) clamp(24px,3vw,32px);border-bottom:1px solid #dfebf1;background:repeating-linear-gradient(0deg,transparent 0,transparent 37px,rgba(42,177,206,.075) 37px,rgba(42,177,206,.075) 38px),linear-gradient(112deg,#f0fcfd 0%,#fff9fa 100%)}
.tth-resource-promo-kicker{display:flex;align-items:center;gap:10px;margin:0 0 13px;font-size:12px;line-height:1.4;font-weight:800;letter-spacing:.085em;text-transform:uppercase;color:#b52668}
.tth-resource-promo-heart{font-size:28px;line-height:1;font-weight:400;letter-spacing:0;color:#dd397b}
.tth-resource-promo h1{margin:0 0 12px;color:#1d345f;font-size:clamp(29px,4.1vw,43px);line-height:1.16;font-weight:750;letter-spacing:-.02em;text-transform:none}
.tth-resource-promo-intro{max-width:650px;margin:0;font-size:clamp(15px,1.9vw,18px);line-height:1.55;color:#3d546f}
.tth-resource-promo-layout{display:grid;grid-template-columns:minmax(185px,300px) minmax(0,1fr);gap:clamp(24px,4.2vw,46px);padding:clamp(24px,4vw,43px) clamp(22px,4.5vw,52px) clamp(28px,4vw,46px);align-items:center}
.tth-resource-promo-picture{min-width:0;display:flex;flex-direction:column;gap:12px;align-self:center;align-items:center}
.tth-resource-promo-picture-paper{width:100%;aspect-ratio:1;padding:14px;border:1px solid #dbe6ed;border-radius:17px;background:linear-gradient(150deg,#f8fcff,#fff8fd);box-shadow:0 5px 15px rgba(24,64,101,.04);display:flex;align-items:center;justify-content:center}
.tth-resource-promo-cover{display:block;width:100%;height:100%;max-height:282px;object-fit:contain;border-radius:4px}
.tth-resource-promo-picture-caption{margin:0;color:#63748d;font-size:13px;font-weight:600;text-align:center}
.tth-resource-promo-picture-caption span{font-size:16px;color:#dc2c72}
.tth-resource-promo-details{min-width:0}
.tth-resource-promo-code{display:inline-flex;max-width:100%;gap:9px;flex-wrap:wrap;align-items:center;margin:0 0 14px;padding:8px 13px;border:1px solid #c8e6ed;border-radius:10px;background:#f1fcfe;color:#1f4b70;font-size:12px;line-height:1.4;letter-spacing:.045em;font-weight:750}
.tth-resource-promo-code span{font-size:11px}
.tth-resource-promo-code strong{font-size:14px;font-weight:800;color:#a32263;letter-spacing:.03em}
.tth-resource-promo h2{margin:0 0 15px;color:#243552;font-size:clamp(22px,2.8vw,29px);line-height:1.3;font-weight:750;letter-spacing:-.01em;text-transform:none}
.tth-resource-promo-details>p:not(.tth-resource-promo-code):not(.tth-resource-promo-login):not(.tth-resource-promo-detail):not(.tth-resource-promo-reassurance){margin:0 0 18px;font-size:16px;line-height:1.65}
.tth-resource-promo .tth-resource-promo-button,.tth-resource-promo-library .tth-resource-promo-button{display:inline-flex;justify-content:center;align-items:center;max-width:100%;min-height:49px;padding:12px 24px;border:1px solid transparent;border-radius:12px;background:#d1006b;color:#fff;text-decoration:none;font:inherit;font-size:15px;font-weight:750;line-height:1.35;text-align:center;box-shadow:0 4px 10px rgba(180,28,109,.10);cursor:pointer;white-space:normal;transition:background-color .15s ease,box-shadow .15s ease}
.tth-resource-promo .tth-resource-promo-button:hover,.tth-resource-promo-library .tth-resource-promo-button:hover{background:#ab0058;color:#fff;box-shadow:0 5px 12px rgba(140,25,75,.14)}
.tth-resource-promo .tth-resource-promo-button:disabled{cursor:default;opacity:.7;box-shadow:none}
.tth-resource-promo a:not(.tth-resource-promo-button){color:#143f82;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.tth-resource-promo a:focus-visible,.tth-resource-promo button:focus-visible,.tth-resource-promo-library a:focus-visible{outline:3px solid #079fbb;outline-offset:4px}
.tth-resource-promo-login{font-size:15px;line-height:1.5;margin:15px 0 11px}
.tth-resource-promo-detail{font-size:15px;line-height:1.5;margin:13px 0 0}
.tth-resource-promo-reassurance{display:flex;align-items:flex-start;gap:9px;padding-top:14px;margin:18px 0 0;border-top:1px dashed #d6e8ee;color:#50657c;font-size:13px;line-height:1.5}
.tth-resource-promo-reassurance span{font-weight:800;color:#008da8}
.tth-resource-promo-feedback,.tth-resource-promo-unavailable{padding:14px 18px;border:1px solid #cbdce7;border-radius:12px;background:#f0fbfd;color:#293c5a;line-height:1.55}
.tth-resource-promo-feedback{margin:20px clamp(22px,4.5vw,52px) 0}
.tth-resource-promo-unavailable{margin:12px 0 20px !important}
.tth-resource-promo-label{font-size:12px;font-weight:750;color:#a32263;letter-spacing:.05em;margin:0 0 9px}
/* The small carry-through notice on /join/, and the post-claim library spotlight, keep their existing architecture. */
.tth-resource-promo-mini{display:flex;align-items:center;gap:22px;border:1px solid #d9e5ee;border-radius:16px;background:#fff;padding:20px;margin:24px auto;max-width:1000px;color:#253552;line-height:1.55}
.tth-resource-promo-mini img{flex:0 0 110px;width:110px;height:110px;object-fit:contain}
.tth-resource-promo-mini h2{font-size:22px;line-height:1.3;margin:3px 0 9px}
.tth-resource-promo-mini p{margin:0}
.tth-resource-promo-library{display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;padding:24px;border:1px solid #b8dce4;border-radius:16px;background:#f0fcfe;color:#253552;margin:24px 0;scroll-margin-top:160px;line-height:1.55}
.tth-resource-promo-library img{width:120px;height:120px;object-fit:contain}
.tth-resource-promo-library h2{margin:0 0 6px;font-size:25px}
.tth-resource-promo-library h3{margin:0 0 10px;font-size:20px}
.tth-resource-promo-downloads{display:flex;flex-wrap:wrap;gap:10px}
.tth-resource-promo-library .tth-resource-promo-button{background:#173480}
.tth-join-card-login#tth-promo-login{scroll-margin-top:160px}
@media(max-width:760px){.tth-resource-promo-layout{grid-template-columns:minmax(150px,220px) minmax(0,1fr);gap:24px}}
@media(max-width:650px){.tth-resource-promo{margin:20px 12px 30px;border-radius:18px}.tth-resource-promo-head{padding:26px 22px 25px}.tth-resource-promo-layout{display:flex;flex-direction:column;align-items:stretch;gap:23px;padding:24px 20px 29px}.tth-resource-promo-picture{width:100%;max-width:225px;margin:0 auto}.tth-resource-promo-picture-paper{padding:12px}.tth-resource-promo .tth-resource-promo-button{width:100%}.tth-resource-promo h1{font-size:clamp(27px,7.5vw,35px)}.tth-resource-promo h2{font-size:22px}.tth-resource-promo-mini{gap:14px;padding:16px;align-items:flex-start}.tth-resource-promo-mini img{flex-basis:70px;width:70px;height:85px}.tth-resource-promo-mini h2{font-size:19px}.tth-resource-promo-library{grid-template-columns:1fr;padding:20px}.tth-resource-promo-library>div:first-child{display:none}}
@media(prefers-reduced-motion:reduce){.tth-resource-promo .tth-resource-promo-button,.tth-resource-promo-library .tth-resource-promo-button{transition:none}}
