/* Public open-content gallery: compact branded covers; no video thumbnail processing. */
.open-index-heading{margin-bottom:3px}
.pagetitle.open-index-title{font-size:31px;line-height:1.18;letter-spacing:-.9px}
.open-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;max-width:1000px;align-items:stretch;justify-content:start}
.open-card{padding:0;min-height:0;max-width:300px;display:flex;flex-direction:column;gap:0;overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.open-card:hover{border-color:#b4d5bd;transform:translateY(-2px);box-shadow:0 17px 35px rgba(11,69,48,.09)}
.open-card:focus-visible{outline:3px solid #27856c;outline-offset:3px}
.open-cover{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:2.08/1;overflow:hidden;isolation:isolate;flex-shrink:0}
.open-cover-video{background:linear-gradient(125deg,#d9eee2 5%,#a2cdb6 100%)}
.open-cover-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:0}
.open-cover-pdf{background:linear-gradient(125deg,#f2f1eb 5%,#d8e9dd 100%)}
.open-cover:before{content:"";position:absolute;width:188px;height:188px;right:-47px;top:-107px;border:1px solid rgba(255,255,255,.58);border-radius:50%;z-index:-1}
.open-cover:after{content:"";position:absolute;width:115px;height:115px;left:-52px;bottom:-72px;border:1px solid rgba(255,255,255,.5);border-radius:50%;z-index:-1}
.open-cover-play{position:relative;z-index:1;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.94);color:var(--green);display:grid;place-items:center;box-shadow:0 8px 24px rgba(11,69,48,.08);padding-left:2px}
.open-cover-document{padding:13px 15px;border-radius:11px;background:#fff;color:#886953;box-shadow:0 8px 24px rgba(11,69,48,.08);font-size:13px;font-weight:850;letter-spacing:.6px}
.open-card-content{padding:16px 18px 18px;display:flex;align-items:flex-start;flex-direction:column;gap:8px;flex:1;min-width:0}
.open-card h2{font-size:17px;line-height:1.35;letter-spacing:-.15px;margin:0;color:var(--dark);overflow-wrap:anywhere}
.open-card .open-summary{font-size:13px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}
.open-card .text-link{align-self:flex-start;margin-top:auto;padding-top:5px;font-size:14px;color:var(--green);font-weight:750}
.open-kind{font-size:11px;display:inline-flex;width:max-content;color:#26775b;font-weight:800;letter-spacing:.6px;text-transform:uppercase}
/* Existing open-item (view/download) screens remain untouched. */
.open-item-main{max-width:980px}
.open-description{margin-top:22px}
.open-description p{margin:0;font-size:15px;line-height:1.7}
.open-pdf-panel{display:grid;justify-items:start;gap:15px}
.open-pdf-panel p{margin:0;color:var(--muted)}
.open-processing{color:var(--muted);font-size:15px}
/* Existing course title size approved in Open Materials v1.1. */
.pagetitle.pagetitle-course{font-size:30px;letter-spacing:-.8px;line-height:1.2}
@media(max-width:1040px){.pagetitle.pagetitle-course{font-size:29px}}
@media(max-width:740px){.pagetitle.pagetitle-course{font-size:26px;letter-spacing:-.5px}.pagetitle.open-index-title{font-size:27px;letter-spacing:-.6px}.open-grid{gap:14px}}
@media(max-width:520px){.open-grid{grid-template-columns:minmax(0,1fr)}.open-card{max-width:none}.open-cover{aspect-ratio:2.2/1}.open-card-content{padding:15px 16px 17px}}
@media(prefers-reduced-motion:reduce){.open-card{transition:none}.open-card:hover{transform:none}}

.open-tools{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:16px 18px;margin:20px 0 12px;max-width:1000px}
.open-tools>div{display:grid;gap:6px}
.open-tools label{font-size:12px;font-weight:800;color:var(--muted)}
.open-tools input,.open-tools select{min-height:42px;border:1px solid #c8d9ce;border-radius:9px;background:#fff;padding:8px 11px;font:inherit;color:var(--dark)}
.open-search-field{flex:1 1 280px}
.open-search-field input{width:100%}
.open-results-note{max-width:1000px;margin:0 0 14px;color:var(--muted);font-size:13px}
.open-cover-audio{background:linear-gradient(125deg,#dceee7 5%,#87bba5 100%)}
.open-cover-audio{position:relative}
.open-cover-audio:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 52%,rgba(255,255,255,.34),transparent 38%)}
.open-cover-audio-icon{position:relative;z-index:1;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.94);color:var(--green);font-size:31px;font-weight:800;box-shadow:0 8px 24px rgba(11,69,48,.1)}
@media(max-width:600px){.open-tools{align-items:stretch}.open-tools>div,.open-tools>.btn{width:100%}}

/* Guest invitation shown below a directly shared free material. */
.open-registration-cta{display:none;align-items:center;justify-content:space-between;gap:30px;margin-top:24px;padding:28px 30px;border:1px solid #b8d8c4;border-radius:18px;background:linear-gradient(135deg,#eff8f1 0%,#dcefe3 100%);box-shadow:0 14px 32px rgba(11,69,48,.07)}
.open-registration-copy{max-width:650px}
.open-registration-kicker{display:block;margin-bottom:8px;color:#26775b;font-size:12px;font-weight:850;letter-spacing:.7px;text-transform:uppercase}
.open-registration-cta h2{margin:0 0 10px;color:var(--dark);font-size:24px;line-height:1.25;letter-spacing:-.4px}
.open-registration-cta p{margin:0;color:var(--muted);font-size:15px;line-height:1.65}
.open-registration-actions{display:flex;min-width:260px;flex-direction:column;align-items:stretch;gap:11px;text-align:center}
.open-registration-actions .btn{white-space:normal}
.open-registration-login{color:var(--green);font-size:13px;font-weight:750}
@media(max-width:760px){.open-registration-cta{align-items:stretch;flex-direction:column;padding:23px 21px;gap:20px}.open-registration-actions{min-width:0}.open-registration-cta h2{font-size:21px}}

/* Direct guest links: keep the conversion prompt visible without scrolling. */
.open-sidebar-cta{margin-top:24px;background:linear-gradient(145deg,#e8f6ec,#d9eee1);border:1px solid #bddcc7}
.open-sidebar-cta-kicker{display:block;margin-bottom:8px;color:#26775b;font-size:11px;font-weight:850;letter-spacing:.65px;text-transform:uppercase}
.open-sidebar-cta strong{display:block;color:var(--dark);font-size:17px;line-height:1.35}
.open-sidebar-cta p{margin:9px 0 14px;font-size:13px;line-height:1.55}
.open-sidebar-cta-button{width:100%;padding:10px 11px;text-align:center;font-size:13px}
@media(max-width:740px){.open-registration-cta{display:flex}}
