.lesson-block-layout.has-media{display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);gap:28px;align-items:start}
.lesson-block-copy,.lesson-block-media,.editor-block-copy,.editor-block-media{min-width:0;overflow-wrap:anywhere}
.lesson-block-copy .block-copy,.lesson-block-copy .block-text{white-space:pre-wrap}
.lesson-block-media .block-cover,.editor-block-media .block-cover{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:4/3;min-height:0;background:var(--blue-pale);border:0;border-radius:8px;overflow:hidden;color:#69748b;margin:0}
.lesson-block-media .block-cover img,.editor-block-media .block-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.lesson-video{position:relative;width:100%;aspect-ratio:16/9;padding:0;margin:0;overflow:hidden;background:transparent;border-radius:8px}
.lesson-video .block-cover{aspect-ratio:16/9;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;min-height:0}
.lesson-video>button{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);max-width:calc(100% - 24px);white-space:normal}
.lesson-video>strong{position:absolute;top:12px;left:12px;right:12px;font-size:14px;color:#172343}
.lesson-video>iframe{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;aspect-ratio:16/9;border:0;margin:0;padding:0;background:transparent}
.cover-status{font-size:13px;padding:18px;text-align:center}.block-cover[data-state=loading] .cover-status:before{content:'◌ ';color:#2647d5}
.editor{container-type:inline-size}.editor-block-grid{display:grid;gap:20px;align-items:start}.editor-block-media>button{margin:10px 0}.editor-block-media label{display:block}.editor-block-media input{max-width:100%}.editor-cover{width:100%}
@container (min-width:620px){.editor-block-grid{grid-template-columns:minmax(0,45fr) minmax(0,55fr);gap:28px}}
@media(max-width:700px){.lesson-block-layout.has-media{grid-template-columns:minmax(0,1fr);gap:24px}.lesson-block-media{width:100%}}
/* Product previews never act as image links or full-image viewers. */
.product-media .block-cover{width:min(100%,220px);height:160px;aspect-ratio:auto;background:transparent}
.product-media .block-cover img{max-width:220px;max-height:160px;object-fit:contain}

.drive-preview{margin-top:16px;min-width:0}
.drive-preview iframe{display:block;width:100%;height:clamp(280px,55vh,560px);border:1px solid #dce4f4;border-radius:8px}
.drive-preview .help{font-size:13px;line-height:1.5;margin-top:10px}
.editor-copy-only{grid-template-columns:minmax(0,1fr)!important}
.lesson-block-layout.has-media.product-block{grid-template-columns:minmax(0,1fr) minmax(0,220px)}
@media(max-width:700px){.lesson-block-layout.has-media.product-block{grid-template-columns:minmax(0,1fr)}}
/* Shared lesson sections: editor, admin preview and public lesson only. */
.lesson-content>.content-block,#preview-body>.preview-block,.lesson-block{box-sizing:border-box;background:#fff;border:1px solid #e0e6f2;border-radius:14px;padding:24px;margin:0 0 20px}
.lesson-block-layout>.lesson-block-copy>h2,#preview-body .lesson-block-copy>h3{font-size:22px;line-height:1.3;color:#172343;margin:0 0 14px}
.lesson-block-copy p{font-size:16px;line-height:1.65;margin:0 0 16px}
.lesson-block-copy .block-description{color:#53617b}
.lesson-block-layout:not(.has-media)>.lesson-block-copy{max-width:72ch}
.lesson-block-layout.has-media.drive-block{grid-template-columns:minmax(0,55fr) minmax(0,45fr)}
.material-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;margin-top:16px}
.material-actions .button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;max-width:100%;white-space:normal;text-align:center;padding:10px 14px;border:1px solid var(--blue);border-radius:8px;color:var(--blue);background:#fff;font-size:14px;line-height:1.4;text-decoration:none}
.material-actions .button:hover{background:var(--blue-pale)}.material-actions .button:focus-visible,.drive-hide:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.drive-preview{margin:0;max-width:100%}
.drive-preview iframe{height:330px;max-width:100%;box-sizing:border-box;background:#fff}
.drive-loading{font-size:14px;color:var(--blue);margin:0 0 10px}.drive-loading:before{content:'◌ ';font-size:18px}
.drive-hide{border:0;padding:4px 0;background:transparent;color:var(--blue);text-decoration:underline;cursor:pointer;font:inherit;font-size:13px}
.editor-block-grid input,.editor-block-grid textarea,.editor-block-grid select{width:100%;box-sizing:border-box;min-width:0;max-width:100%}
.editor-block-grid input[type=checkbox]{width:auto}.editor-block-copy textarea{resize:vertical;min-height:96px}
.lesson-block .block-head{border-bottom:1px solid #e0e6f2;padding-bottom:12px;margin-bottom:20px;gap:12px;flex-wrap:wrap}
.lesson-block .block-actions{display:flex;gap:6px;flex-wrap:wrap}
@container(min-width:620px){.editor-drive-grid{grid-template-columns:minmax(0,55fr) minmax(0,45fr)}}
@media(max-width:700px){
 .lesson-content>.content-block,#preview-body>.preview-block,.lesson-block{padding:18px;margin-bottom:16px}
 .lesson-block-layout.has-media.drive-block{grid-template-columns:minmax(0,1fr)}
 .lesson-block-layout>.lesson-block-copy>h2,#preview-body .lesson-block-copy>h3{font-size:20px}
 .drive-preview iframe{height:300px}.material-actions{gap:8px}
}
/* Text-only editor blocks use a single column; an added image restores the media layout. */
.lesson-block:is([data-type=text],[data-type=task]) .editor-block-grid:has(.block-cover[data-state=empty]){grid-template-columns:minmax(0,1fr)}
.lesson-block:is([data-type=text],[data-type=task]) .editor-block-media:has(.block-cover[data-state=empty]) .block-cover{aspect-ratio:auto;min-height:64px}

/* Lesson pages and the preview use a taller document pane; the editor stays compact. */
.lesson-block-layout.drive-block .drive-preview iframe{width:100%;height:420px;border:1px solid #dce4f4;border-radius:12px}
@media(max-width:700px){.lesson-block-layout.drive-block .drive-preview iframe{height:400px}}

.lesson-block-layout .online-task-link{display:inline-flex;align-items:center;gap:8px;max-width:100%;white-space:normal;overflow-wrap:anywhere}.lesson-block-layout .online-task-link svg{flex-shrink:0}

.lesson-block-layout .drive-video-preview iframe,.editor-video-preview .drive-video-preview iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:1px solid #dce4f4;border-radius:12px}.editor-video-preview:empty{display:none}
