/* site.css — additions on top of the carried Divi CSS (adapted from the BLG and StudioHOF builds). Keep this small: the look comes from the live site's own CSS. */
/* Divi's entrance animations needed its scripts; show everything straight away */
.et_animated,.et-waypoint:not(.et_pb_counters),.et_pb_animation_off{opacity:1!important;animation:none!important;transform:none!important}
.et_pb_toggle_close .et_pb_toggle_content{display:none}
.et_pb_toggle_title{cursor:pointer}
.mobile_nav.opened .et_mobile_menu{display:block}
.mobile_menu_bar{cursor:pointer}
a:focus-visible,button:focus-visible,[role=button]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #1a6dd4;outline-offset:2px}
/* YouTube click-to-play */
.yt-facade{position:relative;aspect-ratio:16/9;max-width:100%;background:#000;margin:0 0 1.5em}
.yt-facade button{all:unset;cursor:pointer;display:block;width:100%;height:100%}
.yt-facade img{width:100%;height:100%;object-fit:cover;display:block}
.yt-facade button::after{content:"";position:absolute;left:50%;top:50%;width:68px;height:48px;margin:-24px 0 0 -34px;border-radius:12px;background:#f00 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M8 5v14l11-7z'/%3E%3C/svg%3E") center/28px no-repeat}
/* form messages */
.jb-form-msg{margin:12px 0;font-weight:600;color:#333}
.jb-form-msg--err{color:#b00020}
.jb-form-done{padding:20px;border:1px solid #c3e6cb;background:#f2fbf4;color:#14532d;font-size:18px}
.gfield_error .jb-err{color:#b00020;font-size:14px;margin-top:4px}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
/* contact form (new: the live page printed a dead Gravity Forms shortcode); colours from the site's own buttons */
.jb-form{max-width:760px;margin:10px 0 30px}
.jb-form .jb-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.jb-form .jb-field{margin:0 0 16px}
.jb-form label{display:block;font-weight:600;font-size:15px;margin:0 0 6px;color:#333}
.jb-form input,.jb-form textarea{width:100%;box-sizing:border-box;border:1px solid #bbb;border-radius:3px;padding:12px;font:16px/1.4 inherit;color:#222;background:#fff}
.jb-form .jb-submit{cursor:pointer;background:transparent}
@media (max-width:600px){.jb-form .jb-row{grid-template-columns:1fr}}
.jb-privacy-links{list-style:disc;padding-left:1.5em;font-size:16px;line-height:2}
/* lessons: placeholder until the lesson bodies are migrated; LearnDash content actions as on the live lesson pages */
.jb-lesson-pending{border:1px dashed #b9a3d6;background:#faf7fd;padding:24px 28px;margin:10px 0 20px;border-radius:4px}
.jb-lesson-pending p{margin:0 0 6px;padding:0}
.learndash-wrapper .ld-content-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px}
.learndash-wrapper .ld-content-actions .ld-content-action{flex:1 1 0}
.learndash-wrapper .ld-content-actions .ld-content-action:nth-child(2){text-align:center}
.learndash-wrapper .ld-content-actions .ld-content-action:last-child{text-align:right}
.jb-lesson-pending p::first-letter{float:none!important;font-size:inherit!important;line-height:inherit!important;background:none!important;color:inherit!important;padding:0!important;margin:0!important;font-weight:inherit!important}
/* Divi's script set overflow-y:hidden on #page-container on the live site, which also clipped the hidden Contact dropdown */
#page-container{overflow-x:clip}
.learndash-wrapper .ld-breadcrumbs .ld-breadcrumbs-segments{min-width:0;white-space:normal}
.learndash-wrapper .ld-breadcrumbs .ld-breadcrumbs-segments span{white-space:normal;overflow-wrap:anywhere}
/* course sign-in (gate.js) */
.b20-gated .ld-tabs,.b20-gated .ld-content-actions{display:none!important}
.b20-gate{background:#f0f3f6;border-radius:6px;padding:24px 28px;margin:10px 0 24px}
.b20-gate-title{font-size:22px;line-height:1.3;color:#333;padding:0 0 6px;margin:0}
.b20-gate-intro{margin:0 0 14px;padding:0}
.b20-gate-form .learndash-wrapper .ld-button.b20-gate-btn{background-color:#8224e3;color:#fff;border:0;border-radius:20px;padding:10px 24px;font-size:15px;font-weight:600;cursor:pointer;line-height:1.4;height:auto}
.b20-gate-form .b20-gate-btn[disabled]{opacity:.6;cursor:wait}
.b20-gate-msg{margin:10px 0 0;padding:0;font-weight:600;color:#b00020;min-height:1em}
.b20-gate-dialog{width:min(520px,calc(100% - 32px));border:0;border-radius:8px;padding:28px 28px 20px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.b20-gate-dialog::backdrop{background:rgba(0,0,0,.55)}
.b20-x{position:absolute;top:6px;right:10px;border:0;background:none;font-size:28px;line-height:1;cursor:pointer;color:#444;padding:4px 8px}
.b20-who{font-size:13px;margin:6px 0 10px;padding:0;color:#555}
.b20-ts-quiet{position:fixed;bottom:10px;right:10px;z-index:99}
.b20-gate p::first-letter{float:none!important;font-size:inherit!important;line-height:inherit!important;background:none!important;color:inherit!important;padding:0!important;margin:0!important;font-weight:inherit!important}
/* lesson bodies (Divi rows/buttons converted by import-lessons.py) */
.jb-lesson-row{display:flex;flex-wrap:wrap;gap:16px;margin:10px 0 20px}
.jb-lesson-row>.jb-lesson-col{flex:1 1 160px}
.jb-lesson-btn-wrap{text-align:center;padding:0;margin:0 0 10px}
.jb-lesson-btn{display:inline-block;background:#5d259f;color:#fff!important;border:2px solid #5d259f;border-radius:3px;padding:8px 18px;font-size:16px;line-height:1.5}
.jb-lesson-btn:hover{background:#8762b3;border-color:#8762b3}
.jb-lesson-materials{margin-top:30px;padding-top:20px;border-top:2px solid #e2e7ed}
.jb-lesson-materials figure{margin:10px auto;text-align:center}
.jb-lesson-materials .aligncenter{display:block;margin-left:auto;margin-right:auto}
.ld-tab-content .yt-facade{margin:0 0 24px}
.et_pb_code_inner .yt-facade{margin:0}   /* home: same box as the PressPlay player it replaces */
