:root{
  --purple:#79196f;
  --purple-dark:#4b0f45;
  --purple-deep:#2b0827;
  --purple-soft:#f7edf6;
  --purple-soft-2:#d8c2d6;
  --gold:#c7a45d;
  --ink:#211624;
  --muted:#706372;
  --line:#eadfea;
  --bg:#fbf8fb;
  --white:#fff;
  --green:#148755;
  --red:#b42318;
  --shadow:0 22px 60px rgba(75,15,69,.14);
  --radius:24px;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink)}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}.container{width:min(1180px,calc(100% - 32px));margin:auto}.section{padding:84px 0}.section-tight{padding:48px 0}.purple-gradient{background:radial-gradient(circle at 75% 20%,rgba(255,255,255,.12),transparent 28%),linear-gradient(135deg,var(--purple-dark),var(--purple),#8e277f)}
.navbar{position:fixed;top:0;left:0;right:0;height:76px;background:rgba(75,15,69,.98);backdrop-filter:blur(14px);z-index:50;box-shadow:0 8px 28px rgba(32,4,29,.18)}
.nav-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:12px;color:#fff}.brand-mark{width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;font-weight:900}.brand-title{font-family:Georgia,serif;font-weight:800;font-size:20px;line-height:1}.brand-sub{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--purple-soft-2);margin-top:4px}.nav-links{display:flex;align-items:center;gap:3px}.nav-link{padding:10px 13px;border-radius:12px;color:rgba(255,255,255,.74);font-weight:700;font-size:14px}.nav-link:hover,.nav-link.active{background:rgba(255,255,255,.14);color:#fff}.nav-actions{display:flex;align-items:center;gap:10px}.mobile-menu-btn{display:none;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:12px;padding:10px 12px}.mobile-drawer{display:none;position:fixed;top:76px;left:0;right:0;background:var(--purple-dark);border-top:1px solid rgba(255,255,255,.12);z-index:45;padding:16px}.mobile-drawer.open{display:block}.mobile-drawer a,.mobile-drawer button{display:block;width:100%;text-align:left;margin:4px 0;padding:13px 14px;border-radius:14px;background:transparent;border:0;color:#fff;font-weight:750}.hero{min-height:760px;padding-top:76px;display:flex;align-items:center;color:white;overflow:hidden;position:relative}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 80%,rgba(255,255,255,.12),transparent 24%),radial-gradient(circle at 60% 35%,rgba(255,255,255,.07),transparent 22%)}.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:64px}.badge{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.13);border-radius:999px;padding:9px 14px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:900}.hero h1{font-family:Georgia,serif;font-size:clamp(44px,6vw,76px);line-height:1.02;margin:24px 0 20px}.hero h1 span{color:#ead7e8}.hero p{color:rgba(255,255,255,.72);font-size:20px;line-height:1.7;max-width:620px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.btn{border:0;border-radius:14px;padding:13px 18px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:.2s;min-height:46px}.btn:hover{transform:translateY(-1px)}.btn-primary{background:#fff;color:var(--purple-dark);box-shadow:0 16px 28px rgba(0,0,0,.16)}.btn-purple{background:var(--purple);color:#fff}.btn-outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}.btn-soft{background:var(--purple-soft);color:var(--purple)}.btn-danger{background:#fee4e2;color:var(--red)}.btn-success{background:#dcfae6;color:var(--green)}.hero-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:32px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.2);backdrop-filter:blur(10px)}.preview-img{height:230px;border-radius:22px;background:linear-gradient(135deg,#fff,#eddceb);display:grid;place-items:center;color:var(--purple-dark);font-size:64px}.progress-row{margin:16px 0}.progress-label{display:flex;justify-content:space-between;color:rgba(255,255,255,.78);font-size:13px;font-weight:700;margin-bottom:8px}.progress-track{height:8px;border-radius:20px;background:rgba(255,255,255,.15);overflow:hidden}.progress-fill{height:100%;border-radius:20px;background:#fff}.floating-card{position:absolute;background:#fff;color:var(--ink);border-radius:20px;padding:16px;box-shadow:var(--shadow);right:-18px;bottom:-24px;width:240px}.floating-card strong{display:block;color:var(--purple-dark);margin-bottom:6px}.section-head{text-align:center;max-width:760px;margin:0 auto 42px}.section-label{display:inline-block;color:var(--purple);font-size:12px;letter-spacing:.18em;font-weight:950;text-transform:uppercase;margin-bottom:12px}.section-head h2{font-family:Georgia,serif;font-size:clamp(32px,4vw,52px);margin:0 0 14px;color:var(--purple-dark)}.section-head p{color:var(--muted);font-size:17px;line-height:1.7;margin:0}.section-head.light h2,.section-head.light p,.section-head.light .section-label{color:#fff}.grid{display:grid;gap:22px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 16px 40px rgba(75,15,69,.06);overflow:hidden}.card-pad{padding:24px}.feature-icon{width:52px;height:52px;border-radius:16px;background:var(--purple-soft);color:var(--purple);display:grid;place-items:center;font-size:24px;margin-bottom:18px}.card h3{margin:0 0 10px;color:var(--purple-dark);font-size:20px}.card p{color:var(--muted);line-height:1.65}.program-card{display:flex;flex-direction:column;min-height:365px}.program-visual{height:150px;background:linear-gradient(135deg,var(--purple),var(--purple-dark));position:relative;color:#fff;display:flex;align-items:flex-end;padding:18px}.program-visual:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 25%,rgba(255,255,255,.22),transparent 30%)}.chip{display:inline-flex;border-radius:999px;padding:6px 10px;background:var(--purple-soft);color:var(--purple);font-weight:900;font-size:12px;text-transform:capitalize}.program-card .chip{background:rgba(255,255,255,.18);color:#fff;position:relative}.program-body{padding:22px;display:flex;flex-direction:column;gap:12px;flex:1}.program-meta{display:flex;gap:8px;flex-wrap:wrap}.program-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:16px}.price{font-weight:950;color:var(--purple-dark)}.page-hero{padding:140px 0 64px;color:#fff}.searchbar{position:relative;max-width:560px;margin:26px auto 0}.searchbar input{width:100%;height:54px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);color:#fff;border-radius:18px;padding:0 18px}.searchbar input::placeholder{color:rgba(255,255,255,.55)}.filterbar{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:76px;z-index:20}.filters{display:flex;gap:8px;overflow:auto;padding:14px 0}.filter{border:0;border-radius:13px;background:transparent;color:var(--muted);padding:10px 14px;font-weight:800;text-transform:capitalize;white-space:nowrap}.filter.active,.filter:hover{background:var(--purple);color:#fff}.form{display:grid;gap:14px}.field{display:grid;gap:7px}.field label{font-size:13px;font-weight:900;color:var(--purple-dark)}.input,.textarea,.select{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 14px;color:var(--ink);outline:0}.textarea{min-height:112px;resize:vertical}.input:focus,.textarea:focus,.select:focus{border-color:var(--purple);box-shadow:0 0 0 4px rgba(121,25,111,.08)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff}.table{width:100%;border-collapse:collapse;min-width:820px}.table th,.table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.table th{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#fbf8fb}.table tr:last-child td{border-bottom:0}.status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:900;text-transform:capitalize}.status.active,.status.valid,.status.paid,.status.lifetime{background:#dcfae6;color:#067647}.status.pending,.status.partial{background:#fef0c7;color:#93370d}.status.expired,.status.suspended,.status.invalid,.status.unpaid{background:#fee4e2;color:#b42318}.portal-header{padding:112px 0 38px;color:#fff}.dashboard{padding-top:76px;min-height:100vh;display:grid;grid-template-columns:280px 1fr;background:#f7f2f7}.sidebar{background:var(--purple-dark);color:#fff;min-height:calc(100vh - 76px);padding:22px;position:sticky;top:76px;align-self:start}.side-title{font-family:Georgia,serif;font-size:24px;margin:0 0 6px}.side-btn{width:100%;display:flex;align-items:center;gap:10px;text-align:left;background:transparent;border:0;color:rgba(255,255,255,.72);border-radius:14px;padding:12px;margin:5px 0;font-weight:850;cursor:pointer}.side-btn.active,.side-btn:hover{background:rgba(255,255,255,.12);color:#fff}.admin-main{padding:28px;min-width:0}.admin-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.admin-head h1{margin:0;color:var(--purple-dark);font-family:Georgia,serif;font-size:36px}.stat-card{padding:22px}.stat-value{font-size:34px;font-weight:950;color:var(--purple-dark)}.stat-label{color:var(--muted);font-weight:800}.compact-row{display:grid;grid-template-columns:160px 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fff;margin-bottom:10px}.page-builder-row{display:grid;grid-template-columns:80px 1fr 140px 190px;gap:12px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff;margin-bottom:12px}.admin-form-panel{display:none;margin:18px 0}.admin-form-panel.open{display:block}.modal-backdrop{position:fixed;inset:0;background:rgba(26,4,24,.5);z-index:100;display:none;align-items:center;justify-content:center;padding:18px}.modal-backdrop.open{display:flex}.modal{width:min(760px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:24px;box-shadow:0 40px 80px rgba(0,0,0,.28);padding:24px}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.modal-head h2{margin:0;color:var(--purple-dark);font-family:Georgia,serif}.close{border:0;background:var(--purple-soft);color:var(--purple);border-radius:12px;padding:8px 11px;font-weight:950;cursor:pointer}.auth-box{width:min(520px,calc(100% - 32px));margin:130px auto 60px}.auth-notice{background:#fff7ed;border:1px solid #fed7aa;border-radius:18px;padding:14px;color:#9a3412;font-size:14px;line-height:1.6}.certificate-result{border:1px solid var(--line);border-radius:24px;background:#fff;padding:24px;margin-top:22px}.valid-stamp{display:inline-flex;align-items:center;gap:8px;background:#dcfae6;color:#067647;border-radius:999px;padding:8px 12px;font-weight:950}.invalid-stamp{display:inline-flex;align-items:center;gap:8px;background:#fee4e2;color:#b42318;border-radius:999px;padding:8px 12px;font-weight:950}.faq-item{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 20px;margin:12px 0}.faq-item summary{font-weight:950;color:var(--purple-dark);cursor:pointer}.faq-item p{color:var(--muted);line-height:1.7}.footer{background:var(--purple-dark);color:#fff;padding:64px 0 26px}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:34px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.12)}.footer h4{color:rgba(255,255,255,.55);letter-spacing:.16em;text-transform:uppercase;font-size:12px}.footer a,.footer p,.footer li{color:#d8c2d6}.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}.footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:24px;color:rgba(255,255,255,.5);font-size:13px}.toast{position:fixed;right:18px;bottom:18px;z-index:200;background:#1f1621;color:#fff;border-radius:16px;padding:14px 16px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;max-width:360px}.toast.show{opacity:1;transform:translateY(0)}.empty{padding:44px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:24px;background:#fff}.hidden{display:none!important}.muted{color:var(--muted)}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mb-0{margin-bottom:0}.right{text-align:right}.nowrap{white-space:nowrap}.mini{font-size:12px}.danger-text{color:var(--red)}
@media(max-width:980px){.nav-links,.nav-actions{display:none}.mobile-menu-btn{display:inline-flex}.hero-grid{grid-template-columns:1fr}.hero-card{display:none}.grid-3,.grid-4,.grid-2{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.dashboard{grid-template-columns:1fr}.sidebar{position:relative;top:0;min-height:auto}.admin-head{align-items:flex-start;flex-direction:column}.page-builder-row,.compact-row{grid-template-columns:1fr}.two-col{grid-template-columns:1fr}.hero{min-height:auto;padding:136px 0 76px}.table{min-width:720px}}
@media(max-width:620px){.container{width:min(100% - 22px,1180px)}.footer-grid{grid-template-columns:1fr}.hero p{font-size:17px}.actions .btn{width:100%}.admin-main{padding:18px}.section{padding:58px 0}.page-hero{padding-top:120px}.brand-title{font-size:17px}.navbar,.nav-inner{height:70px}.mobile-drawer{top:70px}.filterbar{top:70px}}

/* User portal profile controls */
.profile-grid {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}
.profile-card {
  padding: 28px;
  display: grid;
  gap: 18px;
  justify-items: center;
  text-align: center;
}
.profile-avatar {
  width: 148px;
  height: 148px;
  border-radius: 50%;
  background: linear-gradient(135deg, #f7edf6, #e5d2e2);
  border: 1px solid var(--border);
  display: grid;
  place-items: center;
  overflow: hidden;
  color: var(--purple);
  font-size: 54px;
  font-weight: 900;
}
.profile-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.profile-row {
  padding: 14px 0;
  border-bottom: 1px solid var(--border);
}
.profile-row:first-child { padding-top: 0; }
.profile-row label {
  display: block;
  color: var(--muted);
  margin-bottom: 7px;
  font-weight: 700;
}
.linked-account {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 14px;
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.toggle-line {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 10px;
  font-weight: 700;
}
.toggle-line input { accent-color: var(--purple); width: 20px; height: 20px; }
.small { font-size: .86rem; }
@media (max-width: 860px) {
  .profile-grid { grid-template-columns: 1fr; }
}

/* Account-style user profile interface */
.account-page {
  background: #fff;
  min-height: 100vh;
  padding-top: 76px;
  color: #1f2037;
}
.account-topbar {
  height: 64px;
  background: var(--purple-dark);
  display: flex;
  align-items: center;
  padding: 0 28px;
}
.account-back {
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 48px;
  line-height: 1;
  cursor: pointer;
  width: 48px;
  height: 48px;
}
.account-shell {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  min-height: calc(100vh - 140px);
}
.account-menu {
  background: #f4f4f4;
  border-right: 1px solid #ddd;
  padding: 0;
}
.account-menu-item {
  display: block;
  width: 100%;
  min-height: 48px;
  padding: 0 12px;
  border: 0;
  border-bottom: 1px solid transparent;
  background: transparent;
  text-align: left;
  color: #252538;
  font-size: 13px;
  cursor: pointer;
}
.account-menu-item.active {
  background: #fff;
  border-left: 3px solid var(--purple);
  font-weight: 800;
}
.account-content {
  padding: 28px 42px 70px;
  max-width: 1180px;
  width: 100%;
}
.account-profile-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.account-profile-head h1 {
  margin: 0;
  font-size: 30px;
  font-weight: 850;
  color: #202239;
}
.account-save {
  min-height: 40px;
  padding: 10px 14px;
  border-radius: 8px;
}
.account-rule {
  height: 1px;
  background: #e6e6e6;
  margin: 20px 0 28px;
}
.account-profile-grid {
  display: grid;
  grid-template-columns: minmax(420px, 570px) minmax(260px, 1fr);
  gap: 64px;
  align-items: start;
}
.account-fields-card {
  border: 1px solid #d8d8d8;
  border-radius: 5px;
  overflow: hidden;
  background: #fff;
}
.account-field-row {
  min-height: 78px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 10px 16px 11px 22px;
  border-bottom: 1px solid #dedede;
}
.account-field-row:last-child { border-bottom: 0; }
.account-field-row label {
  display: block;
  color: #767676;
  font-size: 13px;
  margin-bottom: 7px;
}
.account-field-row input {
  width: 100%;
  border: 0;
  outline: 0;
  padding: 0;
  background: transparent;
  color: #252538;
  font-size: 16px;
}
.account-field-row span {
  color: var(--purple);
  font-weight: 700;
  font-size: 13px;
}
.account-avatar-panel {
  padding-top: 22px;
  max-width: 380px;
}
.account-avatar {
  width: 112px;
  height: 112px;
  border-radius: 50%;
  background: #d3d3d3;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: #fff;
  font-size: 46px;
  font-weight: 900;
  margin-bottom: 60px;
}
.account-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.account-avatar-panel label {
  display: block;
  color: #777;
  font-size: 13px;
  margin-bottom: 8px;
}
.account-avatar-panel p {
  color: #28293d;
  line-height: 1.55;
  margin: 0 0 14px;
}
.account-image-url,
.account-file {
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 9px 10px;
  margin-top: 8px;
  background: #fff;
  font-size: 13px;
}
.account-section-title {
  margin: 32px 0 0;
  font-size: 22px;
  color: #202239;
  font-weight: 900;
}
.account-linked-card {
  border: 1px solid #d8d8d8;
  min-height: 74px;
  display: grid;
  grid-template-columns: 42px 1fr auto;
  align-items: center;
  gap: 14px;
  max-width: 580px;
  padding: 0 16px;
  background: #fff;
}
.google-mark {
  font-size: 28px;
  font-weight: 900;
  color: #4285f4;
}
.account-linked-card button {
  border: 0;
  background: transparent;
  color: var(--purple);
  font-weight: 800;
  cursor: not-allowed;
}
.account-notification-card {
  border: 1px solid #d8d8d8;
  border-radius: 5px;
  overflow: hidden;
  max-width: 660px;
  background: #fff;
}
.account-toggle-row {
  min-height: 76px;
  display: grid;
  grid-template-columns: 78px 1fr;
  align-items: center;
  gap: 0;
  padding: 0 24px;
  border-bottom: 1px solid #dedede;
  color: #28293d;
  font-size: 15px;
  line-height: 1.6;
}
.account-toggle-row:last-child { border-bottom: 0; }
.account-toggle-row input {
  appearance: none;
  -webkit-appearance: none;
  width: 52px;
  height: 28px;
  border-radius: 999px;
  background: #bbb;
  position: relative;
  cursor: pointer;
  outline: 0;
}
.account-toggle-row input:before {
  content: "×";
  position: absolute;
  left: 4px;
  top: 4px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  color: #aaa;
  display: grid;
  place-items: center;
  font-size: 14px;
  font-weight: 900;
  transition: .2s;
}
.account-toggle-row input:checked { background: var(--purple); }
.account-toggle-row input:checked:before {
  content: "✓";
  transform: translateX(24px);
  color: var(--purple);
}
@media (max-width: 960px) {
  .account-shell { grid-template-columns: 1fr; }
  .account-menu { display: flex; overflow-x: auto; border-right: 0; border-bottom: 1px solid #ddd; }
  .account-menu-item { min-width: 170px; white-space: nowrap; border-bottom: 0; }
  .account-profile-grid { grid-template-columns: 1fr; gap: 28px; }
  .account-avatar-panel { max-width: none; padding-top: 0; }
  .account-avatar { margin-bottom: 22px; }
}
@media (max-width: 620px) {
  .account-page { padding-top: 70px; }
  .account-topbar { height: 72px; padding: 0 20px; }
  .account-content { padding: 38px 24px 60px; }
  .account-profile-head { align-items: flex-start; flex-direction: column; }
  .account-profile-head h1 { font-size: 44px; }
  .account-profile-grid { gap: 36px; }
  .account-field-row { min-height: 88px; padding: 12px 16px; }
  .account-field-row input { font-size: 20px; }
  .account-field-row label { font-size: 18px; }
  .account-avatar { width: 150px; height: 150px; }
  .account-avatar-panel p { font-size: 18px; }
  .account-linked-card { min-height: 90px; font-size: 18px; }
  .account-toggle-row { min-height: 92px; grid-template-columns: 76px 1fr; font-size: 18px; }
}

/* Profile dropdown menu */
.profile-menu{position:relative;display:inline-flex;align-items:center}
.profile-trigger{width:52px;height:52px;border-radius:50%;border:3px solid rgba(255,255,255,.7);background:#f3f0f3;color:var(--purple-dark);display:grid;place-items:center;overflow:hidden;cursor:pointer;font-size:22px;font-weight:950;padding:0}
.profile-trigger img{width:100%;height:100%;object-fit:cover}
.profile-dropdown{position:absolute;top:62px;right:0;width:282px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.16);padding:8px 0;display:none;z-index:80;text-align:left}
.profile-menu.open .profile-dropdown{display:block}
.profile-dropdown button{display:block;width:100%;border:0;background:#fff;color:var(--ink);text-align:left;padding:14px 16px;font-size:18px;cursor:pointer}
.profile-dropdown button:hover{background:var(--purple-soft)}
.profile-dropdown hr{border:0;border-top:1px solid var(--line);margin:8px 0}
@media(max-width:980px){.profile-menu{display:none}}


/* Floating contact widget */
.floating-contact{position:fixed;right:24px;bottom:24px;z-index:120;font-family:inherit}
.floating-contact-main{width:64px;height:64px;border:0;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--purple-dark));color:#fff;box-shadow:0 18px 42px rgba(75,15,69,.34);display:grid;place-items:center;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease;animation:contact-pulse 2.4s infinite}
.floating-contact-main svg{width:28px;height:28px;fill:currentColor;display:block}
.floating-contact-main:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 22px 52px rgba(75,15,69,.42)}
.floating-contact.open .floating-contact-main{transform:rotate(8deg) scale(1.04)}
.floating-contact-panel{position:absolute;right:7px;bottom:78px;display:flex;flex-direction:column-reverse;gap:12px;opacity:0;pointer-events:none;transform:translateY(14px) scale(.92);transition:opacity .18s ease,transform .18s ease}
.floating-contact.open .floating-contact-panel{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}
.floating-contact-panel a{width:50px;height:50px;border-radius:50%;background:#fff;color:var(--brand,var(--purple));border:1px solid rgba(121,25,111,.14);box-shadow:0 14px 32px rgba(30,8,28,.18);display:grid;place-items:center;transition:transform .18s ease,background .18s ease,color .18s ease}
.floating-contact-panel a svg{width:23px;height:23px;fill:currentColor;display:block}
.floating-contact.open .floating-contact-panel a{animation:contact-pop .24s cubic-bezier(.2,1.2,.2,1) both;animation-delay:calc(var(--i) * 45ms)}
.floating-contact-panel a:hover{background:var(--brand,var(--purple));color:#fff;transform:translateY(-2px) scale(1.08)}
@media(max-width:620px){.floating-contact{right:16px;bottom:16px}.floating-contact-main{width:58px;height:58px}.floating-contact-main svg{width:25px;height:25px}.floating-contact-panel{right:4px;bottom:70px}.floating-contact-panel a{width:46px;height:46px}.floating-contact-panel a svg{width:21px;height:21px}}



/* Owner-controlled floating contact polish */
.floating-contact-panel a[title="WhatsApp"]{color:#25D366}
.floating-contact-panel a[title="Facebook"]{color:#1877F2}
.floating-contact-panel a[title="Telegram"]{color:#26A5E4}
.floating-contact-panel a[title="LinkedIn"]{color:#0A66C2}
.floating-contact-panel a[title="Email us"]{color:var(--purple)}
.floating-contact-panel a[title="Extra link"]{color:var(--gold)}
.floating-contact-main,
.floating-contact-panel a{border-radius:999px !important}
.floating-contact-panel a{font-size:0}


/* Platform: My Courses */
.platform-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
.platform-summary h2{font-family:Georgia,serif;color:var(--purple-dark);font-size:38px;line-height:1.1;margin:6px 0 8px}
.platform-summary-number{min-width:116px;min-height:96px;border-radius:24px;background:var(--purple-soft);color:var(--purple);display:grid;place-items:center;text-align:center;padding:14px}
.platform-summary-number strong{font-size:38px;line-height:1;font-weight:950}
.platform-summary-number span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--muted)}
.my-courses-grid{align-items:stretch}
.my-course-card{padding:24px;display:flex;flex-direction:column;gap:14px;min-height:340px}
.my-course-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.my-course-card h3{font-size:22px;line-height:1.25;margin:0;color:var(--purple-dark)}
.my-course-card p{margin:0;color:var(--muted);line-height:1.65}
.my-course-meta{display:grid;gap:8px;margin-top:auto;color:var(--muted);font-size:14px;font-weight:700}
.my-course-actions{display:flex;gap:10px;flex-wrap:wrap;padding-top:8px}
.my-course-empty{grid-column:1/-1;text-align:center}
@media(max-width:780px){.platform-summary{align-items:flex-start;flex-direction:column}.platform-summary-number{width:100%}.my-course-card{min-height:auto}}

/* Keep every floating contact app visible even before its URL is added */
.floating-contact-panel a.missing-contact-link{opacity:.72;filter:saturate(.65);cursor:not-allowed}
.floating-contact-panel a.missing-contact-link:hover{background:#fff;color:var(--brand,var(--purple));transform:translateY(-2px) scale(1.04)}

.platform-faq-section{background:#fbf8fb}
.platform-faq-section .center{text-align:center}


/* FAQ accordion on the Home page only */
.home-faq-section{
  background:#fff;
  padding:72px 0;
  border-top:1px solid var(--line);
}
.home-faq-section .section-head{margin-bottom:28px}
.home-faq-accordion{max-width:880px;margin:0 auto;display:grid;gap:12px}
.home-faq-item{box-shadow:0 14px 34px rgba(75,15,69,.08);margin:0;padding:0;overflow:hidden}
.home-faq-item summary{list-style:none;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.home-faq-item summary::-webkit-details-marker{display:none}
.home-faq-item summary:after{content:'+';width:30px;height:30px;border-radius:999px;background:var(--purple-soft);color:var(--purple);display:grid;place-items:center;font-weight:950;flex:0 0 30px}
.home-faq-item[open] summary:after{content:'−'}
.home-faq-item p{margin:0;padding:0 22px 20px;color:var(--muted);line-height:1.75}
@media(max-width:760px){.home-faq-section{padding:48px 0}.home-faq-item summary{padding:18px}.home-faq-item p{padding:0 18px 18px}}


/* Teachable-style My Courses / Platform */
.learn-home-page{background:#fff;min-height:100vh;padding-top:76px;color:#071122}.learn-dashboard-shell{width:min(1240px,calc(100% - 48px));margin:0 auto;padding:38px 0 54px;display:grid;grid-template-columns:1fr 300px;gap:38px}.learn-dashboard-main h1{text-align:center;font-size:28px;margin:0 0 34px;color:#071122;font-weight:900}.learn-dashboard-main h2,.learn-section-headline h2{font-size:25px;margin:0 0 18px;color:#071122}.learn-owned-list{display:grid;gap:18px}.learn-card{background:#fff;border:1px solid #ded9df;border-radius:8px;overflow:hidden}.learn-owned-card{display:grid;grid-template-columns:340px 1fr;min-height:188px}.learn-owned-body{padding:22px 30px;display:flex;flex-direction:column;justify-content:center;gap:10px}.learn-owned-body h3{margin:0;color:#071122;font-size:24px}.learn-status-line{margin:4px 0;color:#111;font-size:17px}.learn-mini{margin:0;color:#222;font-size:14px}.learn-course-thumb{height:100%;min-height:176px;background:linear-gradient(135deg,#65005d,#78006e);color:#fff;position:relative;display:flex;flex-direction:column;justify-content:center;padding:26px 28px;overflow:hidden}.learn-course-thumb:before{content:"";position:absolute;inset:auto -40px -55px auto;width:190px;height:190px;border-radius:50%;border:26px solid rgba(255,255,255,.09)}.learn-course-thumb:after{content:"";position:absolute;left:0;right:0;bottom:30%;border-top:1px dashed rgba(255,255,255,.35)}.learn-course-seal{position:absolute;right:28px;top:28px;width:42px;height:42px;border-radius:999px;border:2px solid rgba(255,255,255,.8);display:grid;place-items:center;font-size:21px}.learn-course-thumb strong{font-size:34px;line-height:1;font-weight:950;letter-spacing:.02em;color:#fff14f;z-index:1}.learn-course-thumb span{font-size:22px;font-weight:950;max-width:220px;z-index:1}.learn-course-thumb small{margin-top:16px;color:#fff;font-weight:900;letter-spacing:.04em;z-index:1}.learn-outline-btn{border:1.5px solid var(--purple);background:#fff;color:#130018;border-radius:8px;min-height:50px;padding:0 18px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;transition:.18s}.learn-outline-btn:hover{background:var(--purple-soft);transform:translateY(-1px)}.learn-outline-btn.small{min-height:38px;font-size:13px;padding:0 16px}.learn-section-headline{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:72px 0 20px}.learn-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.learn-product-card{border:1px solid #ded9df;border-radius:7px;overflow:hidden;background:#fff}.learn-product-card .learn-course-thumb{min-height:180px;height:180px}.learn-product-body{padding:14px 18px 18px}.learn-product-body h3{margin:0 0 12px;font-size:16px;color:#071122}.learn-product-body p{margin:4px 0;font-size:12px;color:#111}.learn-product-body .learn-outline-btn{width:100%;margin-top:16px}.learn-dashboard-side{padding-top:70px;display:grid;gap:42px;align-content:start}.learn-side-module h3{font-size:25px;color:#071122;margin:0 0 20px}.learn-side-module p{font-size:15px;line-height:1.55;margin:0 0 18px;color:#111}.learn-side-module .learn-outline-btn{width:100%}.learn-additional-links{border-top:1px solid transparent;padding-top:4px}.learn-additional-links h3{font-size:18px;margin:0 0 14px}.learn-additional-links p{font-size:13px;line-height:1.4}.learn-empty-card{border:1px solid #ded9df;border-radius:8px;background:#fff;padding:28px;color:#111}.learn-empty-card h3{margin-top:0}.navbar+.learn-home-page{padding-top:76px}

/* Teachable-style in-course reader */
.course-reader-page{background:#fff;min-height:100vh;color:#071122}.course-reader-page .navbar{display:none}.course-topbar{height:78px;background:#65005d;color:#fff;display:flex;align-items:center;border-bottom:4px solid #f4f4f4;position:sticky;top:0;z-index:60}.course-icon-btn{width:54px;height:54px;background:transparent;border:0;color:#fff;font-size:25px;display:grid;place-items:center;cursor:pointer}.course-icon-btn:hover,.course-settings.open>.course-icon-btn{background:#3e003a;outline:1px solid rgba(255,255,255,.55)}.course-settings{position:relative;margin-left:244px}.course-settings-menu{display:none;position:absolute;top:70px;left:0;width:220px;background:#fff;color:#222;border:1px solid #ddd;border-radius:4px;box-shadow:0 15px 45px rgba(0,0,0,.18);padding:0;z-index:9999;pointer-events:auto}.course-settings.open .course-settings-menu{display:block;animation:courseMenuIn .16s ease-out}.course-settings-menu:before{content:"";position:absolute;top:-9px;left:18px;border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:9px solid #fff}.course-settings-menu label{height:48px;cursor:pointer;padding:0 22px;display:flex;align-items:center;justify-content:space-between;font-size:14px;border-bottom:1px solid #eee}.course-settings-menu label:last-child{border-bottom:0}.course-switch{width:36px;cursor:pointer;height:18px;border-radius:999px;background:#e6e6e6;position:relative;box-shadow:inset 0 0 0 1px #d1d1d1}.course-switch i{position:absolute;top:1px;left:1px;width:16px;height:16px;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.2)}.course-switch.on{background:#c7f1ce}.course-switch.on i{left:19px;background:#64d875}.course-continue{margin-left:auto;margin-right:24px;border:1px solid #fff;background:transparent;color:#fff;border-radius:7px;height:46px;padding:0 22px;font-weight:900;font-size:16px;cursor:pointer}.course-frame{display:grid;grid-template-columns:350px 1fr;min-height:calc(100vh - 78px)}.course-sidebar{border-right:1px solid #d9d9d9;background:#fafafa;overflow:auto;max-height:calc(100vh - 78px);position:sticky;top:78px}.course-side-section{border-bottom:1px solid #e5e1e5}.course-side-section h3{font-size:16px;padding:17px 18px;margin:0;background:#fff;color:#071122;font-weight:900}.course-side-section h3 span{color:#65005d}.course-lesson-row{width:100%;min-height:64px;display:grid;grid-template-columns:44px 34px 1fr;align-items:center;text-align:left;border:0;border-top:1px solid #eee;background:#fbfbfb;padding:0 14px 0 10px;color:#333;cursor:pointer}.course-lesson-row.active{background:#ea33d7;color:#071122}.course-status-dot{width:22px;height:22px;border-radius:50%;background:#65005d;color:#fff;display:grid;place-items:center;font-size:13px;font-weight:900}.course-drag{color:#555;font-weight:900;font-size:20px}.course-content{padding:28px 7vw 70px;overflow:auto}.course-title-row{display:flex;align-items:center;gap:14px;margin-bottom:34px}.course-title-row span{font-size:28px;color:#444}.course-title-row h1{font-size:25px;margin:0;color:#071122}.course-hero-card{background:#6b175f;border-radius:20px;color:#fff;text-align:center;padding:32px 32px;margin:0 auto 28px;max-width:760px}.course-hero-card h2{font-size:37px;font-weight:400;margin:0 0 12px;color:#fff}.course-hero-card p{font-size:18px;line-height:1.6;color:#fff14f;font-weight:800;max-width:720px;margin:0 auto}.course-content-card{border:1px solid #eadbea;border-radius:18px;background:#fff;padding:24px;margin:28px auto;max-width:760px}.course-content-card h2{font-size:29px;color:#6b175f;margin:0 0 10px}.course-content-card p{font-size:17px;line-height:1.7;color:#071122}.course-progress-box{display:grid;gap:14px}.course-progress-box strong{text-align:center}.course-progress-box span{height:8px;border-radius:999px;background:#efe6ef;overflow:hidden}.course-progress-box span i{display:block;height:100%;background:#65005d;border-radius:999px}.course-completion-card{display:grid;grid-template-columns:280px 1fr;gap:24px;border:1px solid #eee;background:#f8f8fb;padding:16px;max-width:760px;margin:28px auto}.course-completion-card .learn-course-thumb{min-height:150px;border-radius:2px}.course-completion-card h2{margin:18px 0 8px}.course-completion-card p{font-weight:800}.course-completion-card .learn-outline-btn{margin-top:12px}

@media(max-width:980px){.learn-dashboard-shell{grid-template-columns:1fr;width:min(760px,calc(100% - 28px))}.learn-owned-card{grid-template-columns:1fr}.learn-product-grid{grid-template-columns:1fr}.learn-dashboard-side{padding-top:0}.course-frame{grid-template-columns:1fr}.course-sidebar{position:relative;top:auto;max-height:none;border-right:0}.course-settings{margin-left:0}.course-content{padding:24px 18px 60px}.course-completion-card{grid-template-columns:1fr}.course-topbar{gap:6px}.course-continue{margin-right:10px;font-size:14px;padding:0 12px}}@media(max-width:620px){.learn-dashboard-main h1{text-align:left;font-size:24px}.learn-course-thumb{min-height:150px}.course-hero-card h2{font-size:29px}.course-hero-card p{font-size:15px}.course-title-row h1{font-size:21px}.course-sidebar{display:none}.course-frame{display:block}.course-settings-menu{left:-60px}.course-continue{font-size:0}.course-continue span{font-size:28px}.learn-dashboard-shell{padding-top:24px}.learn-section-headline{align-items:flex-start;flex-direction:column}}

/* Platform lesson subpages and access protection */
.learn-dashboard-shell.single{grid-template-columns:1fr;max-width:760px;padding-top:120px}
.access-denied-card{text-align:center;padding:42px}
.access-denied-card h1{margin:0 0 12px;color:#071122;font-size:34px}
.course-lesson-row{transition:background .15s ease, transform .15s ease}
.course-lesson-row:hover{background:#f3e9f2;transform:translateX(1px)}
.course-lesson-row.active:hover{background:#ea33d7}
.course-lesson-blocks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.course-lesson-blocks>div{border:1px solid #eadbea;border-radius:14px;padding:16px;background:#fbf8fb}
.course-lesson-blocks strong{display:block;color:#6b175f;margin-bottom:8px}
.course-lesson-blocks p{font-size:14px;margin:0;color:#3b303d}
.course-checklist{display:grid;gap:10px;margin-top:16px}
.course-checklist span{border:1px solid #eadbea;background:#fbf8fb;border-radius:12px;padding:12px 14px;font-weight:800;color:#6b175f}
@media(max-width:780px){.course-lesson-blocks{grid-template-columns:1fr}.learn-dashboard-shell.single{padding-top:60px}}

@keyframes courseMenuIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.course-settings-menu label{user-select:none}
.course-settings-menu label:hover{background:#faf7fa}
.course-settings.open{z-index:10000}


/* Course settings menu: click-trigger only. No hover opening. */
.course-settings:not(.open) .course-settings-menu,
.course-settings:hover:not(.open) .course-settings-menu,
.course-settings:focus-within:not(.open) .course-settings-menu{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.course-settings.open .course-settings-menu{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}
.course-settings-menu{cursor:default}
.course-settings-menu label{cursor:default}
.course-settings-menu .course-switch{cursor:pointer}

/* Owner/Admin visual builder replacement */
.builder-dashboard .admin-main{background:linear-gradient(180deg,#fff,#fbf7fb);}
.builder-shell{display:grid;grid-template-columns:260px minmax(420px,1fr) 330px;gap:18px;align-items:start;min-height:calc(100vh - 165px)}
.builder-pages-panel,.builder-canvas-panel,.builder-inspector-panel{background:#fff;border:1px solid #ead7e8;border-radius:24px;box-shadow:0 18px 45px rgba(65,20,60,.08);padding:16px;position:sticky;top:16px;max-height:calc(100vh - 145px);overflow:auto}
.builder-canvas-panel{position:relative;top:0;max-height:none;min-height:720px;background:#faf7fb}
.builder-panel-head,.builder-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}
.builder-toolbar{background:#fff;border:1px solid #f0e1ef;border-radius:18px;padding:12px;position:sticky;top:0;z-index:4;box-shadow:0 10px 30px rgba(65,20,60,.06)}
.builder-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.btn.small{padding:8px 10px;font-size:12px;border-radius:12px}.btn.full{width:100%;justify-content:center;margin-top:10px}
.builder-page-tree{display:flex;flex-direction:column;gap:8px;margin:14px 0}.builder-page-item{border:1px solid #ead7e8;background:#fff;border-radius:16px;padding:11px;text-align:left;cursor:pointer;transition:.18s;display:flex;flex-direction:column;gap:4px;color:#4b0f45}.builder-page-item:hover,.builder-page-item.active{border-color:#79196f;box-shadow:0 12px 28px rgba(121,25,111,.12);transform:translateY(-1px)}.builder-page-item small{color:#8f6b8a}
.builder-canvas{display:flex;flex-direction:column;gap:14px;min-height:620px;border:2px dashed #e8d4e6;border-radius:24px;padding:16px;background:linear-gradient(135deg,#fff,#fcf8fb)}
.builder-canvas-block{border:1px solid #e6d0e4;background:#fff;border-radius:22px;padding:14px;box-shadow:0 12px 26px rgba(65,20,60,.06);cursor:grab;transition:.18s}.builder-canvas-block.active{outline:3px solid rgba(121,25,111,.18);border-color:#79196f}.builder-canvas-block.dragging{opacity:.45;transform:scale(.985)}
.builder-block-top{display:flex;gap:10px;align-items:center;border-bottom:1px solid #f1e4ef;padding-bottom:10px;margin-bottom:12px}.builder-block-actions{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}.drag-handle{border:0;background:#f7edf6;color:#79196f;border-radius:10px;padding:7px 9px;cursor:grab;font-size:17px}.builder-mini-preview{padding:10px;border-radius:16px;background:#fbf7fb}.builder-mini-preview img{width:100%;max-height:180px;object-fit:cover;border-radius:14px}.builder-mini-preview code{white-space:pre-wrap;word-break:break-word;color:#4b0f45}.builder-empty{border:1px dashed #cfa9ca;border-radius:18px;padding:28px;text-align:center;color:#8f6b8a;background:#fff}
.builder-inspector-panel .textarea.tall{min-height:150px}.code-area{min-height:240px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;direction:ltr;text-align:left}
.builder-image-block{margin:0;background:#fff;border-radius:24px;padding:12px;border:1px solid #ead7e8}.builder-image-block img{display:block;width:100%;border-radius:18px;max-height:560px;object-fit:cover}.builder-image-block figcaption{text-align:center;margin-top:8px;color:#8f6b8a}.builder-button-block{text-align:center;background:#fff;border-radius:24px;padding:34px;border:1px solid #ead7e8}.builder-button-block.align-left{text-align:left}.builder-button-block.align-right{text-align:right}.builder-hero-img{width:100%;height:280px;object-fit:cover;border-radius:22px}.builder-html-output iframe,.protected-embed iframe{width:100%;min-height:420px;border:0;border-radius:22px;background:#111}
.protected-embed{position:relative;overflow:hidden;border-radius:24px;background:#130912;border:1px solid rgba(121,25,111,.35);box-shadow:0 20px 45px rgba(0,0,0,.12)}.protected-embed iframe{display:block;aspect-ratio:16/9;min-height:auto}.embed-lock{position:absolute;top:12px;left:12px;z-index:3;background:rgba(20,8,18,.78);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:7px 11px;font-size:12px;backdrop-filter:blur(8px)}.embed-watermark{position:absolute;right:14px;bottom:14px;z-index:3;color:rgba(255,255,255,.68);background:rgba(20,8,18,.55);border-radius:12px;padding:8px 10px;font-size:12px;pointer-events:none}
@media(max-width:1150px){.builder-shell{grid-template-columns:1fr}.builder-pages-panel,.builder-inspector-panel{position:relative;top:auto;max-height:none}.builder-toolbar{position:relative}}

/* TRUE OWNER DASHBOARD REPLACEMENT — second-project style app shell, not old dashboard */
.studio-dashboard{
  min-height:100vh;
  display:grid;
  grid-template-columns:292px 1fr;
  background:#f4f5f7;
  color:#18212f;
  padding:0;
}
.studio-rail{
  min-height:100vh;
  position:sticky;
  top:0;
  align-self:start;
  display:flex;
  flex-direction:column;
  gap:18px;
  padding:22px 18px;
  background:linear-gradient(180deg,#14101c,#2b1630 58%,#4b0f45);
  color:#fff;
  box-shadow:18px 0 45px rgba(22,16,28,.18);
  z-index:30;
}
.studio-logo{display:flex;align-items:center;gap:12px;padding:10px 8px 18px;border-bottom:1px solid rgba(255,255,255,.12)}
.studio-logo>span{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:#fff;color:#4b0f45;font-weight:950;box-shadow:0 12px 34px rgba(0,0,0,.22)}
.studio-logo strong{display:block;font-size:20px;letter-spacing:.01em}.studio-logo small{display:block;color:#d9c4d7;text-transform:uppercase;font-weight:850;letter-spacing:.18em;font-size:10px;margin-top:2px}
.studio-nav{display:grid;gap:8px;overflow:auto;padding-right:2px;flex:1}.studio-nav-btn{display:grid;grid-template-columns:38px 1fr;gap:11px;align-items:center;width:100%;border:1px solid transparent;background:transparent;color:#d9c4d7;text-align:left;border-radius:16px;padding:10px;cursor:pointer;transition:.18s}.studio-nav-btn>span{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.08)}.studio-nav-btn strong{display:block;color:inherit;font-size:14px}.studio-nav-btn small{display:block;color:#b99bb6;font-size:11px;margin-top:2px}.studio-nav-btn:hover,.studio-nav-btn.active{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.15);color:#fff;transform:translateX(2px)}.studio-nav-btn.active>span{background:#fff;color:#4b0f45}.studio-user-card{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.09);border-radius:20px;padding:14px;display:grid;gap:6px}.studio-user-card strong{font-size:14px}.studio-user-card small{color:#d9c4d7}.studio-link{border:0;background:transparent;color:#fff;text-align:left;font-weight:900;padding:8px 0 0;cursor:pointer}.studio-workspace{min-width:0;padding:26px 28px 38px}.studio-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 26px;margin-bottom:18px;border-radius:28px;background:#fff;border:1px solid #e9e3ea;box-shadow:0 18px 55px rgba(20,16,28,.07)}.studio-kicker{display:inline-block;color:#79196f;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:950;margin-bottom:6px}.studio-topbar h1{margin:0;font-size:36px;color:#15111b;line-height:1.1}.studio-topbar p{margin:6px 0 0;color:#667085}.studio-top-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.studio-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.studio-metrics>div{background:#fff;border:1px solid #e9e3ea;border-radius:22px;padding:18px;box-shadow:0 14px 35px rgba(20,16,28,.05)}.studio-metrics small{display:block;text-transform:uppercase;letter-spacing:.12em;color:#667085;font-size:11px;font-weight:900}.studio-metrics strong{display:block;font-size:30px;margin-top:6px;color:#15111b}.studio-panel{background:#fff;border:1px solid #e9e3ea;border-radius:28px;padding:22px;box-shadow:0 18px 55px rgba(20,16,28,.07);overflow:hidden}.studio-home-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:18px}.studio-hero-panel{grid-column:1/-1;display:grid;grid-template-columns:1fr 280px;gap:22px;align-items:center;background:linear-gradient(135deg,#fff,#fff7fd 55%,#f0e2ee)}.studio-hero-panel h2{font-size:34px;line-height:1.1;margin:0 0 10px;color:#15111b}.studio-hero-panel p{color:#667085;line-height:1.7;max-width:760px}.studio-builder-illustration{min-height:220px;border-radius:26px;background:linear-gradient(135deg,#79196f,#4b0f45);color:#fff;display:grid;place-items:center;text-align:center;padding:20px;box-shadow:0 20px 50px rgba(75,15,69,.24)}.studio-builder-illustration span{font-size:56px}.studio-builder-illustration strong,.studio-builder-illustration small{display:block}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.panel-title.compact{align-items:flex-start}.panel-title h3{margin:0;color:#15111b}.panel-title p{margin:4px 0 0}.access-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #edf0f3;background:#fbfcfd;border-radius:18px;padding:12px;margin-bottom:10px}.access-row strong,.access-row small{display:block}.access-row small{color:#667085;margin-top:3px}.studio-dashboard .table-wrap{border-radius:20px;border-color:#e9e3ea}.studio-dashboard .table th{background:#f8f7fa;color:#667085}.studio-dashboard .table td{background:#fff}.studio-dashboard .card{box-shadow:none}
/* Visual Builder app */
.builder-app{display:grid;grid-template-columns:286px minmax(460px,1fr) 340px;gap:18px;align-items:start}.builder-app-pages,.builder-app-canvas,.builder-app-inspector{background:#fff;border:1px solid #e9e3ea;border-radius:28px;box-shadow:0 18px 55px rgba(20,16,28,.06);padding:18px}.builder-app-pages,.builder-app-inspector{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto}.builder-app-canvas{min-height:760px;background:#f9fafb}.builder-page-tree{display:grid;gap:9px;margin:16px 0}.builder-page-item{width:100%;border:1px solid #e4e7ec;background:#fff;border-radius:16px;padding:12px 13px;text-align:left;color:#18212f;cursor:pointer;display:grid;gap:4px;transition:.18s}.builder-page-item span{font-weight:900}.builder-page-item small{color:#667085}.builder-page-item:hover,.builder-page-item.active{border-color:#79196f;background:#fff7fd;box-shadow:0 12px 30px rgba(121,25,111,.11);transform:translateY(-1px)}.builder-page-actions{display:grid;gap:8px}.builder-app-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;padding:16px;border-radius:22px;background:#fff;border:1px solid #edf0f3}.builder-app-toolbar h2{margin:0;color:#15111b}.builder-app-toolbar p{margin:5px 0 0;color:#667085}.builder-tool-palette{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.builder-tool{border:1px solid #ded3df;background:#fff;color:#4b0f45;border-radius:999px;padding:9px 12px;font-weight:900;cursor:pointer;transition:.16s}.builder-tool:hover{background:#79196f;color:#fff;border-color:#79196f;transform:translateY(-1px)}.builder-dropzone{min-height:640px;display:grid;gap:14px;align-content:start;border:2px dashed #d0d5dd;border-radius:28px;background:linear-gradient(135deg,#fff,#fcfcfd);padding:18px}.builder-canvas-block{border:1px solid #e4e7ec;background:#fff;border-radius:24px;padding:14px;box-shadow:0 12px 30px rgba(16,24,40,.06);cursor:grab;transition:.18s}.builder-canvas-block:hover{transform:translateY(-1px)}.builder-canvas-block.active{border-color:#79196f;box-shadow:0 0 0 4px rgba(121,25,111,.09),0 16px 35px rgba(16,24,40,.08)}.builder-canvas-block.dragging{opacity:.48;transform:scale(.985)}.builder-block-top{display:flex;gap:10px;align-items:center;border-bottom:1px solid #edf0f3;padding-bottom:10px;margin-bottom:12px}.builder-block-actions{margin-left:auto;display:flex;gap:7px;flex-wrap:wrap}.drag-handle{border:0;background:#f3eef3;color:#79196f;border-radius:12px;padding:7px 10px;cursor:grab;font-size:18px}.builder-mini-preview{padding:12px;border-radius:18px;background:#f8f7fa}.builder-mini-preview h2,.builder-mini-preview h3{margin:0 0 6px}.builder-mini-preview p{margin:0;color:#667085}.builder-mini-preview img{width:100%;max-height:210px;object-fit:cover;border-radius:16px}.builder-mini-preview code{display:block;white-space:pre-wrap;word-break:break-word;color:#4b0f45}.builder-empty{border:1px dashed #b8bdc7;border-radius:22px;padding:34px;text-align:center;color:#667085;background:#fff}.builder-app-inspector .textarea.tall{min-height:150px}.code-area{min-height:240px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;direction:ltr;text-align:left}.btn.small{padding:8px 10px;font-size:12px;border-radius:12px}.btn.full{width:100%;justify-content:center}.builder-image-block{margin:0;background:#fff;border-radius:24px;padding:12px;border:1px solid #ead7e8}.builder-image-block img{display:block;width:100%;border-radius:18px;max-height:560px;object-fit:cover}.builder-image-block figcaption{text-align:center;margin-top:8px;color:#8f6b8a}.builder-button-block{text-align:center;background:#fff;border-radius:24px;padding:34px;border:1px solid #ead7e8}.builder-button-block.align-left{text-align:left}.builder-button-block.align-right{text-align:right}.builder-hero-img{width:100%;height:280px;object-fit:cover;border-radius:22px}.builder-html-output iframe,.protected-embed iframe{width:100%;min-height:420px;border:0;border-radius:22px;background:#111}.protected-embed{position:relative;overflow:hidden;border-radius:24px;background:#130912;border:1px solid rgba(121,25,111,.35);box-shadow:0 20px 45px rgba(0,0,0,.12)}.protected-embed iframe{display:block;aspect-ratio:16/9;min-height:auto}.embed-lock{position:absolute;top:12px;left:12px;z-index:3;background:rgba(20,8,18,.78);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:7px 11px;font-size:12px;backdrop-filter:blur(8px)}.embed-watermark{position:absolute;right:14px;bottom:14px;z-index:3;color:rgba(255,255,255,.68);background:rgba(20,8,18,.55);border-radius:12px;padding:8px 10px;font-size:12px;pointer-events:none}
@media(max-width:1200px){.studio-dashboard{grid-template-columns:1fr}.studio-rail{position:relative;min-height:auto}.studio-nav{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.studio-user-card{display:none}.builder-app{grid-template-columns:1fr}.builder-app-pages,.builder-app-inspector{position:relative;top:auto;max-height:none}.studio-home-grid{grid-template-columns:1fr}.studio-hero-panel{grid-template-columns:1fr}.studio-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.studio-workspace{padding:16px}.studio-topbar{align-items:flex-start;flex-direction:column;padding:18px}.studio-metrics{grid-template-columns:1fr}.studio-nav{grid-template-columns:1fr}.builder-app-toolbar{flex-direction:column}.builder-tool-palette{justify-content:flex-start}.studio-topbar h1{font-size:30px}.studio-hero-panel h2{font-size:28px}}


/* Power dashboard v5 */
.collapse-tab{position:absolute;z-index:20;width:28px;height:72px;border:1px solid #e7dce8;background:#fff;color:#79196f;border-radius:999px;font-weight:950;box-shadow:0 12px 28px rgba(20,16,28,.16);cursor:pointer;display:grid;place-items:center}.rail-collapse-tab{right:-14px;top:50%;transform:translateY(-50%)}.inspector-collapse-tab{left:-14px;top:50%;transform:translateY(-50%)}
.studio-dashboard.rail-collapsed{grid-template-columns:34px 1fr}.studio-dashboard.rail-collapsed .studio-rail{padding:0;overflow:visible}.studio-dashboard.rail-collapsed .studio-logo,.studio-dashboard.rail-collapsed .studio-nav,.studio-dashboard.rail-collapsed .studio-open-site{display:none}.studio-open-site{width:100%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.09);color:#fff;border-radius:16px;padding:12px;font-weight:900;cursor:pointer}.builder-app.inspector-collapsed{grid-template-columns:286px minmax(460px,1fr) 34px}.builder-app.inspector-collapsed .builder-app-inspector{padding:0;overflow:visible}.builder-app.inspector-collapsed .builder-app-inspector>*:not(.inspector-collapse-tab){display:none}
.role-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.role-tab{border:1px solid #e4d6e5;background:#fff;color:#4b0f45;border-radius:999px;padding:10px 14px;font-weight:950;cursor:pointer}.role-tab.active,.role-tab:hover{background:#79196f;color:#fff;border-color:#79196f}.access-course-list{display:grid;gap:10px;max-height:380px;overflow:auto;padding:4px}.access-course-check{display:flex;align-items:center;gap:12px;border:1px solid #ece6ef;border-radius:16px;padding:12px;background:#fff}.access-course-check span{display:grid}.access-course-check small{color:#667085;margin-top:3px}.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.inspector-group{border:1px solid #eadfeb;background:#fff9fe;border-radius:18px;padding:12px}.inspector-group h4{margin:0 0 10px;color:#4b0f45}.textarea.xl{min-height:420px}.builder-preview-controls{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-bottom:12px}.builder-preview-controls span{font-weight:950;color:#4b0f45}.builder-preview-controls [disabled]{opacity:.45;cursor:not-allowed}.builder-live-shell{width:100%;min-height:720px;overflow:auto;border:1px solid #e4e7ec;border-radius:28px;background:#d9dce3;padding:26px}.builder-live-page{position:relative;width:1200px;min-height:900px;transform:scale(var(--preview-zoom,1));transform-origin:top left;background:#fff;border-radius:0;box-shadow:0 25px 80px rgba(16,24,40,.20);overflow:hidden}.builder-live-block{position:absolute;min-height:70px;border:1px dashed rgba(121,25,111,.25);border-radius:18px}.builder-live-block.active{outline:3px solid rgba(121,25,111,.28);outline-offset:3px}.builder-live-block.moving{opacity:.78;z-index:30}.live-drag-handle{position:absolute;top:-14px;left:-14px;width:32px;height:32px;border:0;border-radius:999px;background:#79196f;color:#fff;box-shadow:0 8px 18px rgba(0,0,0,.2);cursor:move;z-index:5}.builder-block-list{display:grid;gap:10px;margin-top:16px}.builder-block-list:empty{display:none}.preview-fullscreen{position:fixed;inset:0;z-index:190;background:#f4f1f6;padding:18px;grid-template-columns:286px minmax(650px,1fr) 360px!important;overflow:auto}.preview-fullscreen .builder-app-pages,.preview-fullscreen .builder-app-inspector{max-height:calc(100vh - 36px);top:0}.preview-fullscreen .builder-app-canvas{min-height:calc(100vh - 36px)}.preview-fullscreen .builder-live-shell{height:calc(100vh - 220px)}.free-page-canvas{position:relative;background:#fff;overflow:hidden}.free-page-block{position:absolute}.free-hero-card{background:linear-gradient(135deg,#79196f,#4b0f45);color:#fff;border-radius:28px;padding:34px;box-shadow:0 24px 55px rgba(75,15,69,.18)}.free-hero-card h1{font-family:Georgia,serif;font-size:44px;line-height:1.05}.certificate-template-card{background:#fff;padding:28px;border:1px solid #ddd;border-radius:18px;text-align:center;max-width:900px;margin:0 auto}.cert-border{border:8px double #79196f;padding:38px;min-height:520px}.cert-border h1{font-family:Georgia,serif;color:#4b0f45;font-size:44px;margin:0 0 18px}.cert-border h2{font-family:Georgia,serif;color:#15111b;font-size:36px;margin:10px 0}.cert-border h3{color:#79196f;font-size:24px}.cert-codes{display:flex;align-items:center;justify-content:center;gap:28px;margin:26px 0}.cert-qr{width:150px;height:150px}.cert-barcode{width:260px;height:110px}.cert-id{font-weight:950;letter-spacing:.08em}.certificate-preview-wrap{background:#f9fafb;border:1px solid #e4e7ec;border-radius:22px;padding:18px;overflow:auto}.custom-html-live{padding:24px}.builder-app .btn[disabled]{pointer-events:none}.program-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.program-visual img+span{position:relative;z-index:2;background:rgba(75,15,69,.8)}
@media(max-width:900px){.studio-dashboard.rail-collapsed{grid-template-columns:1fr}.builder-app.inspector-collapsed{grid-template-columns:1fr}.preview-fullscreen{grid-template-columns:1fr!important}.three-col{grid-template-columns:1fr}.cert-codes{flex-direction:column}}

/* V6 dashboard/builder corrections */
.command-center-grid{display:grid;grid-template-columns:1.35fr .9fr .9fr;gap:18px}.command-hero{grid-column:1 / span 3;display:grid;grid-template-columns:1fr 220px;align-items:center;background:linear-gradient(135deg,#fff,#fff7fd)}.command-hero h2{font-family:Georgia,serif;font-size:42px;line-height:1.08;margin:6px 0 12px;color:#2f0a2b}.command-orb{height:180px;border-radius:36px;background:radial-gradient(circle at 35% 20%,#fff,#ead7e8);display:grid;place-items:center;text-align:center;border:1px solid #ead7e8;box-shadow:0 24px 60px rgba(121,25,111,.14)}.command-orb span{font-size:38px}.command-orb strong{font-size:48px;color:#79196f;line-height:.9}.command-card h3{margin:0 0 12px;color:#4b0f45}.command-list{display:grid;gap:10px}.command-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #efe6ef;border-radius:14px;padding:10px;background:#fff}
.builder-app{grid-template-columns:286px minmax(620px,1fr) 360px}.builder-app.pages-collapsed{grid-template-columns:34px minmax(720px,1fr) 360px}.builder-app.pages-collapsed .builder-app-pages{padding:0;overflow:visible}.builder-app.pages-collapsed .builder-app-pages>*:not(.pages-collapse-tab){display:none}.pages-collapse-tab{right:-14px;top:50%;transform:translateY(-50%)}.builder-page-item{padding-left:calc(13px + (var(--depth,0) * 18px))}.builder-page-tree{display:grid;gap:8px;overflow:auto;max-height:calc(100vh - 330px)}
.builder-preview-controls{justify-content:space-between;flex-wrap:wrap;background:#fff;border:1px solid #edf0f3;border-radius:18px;padding:10px}.device-switcher{display:flex;gap:6px;align-items:center}.device-switcher .active{background:#79196f;color:#fff}.builder-live-shell{display:flex;justify-content:center;align-items:flex-start;min-height:760px;background:linear-gradient(135deg,#cfd3dd,#eef0f5);padding:28px;overflow:auto}.builder-device-frame{transform:scale(var(--preview-zoom,1));transform-origin:top center;background:#fff;box-shadow:0 28px 90px rgba(16,24,40,.28);border:1px solid rgba(16,24,40,.18);transition:width .18s ease;border-radius:22px;overflow:hidden}.builder-device-frame.device-desktop{width:1200px;min-height:900px}.builder-device-frame.device-tablet{width:820px;min-height:1080px}.builder-device-frame.device-mobile{width:390px;min-height:844px;border-radius:34px}.builder-preview-site{background:#fff;min-height:inherit;overflow:hidden}.preview-navbar{height:76px;background:#4b0f45;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 34px}.preview-brand{display:flex;align-items:center;gap:10px;font-weight:950}.preview-brand span{width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.14);display:grid;place-items:center}.preview-links{display:flex;gap:18px;color:rgba(255,255,255,.78);font-weight:800}.preview-navbar button{border:1px solid rgba(255,255,255,.3);background:#fff;color:#4b0f45;border-radius:13px;padding:10px 14px;font-weight:900}.preview-footer{background:#2f0a2b;color:#fff;padding:34px;text-align:center}.preview-footer p{max-width:700px;margin:8px auto 0;color:rgba(255,255,255,.7)}.builder-device-frame.device-tablet .grid-4,.builder-device-frame.device-tablet .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-device-frame.device-mobile .preview-navbar{height:auto;min-height:76px;padding:16px;align-items:flex-start}.builder-device-frame.device-mobile .preview-links{display:none}.builder-device-frame.device-mobile .hero-grid,.builder-device-frame.device-mobile .grid-4,.builder-device-frame.device-mobile .grid-3,.builder-device-frame.device-mobile .grid-2{grid-template-columns:1fr}.builder-device-frame.device-mobile .hero{min-height:auto;padding:120px 0 48px}.builder-device-frame.device-mobile .section{padding:44px 0}.builder-device-frame.device-mobile .container{width:min(100% - 28px,1200px)}
.builder-live-block{z-index:2;background:rgba(255,255,255,.86)}.free-page-canvas{min-height:900px}.builder-section-block{background:#fff;border:1px solid #ead7e8;border-radius:28px;padding:34px;box-shadow:0 18px 40px rgba(75,15,69,.07)}.builder-subsection-block{background:#fffafc;border:1px dashed #cfa8cb;border-radius:22px;padding:24px}.builder-section-block h2,.builder-subsection-block h3{margin-top:0;color:#4b0f45}.builder-bottom-html{margin-top:18px}.builder-bottom-html .page-html-live{min-height:360px}.inspector-html-under{margin-top:18px;border-top:1px solid #edf0f3;padding-top:16px}.inspector-html-under .page-html-live{min-height:260px}.preview-fullscreen .builder-live-shell{height:calc(100vh - 240px);min-height:620px}.preview-fullscreen.builder-app.pages-collapsed{grid-template-columns:34px minmax(850px,1fr) 360px!important}.preview-fullscreen.builder-app.inspector-collapsed{grid-template-columns:286px minmax(900px,1fr) 34px!important}.preview-fullscreen.builder-app.pages-collapsed.inspector-collapsed{grid-template-columns:34px minmax(1000px,1fr) 34px!important}.builder-app.inspector-collapsed.pages-collapsed{grid-template-columns:34px minmax(760px,1fr) 34px}.builder-app.inspector-collapsed.pages-collapsed .builder-app-inspector{padding:0;overflow:visible}
@media(max-width:1200px){.command-center-grid{grid-template-columns:1fr}.command-hero{grid-column:auto;grid-template-columns:1fr}.builder-app.pages-collapsed{grid-template-columns:1fr}.builder-app.pages-collapsed .builder-app-pages{display:block;min-height:34px}.builder-device-frame.device-desktop{width:1000px}}
@media(max-width:700px){.command-hero h2{font-size:30px}.builder-live-shell{padding:12px}.builder-device-frame.device-desktop{width:900px}.builder-device-frame.device-tablet{width:760px}}


/* v7 realistic preview + true fullscreen stage */
.builder-live-shell{position:relative;}
.builder-device-frame{box-sizing:border-box;position:relative;flex:0 0 auto;}
.builder-device-frame,.builder-preview-site{contain:layout style paint;}
.builder-device-frame .navbar{position:relative;top:auto;box-shadow:0 8px 24px rgba(16,24,40,.08);}
.builder-device-frame .mobile-drawer{display:none!important;}
.builder-device-frame.device-desktop{width:1440px;min-height:980px;border-radius:12px;background:#fff;padding:0;}
.builder-device-frame.device-desktop .builder-preview-site{min-height:980px;border-radius:12px;}
.builder-device-frame.device-tablet{width:820px;min-height:1108px;padding:22px;background:#111;border-radius:42px;border:8px solid #222;box-shadow:0 34px 110px rgba(0,0,0,.42);}
.builder-device-frame.device-tablet::before{content:"";position:absolute;top:9px;left:50%;width:9px;height:9px;border-radius:50%;transform:translateX(-50%);background:#444;z-index:3;}
.builder-device-frame.device-tablet .builder-preview-site{min-height:1024px;border-radius:18px;background:#fff;overflow:hidden;}
.builder-device-frame.device-mobile{width:430px;min-height:910px;padding:18px 14px 24px;background:#111;border-radius:46px;border:8px solid #222;box-shadow:0 34px 110px rgba(0,0,0,.45);}
.builder-device-frame.device-mobile::before{content:"";position:absolute;top:10px;left:50%;width:126px;height:26px;border-radius:0 0 16px 16px;transform:translateX(-50%);background:#111;z-index:4;}
.builder-device-frame.device-mobile::after{content:"";position:absolute;bottom:9px;left:50%;width:120px;height:5px;border-radius:999px;transform:translateX(-50%);background:#333;z-index:4;}
.builder-device-frame.device-mobile .builder-preview-site{min-height:844px;border-radius:30px;background:#fff;overflow:hidden;}
.builder-device-frame.device-tablet .container{width:min(100% - 44px,720px);}
.builder-device-frame.device-mobile .container{width:min(100% - 28px,390px);}
.builder-device-frame.device-tablet .nav-inner{height:auto;min-height:76px;padding:12px 0;gap:12px;}
.builder-device-frame.device-tablet .nav-links{gap:10px;}
.builder-device-frame.device-tablet .nav-actions{gap:8px;}
.builder-device-frame.device-tablet .btn{padding:10px 12px;}
.builder-device-frame.device-mobile .navbar{border-radius:30px 30px 0 0;}
.builder-device-frame.device-mobile .nav-inner{height:auto;min-height:78px;padding:16px 0;}
.builder-device-frame.device-mobile .brand-title{font-size:15px;}
.builder-device-frame.device-mobile .brand-sub{font-size:11px;}
.builder-device-frame.device-mobile .brand-mark{width:38px;height:38px;border-radius:13px;}
.builder-device-frame.device-mobile .nav-links,.builder-device-frame.device-mobile .nav-actions{display:none!important;}
.builder-device-frame.device-mobile .mobile-menu-btn{display:block;margin-left:auto;}
.builder-device-frame.device-mobile .hero h1{font-size:36px;line-height:1.08;}
.builder-device-frame.device-mobile .page-hero h1{font-size:36px;}
.builder-device-frame.device-mobile .free-hero-card h1{font-size:34px;}
.builder-device-frame.device-mobile .builder-live-block{max-width:calc(100% - 24px);}
.builder-live-block{touch-action:none;cursor:move;}
.builder-live-block *{user-select:none;}
.builder-live-block input,.builder-live-block textarea,.builder-live-block select{user-select:text;}
.preview-fullscreen{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;z-index:9999!important;display:grid!important;grid-template-columns:1fr!important;background:#111!important;padding:0!important;margin:0!important;overflow:hidden!important;border-radius:0!important;}
.preview-fullscreen .builder-app-pages,.preview-fullscreen .builder-app-inspector,.preview-fullscreen .builder-app-toolbar,.preview-fullscreen .builder-block-list,.preview-fullscreen .builder-bottom-html{display:none!important;}
.preview-fullscreen .builder-app-canvas{height:100vh!important;min-height:100vh!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#111!important;padding:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;}
.preview-fullscreen .builder-preview-controls{height:58px;flex:0 0 58px;margin:0!important;border-radius:0!important;border:0!important;background:rgba(17,17,17,.96)!important;color:#fff!important;box-shadow:0 12px 38px rgba(0,0,0,.35);position:relative;z-index:20;padding:8px 14px!important;}
.preview-fullscreen .builder-preview-controls span{color:#fff!important;}
.preview-fullscreen .builder-preview-controls .btn{background:#fff;color:#3b0d36;border-color:rgba(255,255,255,.24);}
.preview-fullscreen .builder-preview-controls .device-switcher .active{background:#79196f!important;color:#fff!important;}
.preview-fullscreen .builder-live-shell{height:calc(100vh - 58px)!important;min-height:0!important;border:0!important;border-radius:0!important;background:radial-gradient(circle at top,#343844,#111 58%)!important;padding:28px!important;overflow:auto!important;display:flex!important;align-items:flex-start!important;justify-content:center!important;}
.preview-fullscreen .builder-device-frame.device-desktop{width:1440px;min-height:1000px;border-radius:0;}
.preview-fullscreen .builder-device-frame.device-desktop .builder-preview-site{min-height:1000px;border-radius:0;}
.preview-fullscreen .builder-device-frame.device-tablet{width:820px;min-height:1108px;}
.preview-fullscreen .builder-device-frame.device-mobile{width:430px;min-height:910px;}
.preview-fullscreen .free-page-canvas{min-height:calc(100vh - 58px);}
.preview-fullscreen .builder-live-block.active{outline:4px solid rgba(255,255,255,.75);outline-offset:4px;}
@media(max-width:900px){.preview-fullscreen .builder-live-shell{justify-content:flex-start;padding:16px!important}.builder-device-frame.device-desktop{width:1200px}}

/* v8 manual-save builder polish */
.builder-toolbar-actions{display:grid;gap:10px;justify-items:end}.builder-save-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.builder-save-state{display:inline-flex;align-items:center;margin-top:8px;border-radius:999px;padding:7px 11px;background:#fff7e8;color:#8a4b00;font-weight:950;font-size:12px;border:1px solid #ffd8a8}.builder-save-state:has(+ *){display:inline-flex}.builder-app:not(.preview-fullscreen) .builder-save-state{box-shadow:0 8px 22px rgba(138,75,0,.08)}
.command-card .small{font-size:12px}.mt-1{margin-top:8px!important}.builder-save-actions .btn[disabled]{opacity:.42;cursor:not-allowed}.preview-fullscreen .builder-save-actions,.preview-fullscreen .builder-save-state{display:none!important}


/* v10 final pre-launch polish: smaller rail, true hidden rail, clear builder modes, safer fullscreen */
.studio-dashboard{grid-template-columns:236px 1fr!important;}
.studio-rail{padding:16px 12px!important;gap:12px!important;}
.studio-logo{padding:6px 6px 12px!important;gap:9px!important;}
.studio-logo>span{width:40px!important;height:40px!important;border-radius:13px!important;}
.studio-logo strong{font-size:16px!important;}
.studio-logo small{font-size:9px!important;letter-spacing:.13em!important;}
.studio-nav{gap:6px!important;}
.studio-nav-btn{grid-template-columns:32px 1fr!important;gap:8px!important;border-radius:13px!important;padding:8px!important;}
.studio-nav-btn>span{width:30px!important;height:30px!important;border-radius:10px!important;font-size:14px!important;}
.studio-nav-btn strong{font-size:12px!important;}
.studio-nav-btn small{font-size:10px!important;}
.studio-open-site{padding:10px!important;border-radius:13px!important;font-size:12px!important;}
.studio-dashboard.rail-collapsed{grid-template-columns:1fr!important;}
.studio-dashboard.rail-collapsed .studio-rail{display:none!important;}
.studio-title-row{display:flex;align-items:center;gap:12px;}
.builder-mode-switch{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
.builder-mode-btn{border:1px solid #ead7e8;background:#fff;color:#4b0f45;border-radius:999px;padding:9px 12px;font-weight:950;cursor:pointer;box-shadow:0 8px 18px rgba(75,15,69,.06);}
.builder-mode-btn.active{background:#79196f;color:#fff;border-color:#79196f;}
.builder-html-mode-note{border:1px dashed #cfa8cb;background:#fff7fd;color:#4b0f45;border-radius:18px;padding:14px;margin-top:14px;font-weight:850;}
.page-html-live[readonly]{background:#f7f7f9;color:#344054;}
.builder-app.mode-html .builder-live-block{border-style:solid;}
.preview-fullscreen .builder-preview-controls{height:auto!important;min-height:58px!important;flex:0 0 auto!important;display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:8px!important;overflow-x:auto!important;}
.preview-fullscreen .builder-live-shell{height:auto!important;min-height:0!important;flex:1 1 auto!important;align-items:flex-start!important;}
.preview-fullscreen .builder-device-frame{transform:scale(var(--preview-zoom,1))!important;transform-origin:top center!important;margin-bottom:calc((1 - var(--preview-zoom,1)) * -1000px)!important;}
.preview-fullscreen .builder-preview-site{box-shadow:0 30px 90px rgba(0,0,0,.48)!important;}
.preview-fullscreen .builder-device-frame.device-desktop{width:1440px!important;min-height:1000px!important;}
.preview-fullscreen .builder-device-frame.device-tablet{width:820px!important;min-height:1108px!important;}
.preview-fullscreen .builder-device-frame.device-mobile{width:430px!important;min-height:910px!important;}
@media(max-width:1200px){.studio-dashboard{grid-template-columns:1fr!important}.studio-rail{position:relative!important;min-height:auto!important}.studio-dashboard:not(.rail-collapsed) .studio-rail{display:flex!important}.studio-dashboard.rail-collapsed .studio-rail{display:none!important}}

/* v11 final preview correction: true-size preview, one HTML editor, compact dashboard UI */
.studio-dashboard .btn,
.builder-app .btn,
.modal .btn,
.studio-dashboard button:not(.floating-contact-main):not(.close):not(.mobile-menu-btn) {
  min-height:34px;
  padding:7px 11px;
  border-radius:10px;
  font-size:12px;
  line-height:1.15;
}
.builder-app .btn.full{min-height:38px;padding:8px 10px;border-radius:13px;}
.builder-app{grid-template-columns:250px minmax(640px,1fr) 310px!important;gap:12px!important;}
.builder-app.pages-collapsed{grid-template-columns:34px minmax(740px,1fr) 310px!important;}
.builder-app.inspector-collapsed{grid-template-columns:250px minmax(740px,1fr) 34px!important;}
.builder-app.pages-collapsed.inspector-collapsed{grid-template-columns:34px minmax(820px,1fr) 34px!important;}
.builder-app-pages,.builder-app-canvas,.builder-app-inspector{border-radius:18px!important;padding:14px!important;}
.builder-app-pages{max-height:calc(100vh - 28px)!important;}
.builder-app-pages .panel-title.compact{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;margin-bottom:8px;}
.builder-app-pages .panel-title h3{font-size:18px;margin:0 0 4px;}
.builder-app-pages .panel-title p{font-size:12px;line-height:1.35;margin:0;}
.builder-page-tree{gap:5px!important;margin:10px 0!important;max-height:calc(100vh - 250px)!important;padding:2px!important;}
.builder-page-item{border-radius:12px!important;padding:8px 9px!important;padding-left:calc(9px + (var(--depth,0) * 14px))!important;gap:1px!important;box-shadow:none!important;}
.builder-page-item:hover,.builder-page-item.active{transform:none!important;box-shadow:0 6px 14px rgba(121,25,111,.08)!important;}
.builder-page-item span{font-size:13px!important;line-height:1.25!important;}
.builder-page-item small{font-size:11px!important;line-height:1.25!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.builder-page-actions{gap:6px!important;}
.builder-app-toolbar{padding:12px!important;border-radius:16px!important;margin-bottom:10px!important;}
.builder-app-toolbar h2{font-size:21px!important;line-height:1.15!important;}
.builder-tool-palette{gap:5px!important;}
.builder-tool{padding:6px 9px!important;border-radius:999px!important;font-size:11px!important;}
.builder-mode-btn{padding:7px 10px!important;font-size:12px!important;}
.builder-preview-controls{padding:7px 8px!important;margin-bottom:8px!important;border-radius:14px!important;gap:6px!important;}
.builder-preview-controls .btn{min-height:30px!important;padding:6px 9px!important;font-size:11px!important;}
.builder-block-list{gap:8px!important;margin-top:10px!important;}
.builder-canvas-block{border-radius:16px!important;padding:10px!important;}
.builder-block-top{gap:7px!important;padding-bottom:7px!important;margin-bottom:8px!important;}
.builder-mini-preview{padding:9px!important;border-radius:13px!important;}
.builder-bottom-html{display:none!important;}
.builder-app.mode-html .builder-bottom-html.single-html-editor{display:block!important;margin-top:12px!important;}
.builder-app.mode-smart .inspector-html-under,
.builder-app.mode-html .inspector-html-under{display:none!important;}
.builder-app.mode-smart .page-html-inline-form{display:none!important;}
.builder-live-shell{
  min-height:620px!important;
  background:#dfe3eb!important;
  padding:18px!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  overflow:auto!important;
  border-radius:18px!important;
}
.builder-device-zoom-wrap{position:relative;flex:0 0 auto;overflow:visible;}
.builder-device-frame{
  width:var(--preview-width)!important;
  min-height:var(--preview-height)!important;
  transform:scale(var(--preview-zoom,1))!important;
  transform-origin:top left!important;
  margin:0!important;
}
.builder-device-frame.device-desktop{width:1366px!important;min-height:900px!important;border-radius:0!important;}
.builder-device-frame.device-desktop .builder-preview-site{min-height:900px!important;border-radius:0!important;}
.builder-device-frame.device-tablet{width:820px!important;min-height:1108px!important;}
.builder-device-frame.device-tablet .builder-preview-site{min-height:1024px!important;}
.builder-device-frame.device-mobile{width:430px!important;min-height:910px!important;}
.builder-device-frame.device-mobile .builder-preview-site{min-height:844px!important;}
.builder-preview-site{width:100%!important;background:#fff!important;}
.free-page-canvas{overflow:visible!important;}
.builder-live-block{cursor:move!important;}
.builder-live-block .live-drag-handle{pointer-events:auto!important;}
.preview-fullscreen{background:#111!important;overflow:hidden!important;}
.preview-fullscreen .builder-app-canvas{height:100vh!important;min-height:100vh!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;}
.preview-fullscreen .builder-preview-controls{position:sticky!important;top:0!important;z-index:100!important;background:#111!important;border-radius:0!important;border:0!important;color:#fff!important;min-height:46px!important;padding:6px 10px!important;}
.preview-fullscreen .builder-live-shell{height:auto!important;min-height:0!important;flex:1 1 auto!important;padding:18px!important;overflow:auto!important;justify-content:flex-start!important;align-items:flex-start!important;background:#151923!important;border-radius:0!important;border:0!important;}
.preview-fullscreen .builder-device-zoom-wrap{margin:0 auto 80px 0!important;}
.preview-fullscreen .builder-device-frame{margin:0!important;}
.preview-fullscreen .builder-preview-site{box-shadow:0 22px 70px rgba(0,0,0,.45)!important;}
.preview-fullscreen .builder-device-frame.device-desktop{width:1366px!important;min-height:900px!important;}
.preview-fullscreen .builder-device-frame.device-desktop .builder-preview-site{min-height:900px!important;}
.preview-fullscreen .builder-device-frame.device-tablet{width:820px!important;min-height:1108px!important;}
.preview-fullscreen .builder-device-frame.device-mobile{width:430px!important;min-height:910px!important;}
.preview-fullscreen .free-page-canvas{min-height:900px!important;}
.preview-fullscreen .builder-app-pages,
.preview-fullscreen .builder-app-inspector,
.preview-fullscreen .builder-app-toolbar,
.preview-fullscreen .builder-block-list,
.preview-fullscreen .builder-bottom-html{display:none!important;}
@media(max-width:1200px){
  .builder-app{grid-template-columns:1fr!important;}
  .builder-app-pages,.builder-app-inspector{position:relative!important;top:auto!important;max-height:none!important;}
  .preview-fullscreen{grid-template-columns:1fr!important;}
  .preview-fullscreen .builder-live-shell{padding:12px!important;}
}


/* v12 final builder refinement: compact dashboard, realistic full-page preview, no bold dashboard text */
.studio-dashboard, .studio-dashboard *, .builder-app, .builder-app * { font-weight: 400 !important; }
.studio-dashboard h1, .studio-dashboard h2, .studio-dashboard h3,
.builder-app h1, .builder-app h2, .builder-app h3 { font-weight: 520 !important; }
.studio-dashboard .btn, .builder-app .btn, .builder-tool, .builder-mode-btn { font-weight: 520 !important; }
.builder-page-item span { font-weight: 400 !important; }
.builder-page-item { min-height: 46px !important; padding: 7px 9px !important; }
.builder-page-tree { gap: 4px !important; }
.builder-page-actions .btn { min-height: 32px !important; padding: 6px 9px !important; }
.builder-app-pages .panel-title p { max-width: 150px; }
.builder-page-quick-actions { display:flex; gap:5px; flex-wrap:wrap; justify-content:flex-end; }
.builder-toolbar-actions { gap: 7px !important; }
.builder-tool-palette { max-width: 540px; }
.builder-tool, .builder-mode-btn { min-height: 28px !important; padding: 5px 8px !important; font-size: 11px !important; }
.builder-save-actions .btn { min-height: 30px !important; padding: 6px 9px !important; }
.builder-app-toolbar { align-items:flex-start !important; }
.builder-live-shell { width:100% !important; min-height: 680px !important; overflow:auto !important; }
.builder-device-zoom-wrap { display:block !important; }
.builder-device-frame { width: var(--preview-width) !important; min-height: var(--preview-height) !important; height:auto !important; overflow:visible !important; transform:scale(var(--preview-zoom,1)) !important; transform-origin: top left !important; }
.builder-preview-site { width:100% !important; min-height: var(--preview-height) !important; height:auto !important; overflow:visible !important; }
.builder-device-frame.device-desktop { width:1366px !important; min-height:900px !important; }
.builder-device-frame.device-tablet { width:768px !important; min-height:1024px !important; border-radius:34px !important; border:14px solid #111827 !important; background:#fff !important; }
.builder-device-frame.device-mobile { width:390px !important; min-height:844px !important; border-radius:38px !important; border:14px solid #111827 !important; background:#fff !important; }
.builder-device-frame.device-tablet .builder-preview-site { min-height:1024px !important; border-radius:20px !important; overflow:visible !important; }
.builder-device-frame.device-mobile .builder-preview-site { min-height:844px !important; border-radius:24px !important; overflow:visible !important; }
.builder-device-frame.device-mobile:before { content:''; position:absolute; top:8px; left:50%; transform:translateX(-50%); width:84px; height:5px; border-radius:999px; background:#111827; z-index:6; }
.builder-device-frame.device-mobile { position:relative !important; }
.free-page-canvas { min-height:1200px !important; position:relative !important; }
.free-page-block { position:absolute !important; }
.preview-fullscreen .builder-live-shell { padding:18px !important; overflow:auto !important; align-items:flex-start !important; justify-content:flex-start !important; }
.preview-fullscreen .builder-device-zoom-wrap { margin:0 auto 120px 0 !important; }
.preview-fullscreen .builder-device-frame { height:auto !important; overflow:visible !important; }
.preview-fullscreen .builder-preview-controls .btn,
.preview-fullscreen .builder-preview-controls button { pointer-events:auto !important; }
.preview-fullscreen .builder-preview-controls { z-index:10000 !important; }
.access-denied-card { max-width: 760px; margin: 0 auto; text-align:center; }
@media(max-width:1200px){ .builder-app-toolbar{flex-direction:column!important}.builder-toolbar-actions{justify-items:start!important}.builder-page-quick-actions{justify-content:flex-start!important} }


/* v13 repair: no page-panel horizontal slider, safer fullscreen, no whole-section dragging */
.builder-app-pages,
.builder-page-tree,
.builder-page-item {
  overflow-x: hidden !important;
  max-width: 100% !important;
}
.builder-page-actions,
.builder-page-quick-actions {
  display: none !important;
}
.builder-page-item {
  grid-template-columns: minmax(0,1fr) !important;
  white-space: normal !important;
}
.builder-page-item span,
.builder-page-item small {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.builder-live-block.section-container-block {
  cursor: default !important;
  outline-style: dashed !important;
}
.builder-live-block.section-container-block * {
  user-select: auto !important;
}
.builder-live-block.section-container-block .live-drag-handle {
  display: none !important;
}
.builder-preview-site a,
.builder-preview-site button,
.builder-preview-site [data-go],
.builder-preview-site [data-link] {
  cursor: grab !important;
}
.builder-live-block.moving,
.builder-live-block.moving * {
  cursor: grabbing !important;
}
.preview-fullscreen {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 2147483000 !important;
  background: #151923 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
}
.preview-fullscreen .builder-app-canvas {
  display: flex !important;
  flex-direction: column !important;
  height: 100vh !important;
  min-height: 100vh !important;
  background: #151923 !important;
}
.preview-fullscreen .builder-preview-controls {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483001 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 48px !important;
  background: #111827 !important;
  color: #fff !important;
  border-radius: 0 !important;
  overflow-x: auto !important;
}
.preview-fullscreen .builder-live-shell {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  background: #dfe3eb !important;
  overflow: auto !important;
  padding: 18px !important;
}
.preview-fullscreen .builder-device-zoom-wrap {
  background: transparent !important;
}
.preview-fullscreen .builder-preview-site {
  background: #fff !important;
  color: inherit !important;
  min-height: var(--preview-height) !important;
}
.studio-dashboard .panel-actions {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
}

/* v14 inner-drag correction: never drag/position whole sections; drag only inner text/images/buttons/links */
.builder-preview-site .builder-live-block,
.builder-preview-site .free-page-block,
.builder-preview-site .section-container-block {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  width: auto !important;
  min-height: 0 !important;
  background: transparent !important;
  border: 1px dashed transparent !important;
  border-radius: 0 !important;
  cursor: default !important;
  touch-action: auto !important;
}
.builder-preview-site .builder-live-block.active {
  outline: 2px solid rgba(121,25,111,.22) !important;
  outline-offset: -2px !important;
}
.builder-preview-site .live-drag-handle { display: none !important; }
.smart-inner {
  position: relative;
  display: block;
  max-width: 100%;
  will-change: transform;
}
.smart-inner-inline { display: inline-block; }
.builder-live-inner {
  cursor: move !important;
  touch-action: none !important;
  user-select: none !important;
  border-radius: 12px;
}
.builder-live-inner:hover {
  outline: 2px dashed rgba(121,25,111,.35);
  outline-offset: 4px;
}
.builder-live-inner.moving {
  z-index: 50;
  outline: 3px solid rgba(121,25,111,.55) !important;
  background: rgba(255,255,255,.52);
  cursor: grabbing !important;
}
.builder-preview-site a,
.builder-preview-site button,
.builder-preview-site [data-go],
.builder-preview-site [data-link] {
  cursor: move !important;
}
.builder-preview-site .section,
.builder-preview-site .hero,
.builder-preview-site .page-hero {
  overflow: visible !important;
}
.builder-preview-site .container {
  overflow: visible !important;
}

/* v15 fullscreen correction: the fullscreen preview must use the whole browser window, not the old grid columns. */
.builder-app.preview-fullscreen{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  max-width:100vw!important;
  max-height:100vh!important;
  z-index:2147483000!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:1fr!important;
  gap:0!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  background:#e9edf5!important;
  border:0!important;
  border-radius:0!important;
}
.builder-app.preview-fullscreen .builder-app-pages,
.builder-app.preview-fullscreen .builder-app-inspector,
.builder-app.preview-fullscreen .builder-app-toolbar,
.builder-app.preview-fullscreen .builder-block-list,
.builder-app.preview-fullscreen .builder-bottom-html{
  display:none!important;
}
.builder-app.preview-fullscreen .builder-app-canvas{
  grid-column:1 / -1!important;
  grid-row:1 / -1!important;
  width:100vw!important;
  height:100vh!important;
  max-width:100vw!important;
  max-height:100vh!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#e9edf5!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
.builder-app.preview-fullscreen .builder-preview-controls{
  flex:0 0 auto!important;
  width:100%!important;
  min-height:54px!important;
  max-height:none!important;
  margin:0!important;
  padding:8px 12px!important;
  border:0!important;
  border-bottom:1px solid #d8dde8!important;
  border-radius:0!important;
  background:#fff!important;
  color:#281126!important;
  position:relative!important;
  top:auto!important;
  z-index:2147483001!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  overflow:visible!important;
  box-shadow:0 10px 30px rgba(16,24,40,.10)!important;
}
.builder-app.preview-fullscreen .builder-preview-controls span{color:#281126!important;}
.builder-app.preview-fullscreen .builder-preview-controls .btn,
.builder-app.preview-fullscreen .builder-preview-controls button{
  pointer-events:auto!important;
  background:#fff!important;
  color:#3b0d36!important;
  border:1px solid #e4d9e5!important;
  min-height:30px!important;
  padding:6px 10px!important;
  border-radius:12px!important;
  font-size:12px!important;
}
.builder-app.preview-fullscreen .builder-preview-controls .btn.active,
.builder-app.preview-fullscreen .builder-preview-controls .device-switcher .active{
  background:#79196f!important;
  color:#fff!important;
  border-color:#79196f!important;
}
.builder-app.preview-fullscreen .builder-live-shell{
  flex:1 1 auto!important;
  width:100vw!important;
  height:auto!important;
  min-height:0!important;
  max-width:100vw!important;
  padding:24px!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:#e9edf5!important;
  overflow:auto!important;
  display:block!important;
  box-sizing:border-box!important;
}
.builder-app.preview-fullscreen .builder-device-zoom-wrap{
  display:block!important;
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
  margin:0 auto 100px 0!important;
  padding:0!important;
  overflow:visible!important;
  background:transparent!important;
}
.builder-app.preview-fullscreen .builder-device-frame{
  display:block!important;
  width:var(--preview-width)!important;
  min-width:var(--preview-width)!important;
  max-width:none!important;
  height:auto!important;
  min-height:var(--preview-height)!important;
  transform:scale(var(--preview-zoom,1))!important;
  transform-origin:top left!important;
  margin:0!important;
  background:#fff!important;
  overflow:visible!important;
}
.builder-app.preview-fullscreen .builder-preview-site{
  width:100%!important;
  min-height:var(--preview-height)!important;
  height:auto!important;
  overflow:visible!important;
  background:#fff!important;
  color:inherit!important;
  box-shadow:0 24px 80px rgba(16,24,40,.24)!important;
}
.builder-app.preview-fullscreen .builder-device-frame.device-desktop{
  --preview-width:1366px!important;
  --preview-height:900px!important;
  width:1366px!important;
  min-width:1366px!important;
  min-height:900px!important;
  border:0!important;
  border-radius:0!important;
}
.builder-app.preview-fullscreen .builder-device-frame.device-tablet{
  --preview-width:768px!important;
  --preview-height:1024px!important;
  width:768px!important;
  min-width:768px!important;
  min-height:1024px!important;
  border:14px solid #111827!important;
  border-radius:34px!important;
}
.builder-app.preview-fullscreen .builder-device-frame.device-mobile{
  --preview-width:390px!important;
  --preview-height:844px!important;
  width:390px!important;
  min-width:390px!important;
  min-height:844px!important;
  border:14px solid #111827!important;
  border-radius:38px!important;
}
.builder-app.preview-fullscreen .builder-device-frame.device-tablet .builder-preview-site{min-height:1024px!important;border-radius:20px!important;}
.builder-app.preview-fullscreen .builder-device-frame.device-mobile .builder-preview-site{min-height:844px!important;border-radius:24px!important;}
.builder-app.preview-fullscreen .builder-preview-site a,
.builder-app.preview-fullscreen .builder-preview-site button,
.builder-app.preview-fullscreen .builder-preview-site [data-go],
.builder-app.preview-fullscreen .builder-preview-site [data-link]{
  cursor:move!important;
}

/* v16 launch-prep polish */
.logo-brand{display:flex;align-items:center;gap:10px;color:#fff!important;text-decoration:none;min-width:210px;}
.logo-brand .brand-emblem{width:46px;height:46px;border-radius:14px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.12);display:grid;place-items:center;font-size:23px;line-height:1;}
.logo-brand .brand-wordmark{display:grid;gap:0;line-height:.86;letter-spacing:.12em;color:#fff;text-transform:uppercase;font-weight:700;}
.logo-brand .brand-wordmark span:first-child{font-size:22px;letter-spacing:.13em;}
.logo-brand .brand-wordmark span:nth-child(2){font-size:17px;letter-spacing:.34em;}
.logo-brand .brand-wordmark small{font-size:10px;letter-spacing:0;text-transform:none;color:rgba(255,255,255,.78);margin-top:6px;}
.preview-navbar .logo-brand{min-width:210px;transform:scale(.88);transform-origin:left center;}
.builder-device-frame.device-mobile .logo-brand{min-width:150px;gap:7px;}
.builder-device-frame.device-mobile .brand-emblem{width:34px;height:34px;font-size:16px;border-radius:10px;}
.builder-device-frame.device-mobile .brand-wordmark span:first-child{font-size:15px;}
.builder-device-frame.device-mobile .brand-wordmark span:nth-child(2){font-size:12px;letter-spacing:.24em;}
.builder-device-frame.device-mobile .brand-wordmark small{font-size:8px;margin-top:4px;}

.course-lesson-row.active,
.course-sidebar .active,
.lesson-row.active{background:#fbecfb!important;color:#2b0a28!important;box-shadow:inset 3px 0 0 #d28acd!important;}
.course-lesson-row.active:hover,
.course-sidebar .active:hover,
.lesson-row.active:hover{background:#f7e1f7!important;}
.course-lesson-row.active *{color:#2b0a28!important;}

.studio-dashboard strong,.builder-app strong,.studio-dashboard b,.builder-app b{font-weight:500!important;}
.studio-dashboard h1,.studio-dashboard h2,.studio-dashboard h3,.studio-dashboard h4,
.builder-app h1,.builder-app h2,.builder-app h3,.builder-app h4{font-weight:520!important;}
.studio-dashboard .btn,.builder-app .btn,.builder-tool,.builder-mode-btn,.page-drill-btn,.template-pill{font-weight:500!important;}
.studio-dashboard .btn,.builder-app .btn{min-height:34px!important;padding:7px 11px!important;border-radius:11px!important;font-size:13px!important;}

.builder-page-tree{overflow-x:hidden!important;max-height:calc(100vh - 270px)!important;padding-right:2px!important;}
.builder-page-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:6px!important;margin:4px 0!important;}
.builder-page-item{width:100%!important;text-align:left!important;border:1px solid #eee4ef!important;background:#fff!important;border-radius:13px!important;padding:7px 9px!important;min-height:40px!important;box-shadow:none!important;}
.builder-page-item.active,.builder-page-row.active .builder-page-item{background:#fff7fd!important;border-color:#e8c7e5!important;color:#351230!important;}
.builder-page-item span{display:block!important;font-size:13px!important;font-weight:400!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.builder-page-item small{display:block!important;font-size:11px!important;color:#667085!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.page-drill-btn{border:1px solid #ead7e8!important;background:#fff6fd!important;color:#79196f!important;border-radius:11px!important;padding:6px 8px!important;min-width:42px!important;min-height:34px!important;}
.page-layer-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;border:1px solid #f0e3ef!important;background:#fffaff!important;border-radius:14px!important;padding:8px 10px!important;margin:8px 0!important;}
.page-layer-head span{display:block!important;font-size:10px!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:#9b6a96!important;}
.page-layer-head strong{display:block!important;font-size:13px!important;color:#3b1236!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:190px!important;}
.builder-layer-actions{display:flex!important;gap:6px!important;flex-wrap:wrap!important;margin-top:8px!important;}
.builder-layer-actions .btn{flex:1 1 auto!important;min-width:100px!important;}
.command-actions-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
.command-actions-grid .full{grid-column:1/-1!important;}
.course-map-list{display:grid!important;gap:8px!important;}
.course-map-row{border:1px solid #efe3ef!important;border-radius:15px!important;background:#fff!important;overflow:hidden!important;}
.course-map-main{width:100%!important;border:0!important;background:#fff7fd!important;color:#4b0f45!important;padding:10px 12px!important;text-align:left!important;display:flex!important;justify-content:space-between!important;gap:10px!important;cursor:pointer!important;}
.course-map-main span{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.course-map-lessons{padding:8px 12px 12px!important;display:grid!important;gap:5px!important;background:#fff!important;}
.course-map-lessons button{border:0!important;background:#f8f4f8!important;border-radius:10px!important;padding:7px 9px!important;text-align:left!important;color:#4b0f45!important;cursor:pointer!important;}
.certificate-template-strip{display:flex!important;gap:8px!important;overflow:auto!important;margin:10px 0 16px!important;padding-bottom:4px!important;}
.template-pill{border:1px solid #ead7e8!important;background:#fff!important;color:#4b0f45!important;border-radius:14px!important;padding:8px 10px!important;min-width:160px!important;text-align:left!important;display:grid!important;gap:2px!important;}
.template-pill small{color:#8b6c87!important;font-size:11px!important;}
.home-faq-mini{padding:0!important;}
.home-faq-mini .section-head{margin-bottom:18px!important;}
@media(max-width:760px){.logo-brand{min-width:170px}.logo-brand .brand-wordmark span:first-child{font-size:17px}.logo-brand .brand-wordmark span:nth-child(2){font-size:13px}.logo-brand .brand-emblem{width:38px;height:38px}.command-actions-grid{grid-template-columns:1fr!important}}

/* v17 pre-D1 polish */
.studio-dashboard .btn,
.builder-app .btn,
.modal .btn,
.command-actions-grid .btn,
.panel-actions .btn,
.table .btn{
  min-height:30px!important;
  padding:6px 10px!important;
  border-radius:10px!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:500!important;
}
.studio-dashboard h1,.studio-dashboard h2,.studio-dashboard h3,.studio-dashboard h4,
.builder-app h1,.builder-app h2,.builder-app h3,.builder-app h4,
.modal h1,.modal h2,.modal h3,.modal h4{font-weight:520!important;}
.template-browser{margin:12px 0 18px!important;}
.template-browser h4{margin:0 0 10px!important;color:#4b0f45!important;}
.footer-builder-grid{display:grid!important;grid-template-columns:minmax(0,1.75fr) minmax(260px,.85fr)!important;gap:18px!important;align-items:start!important;}
.footer-text-panel textarea{min-height:118px!important;}
.footer-columns-panel .table{min-width:720px!important;}
.form [hidden]{display:none!important;}
.command-card .command-actions-grid .btn{justify-content:center!important;}
.modal .close{min-width:32px!important;min-height:32px!important;padding:4px 9px!important;}
@media(max-width:980px){.footer-builder-grid{grid-template-columns:1fr!important;}}

/* v18 final launch polish */
.announcement-strip{background:#fff7fd;border-top:1px solid #ead7e8;border-bottom:1px solid #ead7e8;padding:18px 0;}
.announcement-strip .container{display:grid;grid-template-columns:220px 1fr;gap:16px;align-items:center;}
.announcement-head span{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:#79196f;}
.announcement-head strong{display:block;font-size:18px;color:#2b0a28;font-weight:600!important;}
.announcement-list{display:flex;gap:10px;overflow:auto;padding-bottom:3px;}
.announcement-card{min-width:230px;border:1px solid #ead7e8;background:#fff;border-radius:16px;padding:10px 12px;text-align:left;cursor:pointer;color:#2b0a28;box-shadow:0 10px 22px rgba(121,25,111,.08);}
.announcement-card span,.announcement-card small{display:block;color:#8f6b8a;font-size:12px;}
.announcement-card strong{display:block;font-size:14px;margin:4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media(max-width:760px){.announcement-strip .container{grid-template-columns:1fr}.announcement-card{min-width:210px}}

.studio-rail{height:100vh!important;max-height:100vh!important;overflow:hidden!important;}
.studio-nav{min-height:0!important;overflow:auto!important;padding-bottom:8px!important;}
.studio-open-site{flex:0 0 auto!important;position:sticky!important;bottom:0!important;border:1px solid rgba(255,255,255,.22)!important;background:#fff!important;color:#4b0f45!important;border-radius:14px!important;padding:10px 12px!important;font-size:13px!important;font-weight:600!important;box-shadow:0 -10px 24px rgba(20,8,18,.18)!important;cursor:pointer!important;}

.builder-app:not(.preview-fullscreen) .builder-live-shell{width:100%!important;min-height:560px!important;max-height:72vh!important;overflow-y:auto!important;overflow-x:hidden!important;background:#e9edf5!important;padding:16px!important;display:flex!important;justify-content:center!important;align-items:flex-start!important;box-sizing:border-box!important;}
.builder-app:not(.preview-fullscreen) .builder-device-zoom-wrap{margin:0 auto 60px!important;max-width:100%!important;overflow:visible!important;}
.builder-app:not(.preview-fullscreen) .builder-device-frame{transform:scale(var(--preview-zoom,1))!important;transform-origin:top center!important;box-shadow:0 18px 55px rgba(16,24,40,.18)!important;background:#fff!important;}
.builder-app:not(.preview-fullscreen) .builder-device-frame.device-desktop{border-radius:8px!important;border:0!important;}
.builder-app:not(.preview-fullscreen) .builder-preview-site{background:#fff!important;min-height:var(--preview-height)!important;overflow:visible!important;}
.builder-app:not(.preview-fullscreen) .builder-preview-controls .btn[disabled]{opacity:.45!important;}

.builder-page-tree{padding-bottom:72px!important;}
.builder-layer-actions.fixed-actions{position:sticky!important;bottom:0!important;background:#fff!important;border-top:1px solid #f0e3ef!important;padding:8px 0 0!important;margin-top:0!important;z-index:5!important;}
.builder-layer-actions.fixed-actions:empty{display:none!important;}
.builder-layer-actions.fixed-actions .btn{flex:1 1 100%!important;}
.page-layer-head{min-height:48px!important;}
.page-layer-head strong{max-width:205px!important;}

.form .muted.small{font-size:11px!important;}
#programForm [data-payment-visible][hidden]{display:none!important;}
.modal .form .btn{width:auto!important;}
.course-map-main div{min-width:0!important;}
.course-map-main strong,.course-map-main small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.builder-app:not(.preview-fullscreen) .builder-device-frame{transform-origin:top left!important;}

/* v20 final lesson/platform touch */
.course-lesson-row.active{background:#f8eafa!important;color:#2b0a28!important;box-shadow:inset 4px 0 0 #b65aad!important;}
.course-lesson-row.active:hover{background:#f3dff1!important;}
.course-lesson-row.active .course-status-dot{background:#79196f!important;color:#fff!important;}
.builder-page-tree{overflow-x:hidden!important;}
.builder-app-pages{overflow-x:hidden!important;}
.builder-page-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;}
.builder-page-item{min-width:0!important;overflow:hidden;}
.builder-page-item span,.builder-page-item small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;}
.builder-layer-actions.fixed-actions{left:0;right:0;}


/* v21 final builder preview + lesson HTML polish */
.builder-app:not(.preview-fullscreen) .builder-live-shell{
  overflow-x:auto!important;
  overflow-y:auto!important;
  padding:18px 18px 64px!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  scrollbar-gutter:stable both-edges!important;
}
.builder-app:not(.preview-fullscreen) .builder-device-zoom-wrap{
  flex:0 0 auto!important;
  max-width:none!important;
  margin:0 auto 72px!important;
}
.builder-app:not(.preview-fullscreen) .builder-device-frame{
  transform-origin:top left!important;
}
.builder-app:not(.preview-fullscreen) .builder-preview-site{
  width:var(--preview-width)!important;
  min-width:var(--preview-width)!important;
  overflow:visible!important;
}
.builder-app:not(.preview-fullscreen) .builder-device-frame.device-desktop{
  width:1366px!important;
  min-width:1366px!important;
}
.builder-app:not(.preview-fullscreen) .builder-device-frame.device-tablet{
  width:820px!important;
  min-width:820px!important;
}
.builder-app:not(.preview-fullscreen) .builder-device-frame.device-mobile{
  width:430px!important;
  min-width:430px!important;
}
.builder-app.preview-fullscreen .builder-live-shell{
  overflow:auto!important;
  padding:18px 18px 96px!important;
  scrollbar-gutter:stable both-edges!important;
}
.builder-app.preview-fullscreen .builder-device-zoom-wrap{
  margin:0 auto 120px 0!important;
}
.builder-preview-site a,
.builder-preview-site button,
.builder-preview-site [data-go],
.builder-preview-site [data-link]{
  -webkit-user-drag:none!important;
}
.builder-preview-site [data-live-inner] a,
.builder-preview-site [data-live-inner] button,
.builder-preview-site [data-live-inner] [data-go],
.builder-preview-site [data-live-inner] [data-link]{
  cursor:move!important;
}
.builder-course-preview .course-topbar,
.builder-course-preview .course-sidebar,
.builder-course-preview .course-title-row{
  user-select:none!important;
}
.builder-course-preview .course-topbar *,
.builder-course-preview .course-sidebar *,
.builder-course-preview .course-title-row *{
  cursor:default!important;
}
.builder-course-preview .lesson-builder-content [data-live-inner],
.builder-course-preview .lesson-builder-content [data-live-inner] *{
  cursor:move!important;
}
.builder-course-preview .course-sidebar .course-lesson-row.active{
  background:#f8eafa!important;
  color:#2b0a28!important;
}
.mode-html .builder-app-inspector{display:block!important;}
.mode-html .builder-bottom-html.single-html-editor{display:block!important;}

/* v24 Pure HTML mode correction: the code editor replaces the smart block editor. */
.builder-app.mode-html .builder-pure-html-workspace{
  display:grid!important;
  grid-template-columns:minmax(420px,1.05fr) minmax(360px,.95fr)!important;
  gap:14px!important;
  align-items:start!important;
}
.builder-app.mode-html .builder-pure-html-editor,
.builder-app.mode-html .builder-html-preview-card{
  display:block!important;
  background:#fff!important;
  border:1px solid #e7dce8!important;
  border-radius:18px!important;
  padding:14px!important;
  box-shadow:0 14px 36px rgba(16,24,40,.06)!important;
}
.builder-app.mode-html .builder-pure-html-editor .page-html-live{
  min-height:62vh!important;
  resize:vertical!important;
  font-size:13px!important;
  line-height:1.55!important;
  background:#10131a!important;
  color:#f4f7fb!important;
  border-color:#2c3442!important;
}
.builder-app.mode-html .builder-pure-html-editor .page-html-live:focus{
  outline:3px solid rgba(121,25,111,.22)!important;
  border-color:#79196f!important;
}
.builder-html-preview-title{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:12px!important;
  margin-bottom:10px!important;
}
.builder-app.mode-html .html-mode-preview{
  min-height:520px!important;
  max-height:64vh!important;
}
.builder-app.mode-html .builder-tool-palette{
  max-width:360px!important;
}
.builder-app.mode-html .page-html-inline-form .two-col{
  grid-template-columns:1fr 1fr!important;
}
@media(max-width:1250px){
  .builder-app.mode-html .builder-pure-html-workspace{grid-template-columns:1fr!important;}
  .builder-app.mode-html .builder-pure-html-editor .page-html-live{min-height:520px!important;}
}

/* v25 Pure HTML vertical editor fix: preview first, full code editor underneath, no inspector. */
.builder-app.mode-html{
  grid-template-columns:250px minmax(740px,1fr)!important;
}
.builder-app.mode-html.pages-collapsed{
  grid-template-columns:34px minmax(820px,1fr)!important;
}
.builder-app.mode-html .builder-app-inspector{
  display:none!important;
}
.builder-app.mode-html .builder-pure-html-workspace{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:16px!important;
  align-items:start!important;
}
.builder-app.mode-html .builder-html-preview-card{
  order:1!important;
}
.builder-app.mode-html .builder-pure-html-editor{
  order:2!important;
  margin-top:0!important;
}
.builder-app.mode-html .builder-pure-html-editor .field label{
  display:block!important;
  padding-top:2px!important;
}
.builder-app.mode-html .builder-pure-html-editor .page-html-live{
  width:100%!important;
  min-height:560px!important;
}
.builder-app.mode-html .html-mode-preview{
  min-height:460px!important;
  max-height:62vh!important;
}
.builder-app.mode-html.preview-fullscreen{
  grid-template-columns:1fr!important;
}
.builder-app.mode-html.preview-fullscreen .builder-app-pages,
.builder-app.mode-html.preview-fullscreen .builder-app-inspector,
.builder-app.mode-html.preview-fullscreen .builder-toolbar-actions,
.builder-app.mode-html.preview-fullscreen .builder-pure-html-editor{
  display:none!important;
}
@media(max-width:1200px){
  .builder-app.mode-html,
  .builder-app.mode-html.pages-collapsed{
    grid-template-columns:1fr!important;
  }
}

/* v34 course/lesson curriculum, templates, statistics, and owner controls */
.admin-subtabs{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px;padding:10px;background:#faf5fb;border:1px solid #ead6e8;border-radius:18px}.admin-subtabs .active{background:#79196f!important;color:#fff!important;border-color:#79196f!important}.course-public-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:28px;align-items:center}.course-public-page .course-public-builder-section>.section:first-child{margin-top:0}.course-curriculum-section{background:#fff}.course-curriculum-wide{display:grid;gap:16px;background:#fdf8fc;border:1px solid #ead6e8;border-radius:24px;padding:18px;box-shadow:0 18px 40px rgba(42,15,45,.07)}.course-curriculum-wide .course-side-section{background:#fff;border:1px solid #eee;border-radius:20px;padding:14px}.curriculum-lesson-line{display:grid;gap:8px}.course-lesson-row-wrap{position:relative}.course-row-admin{display:flex;gap:4px;margin:4px 0 8px 38px}.course-row-admin button{border:1px solid #ead6e8;background:#fff;border-radius:9px;padding:3px 8px;cursor:pointer}.course-lesson-row.draft{opacity:.62;border-style:dashed!important}.public-chip,.locked-chip{margin-inline-start:auto;font-size:11px;border-radius:999px;padding:3px 8px;background:#f7edf6;color:#79196f;font-weight:800}.locked-chip{background:#f3f4f6;color:#6b7280}.lesson-owner-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:#fff8fd;border:1px solid #ead6e8;border-radius:18px;padding:10px 12px;margin:0 0 14px}.select.tiny{width:auto;min-width:135px;padding:7px 9px;border-radius:10px}.course-empty-curriculum{padding:28px;border:1px dashed #d9b9d6;border-radius:18px;background:#fff;text-align:center}.course-platform-landing{border-radius:0 0 24px 24px}.compact-program-card .program-body{min-height:220px}.course-nav-template-compact.course-sidebar,.course-curriculum-wide.course-nav-template-compact{gap:8px}.course-nav-template-compact .course-lesson-row{padding:8px 10px!important;font-size:13px}.course-nav-template-academic.course-sidebar,.course-curriculum-wide.course-nav-template-academic{background:#fff;border:2px solid #79196f}.course-nav-template-academic .course-side-section h3{font-family:Georgia,serif;color:#4b0f45}.course-nav-template-academic .course-lesson-row{border-left:4px solid #79196f!important}.builder-live-shell a,.builder-live-shell button,.builder-live-shell [data-go]{cursor:grab}.builder-live-inner.moving{cursor:grabbing;outline:2px dashed #79196f;outline-offset:4px}.lesson-builder-html{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}.template-browser,.course-stats-table{margin-top:14px}@media(max-width:900px){.course-public-hero{grid-template-columns:1fr}.course-curriculum-wide{padding:12px}.lesson-owner-controls{align-items:stretch}.lesson-owner-controls>*{width:100%}}

/* v35 smart course, save warnings, R2 media, and public course page polish */
.unsaved-warning-card{background:#fff;border:1px solid #ead6e8;border-radius:22px;padding:18px;box-shadow:0 22px 60px rgba(76,15,69,.14)}
.unsaved-warning-card h3{margin:0 0 8px;color:#4b0f45}.unsaved-warning-card p{margin:0 0 14px;color:#6e6070}.unsaved-warning-card .actions{display:flex;flex-wrap:wrap;gap:10px}
.product-style-card{cursor:pointer;overflow:hidden;transition:.18s ease transform,.18s ease box-shadow}.product-style-card:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(42,15,45,.12)}
.program-image-placeholder{min-height:155px;display:grid;place-items:center;text-align:center;background:linear-gradient(135deg,#79196f,#4b0f45);color:#fff}.program-image-placeholder span{font-size:13px;letter-spacing:.08em;text-transform:uppercase;opacity:.8}.program-image-placeholder strong{display:block;font-size:32px;margin-top:6px}.program-image-placeholder small{display:block;margin-top:4px;opacity:.85}
.course-sales-hero{background:#fff}.course-sales-media{min-height:280px;background:linear-gradient(135deg,#2d5ac7,#2551b8);display:grid;place-items:center;overflow:hidden}.course-sales-media img{width:100%;height:100%;max-height:520px;object-fit:cover}.course-sales-placeholder{min-height:320px;width:100%;display:grid;place-items:center;text-align:center;color:#fff}.course-sales-placeholder span{font-weight:800;letter-spacing:.08em;opacity:.8}.course-sales-placeholder strong{font-size:clamp(48px,10vw,120px);line-height:1}.course-sales-placeholder small{font-size:18px;opacity:.9}.course-sales-copy{padding:32px 20px}.course-sales-copy h1{max-width:900px}.course-sales-copy p{max-width:850px;font-size:17px;line-height:1.75;color:#6e6070}.course-sales-facts{display:flex;gap:14px;flex-wrap:wrap;margin:18px 0}.course-sales-facts span{background:#f7edf6;border:1px solid #ead6e8;color:#4b0f45;border-radius:999px;padding:8px 12px;font-weight:800;font-size:13px}
.blue-program-card{display:grid;grid-template-columns:190px 1fr auto;gap:18px;align-items:center;border:1px solid #ead6e8;border-radius:22px;background:#fff;padding:14px;box-shadow:0 12px 30px rgba(42,15,45,.07)}.blue-program-card .thumb{min-height:120px;border-radius:16px;background:linear-gradient(135deg,#79196f,#2d5ac7);display:grid;place-items:center;color:#fff;font-weight:900}.blue-program-card .go{align-self:stretch}.compact-program-card{border:1px solid #ead6e8;border-radius:22px;background:#fff;padding:16px;box-shadow:0 12px 30px rgba(42,15,45,.07)}
.media-upload-form{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;align-items:end}.media-upload-form .span-2{grid-column:span 2}.media-upload-form button{height:44px}.ja-lesson-template{background:#fff;border:1px solid #ead6e8;border-radius:24px;padding:24px;box-shadow:0 18px 40px rgba(42,15,45,.07)}.lesson-cover-placeholder,.lesson-video-placeholder{border:2px dashed #d8b8d5;background:#fbf7fb;border-radius:20px;min-height:180px;display:grid;place-items:center;text-align:center;color:#79196f;font-weight:900;margin-bottom:18px}.lesson-video-placeholder{min-height:260px;background:#111827;color:#fff;border-color:#374151}.lesson-resource-grid{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.lesson-notes{background:#f7edf6;border-radius:18px;padding:16px;margin-top:18px}.builder-preview-site [data-go],.builder-preview-site a,.builder-preview-site button{pointer-events:none!important}.builder-preview-site [data-builder-editable]{pointer-events:auto!important}
@media(max-width:900px){.blue-program-card{grid-template-columns:1fr}.media-upload-form{grid-template-columns:1fr}.media-upload-form .span-2{grid-column:auto}.course-sales-copy{padding:24px 16px}}

/* v36 public curriculum, curriculum builder, and HTML lesson-nav templates */
.public-course-curriculum{background:#2f55bf;color:#111827}.public-course-curriculum .section-head h2{color:#fff}.public-course-curriculum .section-head p{color:rgba(255,255,255,.86)}
.public-course-curriculum .course-curriculum-wide{background:transparent;border:0;box-shadow:none;border-radius:0;padding:0;max-width:1120px;margin:auto}.public-course-curriculum .course-side-section{border-radius:0;border:0;background:#fff;margin-bottom:14px;padding:0;overflow:hidden}.public-course-curriculum .course-side-section h3{margin:0;padding:18px 24px;background:#fff;color:#111827;font-weight:900}.public-course-curriculum .course-lesson-row{display:grid;grid-template-columns:120px 1fr;align-items:center;width:100%;border:0!important;border-top:1px solid #fff!important;border-radius:0!important;background:#dedee1!important;color:#111827!important;padding:14px 24px!important;text-align:inherit}.public-course-curriculum .course-lesson-row:disabled{opacity:1;cursor:default}.course-start-badge{display:inline-grid;place-items:center;background:#79196f;color:#fff;border-radius:6px;font-size:12px;font-weight:900;min-width:78px;padding:7px 10px}.public-course-curriculum .public-chip{justify-self:end;background:#fff;color:#79196f}.course-landing-page .course-frame{min-height:calc(100vh - 70px)}
.curriculum-admin-map{display:grid;gap:16px}.curriculum-admin-section{background:#fff;border:1px solid #ead6e8;border-radius:22px;overflow:hidden;box-shadow:0 14px 34px rgba(42,15,45,.06)}.curriculum-admin-head{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#faf5fb;border-bottom:1px solid #ead6e8;padding:14px 16px}.curriculum-admin-head h4{margin:0;color:#4b0f45}.curriculum-admin-row{display:grid;grid-template-columns:28px minmax(220px,1fr) minmax(180px,1fr) 130px 150px auto auto auto;gap:8px;align-items:center;padding:10px 14px;border-top:1px solid #f1e4ef}.curriculum-admin-row:first-of-type{border-top:0}.curriculum-admin-row small{color:#746475;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drag-handle{color:#79196f;font-weight:900}.compact-form{max-width:760px;margin:12px 0 18px}.preview-nav-template .course-sidebar{min-height:520px}.course-sidebar{background:#6d065e;color:#fff}.course-sidebar .course-side-section h3{color:#fff}.course-sidebar .course-lesson-row{color:#2b2230;background:#f7f7f8}.course-sidebar .course-lesson-row.active{background:#ea34d4!important;color:#25051f!important}.course-sidebar .course-lesson-row [data-go]{pointer-events:auto}
@media(max-width:1050px){.curriculum-admin-row{grid-template-columns:24px 1fr;gap:8px}.curriculum-admin-row small,.curriculum-admin-row select,.curriculum-admin-row button{grid-column:2}.public-course-curriculum .course-lesson-row{grid-template-columns:90px 1fr;padding:12px!important}}

/* V37 targeted polish */
.command-list.inline{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.command-list.inline>div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:10px 12px}.curriculum-admin-row[draggable="true"]{cursor:grab}.curriculum-admin-row.dragging{opacity:.55;outline:2px dashed var(--purple)}.certificate-groups{display:grid;gap:14px;margin-top:18px}.certificate-group{border:1px solid var(--border);border-radius:18px;background:#fff;overflow:hidden}.certificate-group>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;background:linear-gradient(135deg,#fff,#fbf1fa);color:var(--purple);font-weight:900}.certificate-group>summary span{font-size:12px;color:var(--muted);font-weight:700}.cards-head:empty{display:none}.builder-preview-block a,.builder-preview-block button{pointer-events:auto}.builder-live-inner{touch-action:none}.builder-live-inner.moving{cursor:grabbing;z-index:20;outline:2px dashed var(--purple);outline-offset:4px}

/* V38 programs and certificates stabilization */
.programs-browse-shell{background:#fff;padding:28px 0 56px;min-height:70vh}.browse-products-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.browse-products-head h1{font-size:28px;margin:0;color:#111827}.browse-products-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 18px}.searchbar.compact{min-width:300px;max-width:420px;flex:1}.select.compact{max-width:190px;height:42px;border-radius:8px}.sort-spacer{flex:1}.browse-categories-head{display:flex;justify-content:space-between;align-items:center;margin:10px 0}.filterbar.clean{background:transparent;border:0;padding:0;margin:0 0 28px}.compact-filters{display:flex;gap:10px;flex-wrap:wrap}.filter{border:1px solid #e5e7eb;background:#fff;border-radius:8px;padding:9px 14px;cursor:pointer;font-weight:700;color:#111827}.filter.active{border-color:#79196f;background:#f8eef7;color:#79196f}.link-btn{border:0;background:transparent;color:#79196f;font-weight:900;cursor:pointer;margin-top:10px}.browse-product-grid .program-card{cursor:pointer;border:1px solid #e5e7eb;border-radius:8px;box-shadow:none;overflow:hidden}.browse-product-grid .program-card:hover{border-color:#79196f;box-shadow:0 14px 36px rgba(42,15,45,.11);transform:translateY(-2px)}.browse-product-grid .program-visual{height:185px;border-radius:0;background:#79196f;overflow:hidden}.browse-product-grid .program-visual img{width:100%;height:100%;object-fit:cover}.browse-product-grid .program-body h3{font-size:16px;line-height:1.35}.browse-product-grid .program-foot .btn{min-width:160px}.certificate-group .table-wrap{border:0;border-radius:0}.certificate-result{background:#fff;border:1px solid #ead6e8;border-radius:24px;padding:22px;margin-top:18px;box-shadow:0 16px 40px rgba(42,15,45,.08)}.valid-stamp,.invalid-stamp{display:inline-flex;border-radius:999px;padding:8px 14px;font-weight:900;margin-bottom:10px}.valid-stamp{background:#dcfce7;color:#166534}.invalid-stamp{background:#fee2e2;color:#991b1b}.certificate-preview-wrap{overflow:auto;background:#f8f6f8;border:1px solid #ead6e8;border-radius:20px;padding:18px}.certificate-template-card{background:white;min-width:760px;padding:28px}.cert-border{border:8px double #79196f;padding:36px;text-align:center}.cert-qr{width:96px;height:96px}.cert-codes{display:flex;gap:24px;align-items:center;justify-content:center;margin:18px 0}.cert-barcode{height:74px;max-width:260px}
@media(max-width:800px){.browse-products-head,.browse-products-tools{align-items:stretch;flex-direction:column}.sort-spacer{display:none}.searchbar.compact,.select.compact{max-width:none;width:100%}.browse-product-grid .program-visual{height:155px}.certificate-template-card{min-width:640px}}

/* V40 curriculum section builder refinements */
.curriculum-section-help{margin:10px 0 16px;padding:12px 14px;border:1px solid #ead6e8;border-radius:16px;background:#fff8fd;color:#4b0f45}
.input.tiny{width:100%;min-width:150px;padding:7px 9px;border-radius:10px;border:1px solid #ead6e8;background:#fff;color:#2b2230}
.curriculum-admin-row{grid-template-columns:28px minmax(160px,1fr) minmax(150px,1fr) minmax(160px,1fr) minmax(150px,1fr) 126px 145px auto auto auto}
.empty.compact{padding:12px 16px;border-top:1px solid #f1e4ef;background:#fff;color:#746475}
@media(max-width:1250px){.curriculum-admin-row{grid-template-columns:24px 1fr 1fr}.curriculum-admin-row small,.curriculum-admin-row input,.curriculum-admin-row select,.curriculum-admin-row button{grid-column:auto}.curriculum-admin-row strong{grid-column:2 / -1}}
@media(max-width:760px){.curriculum-admin-row{grid-template-columns:24px 1fr}.curriculum-admin-row small,.curriculum-admin-row input,.curriculum-admin-row select,.curriculum-admin-row button{grid-column:2}.curriculum-admin-head{align-items:flex-start;flex-direction:column}}


/* v39 access/owner/course-table fixes */
.studio-top-actions .btn{white-space:nowrap}
.courses-compact-panel .table{min-width:0}
.courses-compact-panel .table th,.courses-compact-panel .table td{padding:10px 12px;font-size:13px;line-height:1.35}
.courses-compact-panel .table td:first-child{font-weight:800;color:#15111b;max-width:260px}
.courses-compact-panel .table-wrap{overflow-x:visible}
.courses-compact-panel .btn{min-height:34px;padding:8px 10px;border-radius:10px;font-size:12px}
@media (max-width:980px){.courses-compact-panel .table-wrap{overflow-x:auto}.courses-compact-panel .table{min-width:720px}}

/* v41 production public course page */
.course-public-page{background:#fff;color:#111827}
.course-public-page .section{background:#fff}
.course-sales-hero{background:#fff;padding:104px 0 10px}
.course-sales-hero>.container{width:min(1180px,calc(100% - 32px))}
.course-sales-media{width:100%;min-height:260px;aspect-ratio:16/6;background:#fff;border:1px solid #e5e7eb;display:grid;place-items:center;overflow:hidden}
.course-sales-media img{width:100%;height:100%;max-height:none;object-fit:cover;display:block}
.course-sales-placeholder{min-height:260px;width:100%;display:grid;place-items:center;text-align:center;color:#4b0f45;background:#fff}
.course-sales-placeholder span{font-weight:800;letter-spacing:.08em;opacity:.72}.course-sales-placeholder strong{font-size:clamp(44px,9vw,104px);line-height:1}.course-sales-placeholder small{font-size:18px;opacity:.76}
.course-sales-copy{padding:28px 0 12px}
.course-long-description{max-width:960px;margin:0 auto;color:#374151;font-size:17px;line-height:1.9;white-space:pre-line;unicode-bidi:plaintext}
.course-long-description[dir="rtl"],.course-long-description[dir="rtl"] p{text-align:right}.course-long-description[dir="ltr"],.course-long-description[dir="ltr"] p{text-align:left}
.course-long-description p{margin:0}
.public-course-curriculum{background:#fff!important;color:#111827}
.public-course-curriculum .section-head h2{color:#111827}.public-course-curriculum .section-head p{color:#6b7280}
.public-course-curriculum .course-curriculum-wide{background:#fff;border:0;box-shadow:none;border-radius:0;padding:0;max-width:1120px;margin:auto}
.public-course-curriculum .course-side-section{border:1px solid #e5e7eb;background:#fff;margin-bottom:14px;overflow:hidden;padding:0}
.public-course-curriculum .course-side-section h3{margin:0;padding:18px 24px;background:#fff;color:#111827;font-weight:900;text-align:start}
.public-course-curriculum .course-lesson-row{display:grid!important;grid-template-columns:minmax(0,1fr) max-content max-content;gap:18px;align-items:center;width:100%;border:0!important;border-top:1px solid #eef0f3!important;border-radius:0!important;background:#f7f7f8!important;color:#111827!important;padding:15px 24px!important;text-align:start!important;line-height:1.55}
.public-course-curriculum .course-lesson-row.dir-rtl{direction:rtl}.public-course-curriculum .course-lesson-row.dir-ltr{direction:ltr}
.public-course-curriculum .course-section-title.dir-rtl,.public-course-curriculum .course-lesson-title.dir-rtl{direction:rtl;text-align:right}
.public-course-curriculum .course-section-title.dir-ltr,.public-course-curriculum .course-lesson-title.dir-ltr{direction:ltr;text-align:left}
.public-course-curriculum .course-lesson-title{min-width:0;overflow-wrap:anywhere;word-break:normal}
.public-course-curriculum .course-start-badge{min-width:112px;white-space:nowrap;text-align:center;direction:ltr}
.public-course-curriculum .public-chip{justify-self:end;background:#fff;color:#79196f;white-space:nowrap;text-align:center;direction:ltr}
.course-access-request-page{background:#fff;min-height:70vh;padding-top:76px}.course-access-request-card{max-width:760px;margin:0 auto;background:#fff;border:1px solid #e5e7eb;padding:28px}.course-access-request-card h1{margin:0 0 10px;color:#111827}.course-access-request-card p{color:#6b7280;line-height:1.7}
@media(max-width:900px){.course-sales-hero{padding-top:92px}.course-sales-media{aspect-ratio:16/9;min-height:210px}.public-course-curriculum .course-lesson-row{grid-template-columns:minmax(0,1fr);gap:10px;padding:14px 16px!important}.public-course-curriculum .course-start-badge{justify-self:start}.public-course-curriculum .course-lesson-row.dir-rtl .course-start-badge{justify-self:end}.public-course-curriculum .public-chip{justify-self:start}.public-course-curriculum .course-lesson-row.dir-rtl .public-chip{justify-self:end}}

/* v42 launch adjustments: owner brand assets, entity blocks, image options */
.logo-brand .brand-logo-img{width:46px;height:46px;object-fit:contain;border-radius:12px;background:#fff;display:block}
.builder-device-frame.device-mobile .logo-brand .brand-logo-img{width:34px;height:34px;border-radius:9px}
.social-letter-icon{font-size:12px;font-weight:950;letter-spacing:.02em}
.builder-entity-row{background:#fff;padding:20px 0}
.builder-entity-row.builder-preview-block{min-height:72px}
.builder-text-entity-row .builder-text-block,.builder-button-entity{margin-left:auto;margin-right:auto}
.builder-button-entity{text-align:center}
.builder-button-entity.builder-align-left{text-align:left;margin-right:auto;margin-left:0}
.builder-button-entity.builder-align-right{text-align:right;margin-left:auto;margin-right:0}
.builder-image-block{margin:0 auto;background:#fff;overflow:hidden}
.builder-image-block.builder-image-framed{border:1px solid #ead7e8;border-radius:18px;padding:12px;box-shadow:0 16px 38px rgba(42,15,45,.07)}
.builder-image-block.builder-image-no-frame{border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;background:transparent!important}
.builder-image-block.builder-image-full{width:100%;max-width:100%}
.builder-image-block.builder-image-contained{width:100%}
.builder-image-block img{display:block;width:100%;max-height:640px;object-fit:cover}
.builder-image-block.builder-image-no-frame img{border-radius:0!important}
.builder-image-block.builder-image-framed img{border-radius:10px}
.builder-image-block figcaption{text-align:center;margin-top:8px;color:#8f6b8a}
.builder-image-anim-fade-up{animation:imageFadeUp .72s ease both}.builder-image-anim-zoom-in{animation:imageZoomIn .7s ease both}.builder-image-anim-slide-left{animation:imageSlideLeft .72s ease both}.builder-image-anim-soft-float{animation:imageSoftFloat 5s ease-in-out infinite}.builder-image-anim-reveal{animation:imageReveal .85s ease both}
@keyframes imageFadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes imageZoomIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes imageSlideLeft{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}@keyframes imageSoftFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes imageReveal{from{opacity:0;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@media (prefers-reduced-motion:reduce){.builder-image-block{animation:none!important}}


/* v39 preview/content visibility fix: keep real section backgrounds in the visual preview. */
.builder-preview-site .hero.purple-gradient.builder-live-block,
.builder-preview-site .page-hero.purple-gradient.builder-live-block,
.builder-preview-site section.purple-gradient.builder-live-block {
  background: radial-gradient(circle at 75% 20%,rgba(255,255,255,.12),transparent 28%),linear-gradient(135deg,var(--purple-dark),var(--purple),#8e277f) !important;
  color: #fff !important;
}
.builder-preview-site .hero.purple-gradient h1,
.builder-preview-site .hero.purple-gradient h2,
.builder-preview-site .hero.purple-gradient h3,
.builder-preview-site .hero.purple-gradient p,
.builder-preview-site .hero.purple-gradient .badge { visibility: visible !important; }
.builder-preview-site .hero.purple-gradient .smart-inner { min-height: 1em; }
.contact-details-card{display:grid;gap:12px;}
.contact-line{display:grid;grid-template-columns:42px 1fr;gap:4px 12px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:12px 14px;background:#fff;color:var(--ink);}
.contact-line:hover{border-color:var(--purple);box-shadow:0 10px 24px rgba(121,25,111,.09);transform:translateY(-1px);}
.contact-line span{grid-row:span 2;width:42px;height:42px;border-radius:14px;background:var(--purple-soft);color:var(--purple);display:grid;place-items:center;font-size:20px;}
.contact-line strong{color:var(--purple-dark);font-size:13px;}
.contact-line small{color:var(--muted);font-size:14px;line-height:1.45;word-break:break-word;}
.footer-contact-list a{color:inherit;text-decoration:underline;text-decoration-color:rgba(255,255,255,.3);text-underline-offset:3px;}
.contact-admin-preview{margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fbf8fb;display:grid;gap:8px;}
.contact-admin-preview strong{color:var(--purple-dark);}
.contact-admin-preview a{color:var(--purple);font-weight:900;}

/* v40 professional curriculum sidebar + reliable builder preview text */
.builder-preview-site .hero.purple-gradient,
.builder-preview-site .page-hero.purple-gradient,
.builder-preview-site section.purple-gradient{
  background:radial-gradient(circle at 75% 20%,rgba(255,255,255,.12),transparent 28%),linear-gradient(135deg,var(--purple-dark),var(--purple),#8e277f)!important;
  color:#fff!important;
}
.builder-preview-site .hero .container,
.builder-preview-site .hero-grid{position:relative!important;z-index:1!important;visibility:visible!important;opacity:1!important;}
.builder-preview-site .hero h1,
.builder-preview-site .hero h2,
.builder-preview-site .hero h3,
.builder-preview-site .hero p,
.builder-preview-site .hero .badge,
.builder-preview-site .hero .actions,
.builder-preview-site .hero .btn{visibility:visible!important;opacity:1!important;}
.builder-preview-site .hero h1,
.builder-preview-site .hero h2,
.builder-preview-site .hero h3{color:#fff!important;}
.builder-preview-site .hero p{color:rgba(255,255,255,.86)!important;}
.builder-preview-site .hero .badge{color:#fff!important;border-color:rgba(255,255,255,.32)!important;background:rgba(255,255,255,.14)!important;}
.builder-preview-site .hero .smart-inner{min-height:1.05em!important;}
.builder-preview-site .hero .smart-inner:has(> h1),
.builder-preview-site .hero .smart-inner:has(> h2),
.builder-preview-site .hero .smart-inner:has(> p){display:block!important;}

.course-frame{grid-template-columns:minmax(300px,360px) minmax(0,1fr)!important;min-width:0!important;background:#fff!important;}
.course-sidebar.course-nav-template-current-default,
.course-sidebar.course-nav-template-compact,
.course-sidebar.course-nav-template-academic,
.course-sidebar{
  background:linear-gradient(180deg,#6b065f 0%,#7b0b70 42%,#fbfbfd 42%,#fff 100%)!important;
  border-right:1px solid #e6d7e5!important;
  color:#1f1022!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-gutter:stable!important;
}
.course-sidebar::before{content:'Curriculum';display:block;color:#fff;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:950;padding:18px 18px 4px;opacity:.88;}
.course-sidebar .course-side-section{background:#fff!important;border:0!important;border-radius:18px!important;margin:12px 12px 16px!important;overflow:hidden!important;box-shadow:0 14px 32px rgba(42,15,45,.12)!important;}
.course-sidebar .course-side-section h3{background:#fff!important;color:#4b0f45!important;padding:14px 16px!important;font-size:13px!important;font-weight:950!important;letter-spacing:.02em!important;border-bottom:1px solid #f0e1ee!important;white-space:normal!important;line-height:1.45!important;}
.course-sidebar .course-lesson-row{display:grid!important;grid-template-columns:30px 28px minmax(0,1fr)!important;gap:8px!important;align-items:start!important;width:100%!important;min-height:auto!important;padding:13px 14px!important;background:#fff!important;color:#322137!important;border:0!important;border-top:1px solid #f2e8f1!important;border-radius:0!important;text-align:start!important;white-space:normal!important;overflow:hidden!important;line-height:1.65!important;}
.course-sidebar .course-lesson-row:hover{background:#fff7fd!important;}
.course-sidebar .course-lesson-row.active{background:linear-gradient(90deg,#f42fda 0%,#f42fda 4px,#fff0fb 4px,#fff0fb 100%)!important;color:#2a0926!important;box-shadow:none!important;}
.course-sidebar .course-status-dot{width:20px!important;height:20px!important;margin-top:2px!important;border-radius:999px!important;background:#fff!important;color:#79196f!important;border:2px solid #79196f!important;font-size:11px!important;line-height:1!important;}
.course-sidebar .course-lesson-row.active .course-status-dot{background:#79196f!important;color:#fff!important;}
.course-sidebar .course-drag{font-size:18px!important;color:#6b6f76!important;line-height:1.2!important;margin-top:1px!important;}
.course-sidebar .course-lesson-row span:last-child{min-width:0!important;overflow-wrap:anywhere!important;word-break:normal!important;}
@media(max-width:980px){.course-frame{grid-template-columns:1fr!important}.course-sidebar{position:relative!important;top:auto!important;max-height:none!important;border-right:0!important}.course-sidebar::before{background:#6b065f!important}.course-sidebar .course-side-section{margin:10px!important}}

/* Final merge: earlier builder/page-delete layout controls restored */
.builder-page-row-actions{display:flex;gap:5px;align-items:center;justify-content:flex-end;flex-wrap:wrap;min-width:max-content;}
.page-mini-btn{border:1px solid #ead6e8;background:#fff;color:#79196f;border-radius:10px;padding:5px 8px;font-size:11px;font-weight:700;cursor:pointer;line-height:1;}
.page-mini-btn:hover{background:#fbf1fa;}
.page-mini-btn.danger{border-color:#ffd1cc;background:#fff5f4;color:#b42318;}
.builder-align-left{text-align:left;}
.builder-align-center{text-align:center;}
.builder-align-right{text-align:right;}
.builder-align-center .actions,.builder-button-block.builder-align-center{justify-content:center;}
.builder-align-right .actions,.builder-button-block.builder-align-right{justify-content:flex-end;}
.builder-card-grid{display:grid;gap:18px;align-items:stretch;}
.builder-card-grid-1{grid-template-columns:1fr;}
.builder-card-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.builder-card-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.builder-card-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.builder-card-grid .smart-inner{min-width:0;}
.builder-columns-block{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch;}
.builder-columns-block .card{min-height:100%;}
.builder-device-frame.device-tablet .builder-card-grid-4,.builder-device-frame.device-tablet .builder-card-grid-3{grid-template-columns:repeat(2,minmax(0,1fr));}
.builder-device-frame.device-mobile .builder-card-grid,.builder-device-frame.device-mobile .builder-columns-block{grid-template-columns:1fr;}
@media(max-width:800px){.builder-card-grid,.builder-columns-block{grid-template-columns:1fr!important}.builder-page-row-actions{justify-content:flex-start}.builder-page-row{grid-template-columns:1fr!important}}

/* v42 builder additions: duplicate controls, responsive menu, document/file blocks, FAQ accordions */
@media(max-width:980px){
  .navbar .nav-links,.navbar .nav-actions{display:none!important;}
  .mobile-menu-btn{display:inline-flex!important;align-items:center;justify-content:center;margin-left:auto;position:relative;z-index:61;}
  .mobile-drawer{display:none;position:fixed;top:86px;left:auto!important;right:16px!important;width:min(320px,calc(100vw - 32px));max-width:320px;background:linear-gradient(180deg,#4b0f45,#300b2d);border:1px solid rgba(255,255,255,.15);border-radius:22px;z-index:60;padding:10px;box-shadow:0 24px 70px rgba(17,8,23,.34);}
  .mobile-drawer.open{display:block!important;}
  .mobile-drawer-inner{display:grid;gap:6px;}
  .mobile-drawer a,.mobile-drawer button{display:flex;width:100%;align-items:center;text-align:left;margin:0;padding:12px 13px;border-radius:14px;background:transparent;border:0;color:#fff;font-weight:850;text-decoration:none;}
  .mobile-drawer a:hover,.mobile-drawer button:hover{background:rgba(255,255,255,.12);}
}
@media(min-width:701px) and (max-width:980px){.mobile-drawer{width:280px!important;right:24px!important;}}
@media(max-width:520px){.mobile-drawer{top:78px;right:8px!important;width:calc(100vw - 16px)!important;max-width:none;}}
.builder-device-frame.device-tablet .nav-links,.builder-device-frame.device-tablet .nav-actions,
.builder-device-frame.device-mobile .nav-links,.builder-device-frame.device-mobile .nav-actions{display:none!important;}
.builder-device-frame.device-tablet .mobile-menu-btn,.builder-device-frame.device-mobile .mobile-menu-btn{display:inline-flex!important;margin-left:auto;}
.builder-device-frame.device-tablet .mobile-drawer{left:auto!important;right:16px!important;width:280px!important;max-width:280px;border-radius:20px;}
.builder-device-frame.device-mobile .mobile-drawer{left:8px!important;right:8px!important;width:auto!important;border-radius:18px;}

.builder-card-grid{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:18px!important;align-items:stretch!important;}
.builder-card-grid>.smart-inner,.builder-card-grid>.card,.builder-card-grid>div{flex:0 1 calc(33.333% - 18px);min-width:220px;}
.builder-card-grid-1>.smart-inner,.builder-card-grid-1>.card,.builder-card-grid-1>div{flex-basis:100%;}
.builder-card-grid-2>.smart-inner,.builder-card-grid-2>.card,.builder-card-grid-2>div{flex-basis:calc(50% - 18px);}
.builder-card-grid-3>.smart-inner,.builder-card-grid-3>.card,.builder-card-grid-3>div{flex-basis:calc(33.333% - 18px);}
.builder-card-grid-4>.smart-inner,.builder-card-grid-4>.card,.builder-card-grid-4>div{flex-basis:calc(25% - 18px);}
.builder-device-frame.device-tablet .builder-card-grid-4>.smart-inner,.builder-device-frame.device-tablet .builder-card-grid-4>.card,.builder-device-frame.device-tablet .builder-card-grid-4>div,
.builder-device-frame.device-tablet .builder-card-grid-3>.smart-inner,.builder-device-frame.device-tablet .builder-card-grid-3>.card,.builder-device-frame.device-tablet .builder-card-grid-3>div{flex-basis:calc(50% - 18px)!important;}
.builder-device-frame.device-mobile .builder-card-grid>.smart-inner,.builder-device-frame.device-mobile .builder-card-grid>.card,.builder-device-frame.device-mobile .builder-card-grid>div{flex-basis:100%!important;}
@media(max-width:800px){.builder-card-grid>.smart-inner,.builder-card-grid>.card,.builder-card-grid>div{flex-basis:100%!important;}}

.builder-accordion-list{display:grid;gap:12px;margin-inline:auto;}
.builder-accordion-item{background:#fff;border:1px solid #ead6e8;border-radius:18px;box-shadow:0 12px 28px rgba(75,15,69,.05);overflow:hidden;}
.builder-accordion-item summary{cursor:pointer;list-style:none;padding:16px 18px;font-weight:950;color:#4b0f45;display:flex;justify-content:space-between;gap:12px;}
.builder-accordion-item summary::-webkit-details-marker{display:none;}
.builder-accordion-item summary::after{content:'+';font-weight:950;color:#79196f;}
.builder-accordion-item[open] summary::after{content:'−';}
.builder-accordion-item p{padding:0 18px 18px;margin:0;color:#667085;line-height:1.7;}
.builder-rich-text{white-space:pre-line;unicode-bidi:plaintext;line-height:1.7;margin-top:0;}
.builder-text-block{font-size:17px;line-height:1.7;color:#2b0a28;}
.builder-text-block .builder-rich-text{margin:0;}
.builder-document-preview{background:#fff;border:1px solid #ead6e8;border-radius:22px;box-shadow:0 16px 40px rgba(75,15,69,.07);overflow:hidden;}
.builder-document-preview summary{cursor:pointer;padding:16px 18px;background:#fff7fd;color:#4b0f45;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:900;}
.builder-document-preview summary span{font-size:12px;color:#8f6b8a;font-weight:700;}
.builder-document-frame{width:100%;height:min(72vh,760px);min-height:460px;border:0;background:#f7f2f7;display:block;}

.btn-anim-echo{position:relative;overflow:visible}.btn-anim-echo:after{content:"";position:absolute;inset:-7px;border:2px solid currentColor;border-radius:inherit;opacity:.22;animation:jaEcho 2.4s ease-out infinite}.btn-anim-buzz:hover{animation:jaBuzz .28s linear 2}.btn-anim-breath{animation:jaBreath 3.6s ease-in-out infinite}.btn-anim-lift:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(75,15,69,.2)}.btn-anim-glow{box-shadow:0 0 0 0 rgba(121,25,111,.25);animation:jaGlow 2.8s ease-in-out infinite}
@keyframes jaEcho{0%{transform:scale(.96);opacity:.24}70%,100%{transform:scale(1.18);opacity:0}}@keyframes jaBuzz{0%,100%{transform:translateX(0)}25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}@keyframes jaBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}@keyframes jaGlow{0%,100%{box-shadow:0 0 0 0 rgba(121,25,111,.20)}50%{box-shadow:0 0 0 10px rgba(121,25,111,0)}}
.user-access-tools{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:10px;margin:12px 0}.user-bulk-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 14px}.pagination-actions{display:flex;align-items:center;gap:8px;margin-inline-start:auto}.entity-position-toolbox{border-color:#e8d6eb}
.course-sales-copy,.course-sales-copy p,.public-course-curriculum,.public-course-curriculum .course-lesson-title{font-size:clamp(16px,1.2vw,20px)}.course-sales-copy h1{font-size:clamp(30px,4vw,54px)}
.course-sales-media{background:#fff}.course-sales-media img{object-fit:contain;background:#fff}.browse-product-grid .program-visual{aspect-ratio:16/10;height:auto;background:#fff}.browse-product-grid .program-visual img{object-fit:cover}.browse-product-grid .program-visual img+span{align-self:flex-end}
@media(max-width:800px){.user-access-tools{grid-template-columns:1fr}.pagination-actions{width:100%;margin-inline-start:0}.browse-product-grid .program-visual{aspect-ratio:16/11;height:auto}.browse-product-grid .program-visual img{object-fit:contain;background:#fff}.builder-document-frame{height:70vh;min-height:330px;max-height:620px}.builder-document-preview{max-width:100%;overflow:hidden}.home .grid,.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.hero{min-height:auto;padding:112px 0 58px}.hero-grid{grid-template-columns:1fr;gap:30px}.hero-card,.floating-card{position:relative;right:auto;bottom:auto;width:auto}.course-sales-media img{object-fit:cover}.course-sales-copy{padding:24px 16px}.program-foot{align-items:stretch;flex-direction:column}.program-foot .btn{width:100%}}
.builder-document-placeholder{padding:44px 20px;text-align:center;color:#667085;background:#fbfbfd;}
.builder-download-row{display:flex;justify-content:center;padding:14px;border-top:1px solid #ead6e8;background:#fff;}
.builder-file-download{text-align:center;max-width:720px;margin-inline:auto;}
.builder-file-download p{margin-bottom:18px;}
.builder-tool[data-add-block="document"],.builder-tool[data-add-block="file"],.builder-tool[data-add-block="accordion"]{border-color:#cfa9cb;background:#fff7fd;}

/* v43 page-tree compact actions and secure builder polish */
.page-actions-menu{position:relative;display:inline-grid;place-items:center;z-index:5;}
.page-actions-menu summary{list-style:none;width:34px;height:34px;border:1px solid #ead6e8;background:#fff7fd;color:#79196f;border-radius:11px;display:grid;place-items:center;cursor:pointer;font-size:20px;font-weight:900;line-height:1;}
.page-actions-menu summary::-webkit-details-marker{display:none;}
.page-actions-menu[open] summary{background:#79196f;color:#fff;border-color:#79196f;}
.page-actions-popover{position:absolute;right:0;top:38px;min-width:156px;background:#fff;border:1px solid #ead6e8;border-radius:14px;box-shadow:0 18px 42px rgba(75,15,69,.18);padding:6px;display:grid;gap:4px;z-index:80;}
.page-actions-popover button{border:0;background:transparent;color:#4b0f45;border-radius:10px;padding:9px 10px;text-align:left;cursor:pointer;font-weight:800;font-size:12px;}
.page-actions-popover button:hover{background:#fff2fb;}
.page-actions-popover button.danger{color:#b42318;}
.builder-page-row{overflow:visible!important;}
.builder-page-tree{overflow-x:visible!important;}
.builder-save-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
@media(max-width:760px){.page-actions-popover{right:auto;left:0}.builder-save-actions .btn{flex:1 1 auto;}}

/* v44 curriculum compact row and safer media UX */
.curriculum-admin-row.compact-lesson-row{
  display:grid;
  grid-template-columns:32px minmax(160px,1fr) minmax(150px,220px) 130px 130px auto auto auto auto;
  align-items:center;
  gap:8px;
  min-height:54px;
  overflow:visible;
}
.compact-lesson-row .lesson-row-title{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#3d1239;
  font-weight:900;
}
.compact-lesson-row .lesson-section-select{min-width:140px;}
.curriculum-admin-row.compact-lesson-row .btn,
.curriculum-admin-row.compact-lesson-row .select{height:38px;white-space:nowrap;}
@media(max-width:1100px){
  .curriculum-admin-row.compact-lesson-row{grid-template-columns:28px minmax(140px,1fr) 120px 112px 112px auto;}
  .compact-lesson-row [data-move-lesson],
  .compact-lesson-row [data-duplicate-lesson]{display:none;}
}
@media(max-width:760px){
  .curriculum-admin-row.compact-lesson-row{grid-template-columns:28px minmax(120px,1fr) 1fr;}
  .compact-lesson-row .select,
  .compact-lesson-row .btn{width:100%;}
}


/* v45 builder polish: cleaner page tree, bilingual text, richer style controls */
.builder-app-pages{overflow:hidden!important;max-height:calc(100vh - 112px)!important;}
.builder-app-pages>.panel-title{flex-shrink:0!important;margin-bottom:10px!important;}
.builder-page-tree{overflow-y:auto!important;overflow-x:hidden!important;max-height:calc(100vh - 265px)!important;padding-right:4px!important;}
.builder-layer-actions.fixed-actions{position:sticky!important;bottom:0!important;background:#fff!important;padding-top:8px!important;z-index:3!important;}
[dir="auto"], .builder-preview-site h1,.builder-preview-site h2,.builder-preview-site h3,.builder-preview-site p,.builder-preview-site summary,.builder-mini-preview p,.builder-mini-preview h2,.builder-mini-preview h3,.custom-html-page p,.custom-html-page h1,.custom-html-page h2,.custom-html-page h3{unicode-bidi:plaintext!important;}
.input,.textarea{unicode-bidi:plaintext;}
.inspector-style-panel{border:1px solid #efd6ea;background:#fff8fd;border-radius:16px;padding:10px 12px;margin:10px 0;}
.inspector-style-panel summary{cursor:pointer;font-weight:850;color:#79196f;margin-bottom:8px;}
.check-row{display:flex;align-items:center;gap:8px;border:1px solid #efd6ea;background:#fff;border-radius:12px;padding:10px 12px;color:#3b1236;font-weight:750;}
.btn.small{min-height:32px!important;padding:6px 10px!important;font-size:12px!important;border-radius:10px!important;}
.btn.large{min-height:56px!important;padding:16px 26px!important;font-size:16px!important;border-radius:18px!important;}
.builder-section-block,.builder-subsection-block,.builder-button-block{border-radius:22px;padding:18px;}
.builder-app-pages .muted:not(.small){display:none!important;}


/* v46 visible style toolbox */
.inspector-style-alert{border:1px solid #ead7e8;background:#fff3fb;color:#79196f;border-radius:14px;padding:10px 12px;font-size:12px;font-weight:850;margin:10px 0}
.inspector-style-toolbox{border:1px solid #e4c6df;background:linear-gradient(180deg,#fff,#fff7fd);border-radius:18px;padding:13px;margin:14px 0;box-shadow:0 10px 24px rgba(121,25,111,.06)}
.toolbox-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px;border-bottom:1px solid #f0deec;padding-bottom:10px}
.toolbox-head strong{color:#4b0f45;font-size:14px;font-weight:950}.toolbox-head span{font-size:11px;color:#8a5a82;text-align:right}
.style-mini-row{gap:8px!important;margin-bottom:8px}.style-mini-row .field{min-width:0}.style-mini-row label{font-size:11px;color:#691c61;font-weight:900}
.color-input{padding:3px!important;height:42px!important;min-height:42px}.style-toggle-row{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 10px}
.style-toggle{display:flex;align-items:center;gap:7px;border:1px solid #ead7e8;background:#fff;border-radius:14px;padding:9px 10px;font-size:12px;font-weight:850;color:#4b0f45;cursor:pointer}.style-toggle span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:8px;background:#f7e9f5}.style-toggle input{accent-color:#79196f}.full-toggle{margin-top:8px;justify-content:center}
.builder-align-left{text-align:left}.builder-align-center{text-align:center}.builder-align-right{text-align:right}
@media(max-width:900px){.inspector-style-toolbox .three-col{grid-template-columns:1fr!important}.toolbox-head{display:block}.toolbox-head span{text-align:left;display:block;margin-top:3px}}


/* v53 — compact Media / R2 library UI */
.media-library-panel .media-title-row{margin-bottom:14px}
.media-r2-card{background:#fff;border:1px solid #ead6e8;border-radius:24px;padding:18px;box-shadow:0 18px 42px rgba(75,15,69,.06);display:grid;gap:16px;margin-bottom:18px}
.media-r2-head{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #f0e2ee;padding-bottom:14px}
.media-r2-head strong{display:block;color:var(--purple-dark);font-size:17px;margin-bottom:2px}.media-r2-head p{margin:0}.media-save-btn{min-width:150px;white-space:nowrap}
.media-source-grid{display:grid;grid-template-columns:minmax(210px,280px) minmax(260px,1fr);gap:14px;align-items:stretch}
.media-dropzone{border:1.5px dashed #d8b8d5;background:linear-gradient(135deg,#fff,#fbf4fa);border-radius:20px;min-height:118px;padding:16px;display:grid;place-items:center;text-align:center;cursor:pointer;color:var(--purple-dark);transition:.18s;position:relative;overflow:hidden}
.media-dropzone:hover{border-color:var(--purple);box-shadow:0 0 0 4px rgba(121,25,111,.07);transform:translateY(-1px)}
.media-dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}.media-drop-icon{width:36px;height:36px;border-radius:12px;background:var(--purple-soft);display:grid;place-items:center;color:var(--purple);font-weight:950;font-size:18px}.media-drop-title{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:950;font-size:15px}.media-drop-help{color:var(--muted);font-size:12px;font-weight:700}.media-url-field{align-self:stretch}.media-url-field .input{min-height:48px}.media-url-field .small{margin:0}
.media-settings-grid{display:grid;grid-template-columns:170px minmax(220px,1fr) minmax(220px,1fr);gap:12px;align-items:end}.compact-field{gap:6px}.compact-field label{font-size:12px;letter-spacing:.02em}.compact-field .input,.compact-field .select{height:46px;border-radius:16px;padding:10px 12px}.media-key-field input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px}
.media-folder-note{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#fbf4fa;border:1px solid #efdced;border-radius:16px;padding:10px 12px;color:var(--muted);font-size:12px}.media-folder-note span{font-weight:950;color:var(--purple-dark)}.media-folder-note code{background:#fff;border:1px solid #ead6e8;border-radius:999px;padding:5px 8px;color:var(--purple-dark);font-size:11px;white-space:nowrap}.media-assets-list .table-wrap{border-radius:22px}.media-assets-list code{white-space:normal;word-break:break-all}
@media(max-width:980px){.media-source-grid,.media-settings-grid{grid-template-columns:1fr}.media-r2-head{align-items:stretch;flex-direction:column}.media-save-btn{width:100%}}


/* v54 — R2 folder-style media browser */
.media-browser{background:#fff;border:1px solid #ead6e8;border-radius:24px;padding:16px;box-shadow:0 16px 38px rgba(75,15,69,.05)}
.media-browser-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px;border-bottom:1px solid #f0e2ee;padding-bottom:12px}
.media-browser-head h4{margin:0 0 3px;color:var(--purple-dark);font-size:18px}.media-browser-head p{margin:0}.media-search{max-width:360px;min-height:44px;border-radius:16px}
.media-stat-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.media-stat-row span{background:#fbf4fa;border:1px solid #ead6e8;border-radius:999px;padding:7px 10px;color:#6b4667;font-size:12px}.media-stat-row strong{color:var(--purple-dark)}
.media-folder-list{display:grid;gap:10px}.media-folder-card{border:1px solid #ead6e8;border-radius:18px;background:#fff;overflow:hidden}.media-folder-card[open]{box-shadow:0 12px 30px rgba(75,15,69,.05)}
.media-folder-card summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;cursor:pointer;background:linear-gradient(90deg,#fff,#fff7fd)}.media-folder-card summary::-webkit-details-marker{display:none}.media-folder-card summary:hover{background:#fbf4fa}
.media-folder-title{display:flex;align-items:center;gap:10px;min-width:0}.media-folder-title strong{display:block;color:var(--purple-dark);font-size:13px;max-width:620px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-folder-title small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.media-folder-icon{width:34px;height:34px;border-radius:12px;background:#f4e4f2;display:grid;place-items:center;flex:0 0 34px}
.media-folder-meta{display:flex;align-items:center;gap:8px;flex:0 0 auto}.media-folder-meta span{background:#fff;border:1px solid #ead6e8;border-radius:999px;padding:5px 8px;color:#6b4667;font-size:11px;font-weight:850;white-space:nowrap}
.media-folder-table-wrap{overflow:auto;border-top:1px solid #f0e2ee}.media-folder-table{width:100%;border-collapse:collapse;min-width:920px}.media-folder-table th{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#7b5576;background:#fbf7fb;text-align:left;padding:10px;border-bottom:1px solid #ead6e8}.media-folder-table td{padding:10px;border-bottom:1px solid #f1e4ef;vertical-align:middle;font-size:12px}.media-folder-table tr:last-child td{border-bottom:0}.media-folder-table code{font-size:11px;white-space:normal;word-break:break-all;color:#4b0f45}
.media-file-cell{display:flex;align-items:center;gap:10px;min-width:190px}.media-file-icon{width:32px;height:32px;border-radius:12px;background:#fbf4fa;display:grid;place-items:center;flex:0 0 32px}.media-file-cell strong{display:block;color:#251023;font-size:12px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-file-cell small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.media-actions{white-space:nowrap}.media-actions .btn{margin-right:4px}.media-empty{border-radius:20px;margin-top:12px}
@media(max-width:980px){.media-browser-head{display:block}.media-search{max-width:100%;margin-top:10px}.media-folder-card summary{align-items:flex-start;flex-direction:column}.media-folder-title strong{max-width:75vw}.media-folder-meta{width:100%;justify-content:flex-start}}

/* v55 — compact R2 media form with hover help instead of long explanations */
.title-with-help{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.title-with-help h3,.title-with-help strong{margin:0}.help-tip{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:999px;background:#f6e6f4;border:1px solid #e6c9e2;color:#79196f;font-size:11px;font-weight:950;line-height:1;cursor:help;vertical-align:middle}.help-tip:hover,.help-tip:focus{background:#79196f;color:#fff;outline:none;box-shadow:0 0 0 4px rgba(121,25,111,.1)}
.compact-media-card{gap:12px;padding:14px 16px}.compact-media-head{padding-bottom:10px}.compact-media-head strong{font-size:16px;margin:0}.media-compact-grid{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(240px,1.5fr) minmax(130px,.7fr) minmax(170px,1fr) minmax(190px,1fr);gap:10px;align-items:end}.media-compact-grid .field{margin:0}.media-compact-grid label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:900;color:#5b1554;margin-bottom:6px}.media-compact-grid .input,.media-compact-grid .select{height:44px;min-height:44px;border-radius:15px;padding:9px 11px}.media-file-pill{height:44px!important;margin:0!important;border:1px solid #ead6e8;background:#fff;border-radius:15px;padding:0 12px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px;cursor:pointer;position:relative;overflow:hidden;color:#4b0f45}.media-file-pill input{position:absolute;inset:0;opacity:0;cursor:pointer}.media-file-pill .media-drop-icon{width:26px;height:26px;border-radius:9px;font-size:13px;flex:0 0 26px}.media-file-pill .media-drop-title{font-size:13px;max-width:160px}.media-title-row{margin-bottom:10px}.media-library-panel .panel-title{align-items:center}.media-url-field .input{min-height:44px}.media-key-field input{font-family:inherit!important;font-size:13px!important}.media-folder-note,.media-drop-help,.media-url-field .small{display:none!important}
@media(max-width:1180px){.media-compact-grid{grid-template-columns:1fr 1fr}.media-save-btn{min-width:120px}}@media(max-width:720px){.compact-media-head{align-items:stretch;flex-direction:column}.media-compact-grid{grid-template-columns:1fr}.media-save-btn{width:100%}.media-file-pill .media-drop-title{max-width:70vw}}
.media-save-stack{display:grid;gap:8px;min-width:180px}.upload-progress{width:100%;display:grid;gap:5px}.upload-progress[hidden]{display:none!important}.upload-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#5b1554;font-size:12px;font-weight:800}.upload-progress-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-progress-track{height:7px;border-radius:999px;background:#f1e3ef;overflow:hidden;border:1px solid #ead6e8}.upload-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#79196f,#c7a45d);transition:width .18s ease}


/* v56 dashboard-wide tooltip polish */
.compact-help-title,
.panel-title.compact-help-title {
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}
.title-with-help {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.title-with-help h3,
.title-with-help h4,
.title-with-help .studio-kicker {
  margin: 0;
}
.help-tip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #f8edf7;
  border: 1px solid rgba(121,25,111,.18);
  color: var(--purple, #79196f);
  font-size: 11px;
  font-weight: 900;
  cursor: help;
  flex: 0 0 auto;
  position: relative;
}
.help-tip:hover::after,
.help-tip:focus-visible::after {
  content: attr(data-tip);
  position: absolute;
  z-index: 1000;
  inset-inline-start: 50%;
  top: calc(100% + 8px);
  transform: translateX(-18%);
  width: min(320px, 80vw);
  padding: 10px 12px;
  border-radius: 14px;
  background: #2b0928;
  color: #fff;
  box-shadow: 0 16px 40px rgba(43,9,40,.22);
  font-size: 12px;
  line-height: 1.5;
  font-weight: 600;
  white-space: normal;
}
.help-tip:hover::before,
.help-tip:focus-visible::before {
  content: '';
  position: absolute;
  z-index: 1001;
  top: calc(100% + 3px);
  inset-inline-start: 50%;
  width: 10px;
  height: 10px;
  transform: rotate(45deg);
  background: #2b0928;
}
.studio-panel > p.muted,
.panel-title p.muted {
  margin: 0;
  font-size: 12px;
  line-height: 1.35;
}
.studio-panel,
.command-card,
.footer-columns-panel,
.footer-text-panel,
.contact-clean-panel {
  overflow: visible;
}
.clean-admin-form,
.compact-form {
  background: #fff;
  border: 1px solid rgba(121,25,111,.10);
  border-radius: 18px;
  padding: 12px;
  gap: 12px;
}
.clean-admin-form .field label,
.compact-form .field label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.neat-table-wrap {
  border-radius: 18px;
  border: 1px solid rgba(121,25,111,.10);
  overflow: auto;
  background: #fff;
}
.neat-table {
  border-collapse: collapse;
  font-size: 13px;
}
.neat-table th {
  position: sticky;
  top: 0;
  background: #fbf5fb;
  z-index: 1;
  font-size: 10px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(75,15,69,.62);
}
.neat-table td,
.neat-table th {
  padding: 10px 12px;
  vertical-align: middle;
}
.neat-table td:last-child {
  white-space: nowrap;
}
.neat-table .btn {
  padding: 7px 10px;
  border-radius: 12px;
  margin: 2px;
}
.admin-subtabs,
.role-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px;
  border-radius: 18px;
  background: #fff7fd;
  border: 1px solid rgba(121,25,111,.08);
  margin-bottom: 12px;
}
.command-hero .title-with-help {
  margin-bottom: 8px;
}
.command-actions-grid {
  gap: 8px;
}
.compact-tipline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 14px;
  padding: 8px 10px;
  background: #fff7fd;
  border: 1px solid rgba(121,25,111,.10);
  color: #4b0f45;
  margin: 8px 0 12px;
}
.template-browser h4 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 10px 0;
}
.contact-admin-preview {
  margin-top: 12px;
  border-radius: 16px;
  background: #fff7fd;
  border: 1px solid rgba(121,25,111,.10);
  padding: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
}
.contact-admin-preview a {
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(121,25,111,.12);
  padding: 7px 10px;
  text-decoration: none;
  color: var(--purple, #79196f);
  font-weight: 800;
}
@media (max-width: 900px) {
  .panel-title.compact-help-title,
  .compact-help-title {
    align-items: flex-start;
  }
  .panel-actions {
    width: 100%;
  }
  .neat-table td:last-child {
    white-space: normal;
  }
}


/* v57 portal, tooltip, R2, and connected curriculum polish */
.account-panel{display:none;animation:fadeUp .18s ease both}.account-panel.active{display:block}.account-mini-card{min-height:150px}.account-menu-item{cursor:pointer}.account-menu-item.active{background:#f6e6f4;color:#79196f;font-weight:900}
.help-tip::after,.help-tip::before{pointer-events:none}.help-tip:not([data-tip])::after{display:none!important}
.media-folder-card:not([open]){background:#fff}.media-folder-card:not([open]) summary{border-bottom:0}.media-browser-head p{display:none!important}
.course-sidebar.course-nav-template-current-default,
.course-sidebar.course-nav-template-compact,
.course-sidebar.course-nav-template-academic,
.course-sidebar{
  background:#fff!important;
  color:#1f2937!important;
  border-right:1px solid #e9d8e7!important;
  box-shadow:none!important;
  overflow-x:hidden!important;
}
.course-sidebar::before{display:none!important;content:none!important}
.course-sidebar .course-side-section{
  margin:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  border:0!important;
  border-bottom:1px solid #ead6e8!important;
  background:#fff!important;
  overflow:hidden!important;
}
.course-sidebar .course-side-section:first-child{border-top:1px solid #ead6e8!important}
.course-sidebar .course-side-section h3{
  background:#fbf5fb!important;
  color:#4b0f45!important;
  border-bottom:1px solid #ead6e8!important;
  padding:13px 16px!important;
  margin:0!important;
  font-size:12px!important;
  letter-spacing:.02em!important;
  line-height:1.45!important;
}
.course-sidebar .course-lesson-row{
  display:grid!important;
  grid-template-columns:26px 26px minmax(0,1fr)!important;
  gap:8px!important;
  align-items:start!important;
  width:100%!important;
  border:0!important;
  border-top:1px solid #f1e4ef!important;
  border-radius:0!important;
  background:#fff!important;
  color:#241527!important;
  padding:12px 14px!important;
  text-align:start!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  box-shadow:none!important;
}
.course-sidebar .course-lesson-row:hover{background:#fff7fd!important}
.course-sidebar .course-lesson-row.active{background:linear-gradient(90deg,#79196f 0,#79196f 4px,#fff0fb 4px,#fff0fb 100%)!important;color:#2a0926!important}
.course-sidebar .course-status-dot{width:20px!important;height:20px!important;border:2px solid #79196f!important;color:#79196f!important;background:#fff!important;border-radius:999px!important;font-size:11px!important;display:grid!important;place-items:center!important;line-height:1!important;margin-top:2px!important}
.course-sidebar .course-lesson-row.active .course-status-dot{background:#79196f!important;color:#fff!important}
.course-sidebar .course-drag{color:#68707a!important;font-size:17px!important;line-height:1.2!important;margin-top:1px!important}
.course-sidebar .course-lesson-row span:last-child{min-width:0!important;word-break:normal!important;overflow-wrap:anywhere!important}
@media(max-width:980px){.course-sidebar{border-right:0!important;border-bottom:1px solid #e9d8e7!important}}


/* v58 Header & Footer designer */
.navbar{background:var(--ja-header-bg,rgba(75,15,69,.98))!important;color:var(--ja-header-text,#fff)!important;}
.navbar .brand,.navbar .brand *{color:var(--ja-header-text,#fff)!important;}
.navbar .nav-link{color:var(--ja-header-link,#fff)!important;}
.navbar .nav-link:hover,.navbar .nav-link.active{background:var(--ja-header-active-bg,rgba(255,255,255,.14))!important;color:var(--ja-header-active-text,#fff)!important;}
.navbar .btn-primary{background:var(--ja-header-button-bg,#fff)!important;color:var(--ja-header-button-text,#4b0f45)!important;}
.navbar .btn-outline{color:var(--ja-header-link,#fff)!important;border-color:color-mix(in srgb,var(--ja-header-link,#fff) 35%,transparent)!important;}
.mobile-menu-btn{color:var(--ja-header-text,#fff)!important;border-color:color-mix(in srgb,var(--ja-header-text,#fff) 25%,transparent)!important;}
.mobile-drawer{background:var(--ja-header-bg,#4b0f45)!important;}
.mobile-drawer a,.mobile-drawer button{color:var(--ja-header-link,#fff)!important;}
.footer{background:var(--ja-footer-bg,var(--purple-dark))!important;color:var(--ja-footer-text,#fff)!important;}
.footer h4,.footer p,.footer li,.footer-bottom{color:color-mix(in srgb,var(--ja-footer-text,#fff) 78%,transparent)!important;}
.footer a{color:var(--ja-footer-link,#d8c2d6)!important;}
.custom-header-html{position:relative;z-index:60;background:var(--ja-header-bg,#4b0f45);color:var(--ja-header-text,#fff);}
.header-footer-builder-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:18px;align-items:start;}
.header-footer-panel{display:grid;gap:16px;}
.hf-section-card{border:1px solid #efd8ec;background:#fff;border-radius:22px;padding:18px;display:grid;gap:14px;box-shadow:0 12px 32px rgba(121,25,111,.04);}
.hf-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #f2e5f0;padding-bottom:10px;}
.hf-section-head h3{margin:0;color:#4b0f45;font-size:18px;}
.hf-color-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.hf-save-row{display:flex;justify-content:flex-end;position:sticky;bottom:14px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 35%);padding-top:16px;}
.admin-check-row{display:flex!important;align-items:center;gap:10px;font-weight:900;color:#4b0f45;background:#fbf4fa;border:1px solid #efd8ec;border-radius:14px;padding:12px 14px;}
.admin-check-row input[type="checkbox"]{width:18px;height:18px;accent-color:#79196f;}
.hex-color-input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:lowercase;}
@media(max-width:1100px){.header-footer-builder-grid{grid-template-columns:1fr}.hf-color-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:680px){.hf-color-grid{grid-template-columns:1fr}}

/* v60 settings/profile consolidation */
.settings-master-grid{display:grid;gap:18px;align-items:start;}
.settings-system-panel .settings-compact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.settings-system-panel .btn{justify-self:start;}
@media(max-width:900px){.settings-system-panel .settings-compact-grid{grid-template-columns:1fr;}}

.profile-edit-card{border:1px solid #ead7e8!important;border-radius:20px!important;padding:18px!important;overflow:visible!important;box-shadow:0 18px 45px rgba(121,25,111,.07)!important;}
.account-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.account-edit-grid .field{margin:0!important;}
.account-edit-grid .field.wide{grid-column:1 / -1;}
.account-edit-grid label{display:block!important;font-size:12px!important;font-weight:700!important;color:#4b0f45!important;margin:0 0 6px!important;}
.account-edit-grid .input{border:1px solid #ead7e8!important;border-radius:13px!important;background:#fff!important;padding:11px 12px!important;font-size:14px!important;color:#181122!important;width:100%!important;outline:none!important;}
.account-edit-grid .input:focus{border-color:#79196f!important;box-shadow:0 0 0 3px rgba(121,25,111,.10)!important;}
.account-edit-grid input[disabled]{background:#f8f4f8!important;color:#756070!important;cursor:not-allowed!important;}
.account-edit-grid small{display:block!important;margin-top:5px!important;color:#7c6478!important;font-size:11px!important;}
.account-profile-head .muted{max-width:560px;}
.account-save{min-width:140px!important;}
@media(max-width:820px){.account-edit-grid{grid-template-columns:1fr}.account-profile-grid{grid-template-columns:1fr!important;gap:24px!important}.profile-edit-card{padding:14px!important;}}

/* v61 launch builder controls: larger image sizing, refined image motion, configurable hero mini sections */
.builder-image-entity-row.builder-image-size-wide>.container{width:min(1240px,calc(100% - 28px));max-width:1240px}
.builder-image-entity-row.builder-image-size-xwide>.container{width:min(1360px,calc(100% - 20px));max-width:1360px}
.builder-image-entity-row.builder-image-size-full>.container{width:min(calc(100% - 20px),1500px);max-width:1500px}
.builder-image-entity-row.builder-image-bleed{padding:0}
.builder-image-entity-row.builder-image-bleed>.container{width:100%!important;max-width:none!important;padding:0!important}
.builder-image-block.builder-image-size-wide img{max-height:720px}
.builder-image-block.builder-image-size-xwide img,.builder-image-block.builder-image-full img,.builder-image-block.builder-image-bleed img{max-height:820px}
.builder-image-block.builder-image-bleed{width:100%;max-width:100%;border-radius:0}
.builder-image-block.builder-image-bleed img{border-radius:0}
.builder-image-anim-blur-zoom-slow img{animation:imageBlurZoomSlow 9s ease-in-out infinite;transform-origin:center}
.builder-image-anim-ken-burns img{animation:imageKenBurns 14s ease-in-out infinite alternate;transform-origin:45% 50%}
.builder-image-anim-cinematic-pan img{animation:imageCinematicPan 12s ease-in-out infinite alternate;transform-origin:center}
.builder-image-anim-gentle-rise{animation:imageGentleRise .9s cubic-bezier(.2,.8,.2,1) both}
.builder-image-anim-soft-tilt{animation:imageSoftTilt 7s ease-in-out infinite}
.builder-image-anim-glow-focus{animation:imageGlowFocus 4.8s ease-in-out infinite}
@keyframes imageBlurZoomSlow{0%,100%{filter:blur(1.8px) saturate(.98);transform:scale(1)}50%{filter:blur(0) saturate(1.05);transform:scale(1.055)}}
@keyframes imageKenBurns{0%{transform:scale(1) translate3d(0,0,0)}100%{transform:scale(1.075) translate3d(-1.8%,1.2%,0)}}
@keyframes imageCinematicPan{0%{transform:scale(1.04) translateX(-1.5%)}100%{transform:scale(1.04) translateX(1.5%)}}
@keyframes imageGentleRise{from{opacity:.04;transform:translateY(22px) scale(.985);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@keyframes imageSoftTilt{0%,100%{transform:perspective(900px) rotateX(0) rotateY(0) scale(1)}50%{transform:perspective(900px) rotateX(1.4deg) rotateY(-1.6deg) scale(1.015)}}
@keyframes imageGlowFocus{0%,100%{filter:saturate(1);box-shadow:0 16px 38px rgba(42,15,45,.07)}50%{filter:saturate(1.08) contrast(1.03);box-shadow:0 22px 54px rgba(121,25,111,.14)}}
.builder-hero-mini-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:30px;width:100%}
.builder-hero-mini-card{height:100%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:18px;padding:16px;box-shadow:0 18px 45px rgba(20,4,22,.16);backdrop-filter:blur(10px)}
.builder-hero-mini-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;margin-bottom:13px}
.builder-hero-mini-card h3{margin:0 0 8px;color:#fff;font-size:19px;line-height:1.35}
.builder-hero-mini-card p{margin:0;color:rgba(255,255,255,.76);font-size:15px;line-height:1.65;white-space:pre-line;unicode-bidi:plaintext}
.builder-hero-mini-card .hero-mini-actions{margin-top:15px}
.free-hero-card .builder-hero-mini-grid{margin-top:24px}
@media(max-width:760px){.builder-hero-mini-grid{grid-template-columns:1fr}.builder-image-entity-row.builder-image-size-full>.container,.builder-image-entity-row.builder-image-size-xwide>.container,.builder-image-entity-row.builder-image-size-wide>.container{width:calc(100% - 20px)}}
@media (prefers-reduced-motion:reduce){.builder-image-anim-blur-zoom-slow img,.builder-image-anim-ken-burns img,.builder-image-anim-cinematic-pan img,.builder-image-anim-gentle-rise,.builder-image-anim-soft-tilt,.builder-image-anim-glow-focus{animation:none!important;filter:none!important;transform:none!important}}

/* v46 curriculum admin responsive safety patch
   Prevents lesson rows from overflowing/covering section titles on laptop, tablet, and phone widths. */
.curriculum-admin-map,
.curriculum-admin-section,
.curriculum-admin-head,
.curriculum-admin-row.compact-lesson-row{
  min-width:0!important;
  box-sizing:border-box!important;
}
.curriculum-admin-section{
  overflow:hidden!important;
}
.curriculum-admin-head{
  flex-wrap:wrap!important;
}
.curriculum-admin-head .panel-actions{
  flex-wrap:wrap!important;
}
.curriculum-admin-row.compact-lesson-row{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.curriculum-admin-row.compact-lesson-row .select,
.curriculum-admin-row.compact-lesson-row .btn,
.curriculum-admin-row.compact-lesson-row .lesson-section-select{
  max-width:100%!important;
  min-width:0!important;
}
.curriculum-admin-row.compact-lesson-row .lesson-row-title{
  min-width:0!important;
  max-width:100%!important;
}

@media(max-width:1450px){
  .curriculum-admin-row.compact-lesson-row{
    grid-template-columns:34px minmax(0,1fr) minmax(120px,170px) minmax(112px,140px) minmax(112px,150px)!important;
    grid-auto-flow:row!important;
  }
  .curriculum-admin-row.compact-lesson-row .lesson-row-title{
    grid-column:2 / -1!important;
  }
  .curriculum-admin-row.compact-lesson-row .lesson-section-select,
  .curriculum-admin-row.compact-lesson-row select.select{
    width:100%!important;
  }
  .curriculum-admin-row.compact-lesson-row .btn{
    justify-self:start!important;
  }
}

@media(max-width:1180px){
  .curriculum-admin-row.compact-lesson-row{
    grid-template-columns:34px minmax(0,1fr) minmax(120px,1fr)!important;
    gap:8px 10px!important;
  }
  .curriculum-admin-row.compact-lesson-row .lesson-row-title{
    grid-column:2 / -1!important;
  }
  .curriculum-admin-row.compact-lesson-row .lesson-section-select,
  .curriculum-admin-row.compact-lesson-row select.select{
    grid-column:2 / -1!important;
    width:100%!important;
  }
  .curriculum-admin-row.compact-lesson-row .btn{
    grid-column:auto!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .compact-lesson-row [data-move-lesson],
  .compact-lesson-row [data-duplicate-lesson]{
    display:inline-flex!important;
  }
}

@media(max-width:820px){
  .curriculum-admin-row.compact-lesson-row{
    grid-template-columns:32px minmax(0,1fr)!important;
    align-items:start!important;
    padding:12px!important;
  }
  .curriculum-admin-row.compact-lesson-row > *:not(.drag-handle){
    grid-column:2!important;
    width:100%!important;
    justify-self:stretch!important;
  }
  .curriculum-admin-row.compact-lesson-row .btn{
    min-height:38px!important;
  }
  .curriculum-admin-head .panel-actions,
  .curriculum-admin-head .panel-actions .btn{
    width:100%!important;
  }
}

/* v60 course reader navigation fix: mobile curriculum menu + previous/next + stable sidebar scroll */
.course-topbar{padding:0 14px!important;gap:10px!important;box-sizing:border-box!important;}
.course-settings{margin-left:0!important;}
.course-topbar-spacer{flex:1 1 auto!important;min-width:8px!important;}
.course-menu-btn{display:none!important;}
.course-lesson-nav-actions{margin-left:auto!important;margin-right:0!important;display:flex!important;align-items:center!important;gap:10px!important;}
.course-nav-btn{height:48px!important;min-width:128px!important;border:1px solid rgba(255,255,255,.75)!important;background:transparent!important;color:#fff!important;border-radius:8px!important;padding:0 16px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;font-weight:900!important;font-size:14px!important;cursor:pointer!important;line-height:1!important;}
.course-nav-btn span{font-size:26px!important;line-height:1!important;font-weight:900!important;}
.course-nav-btn:hover:not(:disabled){background:rgba(255,255,255,.13)!important;}
.course-nav-btn:disabled{opacity:.38!important;cursor:not-allowed!important;}
.course-continue{display:none!important;}
.course-reader-page .course-sidebar[data-course-sidebar]{scroll-behavior:auto!important;}

@media(max-width:980px){
  .course-menu-btn{display:grid!important;}
  .course-reader-page.course-landing-page .course-topbar strong{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
}

@media(max-width:620px){
  body.ja-course-menu-open{overflow:hidden!important;}
  .course-topbar{height:76px!important;padding:0!important;gap:0!important;}
  .course-icon-btn{width:68px!important;height:76px!important;border-left:1px solid rgba(255,255,255,.25)!important;border-radius:0!important;font-size:26px!important;}
  .course-settings .course-icon-btn{border-left:1px solid rgba(255,255,255,.25)!important;}
  .course-menu-btn{display:grid!important;}
  .course-topbar-spacer{flex:1 1 auto!important;min-width:6px!important;}
  .course-lesson-nav-actions{gap:8px!important;margin-right:10px!important;}
  .course-nav-btn{min-width:0!important;width:98px!important;height:62px!important;border-radius:8px!important;padding:0!important;margin:0!important;}
  .course-nav-btn b{display:none!important;}
  .course-nav-btn span{font-size:36px!important;}
  .course-settings-menu{top:76px!important;left:-68px!important;}
  .course-reader-page .course-sidebar{display:none!important;}
  .course-reader-page.course-menu-open::after{content:''!important;position:fixed!important;left:0!important;right:0!important;top:76px!important;bottom:0!important;background:rgba(20,5,22,.36)!important;z-index:50!important;}
  .course-reader-page.course-menu-open .course-sidebar{display:block!important;position:fixed!important;left:0!important;right:auto!important;top:76px!important;bottom:0!important;width:min(430px,92vw)!important;max-height:calc(100dvh - 76px)!important;overflow-y:auto!important;overflow-x:hidden!important;z-index:55!important;border-right:1px solid #ead6e8!important;border-bottom:0!important;box-shadow:18px 0 50px rgba(0,0,0,.24)!important;background:#fff!important;}
  .course-reader-page.course-menu-open .course-sidebar .course-side-section{margin:0!important;}
  .course-content{padding:22px 14px 58px!important;}
  .course-title-row{margin-bottom:20px!important;}
  .course-title-row span{display:none!important;}
  .course-content-card{margin:20px auto!important;padding:16px!important;border-radius:14px!important;}
}

@media(max-width:420px){
  .course-icon-btn{width:56px!important;}
  .course-nav-btn{width:82px!important;height:58px!important;}
  .course-lesson-nav-actions{gap:6px!important;margin-right:6px!important;}
  .course-nav-btn span{font-size:32px!important;}
}


/* v63 responsive composition fix
   Keeps desktop image+text+button overlay compositions readable on phones by allowing
   scaled inherited positions to overflow cleanly and by reducing mobile entity gaps. */
.builder-entity-row,
.builder-entity-row > .container{
  overflow:visible!important;
}
.smart-inner-inherited-desktop{
  will-change:transform,margin-top;
}
@media(max-width:760px){
  .builder-entity-row{padding:10px 0!important;}
  .builder-image-entity-row{padding:0!important;}
  .builder-button-entity-row{padding-top:4px!important;padding-bottom:12px!important;}
  .builder-text-entity-row{padding-top:6px!important;padding-bottom:6px!important;}
  .builder-image-block img{max-height:none!important;}
  .builder-text-block h1,
  .builder-text-block h2,
  .builder-text-block h3{line-height:1.18!important;}
  .smart-inner{max-width:100%!important;}
}
@media(min-width:761px) and (max-width:1100px){
  .builder-entity-row{padding:14px 0!important;}
  .builder-image-entity-row{padding:0!important;}
}


/* v64 responsive composition sizing
   Desktop keeps the owner-designed large hero/text/button sizes.
   Phone/tablet views automatically cap and scale standalone overlay text/buttons so
   image + text + button compositions do not become huge or misplaced on mobile. */
@media(max-width:760px){
  .builder-text-entity-row .builder-text-block,
  .builder-button-entity-row .builder-button-entity{
    max-width:92vw!important;
  }
  .builder-text-entity-row .builder-rich-text,
  .builder-text-entity-row .builder-rich-text *{
    font-size:clamp(16px,5.2vw,28px)!important;
    line-height:1.18!important;
  }
  .builder-button-entity-row .btn{
    font-size:clamp(12px,3.5vw,15px)!important;
    min-height:38px!important;
    padding:9px 14px!important;
    border-radius:12px!important;
    white-space:normal!important;
  }
  .builder-text-entity-row .smart-inner-inherited-desktop,
  .builder-button-entity-row .smart-inner-inherited-desktop{
    display:block!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}
.builder-device-frame.device-mobile .builder-text-entity-row .builder-text-block,
.builder-device-frame.device-mobile .builder-button-entity-row .builder-button-entity{
  max-width:92vw!important;
}
.builder-device-frame.device-mobile .builder-text-entity-row .builder-rich-text,
.builder-device-frame.device-mobile .builder-text-entity-row .builder-rich-text *{
  font-size:clamp(16px,5.2vw,28px)!important;
  line-height:1.18!important;
}
.builder-device-frame.device-mobile .builder-button-entity-row .btn{
  font-size:clamp(12px,3.5vw,15px)!important;
  min-height:38px!important;
  padding:9px 14px!important;
  border-radius:12px!important;
  white-space:normal!important;
}
.builder-device-frame.device-mobile .builder-text-entity-row .smart-inner-inherited-desktop,
.builder-device-frame.device-mobile .builder-button-entity-row .smart-inner-inherited-desktop{
  display:block!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.builder-device-frame.device-tablet .builder-text-entity-row .builder-rich-text,
.builder-device-frame.device-tablet .builder-text-entity-row .builder-rich-text *{
  font-size:clamp(20px,3.6vw,42px)!important;
  line-height:1.2!important;
}
.builder-device-frame.device-tablet .builder-button-entity-row .btn{
  font-size:clamp(14px,2vw,18px)!important;
}
@media(min-width:761px) and (max-width:1100px){
  .builder-text-entity-row .builder-rich-text,
  .builder-text-entity-row .builder-rich-text *{
    font-size:clamp(20px,3.6vw,42px)!important;
    line-height:1.2!important;
  }
  .builder-button-entity-row .btn{font-size:clamp(14px,2vw,18px)!important;}
}


/* v65 mobile composition lock
   When an owner creates a visual hero from separate image + text + button blocks,
   mobile/tablet should treat them as one composition, not as separate stacked rows.
   This preserves the desktop design while preventing phone-only giant/misaligned overlays. */
.responsive-overlay-composition{position:relative;overflow:visible;isolation:isolate;}
.responsive-overlay-composition>.builder-entity-row{background:transparent;}
@media(max-width:760px){
  .responsive-overlay-composition{min-height:calc(100svh - 74px);background:#fff;overflow:hidden;}
  .responsive-overlay-composition>.builder-image-entity-row{position:relative;z-index:1;padding:0!important;}
  .responsive-overlay-composition>.builder-image-entity-row>.container{width:100%!important;max-width:none!important;padding:0!important;}
  .responsive-overlay-composition .builder-image-block{width:100%!important;max-width:none!important;border-radius:0!important;}
  .responsive-overlay-composition .builder-image-block img{width:100%!important;height:calc(100svh - 74px)!important;min-height:560px!important;max-height:none!important;object-fit:cover!important;object-position:center center!important;border-radius:0!important;}
  .responsive-overlay-composition>.builder-text-entity-row,
  .responsive-overlay-composition>.builder-button-entity-row{position:absolute!important;left:0!important;right:0!important;z-index:3!important;padding:0 18px!important;pointer-events:none!important;}
  .responsive-overlay-composition>.builder-text-entity-row{bottom:118px!important;}
  .responsive-overlay-composition>.builder-button-entity-row{bottom:42px!important;}
  .responsive-overlay-composition>.builder-text-entity-row>.container,
  .responsive-overlay-composition>.builder-button-entity-row>.container{width:100%!important;max-width:none!important;padding:0!important;}
  .responsive-overlay-composition .builder-text-block,
  .responsive-overlay-composition .builder-button-entity{width:100%!important;max-width:100%!important;text-align:center!important;margin:0 auto!important;background:transparent!important;box-shadow:none!important;border:0!important;padding:0!important;}
  .responsive-overlay-composition .builder-text-entity-row .smart-inner,
  .responsive-overlay-composition .builder-button-entity-row .smart-inner{transform:none!important;margin:0 auto!important;width:100%!important;max-width:100%!important;text-align:center!important;}
  .responsive-overlay-composition .builder-rich-text,
  .responsive-overlay-composition .builder-rich-text *{font-size:clamp(24px,8.2vw,38px)!important;line-height:1.16!important;text-align:center!important;text-shadow:0 2px 12px rgba(0,0,0,.35);}
  .responsive-overlay-composition .builder-button-entity-row .btn{pointer-events:auto!important;width:min(460px,72vw)!important;max-width:72vw!important;min-height:58px!important;border-radius:18px!important;font-size:clamp(16px,4.8vw,23px)!important;padding:12px 18px!important;margin:0 auto!important;box-shadow:0 18px 42px rgba(0,0,0,.22)!important;}
}
@media(max-width:390px){
  .responsive-overlay-composition>.builder-text-entity-row{bottom:104px!important;}
  .responsive-overlay-composition>.builder-button-entity-row{bottom:34px!important;}
  .responsive-overlay-composition .builder-rich-text,
  .responsive-overlay-composition .builder-rich-text *{font-size:clamp(22px,7.7vw,34px)!important;}
  .responsive-overlay-composition .builder-button-entity-row .btn{min-height:52px!important;}
}
.builder-device-frame.device-mobile .responsive-overlay-composition{min-height:760px!important;overflow:hidden!important;}
.builder-device-frame.device-mobile .responsive-overlay-composition>.builder-image-entity-row{position:relative!important;z-index:1!important;padding:0!important;}
.builder-device-frame.device-mobile .responsive-overlay-composition>.builder-image-entity-row>.container{width:100%!important;max-width:none!important;padding:0!important;}
.builder-device-frame.device-mobile .responsive-overlay-composition .builder-image-block{width:100%!important;max-width:none!important;border-radius:0!important;}
.builder-device-frame.device-mobile .responsive-overlay-composition .builder-image-block img{height:760px!important;min-height:760px!important;max-height:none!important;object-fit:cover!important;border-radius:0!important;}
.builder-device-frame.device-mobile .responsive-overlay-composition>.builder-text-entity-row,
.builder-device-frame.device-mobile .responsive-overlay-composition>.builder-button-entity-row{position:absolute!important;left:0!important;right:0!important;z-index:3!important;padding:0 18px!important;pointer-events:none!important;}
.builder-device-frame.device-mobile .responsive-overlay-composition>.builder-text-entity-row{bottom:118px!important;}
.builder-device-frame.device-mobile .responsive-overlay-composition>.builder-button-entity-row{bottom:42px!important;}
.builder-device-frame.device-mobile .responsive-overlay-composition .smart-inner{transform:none!important;margin:0 auto!important;width:100%!important;max-width:100%!important;text-align:center!important;}
.builder-device-frame.device-mobile .responsive-overlay-composition .builder-rich-text,
.builder-device-frame.device-mobile .responsive-overlay-composition .builder-rich-text *{font-size:clamp(24px,8.2vw,38px)!important;line-height:1.16!important;text-align:center!important;text-shadow:0 2px 12px rgba(0,0,0,.35);}
.builder-device-frame.device-mobile .responsive-overlay-composition .builder-button-entity-row .btn{pointer-events:auto!important;width:min(460px,72vw)!important;max-width:72vw!important;min-height:58px!important;border-radius:18px!important;font-size:clamp(16px,4.8vw,23px)!important;padding:12px 18px!important;margin:0 auto!important;box-shadow:0 18px 42px rgba(0,0,0,.22)!important;}
@media(min-width:761px) and (max-width:1100px){
  .responsive-overlay-composition{overflow:visible;}
}

/* v12: mobile-friendly protected PDF preview */
.pdf-mobile-preview-card{
  display:none;
  border:1px solid rgba(105,28,97,.16);
  border-radius:18px;
  padding:16px;
  margin:14px 0;
  background:linear-gradient(135deg,#fff,#fbf6fb);
  box-shadow:0 14px 36px rgba(37,14,34,.08);
}
.pdf-mobile-preview-card strong{display:block;color:#4b0f45;margin-bottom:6px;}
.pdf-mobile-preview-card p{margin:0 0 12px;color:#5f5260;font-size:.94rem;line-height:1.6;}
.pdf-mobile-preview-card .btn{width:100%;justify-content:center;}
.ja-pdf-preview-overlay{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:stretch;
  justify-content:center;
  background:rgba(22,10,22,.72);
  backdrop-filter:blur(8px);
}
.ja-pdf-preview-shell{
  width:min(1180px,100vw);
  height:100dvh;
  background:#fff;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.ja-pdf-preview-head{
  min-height:60px;
  padding:10px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px solid rgba(105,28,97,.14);
  background:#fff;
}
.ja-pdf-preview-head strong{color:#4b0f45;font-size:1rem;line-height:1.3;max-width:58%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ja-pdf-preview-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.ja-pdf-preview-frame{width:100%;height:100%;flex:1;border:0;background:#f7f2f7;}
body.pdf-preview-open{overflow:hidden;touch-action:none;}
@media(max-width:760px){
  .builder-document-preview{border-radius:18px;overflow:hidden;}
  .builder-document-preview summary{padding:14px 14px;}
  .pdf-mobile-preview-card{display:block;}
  .builder-document-preview .builder-document-frame{display:none;height:0;min-height:0;}
  .builder-document-preview [data-protected-media-note]{display:block;padding:0 14px 12px;margin:0;}
  .ja-pdf-preview-shell{width:100vw;height:100dvh;border-radius:0;}
  .ja-pdf-preview-head{position:sticky;top:0;z-index:1;min-height:56px;padding:8px 10px;}
  .ja-pdf-preview-head strong{max-width:46%;font-size:.92rem;}
  .ja-pdf-preview-actions .btn{padding:8px 10px;font-size:.82rem;}
  .ja-pdf-preview-frame{height:calc(100dvh - 56px);}
}


/* v71 course identity + curriculum status cleanup */
.learn-course-thumb.course-title-thumb{justify-content:flex-end!important;gap:12px!important;min-height:176px!important;padding:24px 26px!important;}
.learn-course-thumb.course-title-thumb strong{font-size:21px!important;line-height:1.15!important;color:#fff!important;letter-spacing:0!important;max-width:245px!important;z-index:1!important;display:block!important;}
.learn-course-thumb.course-title-thumb small{margin-top:0!important;font-size:12px!important;line-height:1.35!important;}
.learn-course-thumb.course-title-thumb span{font-size:inherit!important;max-width:none!important;}
.learn-course-seal.course-logo-seal{background:rgba(255,255,255,.12)!important;overflow:hidden!important;padding:5px!important;}
.course-badge-logo-img{width:100%!important;height:100%!important;object-fit:contain!important;display:block!important;}
.course-badge-logo-fallback{font-size:20px!important;line-height:1!important;color:#fff!important;}
.course-completion-card .learn-course-thumb.course-title-thumb{min-height:150px!important;}
.course-completion-card .learn-course-thumb.course-title-thumb strong{font-size:18px!important;max-width:210px!important;}
.public-curriculum-head{margin-bottom:22px!important;}
.public-curriculum-head .section-label,.public-curriculum-head p{display:none!important;}
.public-curriculum-head h2{margin:0!important;}
.course-curriculum-wide .curriculum-course-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;text-align:left!important;direction:ltr!important;grid-template-columns:none!important;padding:12px 14px!important;}
.course-curriculum-wide .curriculum-course-row .course-lesson-title{flex:1 1 auto!important;min-width:0!important;text-align:left!important;display:block!important;}
.course-curriculum-wide .curriculum-course-row .course-start-badge,
.course-curriculum-wide .curriculum-course-row .public-chip{flex:0 0 auto!important;margin-left:auto!important;margin-inline-start:auto!important;white-space:nowrap!important;}
.course-sidebar .course-lesson-row.lesson-unseen .course-status-dot{background:#fff!important;color:#79196f!important;border-color:#d9b9d6!important;}
.course-sidebar .course-lesson-row.lesson-current .course-status-dot{background:#79196f!important;color:#fff!important;border-color:#79196f!important;font-size:10px!important;}
.course-sidebar .course-lesson-row.lesson-done .course-status-dot{background:#fff!important;color:#79196f!important;border-color:#79196f!important;font-weight:950!important;}
.course-sidebar .course-lesson-row.lesson-current{background:linear-gradient(90deg,#79196f 0,#79196f 4px,#fff0fb 4px,#fff0fb 100%)!important;color:#2a0926!important;}
@media(max-width:620px){.learn-course-thumb.course-title-thumb strong{font-size:18px!important;max-width:220px!important}.course-curriculum-wide .curriculum-course-row{gap:10px!important}.course-curriculum-wide .curriculum-course-row .course-start-badge{font-size:11px!important;padding:4px 8px!important}}


/* v72 unified course image + centered public course headings */
.learn-course-thumb.course-title-thumb.course-photo-thumb{
  padding:0!important;
  background:#fff!important;
  display:block!important;
  min-height:176px!important;
  height:100%!important;
  overflow:hidden!important;
}
.learn-course-thumb.course-title-thumb.course-photo-thumb::before,
.learn-course-thumb.course-title-thumb.course-photo-thumb::after{display:none!important;content:none!important;}
.learn-course-photo-img{width:100%!important;height:100%!important;min-height:176px!important;object-fit:cover!important;display:block!important;background:#fff!important;}
.learn-product-card .learn-course-thumb.course-photo-thumb{height:180px!important;min-height:180px!important;}
.learn-product-card .learn-course-photo-img{height:180px!important;min-height:180px!important;}
.course-completion-card .learn-course-thumb.course-photo-thumb{min-height:150px!important;}
.course-completion-card .learn-course-photo-img{min-height:150px!important;}
.course-public-page .section-head,
.course-public-page .course-section-title,
.course-public-page .course-side-section>h3,
.public-course-curriculum .course-side-section>h3{text-align:center!important;}
.course-public-page .course-sales-copy,
.course-public-page .course-long-description{text-align:center!important;margin-left:auto!important;margin-right:auto!important;}
.course-public-page .course-long-description>*{margin-left:auto!important;margin-right:auto!important;}
.course-public-page .course-sales-copy p,
.course-public-page .course-long-description p{max-width:920px!important;margin-left:auto!important;margin-right:auto!important;}
@media(max-width:620px){
  .learn-course-thumb.course-title-thumb.course-photo-thumb{min-height:150px!important;}
  .learn-course-photo-img{min-height:150px!important;}
}

/* v73 curriculum builder professional controls */
.curriculum-admin-section{
  border-color:#ead8e8!important;
  box-shadow:0 18px 45px rgba(75,15,69,.075)!important;
  transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}
.curriculum-admin-section:hover{box-shadow:0 22px 58px rgba(75,15,69,.11)!important;border-color:#dfbfdb!important;}
.curriculum-admin-section.section-dragging{opacity:.72;transform:scale(.995);outline:2px dashed var(--purple);outline-offset:3px;}
.curriculum-admin-section.section-drop-target{border-color:var(--purple)!important;box-shadow:0 0 0 4px rgba(121,25,111,.10),0 20px 60px rgba(75,15,69,.14)!important;}
.curriculum-admin-head{
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  background:linear-gradient(135deg,#fff,#fbf3fb)!important;
}
.curriculum-admin-title{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  line-height:1.35!important;
}
.section-drag-handle{
  width:32px;height:32px;border-radius:11px;background:#f3e6f2;color:var(--purple);display:inline-grid;place-items:center;cursor:grab;
}
.curriculum-admin-head .panel-actions{justify-content:flex-end!important;align-items:center!important;gap:8px!important;}
.curriculum-admin-row.compact-lesson-row{
  background:#fff!important;
  border-top:1px solid #f0e3ee!important;
  transition:background .16s ease, box-shadow .16s ease;
}
.curriculum-admin-row.compact-lesson-row:hover{background:#fffafd!important;box-shadow:inset 3px 0 0 rgba(121,25,111,.35);}
.compact-lesson-row .lesson-section-select{
  padding-right:34px!important;
  text-overflow:ellipsis!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  background-position:right 12px center!important;
}
.studio-dashboard .studio-panel{
  border:1px solid #ead8e8!important;
  box-shadow:0 18px 50px rgba(75,15,69,.06)!important;
}
.studio-dashboard .admin-subtabs{
  background:#fff7fd!important;
  border:1px solid #edd8eb!important;
  border-radius:18px!important;
  padding:8px!important;
}
.studio-dashboard .table-wrap{box-shadow:0 14px 40px rgba(75,15,69,.045)!important;}
.studio-dashboard .table th{background:#fbf5fb!important;color:#6c2764!important;font-weight:700!important;}
@media(max-width:1180px){
  .curriculum-admin-head{grid-template-columns:32px minmax(0,1fr)!important;}
  .curriculum-admin-head .panel-actions{grid-column:1 / -1!important;width:100%!important;justify-content:flex-start!important;}
}
@media(max-width:720px){
  .curriculum-admin-head{padding:12px!important;}
  .curriculum-admin-head .panel-actions{display:grid!important;grid-template-columns:1fr!important;}
  .curriculum-admin-head .panel-actions .btn{width:100%!important;}
}


/* v74 curriculum lesson row fit patch: compact actions + trash icon */
@media(min-width:1181px){
  .curriculum-admin-row.compact-lesson-row{
    grid-template-columns:32px minmax(130px,1fr) minmax(145px,220px) 118px 128px 34px 34px 88px 96px 38px!important;
    gap:6px!important;
    padding:9px 10px!important;
    align-items:center!important;
  }
  .curriculum-admin-row.compact-lesson-row .lesson-row-title{
    grid-column:auto!important;
  }
  .curriculum-admin-row.compact-lesson-row .lesson-section-select,
  .curriculum-admin-row.compact-lesson-row select.select{
    grid-column:auto!important;
    height:36px!important;
    font-size:12px!important;
  }
  .curriculum-admin-row.compact-lesson-row .btn{
    grid-column:auto!important;
    justify-self:stretch!important;
    height:36px!important;
    min-height:36px!important;
    padding:0 10px!important;
    font-size:12px!important;
  }
  .curriculum-admin-row.compact-lesson-row [data-move-lesson]{
    width:34px!important;
    min-width:34px!important;
    padding:0!important;
    justify-self:center!important;
  }
  .curriculum-admin-row.compact-lesson-row .lesson-delete-btn.icon-only{
    width:38px!important;
    min-width:38px!important;
    padding:0!important;
    justify-self:center!important;
    font-size:16px!important;
    border-radius:12px!important;
  }
}
@media(max-width:1180px){
  .curriculum-admin-row.compact-lesson-row .lesson-delete-btn.icon-only{
    max-width:58px!important;
    width:58px!important;
    padding:0!important;
    font-size:16px!important;
  }
}

/* v75 curriculum insert + fold controls */
.curriculum-admin-head{
  grid-template-columns:28px 32px 32px minmax(0,1fr) auto!important;
  position:relative!important;
}
.curriculum-collapse-btn,
.curriculum-insert-btn{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  border-radius:999px!important;
  border:1px solid #ead3e8!important;
  background:#fff!important;
  color:var(--purple)!important;
  font-weight:950!important;
  display:inline-grid!important;
  place-items:center!important;
  padding:0!important;
  line-height:1!important;
  cursor:pointer!important;
  box-shadow:0 8px 18px rgba(75,15,69,.08)!important;
}
.curriculum-collapse-btn:hover,
.curriculum-insert-btn:hover,
.curriculum-insert-pill:hover{
  background:var(--purple)!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
}
.curriculum-insert-btn.section-insert-btn{justify-self:center!important;}
.curriculum-admin-row.compact-lesson-row{
  position:relative!important;
  padding-left:42px!important;
}
.curriculum-admin-row.compact-lesson-row .lesson-insert-btn{
  position:absolute!important;
  left:9px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:2!important;
}
.curriculum-admin-row.compact-lesson-row .lesson-insert-btn:hover{transform:translateY(-50%) scale(1.04)!important;}
.curriculum-insert-end,
.curriculum-section-insert-end{
  display:flex!important;
  justify-content:flex-start!important;
  padding:8px 14px 12px 42px!important;
  border-top:1px dashed #ecd7ea!important;
  background:#fffafd!important;
}
.curriculum-section-insert-end{padding-left:16px!important;}
.curriculum-insert-pill{
  border:1px dashed #d8aed4!important;
  background:#fff!important;
  color:var(--purple)!important;
  border-radius:999px!important;
  padding:8px 13px!important;
  min-height:32px!important;
  font-size:12px!important;
  font-weight:900!important;
  cursor:pointer!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
}
.curriculum-collapsed-note{
  margin:0!important;
  padding:14px 18px 16px 104px!important;
  color:#7b5576!important;
  font-size:13px!important;
  font-weight:800!important;
  background:#fff!important;
  border-top:1px dashed #ead8e8!important;
}
.curriculum-admin-section.is-collapsed{
  box-shadow:0 12px 30px rgba(75,15,69,.055)!important;
}
.curriculum-admin-section.is-collapsed .curriculum-admin-head{
  border-bottom-color:#f3e5f1!important;
}
.builder-page-tree .builder-page-row{scroll-margin-top:12px;}
.course-map-lessons button,
.builder-page-tree .builder-page-item{
  text-align:left!important;
}
@media(min-width:1181px){
  .curriculum-admin-row.compact-lesson-row{
    grid-template-columns:32px minmax(130px,1fr) minmax(145px,220px) 118px 128px 34px 34px 88px 96px 38px!important;
  }
}
@media(max-width:1180px){
  .curriculum-admin-head{grid-template-columns:28px 32px 32px minmax(0,1fr)!important;}
  .curriculum-admin-head .panel-actions{grid-column:1 / -1!important;}
  .curriculum-collapsed-note{padding-left:18px!important;}
}
@media(max-width:720px){
  .curriculum-admin-head{grid-template-columns:28px 32px 32px minmax(0,1fr)!important;}
  .curriculum-admin-title{font-size:14px!important;}
  .curriculum-admin-row.compact-lesson-row{padding-left:40px!important;}
  .curriculum-insert-end{padding-left:40px!important;}
}


/* v76: professional document viewer + stable mobile/tablet preview */
.builder-document-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid rgba(105,28,97,.12);background:#fff;color:#4b0f45;font-weight:900;}
.builder-document-toolbar span{font-size:.88rem;color:#6b3a65;}
.builder-document-toolbar .btn{white-space:nowrap;}
.builder-document-preview summary{user-select:none;}
.builder-document-preview summary::-webkit-details-marker{color:#79196f;}
.builder-download-row{display:flex;justify-content:flex-end;gap:10px;padding:12px 14px;background:#fff;border-top:1px solid rgba(105,28,97,.10);}
@media(max-width:1024px){
  .pdf-mobile-preview-card{display:block;}
  .builder-document-preview .builder-document-frame{display:none!important;height:0!important;min-height:0!important;}
  .builder-document-toolbar{display:none;}
  .builder-document-preview [data-protected-media-note]{display:block;padding:0 14px 12px;margin:0;}
}
@media(min-width:1025px){
  .pdf-mobile-preview-card{display:none!important;}
}

/* v78: faster login transition + bulk curriculum input */
.auth-loading-card{display:grid;justify-items:center;text-align:center;gap:10px;min-height:210px;align-content:center;}
.auth-spinner{width:34px;height:34px;border-radius:999px;border:4px solid #f0ddec;border-top-color:var(--purple);animation:jaSpin .8s linear infinite;display:inline-block;}
@keyframes jaSpin{to{transform:rotate(360deg)}}
.auth-submit-note{margin-top:8px!important;text-align:center;color:#6b3a65!important;font-weight:800;}
button[disabled]{opacity:.72;cursor:not-allowed;}
.bulk-curriculum-form .bulk-format-card{border:1px dashed #dec2dc;background:#fff8fd;border-radius:16px;padding:12px 14px;color:#4b0f45;display:grid;gap:6px;}
.bulk-curriculum-form .bulk-format-card code{white-space:normal;background:#fff;border:1px solid #f1dff0;border-radius:10px;padding:8px 10px;color:#79196f;font-weight:900;}
.bulk-curriculum-form textarea.tall{min-height:220px;font-size:13px;line-height:1.55;}


/* v79 brand upload + course image consistency */
.header-footer-panel input[type="file"]{padding:10px!important;background:#fff!important;border-style:dashed!important;}
.learn-course-thumb.course-photo-thumb{background:#fff!important;padding:0!important;justify-content:center!important;}
.learn-course-photo-img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}


/* v83 dashboard performance mode: keep the owner editor visually calm and cheap to repaint. */
.studio-dashboard *,
.studio-dashboard *::before,
.studio-dashboard *::after{
  animation-duration:0.001ms!important;
  animation-iteration-count:1!important;
  scroll-behavior:auto!important;
}
.studio-dashboard .btn:hover,
.studio-dashboard .studio-panel:hover,
.studio-dashboard .card:hover{
  transform:none!important;
}


/* v85 logo + mobile PDF preview */


/* v85: full uploaded header logo + mobile document preview refinement */
.logo-brand.brand-logo-full{
  min-width:0!important;
  width:auto!important;
  gap:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
.logo-brand.brand-logo-full .brand-logo-full-img{
  display:block!important;
  height:58px!important;
  width:auto!important;
  max-width:230px!important;
  object-fit:contain!important;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.preview-navbar .logo-brand.brand-logo-full{transform:none!important;min-width:0!important;}
.preview-navbar .logo-brand.brand-logo-full .brand-logo-full-img{height:50px!important;max-width:210px!important;}
.builder-device-frame.device-mobile .logo-brand.brand-logo-full .brand-logo-full-img{height:44px!important;max-width:170px!important;}
@media(max-width:760px){
  .logo-brand.brand-logo-full{min-width:0!important;}
  .logo-brand.brand-logo-full .brand-logo-full-img{height:48px!important;max-width:190px!important;}
  .navbar .logo-brand.brand-logo-full .brand-logo-full-img{height:52px!important;max-width:205px!important;}
}
.ja-pdf-preview-actions .btn[href*="/api/media/"]{white-space:nowrap;}
@media(max-width:760px){
  .ja-pdf-preview-actions a.btn{display:none!important;}
  .ja-pdf-preview-frame{background:#fff;}
}

/* v85 logo + mobile PDF preview
   Desktop/tablet image + dragged text/button compositions keep the owner's visual placement
   but the overlay rows no longer reserve empty blank sections below the image. */
.responsive-overlay-composition.composition-flow-locked{position:relative!important;overflow:visible!important;isolation:isolate;}
.responsive-overlay-composition.composition-flow-locked>.builder-entity-row{background:transparent!important;}
.responsive-overlay-composition.composition-flow-locked>.builder-text-entity-row,
.responsive-overlay-composition.composition-flow-locked>.builder-button-entity-row{padding-top:0!important;padding-bottom:0!important;}
.responsive-overlay-composition.composition-flow-locked>.builder-text-entity-row>.container,
.responsive-overlay-composition.composition-flow-locked>.builder-button-entity-row>.container{overflow:visible!important;}
.bulk-format-card code{white-space:normal;word-break:break-word;}


/* v86: course page hero image ratio + smart curriculum direction */
.course-sales-media{
  aspect-ratio:16/10!important;
  min-height:0!important;
  max-width:1120px!important;
  margin:0 auto!important;
  background:#fff!important;
}
.course-sales-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.course-sales-placeholder{
  min-height:0!important;
  height:100%!important;
  aspect-ratio:16/10!important;
}
.public-course-curriculum .course-curriculum-wide.curriculum-flow-ltr,
.course-curriculum-wide.curriculum-flow-ltr{direction:ltr!important;}
.public-course-curriculum .course-curriculum-wide.curriculum-flow-rtl,
.course-curriculum-wide.curriculum-flow-rtl{direction:rtl!important;}
.course-curriculum-wide .curriculum-course-row.flow-ltr{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  direction:ltr!important;
  text-align:left!important;
}
.course-curriculum-wide .curriculum-course-row.flow-rtl{
  display:flex!important;
  flex-direction:row-reverse!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  direction:rtl!important;
  text-align:right!important;
}
.course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title{
  flex:1 1 auto!important;
  min-width:0!important;
  text-align:left!important;
  direction:ltr!important;
}
.course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title{
  flex:1 1 auto!important;
  min-width:0!important;
  text-align:right!important;
  direction:rtl!important;
}
.course-curriculum-wide .curriculum-course-row.flow-ltr .course-start-badge,
.course-curriculum-wide .curriculum-course-row.flow-ltr .public-chip{
  flex:0 0 auto!important;
  margin-left:auto!important;
  margin-right:0!important;
  margin-inline-start:auto!important;
  margin-inline-end:0!important;
  direction:ltr!important;
  white-space:nowrap!important;
}
.course-curriculum-wide .curriculum-course-row.flow-rtl .course-start-badge,
.course-curriculum-wide .curriculum-course-row.flow-rtl .public-chip{
  flex:0 0 auto!important;
  margin-right:auto!important;
  margin-left:0!important;
  margin-inline-end:auto!important;
  margin-inline-start:0!important;
  direction:ltr!important;
  white-space:nowrap!important;
}
.public-course-curriculum .course-side-section h3,
.public-course-curriculum .course-side-section>h3{
  text-align:center!important;
  direction:inherit!important;
}
@media(max-width:900px){
  .course-sales-media{aspect-ratio:16/10!important;min-height:0!important;}
  .course-curriculum-wide .curriculum-course-row.flow-ltr,
  .course-curriculum-wide .curriculum-course-row.flow-rtl{gap:10px!important;padding:14px 16px!important;}
}


/* v87: hard fix for public course curriculum direction
   Required behavior:
   - English-only curriculum: lesson text left, action buttons right.
   - Arabic-only or mixed Arabic/English curriculum: lesson text right, action buttons left.
   The row itself stays LTR so left/right placement is physical and predictable. */
.course-curriculum-wide .curriculum-course-row.flow-ltr,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr{
  display:flex!important;
  flex-direction:row!important;
  direction:ltr!important;
  text-align:left!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  grid-template-columns:none!important;
}
.course-curriculum-wide .curriculum-course-row.flow-rtl,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl{
  display:flex!important;
  flex-direction:row!important;
  direction:ltr!important;
  text-align:right!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  grid-template-columns:none!important;
}
.course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title{
  order:1!important;
  flex:1 1 auto!important;
  min-width:0!important;
  text-align:left!important;
  direction:ltr!important;
  margin:0!important;
}
.course-curriculum-wide .curriculum-course-row.flow-ltr .course-start-badge,
.course-curriculum-wide .curriculum-course-row.flow-ltr .public-chip,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-start-badge,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .public-chip{
  order:2!important;
  flex:0 0 auto!important;
  margin-left:12px!important;
  margin-right:0!important;
  margin-inline-start:12px!important;
  margin-inline-end:0!important;
  justify-self:auto!important;
  direction:ltr!important;
  white-space:nowrap!important;
}
.course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title{
  order:2!important;
  flex:1 1 auto!important;
  min-width:0!important;
  text-align:right!important;
  direction:rtl!important;
  margin:0!important;
}
.course-curriculum-wide .curriculum-course-row.flow-rtl .course-start-badge,
.course-curriculum-wide .curriculum-course-row.flow-rtl .public-chip,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-start-badge,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .public-chip{
  order:1!important;
  flex:0 0 auto!important;
  margin-left:0!important;
  margin-right:12px!important;
  margin-inline-start:0!important;
  margin-inline-end:12px!important;
  justify-self:auto!important;
  direction:ltr!important;
  white-space:nowrap!important;
}
.course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title.dir-ltr,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title.dir-ltr{
  direction:ltr!important;
  text-align:right!important;
  unicode-bidi:plaintext!important;
}
@media(max-width:900px){
  .course-curriculum-wide .curriculum-course-row.flow-ltr,
  .course-curriculum-wide .curriculum-course-row.flow-rtl,
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr,
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl{
    gap:10px!important;
  }
}

/* v88: user program-card templates may be pasted from full HTML test pages.
   Scope the extracted CSS/body rules so they affect only the card preview/cards. */
.program-card-template-scope { width: 100%; }
.program-card-template-scope > .program-card { width: 100%; }
.program-card-template-scope .program-card img { max-width: 100%; }


/* v89 remove course mock logo seal from platform lesson completion/banner cards */
.learn-course-thumb.no-course-mock-seal .learn-course-seal,
.course-completion-card .learn-course-thumb.no-course-mock-seal .learn-course-seal{display:none!important;}
.learn-course-thumb.no-course-mock-seal{justify-content:flex-end!important;}

/* v90: public website polish, 16:9 media, safer search, compact platform, mobile document viewer */
.safe-search-wrap{margin:14px 0 18px;max-width:680px;}
.safe-search-label{display:block;margin:0 0 7px;color:#79196f;font-size:13px;font-weight:500;letter-spacing:.02em;}
.safe-searchbar{position:relative;width:100%;}
.safe-searchbar::before{content:"⌕";position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#79196f;font-size:18px;pointer-events:none;opacity:.72;}
.safe-searchbar input{width:100%;min-height:46px;border:1px solid #ead8e8;border-radius:16px;background:#fff;padding:0 16px 0 42px;color:#111827;font-size:15px;outline:none;box-shadow:0 10px 28px rgba(75,15,69,.045);}
.safe-searchbar input:focus{border-color:#79196f;box-shadow:0 0 0 4px rgba(121,25,111,.10),0 12px 32px rgba(75,15,69,.08);}
.admin-course-search{max-width:520px;margin:12px 0 14px;}

/* True 16:9 everywhere course/program imagery appears. */
.program-card .program-visual,
.program-card-template-scope .ja-card-media,
.program-card-template-scope .program-visual,
.browse-product-grid .program-card .program-visual,
.home-featured-programs .program-card .program-visual,
.learn-course-thumb.course-photo-thumb,
.learn-product-card .learn-course-thumb.course-photo-thumb,
.learn-owned-card .learn-course-thumb.course-photo-thumb,
.course-completion-card .learn-course-thumb.course-photo-thumb,
.course-sales-media{aspect-ratio:16/9!important;height:auto!important;min-height:0!important;}
.program-card .program-visual img,
.program-card-template-scope .ja-card-media img,
.program-card-template-scope .program-visual img,
.learn-course-photo-img,
.course-sales-media img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
.learn-owned-card .learn-course-thumb.course-photo-thumb{height:auto!important;min-height:0!important;align-self:stretch!important;}
.learn-owned-card .learn-course-photo-img{height:100%!important;min-height:0!important;}
.learn-product-card .learn-course-thumb.course-photo-thumb,.learn-product-card .learn-course-photo-img{height:auto!important;min-height:0!important;}
.course-completion-card .learn-course-thumb.course-photo-thumb,.course-completion-card .learn-course-photo-img{height:auto!important;min-height:0!important;}

/* /programs/course: smaller two-column hero with image left and copy right. */
.course-public-page .compact-course-hero{padding:38px 0 22px;background:#fff;}
.course-sales-hero-grid{display:grid;grid-template-columns:minmax(260px,430px) minmax(0,1fr);gap:30px;align-items:center;}
.course-sales-hero-grid .course-sales-media{max-width:430px!important;margin:0!important;border-radius:20px;overflow:hidden;border:1px solid #ead8e8;box-shadow:0 18px 45px rgba(75,15,69,.08);background:#fff;}
.course-sales-hero-grid .course-sales-copy{text-align:start!important;margin:0!important;padding:0!important;}
.course-sales-hero-grid .course-sales-copy h1{margin:0 0 12px;color:#111827;font-size:clamp(26px,3vw,42px);font-weight:500;line-height:1.15;}
.course-sales-hero-grid .course-long-description{text-align:start!important;margin:0!important;max-width:780px!important;color:#334155;line-height:1.72;font-size:clamp(15px,1.1vw,18px);}
.course-sales-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
@media(max-width:900px){.course-sales-hero-grid{grid-template-columns:1fr;gap:18px}.course-sales-hero-grid .course-sales-media{max-width:100%!important}.course-sales-hero-grid .course-sales-copy h1{font-size:28px}}

/* /programs/course curriculum polish. */
.public-curriculum-head{margin-bottom:14px!important;}
.public-curriculum-head h2{font-size:clamp(20px,1.7vw,26px)!important;font-weight:500!important;color:#79196f!important;letter-spacing:.01em!important;}
.public-course-curriculum .course-side-section>h3,
.public-course-curriculum .course-side-section h3.course-section-title{font-size:clamp(28px,3.4vw,38px)!important;font-weight:400!important;color:#79196f!important;line-height:1.25!important;padding:22px 24px 18px!important;background:#fff!important;}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row{border-radius:14px!important;margin:8px 0!important;border:1px solid transparent!important;background:#f7f7f8!important;transition:background .18s ease, transform .18s ease, box-shadow .18s ease!important;}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row:hover{background:#fbf3fa!important;box-shadow:none!important;transform:translateY(-1px)!important;}
.public-course-curriculum .course-curriculum-wide .course-lesson-title{display:flex!important;align-items:center!important;gap:10px!important;}
.public-course-curriculum .course-curriculum-wide .course-lesson-title::before{content:"";display:inline-block;flex:0 0 auto;width:16px;height:16px;border:1.5px solid #79196f;border-radius:8px;background:transparent;box-shadow:0 0 0 3px rgba(121,25,111,.04);}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title{justify-content:flex-start!important;flex-direction:row!important;}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title{justify-content:flex-end!important;flex-direction:row-reverse!important;}

/* Platform page: downscale cards, typography and spacing to reduce endless scrolling. */
.learn-home-page{padding-top:70px!important;}
.learn-dashboard-shell{width:min(1160px,calc(100% - 42px))!important;grid-template-columns:minmax(0,1fr) 260px!important;gap:26px!important;padding:28px 0 42px!important;}
.learn-dashboard-main h1{font-size:24px!important;margin-bottom:24px!important;font-weight:700!important;}
.learn-dashboard-main h2,.learn-section-headline h2{font-size:21px!important;margin-bottom:14px!important;}
.learn-owned-list{gap:14px!important;}
.learn-owned-card{grid-template-columns:260px 1fr!important;min-height:148px!important;}
.learn-owned-body{padding:16px 22px!important;gap:7px!important;}
.learn-owned-body h3{font-size:21px!important;line-height:1.22!important;}
.learn-status-line{font-size:14px!important;margin:2px 0!important;}.learn-mini{font-size:12px!important;}
.learn-outline-btn{min-height:42px!important;font-size:13px!important;padding:0 14px!important;}
.learn-section-headline{margin:42px 0 16px!important;}
.learn-product-grid{gap:18px!important;}
.learn-product-card .learn-product-body{padding:12px 14px 14px!important;}
.learn-product-card .learn-product-body h3{font-size:15px!important;line-height:1.25!important;margin-bottom:8px!important;}
.learn-product-card .learn-product-body p{font-size:11px!important;margin:3px 0!important;}
.learn-dashboard-side{padding-top:58px!important;gap:28px!important;}.learn-side-module h3{font-size:20px!important;margin-bottom:12px!important}.learn-side-module p{font-size:13px!important;margin-bottom:12px!important;}
@media(max-width:980px){.learn-dashboard-shell{grid-template-columns:1fr!important;width:min(820px,calc(100% - 28px))!important}.learn-owned-card{grid-template-columns:1fr!important}.learn-owned-card .learn-course-thumb.course-photo-thumb{aspect-ratio:16/9!important}.learn-dashboard-side{padding-top:0!important}}
@media(max-width:620px){.learn-dashboard-main h1{font-size:21px!important}.learn-dashboard-main h2,.learn-section-headline h2{font-size:19px!important}.learn-dashboard-shell{padding-top:18px!important}.learn-product-grid{grid-template-columns:1fr!important}}

/* Mobile/full-screen document viewer: avoid Google Docs iframe errors and give a stable reading shell. */
.ja-pdf-preview-frame{background:#fff!important;}
.ja-pdf-preview-head{box-shadow:0 1px 0 rgba(121,25,111,.12);}
@media(max-width:760px){.ja-pdf-preview-actions a.btn{display:inline-flex!important}.ja-pdf-preview-actions{gap:6px}.ja-pdf-preview-head strong{max-width:42%!important}.ja-pdf-preview-frame{height:calc(100dvh - 56px)!important}}


/* v92: search hard fix + header/hero containment refinement */
/* Header slightly shorter and consistent fixed-header offsets. */
.navbar{height:66px!important;}
.nav-inner{height:66px!important;}
.mobile-drawer{top:66px!important;}
.filterbar{top:66px!important;}
.dashboard{padding-top:66px!important;}
.sidebar{top:66px!important;min-height:calc(100vh - 66px)!important;}
.portal-header{padding-top:102px!important;}
.page-hero{padding-top:118px!important;}

.navbar .brand-logo-full-img{height:48px!important;max-height:48px!important;}
.navbar .brand-mark{width:40px!important;height:40px!important;border-radius:12px!important;}
.nav-link{padding:8px 12px!important;}
.nav-actions .btn,.navbar .btn{min-height:40px!important;padding:10px 16px!important;border-radius:13px!important;}

/* Keep /programs/course content safely below the fixed header. */
.course-public-page{padding-top:66px!important;}
.course-public-page .compact-course-hero{padding-top:24px!important;padding-bottom:18px!important;}
.course-sales-hero-grid{align-items:start!important;}
.course-sales-hero-grid .course-sales-media{aspect-ratio:16/9!important;max-width:360px!important;width:100%!important;}
.course-sales-hero-grid .course-sales-media .course-photo-thumb,
.course-sales-hero-grid .course-sales-media .program-thumb,
.course-sales-hero-grid .course-sales-media .learn-course-thumb,
.course-sales-hero-grid .course-sales-media img{aspect-ratio:16/9!important;height:auto!important;min-height:0!important;}
.course-sales-hero-grid .course-sales-copy{padding-top:4px!important;}
.course-sales-hero-grid .course-sales-copy h1{font-size:clamp(24px,2.4vw,36px)!important;}
.course-sales-hero-grid .course-long-description{font-size:clamp(14px,1vw,17px)!important;line-height:1.65!important;}

@media(max-width:900px){
  .course-public-page{padding-top:66px!important;}
  .course-public-page .compact-course-hero{padding-top:18px!important;}
  .course-sales-hero-grid .course-sales-media{max-width:100%!important;}
}


/* v93: course UI/dashboard refinements */
/* Header 10-15% shorter than the previous compact header. */
.navbar{height:58px!important;}
.nav-inner{height:58px!important;}
.mobile-drawer{top:58px!important;}
.filterbar{top:58px!important;}
.dashboard{padding-top:58px!important;}
.sidebar{top:58px!important;min-height:calc(100vh - 58px)!important;}
.portal-header{padding-top:94px!important;}
.page-hero{padding-top:108px!important;}
.navbar .brand-logo-full-img{height:42px!important;max-height:42px!important;max-width:190px!important;object-fit:contain!important;}
.navbar .brand-mark{width:36px!important;height:36px!important;border-radius:11px!important;}
.nav-link{padding:7px 11px!important;font-size:13px!important;}
.nav-actions .btn,.navbar .btn{min-height:36px!important;padding:8px 14px!important;border-radius:12px!important;}

/* Keep /programs content under fixed header. */
.programs-browse-shell{padding-top:calc(58px + 30px)!important;}

/* /programs/course hero: smaller 16:9 image left, copy right, no CTA buttons. */
.course-public-page{padding-top:58px!important;}
.course-public-page .compact-course-hero{padding-top:22px!important;padding-bottom:16px!important;}
.course-sales-hero-grid{grid-template-columns:minmax(220px,320px) minmax(0,1fr)!important;gap:26px!important;align-items:center!important;}
.course-sales-hero-grid .course-sales-media{max-width:320px!important;width:100%!important;aspect-ratio:16/9!important;}
.course-sales-actions{display:none!important;}
@media(max-width:900px){
  .programs-browse-shell{padding-top:calc(58px + 20px)!important;}
  .course-sales-hero-grid{grid-template-columns:1fr!important;}
  .course-sales-hero-grid .course-sales-media{max-width:100%!important;}
}

/* Public curriculum majority-direction bullet: physical far edge, then text. */
.public-course-curriculum .course-curriculum-wide .course-lesson-title::before{content:none!important;}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row{position:relative!important;}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr{padding-left:44px!important;}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl{padding-right:44px!important;}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr::before,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl::before{content:"";position:absolute;top:50%;transform:translateY(-50%);width:16px;height:16px;border:1.5px solid #79196f;border-radius:8px;background:transparent;box-shadow:0 0 0 3px rgba(121,25,111,.04);}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr::before{left:16px;}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl::before{right:16px;}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title{justify-content:flex-start!important;text-align:left!important;}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title{justify-content:flex-end!important;text-align:right!important;}

/* Platform cards: images stay inside the card, 16:9, never overflow into the text. */
.learn-card,.learn-owned-card,.learn-product-card{overflow:hidden!important;}
.learn-owned-card{grid-template-columns:minmax(0,250px) minmax(0,1fr)!important;align-items:stretch!important;}
.learn-owned-card .learn-course-thumb.course-photo-thumb,
.learn-product-card .learn-course-thumb.course-photo-thumb,
.course-completion-card .learn-course-thumb.course-photo-thumb{width:100%!important;max-width:100%!important;min-width:0!important;aspect-ratio:16/9!important;height:auto!important;min-height:0!important;align-self:stretch!important;overflow:hidden!important;}
.learn-owned-card .learn-course-photo-img,
.learn-product-card .learn-course-photo-img,
.course-completion-card .learn-course-photo-img{width:100%!important;height:100%!important;min-height:0!important;object-fit:cover!important;display:block!important;}
.learn-owned-body{min-width:0!important;}
.learn-owned-body h3{overflow-wrap:anywhere!important;}
@media(max-width:980px){.learn-owned-card{grid-template-columns:1fr!important;}.learn-owned-card .learn-course-thumb.course-photo-thumb{align-self:auto!important;}}

/* Dashboard course map show-more control. */
.course-map-more{width:100%!important;margin-top:10px!important;}

/* Dashboard-only modal behavior: visually signal that X / Esc are the close controls. */
body:has(.dashboard) .modal-backdrop.open{cursor:default!important;}
body:has(.dashboard) .modal-backdrop.open .modal{cursor:auto!important;}
.modal .close{min-width:36px!important;min-height:36px!important;border-radius:999px!important;background:#fff3fb!important;color:#79196f!important;border:1px solid #ead8e8!important;font-size:22px!important;font-weight:500!important;}
.modal .close:hover{background:#79196f!important;color:#fff!important;}

/* v94: final program/course layout polish */
/* Header: make the three main menu buttons clearer and slightly more separated without increasing header height. */
.nav-links{gap:12px!important;}
.nav-link{padding:9px 16px!important;font-size:14.5px!important;border-radius:13px!important;min-height:38px!important;display:inline-flex!important;align-items:center!important;}

/* /programs: search and categories side-by-side on desktop, stacked cleanly on mobile. */
.programs-filter-layout{display:grid;grid-template-columns:minmax(280px,0.9fr) minmax(360px,1.1fr);gap:22px;align-items:end;margin:18px 0 30px;}
.programs-filter-layout .browse-products-tools{margin:0!important;}
.programs-filter-layout .searchbar{margin:8px 0 0!important;max-width:none!important;}
.programs-filter-layout .searchbar input{background:#fff!important;color:#111827!important;border:1px solid #ead8e8!important;box-shadow:0 12px 30px rgba(75,15,69,.04)!important;}
.programs-filter-layout .searchbar input::placeholder{color:#9b7195!important;}
.programs-category-panel{min-width:0;}
.programs-category-panel .browse-categories-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px!important;}
.programs-category-panel .filterbar{position:static!important;top:auto!important;z-index:auto!important;background:transparent!important;border:0!important;}
.programs-category-panel .filters{padding:0!important;display:flex;gap:9px;flex-wrap:wrap;overflow:visible!important;}
.programs-category-panel .filter{background:#fff!important;border:1px solid #ead8e8!important;color:#4b0f45!important;}
.programs-category-panel .filter.active,.programs-category-panel .filter:hover{background:#79196f!important;color:#fff!important;}
@media(max-width:860px){.programs-filter-layout{grid-template-columns:1fr;gap:14px;margin-bottom:22px;}.nav-links{gap:6px!important}.nav-link{padding:8px 11px!important;font-size:13px!important}}

/* /programs/course: make the top course block feel like a balanced 50/50 composition. */
.course-public-page .compact-course-hero{padding-top:24px!important;padding-bottom:24px!important;}
.course-sales-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:34px!important;align-items:center!important;}
.course-sales-hero-grid .course-sales-media{max-width:none!important;width:100%!important;aspect-ratio:16/9!important;margin:0!important;}
.course-sales-hero-grid .course-sales-copy{width:100%!important;min-width:0!important;padding-inline:2px!important;}
.course-sales-hero-grid .course-sales-copy h1{font-size:clamp(25px,2.6vw,38px)!important;line-height:1.16!important;margin-bottom:14px!important;}
.course-sales-hero-grid .course-long-description{max-width:100%!important;font-size:clamp(14px,1.05vw,17px)!important;line-height:1.7!important;}
@media(max-width:900px){.course-sales-hero-grid{grid-template-columns:1fr!important;gap:18px!important}.course-sales-hero-grid .course-sales-media{max-width:100%!important}}

/* /programs/course curriculum: first 15 lessons are visible; extra lessons reveal via Show more. */

/* Keep all course images 16:9 in public/platform cards and prevent overflow. */
.program-card .program-visual,.program-card-template-scope .ja-card-media,.course-sales-media,.learn-course-thumb.course-photo-thumb,.learn-owned-card .learn-course-thumb.course-photo-thumb,.learn-product-card .learn-course-thumb.course-photo-thumb{aspect-ratio:16/9!important;overflow:hidden!important;}
.program-card .program-visual img,.program-card-template-scope .ja-card-media img,.course-sales-media img,.learn-course-photo-img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}


/* v95: programs filter labels on one line + course curriculum heading one size bigger */
.programs-filter-layout{
  grid-template-columns:minmax(420px,1fr) minmax(420px,1fr)!important;
  align-items:center!important;
  gap:24px!important;
}
.programs-filter-layout .browse-products-tools.safe-search-wrap{
  display:grid!important;
  grid-template-columns:max-content minmax(280px,1fr)!important;
  align-items:center!important;
  gap:14px!important;
  margin:0!important;
  max-width:none!important;
}
.programs-filter-layout .safe-search-label,
.programs-category-panel .browse-categories-head strong{
  margin:0!important;
  color:#79196f!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:500!important;
  letter-spacing:.01em!important;
  white-space:nowrap!important;
}
.programs-filter-layout .searchbar.compact{
  margin:0!important;
  min-width:0!important;
  width:100%!important;
  max-width:none!important;
}
.programs-category-panel{
  display:grid!important;
  grid-template-columns:max-content minmax(0,1fr)!important;
  align-items:center!important;
  gap:14px!important;
}
.programs-category-panel .browse-categories-head{
  display:block!important;
  margin:0!important;
}
.programs-category-panel .browse-categories-head .btn,
.programs-category-panel .browse-categories-head [data-show-all-categories]{display:none!important;}
.programs-category-panel .filterbar.clean{margin:0!important;}
.programs-category-panel .filters.compact-filters{align-items:center!important;}
.public-curriculum-head h2{
  font-size:clamp(23px,2vw,30px)!important;
  font-weight:500!important;
}
@media(max-width:980px){
  .programs-filter-layout{grid-template-columns:1fr!important;gap:14px!important;align-items:stretch!important;}
  .programs-filter-layout .browse-products-tools.safe-search-wrap,
  .programs-category-panel{grid-template-columns:1fr!important;align-items:stretch!important;gap:8px!important;}
  .programs-filter-layout .safe-search-label,
  .programs-category-panel .browse-categories-head strong{line-height:1.2!important;}
}

/* v96: programs smart search, 65/35 course hero, platform 16:9 cards, homepage category sections */
.programs-smart-filter{
  display:grid!important;
  grid-template-columns:minmax(260px,340px) minmax(420px,1fr)!important;
  gap:16px!important;
  align-items:center!important;
  margin:18px 0 30px!important;
}
.program-category-menu{
  display:grid!important;
  grid-template-columns:max-content minmax(150px,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  min-width:0!important;
}
.program-category-menu label{
  color:#79196f!important;
  font-size:14px!important;
  font-weight:500!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.program-category-select{
  height:48px!important;
  min-height:48px!important;
  border:1px solid #ead8e8!important;
  border-radius:15px!important;
  color:#4b0f45!important;
  background:#fff!important;
  box-shadow:0 10px 26px rgba(75,15,69,.04)!important;
  font-weight:600!important;
}
.program-search-box{min-width:0!important;}
.program-search-input-shell{
  min-height:52px!important;
  width:100%!important;
  border:1px solid #ead8e8!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 12px 30px rgba(75,15,69,.045)!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:6px 46px 6px 12px!important;
  position:relative!important;
  overflow:hidden!important;
}
.program-search-input-shell:focus-within{
  border-color:#79196f!important;
  box-shadow:0 0 0 4px rgba(121,25,111,.10),0 12px 32px rgba(75,15,69,.08)!important;
}
.program-search-input-shell input{
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:#111827!important;
  min-width:150px!important;
  flex:1 1 auto!important;
  height:36px!important;
  font-size:15px!important;
  padding:0!important;
  box-shadow:none!important;
}
.program-search-input-shell input::placeholder{color:#9b7195!important;}
.program-search-icon{
  position:absolute!important;
  right:15px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  color:#64748b!important;
  font-size:25px!important;
  line-height:1!important;
  pointer-events:none!important;
}
.program-search-token{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  max-width:45%!important;
  border:1px solid #ead8e8!important;
  background:#fbf3fa!important;
  color:#79196f!important;
  border-radius:999px!important;
  padding:6px 8px 6px 10px!important;
  font-size:12px!important;
  font-weight:600!important;
  white-space:nowrap!important;
}
.program-search-token span{overflow:hidden!important;text-overflow:ellipsis!important;}
.program-search-token button{
  border:0!important;
  background:#79196f!important;
  color:#fff!important;
  border-radius:999px!important;
  width:18px!important;
  height:18px!important;
  display:grid!important;
  place-items:center!important;
  cursor:pointer!important;
  line-height:1!important;
  padding:0!important;
}
.programs-filter-layout{display:none!important;}
@media(max-width:880px){
  .programs-smart-filter{grid-template-columns:1fr!important;gap:12px!important;}
  .program-category-menu{grid-template-columns:1fr!important;gap:8px!important;}
  .program-search-token{max-width:60%!important;}
}

/* Course public hero: 65/35 split, image contained 16:9. */
.course-public-page .compact-course-hero{padding-top:22px!important;padding-bottom:22px!important;}
.course-sales-hero-grid{
  grid-template-columns:minmax(0,1.65fr) minmax(280px,.9fr)!important;
  gap:34px!important;
  align-items:center!important;
}
.course-sales-hero-grid .course-sales-media{
  max-width:none!important;
  width:100%!important;
  aspect-ratio:16/9!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  overflow:hidden!important;
}
.course-sales-hero-grid .course-sales-media img,
.course-sales-hero-grid .course-sales-media .learn-course-photo-img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.course-sales-hero-grid .course-sales-copy{min-width:0!important;}
@media(max-width:900px){.course-sales-hero-grid{grid-template-columns:1fr!important;gap:18px!important;}}

/* Public curriculum hierarchy. */
.public-curriculum-head h2{
  font-size:clamp(26px,2.35vw,36px)!important;
  font-weight:500!important;
  color:#79196f!important;
}
.public-course-curriculum .course-side-section h3.course-section-title,
.public-course-curriculum .course-side-section>h3{
  font-size:clamp(19px,2vw,24px)!important;
  font-weight:400!important;
  color:#79196f!important;
  line-height:1.3!important;
  padding:16px 20px 14px!important;
}

/* Platform course cards: real 16:9 visual block inside the card, not stretched to the full row height. */
.learn-owned-card{
  grid-template-columns:minmax(0,250px) minmax(0,1fr)!important;
  align-items:center!important;
}
.learn-owned-card .learn-course-thumb.course-photo-thumb,
.learn-product-card .learn-course-thumb.course-photo-thumb,
.course-completion-card .learn-course-thumb.course-photo-thumb,
.learn-course-thumb.course-photo-thumb{
  aspect-ratio:16/9!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  align-self:center!important;
  overflow:hidden!important;
}
.learn-owned-card .learn-course-photo-img,
.learn-product-card .learn-course-photo-img,
.course-completion-card .learn-course-photo-img,
.learn-course-photo-img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
@media(max-width:980px){
  .learn-owned-card{grid-template-columns:1fr!important;}
  .learn-owned-card .learn-course-thumb.course-photo-thumb{align-self:auto!important;width:100%!important;}
}

/* Homepage category sections: 3 courses per category. */
.home-category-programs{display:grid;gap:34px;}
.home-program-category-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:0 0 16px;}
.home-program-category-head h3{margin:0;color:#79196f;font-size:clamp(22px,2.4vw,32px);font-weight:500;line-height:1.2;}
.home-program-category{min-width:0;}

/* v97: cute neutral circular category menu + cleaner programs search alignment */
.programs-smart-filter{
  grid-template-columns:max-content minmax(420px,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  margin:18px 0 30px!important;
}
.program-category-menu{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
}
.program-category-menu label{
  color:#79196f!important;
  font-size:14px!important;
  font-weight:500!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.program-category-control{
  position:relative!important;
  width:52px!important;
  height:52px!important;
  flex:0 0 52px!important;
}
.program-category-orb{
  width:52px!important;
  height:52px!important;
  border-radius:999px!important;
  border:1px solid #e5e7eb!important;
  background:#fff!important;
  color:#64748b!important;
  box-shadow:0 12px 28px rgba(15,23,42,.07)!important;
  display:grid!important;
  place-items:center!important;
  font-size:22px!important;
  line-height:1!important;
  cursor:pointer!important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease!important;
}
.program-category-control:hover .program-category-orb,
.program-category-control:focus-within .program-category-orb{
  transform:translateY(-1px)!important;
  border-color:#cbd5e1!important;
  background:#f8fafc!important;
  box-shadow:0 16px 32px rgba(15,23,42,.10)!important;
}
.program-category-select{
  position:absolute!important;
  inset:0!important;
  width:52px!important;
  height:52px!important;
  min-height:52px!important;
  border:0!important;
  border-radius:999px!important;
  opacity:0!important;
  cursor:pointer!important;
  appearance:auto!important;
  -webkit-appearance:auto!important;
}
.program-search-input-shell{
  min-height:52px!important;
  border-color:#ead8e8!important;
  border-radius:18px!important;
  padding:6px 48px 6px 12px!important;
}
.program-search-input-shell:focus-within{
  border-color:#c9a0c4!important;
  box-shadow:0 0 0 4px rgba(121,25,111,.08),0 12px 32px rgba(75,15,69,.07)!important;
}
.program-search-icon{
  right:15px!important;
  color:#64748b!important;
  font-size:27px!important;
  font-weight:400!important;
}
.program-search-token{
  background:#f8fafc!important;
  border-color:#e2e8f0!important;
  color:#475569!important;
}
.program-search-token button{
  background:#e2e8f0!important;
  color:#475569!important;
}
@media(max-width:880px){
  .programs-smart-filter{grid-template-columns:1fr!important;gap:12px!important;}
  .program-category-menu{justify-content:flex-start!important;}
  .program-category-control,.program-category-orb,.program-category-select{width:48px!important;height:48px!important;flex-basis:48px!important;}
}


/* v98: identity-colour search button on the right, rest of smart filter unchanged */
.program-search-input-shell{
  padding:6px 62px 6px 12px!important;
  overflow:hidden!important;
}
.program-search-icon{
  position:absolute!important;
  top:0!important;
  right:0!important;
  width:56px!important;
  height:100%!important;
  min-height:52px!important;
  display:grid!important;
  place-items:center!important;
  background:#79196f!important;
  color:#ffffff!important;
  border-radius:0 18px 18px 0!important;
  font-size:28px!important;
  font-weight:400!important;
  line-height:1!important;
  box-shadow:-8px 0 18px rgba(121,25,111,.10)!important;
  transform:none!important;
  pointer-events:none!important;
}
.program-search-input-shell:focus-within .program-search-icon{
  background:#691c61!important;
}
@media(max-width:560px){
  .program-search-input-shell{padding-right:58px!important;}
  .program-search-icon{width:52px!important;min-height:50px!important;font-size:25px!important;}
}

/* v99 builder block stability: make HTML/iframe/document blocks predictable on desktop + mobile */
.builder-html-output{width:100%;max-width:100%;overflow:hidden;}
.builder-html-output iframe,.custom-html-page iframe,.lesson-builder-html iframe,.custom-header-html iframe,.custom-footer-html iframe{display:block;width:100%;max-width:100%;min-height:420px;border:0;border-radius:18px;background:#f7f2f7;}
.builder-columns-block iframe{display:block;width:100%;max-width:100%;min-height:360px;border:0;border-radius:16px;background:#f7f2f7;}
.builder-document-preview{width:100%;max-width:100%;}
.ja-pdf-preview-overlay{position:fixed;inset:0;z-index:99999;background:rgba(19,9,18,.82);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:18px;}
.ja-pdf-preview-shell{width:min(1120px,96vw);height:min(900px,94vh);background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 35px 90px rgba(0,0,0,.35);display:flex;flex-direction:column;}
.ja-pdf-preview-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid #ead6e8;color:#4b0f45;background:#fff7fd;}
.ja-pdf-preview-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.ja-pdf-preview-frame{flex:1;width:100%;height:100%;border:0;background:#f7f2f7;}
body.pdf-preview-open{overflow:hidden;}
@media(max-width:800px){
  .builder-html-output iframe,.custom-html-page iframe,.lesson-builder-html iframe,.custom-header-html iframe,.custom-footer-html iframe{min-height:320px;border-radius:14px;}
  .ja-pdf-preview-overlay{padding:0;background:#fff;}
  .ja-pdf-preview-shell{width:100vw;height:100dvh;border-radius:0;box-shadow:none;}
  .ja-pdf-preview-head{padding:10px 12px;}
  .ja-pdf-preview-actions .btn{padding:8px 10px;font-size:12px;}
}

/* v101: keep document larger-preview inside the app instead of opening blank temp pages */
.ja-pdf-preview-overlay.expanded{padding:8px!important;background:rgba(19,9,18,.9)!important;}
.ja-pdf-preview-overlay.expanded .ja-pdf-preview-shell{width:calc(100vw - 16px)!important;height:calc(100dvh - 16px)!important;max-width:none!important;max-height:none!important;border-radius:14px!important;}
@media(max-width:760px){
  .ja-pdf-preview-overlay.expanded{padding:0!important;background:#fff!important;}
  .ja-pdf-preview-overlay.expanded .ja-pdf-preview-shell{width:100vw!important;height:100dvh!important;border-radius:0!important;}
  .ja-pdf-preview-head strong{max-width:50%!important;}
}

/* v103: /programs compact live search + course-type selector + placeholder direction + curriculum majority bullet polish */
.programs-smart-filter{
  display:grid!important;
  grid-template-columns:max-content minmax(220px,.42fr) minmax(520px,.58fr)!important;
  gap:14px!important;
  align-items:center!important;
}
.program-category-menu{min-width:max-content!important;}
.program-search-box{min-width:0!important;width:100%!important;}
.program-search-input-shell{width:100%!important;max-width:none!important;}
.program-type-filter{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  align-items:center!important;
  gap:4px!important;
  min-height:52px!important;
  padding:5px!important;
  border:1px solid #ead8e8!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 12px 30px rgba(75,15,69,.045)!important;
  min-width:0!important;
}
.program-type-pill{
  border:0!important;
  background:transparent!important;
  color:#475569!important;
  border-radius:13px!important;
  min-height:40px!important;
  padding:0 8px!important;
  font-size:12px!important;
  font-weight:500!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  transition:background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease!important;
}
.program-type-pill:hover{background:#f8fafc!important;color:#111827!important;}
.program-type-pill.active{
  background:#79196f!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(121,25,111,.18)!important;
}
.program-type-pill.active:hover{background:#691c61!important;color:#fff!important;}
input.input,textarea.textarea,input[type="search"],input[type="text"],textarea{
  text-align:start!important;
  unicode-bidi:plaintext!important;
}
input::placeholder,textarea::placeholder{unicode-bidi:plaintext!important;text-align:start!important;}
@media(max-width:1180px){
  .programs-smart-filter{grid-template-columns:max-content minmax(260px,1fr)!important;}
  .program-type-filter{grid-column:1 / -1!important;}
}
@media(max-width:680px){
  .programs-smart-filter{grid-template-columns:1fr!important;}
  .program-category-menu{justify-content:flex-start!important;}
  .program-type-filter{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .program-type-pill:last-child{grid-column:1 / -1!important;}
}

/* Latest curriculum request: majority decides physical layout; Arabic-majority = text right, action left; English-majority = text left, action right. The square bullet follows the opposite side of the text. */
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl{
  padding-left:24px!important;
  padding-right:24px!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr::before,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl::before{content:none!important;}
.public-course-curriculum .course-curriculum-wide .course-lesson-title::before{
  content:""!important;
  display:inline-block!important;
  flex:0 0 auto!important;
  width:16px!important;
  height:16px!important;
  border:1.5px solid #79196f!important;
  border-radius:8px!important;
  background:transparent!important;
  box-shadow:0 0 0 3px rgba(121,25,111,.04)!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:10px!important;
  flex-direction:row!important;
  text-align:right!important;
  direction:rtl!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title{
  display:flex!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:10px!important;
  flex-direction:row-reverse!important;
  text-align:left!important;
  direction:ltr!important;
}

/* v105: homepage groups by course type + wider type selector + match course-type bar height to search */
.program-type-filter{
  height:52px!important;
  min-height:52px!important;
  max-height:52px!important;
  align-self:stretch!important;
}
.program-type-pill{
  min-height:40px!important;
  height:40px!important;
  line-height:1!important;
}
.home-program-category-head h3{
  text-transform:none!important;
}
.home-program-category-head .btn{
  white-space:nowrap!important;
}
@media(max-width:680px){
  .program-type-filter{height:auto!important;max-height:none!important;min-height:52px!important;}
}


/* v106: homepage type sections centered headings + centered identity Show all button. */
.home-program-category-head{
  display:block!important;
  text-align:center!important;
  margin:0 0 20px!important;
}
.home-program-category-head h3{
  margin:0 auto!important;
  color:#79196f!important;
  font-size:clamp(26px,3vw,40px)!important;
  font-weight:400!important;
  line-height:1.18!important;
  text-align:center!important;
}
.home-program-category-more{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  margin-top:22px!important;
}
.home-show-all-btn{
  min-width:150px!important;
  padding:12px 28px!important;
  border-radius:999px!important;
  border:1px solid #79196f!important;
  background:#79196f!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:400!important;
  line-height:1!important;
  box-shadow:0 10px 24px rgba(121,25,111,.18)!important;
}
.home-show-all-btn:hover{
  background:#4b0f45!important;
  border-color:#4b0f45!important;
  transform:translateY(-1px);
}
@media(max-width:720px){
  .home-program-category-head h3{font-size:28px!important;}
  .home-show-all-btn{width:min(240px,100%)!important;}
}

/* v108: realistic builder preview, centered mobile cards, stronger text/button toolboxes, no blank overlay rows */
.builder-app:not(.preview-fullscreen) .builder-live-shell{
  overflow:auto!important;
  display:block!important;
  text-align:left!important;
  padding:18px 18px 72px!important;
}
.builder-app:not(.preview-fullscreen) .builder-device-zoom-wrap{
  margin-left:auto!important;
  margin-right:auto!important;
}
.builder-device-frame.device-desktop{width:1366px!important;min-width:1366px!important;min-height:900px!important;border:0!important;border-radius:8px!important;}
.builder-device-frame.device-tablet{width:768px!important;min-width:768px!important;min-height:1024px!important;border:14px solid #111827!important;border-radius:34px!important;background:#fff!important;}
.builder-device-frame.device-mobile{width:390px!important;min-width:390px!important;min-height:844px!important;border:14px solid #111827!important;border-radius:38px!important;background:#fff!important;}
.builder-device-frame.device-desktop .builder-preview-site{min-height:900px!important;border-radius:8px!important;}
.builder-device-frame.device-tablet .builder-preview-site{min-height:1024px!important;border-radius:20px!important;}
.builder-device-frame.device-mobile .builder-preview-site{min-height:844px!important;border-radius:24px!important;}

/* Simulate the public responsive rules inside the preview frame because media queries see the owner dashboard window, not the phone frame. */
.builder-device-frame.device-mobile .container{width:min(100% - 28px,390px)!important;max-width:390px!important;margin-left:auto!important;margin-right:auto!important;}
.builder-device-frame.device-tablet .container{width:min(100% - 44px,720px)!important;max-width:720px!important;margin-left:auto!important;margin-right:auto!important;}
.builder-device-frame.device-mobile .grid,
.builder-device-frame.device-mobile .grid-2,
.builder-device-frame.device-mobile .grid-3,
.builder-device-frame.device-mobile .grid-4{grid-template-columns:1fr!important;justify-items:center!important;}
.builder-device-frame.device-tablet .grid-3,
.builder-device-frame.device-tablet .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.builder-device-frame.device-mobile .hero{min-height:auto!important;padding:112px 0 58px!important;}
.builder-device-frame.device-mobile .hero-grid{grid-template-columns:1fr!important;gap:30px!important;}
.builder-device-frame.device-mobile .hero-card,
.builder-device-frame.device-mobile .floating-card{position:relative!important;right:auto!important;bottom:auto!important;width:auto!important;}
.builder-device-frame.device-mobile .nav-links,
.builder-device-frame.device-mobile .nav-actions{display:none!important;}
.builder-device-frame.device-mobile .mobile-menu-btn{display:block!important;margin-left:auto!important;}
.builder-device-frame.device-mobile .program-foot{align-items:stretch!important;flex-direction:column!important;}
.builder-device-frame.device-mobile .program-foot .btn{width:100%!important;}

/* Home cards: phone view stays one-by-one, but centered. Desktop remains unchanged. */
@media(max-width:800px){
  .home-program-category .browse-product-grid,
  .home-category-programs .browse-product-grid{grid-template-columns:1fr!important;justify-items:center!important;}
  .home-program-category .program-card,
  .home-category-programs .program-card{width:min(100%,360px)!important;max-width:360px!important;margin-left:auto!important;margin-right:auto!important;}
}
.builder-device-frame.device-mobile .home-program-category .browse-product-grid,
.builder-device-frame.device-mobile .home-category-programs .browse-product-grid{grid-template-columns:1fr!important;justify-items:center!important;}
.builder-device-frame.device-mobile .home-program-category .program-card,
.builder-device-frame.device-mobile .home-category-programs .program-card{width:min(100%,340px)!important;max-width:340px!important;margin-left:auto!important;margin-right:auto!important;}

/* Custom button settings must beat compact dashboard button rules. */
.builder-preview-site .builder-button-entity .btn,
.public-block .builder-button-entity .btn,
.builder-button-entity-row .btn{
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:normal!important;
}
.button-style-toolbox .style-mini-row,
.text-style-toolbox .style-mini-row{align-items:end!important;}

/* When text/buttons are dragged over an image composition, their old rows collapse and no white gaps remain. */
.responsive-overlay-composition.composition-flow-locked{position:relative!important;isolation:isolate!important;overflow:visible!important;}
.responsive-overlay-composition.composition-flow-locked>.builder-entity-row{background:transparent!important;}
.responsive-overlay-composition.composition-flow-locked>.builder-text-entity-row,
.responsive-overlay-composition.composition-flow-locked>.builder-button-entity-row{
  height:0!important;
  min-height:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  margin:0!important;
  overflow:visible!important;
  position:relative!important;
  z-index:5!important;
}
.responsive-overlay-composition.composition-flow-locked>.builder-text-entity-row>.container,
.responsive-overlay-composition.composition-flow-locked>.builder-button-entity-row>.container{
  height:0!important;
  min-height:0!important;
  overflow:visible!important;
}
.responsive-overlay-composition.composition-flow-locked .builder-text-block,
.responsive-overlay-composition.composition-flow-locked .builder-button-entity{background:transparent!important;box-shadow:none!important;}
.builder-text-block[style*="background:#ffffff"][style*="padding:0px"]{background:transparent!important;}

/* v109 button toolbox split: text toolbox controls label, button toolbox controls body. */
.builder-button-label{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  width:100%;
  max-width:100%;
  pointer-events:none;
  white-space:normal!important;
}
.builder-preview-site .builder-button-entity .btn,
.public-block .builder-button-entity .btn,
.builder-button-entity-row .btn{
  box-sizing:border-box!important;
  min-width:fit-content;
  padding-left:max(8px,var(--ja-button-pad-x,22px))!important;
  padding-right:max(8px,var(--ja-button-pad-x,22px))!important;
  padding-top:max(6px,var(--ja-button-pad-y,12px))!important;
  padding-bottom:max(6px,var(--ja-button-pad-y,12px))!important;
}

/* v110 text/background + entity overlay ownership fix */
.builder-text-block{
  background:transparent!important;
  box-shadow:none!important;
}
.builder-text-surface{
  max-width:100%;
  box-sizing:border-box;
}
.builder-text-surface>.builder-rich-text:last-child{margin-bottom:0!important;}
.responsive-overlay-composition.composition-flow-locked>.builder-entity-row:not(:first-child){
  height:0!important;
  min-height:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  margin:0!important;
  overflow:visible!important;
  position:relative!important;
  z-index:5!important;
  background:transparent!important;
}
.responsive-overlay-composition.composition-flow-locked>.builder-entity-row:not(:first-child)>.container{
  height:0!important;
  min-height:0!important;
  overflow:visible!important;
}
.responsive-overlay-composition.composition-flow-locked .builder-text-surface{
  pointer-events:auto;
}
.entity-position-toolbox .toolbox-head span::after{
  content:' · applies inside the current section under the item';
}

/* v111 image overrides + preview visibility/drag priority */
.builder-image-block picture{
  display:block;
  width:100%;
}
.builder-image-block picture img{
  display:block;
  width:100%;
}
.image-device-toolbox{
  display:grid;
  gap:10px;
}
.builder-preview-site [data-responsive-composition] .builder-image-entity-row{
  z-index:1!important;
}
.builder-preview-site [data-responsive-composition] .builder-text-entity-row,
.builder-preview-site [data-responsive-composition] .builder-button-entity-row{
  z-index:8!important;
}
.builder-preview-site [data-live-inner]{
  pointer-events:auto!important;
}
.builder-preview-site .builder-text-entity-row .builder-live-inner,
.builder-preview-site .builder-button-entity-row .builder-live-inner{
  z-index:12!important;
}
.builder-preview-site .builder-image-entity-row .builder-live-inner{
  z-index:2!important;
}
.builder-preview-site .builder-text-surface,
.builder-preview-site .builder-button-label{
  pointer-events:none!important;
}


/* v112: hard preview visibility + overlay drag hit priority */
.builder-preview-site [data-live-inner]{
  position:relative!important;
  touch-action:none!important;
  user-select:none!important;
}
.builder-preview-site [data-responsive-composition] .builder-text-entity-row .builder-live-inner,
.builder-preview-site [data-responsive-composition] .builder-button-entity-row .builder-live-inner{
  z-index:50!important;
  cursor:move!important;
}
.builder-preview-site [data-responsive-composition] .builder-image-entity-row .builder-live-inner{
  z-index:5!important;
}
.builder-preview-site [data-live-inner].moving{
  z-index:999!important;
  cursor:grabbing!important;
}


/* v114: safe typing direction + curriculum orientation fixes */
input.input,
textarea.textarea,
input[type="search"],
input[type="text"],
input[type="email"],
input[type="url"],
input[type="number"],
textarea{
  unicode-bidi:isolate!important;
  text-align:start!important;
}
input.input[dir="ltr"],textarea.textarea[dir="ltr"],input[type="search"][dir="ltr"],input[type="text"][dir="ltr"],input[type="email"][dir="ltr"],input[type="url"][dir="ltr"],textarea[dir="ltr"]{direction:ltr!important;}
input.input[dir="rtl"],textarea.textarea[dir="rtl"],input[type="search"][dir="rtl"],input[type="text"][dir="rtl"],input[type="email"][dir="rtl"],input[type="url"][dir="rtl"],textarea[dir="rtl"]{direction:rtl!important;}

.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr{
  direction:ltr!important;
  flex-direction:row!important;
  text-align:left!important;
  padding-left:44px!important;
  padding-right:14px!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl{
  direction:ltr!important;
  flex-direction:row!important;
  text-align:right!important;
  padding-right:44px!important;
  padding-left:14px!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr::before{left:16px!important;right:auto!important;}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl::before{right:16px!important;left:auto!important;}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title{
  order:1!important;
  flex:1 1 auto!important;
  justify-content:flex-start!important;
  text-align:left!important;
  margin:0!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title{
  order:2!important;
  flex:1 1 auto!important;
  justify-content:flex-end!important;
  text-align:right!important;
  margin:0!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-start-badge,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .public-chip{
  order:2!important;
  margin-left:12px!important;
  margin-right:0!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-start-badge,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .public-chip{
  order:1!important;
  margin-right:12px!important;
  margin-left:0!important;
}
.public-course-curriculum .course-curriculum-wide .course-lesson-title.dir-ltr{
  direction:ltr!important;
  unicode-bidi:isolate!important;
}
.public-course-curriculum .course-curriculum-wide .course-lesson-title.dir-rtl{
  direction:rtl!important;
  unicode-bidi:isolate!important;
}


/* v116: hard fix for search typing, search lag, and curriculum physical direction */
#programSearch,
#adminCourseSearch,
.safe-searchbar input,
.program-search-input-shell input{
  direction:ltr!important;
  unicode-bidi:isolate!important;
  text-align:left!important;
  caret-color:auto!important;
}

.course-curriculum-wide .curriculum-course-row,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  grid-template-columns:none!important;
  width:100%!important;
}
.course-curriculum-wide .curriculum-course-row::before,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row::before{
  content:none!important;
}
.course-curriculum-wide .course-lesson-title,
.public-course-curriculum .course-curriculum-wide .course-lesson-title{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  flex:1 1 auto!important;
  margin:0!important;
}
.course-curriculum-wide .course-lesson-title::before,
.public-course-curriculum .course-curriculum-wide .course-lesson-title::before{
  content:""!important;
  display:inline-block!important;
  flex:0 0 auto!important;
  width:16px!important;
  height:16px!important;
  border:1.5px solid #79196f!important;
  border-radius:999px!important;
  background:transparent!important;
  box-shadow:0 0 0 3px rgba(121,25,111,.04)!important;
}
.course-curriculum-wide .curriculum-course-row.flow-ltr,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr{
  direction:ltr!important;
  flex-direction:row!important;
  text-align:left!important;
  padding-left:20px!important;
  padding-right:20px!important;
}
.course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title{
  order:1!important;
  justify-content:flex-start!important;
  text-align:left!important;
  margin-right:12px!important;
  margin-left:0!important;
}
.course-curriculum-wide .curriculum-course-row.flow-ltr .course-start-badge,
.course-curriculum-wide .curriculum-course-row.flow-ltr .public-chip,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-start-badge,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .public-chip{
  order:2!important;
  flex:0 0 auto!important;
  margin-left:auto!important;
  margin-right:0!important;
  direction:ltr!important;
  white-space:nowrap!important;
}
.course-curriculum-wide .curriculum-course-row.flow-rtl,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl{
  direction:ltr!important;
  flex-direction:row!important;
  text-align:right!important;
  padding-left:20px!important;
  padding-right:20px!important;
}
.course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title{
  order:2!important;
  justify-content:flex-end!important;
  text-align:right!important;
  margin-left:12px!important;
  margin-right:0!important;
}
.course-curriculum-wide .curriculum-course-row.flow-rtl .course-start-badge,
.course-curriculum-wide .curriculum-course-row.flow-rtl .public-chip,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-start-badge,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .public-chip{
  order:1!important;
  flex:0 0 auto!important;
  margin-right:auto!important;
  margin-left:0!important;
  direction:ltr!important;
  white-space:nowrap!important;
}
.course-curriculum-wide .course-lesson-title.dir-ltr,
.public-course-curriculum .course-curriculum-wide .course-lesson-title.dir-ltr{
  direction:ltr!important;
  unicode-bidi:isolate!important;
}
.course-curriculum-wide .course-lesson-title.dir-rtl,
.public-course-curriculum .course-curriculum-wide .course-lesson-title.dir-rtl{
  direction:rtl!important;
  unicode-bidi:isolate!important;
}
@media(max-width:700px){
  .course-curriculum-wide .curriculum-course-row,
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row{
    gap:10px!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .course-curriculum-wide .course-lesson-title,
  .public-course-curriculum .course-curriculum-wide .course-lesson-title{font-size:14px!important;}
}


/* v117: builder flow lockdown + program pagination/search stability
   Normal sections/pages must remain in document flow. Only standalone +Text,
   +Image, and +Button blocks may use free positioning/overlay composition. */
.builder-preview-site .section,
.builder-preview-site .hero,
.builder-preview-site .page-hero,
.builder-preview-site .public-block,
.builder-preview-site .builder-preview-block,
.builder-preview-site .builder-shortcode-full{
  position:relative!important;
  clear:both!important;
  z-index:auto!important;
}
.builder-preview-site .builder-live-block.section-container-block:not(.builder-entity-row){
  position:relative!important;
  left:auto!important;
  top:auto!important;
  transform:none!important;
  min-height:0!important;
  background:transparent!important;
  cursor:default!important;
}
.builder-preview-site .section .smart-inner:not(.builder-live-inner),
.builder-preview-site .hero .smart-inner:not(.builder-live-inner),
.builder-preview-site .page-hero .smart-inner:not(.builder-live-inner){
  transform:none!important;
  margin-top:0!important;
  position:relative!important;
  z-index:auto!important;
}
.builder-preview-site .section .smart-inner:not(.builder-live-inner),
.builder-preview-site .hero .smart-inner:not(.builder-live-inner),
.builder-preview-site .page-hero .smart-inner:not(.builder-live-inner){
  cursor:default!important;
}
.builder-preview-site .builder-entity-row{
  position:relative!important;
  clear:none!important;
  z-index:1!important;
}
.builder-preview-site [data-live-inner]{
  cursor:move!important;
}
.builder-preview-site .responsive-overlay-composition{
  clear:both!important;
  position:relative!important;
}
.builder-preview-site .responsive-overlay-composition > .builder-entity-row{
  clear:none!important;
}
/* Remove legacy absolute free-canvas behavior from the visual builder. It caused
   independent sections to paint on top of each other. */
.builder-preview-site .free-page-canvas,
.free-page-canvas{
  position:relative!important;
  overflow:visible!important;
}
.builder-preview-site .free-page-block,
.free-page-block{
  position:relative!important;
  left:auto!important;
  top:auto!important;
}

/* Program browse: public page shows 10 cards at a time, then 10 more. */
.programs-show-more-wrap{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  margin:26px auto 0!important;
  min-height:38px!important;
}
.programs-show-more-btn{
  min-width:170px!important;
  border:1px solid #79196f!important;
  background:#fff7fd!important;
  color:#79196f!important;
  border-radius:999px!important;
}
.programs-show-more-btn:hover{
  background:#79196f!important;
  color:#fff!important;
}

/* Search fields are operational controls: force physical LTR editing so English
   never appears reversed and Backspace behaves normally. */
#programSearch,
#adminCourseSearch,
.program-search-input-shell input,
.safe-searchbar input{
  direction:ltr!important;
  text-align:left!important;
  unicode-bidi:plaintext!important;
  writing-mode:horizontal-tb!important;
  -webkit-writing-mode:horizontal-tb!important;
}
.program-search-input-shell{direction:ltr!important;}
.program-search-token{direction:ltr!important;}


/* v118 footer logo size fix: keep footer brand compact */
.footer .logo-brand{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  transform:none!important;
  min-width:0!important;
  max-width:180px!important;
}
.footer .brand-logo-full-img,
.footer .logo-brand.brand-logo-full .brand-logo-full-img{
  height:30px!important;
  max-height:30px!important;
  width:auto!important;
  max-width:145px!important;
  object-fit:contain!important;
}
.footer .brand-emblem{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  border-radius:9px!important;
  font-size:15px!important;
}
.footer .brand-wordmark span:first-child{font-size:13px!important;line-height:1!important;}
.footer .brand-wordmark span:nth-child(2){font-size:10px!important;line-height:1!important;letter-spacing:.18em!important;}
.footer .brand-wordmark small{font-size:8px!important;line-height:1.1!important;}
@media(max-width:620px){
  .footer .brand-logo-full-img,
  .footer .logo-brand.brand-logo-full .brand-logo-full-img{height:26px!important;max-height:26px!important;max-width:125px!important;}
  .footer .logo-brand{max-width:150px!important;}
}


/* v119: header/footer clearance for smart-built pages
   The public header is fixed on the real site, while the builder preview must show
   the header as a normal element. This prevents the first builder block from being
   hidden under the header and prevents the footer from overlapping floating rows. */
:root{
  --ja-live-header-clearance:66px;
}
.preview-real-navbar + main.smart-page-body,
.navbar.preview-real-navbar + main.smart-page-body{
  padding-top:var(--ja-live-header-clearance)!important;
}
.builder-preview-site > .navbar.preview-real-navbar{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  height:auto!important;
  min-height:66px!important;
  z-index:5!important;
  transform:none!important;
  margin:0!important;
}
.builder-preview-site > .navbar.preview-real-navbar + main.smart-page-body{
  padding-top:0!important;
}
.builder-device-frame.device-mobile .builder-preview-site > .navbar.preview-real-navbar{
  min-height:58px!important;
}
main.smart-page-body{
  display:block!important;
  position:relative!important;
  z-index:1!important;
  min-height:1px!important;
  overflow:visible!important;
  clear:both!important;
}
main.smart-page-body::after{
  content:"";
  display:block;
  clear:both;
}
.smart-page-footer,
.preview-footer{
  display:block!important;
  position:relative!important;
  clear:both!important;
  z-index:0!important;
  margin:0!important;
  overflow:hidden!important;
}
.builder-preview-site > .smart-page-footer,
.builder-preview-site > .preview-footer{
  position:relative!important;
  clear:both!important;
  margin-top:0!important;
  z-index:0!important;
}
.builder-preview-site > main.smart-page-body + .smart-page-footer,
.builder-preview-site > main.smart-page-body + .preview-footer{
  margin-top:0!important;
}
/* If a legacy free-position block still exists, keep only standalone entities above
   sections; never let generic smart sections/header/footer overlap each other. */
.builder-preview-site > main.smart-page-body > :not(.builder-entity-row):not(.responsive-overlay-composition){
  position:relative!important;
  clear:both!important;
  z-index:auto!important;
}
@media(max-width:700px){
  :root{--ja-live-header-clearance:58px;}
}


/* v120: robust public fixed-header clearance
   The real public navbar is fixed. Smart-built pages must start below it.
   Builder preview navbar remains normal-flow, so preview does not get extra padding. */
:root{--ja-public-header-clearance:58px;}
.navbar:not(.preview-real-navbar) + main.smart-page-body,
.navbar:not(.preview-real-navbar) + main.custom-html-page.smart-page-body{
  padding-top:var(--ja-public-header-clearance)!important;
  margin-top:0!important;
  box-sizing:border-box!important;
}
.navbar:not(.preview-real-navbar) + main.smart-page-body > :first-child{
  margin-top:0!important;
}
.custom-header-html + main.smart-page-body,
.builder-preview-site > .navbar + main.smart-page-body,
.builder-preview-site > .navbar.preview-real-navbar + main.smart-page-body{
  padding-top:0!important;
}
.footer{
  position:relative!important;
  clear:both!important;
  z-index:1!important;
}
@media(max-width:700px){
  :root{--ja-public-header-clearance:58px;}
}


/* v121: hard fixed-header spacer for smart-built public pages.
   Do not rely on adjacent selectors only; insert a real spacer in layout so
   fixed nav cannot cover the first text/image/block. */
.ja-fixed-header-spacer{
  display:block!important;
  width:100%!important;
  height:58px!important;
  min-height:58px!important;
  flex:0 0 58px!important;
  clear:both!important;
  pointer-events:none!important;
}
.ja-fixed-header-spacer + main.smart-page-body,
.ja-fixed-header-spacer + main.custom-html-page.smart-page-body{
  padding-top:0!important;
  margin-top:0!important;
}
/* If old rules still add clearance somewhere, the real spacer is the only clearance. */
.navbar:not(.preview-real-navbar) + .ja-fixed-header-spacer + main.smart-page-body,
.navbar:not(.preview-real-navbar) + .ja-fixed-header-spacer + main.custom-html-page.smart-page-body{
  padding-top:0!important;
}
.builder-preview-site .ja-fixed-header-spacer{display:none!important;height:0!important;min-height:0!important;}
@media(max-width:700px){.ja-fixed-header-spacer{height:58px!important;min-height:58px!important;}}

/* v122: relative builder flow for movable Text/Image/Button blocks
   Standalone moved entities now stay inside their own section row. The JS clamps
   negative Y for standalone rows and reserves vertical flow space for positive Y.
   Overlap remains available only inside image/composition groups. */
.smart-page-body > .builder-entity-row.builder-standalone-entity,
.builder-preview-site .builder-entity-row.builder-standalone-entity{
  position:relative!important;
  clear:both!important;
  z-index:1!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.smart-page-body > .builder-entity-row.builder-standalone-entity:first-child,
.builder-preview-site .builder-entity-row.builder-standalone-entity:first-child{
  margin-top:0!important;
}
.builder-entity-row.builder-standalone-entity .smart-inner{
  max-width:100%!important;
  box-sizing:border-box!important;
}
.responsive-overlay-composition .builder-entity-row.builder-composition-entity{
  clear:none!important;
  overflow:visible!important;
}
/* Give text-only first rows enough natural breathing room under the public header.
   This is layout space, not visual overlap, so it does not move the image below it. */
.navbar:not(.preview-real-navbar) + .ja-fixed-header-spacer + main.smart-page-body > .builder-text-entity-row:first-child,
.navbar:not(.preview-real-navbar) + main.smart-page-body > .builder-text-entity-row:first-child{
  padding-top:12px!important;
}
/* Long disclaimer text should wrap inside its own row instead of visually escaping. */
.builder-text-surface,
.builder-text-block{
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}


/* v125: Site Builder slider block with 10 transition styles */
.builder-slider-section{padding:42px 0!important;clear:both;position:relative;z-index:1;}
.builder-slider-section.builder-slider-bleed{padding:0!important;}
.builder-slider-container-contained{max-width:980px!important;}
.builder-slider-container-wide{max-width:1240px!important;}
.builder-slider-container-full{width:min(calc(100% - 20px),1500px)!important;max-width:1500px!important;}
.ja-slider{position:relative;width:100%;height:var(--ja-slider-height,520px);min-height:220px;overflow:hidden;border-radius:28px;background:#180516;box-shadow:0 22px 70px rgba(75,15,69,.16);isolation:isolate;}
.ja-slider-size-bleed{border-radius:0!important;box-shadow:none!important;}
.ja-slider-track,.ja-slide{position:absolute;inset:0;}
.ja-slide{opacity:0;pointer-events:none;transition:opacity .75s ease,transform .75s ease,filter .75s ease;will-change:opacity,transform,filter;overflow:hidden;}
.ja-slide.active{opacity:1;pointer-events:auto;z-index:2;}
.ja-slide picture,.ja-slider-fixed-media picture{width:100%;height:100%;display:block;}
.ja-slide picture img,.ja-slider-fixed-media picture img,.ja-slide img{width:100%;height:100%;object-fit:var(--ja-slider-fit,cover);display:block;transform:scale(1.001);transition:transform 6.5s ease;}
.ja-slider-placeholder{height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#79196f,#4b0f45);color:#fff;font-size:44px;font-weight:900;}
.ja-slider-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,3,11,.72),rgba(12,3,11,.35),rgba(12,3,11,.08));z-index:1;}
.ja-slider-copy{position:absolute;z-index:2;max-width:min(620px,calc(100% - 44px));color:#fff;padding:22px 24px;border-radius:24px;}
.ja-slider-copy h2{margin:0 0 10px;font-size:clamp(28px,4.8vw,58px);line-height:1.08;color:#fff;font-weight:600;unicode-bidi:plaintext;}
.ja-slider-copy p{margin:0;color:rgba(255,255,255,.84);font-size:clamp(15px,1.5vw,20px);line-height:1.65;white-space:pre-line;unicode-bidi:plaintext;}
.ja-slider-theme-glass .ja-slider-copy{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 18px 45px rgba(0,0,0,.16);}
.ja-slider-theme-dark .ja-slider-copy{background:rgba(20,5,18,.68);border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 45px rgba(0,0,0,.18);}
.ja-slider-theme-plain .ja-slider-copy{background:transparent;border:0;box-shadow:none;padding:0;text-shadow:0 3px 18px rgba(0,0,0,.45);}
.ja-slider-overlay-center-left .ja-slider-copy{left:6%;top:50%;transform:translateY(-50%);}
.ja-slider-overlay-center .ja-slider-copy{left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;}
.ja-slider-overlay-center-right .ja-slider-copy{right:6%;top:50%;transform:translateY(-50%);text-align:end;}
.ja-slider-overlay-bottom-left .ja-slider-copy{left:6%;bottom:8%;}
.ja-slider-overlay-bottom-center .ja-slider-copy{left:50%;bottom:8%;transform:translateX(-50%);text-align:center;}
.ja-slider-overlay-bottom-right .ja-slider-copy{right:6%;bottom:8%;text-align:end;}
.ja-slider-overlay-top-left .ja-slider-copy{left:6%;top:8%;}
.ja-slider-overlay-top-center .ja-slider-copy{left:50%;top:8%;transform:translateX(-50%);text-align:center;}
.ja-slider-overlay-top-right .ja-slider-copy{right:6%;top:8%;text-align:end;}
.ja-slider-actions{margin-top:18px!important;}
.ja-slider-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:44px;height:44px;border:1px solid rgba(255,255,255,.32);border-radius:999px;background:rgba(255,255,255,.16);color:#fff;font-size:34px;line-height:1;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(8px);}
.ja-slider-prev{left:18px}.ja-slider-next{right:18px}.ja-slider-nav:hover{background:rgba(255,255,255,.28)}
.ja-slider-dots{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:8px;z-index:4;}
.ja-slider-dots button{width:9px;height:9px;border-radius:999px;border:0;background:rgba(255,255,255,.44);padding:0;cursor:pointer;transition:.25s ease;}
.ja-slider-dots button.active{width:28px;background:#fff;}
.ja-slider-anim-slide-left .ja-slide{transform:translateX(100%)}.ja-slider-anim-slide-left .ja-slide.active{transform:translateX(0)}
.ja-slider-anim-slide-right .ja-slide{transform:translateX(-100%)}.ja-slider-anim-slide-right .ja-slide.active{transform:translateX(0)}
.ja-slider-anim-slide-up .ja-slide{transform:translateY(100%)}.ja-slider-anim-slide-up .ja-slide.active{transform:translateY(0)}
.ja-slider-anim-zoom .ja-slide{transform:scale(1.08)}.ja-slider-anim-zoom .ja-slide.active{transform:scale(1)}
.ja-slider-anim-ken-burns .ja-slide.active img{transform:scale(1.12) translate3d(-1.5%,0,0)}
.ja-slider-anim-blur .ja-slide{filter:blur(14px);transform:scale(1.035)}.ja-slider-anim-blur .ja-slide.active{filter:blur(0);transform:scale(1)}
.ja-slider-anim-flip{perspective:1300px}.ja-slider-anim-flip .ja-slide{transform:rotateY(70deg);transform-origin:center}.ja-slider-anim-flip .ja-slide.active{transform:rotateY(0)}
.ja-slider-anim-cube{perspective:1400px}.ja-slider-anim-cube .ja-slide{transform:translateX(24%) rotateY(-65deg);transform-origin:left center}.ja-slider-anim-cube .ja-slide.active{transform:translateX(0) rotateY(0)}
.ja-slider-anim-cards .ja-slide{transform:translateY(32px) scale(.94);filter:saturate(.82)}.ja-slider-anim-cards .ja-slide.active{transform:translateY(0) scale(1);filter:saturate(1)}
.builder-preview-site .ja-slider{box-shadow:0 12px 35px rgba(75,15,69,.13)}
@media(max-width:760px){.builder-slider-section{padding:24px 0!important}.ja-slider{height:min(var(--ja-slider-height,520px),620px);border-radius:18px}.ja-slider-size-bleed{border-radius:0!important}.ja-slider-copy{max-width:calc(100% - 32px);padding:16px 18px;border-radius:18px}.ja-slider-copy h2{font-size:clamp(24px,8vw,38px)}.ja-slider-copy p{font-size:14px}.ja-slider-overlay-center-left .ja-slider-copy,.ja-slider-overlay-center-right .ja-slider-copy,.ja-slider-overlay-center .ja-slider-copy{left:16px;right:16px;top:auto;bottom:54px;transform:none;text-align:start}.ja-slider-nav{width:38px;height:38px;font-size:28px}.ja-slider-prev{left:10px}.ja-slider-next{right:10px}}
@media(prefers-reduced-motion:reduce){.ja-slide,.ja-slide img,.ja-slider-dots button{transition:none!important;animation:none!important;transform:none!important;filter:none!important}}

/* v126 Smart Section Builder */
.ja-smart-section-wrap {
  position: relative;
  width: 100%;
  padding: 28px 16px;
  box-sizing: border-box;
}
.ja-smart-section-contained .ja-smart-section-stage {
  max-width: 1180px;
  margin: 0 auto;
}
.ja-smart-section-wide .ja-smart-section-stage {
  max-width: 1440px;
  margin: 0 auto;
}
.ja-smart-section-full .ja-smart-section-stage {
  width: min(100%, 100vw);
  margin: 0 auto;
}
.ja-smart-section-edge {
  padding-left: 0;
  padding-right: 0;
}
.ja-smart-section-edge .ja-smart-section-stage {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  border-radius: 0 !important;
}
.ja-smart-section-stage {
  position: relative;
  box-sizing: border-box;
  min-height: 360px;
  box-shadow: 0 18px 60px rgba(33, 7, 31, 0.08);
  isolation: isolate;
}
.smart-section-empty {
  position: absolute;
  inset: 24px;
  display: grid;
  place-items: center;
  border: 1px dashed rgba(121, 25, 111, 0.35);
  border-radius: 18px;
  color: #7d5f7a;
  text-align: center;
  background: rgba(255,255,255,0.42);
  pointer-events: none;
}
.smart-section-child {
  position: absolute;
  box-sizing: border-box;
  max-width: calc(100% - 12px);
  cursor: grab;
  touch-action: none;
}
.smart-section-child.active,
.smart-section-child.moving,
.smart-section-child.resizing {
  outline: 2px solid rgba(121, 25, 111, 0.8);
  outline-offset: 3px;
}
.smart-section-child.locked {
  cursor: default;
}
.smart-section-child.moving { cursor: grabbing; }
.smart-section-resizer {
  position: absolute;
  right: -8px;
  bottom: -8px;
  width: 17px;
  height: 17px;
  border-radius: 5px;
  background: #79196f;
  border: 2px solid #fff;
  box-shadow: 0 4px 14px rgba(0,0,0,.18);
  cursor: nwse-resize;
  z-index: 30;
}
.builder-preview-site .smart-section-child {
  transition: outline-color .15s ease, box-shadow .15s ease;
}
.builder-preview-site .smart-section-child:hover {
  outline: 1px dashed rgba(121, 25, 111, 0.55);
  outline-offset: 3px;
}
.smart-section-toolbox {
  border-color: rgba(121, 25, 111, 0.22);
  background: linear-gradient(180deg, rgba(121,25,111,.055), rgba(255,255,255,.82));
}
.builder-canvas-block[data-child-block="true"] {
  margin-left: 18px;
  border-left: 4px solid rgba(121,25,111,.35);
}
@media (max-width: 760px) {
  .ja-smart-section-wrap { padding: 18px 10px; }
  .ja-smart-section-stage { box-shadow: 0 12px 32px rgba(33,7,31,.07); }
  .smart-section-child { max-width: calc(100% - 8px); }
}

/* v127 Section Group Builder: curriculum-style sections with child blocks underneath */
.builder-add-hint{
  display:inline-flex;
  align-items:center;
  padding:8px 11px;
  border-radius:999px;
  background:rgba(121,25,111,.08);
  color:#5d1656;
  font-size:12px;
  font-weight:800;
  border:1px solid rgba(121,25,111,.14);
}
.builder-section-layer{
  border:1px solid rgba(121,25,111,.14);
  border-radius:18px;
  padding:10px;
  background:linear-gradient(180deg, rgba(121,25,111,.045), rgba(255,255,255,.96));
  margin-bottom:14px;
}
.builder-section-layer > .builder-canvas-block{
  margin-bottom:10px;
}
.builder-section-layer-children{
  display:grid;
  gap:8px;
  padding-left:22px;
  border-left:3px solid rgba(121,25,111,.22);
}
.builder-section-layer-empty{
  padding:13px 14px;
  border:1px dashed rgba(121,25,111,.28);
  border-radius:14px;
  color:#7d5f7a;
  background:rgba(255,255,255,.62);
  font-size:13px;
}
.ja-section-group-wrap{
  width:100%;
  padding:32px 16px;
  box-sizing:border-box;
}
.ja-section-group-contained .ja-section-group-stage{max-width:1180px;margin:0 auto;}
.ja-section-group-wide .ja-section-group-stage{max-width:1440px;margin:0 auto;}
.ja-section-group-full .ja-section-group-stage{width:min(100%,100vw);margin:0 auto;}
.ja-section-group-edge{padding-left:0;padding-right:0;}
.ja-section-group-edge .ja-section-group-stage{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  border-radius:0!important;
}
.ja-section-group-stage{
  box-sizing:border-box;
  box-shadow:0 18px 60px rgba(33,7,31,.08);
  border:1px solid rgba(121,25,111,.08);
}
.ja-section-group-head{
  margin:0 auto 24px;
}
.ja-section-group-head h2{
  margin:0 0 8px;
  color:#2b0a28;
}
.ja-section-group-items{
  display:grid;
  gap:22px;
}
.ja-section-group-child{
  position:relative;
  box-sizing:border-box;
}
.builder-preview-site .ja-section-group-child.active{
  outline:2px solid rgba(121,25,111,.75);
  outline-offset:5px;
  border-radius:14px;
}
.smart-section-empty.flow-empty{
  position:relative;
  inset:auto;
  min-height:110px;
}
@media(max-width:760px){
  .builder-section-layer-children{padding-left:12px;}
  .ja-section-group-wrap{padding:20px 10px;}
  .ja-section-group-stage{padding:20px!important;}
  .ja-section-group-items{gap:16px;}
}

/* v128 numbered section drop system */
.builder-tree-help{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:11px 13px;
  margin:0 0 12px;
  border-radius:14px;
  background:rgba(121,25,111,.07);
  border:1px solid rgba(121,25,111,.13);
  color:#4b0f45;
  font-size:13px;
}
.builder-tree-help span{color:#7d5f7a;font-size:12px;}
.builder-section-drop-label{
  font-size:12px;
  font-weight:900;
  color:#5d1656;
  margin:2px 0 8px 25px;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.builder-section-layer-children.builder-drop-hot,
.builder-canvas-block.builder-drop-hot{
  outline:2px dashed rgba(121,25,111,.72);
  outline-offset:4px;
  background:rgba(121,25,111,.06);
}
.builder-canvas-block.is-section-child{
  border-style:dashed;
  background:rgba(255,255,255,.86);
}
.builder-canvas-block .number-chip{
  background:#4b0f45;
  color:#fff;
  border-color:#4b0f45;
}
@media(max-width:760px){
  .builder-tree-help{display:block;}
  .builder-tree-help span{display:block;margin-top:4px;}
  .builder-section-drop-label{margin-left:12px;}
}

/* v129 builder polish: compact section list, clean section inspector, true bleed media inside groups */
.builder-tool-palette{gap:4px!important;max-width:620px!important;align-items:center!important;}
.builder-tool{min-height:24px!important;padding:3px 7px!important;font-size:10.5px!important;border-radius:10px!important;line-height:1.1!important;font-weight:520!important;}
.builder-add-hint,.builder-tree-help{display:none!important;}
.builder-canvas-block{padding:8px 9px!important;border-radius:14px!important;}
.builder-block-top{display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:nowrap!important;border-bottom:0!important;padding-bottom:0!important;margin-bottom:0!important;min-width:0!important;}
.builder-block-label{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:150px!important;font-size:14px!important;}
.builder-block-actions{margin-left:auto!important;display:flex!important;gap:4px!important;flex-wrap:nowrap!important;align-items:center!important;white-space:nowrap!important;}
.builder-block-actions .btn,.builder-block-actions .compact-action{min-height:26px!important;padding:5px 7px!important;font-size:11px!important;border-radius:9px!important;line-height:1!important;}
.builder-block-actions .icon-only{width:26px!important;min-width:26px!important;padding:5px 0!important;display:inline-grid!important;place-items:center!important;}
.builder-block-top .status,.builder-block-top .chip{font-size:10.5px!important;padding:5px 7px!important;white-space:nowrap!important;}
.builder-mini-preview{margin-top:8px!important;}
.builder-section-layer{padding:8px!important;border-radius:16px!important;}
.builder-section-layer > .builder-canvas-block{margin-bottom:8px!important;}
.builder-section-layer-children{gap:7px!important;padding-left:14px!important;}
.builder-section-drop-label{font-size:11px!important;margin:2px 0 7px 16px!important;font-weight:700!important;letter-spacing:.04em!important;}
.builder-canvas-block.is-section-child{margin-left:0!important;border-left:3px solid rgba(121,25,111,.28)!important;}
.section-child-chip{background:#f6e8f4!important;color:#6b1762!important;}
.inspector-topline{display:flex!important;align-items:end!important;gap:8px!important;margin-bottom:10px!important;}
.inspector-topline .compact-field{flex:1 1 auto!important;margin:0!important;}
.visible-toggle{margin-bottom:3px!important;white-space:nowrap!important;}
.clean-section-toolbox{margin-top:0!important;}
.clean-section-toolbox .toolbox-head{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:8px!important;margin-bottom:10px!important;}
.clean-section-toolbox .toolbox-head span:not(.help-tip){display:none!important;}
.builder-app-inspector .btn.full{display:none!important;}
.builder-app-inspector .inspector-group.compact-note,
.builder-app-inspector .inspector-style-alert{display:none!important;}
.ja-section-group-head{display:none!important;}
.ja-section-group-stage{overflow:visible!important;}
.ja-section-group-child .builder-slider-section.builder-slider-bleed,
.ja-section-group-child .builder-image-block.builder-image-size-bleed{
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding-left:0!important;
  padding-right:0!important;
  border-radius:0!important;
  border:0!important;
  box-shadow:none!important;
}
.ja-section-group-child .builder-image-block.builder-image-size-bleed{padding:0!important;background:transparent!important;}
.ja-section-group-child .builder-image-block.builder-image-size-bleed img,
.ja-section-group-child .builder-image-block.builder-image-size-bleed picture img{border-radius:0!important;max-height:none!important;width:100%!important;}
.ja-section-group-child .builder-slider-section.builder-slider-bleed .ja-slider{border-radius:0!important;}
@media(max-width:900px){
  .builder-block-top{flex-wrap:wrap!important;}
  .builder-block-actions{width:100%!important;justify-content:flex-start!important;}
}

/* v130 section polish: flush first media, transparent sections truly transparent, quiet builder UI */
.builder-save-state{display:none!important;}
.builder-app .builder-tool{min-height:22px!important;padding:3px 6px!important;font-size:10px!important;border-radius:9px!important;}
.builder-block-actions .btn,.builder-block-actions .compact-action{min-height:24px!important;padding:4px 6px!important;font-size:10.5px!important;border-radius:8px!important;}
.builder-block-actions .icon-only{width:24px!important;min-width:24px!important;}
.clean-section-controls{display:grid;gap:12px;margin:0;padding:0;background:transparent;border:0;box-shadow:none;}
.clean-section-controls>.help-tip{justify-self:end;margin-bottom:-4px;}
.ja-section-group-stage[data-section-bg="transparent"],
.ja-smart-section-stage[data-section-bg="transparent"]{box-shadow:none!important;border:0!important;background:transparent!important;}
.ja-section-group-wrap[data-section-bg="transparent"]{background:transparent!important;}
main>.builder-slider-section:first-child,
main>.builder-image-entity-row:first-child,
.course-public-page>.builder-slider-section:first-child,
.course-public-page>.builder-image-entity-row:first-child{padding-top:0!important;margin-top:0!important;}
main>.ja-section-group-wrap:first-child.ja-section-group-first-media,
.course-public-page>.ja-section-group-wrap:first-child.ja-section-group-first-media{padding-top:0!important;margin-top:0!important;}
.ja-section-group-first-bleed-media .ja-section-group-stage{padding-top:0!important;padding-left:0!important;padding-right:0!important;}
.ja-section-group-first-bleed-media .ja-section-group-items{gap:0!important;}
.ja-section-group-child .builder-slider-section.builder-slider-bleed,
.ja-section-group-child .builder-image-block.builder-image-size-bleed{
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding-left:0!important;
  padding-right:0!important;
  border-radius:0!important;
  border:0!important;
  box-shadow:none!important;
}
.ja-section-group-child:first-child .builder-slider-section.builder-slider-bleed,
.ja-section-group-child:first-child .builder-image-block.builder-image-size-bleed{margin-top:0!important;}
.ja-section-group-child .builder-image-block.builder-image-size-bleed{padding:0!important;background:transparent!important;}
.ja-section-group-child .builder-image-block.builder-image-size-bleed img,
.ja-section-group-child .builder-image-block.builder-image-size-bleed picture img{border-radius:0!important;max-height:none!important;width:100%!important;display:block;}
.ja-section-group-child .builder-slider-section.builder-slider-bleed .ja-slider{border-radius:0!important;}

/* v131 section/preview precision: aspect-ratio media, realistic section spacing, text bleed, real preview footer */
.ja-slider.ja-slider-height-ratio-16-9,
.ja-slider.ja-slider-height-ratio-4-5,
.ja-slider.ja-slider-height-ratio-1-1{
  height:auto!important;
  aspect-ratio:var(--ja-slider-aspect,16 / 9)!important;
  min-height:0!important;
}
.ja-slider.ja-slider-height-fixed{
  height:var(--ja-slider-height,520px)!important;
  aspect-ratio:auto!important;
}
@media(max-width:760px){
  .ja-slider.ja-slider-height-ratio-16-9{min-height:190px!important;}
  .ja-slider-copy{max-width:calc(100% - 26px)!important;padding:16px 17px!important;border-radius:18px!important;}
}
.builder-image-block.builder-image-bleed img,
.builder-image-block.builder-image-size-bleed img,
.builder-image-block.builder-image-bleed picture img,
.builder-image-block.builder-image-size-bleed picture img{
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
}
.builder-image-block.builder-image-bleed,
.builder-image-block.builder-image-size-bleed{overflow:visible!important;}
.ja-section-group-items{gap:24px!important;}
.ja-section-group-first-bleed-media .ja-section-group-items{gap:24px!important;}
.ja-section-group-first-bleed-media .ja-section-group-child:first-child{margin-bottom:0!important;}
.ja-section-group-first-bleed-media .ja-section-group-child:not(.ja-section-group-child-bleed){
  padding-left:var(--ja-section-pad,36px)!important;
  padding-right:var(--ja-section-pad,36px)!important;
  box-sizing:border-box!important;
}
.ja-section-group-child-bleed + .ja-section-group-child:not(.ja-section-group-child-bleed){
  margin-top:0!important;
}
.ja-section-group-child-bleed .builder-slider-section.builder-slider-bleed,
.ja-section-group-child-bleed .builder-image-block.builder-image-size-bleed{
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
}
.builder-text-size-wide{width:100%;max-width:1180px;}
.builder-text-size-full{width:100%;max-width:none!important;}
.builder-text-size-bleed{width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;}
.builder-text-entity-row.builder-text-size-full>.container,
.builder-text-entity-row.builder-text-size-bleed>.container{
  width:100%!important;
  max-width:none!important;
}
.builder-text-entity-row.builder-text-size-bleed>.container{padding-left:0!important;padding-right:0!important;}
.builder-text-size-full .builder-text-surface,
.builder-text-size-bleed .builder-text-surface{width:100%;}
.builder-text-size-bleed .builder-text-surface{box-sizing:border-box;}
.smart-section-child .builder-slider-section.builder-slider-bleed,
.smart-section-child .builder-image-block.builder-image-size-bleed{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}
.smart-section-child .builder-slider-section,
.smart-section-child .section{padding:0!important;}
.builder-preview-site .footer{
  display:block!important;
  clear:both!important;
  width:100%!important;
  margin:0!important;
  position:relative!important;
  z-index:0!important;
}
.builder-preview-site > .navbar + .ja-fixed-header-spacer + main.smart-page-body,
.builder-preview-site > .navbar + main.smart-page-body{clear:both!important;}
.builder-preview-site main.smart-page-body{background:var(--page-bg,#fff);}
@media(max-width:760px){
  .ja-section-group-first-bleed-media .ja-section-group-child:not(.ja-section-group-child-bleed){padding-left:20px!important;padding-right:20px!important;}
  .builder-text-size-bleed{width:100%!important;margin-left:0!important;margin-right:0!important;}
}


/* v132: professional text edge spacing + remove free-canvas UI remnants */
.builder-text-size-bleed{
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  box-sizing:border-box!important;
}
.builder-text-size-bleed .builder-text-surface{
  width:100%!important;
  box-sizing:border-box!important;
  padding-left:clamp(22px,5vw,84px)!important;
  padding-right:clamp(22px,5vw,84px)!important;
}
.builder-text-entity-row.builder-text-size-bleed>.container{
  padding-left:0!important;
  padding-right:0!important;
}
.ja-section-group-child .builder-text-size-bleed{
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}
.ja-section-group-child .builder-text-size-bleed .builder-text-surface{
  padding-left:clamp(20px,4vw,64px)!important;
  padding-right:clamp(20px,4vw,64px)!important;
}
@media(max-width:760px){
  .builder-text-size-bleed{width:100%!important;margin-left:0!important;margin-right:0!important;}
  .builder-text-size-bleed .builder-text-surface{padding-left:20px!important;padding-right:20px!important;}
}

/* v133: course curriculum direction, program browse, and lesson completion polish */
.public-course-curriculum .course-curriculum-wide.curriculum-flow-ltr,
.course-curriculum-wide.curriculum-flow-ltr{
  direction:ltr!important;
}
.public-course-curriculum .course-curriculum-wide.curriculum-flow-rtl,
.course-curriculum-wide.curriculum-flow-rtl{
  direction:rtl!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr,
.course-curriculum-wide .curriculum-course-row.flow-ltr{
  display:flex!important;
  flex-direction:row!important;
  direction:ltr!important;
  text-align:left!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl,
.course-curriculum-wide .curriculum-course-row.flow-rtl{
  display:flex!important;
  flex-direction:row-reverse!important;
  direction:rtl!important;
  text-align:right!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title,
.course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title{
  order:0!important;
  flex:1 1 auto!important;
  min-width:0!important;
  text-align:left!important;
  direction:ltr!important;
  display:flex!important;
  justify-content:flex-start!important;
  align-items:center!important;
  flex-direction:row!important;
  margin:0!important;
  unicode-bidi:plaintext!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title,
.course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title{
  order:0!important;
  flex:1 1 auto!important;
  min-width:0!important;
  text-align:right!important;
  direction:rtl!important;
  display:flex!important;
  justify-content:flex-start!important;
  align-items:center!important;
  flex-direction:row!important;
  margin:0!important;
  unicode-bidi:plaintext!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-start-badge,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .public-chip,
.course-curriculum-wide .curriculum-course-row.flow-ltr .course-start-badge,
.course-curriculum-wide .curriculum-course-row.flow-ltr .public-chip{
  order:0!important;
  flex:0 0 auto!important;
  margin-left:12px!important;
  margin-right:0!important;
  direction:ltr!important;
  white-space:nowrap!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-start-badge,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .public-chip,
.course-curriculum-wide .curriculum-course-row.flow-rtl .course-start-badge,
.course-curriculum-wide .curriculum-course-row.flow-rtl .public-chip{
  order:0!important;
  flex:0 0 auto!important;
  margin-left:0!important;
  margin-right:12px!important;
  direction:ltr!important;
  white-space:nowrap!important;
}
.public-course-curriculum .course-curriculum-wide .course-lesson-title::before,
.course-curriculum-wide .course-lesson-title::before{
  content:""!important;
  display:inline-block!important;
  flex:0 0 auto!important;
  width:14px!important;
  height:14px!important;
  border:1.5px solid #79196f!important;
  border-radius:999px!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(121,25,111,.045)!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title::before,
.course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title::before{
  margin-right:10px!important;
  margin-left:0!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title::before,
.course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title::before{
  margin-left:10px!important;
  margin-right:0!important;
}
.course-completion-card h2,
.course-completion-card p,
.course-completion-card .learn-outline-btn,
.course-completion-card .learn-outline-btn.small{
  font-weight:400!important;
}
.course-completion-card h2{
  font-size:clamp(19px,2vw,24px)!important;
  line-height:1.35!important;
}

/* v134 enrollment and inbox polish */
.course-enroll-final-card{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.5rem;border:1px solid rgba(121,25,111,.14);border-radius:24px;background:#fff;box-shadow:0 18px 44px rgba(20,10,30,.08)}
.course-enroll-final-card h2{margin:.25rem 0 .35rem}.course-enroll-final-card p{margin:0;color:#6b5f6a}.enrollment-form-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:1.25rem;align-items:start}.enrollment-form .form-traditional-head h2{margin:0 0 .25rem}.enrollment-form .form-traditional-head p{margin:0 0 1rem;color:#6b5f6a}.enrollment-form .full{width:100%;justify-content:center}.enrollment-info-card{position:sticky;top:96px}.enrollment-info-card p{margin:.45rem 0}.inbox-panel .soft-rule{border:0;border-top:1px solid rgba(121,25,111,.12);margin:1.5rem 0}.compact-actions{display:flex;gap:.4rem;align-items:center;flex-wrap:nowrap}.enrollment-result p{font-size:1rem;line-height:1.7}.enrollment-request-modal p{margin:.45rem 0}@media(max-width:850px){.course-enroll-final-card{display:block}.course-enroll-final-card .btn{margin-top:1rem;width:100%}.enrollment-form-layout{grid-template-columns:1fr}.enrollment-info-card{position:static}}


/* v136: definitive public curriculum flow + cleaner enrollment form */
.public-course-curriculum .course-curriculum-wide.curriculum-flow-ltr,
.course-curriculum-wide.curriculum-flow-ltr{direction:ltr!important;}
.public-course-curriculum .course-curriculum-wide.curriculum-flow-rtl,
.course-curriculum-wide.curriculum-flow-rtl{direction:rtl!important;}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row,
.course-curriculum-wide .curriculum-course-row{
  display:grid!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  direction:ltr!important;
  border:0!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr,
.course-curriculum-wide .curriculum-course-row.flow-ltr{
  grid-template-columns:minmax(0,1fr) max-content max-content!important;
  text-align:left!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl,
.course-curriculum-wide .curriculum-course-row.flow-rtl{
  grid-template-columns:max-content max-content minmax(0,1fr)!important;
  text-align:right!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title,
.course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title{
  grid-column:1!important;
  justify-self:start!important;
  text-align:left!important;
  direction:ltr!important;
  display:flex!important;
  flex-direction:row!important;
  justify-content:flex-start!important;
  align-items:center!important;
  margin:0!important;
  min-width:0!important;
  max-width:100%!important;
  unicode-bidi:plaintext!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title,
.course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title{
  grid-column:3!important;
  justify-self:end!important;
  text-align:right!important;
  direction:rtl!important;
  display:flex!important;
  flex-direction:row!important;
  justify-content:flex-start!important;
  align-items:center!important;
  margin:0!important;
  min-width:0!important;
  max-width:100%!important;
  unicode-bidi:plaintext!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-start-badge,
.course-curriculum-wide .curriculum-course-row.flow-ltr .course-start-badge{
  grid-column:2!important;
  justify-self:end!important;
  margin:0!important;
  direction:ltr!important;
  white-space:nowrap!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .public-chip,
.course-curriculum-wide .curriculum-course-row.flow-ltr .public-chip{
  grid-column:3!important;
  justify-self:end!important;
  margin:0!important;
  direction:ltr!important;
  white-space:nowrap!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-start-badge,
.course-curriculum-wide .curriculum-course-row.flow-rtl .course-start-badge{
  grid-column:1!important;
  justify-self:start!important;
  margin:0!important;
  direction:ltr!important;
  white-space:nowrap!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .public-chip,
.course-curriculum-wide .curriculum-course-row.flow-rtl .public-chip{
  grid-column:2!important;
  justify-self:start!important;
  margin:0!important;
  direction:ltr!important;
  white-space:nowrap!important;
}
.public-course-curriculum .course-curriculum-wide .course-lesson-title::before,
.course-curriculum-wide .course-lesson-title::before{
  content:""!important;
  display:inline-block!important;
  flex:0 0 auto!important;
  width:12px!important;
  height:12px!important;
  border:1.5px solid #79196f!important;
  border-radius:999px!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(121,25,111,.04)!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title::before,
.course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title::before{margin-right:10px!important;margin-left:0!important;}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title::before,
.course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title::before{margin-left:10px!important;margin-right:0!important;}
@media(max-width:620px){
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr,
  .course-curriculum-wide .curriculum-course-row.flow-ltr{grid-template-columns:minmax(0,1fr) max-content!important;}
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl,
  .course-curriculum-wide .curriculum-course-row.flow-rtl{grid-template-columns:max-content minmax(0,1fr)!important;}
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .public-chip,
  .course-curriculum-wide .curriculum-course-row.flow-ltr .public-chip{grid-column:2!important;}
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title,
  .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title{grid-column:2!important;}
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .public-chip,
  .course-curriculum-wide .curriculum-course-row.flow-rtl .public-chip{grid-column:1!important;}
}
.enrollment-page .enrollment-form-layout{grid-template-columns:minmax(0,1fr) minmax(260px,.38fr)!important;}
.enrollment-course-card{position:sticky;top:96px;}
.enrollment-course-card h3{margin-top:0;}
.enrollment-course-title{font-weight:900;font-size:clamp(18px,2vw,26px);line-height:1.35;margin:.35rem 0 1rem;color:#4b0f45;}
.enrollment-form input[readonly]{background:#f8f6f8;color:#4b0f45;font-weight:800;}
@media(max-width:850px){.enrollment-page .enrollment-form-layout{grid-template-columns:1fr!important}.enrollment-course-card{position:static;}}


/* v138: centered final enrollment CTA */
.course-enroll-final-card-centered{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1rem;padding:2rem 1.5rem}
.course-enroll-final-card-centered h2{margin:0;font-size:clamp(1.45rem,2.5vw,2rem);line-height:1.25}
.course-enroll-final-btn{min-width:170px;max-width:240px;width:auto;justify-content:center}
@media(max-width:850px){.course-enroll-final-card-centered .btn{width:auto;margin-top:0}}


/* v139: FINAL public curriculum physical layout.
   Arabic course flow: OPEN/PREVIEW button on the physical LEFT, lesson title + bullet on the RIGHT.
   English course flow: title + bullet on the LEFT, button on the physical RIGHT.
   This intentionally overrides older flex/grid rules above. */
.public-course-curriculum .course-curriculum-wide .curriculum-course-row,
.course-curriculum-wide .curriculum-course-row{
  display:grid!important;
  align-items:center!important;
  column-gap:12px!important;
  direction:ltr!important;
  width:100%!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr,
.course-curriculum-wide .curriculum-course-row.flow-ltr{
  grid-template-columns:minmax(0,1fr) max-content max-content!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl,
.course-curriculum-wide .curriculum-course-row.flow-rtl{
  grid-template-columns:max-content max-content minmax(0,1fr)!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title,
.course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title{
  grid-column:1!important;
  justify-self:start!important;
  text-align:left!important;
  direction:ltr!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  unicode-bidi:plaintext!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title,
.course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title{
  grid-column:3!important;
  justify-self:end!important;
  text-align:right!important;
  direction:rtl!important;
  display:flex!important;
  flex-direction:row-reverse!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  unicode-bidi:plaintext!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-start-badge,
.course-curriculum-wide .curriculum-course-row.flow-ltr .course-start-badge{
  grid-column:2!important;
  justify-self:end!important;
  margin:0!important;
  direction:ltr!important;
  white-space:nowrap!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .public-chip,
.course-curriculum-wide .curriculum-course-row.flow-ltr .public-chip{
  grid-column:3!important;
  justify-self:end!important;
  margin:0!important;
  direction:ltr!important;
  white-space:nowrap!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-start-badge,
.course-curriculum-wide .curriculum-course-row.flow-rtl .course-start-badge{
  grid-column:1!important;
  justify-self:start!important;
  margin:0!important;
  direction:ltr!important;
  white-space:nowrap!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .public-chip,
.course-curriculum-wide .curriculum-course-row.flow-rtl .public-chip{
  grid-column:2!important;
  justify-self:start!important;
  margin:0!important;
  direction:ltr!important;
  white-space:nowrap!important;
}
.public-course-curriculum .course-curriculum-wide .course-lesson-title::before,
.course-curriculum-wide .course-lesson-title::before{
  content:""!important;
  display:inline-block!important;
  flex:0 0 auto!important;
  width:12px!important;
  height:12px!important;
  border:1.5px solid #79196f!important;
  border-radius:999px!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(121,25,111,.04)!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title::before,
.course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title::before{
  margin-right:10px!important;
  margin-left:0!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title::before,
.course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title::before{
  margin-left:10px!important;
  margin-right:0!important;
}
@media(max-width:620px){
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr,
  .course-curriculum-wide .curriculum-course-row.flow-ltr{grid-template-columns:minmax(0,1fr) max-content!important;}
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl,
  .course-curriculum-wide .curriculum-course-row.flow-rtl{grid-template-columns:max-content minmax(0,1fr)!important;}
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .public-chip,
  .course-curriculum-wide .curriculum-course-row.flow-ltr .public-chip{display:none!important;}
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title,
  .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title{grid-column:2!important;}
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .public-chip,
  .course-curriculum-wide .curriculum-course-row.flow-rtl .public-chip{display:none!important;}
}


/* v141: Equal Arabic/English curriculum is Arabic-dominant.
   flow-rtl = physical LEFT action button, physical RIGHT lesson text + bullet. */
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl,
.course-curriculum-wide .curriculum-course-row.flow-rtl{
  grid-template-columns:max-content minmax(0,1fr)!important;
  direction:ltr!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-start-badge,
.course-curriculum-wide .curriculum-course-row.flow-rtl .course-start-badge{
  grid-column:1!important;
  grid-row:1!important;
  justify-self:start!important;
  margin:0!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .public-chip,
.course-curriculum-wide .curriculum-course-row.flow-rtl .public-chip{
  display:none!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title,
.course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title{
  grid-column:2!important;
  grid-row:1!important;
  justify-self:end!important;
  text-align:right!important;
  direction:rtl!important;
  flex-direction:row-reverse!important;
}

/* v143 hard curriculum placement fix.
   Arabic flow (including equal Arabic/English count): action button physical LEFT, text+bullet physical RIGHT.
   English flow: text+bullet physical LEFT, action button physical RIGHT. */
.course-curriculum-wide .curriculum-course-row,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row{
  display:grid!important;
  align-items:center!important;
  direction:ltr!important;
  gap:14px!important;
  grid-template-columns:minmax(0,1fr) max-content!important;
  grid-template-areas:"title actions"!important;
  justify-content:normal!important;
  text-align:initial!important;
}
.course-curriculum-wide .curriculum-course-row.flow-rtl,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl{
  grid-template-columns:max-content minmax(0,1fr)!important;
  grid-template-areas:"actions title"!important;
  direction:ltr!important;
}
.course-curriculum-wide .curriculum-course-row .course-lesson-title,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row .course-lesson-title{
  grid-area:title!important;
  order:initial!important;
  flex:none!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
.course-curriculum-wide .curriculum-course-row .course-row-actions,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row .course-row-actions{
  grid-area:actions!important;
  order:initial!important;
  flex:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-width:max-content!important;
  margin:0!important;
  direction:ltr!important;
}
.course-curriculum-wide .curriculum-course-row .course-row-actions .course-start-badge,
.course-curriculum-wide .curriculum-course-row .course-row-actions .public-chip,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row .course-row-actions .course-start-badge,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row .course-row-actions .public-chip{
  order:initial!important;
  flex:0 0 auto!important;
  margin:0!important;
  margin-inline:0!important;
  justify-self:auto!important;
  white-space:nowrap!important;
}
.course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title{
  direction:ltr!important;
  text-align:left!important;
  justify-content:flex-start!important;
  flex-direction:row!important;
}
.course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title{
  direction:rtl!important;
  text-align:right!important;
  justify-content:flex-end!important;
  flex-direction:row-reverse!important;
}
.course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title.dir-ltr,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title.dir-ltr{
  direction:ltr!important;
  text-align:right!important;
  unicode-bidi:plaintext!important;
}
@media(max-width:620px){
  .course-curriculum-wide .curriculum-course-row,
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row,
  .course-curriculum-wide .curriculum-course-row.flow-rtl,
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl{
    grid-template-columns:1fr!important;
    grid-template-areas:"title" "actions"!important;
  }
  .course-curriculum-wide .curriculum-course-row.flow-rtl .course-row-actions,
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-row-actions{justify-content:flex-start!important;}
  .course-curriculum-wide .curriculum-course-row.flow-ltr .course-row-actions,
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-row-actions{justify-content:flex-start!important;}
}

/* v146 inbox pagination/search polish */
.dashboard-paged-list .inbox-search-wrap{margin:12px 0 10px;max-width:420px}
.dashboard-paged-list .inbox-pager-bar{margin:10px 0 12px;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.dashboard-paged-list .inbox-pager-bar + .table-wrap{margin-top:8px}
.dashboard-paged-list .soft-rule{margin:28px 0}

/* v147: absolute physical curriculum layout.
   Arabic-majority/tie: action button LEFT, lesson title + bullet RIGHT.
   English-majority: lesson title + bullet LEFT, action button RIGHT.
   Individual lesson language must NOT move the controls. */
.public-course-curriculum .course-curriculum-wide .curriculum-course-row,
.course-curriculum-wide .curriculum-course-row{
  display:grid!important;
  align-items:center!important;
  gap:14px!important;
  width:100%!important;
  min-height:48px!important;
  grid-template-columns:minmax(88px,max-content) minmax(0,1fr) minmax(0,74%)!important;
  direction:ltr!important;
  text-align:initial!important;
  padding:10px 18px!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row .course-row-actions,
.course-curriculum-wide .curriculum-course-row .course-row-actions{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  margin:0!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row .course-start-badge,
.public-course-curriculum .course-curriculum-wide .curriculum-course-row .public-chip,
.course-curriculum-wide .curriculum-course-row .course-start-badge,
.course-curriculum-wide .curriculum-course-row .public-chip{
  margin:0!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
  direction:ltr!important;
}
.public-course-curriculum .course-curriculum-wide .course-lesson-title,
.course-curriculum-wide .course-lesson-title{
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  unicode-bidi:isolate!important;
}
.public-course-curriculum .course-curriculum-wide .course-lesson-title::before,
.course-curriculum-wide .course-lesson-title::before,
.public-course-curriculum .course-curriculum-wide .course-lesson-title::after,
.course-curriculum-wide .course-lesson-title::after{
  content:none!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl,
.course-curriculum-wide .curriculum-course-row.flow-rtl{
  grid-template-columns:minmax(88px,max-content) minmax(0,1fr) minmax(0,74%)!important;
  direction:ltr!important;
  text-align:right!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-row-actions,
.course-curriculum-wide .curriculum-course-row.flow-rtl .course-row-actions{
  grid-column:1!important;
  justify-self:start!important;
  order:initial!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title,
.course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title{
  grid-column:3!important;
  justify-self:stretch!important;
  justify-content:flex-end!important;
  text-align:right!important;
  direction:rtl!important;
  order:initial!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title::after,
.course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title::after{
  content:""!important;
  display:inline-block!important;
  flex:0 0 auto!important;
  width:14px!important;
  height:14px!important;
  border:1.5px solid #79196f!important;
  border-radius:999px!important;
  background:transparent!important;
  box-shadow:0 0 0 3px rgba(121,25,111,.04)!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title.dir-ltr,
.course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title.dir-ltr{
  direction:ltr!important;
  text-align:right!important;
  justify-content:flex-end!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr,
.course-curriculum-wide .curriculum-course-row.flow-ltr{
  grid-template-columns:minmax(0,74%) minmax(0,1fr) minmax(88px,max-content)!important;
  direction:ltr!important;
  text-align:left!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title,
.course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title{
  grid-column:1!important;
  justify-self:stretch!important;
  justify-content:flex-start!important;
  text-align:left!important;
  direction:ltr!important;
  order:initial!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title::before,
.course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title::before{
  content:""!important;
  display:inline-block!important;
  flex:0 0 auto!important;
  width:14px!important;
  height:14px!important;
  border:1.5px solid #79196f!important;
  border-radius:999px!important;
  background:transparent!important;
  box-shadow:0 0 0 3px rgba(121,25,111,.04)!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-row-actions,
.course-curriculum-wide .curriculum-course-row.flow-ltr .course-row-actions{
  grid-column:3!important;
  justify-self:end!important;
  order:initial!important;
}
@media(max-width:700px){
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row,
  .course-curriculum-wide .curriculum-course-row{
    grid-template-columns:minmax(70px,max-content) minmax(0,1fr) minmax(0,65%)!important;
    gap:10px!important;
    padding:10px 12px!important;
  }
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr,
  .course-curriculum-wide .curriculum-course-row.flow-ltr{
    grid-template-columns:minmax(0,65%) minmax(0,1fr) minmax(70px,max-content)!important;
  }
  .public-course-curriculum .course-curriculum-wide .course-lesson-title,
  .course-curriculum-wide .course-lesson-title{font-size:13px!important;}
  .public-course-curriculum .course-curriculum-wide .course-start-badge,
  .course-curriculum-wide .course-start-badge{font-size:10px!important;padding:5px 8px!important;}
}

/* v154 course bundles, multi-categories, and stable course hero layout */
.category-check-grid,
.bundle-course-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:8px;
  padding:10px;
  border:1px solid #ead6e8;
  border-radius:14px;
  background:#fffafd;
}
.category-check-grid label,
.bundle-course-grid label{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border:1px solid #f0dff0;
  border-radius:12px;
  background:#fff;
  font-weight:700;
  font-size:13px;
}
.course-sales-hero-layout{display:grid;gap:26px;}
.course-sales-copy .course-category-line{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px;}
.course-short-description{max-width:780px;color:#334155;font-size:clamp(15px,1.1vw,18px);line-height:1.75;white-space:pre-line;unicode-bidi:plaintext;}
.course-short-description p{margin:0;}
.course-long-description-section{grid-column:1/-1;background:#fff;border:1px solid #ead6e8;border-radius:22px;padding:24px;box-shadow:0 18px 45px rgba(75,15,69,.06);}
.course-long-description-section h2{margin:0 0 12px;color:#4b0f45;font-size:clamp(22px,2vw,30px);font-weight:800;}
.course-public-page .course-long-description-section{text-align:start!important;}
.course-public-page .course-long-description-section .course-long-description{max-width:100%!important;margin:0!important;text-align:inherit!important;}
@media(max-width:700px){.course-long-description-section{padding:18px}.category-check-grid,.bundle-course-grid{grid-template-columns:1fr}}

/* v159 small dashboard/course refinements */
.safe-select-search {
  margin-bottom: 8px;
}
.public-collapsible-section {
  border: 1px solid rgba(121, 25, 111, 0.12);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.86);
  overflow: hidden;
}
.public-collapsible-section summary.course-section-title {
  cursor: pointer;
  list-style: none;
  padding: 16px 18px;
  margin: 0;
}
.public-collapsible-section summary.course-section-title::-webkit-details-marker {
  display: none;
}
.public-collapsible-section summary.course-section-title::after {
  content: '▾';
  float: inline-end;
  opacity: .7;
}
.public-collapsible-section:not([open]) summary.course-section-title::after {
  content: '▸';
}
.public-collapsible-section .curriculum-lesson-line {
  padding-inline: 12px;
}
.course-sales-media .protected-embed,
.course-portal-card-media .protected-embed {
  width: 100%;
  height: 100%;
  min-height: 100%;
  border-radius: inherit;
  overflow: hidden;
  background: #1f1024;
}
.course-sales-media .protected-embed iframe,
.course-portal-card-media .protected-embed iframe {
  width: 100%;
  height: 100%;
  min-height: 100%;
  border: 0;
  display: block;
}
.course-portal-grid {
  display: grid;
  gap: 18px;
}
.course-portal-card {
  display: grid;
  grid-template-columns: minmax(240px, 38%) 1fr;
  align-items: stretch;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid rgba(121, 25, 111, 0.16);
  background: #fff;
  box-shadow: 0 18px 45px rgba(75, 7, 63, .08);
  cursor: pointer;
}
.course-portal-card-media {
  min-height: 210px;
  background: #79196f;
}
.course-portal-card-media img,
.course-portal-card-media picture,
.course-portal-card-media > * {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.course-portal-card-copy {
  padding: 26px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
}
.course-portal-card-copy h2 {
  margin: 0;
  color: #4b073f;
}
.course-portal-card-copy p {
  margin: 0;
  color: #665269;
  line-height: 1.7;
}
.course-portal-card-copy a {
  align-self: flex-start;
  margin-top: 8px;
  color: #79196f;
  font-weight: 800;
  text-decoration: none;
}
.course-portal-card-copy a:hover {
  text-decoration: underline;
}
.inbox-course-group {
  border: 1px solid rgba(121,25,111,.14);
  border-radius: 18px;
  background: #fff;
  margin: 12px 0;
  overflow: hidden;
}
.inbox-course-group > summary {
  cursor: pointer;
  padding: 14px 16px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  background: rgba(121,25,111,.05);
}
.inbox-course-group .table-wrap,
.inbox-course-group table {
  margin: 0;
}
@media (max-width: 760px) {
  .course-portal-card {
    grid-template-columns: 1fr;
  }
  .course-portal-card-media {
    min-height: 180px;
  }
}

/* v161 searchable dropdowns + compact enrollment inbox */
.ja-hidden-native-select{display:none!important;}
.ja-combo,.ja-multi-combo{position:relative;width:100%;max-width:680px;}
.ja-combo-searchbar{display:flex;align-items:center;}
.ja-combo-searchbar input{padding-right:44px!important;}
.ja-combo-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:0;border-radius:10px;background:rgba(121,25,111,.08);color:#79196f;font-weight:900;cursor:pointer;z-index:2;}
.ja-combo-toggle:hover{background:rgba(121,25,111,.14);}
.ja-combo-menu,.ja-multi-combo-menu{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 6px);max-height:320px;overflow:auto;border:1px solid #ead8e8;border-radius:16px;background:#fff;box-shadow:0 22px 50px rgba(75,15,69,.16);padding:8px;}
.ja-combo-option{width:100%;border:0;background:#fff;color:#1f2937;text-align:left;border-radius:12px;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;}
.ja-combo-option:hover,.ja-combo-option.active{background:#fff4fc;color:#79196f;}
.ja-combo-option small{font-size:11px;color:#64748b;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ja-combo-empty{padding:12px;color:#64748b;font-size:13px;}
.ja-multi-selected{font-size:12px;color:#64748b;margin:7px 2px 0;}
.ja-multi-combo-menu.bundle-course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;max-width:900px;}
.ja-multi-combo-menu label[hidden]{display:none!important;}
.ja-multi-combo-menu label{cursor:pointer;}
.enrollment-status-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px;}
.enrollment-status-tab{border:1px solid #ead8e8;background:#fff;border-radius:999px;padding:7px 11px;color:#4b0f45;font-size:13px;font-weight:800;cursor:pointer;}
.enrollment-status-tab span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;margin-left:6px;border-radius:999px;background:#f8eaf6;color:#79196f;font-size:12px;}
.enrollment-status-tab.active{background:#79196f;color:#fff;border-color:#79196f;}
.enrollment-status-tab.active span{background:#fff;color:#79196f;}
.compact-enrollment-inbox .table-wrap{overflow:auto;}
.compact-inbox-course-group > summary{padding:10px 14px;align-items:center;}
.compact-inbox-course-group > summary span{font-size:12px;color:#64748b;font-weight:700;}
.compact-inbox-course-group table th,.compact-inbox-course-group table td{padding:8px 10px;font-size:13px;vertical-align:middle;}
.inbox-row-links{display:flex;align-items:center;gap:6px;white-space:nowrap;}
.link-action{border:0;background:transparent;color:#79196f;font-weight:800;font-size:13px;cursor:pointer;padding:2px 0;text-decoration:none;}
.link-action:hover{text-decoration:underline;}
.link-action.danger{color:#b42318;}
.link-action.accept{color:#067647;}
.link-action:disabled{opacity:.45;cursor:wait;}
.compact-inbox-meta{padding:8px 0;}
@media(max-width:760px){.ja-combo,.ja-multi-combo{max-width:100%;}.ja-multi-combo-menu.bundle-course-grid{grid-template-columns:1fr;}.inbox-row-links{white-space:normal;}}


/* v161 course editor, portal builder blocks, and enrollment inbox refinements */
.program-editor-form .course-category-field{grid-column:1/-1;}
.program-editor-form .category-check-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:170px;overflow:auto;}
.program-editor-form .field > label{display:flex;align-items:center;gap:6px;}
.program-editor-form .muted.small{margin-top:4px;}
.course-portal-grid.single-portal-card{display:block;}
.course-portal-page .builder-block.shortcode-block,
.course-portal-page .builder-shortcode-full{width:100%;}
.enrollment-status-tabs{flex-wrap:wrap;}
.compact-enrollment-inbox .table-wrap table{font-size:13px;}
.compact-enrollment-inbox .link-action{padding:0 2px;}
@media(max-width:700px){.program-editor-form .category-check-grid{grid-template-columns:1fr;max-height:220px;}}

/* v162 slider modes and text/container animations */
.ja-slider-mode-text .ja-slider-fixed-media{position:absolute;inset:0;z-index:0;overflow:hidden;background:linear-gradient(135deg,#79196f,#4b0f45)}
.ja-slider-mode-text .ja-slider-fixed-media picture{width:100%;height:100%;display:block}
.ja-slider-mode-text .ja-slider-fixed-media img{width:100%;height:100%;object-fit:var(--ja-slider-fit,cover);display:block;transform:scale(1.001)}
.ja-slider-mode-text .ja-slider-track,.ja-slider-mode-text .ja-slide{z-index:1;background:transparent!important}
.ja-slider-mode-text .ja-slide{opacity:0;pointer-events:none;transform:none!important;transition:opacity .55s ease!important}
.ja-slider-mode-text .ja-slide.active{opacity:1;pointer-events:auto}
.ja-slider-mode-text .ja-slide>img,.ja-slider-mode-text .ja-slide>.ja-slider-placeholder{display:none!important}
.ja-slider-mode-text .ja-slider-shade{z-index:1}
.ja-slider-mode-text .ja-slider-copy{z-index:2}
.ja-slider-theme-plain .ja-slider-copy{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.ja-slider-copy h2,.ja-slider-copy p,.ja-slider-copy .ja-slider-actions{will-change:transform,opacity,filter}
.ja-slide.active .ja-slider-copy{animation:jaContainerSoftIn .7s ease both}
.ja-slider-container-roll-jump .ja-slide.active .ja-slider-copy{animation:jaContainerRollJump .95s cubic-bezier(.2,1.1,.3,1) both}
.ja-slider-container-swing-drop .ja-slide.active .ja-slider-copy{animation:jaContainerSwingDrop .9s cubic-bezier(.2,1,.2,1) both;transform-origin:top center}
.ja-slider-container-comic-pop .ja-slide.active .ja-slider-copy{animation:jaContainerComicPop .78s cubic-bezier(.2,1.6,.35,1) both}
.ja-slider-container-spin-settle .ja-slide.active .ja-slider-copy{animation:jaContainerSpinSettle .9s cubic-bezier(.2,1.2,.2,1) both}
.ja-slider-container-elastic-slide .ja-slide.active .ja-slider-copy{animation:jaContainerElasticSlide .88s cubic-bezier(.22,1.25,.28,1) both}
.ja-slider-text-type-rise .ja-slide.active .ja-slider-copy h2,.ja-slider-text-type-rise .ja-slide.active .ja-slider-copy p{animation:jaTextTypeRise .75s ease both}
.ja-slider-text-word-pop .ja-slide.active .ja-slider-copy h2,.ja-slider-text-word-pop .ja-slide.active .ja-slider-copy p{animation:jaTextWordPop .7s cubic-bezier(.2,1.4,.2,1) both}
.ja-slider-text-letter-spark .ja-slide.active .ja-slider-copy h2,.ja-slider-text-letter-spark .ja-slide.active .ja-slider-copy p{animation:jaTextSpark .85s ease both}
.ja-slider-text-bounce-in .ja-slide.active .ja-slider-copy h2,.ja-slider-text-bounce-in .ja-slide.active .ja-slider-copy p{animation:jaTextBounceIn .75s cubic-bezier(.22,1.65,.32,1) both}
.ja-slider-text-blur-focus .ja-slide.active .ja-slider-copy h2,.ja-slider-text-blur-focus .ja-slide.active .ja-slider-copy p{animation:jaTextBlurFocus .85s ease both}
.ja-slider-text-wave-in .ja-slide.active .ja-slider-copy h2,.ja-slider-text-wave-in .ja-slide.active .ja-slider-copy p{animation:jaTextWaveIn .9s ease both}
.ja-slide.active .ja-slider-copy p{animation-delay:.16s!important}.ja-slide.active .ja-slider-actions{animation:jaTextWordPop .7s .28s cubic-bezier(.2,1.4,.2,1) both}
@keyframes jaContainerSoftIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes jaContainerRollJump{0%{opacity:0;transform:translateY(42px) rotate(-13deg) scale(.88)}58%{opacity:1;transform:translateY(-12px) rotate(3deg) scale(1.04)}78%{transform:translateY(4px) rotate(-1deg) scale(.99)}100%{opacity:1;transform:translateY(0) rotate(0) scale(1)}}
@keyframes jaContainerSwingDrop{0%{opacity:0;transform:translateY(-55px) rotate(-10deg)}55%{opacity:1;transform:translateY(10px) rotate(4deg)}80%{transform:translateY(-3px) rotate(-1deg)}100%{opacity:1;transform:translateY(0) rotate(0)}}
@keyframes jaContainerComicPop{0%{opacity:0;transform:scale(.5) rotate(4deg)}55%{opacity:1;transform:scale(1.09) rotate(-2deg)}75%{transform:scale(.97) rotate(1deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes jaContainerSpinSettle{0%{opacity:0;transform:rotate(-180deg) scale(.55)}68%{opacity:1;transform:rotate(9deg) scale(1.05)}100%{opacity:1;transform:rotate(0) scale(1)}}
@keyframes jaContainerElasticSlide{0%{opacity:0;transform:translateX(-90px) scaleX(.8)}65%{opacity:1;transform:translateX(12px) scaleX(1.04)}100%{opacity:1;transform:translateX(0) scaleX(1)}}
@keyframes jaTextTypeRise{0%{opacity:0;transform:translateY(18px);clip-path:inset(0 100% 0 0)}100%{opacity:1;transform:translateY(0);clip-path:inset(0 0 0 0)}}
@keyframes jaTextWordPop{0%{opacity:0;transform:translateY(20px) scale(.96)}70%{opacity:1;transform:translateY(-4px) scale(1.03)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes jaTextSpark{0%{opacity:0;filter:blur(6px) brightness(1.4);transform:translateY(8px) scale(.98)}60%{opacity:1;filter:blur(0) brightness(1.18)}100%{opacity:1;filter:none;transform:translateY(0) scale(1)}}
@keyframes jaTextBounceIn{0%{opacity:0;transform:translateY(-18px) scale(.95)}55%{opacity:1;transform:translateY(8px) scale(1.04)}78%{transform:translateY(-3px) scale(.99)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes jaTextBlurFocus{0%{opacity:0;filter:blur(12px);letter-spacing:.08em}100%{opacity:1;filter:blur(0);letter-spacing:normal}}
@keyframes jaTextWaveIn{0%{opacity:0;transform:skewX(-10deg) translateY(22px)}55%{opacity:1;transform:skewX(5deg) translateY(-6px)}100%{opacity:1;transform:skewX(0) translateY(0)}}

/* v162 media library tree */
.media-area-list{display:grid;gap:12px}.media-area-card{border:1px solid #ead7e8;border-radius:18px;background:#fff;overflow:hidden}.media-area-card>summary{padding:14px 16px;background:linear-gradient(135deg,#fff,#fbf6fb);cursor:pointer}.media-area-folders{padding:10px 12px 14px;display:grid;gap:10px}.media-sub-folder-card{margin:0}.media-used-cell{display:block;max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-folder-table th:nth-child(5),.media-folder-table td:nth-child(5){min-width:240px}.media-actions .btn[disabled]{opacity:.55;cursor:not-allowed}

.slider-device-toolbox{border-color:rgba(121,25,111,.18)!important;background:rgba(121,25,111,.035)!important;}
.slider-device-upload-stack{display:grid!important;gap:10px!important;}
.slider-device-upload-row{display:grid;grid-template-columns:90px repeat(3,minmax(0,1fr));gap:8px;align-items:center;padding:10px;border:1px solid #ead7e8;border-radius:16px;background:#fff;}
.slider-device-upload-row>strong{font-size:12px;color:#4b073f;}
.slider-device-upload-row .slider-upload-pill{min-height:54px;padding:8px 10px;}
.slider-device-upload-row .media-drop-title{font-size:12px;}
@media(max-width:760px){.slider-device-upload-row{grid-template-columns:1fr}.slider-device-upload-row>strong{font-size:13px}}

/* v166: recommendation cards, enrollment spacing, slider positions, certificate info */
.course-enroll-final{padding-top:26px!important;padding-bottom:28px!important;}
.course-enroll-final-card-centered{gap:.45rem!important;padding:1.25rem 1.25rem!important;}
.course-enroll-final-card-centered h2{margin:0!important;}
.featured-programs-section{padding-top:34px!important;background:#fff;}
.featured-programs-section h2{margin:0 0 20px;color:var(--purple-dark);font-family:Georgia,serif;font-size:clamp(26px,3vw,40px);text-align:center;}
.bundle-program-card .program-visual:after{content:'Professional Certificate';position:absolute;top:14px;right:14px;background:rgba(255,255,255,.92);color:#79196f;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;}
.contact-line span{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",system-ui,sans-serif;font-size:20px!important;}
.ja-slider-overlay-up-center-left .ja-slider-copy{left:6%;top:38%;transform:translateY(-50%);text-align:start;}
.ja-slider-overlay-up-center-right .ja-slider-copy{right:6%;top:38%;transform:translateY(-50%);text-align:end;}
.certificates-info-section{padding-top:122px!important;padding-bottom:24px!important;background:linear-gradient(180deg,#fbf6fb,#fff);}
.certificate-info-card{max-width:980px;margin:0 auto;text-align:start;}
.certificate-info-card h1{margin:0 0 12px;color:var(--purple-dark);font-family:Georgia,serif;font-size:clamp(30px,4vw,52px);}
.certificate-info-card p{font-size:17px;line-height:1.75;margin:0 0 20px;}
.certificate-benefits{margin-top:18px;}
.certificate-benefits>div{border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff;display:grid;gap:8px;}
.certificate-benefits strong{color:var(--purple-dark);}
.certificate-benefits span{color:var(--muted);font-size:14px;line-height:1.55;}
.certificate-form-section{padding-top:20px!important;}
.access-course-list.bundle-access-list{background:#fbf8fb;border-color:#ead7e8;}
.bundle-access-check strong:before{content:'Professional Certificate · ';color:#79196f;}
@media(max-width:760px){.ja-slider-overlay-up-center-left .ja-slider-copy,.ja-slider-overlay-up-center-right .ja-slider-copy{left:16px;right:16px;top:38%;transform:translateY(-50%);text-align:start}.course-enroll-final{padding-top:18px!important}.featured-programs-section{padding-top:24px!important}}


/* v167: modern contact page, compact certificate hero, statistics folders */
.modern-contact-card{overflow:visible;}
.modern-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.modern-contact-line{grid-template-columns:52px 1fr!important;gap:4px 13px!important;border:1px solid rgba(121,25,111,.12)!important;border-radius:20px!important;padding:13px 14px!important;background:linear-gradient(135deg,#fff,#fffafc)!important;box-shadow:0 12px 30px rgba(75,15,69,.055)!important;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease!important;}
.modern-contact-line:hover{transform:translateY(-2px)!important;box-shadow:0 18px 36px rgba(75,15,69,.11)!important;border-color:rgba(121,25,111,.28)!important;text-decoration:none!important;}
.modern-contact-line span{width:52px!important;height:52px!important;border-radius:50%!important;color:#fff!important;background:var(--contact-brand,#79196f)!important;box-shadow:0 12px 24px color-mix(in srgb,var(--contact-brand,#79196f) 28%,transparent)!important;}
.modern-contact-line span svg{width:23px;height:23px;display:block;fill:currentColor;}
.modern-contact-line strong{font-size:14px!important;color:#3f0a39!important;}
.modern-contact-line small{font-size:12px!important;color:#64748b!important;line-height:1.35!important;}
.contact-email{--contact-brand:#79196f}.contact-whatsapp{--contact-brand:#25D366}.contact-address{--contact-brand:#F59E0B}.contact-facebook{--contact-brand:#1877F2}.contact-instagram{--contact-brand:#E1306C}.contact-telegram{--contact-brand:#26A5E4}.contact-linkedin{--contact-brand:#0A66C2}.contact-youtube{--contact-brand:#FF0000}.contact-tiktok{--contact-brand:#111827}.contact-x{--contact-brand:#111827}
.missing-contact-line{opacity:.55;}
.contact-links-form{grid-template-columns:repeat(2,minmax(0,1fr));}
.contact-links-form .btn{grid-column:1/-1;justify-self:start;}
.contact-advanced-html{margin-top:18px;border-top:1px solid #ead8e8;padding-top:12px;}
.contact-advanced-html>summary{cursor:pointer;color:#79196f;font-weight:800;}
.certificate-compact-hero{min-height:456px!important;padding-top:76px!important;padding-bottom:34px!important;}
.certificate-compact-hero .hero-grid{gap:34px!important;}
.certificate-compact-hero h1{font-size:clamp(34px,4.2vw,54px)!important;margin:16px 0 12px!important;}
.certificate-compact-hero p{font-size:17px!important;line-height:1.55!important;}
.certificate-compact-hero .actions{margin-top:20px!important;}
.certificate-compact-hero .hero-card{padding:16px!important;border-radius:24px!important;}
.certificate-compact-hero .preview-img{height:150px!important;font-size:42px!important;}
.course-statistics-panel>[data-course-stats-search]{margin:12px 0 14px;max-width:760px;}
.course-stat-folder{border:1px solid rgba(121,25,111,.14);border-radius:18px;background:#fff;margin:10px 0;overflow:hidden;}
.course-stat-folder>summary{cursor:pointer;padding:12px 16px;background:linear-gradient(135deg,#fff,#fbf6fb);display:flex;justify-content:space-between;gap:12px;align-items:center;}
.course-stat-folder>summary strong{color:#4b073f;}
.course-stat-folder>summary span{font-size:12px;color:#64748b;font-weight:800;}
.course-stat-folder .table-wrap{border:0;border-top:1px solid #ead8e8;border-radius:0;}
@media(max-width:760px){.modern-contact-grid,.contact-links-form{grid-template-columns:1fr}.certificate-compact-hero{min-height:auto!important;padding-top:110px!important;padding-bottom:42px!important}.certificate-compact-hero .hero-grid{gap:22px!important}}

.admin-advanced-html{
  margin-top:14px;
  border:1px solid #ead8e8;
  border-radius:14px;
  background:#fff;
  padding:10px 12px;
}
.admin-advanced-html>summary{
  cursor:pointer;
  color:#79196f;
  font-weight:800;
  list-style:none;
}
.admin-advanced-html>summary::-webkit-details-marker{display:none;}
.admin-advanced-html>summary::after{
  content:'+';
  float:right;
  width:24px;
  height:24px;
  border-radius:999px;
  background:#f6edf5;
  color:#79196f;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.admin-advanced-html[open]>summary::after{content:'−';}
.admin-advanced-html .field{margin-top:12px;}

/* v169 — header logo + compact fast Media / R2 UI */
.navbar .logo-brand.brand-logo-full .brand-logo-full-img{
  height:62px!important;
  max-height:62px!important;
  max-width:246px!important;
  object-fit:contain!important;
}
.preview-navbar .logo-brand.brand-logo-full .brand-logo-full-img{
  height:60px!important;
  max-height:60px!important;
  max-width:240px!important;
}
.footer .logo-brand.brand-logo-full .brand-logo-full-img,
.footer .brand-logo-full-img{
  height:26px!important;
  max-height:26px!important;
  max-width:125px!important;
}
@media(max-width:760px){
  .navbar .logo-brand.brand-logo-full .brand-logo-full-img{height:50px!important;max-height:50px!important;max-width:205px!important;}
}

.media-library-panel{max-width:100%;}
.media-library-panel .media-title-row{margin-bottom:8px!important;}
.media-r2-card.compact-media-card{padding:12px!important;border-radius:18px!important;margin-bottom:12px!important;box-shadow:0 8px 22px rgba(75,15,69,.04)!important;}
.media-compact-grid{grid-template-columns:minmax(150px,.9fr) minmax(220px,1.35fr) minmax(105px,.55fr) minmax(180px,1fr) minmax(170px,1fr)!important;gap:8px!important;}
.media-compact-grid .input,.media-compact-grid .select,.media-file-pill{height:40px!important;min-height:40px!important;border-radius:12px!important;}
.media-file-pill .media-drop-icon{width:22px!important;height:22px!important;border-radius:7px!important;font-size:12px!important;}
.media-file-pill .media-drop-title{font-size:12px!important;}
.media-save-stack{min-width:120px!important;}
.media-save-btn{min-width:110px!important;min-height:38px!important;padding:9px 12px!important;border-radius:12px!important;}
.media-browser{padding:12px!important;border-radius:18px!important;box-shadow:none!important;}
.media-browser-head{align-items:center!important;padding-bottom:8px!important;margin-bottom:8px!important;}
.media-browser-head h4{font-size:16px!important;margin:0!important;}
.media-browser-head p{display:none!important;}
.media-search{max-width:520px!important;min-height:38px!important;height:38px!important;border-radius:12px!important;}
.media-stat-row{gap:6px!important;margin-bottom:8px!important;}
.media-stat-row span{padding:5px 8px!important;font-size:11px!important;border-radius:10px!important;}
.media-folder-list{gap:8px!important;}
.media-folder-card{border-radius:14px!important;}
.media-folder-card summary{padding:9px 11px!important;}
.media-folder-icon{width:26px!important;height:26px!important;border-radius:8px!important;flex-basis:26px!important;font-size:13px!important;}
.media-folder-title{gap:8px!important;}
.media-folder-title strong{font-size:12px!important;max-width:820px!important;}
.media-folder-title small{font-size:10px!important;}
.media-folder-meta span{font-size:10px!important;padding:4px 7px!important;}
.media-folder-table-wrap{max-width:100%;overflow:auto!important;}
.media-folder-table{min-width:780px!important;table-layout:fixed!important;}
.media-folder-table th{padding:7px 8px!important;font-size:9px!important;}
.media-folder-table td{padding:7px 8px!important;font-size:11px!important;}
.media-folder-table th:nth-child(1){width:24%;}
.media-folder-table th:nth-child(2){width:38%;}
.media-folder-table th:nth-child(3){width:27%;}
.media-folder-table th:nth-child(4){width:11%;}
.media-file-cell{min-width:0!important;gap:7px!important;}
.media-file-icon{width:26px!important;height:26px!important;border-radius:8px!important;flex-basis:26px!important;font-size:12px!important;}
.media-file-cell strong{font-size:11px!important;max-width:100%!important;}
.media-file-cell small{font-size:9px!important;}
.media-location-cell code{display:block;max-width:100%;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:10px!important;background:#fbf4fa;border:1px solid #ead6e8;border-radius:8px;padding:5px 7px;color:#4b0f45;}
.media-course-line{display:none!important;}
.media-usage-cell .badge{margin-bottom:4px;}
.media-used-cell{display:block;max-width:100%;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#6b4667;font-size:10px;}
.media-actions{white-space:nowrap!important;text-align:right!important;}
.media-link-action{border:0;background:transparent;color:#79196f;font-weight:900;font-size:11px;padding:3px 4px;cursor:pointer;text-decoration:none;}
.media-link-action:hover{text-decoration:underline;}
.media-delete-locked{display:block;margin-top:2px;color:#8a6d86;font-size:9px;font-weight:800;}
@media(max-width:1180px){.media-compact-grid{grid-template-columns:1fr 1fr!important;}.media-browser-head{display:block!important}.media-search{max-width:100%!important;margin-top:8px!important;}}
@media(max-width:720px){.media-compact-grid{grid-template-columns:1fr!important}.media-folder-table{min-width:720px!important}.media-folder-title strong{max-width:72vw!important}}

/* v173 — R2 media library readable grid, no horizontal table scrollbar */
.media-folder-table-wrap{
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
  border-top:1px solid #f0e2ee!important;
}
.media-folder-table,
.media-folder-table thead,
.media-folder-table tbody,
.media-folder-table tr,
.media-folder-table th,
.media-folder-table td{
  display:none!important;
}
.media-folder-grid-head,
.media-compact-row{
  display:grid!important;
  grid-template-columns:minmax(170px,1.05fr) minmax(230px,1.75fr) minmax(180px,1.05fr) minmax(86px,.42fr)!important;
  gap:10px!important;
  align-items:center!important;
  width:100%!important;
  max-width:100%!important;
}
.media-folder-grid-head{
  padding:8px 10px!important;
  background:#fbf7fb!important;
  color:#7b5576!important;
  border-bottom:1px solid #ead6e8!important;
}
.media-folder-grid-head span{
  min-width:0!important;
  font-size:9px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  white-space:nowrap!important;
}
.media-folder-grid{
  display:grid!important;
  width:100%!important;
}
.media-compact-row{
  padding:9px 10px!important;
  border-bottom:1px solid #f1e4ef!important;
}
.media-compact-row:last-child{border-bottom:0!important;}
.media-primary-cell,
.media-location-cell,
.media-usage-cell,
.media-actions{
  min-width:0!important;
  width:100%!important;
}
.media-file-cell{
  width:100%!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}
.media-file-copy{min-width:0!important;width:100%!important;}
.media-file-cell strong{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:11px!important;
  line-height:1.25!important;
}
.media-file-cell small{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:9px!important;
  margin-top:2px!important;
}
.media-location-cell code{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  word-break:normal!important;
  font-size:10px!important;
  line-height:1.2!important;
  background:#fbf4fa!important;
  border:1px solid #ead6e8!important;
  border-radius:8px!important;
  padding:6px 8px!important;
  color:#4b0f45!important;
}
.media-usage-cell{
  display:grid!important;
  gap:3px!important;
  align-content:center!important;
}
.media-usage-cell .badge{margin:0!important;justify-self:start!important;}
.media-used-cell{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:10px!important;
  color:#6b4667!important;
}
.media-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  flex-wrap:wrap!important;
  text-align:right!important;
}
.media-link-action{
  border:0!important;
  background:#fff!important;
  color:#79196f!important;
  border:1px solid #ead6e8!important;
  border-radius:999px!important;
  font-weight:900!important;
  font-size:10px!important;
  padding:4px 8px!important;
  cursor:pointer!important;
  line-height:1.1!important;
}
.media-link-action:hover{background:#fbf4fa!important;text-decoration:none!important;}
.media-delete-locked{
  flex-basis:100%!important;
  margin:0!important;
  color:#8a6d86!important;
  font-size:8.5px!important;
  font-weight:800!important;
  line-height:1!important;
}
.media-area-folders{min-width:0!important;}
.media-area-card,.media-folder-card{max-width:100%!important;}
@media(max-width:920px){
  .media-folder-grid-head{display:none!important;}
  .media-compact-row{
    grid-template-columns:1fr!important;
    gap:7px!important;
    align-items:start!important;
  }
  .media-actions{justify-content:flex-start!important;text-align:left!important;}
  .media-delete-locked{flex-basis:auto!important;align-self:center!important;}
}


/* v174 polish: curriculum colors, contact inbox, bundle rules, floating progress */
.public-course-curriculum .course-lesson-title,
.public-course-curriculum .course-lesson-row,
.course-curriculum-section .course-lesson-title { color:#111 !important; }
.public-collapsible-section > summary.course-section-title { color:#111 !important; }
.public-collapsible-section[open] > summary.course-section-title { color:var(--identity, #79196f) !important; }
.course-enroll-final { padding-top:24px !important; }
.course-enroll-final-card { padding:22px 24px !important; }
.course-floating-progress { position:fixed; left:50%; bottom:14px; transform:translateX(-50%); z-index:80; width:min(460px, calc(100vw - 32px)); background:rgba(255,255,255,.96); border:1px solid rgba(121,25,111,.18); box-shadow:0 10px 30px rgba(35,0,35,.16); border-radius:18px; padding:10px 14px; display:grid; grid-template-columns:auto auto 1fr; align-items:center; gap:8px 12px; color:#26001f; backdrop-filter:blur(10px); }
.course-floating-progress span { font-weight:700; color:#79196f; }
.course-floating-progress strong { font-weight:900; }
.course-floating-progress small { text-align:right; color:#6c5268; }
.course-floating-progress-bar { grid-column:1/-1; height:6px; border-radius:999px; background:#ead7e8; overflow:hidden; }
.course-floating-progress-bar i { display:block; height:100%; background:#79196f; border-radius:inherit; }
.contact-inbox-name.unseen { font-weight:900; color:#4b073f; }
.contact-unseen-chip { margin-left:8px; }
.contact-inbox-summary { margin:8px 0 12px; padding:10px 12px; border:1px solid #ead7e8; border-radius:14px; background:#fff7fe; color:#4b073f; }
.contact-message-preview { display:block; max-width:520px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bundle-course-rules { border:1px solid #ead7e8; border-radius:16px; padding:12px; background:#fff; }
.bundle-course-rules summary { cursor:pointer; font-weight:800; color:#4b073f; }
.bundle-course-rule-row { display:grid; grid-template-columns:minmax(180px,1.5fr) minmax(160px,1fr) minmax(130px,.8fr); gap:10px; align-items:end; padding:10px 0; border-top:1px solid #f1e4ef; }
.bundle-course-rule-row:first-of-type { border-top:0; }
.bundle-course-rule-row label { font-size:12px; color:#5d4259; }
.user-payments-folder { margin:12px 0; border:1px solid #ead7e8; border-radius:16px; padding:10px 12px; background:#fff; }
.user-payments-folder > summary { cursor:pointer; display:flex; justify-content:space-between; align-items:center; color:#4b073f; }
@media (max-width:700px){ .course-floating-progress{bottom:10px; grid-template-columns:auto auto; font-size:13px;} .course-floating-progress small{grid-column:1/-1;text-align:left}.bundle-course-rule-row{grid-template-columns:1fr;} }

/* v175: professional users/payments split */
.payment-tools{align-items:center}.payment-client-list{border:1px solid #ead7e8;border-radius:18px;overflow:hidden;background:#fff}.payment-client-head,.payment-client-row>summary{display:grid;grid-template-columns:minmax(260px,1.5fr) 90px minmax(150px,.8fr) minmax(140px,.8fr) 130px;gap:12px;align-items:center}.payment-client-head{padding:10px 14px;background:#fff7fb;color:#6a155f;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.payment-client-row{border-top:1px solid #f0d8ec}.payment-client-row>summary{cursor:pointer;padding:12px 14px;list-style:none}.payment-client-row>summary::-webkit-details-marker{display:none}.payment-client-row>summary:hover{background:#fffafd}.payment-client-main{display:flex;flex-direction:column;gap:3px;min-width:0}.payment-client-main strong,.payment-client-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payment-client-main small{color:#6f6472}.payment-client-details{padding:0 14px 14px;background:#fff}.payment-client-details .table-wrap{margin:0}.payment-client-row[open]>summary{background:#fff4fb;color:#79196f}.admin-subtabs .btn.active{background:#79196f;color:#fff;border-color:#79196f}
@media(max-width:900px){.payment-client-head{display:none}.payment-client-row>summary{grid-template-columns:1fr;gap:6px}.payment-client-row>summary span:not(.payment-client-main){font-size:13px;color:#6f6472}.payment-client-details{overflow-x:auto}}

/* v176 user/payment import-export and access search */
.access-course-list + .muted{margin-top:6px}.payments-workspace .panel-actions,.studio-panel .panel-actions{display:flex;gap:8px;flex-wrap:wrap}.access-course-check[style*="none"]{display:none!important}


/* v178: inline course controls, stronger curriculum import, and platform progress */
.course-status-inline{min-width:128px;min-height:34px;padding:7px 12px!important;border-radius:999px!important;font-weight:900!important;font-size:12px!important;box-shadow:none!important;}
.course-status-inline.is-published{background:#dcfae6!important;color:#067647!important;border-color:#abefc6!important;}
.course-status-inline.is-draft{background:#fee4e2!important;color:#b42318!important;border-color:#fecdca!important;}
.course-categories-inline{max-width:240px;white-space:normal;text-align:left;line-height:1.25;justify-content:flex-start!important;}
.quick-course-categories-form .two-column-category-grid,.two-column-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;}
.category-check.compact{border:1px solid rgba(121,25,111,.14);border-radius:12px;padding:9px 10px;background:#fff;display:flex;gap:8px;align-items:center;}
.modal:has(.curriculum-import-wide){width:min(1120px,96vw)!important;}
.curriculum-import-browser{display:grid;gap:10px;max-height:62vh;overflow:auto;border:1px solid rgba(121,25,111,.12);border-radius:18px;padding:12px;background:#fffafd;}
.curriculum-import-course,.curriculum-import-section{border:1px solid rgba(121,25,111,.14);border-radius:16px;background:#fff;overflow:hidden;}
.curriculum-import-course>summary,.curriculum-import-section>summary{cursor:pointer;padding:11px 13px;display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fff7fc;color:#4b073f;}
.curriculum-import-section>summary{background:#fff;}
.curriculum-import-course summary label,.curriculum-import-section summary label{display:flex;align-items:center;gap:8px;margin:0;}
.curriculum-import-course summary small,.curriculum-import-section summary small{color:#6b5f6a;white-space:nowrap;}
.curriculum-import-lessons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px 12px 12px;}
.curriculum-import-lesson-row{display:flex;gap:8px;align-items:flex-start;padding:8px 9px;border-radius:12px;background:#fbf7fb;border:1px solid rgba(121,25,111,.08);font-size:13px;line-height:1.35;}
.learn-card-progress{margin:8px 0 12px;display:grid;gap:6px;}
.learn-card-progress div{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#6b5f6a;}
.learn-card-progress strong{color:#79196f;font-weight:950;}
.learn-card-progress i{display:block;height:7px;border-radius:999px;background:#ead7e8;overflow:hidden;}
.learn-card-progress b{display:block;height:100%;background:#79196f;border-radius:inherit;}
.learn-card-progress small{font-size:11px;color:#6b5f6a;}
@media(max-width:760px){.curriculum-import-lessons{grid-template-columns:1fr}.quick-course-categories-form .two-column-category-grid,.two-column-category-grid{grid-template-columns:1fr}.modal:has(.curriculum-import-wide){width:min(96vw,96vw)!important;}}


/* v179: professional drag/drop upload affordance */
.upload-drop-zone{position:relative;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;}
.upload-drop-zone .upload-drop-hint{display:block;margin-top:6px;color:#7d5b78;font-size:11px;line-height:1.25;opacity:.75;}
.upload-drop-active{outline:2px dashed #79196f !important;outline-offset:3px;background:#fff4fd !important;box-shadow:0 0 0 4px rgba(121,25,111,.08) !important;}
.media-file-pill.upload-drop-active,.field.upload-drop-active{border-radius:14px;}
.builder-text-block{min-width:0;}
.builder-text-surface{white-space:pre-wrap;overflow-wrap:anywhere;}


/* v181 — final navigation, header, mobile slider, and mobile stability refinements */
.navbar .logo-brand.brand-logo-full{
  padding-top:6px!important;
  margin-left:10px!important;
}
html,body{max-width:100%;overflow-x:hidden;}
@media(max-width:760px){
  .ja-slider,.builder-slider-section,.builder-slider-container{max-width:100%!important;overflow:hidden!important;}
  .ja-slider-mode-text .ja-slider-copy{
    top:22%!important;
    left:50%!important;
    right:auto!important;
    bottom:auto!important;
    transform:translateX(-50%)!important;
    width:min(92vw,420px)!important;
    text-align:center!important;
    align-items:center!important;
    max-height:70%!important;
  }
  .ja-slider-mode-text .ja-slider-copy h1,
  .ja-slider-mode-text .ja-slider-copy h2,
  .ja-slider-mode-text .ja-slider-copy p{text-align:center!important;}
  .ja-slider-mode-text .ja-slider-actions{justify-content:center!important;margin-top:12px!important;}
  .ja-slider-container-roll-jump .ja-slider-copy,
  .ja-slider-container-swing-drop .ja-slider-copy,
  .ja-slider-container-comic-pop .ja-slider-copy,
  .ja-slider-container-spin-settle .ja-slider-copy,
  .ja-slider-container-elastic-slide .ja-slider-copy{animation-duration:.55s!important;}
  .smart-page-body,.builder-preview-site{touch-action:pan-y;}
}
@media(prefers-reduced-motion:reduce), (max-width:480px){
  .ja-slider-copy,.ja-slide,.smart-inner{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}
}

/* v182 dashboard overview + lazy R2 media polish */
.studio-metrics > div em {
  display:block;
  margin-top:6px;
  font-style:normal;
  color:#6f5570;
  font-size:12px;
  line-height:1.25;
}
.overview-analytics-panel { grid-column:1 / -1; }
.overview-analytics-grid {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
}
.overview-chart-card {
  border:1px solid rgba(121,25,111,.14);
  border-radius:18px;
  padding:16px;
  background:linear-gradient(180deg,#fff,#fff7fe);
  min-width:0;
}
.overview-chart-card h4 { margin:0 0 12px; color:#4b073f; }
.overview-stat-bar { margin:10px 0; }
.overview-bar-meta { display:flex; justify-content:space-between; gap:12px; font-size:12px; color:#5d415e; }
.overview-bar-meta strong { color:#4b073f; white-space:nowrap; }
.overview-bar-track { display:block; height:9px; border-radius:999px; background:#f2e5f0; overflow:hidden; margin-top:7px; }
.overview-bar-track i { display:block; height:100%; border-radius:999px; background:#79196f; }
.overview-stat-bar.green .overview-bar-track i { background:#22a066; }
.overview-stat-bar.gold .overview-bar-track i { background:#c89118; }
.overview-stat-bar.red .overview-bar-track i { background:#d35b52; }
.overview-top-list { list-style:none; padding:0; margin:0; display:grid; gap:8px; }
.overview-top-list li { display:grid; grid-template-columns:auto 1fr auto; gap:9px; align-items:center; font-size:12px; }
.overview-top-list li span { width:24px; height:24px; border-radius:999px; display:grid; place-items:center; background:#f5e6f4; color:#79196f; font-weight:800; }
.overview-top-list li strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#271027; }
.overview-top-list li em { font-style:normal; color:#6f5570; white-space:nowrap; }
.media-lazy-note {
  padding:14px 16px;
  color:#6f5570;
  font-size:13px;
  background:#fff8fd;
  border-top:1px solid rgba(121,25,111,.10);
}
.media-link-action.danger {
  color:#b42318;
  font-weight:800;
}
.media-link-action.danger:hover { text-decoration:underline; }
.media-stat-row span { white-space:nowrap; }
@media (max-width: 1100px) {
  .overview-analytics-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .overview-analytics-grid { grid-template-columns:1fr; }
  .overview-top-list li { grid-template-columns:auto 1fr; }
  .overview-top-list li em { grid-column:2; }
}

/* v183 dashboard command center + bundle parity polish */
.studio-metric-card.is-clickable{
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.studio-metric-card.is-clickable:hover{
  transform:translateY(-2px);
  border-color:#d68bd1;
  box-shadow:0 18px 46px rgba(121,25,111,.12);
}
.metric-open-hint{
  display:inline-block;
  margin-top:8px;
  color:#79196f;
  font-weight:900;
  font-size:12px;
}
.command-hero-balanced{grid-column:1 / -1;}
.command-priority-card{min-height:100%;}
.command-map-card{grid-column:1 / -1;}
.overview-analytics-grid-expanded{grid-template-columns:repeat(3,minmax(0,1fr));}
.overview-empty-chart{
  display:grid;
  gap:8px;
  padding:14px;
  border:1px dashed rgba(121,25,111,.24);
  border-radius:16px;
  background:#fff;
  color:#6f5570;
  font-size:13px;
}
.overview-empty-chart strong{color:#4b073f;}
.overview-mini-bars{
  min-height:120px;
  display:flex;
  align-items:flex-end;
  gap:10px;
  padding:10px 2px 0;
}
.overview-mini-bars>div{
  flex:1;
  display:grid;
  grid-template-rows:auto 1fr auto;
  align-items:end;
  gap:6px;
  min-width:0;
  text-align:center;
  font-size:11px;
  color:#6f5570;
}
.overview-mini-bars i{
  display:block;
  width:100%;
  max-width:28px;
  margin:0 auto;
  border-radius:999px 999px 4px 4px;
  background:linear-gradient(180deg,#9b2b91,#79196f);
}
.overview-mini-bars strong{font-size:11px;color:#4b073f;}
.bundle-course-list{
  margin-top:7px;
  max-width:520px;
  line-height:1.35;
  white-space:normal;
}
.bundles-panel .table td:last-child{min-width:360px;}
@media(max-width:1100px){.overview-analytics-grid-expanded{grid-template-columns:repeat(2,minmax(0,1fr));}.bundles-panel .table td:last-child{min-width:260px;}}
@media(max-width:680px){.overview-analytics-grid-expanded{grid-template-columns:1fr;}.bundle-course-list{max-width:100%;}.bundles-panel .table td:last-child{min-width:0;}}


/* v185: bundle page spacing and live-only featured polish */
.bundle-public-page .bundle-included-section{padding-top:22px!important;}
.bundle-public-page .bundle-included-section h2{margin:0 0 12px!important;color:var(--purple-dark);}
.bundle-public-page .bundle-included-section .browse-product-grid{gap:16px!important;}
.bundle-public-page .course-long-description-section,.course-public-page .course-long-description-section{padding-top:18px!important;}

/* v186: safe first paint while D1 bootstrap loads */
.ja-cloud-loading-screen {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 32px;
  background: radial-gradient(circle at top, rgba(121,25,111,.10), transparent 34%), #fbf7fb;
}
.ja-cloud-loading-card {
  width: min(520px, 94vw);
  border-radius: 24px;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(121,25,111,.14);
  box-shadow: 0 24px 70px rgba(75,7,63,.14);
  padding: 30px;
  text-align: center;
}
.ja-cloud-loading-mark {
  width: 56px;
  height: 56px;
  margin: 0 auto 16px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: #79196f;
  color: #fff;
  font-weight: 900;
  letter-spacing: .04em;
}
.ja-cloud-loading-card h1 {
  margin: 0 0 8px;
  color: #4b073f;
  font-size: clamp(24px, 3vw, 34px);
}
.ja-cloud-loading-card p {
  margin: 0 auto 8px;
  color: #5f4a5c;
  line-height: 1.7;
}
.ja-cloud-loading-error .ja-cloud-loading-mark { background: #9f1239; }


/* v190 final launch polish */
.footer .logo-brand.brand-logo-full .brand-logo-full-img,
.footer .brand-logo-full-img{height:34px!important;max-height:34px!important;max-width:170px!important;object-fit:contain!important;}
@media(max-width:700px){.footer .logo-brand.brand-logo-full .brand-logo-full-img,.footer .brand-logo-full-img{height:30px!important;max-height:30px!important;max-width:150px!important;}}
.contact-float{right:max(14px, env(safe-area-inset-right))!important;bottom:max(14px, env(safe-area-inset-bottom))!important;max-height:calc(100svh - 30px)!important;}
.contact-float-menu{max-height:min(70svh, 520px)!important;overflow:auto!important;overscroll-behavior:contain!important;}
@media(max-height:620px){.contact-float-menu{gap:7px!important}.contact-float-menu a{width:38px!important;height:38px!important}.contact-float-main{width:54px!important;height:54px!important}}
.media-linked-note{display:block;margin-top:4px;color:#7a6476;font-size:11px;line-height:1.25}.media-used-cell{display:block;min-width:0;overflow-wrap:anywhere}.media-compact-row{align-items:start!important}.media-location-cell code{white-space:normal!important;word-break:break-all!important;display:block!important;max-width:100%!important}.admin-course-filter-row{display:grid!important;grid-template-columns:minmax(260px,1fr) minmax(180px,240px)!important;align-items:end!important;gap:12px!important}.admin-course-filter-row .safe-search-label{grid-column:1/-1}.enrolled-progress-template .program-foot,.public-learn-template .program-foot{border-top:0!important}.enrolled-progress-template .btn,.public-learn-template .btn{width:100%!important}.home-bundle-category-programs{margin-bottom:28px}.bundle-public-page .course-enroll-final{padding-top:10px!important}.bundle-public-page .course-enroll-final-card{margin-top:0!important}.learn-dashboard-side .learn-side-module:nth-of-type(n+3),.learn-product-grid .learn-product-card:nth-child(n+3){display:none!important}.learn-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.learn-product-card .learn-product-body p:first-of-type:empty{display:none!important}@media(max-width:760px){.learn-product-grid{grid-template-columns:1fr!important}.ja-slider-mode-text .ja-slider-copy{top:30%!important}.ja-slider-mode-text .ja-slider-actions{margin-top:14px!important}}


/* v191: center home/bundle/program cards when a section has fewer than three items. */
.home-program-category .browse-product-grid,
.home-category-programs .browse-product-grid{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:stretch!important;
  gap:22px!important;
}
.home-program-category .browse-product-grid > .program-card,
.home-category-programs .browse-product-grid > .program-card,
.home-program-category .browse-product-grid > .program-card-template-scope,
.home-category-programs .browse-product-grid > .program-card-template-scope{
  flex:0 1 calc((100% - 44px)/3)!important;
  max-width:calc((100% - 44px)/3)!important;
  min-width:min(320px,100%)!important;
}
.home-program-category .browse-product-grid > .program-card-template-scope .program-card,
.home-category-programs .browse-product-grid > .program-card-template-scope .program-card{
  width:100%!important;
  height:100%!important;
}
@media(max-width:980px){
  .home-program-category .browse-product-grid > .program-card,
  .home-category-programs .browse-product-grid > .program-card,
  .home-program-category .browse-product-grid > .program-card-template-scope,
  .home-category-programs .browse-product-grid > .program-card-template-scope{
    flex-basis:min(420px,100%)!important;
    max-width:min(420px,100%)!important;
  }
}
@media(max-width:800px){
  .home-program-category .browse-product-grid,
  .home-category-programs .browse-product-grid{display:flex!important;justify-content:center!important;}
  .home-program-category .browse-product-grid > .program-card,
  .home-category-programs .browse-product-grid > .program-card,
  .home-program-category .browse-product-grid > .program-card-template-scope,
  .home-category-programs .browse-product-grid > .program-card-template-scope{
    width:min(100%,360px)!important;
    max-width:360px!important;
    flex:0 1 min(100%,360px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}


/* v199/v247: robust program-template rendering for JSON html/enrolled_html templates.
   v247 important: do NOT force height:100% on the template scope/article.
   Dashboard-selected card templates often define their own exact card height
   (for example 468px). A global height:100%!important overrides that and makes
   homepage cards ignore the template. */
.program-card-template-scope{display:flex!important;align-items:stretch!important;width:100%!important;min-width:0!important;}
.program-card-template-scope > article,
.program-card-template-scope > .program-card{width:100%!important;min-width:0!important;}
.browse-product-grid > .program-card-template-scope{align-self:stretch!important;}
.browse-product-grid .program-card-template-scope .learn-card-progress{margin:8px 0 10px!important;}
.program-card-template-scope .learn-card-progress i{display:block;height:7px;border-radius:999px;background:#ead8e8;overflow:hidden;margin-top:6px;}
.program-card-template-scope .learn-card-progress i b{display:block;height:100%;background:#870076;border-radius:999px;}

/* v200: de-duplicate SPA history entries and clean bundle/card copy. */

/* v202: clean enrollment-required page; no hero, visible centered buttons directly under the card. */
.course-access-clean-page{min-height:70vh;background:#fff9fd;display:block;padding:58px 0 82px}
.course-access-clean-page .section{padding:0}
.course-access-clean-card{max-width:760px;margin:0 auto;text-align:center;padding:46px 42px;border-radius:18px;box-shadow:0 24px 60px rgba(74,0,64,.08)}
.course-access-clean-card .access-kicker{margin:0 0 12px;text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:900;color:#8a006f}
.course-access-clean-card h2{margin:0 0 14px;color:#080011;font-size:26px;line-height:1.25}
.course-access-clean-card p{max-width:620px;margin-left:auto;margin-right:auto;color:#57314f;line-height:1.75}
.course-access-clean-actions{display:flex;justify-content:center;align-items:center;margin:22px auto 0;gap:12px;flex-wrap:wrap;text-align:center;width:100%}
.course-access-clean-actions .btn{min-width:148px;justify-content:center;border-radius:12px;box-shadow:0 12px 24px rgba(74,0,64,.08)}
.course-access-clean-actions .btn-primary{background:#fff;color:var(--purple-dark);border:1px solid rgba(122,0,107,.18)}
.course-access-clean-actions .btn-outline{background:#fff;color:var(--purple);border:1px solid rgba(122,0,107,.35)}
.course-access-clean-actions .btn-outline:hover{background:var(--purple);color:#fff;border-color:var(--purple)}
@media(max-width:640px){.course-access-clean-page{padding:34px 0 64px}.course-access-clean-card{padding:32px 20px;border-radius:16px}.course-access-clean-actions{flex-direction:column;margin-top:18px}.course-access-clean-actions .btn{width:min(100%,280px)}}

/* v208: lock admin write actions until the latest D1 bootstrap is verified. */
.admin-save-lock-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-4px 0 18px;padding:13px 16px;border:1px solid rgba(183,122,34,.28);background:linear-gradient(135deg,#fff7df,#fff 58%,#fff6fd);border-radius:16px;color:#3c1738;box-shadow:0 12px 30px rgba(74,0,64,.06)}
.admin-save-lock-banner strong{color:#7a006b;font-weight:900!important;white-space:nowrap}.admin-save-lock-banner span{font-size:13px;line-height:1.55;color:#6b4b65}.ja-admin-save-locked .studio-dashboard [data-save-builder],.ja-admin-save-locked .studio-dashboard form button[type="submit"],.ja-admin-save-locked #modal form button[type="submit"]{opacity:.58;cursor:not-allowed!important;filter:saturate(.75)}
@media(max-width:720px){.admin-save-lock-banner{align-items:flex-start;flex-direction:column}.admin-save-lock-banner strong{white-space:normal}}


/* v209: footer polish — reduce empty top space, strengthen footer presence, enlarge brand logo. */
.footer{
  padding:30px 0 34px!important;
}
.footer-grid{
  gap:46px!important;
  padding-bottom:44px!important;
  align-items:start!important;
}
.footer .logo-brand{
  margin:0 0 22px!important;
  max-width:260px!important;
}
.footer .brand-logo-full-img,
.footer .logo-brand.brand-logo-full .brand-logo-full-img{
  height:50px!important;
  max-height:50px!important;
  max-width:240px!important;
  object-fit:contain!important;
}
.footer p,
.footer li,
.footer a{
  font-size:16px!important;
  line-height:1.7!important;
}
.footer h4{
  margin:6px 0 18px!important;
  font-size:13px!important;
  letter-spacing:.18em!important;
}
.footer ul{
  gap:13px!important;
}
.footer-bottom{
  padding-top:24px!important;
}
@media(max-width:700px){
  .footer{padding:24px 0 32px!important;}
  .footer-grid{gap:28px!important;padding-bottom:34px!important;}
  .footer .brand-logo-full-img,
  .footer .logo-brand.brand-logo-full .brand-logo-full-img{
    height:42px!important;
    max-height:42px!important;
    max-width:210px!important;
  }
  .footer p,.footer li,.footer a{font-size:15px!important;}
}


/* v210: compact footer balance — less empty vertical space, same identity presence. */
.footer{
  padding:22px 0 20px!important;
}
.footer-grid{
  gap:34px!important;
  padding-bottom:20px!important;
  align-items:start!important;
}
.footer .logo-brand{
  margin:0 0 12px!important;
  max-width:230px!important;
}
.footer .brand-logo-full-img,
.footer .logo-brand.brand-logo-full .brand-logo-full-img{
  height:44px!important;
  max-height:44px!important;
  max-width:215px!important;
  object-fit:contain!important;
}
.footer p,
.footer li,
.footer a{
  font-size:15px!important;
  line-height:1.5!important;
}
.footer p{
  margin-top:8px!important;
  margin-bottom:12px!important;
}
.footer h4{
  margin:2px 0 12px!important;
  font-size:12px!important;
  letter-spacing:.17em!important;
}
.footer ul{
  gap:8px!important;
}
.footer-bottom{
  padding-top:14px!important;
  margin-top:0!important;
  font-size:12px!important;
}
@media(max-width:700px){
  .footer{padding:20px 0 18px!important;}
  .footer-grid{gap:22px!important;padding-bottom:18px!important;}
  .footer .logo-brand{margin-bottom:10px!important;}
  .footer .brand-logo-full-img,
  .footer .logo-brand.brand-logo-full .brand-logo-full-img{height:38px!important;max-height:38px!important;max-width:190px!important;}
  .footer p,.footer li,.footer a{font-size:14px!important;line-height:1.45!important;}
  .footer-bottom{padding-top:12px!important;}
}

/* v211: fix Dashboard → Courses search/category controls overlapping. */
.courses-compact-panel .admin-course-filter-row{
  width:100%!important;
  max-width:760px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(150px,220px)!important;
  gap:10px 12px!important;
  align-items:end!important;
  overflow:visible!important;
}
.courses-compact-panel .admin-course-filter-row .safe-search-label{
  grid-column:1 / -1!important;
  margin:0!important;
  line-height:1.2!important;
}
.courses-compact-panel .admin-course-filter-row .searchbar.compact,
.courses-compact-panel .admin-course-filter-row .safe-searchbar{
  min-width:0!important;
  max-width:none!important;
  width:100%!important;
  margin:0!important;
}
.courses-compact-panel .admin-course-filter-row .safe-searchbar input{
  min-width:0!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.courses-compact-panel .admin-course-filter-row select,
.courses-compact-panel .admin-course-filter-row .select.compact{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  box-sizing:border-box!important;
  margin:0!important;
}
@media(max-width:760px){
  .courses-compact-panel .admin-course-filter-row{
    max-width:100%!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .courses-compact-panel .admin-course-filter-row .safe-search-label{
    grid-column:auto!important;
  }
}

/* v220: public marketing curriculum compact preview + definitive LTR/RTL row layout */
.public-curriculum-head{margin-bottom:16px!important;text-align:center!important;}
.public-curriculum-head h2{color:#111827!important;font-weight:850!important;font-size:clamp(24px,2.4vw,34px)!important;line-height:1.25!important;}
.public-course-curriculum .course-curriculum-wide{max-width:1120px!important;margin:0 auto!important;background:#fff!important;border:1px solid #e5e7eb!important;box-shadow:none!important;border-radius:0!important;padding:0 12px 12px!important;}
.public-course-curriculum .course-side-section{border:0!important;border-top:1px solid #e5e7eb!important;margin:0!important;padding:0 0 6px!important;background:#fff!important;border-radius:0!important;overflow:hidden!important;}
.public-course-curriculum .course-side-section:first-child{border-top:0!important;}
.public-course-curriculum .course-side-section h3.course-section-title,
.public-course-curriculum .course-side-section>h3,
.public-course-curriculum .course-side-section>summary.course-section-title{font-size:clamp(15px,1.25vw,18px)!important;font-weight:700!important;color:#79196f!important;line-height:1.45!important;background:#fff!important;padding:16px 18px 12px!important;margin:0!important;text-align:start!important;}
.public-course-curriculum .course-curriculum-wide.curriculum-flow-ltr .course-section-title{text-align:left!important;direction:ltr!important;}
.public-course-curriculum .course-curriculum-wide.curriculum-flow-rtl .course-section-title{text-align:right!important;direction:rtl!important;}
.public-curriculum-hidden{display:none!important;}
.public-curriculum-more-wrap{display:flex!important;justify-content:center!important;margin:16px 0 4px!important;}
.public-curriculum-show-more{min-width:160px!important;border-color:#79196f!important;color:#79196f!important;background:#fff!important;font-weight:900!important;border-radius:10px!important;padding:11px 18px!important;}
.public-curriculum-show-more:hover{background:#79196f!important;color:#fff!important;}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row{display:grid!important;align-items:center!important;width:100%!important;gap:14px!important;border:0!important;border-top:0!important;border-radius:14px!important;background:#f7f7f8!important;color:#111827!important;padding:13px 16px!important;margin:8px 0!important;line-height:1.55!important;direction:ltr!important;text-align:start!important;}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row:hover{background:#fbf3fa!important;transform:none!important;box-shadow:none!important;}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr{grid-template-columns:minmax(0,1fr) max-content!important;direction:ltr!important;}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl{grid-template-columns:max-content minmax(0,1fr)!important;direction:ltr!important;}
.public-course-curriculum .course-curriculum-wide .course-lesson-title{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important;max-width:100%!important;margin:0!important;font-size:clamp(14px,1vw,16px)!important;line-height:1.55!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;}
.public-course-curriculum .course-curriculum-wide .course-lesson-title::before{content:""!important;display:inline-block!important;flex:0 0 auto!important;width:14px!important;height:14px!important;border:1.5px solid #79196f!important;border-radius:999px!important;background:#fff!important;box-shadow:0 0 0 3px rgba(121,25,111,.04)!important;margin:0!important;}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title{grid-column:1!important;justify-self:start!important;justify-content:flex-start!important;text-align:left!important;direction:ltr!important;unicode-bidi:plaintext!important;flex-direction:row!important;}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title{grid-column:2!important;justify-self:end!important;justify-content:flex-start!important;text-align:right!important;direction:rtl!important;unicode-bidi:plaintext!important;flex-direction:row-reverse!important;}
.public-course-curriculum .course-curriculum-wide .course-row-actions{display:inline-flex!important;align-items:center!important;gap:8px!important;white-space:nowrap!important;direction:ltr!important;}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-row-actions{grid-column:2!important;justify-self:end!important;}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-row-actions{grid-column:1!important;justify-self:start!important;}
.public-course-curriculum .course-curriculum-wide .course-start-badge{display:inline-grid!important;place-items:center!important;min-width:112px!important;background:#79196f!important;color:#fff!important;border-radius:6px!important;font-size:12px!important;font-weight:900!important;padding:7px 10px!important;margin:0!important;direction:ltr!important;text-align:center!important;}
.public-course-curriculum .course-curriculum-wide .public-chip{display:inline-grid!important;place-items:center!important;background:#fff!important;color:#79196f!important;border-radius:999px!important;font-size:11px!important;font-weight:800!important;padding:4px 8px!important;margin:0!important;direction:ltr!important;text-align:center!important;}
@media(max-width:700px){
  .public-course-curriculum .course-curriculum-wide{padding:0 8px 10px!important;}
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr{grid-template-columns:minmax(0,1fr)!important;}
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl{grid-template-columns:minmax(0,1fr)!important;}
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-row-actions{grid-column:1!important;justify-self:end!important;}
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-row-actions{grid-column:1!important;justify-self:start!important;}
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title{grid-column:1!important;}
}

/* v223 Media/R2 scalability */
.media-browser-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.media-browser-tools .media-search{min-width:min(360px,100%)}.media-folder-pager{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;border-top:1px solid #ead6e8;background:#fbf6fb}.media-lazy-body .media-lazy-note{padding:14px;color:#6b6070}.media-area-card[open]>.media-area-folders{padding-top:8px}@media(max-width:760px){.media-browser-head{align-items:stretch}.media-browser-tools{justify-content:stretch}.media-browser-tools .media-search{width:100%;min-width:0}.media-folder-pager{flex-direction:column;align-items:stretch}.media-folder-pager .btn{width:100%}}

/* v228 analytics dashboard summary */
.overview-visit-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}
.overview-visit-summary>div{border:1px solid rgba(122,0,107,.12);border-radius:12px;background:#fff;padding:10px 12px;min-height:64px}
.overview-visit-summary small{display:block;color:#6b6070;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}
.overview-visit-summary strong{font-size:22px;line-height:1;color:#79196f;font-weight:950}
.overview-visit-bars{margin-top:8px}
@media(max-width:720px){.overview-visit-summary{grid-template-columns:1fr}}

/* v232 fixed owner/admin rail while scrolling
   Keep the dashboard menu attached to the left side on desktop/tablet widths,
   even when viewport CSS width drops below the older 1200px breakpoint. */
@media (min-width: 901px){
  .studio-dashboard{
    grid-template-columns:236px minmax(0,1fr)!important;
    align-items:start!important;
  }
  .studio-dashboard:not(.rail-collapsed) .studio-rail{
    position:sticky!important;
    top:0!important;
    left:0!important;
    align-self:start!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    overflow:hidden!important;
    z-index:80!important;
  }
  .studio-dashboard:not(.rail-collapsed) .studio-nav{
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  .studio-dashboard:not(.rail-collapsed) .studio-open-site{
    flex:0 0 auto!important;
  }
  .studio-workspace{
    min-width:0!important;
  }
}
@media (max-width: 900px){
  .studio-dashboard{grid-template-columns:1fr!important;}
  .studio-rail{position:relative!important;height:auto!important;max-height:none!important;min-height:auto!important;}
}


/* v233/v234 dashboard app-shell scrolling
   Keep the owner/admin left rail visually attached to the left side while the dashboard content scrolls.
   This avoids body-level scrolling moving the rail and keeps the menu usable like a vertical app sidebar. */
@media (min-width: 901px){
  html:has(.studio-dashboard),
  body:has(.studio-dashboard){
    height:100%!important;
    overflow:hidden!important;
  }
  .studio-dashboard{
    width:100%!important;
    height:100dvh!important;
    max-height:100dvh!important;
    min-height:100dvh!important;
    overflow:hidden!important;
    display:grid!important;
    grid-template-columns:236px minmax(0,1fr)!important;
    align-items:stretch!important;
  }
  .studio-dashboard:not(.rail-collapsed) .studio-rail{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    bottom:auto!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    width:236px!important;
    overflow:hidden!important;
    align-self:stretch!important;
    z-index:80!important;
  }
  .studio-dashboard:not(.rail-collapsed) .studio-nav{
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
  }
  .studio-dashboard:not(.rail-collapsed) .studio-open-site{
    flex:0 0 auto!important;
  }
  .studio-workspace{
    min-width:0!important;
    height:100dvh!important;
    max-height:100dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    scroll-behavior:auto!important;
  }
  .studio-dashboard.rail-collapsed{
    grid-template-columns:1fr!important;
  }
  .studio-dashboard.rail-collapsed .studio-workspace{
    height:100dvh!important;
    max-height:100dvh!important;
    overflow-y:auto!important;
  }
}
@media (max-width: 900px){
  html:has(.studio-dashboard),
  body:has(.studio-dashboard){
    height:auto!important;
    overflow:auto!important;
  }
  .studio-dashboard{
    height:auto!important;
    max-height:none!important;
    min-height:100vh!important;
    overflow:visible!important;
    grid-template-columns:1fr!important;
  }
  .studio-rail{
    position:relative!important;
    top:auto!important;
    width:auto!important;
    height:auto!important;
    max-height:none!important;
    min-height:auto!important;
  }
  .studio-workspace{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
}


/* v242: homepage cards must use the exact selected dashboard templates.
   Do not force a special homepage card height/body/title layout here.
   The shared programCard()/bundleCard() renderers already pull from
   Dashboard → Templates → Program card templates and Bundle card templates. */
.home-program-category .browse-product-grid,
.home-category-programs .browse-product-grid{
  align-items:stretch!important;
}
.home-program-category .browse-product-grid > .program-card-template-scope,
.home-category-programs .browse-product-grid > .program-card-template-scope,
.home-program-category .browse-product-grid > .program-card,
.home-category-programs .browse-product-grid > .program-card{
  display:flex!important;
}


/* v247: homepage course/bundle cards now respect the selected template's own sizing.
   The card template itself controls height/image/body/button layout. */
.home-program-category .program-card-template-scope > article,
.home-category-programs .program-card-template-scope > article{max-width:100%!important;}

/* v253: final public curriculum, diploma cards, sticky lesson nav, rich text editor polish */
.ja-cloud-loading-screen{min-height:100dvh!important;display:grid!important;place-items:center!important;padding:max(28px,env(safe-area-inset-top)) 18px!important;text-align:center!important;}
.ja-cloud-loading-card{margin:auto!important;max-width:min(520px,92vw)!important;}
.ja-cloud-loading-logo{width:100%!important;height:100%!important;object-fit:contain!important;border-radius:14px!important;display:block!important;}

.course-reader-page .course-frame{align-items:start!important;}
@media(min-width:981px){
  .course-reader-page .course-sidebar[data-course-sidebar],
  .course-reader-page .course-sidebar{
    position:sticky!important;
    top:82px!important;
    max-height:calc(100dvh - 92px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    scroll-behavior:auto!important;
    align-self:start!important;
  }
  .course-reader-page .course-content{scroll-margin-top:84px!important;}
}

.diploma-card-template-scope{flex:1 1 100%!important;max-width:100%!important;width:100%!important;display:block!important;}
.home-program-category .browse-product-grid > .diploma-card-template-scope,
.home-category-programs .browse-product-grid > .diploma-card-template-scope,
.browse-product-grid > .diploma-card-template-scope,
.featured-diploma-row > .diploma-card-template-scope{
  flex:1 1 100%!important;
  max-width:100%!important;
  width:100%!important;
}


/* v282: diploma card template scope must be full-row after the runtime adds both scope classes. */
.home-program-category .browse-product-grid > .program-card-template-scope.diploma-card-template-scope,
.home-category-programs .browse-product-grid > .program-card-template-scope.diploma-card-template-scope,
.browse-product-grid > .program-card-template-scope.diploma-card-template-scope,
.featured-diploma-row > .program-card-template-scope.diploma-card-template-scope{
  flex:0 0 100%!important;
  max-width:100%!important;
  width:100%!important;
  min-width:100%!important;
  display:block!important;
}
.program-card-template-scope.diploma-card-template-scope > article{
  width:100%!important;
  max-width:100%!important;
}
.bundle-diploma-home-grid,.featured-diploma-row{display:flex!important;flex-direction:column!important;gap:18px!important;align-items:stretch!important;}
.bundle-diploma-home-grid > *, .featured-diploma-row > *{max-width:100%!important;width:100%!important;}
.diploma-public-page .bundle-included-title,
.bundle-public-page .bundle-included-title{text-align:center!important;margin-left:auto!important;margin-right:auto!important;}
.bundle-public-page .course-enroll-final-card h2{max-width:900px!important;margin-left:auto!important;margin-right:auto!important;}

.public-course-curriculum .course-curriculum-wide{padding:0 12px 14px!important;border-radius:8px!important;}
.public-course-curriculum .course-side-section h3.course-section-title,
.public-course-curriculum .course-side-section>h3,
.public-course-curriculum .course-side-section>summary.course-section-title{
  text-align:center!important;
  justify-content:center!important;
  direction:auto!important;
  unicode-bidi:plaintext!important;
  font-weight:900!important;
  color:#79196f!important;
}
.public-course-curriculum .course-curriculum-wide.curriculum-flow-ltr .course-section-title,
.public-course-curriculum .course-curriculum-wide.curriculum-flow-rtl .course-section-title{text-align:center!important;}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row{
  min-height:56px!important;
  border-radius:12px!important;
  padding:12px 16px!important;
  margin:7px 0!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr{grid-template-columns:minmax(0,1fr) max-content!important;}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl{grid-template-columns:max-content minmax(0,1fr)!important;}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title{grid-column:1!important;text-align:left!important;direction:ltr!important;justify-self:start!important;}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title{grid-column:2!important;text-align:right!important;direction:rtl!important;justify-self:end!important;}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-row-actions{grid-column:2!important;justify-self:end!important;}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-row-actions{grid-column:1!important;justify-self:start!important;}
.public-course-curriculum .course-curriculum-wide .course-start-badge{min-width:104px!important;font-size:11px!important;letter-spacing:.01em!important;}
@media(max-width:640px){
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row,
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr,
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl{grid-template-columns:1fr!important;gap:8px!important;}
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row .course-row-actions{grid-column:1!important;justify-self:start!important;order:2!important;}
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row .course-lesson-title{grid-column:1!important;justify-self:stretch!important;order:1!important;text-align:start!important;}
}

.ja-rich-editor-wrap{border:1px solid #ead8e8;border-radius:14px;background:#fff;overflow:hidden;margin:0 0 14px;box-shadow:0 8px 24px rgba(74,0,64,.05)}
.ja-rich-toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:10px;border-bottom:1px solid #ead8e8;background:#fff7fd;position:sticky;top:0;z-index:2}
.ja-rich-toolbar button,.ja-rich-toolbar select,.ja-rich-toolbar label{height:34px;border:1px solid #dfc8dd;background:#fff;border-radius:8px;padding:0 9px;font-size:12px;font-weight:800;color:#3d1a39;display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.ja-rich-toolbar input[type="color"]{width:26px;height:24px;border:0;padding:0;background:transparent;cursor:pointer}
.ja-rich-editor{min-height:220px;padding:16px 18px;font-size:16px;line-height:1.7;color:#2b0a28;outline:none;background:#fff;overflow:auto;white-space:normal}
.ja-rich-editor:focus{box-shadow:inset 0 0 0 2px rgba(121,25,111,.16)}
.builder-rich-text{white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.75!important;}
.builder-rich-text p{margin:0 0 .8em}.builder-rich-text p:last-child{margin-bottom:0}.builder-rich-text ul,.builder-rich-text ol{margin:.6em 0 .8em 1.4em}.builder-rich-text blockquote{margin:1em 0;padding:.8em 1em;border-inline-start:4px solid #870076;background:#fff7fd;border-radius:8px}


/* v255: public curriculum professional alignment fix.
   One course-wide flow decides physical placement: LTR = title left/action right; RTL = action left/title right.
   Removes duplicate decorative circles created by older pseudo-element overrides. */
.public-course-curriculum .course-curriculum-wide .curriculum-course-row{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  width:100%!important;
  grid-template-columns:none!important;
  direction:ltr!important;
  padding:14px 18px!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row::before,
.public-course-curriculum .course-curriculum-wide .course-lesson-title::before{
  content:none!important;
  display:none!important;
}
.public-course-curriculum .course-curriculum-wide .course-row-actions{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex:0 0 auto!important;
  min-width:0!important;
}
.public-course-curriculum .course-curriculum-wide .course-row-actions .course-start-badge,
.public-course-curriculum .course-curriculum-wide .course-row-actions .public-chip{
  margin:0!important;
  order:initial!important;
  white-space:nowrap!important;
  direction:ltr!important;
}
.public-course-curriculum .course-curriculum-wide .course-lesson-title{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex:1 1 auto!important;
  min-width:0!important;
  margin:0!important;
}
.public-course-curriculum .course-curriculum-wide .course-lesson-dot{
  display:inline-block!important;
  flex:0 0 auto!important;
  width:16px!important;
  height:16px!important;
  border:1.5px solid #79196f!important;
  border-radius:999px!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(121,25,111,.04)!important;
}
.public-course-curriculum .course-curriculum-wide .course-lesson-name{
  min-width:0!important;
  overflow-wrap:anywhere!important;
  unicode-bidi:isolate!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title{
  order:1!important;
  justify-content:flex-start!important;
  text-align:left!important;
  direction:ltr!important;
  margin-right:14px!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-row-actions{
  order:2!important;
  margin-left:auto!important;
  margin-right:0!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title.dir-rtl{
  direction:rtl!important;
  text-align:left!important;
  justify-content:flex-start!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-row-actions{
  order:1!important;
  margin-right:auto!important;
  margin-left:0!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title{
  order:2!important;
  justify-content:flex-end!important;
  text-align:right!important;
  direction:rtl!important;
  margin-left:14px!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title.dir-ltr{
  direction:ltr!important;
  text-align:right!important;
  justify-content:flex-end!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-rtl .course-lesson-title{
  flex-direction:row-reverse!important;
}
.public-course-curriculum .course-curriculum-wide .curriculum-course-row.flow-ltr .course-lesson-title{
  flex-direction:row!important;
}
.public-course-curriculum .course-side-section>h3,
.public-course-curriculum .course-side-section h3.course-section-title{
  text-align:center!important;
}
@media(max-width:700px){
  .public-course-curriculum .course-curriculum-wide .curriculum-course-row{
    gap:10px!important;
    padding:12px 12px!important;
  }
  .public-course-curriculum .course-curriculum-wide .course-row-actions .course-start-badge{
    min-width:72px!important;
    font-size:11px!important;
    padding:6px 8px!important;
  }
}

/* v256 professional polish */
/* Header: give the saved logo breathing room without changing Settings. */
.navbar .brand,
.navbar .logo-brand{
  padding-top:8px!important;
}
.navbar .brand img,
.navbar .logo-brand img{
  display:block!important;
}

/* Builder text default + rich selected-text editing polish. */
.builder-align-justify,
.builder-align-justify .builder-text,
.builder-preview-site .builder-align-justify{
  text-align:justify!important;
}
.ja-rich-editor-wrap{
  border:1px solid #ead8e8;
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.ja-rich-toolbar{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  padding:8px!important;
  background:#faf3f9!important;
  border-bottom:1px solid #ead8e8!important;
  position:sticky;
  top:0;
  z-index:2;
}
.ja-rich-toolbar button,
.ja-rich-toolbar select,
.ja-rich-toolbar input[type="color"],
.rich-size-input{
  min-height:30px;
  border:1px solid #dfc8dc;
  border-radius:7px;
  background:#fff;
  color:#29112a;
  font-size:12px;
}
.ja-rich-toolbar button{padding:4px 8px;cursor:pointer;font-weight:700;}
.ja-rich-toolbar button:hover{border-color:#79196f;color:#79196f;}
.rich-size-input{width:58px;padding:3px 5px;}
.ja-rich-editor{
  min-height:240px;
  padding:14px 16px;
  outline:none;
  line-height:1.75;
  text-align:justify;
  white-space:normal;
}
.ja-rich-editor p{margin:0 0 .9em;}
.ja-rich-editor p:empty::before{content:'\00a0';}
.ja-rich-editor ul,.ja-rich-editor ol{padding-inline-start:1.6rem;margin:.4em 0 .9em;}

/* v329 rich text toolbox: grouped, source-aware editor controls. */
.ja-rich-editor-wrap{
  border:1px solid #e7d7e6!important;
  border-radius:16px!important;
  background:#fff!important;
  overflow:hidden!important;
  box-shadow:0 12px 30px rgba(74,0,64,.06)!important;
}
.ja-rich-toolbar{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  padding:10px!important;
  background:linear-gradient(180deg,#fffafd,#f8f0f7)!important;
  border-bottom:1px solid #ead8e8!important;
  position:sticky!important;
  top:0!important;
  z-index:3!important;
}
.ja-rich-toolbar-group{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:6px!important;
  padding:7px!important;
  border:1px solid #edddec!important;
  background:#fff!important;
  border-radius:12px!important;
}
.ja-rich-toolbar-group.wide{
  background:#fff7fd!important;
}
.ja-rich-tool-label{
  min-width:62px!important;
  color:#6f1b66!important;
  font-size:11px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
}
.ja-rich-toolbar button,
.ja-rich-toolbar select,
.ja-rich-toolbar label{
  min-height:32px!important;
  height:auto!important;
  border:1px solid #dbc7da!important;
  background:#fff!important;
  color:#30122d!important;
  border-radius:8px!important;
  padding:5px 9px!important;
  font-size:12px!important;
  font-weight:850!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
}
.ja-rich-toolbar button:hover,
.ja-rich-toolbar select:focus,
.ja-rich-toolbar label:focus-within{
  border-color:#79196f!important;
  box-shadow:0 0 0 3px rgba(121,25,111,.08)!important;
}
.ja-rich-toolbar input[type="color"]{
  width:28px!important;
  height:22px!important;
  border:0!important;
  padding:0!important;
  background:transparent!important;
}
.ja-rich-px-control .rich-size-input,
.rich-size-input{
  width:58px!important;
  min-height:26px!important;
  padding:2px 5px!important;
}
.ja-rich-editor{
  min-height:300px!important;
  padding:20px 22px!important;
  font-size:16px!important;
  line-height:1.75!important;
  color:#241326!important;
  background:#fff!important;
  outline:none!important;
}
.ja-rich-editor:focus{
  box-shadow:inset 0 0 0 2px rgba(121,25,111,.18)!important;
}
.ja-rich-source-panel{
  border-top:1px solid #ead8e8!important;
  background:#fcf8fb!important;
  padding:12px!important;
  display:grid!important;
  gap:10px!important;
}
.ja-rich-source-panel[hidden]{
  display:none!important;
}
.ja-rich-source-head,
.ja-rich-footer{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:12px!important;
  color:#73536f!important;
  font-size:12px!important;
}
.ja-rich-source-head strong{
  color:#4b0f45!important;
}
.ja-rich-source-textarea{
  min-height:170px!important;
  resize:vertical!important;
}
.ja-rich-source-actions{
  display:flex!important;
  justify-content:flex-end!important;
  gap:8px!important;
}
.ja-rich-footer{
  padding:9px 12px!important;
  border-top:1px solid #f0e2ef!important;
  background:#fffafd!important;
}
.ja-rich-footer [data-rich-count]{
  white-space:nowrap!important;
  color:#4b0f45!important;
  font-weight:950!important;
}

/* Public curriculum: reset direction and alignment from scratch. */
.public-course-curriculum .course-curriculum-wide{
  direction:ltr!important;
}
.public-course-curriculum .course-side-section.curriculum-section{
  direction:ltr!important;
  display:block;
}
.public-course-curriculum .course-side-section.curriculum-section.public-curriculum-section-hidden{
  display:none!important;
}
.public-course-curriculum .course-section-title{
  text-align:center!important;
  justify-content:center!important;
  direction:auto!important;
  unicode-bidi:plaintext!important;
  margin:18px auto!important;
}
.public-course-curriculum .curriculum-course-row{
  width:100%!important;
  display:grid!important;
  align-items:center!important;
  gap:16px!important;
  direction:ltr!important;
  text-align:initial!important;
}
.public-course-curriculum .curriculum-course-row.flow-ltr{
  grid-template-columns:minmax(0,1fr) auto!important;
}
.public-course-curriculum .curriculum-course-row.flow-rtl{
  grid-template-columns:auto minmax(0,1fr)!important;
}
.public-course-curriculum .curriculum-course-row.flow-ltr .course-lesson-title{
  grid-column:1!important;
  order:initial!important;
  justify-content:flex-start!important;
  text-align:left!important;
  margin:0!important;
  flex-direction:row!important;
}
.public-course-curriculum .curriculum-course-row.flow-ltr .course-row-actions{
  grid-column:2!important;
  order:initial!important;
  justify-self:end!important;
  margin:0!important;
}
.public-course-curriculum .curriculum-course-row.flow-rtl .course-row-actions{
  grid-column:1!important;
  order:initial!important;
  justify-self:start!important;
  margin:0!important;
}
.public-course-curriculum .curriculum-course-row.flow-rtl .course-lesson-title{
  grid-column:2!important;
  order:initial!important;
  justify-content:flex-end!important;
  text-align:right!important;
  margin:0!important;
  flex-direction:row-reverse!important;
}
.public-course-curriculum .course-lesson-title.dir-rtl{direction:rtl!important;unicode-bidi:plaintext!important;}
.public-course-curriculum .course-lesson-title.dir-ltr{direction:ltr!important;unicode-bidi:plaintext!important;}
.public-course-curriculum .course-lesson-dot{
  flex:0 0 auto!important;
  width:14px!important;
  height:14px!important;
  border:1.5px solid #b0009c!important;
  border-radius:999px!important;
  background:#fff!important;
  display:inline-block!important;
}
.public-curriculum-show-more{
  background:#79196f!important;
  border-color:#79196f!important;
  color:#fff!important;
  font-weight:800!important;
  padding:12px 22px!important;
  border-radius:10px!important;
  box-shadow:0 10px 22px rgba(121,25,111,.18)!important;
}
.public-curriculum-show-more:hover{
  background:#5f1057!important;
  border-color:#5f1057!important;
  color:#fff!important;
}
.course-enroll-final-copy{
  margin:0 0 16px!important;
  font-size:clamp(1.15rem,2vw,1.45rem)!important;
  font-weight:400!important;
  color:#241024!important;
  text-align:center!important;
}

/* R2 preview modal */
.media-preview-frame{
  width:100%;
  min-height:min(72vh,760px);
  border:1px solid #ead8e8;
  border-radius:12px;
  background:#fff;
}
.media-preview-shell{
  width:100%;
  max-height:72vh;
  overflow:auto;
  border:1px solid #ead8e8;
  border-radius:12px;
  background:#fafafa;
  display:flex;
  align-items:center;
  justify-content:center;
}
.media-preview-image{
  max-width:100%;
  height:auto;
  display:block;
}

@media(max-width:700px){
  .public-course-curriculum .curriculum-course-row.flow-ltr,
  .public-course-curriculum .curriculum-course-row.flow-rtl{
    grid-template-columns:1fr!important;
  }
  .public-course-curriculum .curriculum-course-row .course-row-actions,
  .public-course-curriculum .curriculum-course-row .course-lesson-title{
    grid-column:1!important;
    justify-self:stretch!important;
  }
  .public-course-curriculum .curriculum-course-row.flow-rtl .course-row-actions,
  .public-course-curriculum .curriculum-course-row.flow-ltr .course-row-actions{
    justify-self:start!important;
  }
}
.diploma-public-page .course-enroll-final-btn{font-weight:400!important;}


/* v257: final clean public curriculum direction/layout override.
   This intentionally has higher specificity than older v220/v255/v256 rules. */
.public-course-curriculum .course-curriculum-wide .curriculum-lesson-line{
  width:100%!important;
  max-width:100%!important;
}
.public-course-curriculum .course-curriculum-wide button.course-lesson-row.curriculum-course-row{
  display:grid!important;
  align-items:center!important;
  justify-content:stretch!important;
  width:100%!important;
  max-width:100%!important;
  min-height:56px!important;
  gap:14px!important;
  padding:12px 16px!important;
  margin:8px 0!important;
  background:#f7f7f8!important;
  border:0!important;
  border-radius:12px!important;
  direction:ltr!important;
  text-align:initial!important;
  box-shadow:none!important;
  transform:none!important;
}
.public-course-curriculum .course-curriculum-wide button.course-lesson-row.curriculum-course-row:hover{
  background:#fbf3fa!important;
  box-shadow:none!important;
  transform:none!important;
}
.public-course-curriculum .course-curriculum-wide button.course-lesson-row.curriculum-course-row.flow-ltr{
  grid-template-columns:minmax(0,1fr) max-content!important;
}
.public-course-curriculum .course-curriculum-wide button.course-lesson-row.curriculum-course-row.flow-rtl{
  grid-template-columns:max-content minmax(0,1fr)!important;
}
.public-course-curriculum .course-curriculum-wide button.course-lesson-row.curriculum-course-row .course-row-actions{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  width:auto!important;
  white-space:nowrap!important;
  direction:ltr!important;
  margin:0!important;
  order:initial!important;
}
.public-course-curriculum .course-curriculum-wide button.course-lesson-row.curriculum-course-row.flow-ltr .course-row-actions{
  grid-column:2!important;
  justify-self:end!important;
}
.public-course-curriculum .course-curriculum-wide button.course-lesson-row.curriculum-course-row.flow-rtl .course-row-actions{
  grid-column:1!important;
  justify-self:start!important;
}
.public-course-curriculum .course-curriculum-wide button.course-lesson-row.curriculum-course-row .course-start-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:112px!important;
  min-height:30px!important;
  padding:7px 10px!important;
  border-radius:6px!important;
  background:#79196f!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1!important;
  margin:0!important;
  text-align:center!important;
  direction:ltr!important;
}
.public-course-curriculum .course-curriculum-wide button.course-lesson-row.curriculum-course-row .public-chip{
  margin:0!important;
}
.public-course-curriculum .course-curriculum-wide button.course-lesson-row.curriculum-course-row .course-lesson-title{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  max-width:100%!important;
  width:100%!important;
  margin:0!important;
  order:initial!important;
  overflow:visible!important;
}
.public-course-curriculum .course-curriculum-wide button.course-lesson-row.curriculum-course-row.flow-ltr .course-lesson-title{
  grid-column:1!important;
  justify-self:stretch!important;
  justify-content:flex-start!important;
  text-align:left!important;
  direction:ltr!important;
  flex-direction:row!important;
}
.public-course-curriculum .course-curriculum-wide button.course-lesson-row.curriculum-course-row.flow-rtl .course-lesson-title{
  grid-column:2!important;
  justify-self:stretch!important;
  justify-content:flex-start!important;
  text-align:right!important;
  direction:rtl!important;
  flex-direction:row!important;
}
.public-course-curriculum .course-curriculum-wide button.course-lesson-row.curriculum-course-row .course-lesson-title::before,
.public-course-curriculum .course-curriculum-wide button.course-lesson-row.curriculum-course-row::before{
  content:none!important;
  display:none!important;
}
.public-course-curriculum .course-curriculum-wide button.course-lesson-row.curriculum-course-row .course-lesson-dot{
  display:inline-block!important;
  flex:0 0 auto!important;
  width:14px!important;
  height:14px!important;
  border:1.5px solid #b0009c!important;
  border-radius:999px!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(121,25,111,.04)!important;
  margin:0!important;
}
.public-course-curriculum .course-curriculum-wide button.course-lesson-row.curriculum-course-row .course-lesson-name{
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  unicode-bidi:plaintext!important;
}
.public-course-curriculum .course-curriculum-wide button.course-lesson-row.curriculum-course-row.flow-ltr .course-lesson-name{
  direction:ltr!important;
  text-align:left!important;
}
.public-course-curriculum .course-curriculum-wide button.course-lesson-row.curriculum-course-row.flow-rtl .course-lesson-name{
  direction:rtl!important;
  text-align:right!important;
}
.public-course-curriculum .course-curriculum-wide .course-side-section.curriculum-section,
.public-course-curriculum .course-curriculum-wide .course-side-section.curriculum-section.dir-rtl,
.public-course-curriculum .course-curriculum-wide .course-side-section.curriculum-section.dir-ltr{
  direction:ltr!important;
}
.public-course-curriculum .course-curriculum-wide .course-section-title,
.public-course-curriculum .course-curriculum-wide .course-side-section>h3.course-section-title{
  display:block!important;
  width:100%!important;
  text-align:center!important;
  direction:auto!important;
  unicode-bidi:plaintext!important;
  justify-content:center!important;
}
@media(max-width:700px){
  .public-course-curriculum .course-curriculum-wide button.course-lesson-row.curriculum-course-row.flow-ltr,
  .public-course-curriculum .course-curriculum-wide button.course-lesson-row.curriculum-course-row.flow-rtl{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .public-course-curriculum .course-curriculum-wide button.course-lesson-row.curriculum-course-row.flow-ltr .course-row-actions,
  .public-course-curriculum .course-curriculum-wide button.course-lesson-row.curriculum-course-row.flow-rtl .course-row-actions{
    grid-column:1!important;
    justify-self:start!important;
  }
  .public-course-curriculum .course-curriculum-wide button.course-lesson-row.curriculum-course-row.flow-ltr .course-lesson-title,
  .public-course-curriculum .course-curriculum-wide button.course-lesson-row.curriculum-course-row.flow-rtl .course-lesson-title{
    grid-column:1!important;
  }
  .public-course-curriculum .course-curriculum-wide button.course-lesson-row.curriculum-course-row .course-start-badge{
    min-width:92px!important;
    font-size:11px!important;
  }
}

/* v259 professional audit polish */
.professional-service-row{border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:12px 14px;background:rgba(255,255,255,.09)}
.professional-service-row .progress-label{margin:0;gap:14px;justify-content:flex-start}
.course-sidebar .course-lesson-number{display:inline-grid!important;place-items:center!important;width:22px!important;height:22px!important;border-radius:999px!important;background:#f5e7f3!important;color:#79196f!important;font-size:11px!important;font-weight:950!important;line-height:1!important;margin-top:1px!important}
.course-sidebar .course-drag{display:none!important}

.learn-page-intro{margin-top:-8px;color:var(--muted);font-size:16px;line-height:1.6}

/* v271: public program/course/diploma pages must not visually use bold text. */
.programs-browse-shell :is(h1,h2,h3,h4,h5,h6,strong,b,button,.btn,.chip,.price,.section-label,.program-type-pill,.filter,.program-category-menu label,.program-foot,.program-meta,.status),
.course-public-page :is(h1,h2,h3,h4,h5,h6,strong,b,button,.btn,.chip,.price,.section-label,.course-short-description,.course-long-description,.course-enroll-final-copy,.course-lesson-row,.course-side-section h3,.public-curriculum-row,.curriculum-title,.curriculum-button),
.diploma-public-page :is(h1,h2,h3,h4,h5,h6,strong,b,button,.btn,.chip,.price,.section-label,.course-short-description,.course-long-description,.bundle-included-title,.course-enroll-final-copy),
.bundle-public-page :is(h1,h2,h3,h4,h5,h6,strong,b,button,.btn,.chip,.price,.section-label,.bundle-included-title,.course-enroll-final-copy),
.enrollment-page :is(h1,h2,h3,h4,h5,h6,strong,b,label,button,.btn,.section-label,.form-traditional-head,.enrollment-course-title),
.course-access-request-page :is(h1,h2,h3,h4,h5,h6,strong,b,button,.btn,.section-label),
.course-portal-page :is(h1,h2,h3,h4,h5,h6,strong,b,button,.btn,.chip) {
  font-weight:400!important;
}
.programs-browse-shell .browse-product-grid,
.home-program-category .browse-product-grid,
.home-category-programs .browse-product-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.browse-product-grid > .diploma-card-template-scope,
.diploma-card-template-scope {
  grid-column:1 / -1;
}
@media(max-width:900px){
  .programs-browse-shell .browse-product-grid,
  .home-program-category .browse-product-grid,
  .home-category-programs .browse-product-grid{grid-template-columns:1fr!important;}
}

/* v273: keep the in-course lesson navigation relatively fixed while scrolling, matching the dashboard rail behavior. */
.course-reader-page .course-frame{
  align-items:start!important;
}
.course-reader-page .course-sidebar{
  position:sticky!important;
  top:78px!important;
  align-self:start!important;
  height:calc(100vh - 78px)!important;
  max-height:calc(100vh - 78px)!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  z-index:45;
}
.course-reader-page .course-content{
  min-width:0;
  overflow:visible!important;
}
@media(max-width:980px){
  .course-reader-page .course-sidebar{
    position:relative!important;
    top:auto!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    z-index:auto;
  }
}
@media(max-width:620px){
  .course-reader-page .course-sidebar{display:none!important;}
}


/* v274: course reader navigation is truly viewport-fixed on desktop.
   Earlier sticky rules overrode template-level fixed nav because they used
   .course-reader-page .course-sidebar with !important. Keep the sidebar
   attached to the left side of the viewport while the lesson body scrolls. */
@media(min-width:981px){
  .course-reader-page:not(.builder-course-preview) .course-frame{
    display:block!important;
    min-height:calc(100dvh - 78px)!important;
    padding-left:310px!important;
    align-items:start!important;
  }
  .course-reader-page:not(.builder-course-preview) .course-sidebar,
  .course-reader-page:not(.builder-course-preview) .course-sidebar[data-course-sidebar],
  .course-reader-page:not(.builder-course-preview) .ja-sticky-course-nav,
  .course-reader-page:not(.builder-course-preview) .ja-fixed-course-nav{
    position:fixed!important;
    left:0!important;
    top:78px!important;
    width:310px!important;
    height:calc(100dvh - 78px)!important;
    max-height:calc(100dvh - 78px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    z-index:70!important;
    background:#fff!important;
    border-right:1px solid #ead6e8!important;
    box-shadow:8px 0 28px rgba(42,15,45,.06)!important;
  }
  .course-reader-page:not(.builder-course-preview) .course-content{
    width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    overflow:visible!important;
  }
  .course-reader-page:not(.builder-course-preview) .course-sidebar *,
  .course-reader-page:not(.builder-course-preview) .course-nav-btn,
  .course-reader-page:not(.builder-course-preview) .course-nav-btn *{
    font-weight:400!important;
  }
}
@media(max-width:980px){
  .course-reader-page:not(.builder-course-preview) .course-frame{
    display:block!important;
    padding-left:0!important;
  }
  .course-reader-page:not(.builder-course-preview) .course-sidebar,
  .course-reader-page:not(.builder-course-preview) .course-sidebar[data-course-sidebar],
  .course-reader-page:not(.builder-course-preview) .ja-sticky-course-nav,
  .course-reader-page:not(.builder-course-preview) .ja-fixed-course-nav{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    z-index:auto!important;
    box-shadow:none!important;
  }
}
@media(max-width:620px){
  .course-reader-page:not(.builder-course-preview) .course-sidebar,
  .course-reader-page:not(.builder-course-preview) .course-sidebar[data-course-sidebar]{
    display:none!important;
  }
  .course-reader-page.course-menu-open:not(.builder-course-preview) .course-sidebar,
  .course-reader-page.course-menu-open:not(.builder-course-preview) .course-sidebar[data-course-sidebar]{
    display:block!important;
    position:fixed!important;
    left:0!important;
    top:76px!important;
    bottom:0!important;
    width:min(390px,90vw)!important;
    height:auto!important;
    max-height:calc(100dvh - 76px)!important;
    overflow-y:auto!important;
    z-index:999!important;
    box-shadow:18px 0 50px rgba(0,0,0,.24)!important;
    background:#fff!important;
  }
}


/* v275: final course viewport fit. Keep the reader topbar fixed, attach the
   curriculum rail directly beneath it, and reset template-level left margins
   so lesson content uses the available screen instead of drifting right. */
@media(min-width:981px){
  .course-reader-page:not(.builder-course-preview){
    --ja-course-topbar-h:78px;
    --ja-course-sidebar-w:294px;
    padding-top:var(--ja-course-topbar-h)!important;
  }
  .course-reader-page:not(.builder-course-preview) .course-topbar{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    height:var(--ja-course-topbar-h)!important;
    z-index:1000!important;
  }
  .course-reader-page:not(.builder-course-preview) .course-frame{
    display:block!important;
    min-height:calc(100dvh - var(--ja-course-topbar-h))!important;
    padding-left:var(--ja-course-sidebar-w)!important;
    margin-left:0!important;
    width:100%!important;
    max-width:none!important;
  }
  .course-reader-page:not(.builder-course-preview) .course-sidebar,
  .course-reader-page:not(.builder-course-preview) .course-sidebar[data-course-sidebar],
  .course-reader-page:not(.builder-course-preview) .ja-sticky-course-nav,
  .course-reader-page:not(.builder-course-preview) .ja-fixed-course-nav{
    position:fixed!important;
    left:0!important;
    top:var(--ja-course-topbar-h)!important;
    width:var(--ja-course-sidebar-w)!important;
    height:calc(100dvh - var(--ja-course-topbar-h))!important;
    max-height:calc(100dvh - var(--ja-course-topbar-h))!important;
    margin:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    z-index:900!important;
    background:#fff!important;
    border-right:1px solid #ead6e8!important;
    box-shadow:8px 0 28px rgba(42,15,45,.06)!important;
  }
  .course-reader-page:not(.builder-course-preview) .course-frame > .course-content,
  .course-reader-page:not(.builder-course-preview) .course-frame:has(.ja-sticky-course-nav) > .course-content,
  .course-reader-page:not(.builder-course-preview) .course-frame:has(.ja-fixed-course-nav) > .course-content,
  .course-reader-page:not(.builder-course-preview) .course-frame:has(.course-sidebar) > .course-content{
    margin-left:0!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    padding:24px clamp(18px,3vw,42px) 70px!important;
    overflow:visible!important;
  }
  .course-reader-page:not(.builder-course-preview) .course-content :is(iframe,video,embed,object){
    max-width:100%!important;
  }
}
@media(max-width:980px){
  .course-reader-page:not(.builder-course-preview){padding-top:0!important;}
}


/* v276: calibrated course reader screen fit. The fixed course rail owns the
   left column, while the lesson content starts immediately after it with a
   small professional gutter instead of a large blank offset. */
@media(min-width:981px){
  .course-reader-page:not(.builder-course-preview){
    --ja-course-topbar-h:78px;
    --ja-course-sidebar-w:294px;
    --ja-course-content-gutter:16px;
    padding-top:var(--ja-course-topbar-h)!important;
    overflow-x:hidden!important;
  }
  .course-reader-page:not(.builder-course-preview) .course-frame{
    display:block!important;
    box-sizing:border-box!important;
    min-height:calc(100dvh - var(--ja-course-topbar-h))!important;
    padding-left:var(--ja-course-sidebar-w)!important;
    margin:0!important;
    width:100%!important;
    max-width:none!important;
  }
  .course-reader-page:not(.builder-course-preview) .course-sidebar,
  .course-reader-page:not(.builder-course-preview) .course-sidebar[data-course-sidebar],
  .course-reader-page:not(.builder-course-preview) .ja-sticky-course-nav,
  .course-reader-page:not(.builder-course-preview) .ja-fixed-course-nav{
    position:fixed!important;
    left:0!important;
    top:var(--ja-course-topbar-h)!important;
    width:var(--ja-course-sidebar-w)!important;
    height:calc(100dvh - var(--ja-course-topbar-h))!important;
    max-height:calc(100dvh - var(--ja-course-topbar-h))!important;
    margin:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    z-index:900!important;
    background:#fff!important;
    border-right:1px solid #ead6e8!important;
    box-shadow:8px 0 28px rgba(42,15,45,.06)!important;
  }
  .course-reader-page:not(.builder-course-preview) .course-frame > .course-content,
  .course-reader-page:not(.builder-course-preview) .course-frame:has(.ja-sticky-course-nav) > .course-content,
  .course-reader-page:not(.builder-course-preview) .course-frame:has(.ja-fixed-course-nav) > .course-content,
  .course-reader-page:not(.builder-course-preview) .course-frame:has(.course-sidebar) > .course-content{
    box-sizing:border-box!important;
    margin:0!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    padding:22px var(--ja-course-content-gutter) 70px!important;
    overflow:visible!important;
  }
  .course-reader-page:not(.builder-course-preview) .course-title-row{
    margin:0 0 22px!important;
    max-width:none!important;
  }
  .course-reader-page:not(.builder-course-preview) .lesson-builder-html{
    width:100%!important;
    max-width:none!important;
    margin:0 0 28px!important;
  }
  .course-reader-page:not(.builder-course-preview) .lesson-builder-html > *{
    max-width:100%!important;
  }
  .course-reader-page:not(.builder-course-preview) .course-content :is(iframe,video,embed,object){
    max-width:100%!important;
  }
  .course-reader-page:not(.builder-course-preview) .course-completion-card,
  .course-reader-page:not(.builder-course-preview) .course-content-card:not(.lesson-builder-html){
    max-width:min(980px,100%)!important;
  }
}


/* v277: scaled course reader and Teachable-style durable lesson navigation. */
@media(min-width:981px){
  .course-reader-page:not(.builder-course-preview){
    --ja-course-topbar-h:78px;
    --ja-course-sidebar-w:294px;
    --ja-course-content-gutter:18px;
    --ja-course-lesson-max-w:1120px;
  }
  .course-reader-page:not(.builder-course-preview) .course-frame > .course-content,
  .course-reader-page:not(.builder-course-preview) .course-frame:has(.ja-sticky-course-nav) > .course-content,
  .course-reader-page:not(.builder-course-preview) .course-frame:has(.ja-fixed-course-nav) > .course-content,
  .course-reader-page:not(.builder-course-preview) .course-frame:has(.course-sidebar) > .course-content{
    padding:20px var(--ja-course-content-gutter) 70px!important;
  }
  .course-reader-page:not(.builder-course-preview) .course-title-row{
    margin:0 auto 22px!important;
    max-width:var(--ja-course-lesson-max-w)!important;
    transform:scale(.92)!important;
    transform-origin:top center!important;
  }
  .course-reader-page:not(.builder-course-preview) .lesson-builder-html > *{
    max-width:min(var(--ja-course-lesson-max-w),88%)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .course-reader-page:not(.builder-course-preview) .course-content :is(iframe,video,embed,object){
    max-width:100%!important;
    max-height:64dvh!important;
  }
  .course-reader-page:not(.builder-course-preview) .course-completion-card,
  .course-reader-page:not(.builder-course-preview) .course-content-card:not(.lesson-builder-html){
    max-width:min(900px,88%)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}
.course-reader-page .course-sidebar,
.course-reader-page .course-sidebar *{
  font-weight:400!important;
  box-sizing:border-box!important;
}
.course-reader-page .ja-teachable-course-nav,
.course-reader-page .course-sidebar{
  background:#fff!important;
  border-right:1px solid #ded5de!important;
  box-shadow:10px 0 30px rgba(55,18,58,.08)!important;
}
.course-reader-page .ja-course-nav-progress{
  padding:18px 22px 24px!important;
  background:#fff!important;
  border-bottom:1px solid #e8e1e8!important;
}
.course-reader-page .ja-course-nav-title{
  color:#130014!important;
  font-size:14px!important;
  line-height:1.5!important;
  margin-bottom:16px!important;
}
.course-reader-page .ja-course-nav-track{
  height:7px!important;
  border-radius:999px!important;
  background:#e5e1e5!important;
  overflow:hidden!important;
  margin-bottom:9px!important;
}
.course-reader-page .ja-course-nav-track i{
  display:block!important;
  height:100%!important;
  border-radius:999px!important;
  background:#76006e!important;
}
.course-reader-page .ja-course-nav-percent{
  text-align:center!important;
  color:#07000a!important;
  font-size:14px!important;
  letter-spacing:.01em!important;
}
.course-reader-page .ja-course-nav-percent strong{
  font-size:18px!important;
  margin-right:5px!important;
}
.course-reader-page .course-side-section{
  margin:0!important;
  border:0!important;
  border-bottom:1px solid #ead6e8!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#fff!important;
}
.course-reader-page .course-side-section h3{
  margin:0!important;
  padding:18px 16px!important;
  background:#fff!important;
  color:#120013!important;
  font-size:15px!important;
  line-height:1.4!important;
  border-bottom:1px solid #ead6e8!important;
}
.course-reader-page .course-lesson-row{
  display:grid!important;
  grid-template-columns:34px 30px minmax(0,1fr)!important;
  gap:0!important;
  align-items:center!important;
  width:100%!important;
  min-height:47px!important;
  padding:0 14px!important;
  background:#fff!important;
  border:0!important;
  border-top:1px solid #eee2ee!important;
  text-align:start!important;
  color:#211324!important;
  font-size:13px!important;
  line-height:1.4!important;
  white-space:normal!important;
}
.course-reader-page .course-lesson-row:hover{background:#fff7fd!important;}
.course-reader-page .course-lesson-row.active,
.course-reader-page .course-lesson-row.lesson-current{
  background:#f3dff0!important;
  color:#26001f!important;
  border-left:4px solid #76006e!important;
  padding-left:10px!important;
}
.course-reader-page .course-status-dot{
  width:18px!important;
  height:18px!important;
  border-radius:999px!important;
  border:2px solid #76006e!important;
  color:#76006e!important;
  background:#fff!important;
  display:grid!important;
  place-items:center!important;
  font-size:10px!important;
  line-height:1!important;
}
.course-reader-page .course-lesson-row.lesson-completed .course-status-dot,
.course-reader-page .course-lesson-row.lesson-done .course-status-dot{
  background:#76006e!important;
  color:#fff!important;
  border-color:#76006e!important;
}
.course-reader-page .course-lesson-row.lesson-visited .course-status-dot{
  background:#fff!important;
  color:#76006e!important;
  border-color:#76006e!important;
}
.course-reader-page .course-lesson-row.active .course-status-dot,
.course-reader-page .course-lesson-row.lesson-current .course-status-dot{
  background:#76006e!important;
  color:#fff!important;
  border-color:#76006e!important;
}
.course-reader-page .course-drag{
  color:#46394a!important;
  font-size:15px!important;
  text-align:center!important;
}
.course-reader-page .course-title-text,
.course-reader-page .course-lesson-row > span:last-child{
  min-width:0!important;
  overflow-wrap:anywhere!important;
}


/* v278: professional lesson media fit. Keep the fixed reader layout, but
   constrain lesson media so PDFs do not open oversized and vertical videos do
   not dominate the page as a huge black rectangle. */
@media(min-width:981px){
  .course-reader-page:not(.builder-course-preview){
    --ja-course-lesson-max-w:980px;
    --ja-course-video-max-w:880px;
    --ja-course-document-max-w:840px;
    --ja-course-content-gutter:18px;
  }
  .course-reader-page:not(.builder-course-preview) .course-frame > .course-content,
  .course-reader-page:not(.builder-course-preview) .course-frame:has(.ja-sticky-course-nav) > .course-content,
  .course-reader-page:not(.builder-course-preview) .course-frame:has(.ja-fixed-course-nav) > .course-content,
  .course-reader-page:not(.builder-course-preview) .course-frame:has(.course-sidebar) > .course-content{
    padding:20px var(--ja-course-content-gutter) 70px!important;
  }
  .course-reader-page:not(.builder-course-preview) .course-title-row{
    margin:0 auto 20px!important;
    max-width:var(--ja-course-lesson-max-w)!important;
    transform:scale(.94)!important;
    transform-origin:top center!important;
  }
  .course-reader-page:not(.builder-course-preview) .lesson-builder-content{
    display:grid!important;
    gap:28px!important;
    align-content:start!important;
  }
  .course-reader-page:not(.builder-course-preview) .lesson-builder-html > *{
    max-width:min(var(--ja-course-lesson-max-w),92%)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .course-reader-page:not(.builder-course-preview) .protected-embed,
  .course-reader-page:not(.builder-course-preview) .lesson-builder-html .protected-embed{
    width:min(var(--ja-course-video-max-w),94%)!important;
    max-width:min(var(--ja-course-video-max-w),94%)!important;
    margin:0 auto 32px!important;
    border-radius:22px!important;
    background:#09090b!important;
    box-shadow:0 22px 56px rgba(13,10,18,.13)!important;
  }
  .course-reader-page:not(.builder-course-preview) .protected-embed iframe{
    display:block!important;
    width:100%!important;
    aspect-ratio:16/9!important;
    height:auto!important;
    min-height:0!important;
    max-height:58dvh!important;
    border:0!important;
    border-radius:22px!important;
    background:#09090b!important;
  }
  .course-reader-page:not(.builder-course-preview) .builder-document-preview{
    width:min(var(--ja-course-document-max-w),94%)!important;
    max-width:min(var(--ja-course-document-max-w),94%)!important;
    margin:0 auto 32px!important;
    border-radius:18px!important;
    overflow:hidden!important;
    box-shadow:0 18px 46px rgba(75,15,69,.07)!important;
  }
  .course-reader-page:not(.builder-course-preview) .builder-document-preview summary{
    padding:12px 16px!important;
  }
  .course-reader-page:not(.builder-course-preview) .builder-document-toolbar{
    padding:9px 14px!important;
  }
  .course-reader-page:not(.builder-course-preview) .builder-document-frame{
    display:block!important;
    width:100%!important;
    height:min(60dvh,620px)!important;
    min-height:420px!important;
    max-height:620px!important;
    border:0!important;
    background:#f7f2f7!important;
  }
  .course-reader-page:not(.builder-course-preview) .course-content :is(video,embed,object){
    max-width:100%!important;
    max-height:58dvh!important;
  }
  .course-reader-page:not(.builder-course-preview) .course-completion-card,
  .course-reader-page:not(.builder-course-preview) .course-content-card:not(.lesson-builder-html){
    max-width:min(880px,92%)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}


/* v281: diploma card templates are full-row items.
   The homepage/category grid previously treated every template scope as a
   3-column course card, so horizontal diploma templates were squeezed into
   a narrow column and stacked vertically. Diploma templates must own the
   whole row; the selected template controls its inner image/text layout. */
.home-program-category .browse-product-grid > .diploma-card-template-scope,
.home-category-programs .browse-product-grid > .diploma-card-template-scope,
.programs-browse-shell .browse-product-grid > .diploma-card-template-scope,
.browse-product-grid > .diploma-card-template-scope,
.featured-diploma-row > .diploma-card-template-scope,
.bundle-diploma-home-grid > .diploma-card-template-scope{
  flex:1 1 100%!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  display:block!important;
  margin-left:0!important;
  margin-right:0!important;
  align-self:stretch!important;
}
.home-program-category .browse-product-grid > .diploma-card-template-scope > article,
.home-category-programs .browse-product-grid > .diploma-card-template-scope > article,
.programs-browse-shell .browse-product-grid > .diploma-card-template-scope > article,
.browse-product-grid > .diploma-card-template-scope > article,
.featured-diploma-row > .diploma-card-template-scope > article,
.bundle-diploma-home-grid > .diploma-card-template-scope > article{
  width:100%!important;
  max-width:100%!important;
}
.home-program-category .browse-product-grid:has(> .diploma-card-template-scope),
.home-category-programs .browse-product-grid:has(> .diploma-card-template-scope),
.bundle-diploma-home-grid{
  justify-content:stretch!important;
}


/* v284 — Public marketing curriculum catalogue; platform lesson routes remain private. */
.public-course-curriculum .public-catalog-title-only{cursor:default!important;user-select:text!important;}
.public-course-curriculum .public-catalog-title-only:hover{transform:none!important;box-shadow:none!important;}
.public-course-curriculum .public-catalog-title-only .course-start-badge{font-weight:400!important;}
.bundle-public-curriculum-section{background:#fbf8fb!important;}
.bundle-public-curriculum-head{text-align:center;margin-bottom:26px!important;}
.bundle-public-curriculum-head h2,.bundle-public-curriculum-head p{font-weight:400!important;}
.bundle-public-curriculum-list{display:grid;gap:24px;}
.bundle-course-curriculum{background:#fff!important;border:1px solid #ead8e8;border-radius:18px;padding:22px;box-shadow:0 12px 34px rgba(62,14,58,.06);}
.bundle-curriculum-course-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #ead8e8;}
.bundle-curriculum-course-head h3{margin:0;color:#79196f;font-size:clamp(22px,2.4vw,30px);font-weight:400!important;}
.bundle-curriculum-course-head p{margin:4px 0 0;color:#675d68;font-size:13px;font-weight:400!important;}
.bundle-course-curriculum .course-curriculum-wide{max-width:none!important;}
.bundle-course-curriculum .course-side-section:last-child{margin-bottom:0!important;}
@media(max-width:760px){.bundle-course-curriculum{padding:14px}.bundle-curriculum-course-head{align-items:start;flex-direction:column}}

/* v285 — Professional Certificates, responsive lesson media, safer HTML blocks */
.professional-certificate-page,
.professional-certificate-page :is(p,span,small,button,.btn,.chip,.price){font-weight:400!important;}
.professional-certificate-page :is(h1,h2,h3){font-weight:600!important;}
.professional-certificate-page .course-sales-copy{min-width:0;}
.certificate-included-note,.certificate-curriculum-help{margin:0 auto 20px;max-width:760px;text-align:center;color:#655765;line-height:1.65;}
.certificate-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch;}
.certificate-course-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #ead8e8;border-radius:20px;background:#fff;box-shadow:0 14px 34px rgba(75,15,69,.08);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;}
.certificate-course-card:hover,.certificate-course-card:focus-visible{transform:translateY(-2px);box-shadow:0 20px 44px rgba(75,15,69,.13);outline:2px solid rgba(121,25,111,.18);outline-offset:2px;}
.certificate-course-card-media{aspect-ratio:16/9;width:100%;overflow:hidden;background:#f6f0f5;}
.certificate-course-card-media img,.certificate-course-card-media iframe,.certificate-course-card-media .protected-embed{width:100%!important;height:100%!important;min-height:0!important;object-fit:cover;display:block;}
.certificate-course-card-body{display:flex;flex:1;flex-direction:column;gap:10px;padding:18px;}
.certificate-course-card-body h3{margin:0;font-size:1.08rem;line-height:1.45;overflow-wrap:anywhere;}
.certificate-course-card-body p{margin:0;color:#655765;line-height:1.55;flex:1;}
.certificate-course-card-body .btn{width:100%;justify-content:center;margin-top:4px;}
.certificate-curriculum-modal{max-height:min(78dvh,900px);overflow:auto;padding-inline:2px;}
.certificate-curriculum-modal .public-course-curriculum{margin-top:16px;}

.bundle-selected-order{display:grid;gap:8px;margin-top:10px;}
.bundle-order-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;background:#fbf7fb;border:1px solid #ead8e8;}
.bundle-order-heading small{color:#756675;}
.bundle-selected-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid #ead8e8;border-radius:12px;background:#fff;}
.bundle-selected-row>span{min-width:0;overflow-wrap:anywhere;}
.bundle-selected-row>div{display:flex;gap:6px;flex:0 0 auto;}

.curriculum-import-intro{padding:16px 18px;border-radius:16px;background:#fbf7fb;border:1px solid #ead8e8;}
.curriculum-import-intro h3{margin:0 0 6px;font-weight:600;}
.curriculum-import-intro p{margin:0;color:#655765;line-height:1.6;}
.curriculum-import-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) auto auto auto;gap:10px;align-items:center;}
.curriculum-import-toolbar .searchbar{width:100%;}
.curriculum-import-browser{max-height:min(52dvh,650px);overflow:auto;border:1px solid #ead8e8;border-radius:16px;padding:12px;background:#fff;}
.curriculum-import-course-panel{display:grid;gap:10px;}
.curriculum-import-section{border:1px solid #eee1ec;border-radius:14px;overflow:hidden;background:#fff;}
.curriculum-import-section>summary{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 14px;background:#fbf7fb;cursor:pointer;}
.curriculum-import-section>summary span{font-weight:600;}
.curriculum-import-section-tools{display:flex;gap:8px;padding:10px 12px 0;}
.curriculum-import-lessons{display:grid;gap:7px;padding:10px 12px 14px;}
.curriculum-import-lesson-row{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border-radius:10px;border:1px solid transparent;}
.curriculum-import-lesson-row:hover{border-color:#ead8e8;background:#fff9fe;}
.curriculum-import-footer{display:flex;justify-content:space-between;gap:16px;align-items:center;}
.curriculum-import-footer p{margin:0;max-width:650px;}

.ja-html-block-shell{width:100%;max-width:100%;overflow:hidden;border:1px solid #ead8e8;border-radius:18px;background:#fff;}
.ja-html-block-frame{display:block;width:100%!important;min-height:420px;height:clamp(420px,68dvh,900px);border:0!important;border-radius:0!important;background:#fff!important;}

.course-reader-page:not(.builder-course-preview) .course-content,
.course-reader-page:not(.builder-course-preview) .course-content-card{min-width:0;}
.course-reader-page:not(.builder-course-preview) .course-content-card{width:100%;max-width:1180px;margin-inline:auto;}
.course-reader-page:not(.builder-course-preview) .protected-embed{width:min(1120px,100%)!important;margin-inline:auto!important;aspect-ratio:16/9!important;min-height:0!important;}
.course-reader-page:not(.builder-course-preview) .protected-embed iframe{display:block;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;aspect-ratio:16/9!important;}
.course-reader-page:not(.builder-course-preview) .builder-document-preview{width:min(1120px,100%)!important;margin-inline:auto!important;}
.course-reader-page:not(.builder-course-preview) .builder-document-frame{display:block;width:100%!important;height:clamp(560px,74dvh,920px)!important;min-height:560px!important;max-height:none!important;border:0;}
.course-reader-page:not(.builder-course-preview) .builder-document-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}

@media(max-width:980px){
  .certificate-course-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  .professional-certificate-page{overflow-x:hidden;}
  .professional-certificate-page .course-sales-hero>.container,
  .professional-certificate-page .section>.container{width:min(100% - 20px,1180px)!important;}
  .professional-certificate-page .course-sales-hero{padding-top:84px!important;}
  .professional-certificate-page .course-sales-hero-grid{grid-template-columns:1fr!important;gap:16px!important;}
  .professional-certificate-page .course-sales-media{width:100%!important;max-width:none!important;aspect-ratio:16/9!important;min-height:0!important;border-radius:16px!important;}
  .professional-certificate-page .course-sales-copy{padding:2px 0 0!important;}
  .professional-certificate-page .course-sales-copy h1{font-size:clamp(24px,8vw,34px)!important;overflow-wrap:anywhere;}
  .professional-certificate-page .course-long-description-section{padding:14px!important;border-radius:14px;}
  .professional-certificate-page .bundle-included-section{padding:26px 0 12px!important;}
  .certificate-course-grid{grid-template-columns:1fr;gap:14px;}
  .certificate-course-card{border-radius:16px;}
  .certificate-course-card-body{padding:15px;}
  .certificate-curriculum-modal{max-height:74dvh;}
  .bundle-order-heading,.bundle-selected-row,.curriculum-import-footer{align-items:stretch;flex-direction:column;}
  .bundle-selected-row>div{justify-content:flex-end;}
  .curriculum-import-toolbar{grid-template-columns:1fr 1fr;}
  .curriculum-import-toolbar .searchbar,.curriculum-import-toolbar [data-import-selection-count]{grid-column:1/-1;}
  .curriculum-import-browser{max-height:48dvh;padding:8px;}
  .curriculum-import-section>summary{align-items:flex-start;}
  .course-reader-page:not(.builder-course-preview) .course-content-card{padding:10px!important;margin:10px auto!important;border-radius:14px!important;}
  .course-reader-page:not(.builder-course-preview) .protected-embed{width:100%!important;aspect-ratio:16/9!important;border-radius:14px!important;}
  .course-reader-page:not(.builder-course-preview) .protected-embed iframe{width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:16/9!important;}
  .course-reader-page:not(.builder-course-preview) .builder-document-preview{width:100%!important;border-radius:14px!important;}
  .course-reader-page:not(.builder-course-preview) .builder-document-frame{display:block!important;width:100%!important;height:72dvh!important;min-height:420px!important;max-height:none!important;}
  .course-reader-page:not(.builder-course-preview) .pdf-mobile-preview-card{display:none!important;}
  .ja-html-block-frame{min-height:360px;height:68dvh;}
}

/* v285 — lighter typography: reserve strong weight for real hierarchy only. */
.btn,.nav-link,.filter,.side-btn,.program-card button,.program-card .btn{font-weight:500!important;}
.field>label,.table th,.status,.chip,.price{font-weight:600!important;}
.program-card h3,.course-public-page h1,.course-public-page h2,.studio-panel h3,.modal-head h2{font-weight:600!important;}
.program-card p,.program-card small,.program-card span:not(.price):not(.status){font-weight:400!important;}
#modal .modal:has(.certificate-curriculum-modal){width:min(980px,100%)!important;}
@media(max-width:760px){#modal .modal:has(.certificate-curriculum-modal){padding:16px!important;border-radius:18px!important;}}


/* v289: exact public course curriculum language layout.
   1) All Arabic: button left, title and bullet right.
   2) All English: title and bullet left, button right.
   3) Arabic majority or equal: same as Arabic.
   4) English majority: same as English.
   Each individual title keeps its own writing direction. */
.public-course-curriculum .course-curriculum-wide .course-side-section>h3.course-section-title,
.public-course-curriculum .course-curriculum-wide .course-section-title{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:17px 20px 15px!important;
  text-align:center!important;
  unicode-bidi:plaintext!important;
  color:#79196f!important;
  font-family:inherit!important;
  font-size:clamp(17px,1.7vw,21px)!important;
  font-weight:400!important;
  line-height:1.45!important;
  letter-spacing:0!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only{
  display:grid!important;
  align-items:center!important;
  width:100%!important;
  min-height:64px!important;
  gap:16px!important;
  margin:8px 0!important;
  padding:12px 18px!important;
  direction:ltr!important;
  background:#f7f7f8!important;
  border:0!important;
  border-radius:13px!important;
  box-shadow:none!important;
  transform:none!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only:hover{
  background:#fbf3fa!important;
  transform:none!important;
  box-shadow:none!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only.flow-ltr{
  grid-template-columns:minmax(0,1fr) max-content!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only.flow-rtl{
  grid-template-columns:max-content minmax(0,1fr)!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only::before,
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only .course-lesson-title::before{
  content:none!important;
  display:none!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only .course-lesson-title{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  width:100%!important;
  gap:10px!important;
  margin:0!important;
  padding:0!important;
  color:#1b1720!important;
  font-size:clamp(14px,1.25vw,16px)!important;
  font-weight:400!important;
  line-height:1.55!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only .course-lesson-name{
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  font-weight:400!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  unicode-bidi:isolate!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only.flow-ltr .course-lesson-title{
  grid-column:1!important;
  grid-row:1!important;
  justify-self:stretch!important;
  justify-content:flex-start!important;
  flex-direction:row!important;
  text-align:left!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only.flow-rtl .course-lesson-title{
  grid-column:2!important;
  grid-row:1!important;
  justify-self:stretch!important;
  justify-content:flex-end!important;
  flex-direction:row-reverse!important;
  text-align:right!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only .course-lesson-name[dir="ltr"]{
  direction:ltr!important;
  text-align:left!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only .course-lesson-name[dir="rtl"]{
  direction:rtl!important;
  text-align:right!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only .course-lesson-dot{
  display:inline-block!important;
  flex:0 0 auto!important;
  width:8px!important;
  height:8px!important;
  margin:0!important;
  border:1.5px solid #251b25!important;
  border-radius:999px!important;
  background:transparent!important;
  box-shadow:none!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only .course-row-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  direction:ltr!important;
  white-space:nowrap!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only.flow-ltr .course-row-actions{
  grid-column:2!important;
  grid-row:1!important;
  justify-self:end!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only.flow-rtl .course-row-actions{
  grid-column:1!important;
  grid-row:1!important;
  justify-self:start!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only .course-start-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:104px!important;
  min-height:34px!important;
  margin:0!important;
  padding:7px 13px!important;
  border-radius:7px!important;
  background:#79196f!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1!important;
  text-align:center!important;
  letter-spacing:0!important;
}
@media(max-width:700px){
  .public-course-curriculum .course-curriculum-wide .public-catalog-title-only{
    min-height:58px!important;
    gap:10px!important;
    padding:11px 12px!important;
  }
  .public-course-curriculum .course-curriculum-wide .public-catalog-title-only.flow-ltr{
    grid-template-columns:minmax(0,1fr) minmax(82px,auto)!important;
  }
  .public-course-curriculum .course-curriculum-wide .public-catalog-title-only.flow-rtl{
    grid-template-columns:minmax(82px,auto) minmax(0,1fr)!important;
  }
  .public-course-curriculum .course-curriculum-wide .public-catalog-title-only .course-lesson-title{
    gap:8px!important;
    font-size:14px!important;
  }
  .public-course-curriculum .course-curriculum-wide .public-catalog-title-only .course-start-badge{
    min-width:82px!important;
    min-height:32px!important;
    padding:6px 8px!important;
    font-size:11px!important;
  }
}

/* v290: Arabic/English bidirectional curriculum support.
   The curriculum majority controls only the physical row layout:
   - flow-ltr: one bullet + title LEFT, action RIGHT.
   - flow-rtl: action LEFT, title + one bullet RIGHT.
   Each title is isolated with <bdi dir="auto"> so mixed Arabic/English text
   follows the Unicode first-strong rule without moving the controls. */
.public-course-curriculum .course-curriculum-wide .course-side-section > h3.course-section-title,
.public-course-curriculum .course-curriculum-wide h3.course-section-title{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:17px 20px 15px!important;
  color:#79196f!important;
  font-family:inherit!important;
  font-size:clamp(17px,1.7vw,21px)!important;
  font-weight:400!important;
  line-height:1.45!important;
  letter-spacing:0!important;
  text-align:center!important;
  direction:ltr!important;
  unicode-bidi:isolate!important;
}
.public-course-curriculum .course-curriculum-wide .course-section-name{
  display:inline!important;
  font:inherit!important;
  font-weight:400!important;
  unicode-bidi:isolate!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only{
  display:grid!important;
  align-items:center!important;
  width:100%!important;
  min-height:64px!important;
  gap:16px!important;
  margin:8px 0!important;
  padding:12px 18px!important;
  direction:ltr!important;
  text-align:initial!important;
  list-style:none!important;
  background:#f7f7f8!important;
  border:0!important;
  border-radius:13px!important;
  box-shadow:none!important;
  transform:none!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only.flow-ltr{
  grid-template-columns:minmax(0,1fr) max-content!important;
  grid-template-areas:"title actions"!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only.flow-rtl{
  grid-template-columns:max-content minmax(0,1fr)!important;
  grid-template-areas:"actions title"!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only::before,
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only::after,
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only .course-lesson-title::before,
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only .course-lesson-title::after,
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only .course-lesson-name::before,
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only .course-lesson-name::after,
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only .course-lesson-dot::before,
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only .course-lesson-dot::after{
  content:none!important;
  display:none!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only .course-lesson-title{
  grid-area:title!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  direction:ltr!important;
  unicode-bidi:isolate!important;
  font-size:clamp(14px,1.25vw,16px)!important;
  font-weight:400!important;
  line-height:1.55!important;
  color:#1b1720!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only.flow-ltr .course-lesson-title{
  justify-self:stretch!important;
  justify-content:flex-start!important;
  flex-direction:row!important;
  text-align:left!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only.flow-rtl .course-lesson-title{
  justify-self:stretch!important;
  justify-content:flex-end!important;
  flex-direction:row-reverse!important;
  text-align:right!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only .course-lesson-name{
  display:block!important;
  flex:0 1 auto!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  font:inherit!important;
  font-weight:400!important;
  line-height:inherit!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  text-align:start!important;
  unicode-bidi:isolate!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only .course-lesson-dot{
  display:block!important;
  flex:0 0 8px!important;
  width:8px!important;
  height:8px!important;
  margin:0!important;
  padding:0!important;
  border:1.5px solid #251b25!important;
  border-radius:999px!important;
  background:transparent!important;
  box-shadow:none!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only .course-row-actions{
  grid-area:actions!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  justify-self:stretch!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  direction:ltr!important;
  white-space:nowrap!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only.flow-ltr .course-row-actions{
  justify-self:end!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only.flow-rtl .course-row-actions{
  justify-self:start!important;
}
.public-course-curriculum .course-curriculum-wide .public-catalog-title-only .course-start-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:104px!important;
  min-height:34px!important;
  margin:0!important;
  padding:7px 13px!important;
  border-radius:7px!important;
  background:#79196f!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1!important;
  text-align:center!important;
  letter-spacing:0!important;
  direction:ltr!important;
}
@media(max-width:700px){
  .public-course-curriculum .course-curriculum-wide .public-catalog-title-only{
    min-height:58px!important;
    gap:10px!important;
    padding:11px 12px!important;
  }
  .public-course-curriculum .course-curriculum-wide .public-catalog-title-only.flow-ltr{
    grid-template-columns:minmax(0,1fr) minmax(82px,auto)!important;
  }
  .public-course-curriculum .course-curriculum-wide .public-catalog-title-only.flow-rtl{
    grid-template-columns:minmax(82px,auto) minmax(0,1fr)!important;
  }
  .public-course-curriculum .course-curriculum-wide .public-catalog-title-only .course-lesson-title{
    gap:8px!important;
    font-size:14px!important;
  }
  .public-course-curriculum .course-curriculum-wide .public-catalog-title-only .course-start-badge{
    min-width:82px!important;
    min-height:32px!important;
    padding:6px 8px!important;
    font-size:11px!important;
  }
}

/* v291: final public curriculum ownership and single-marker guard.
   Only the explicit .course-lesson-dot may draw a lesson marker. */
.public-course-curriculum [data-public-curriculum-index],
.public-course-curriculum [data-public-curriculum-index] .public-catalog-title-only{
  list-style:none!important;
}
.public-course-curriculum [data-public-curriculum-index]::marker,
.public-course-curriculum [data-public-curriculum-index] .public-catalog-title-only::marker{
  content:""!important;
  font-size:0!important;
}
.public-course-curriculum [data-public-curriculum-index] .public-catalog-title-only::before,
.public-course-curriculum [data-public-curriculum-index] .public-catalog-title-only::after,
.public-course-curriculum [data-public-curriculum-index] .course-lesson-title::before,
.public-course-curriculum [data-public-curriculum-index] .course-lesson-title::after,
.public-course-curriculum [data-public-curriculum-index] .course-lesson-name::before,
.public-course-curriculum [data-public-curriculum-index] .course-lesson-name::after,
.public-course-curriculum [data-public-curriculum-index] .course-row-actions::before,
.public-course-curriculum [data-public-curriculum-index] .course-row-actions::after,
.public-course-curriculum [data-public-curriculum-index] .course-start-badge::before,
.public-course-curriculum [data-public-curriculum-index] .course-start-badge::after{
  content:none!important;
  display:none!important;
}
.public-course-curriculum [data-public-curriculum-index] .course-lesson-dot{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
.public-course-curriculum .course-section-title,
.public-course-curriculum .course-section-name{
  font-weight:400!important;
}

/* v293: isolated public curriculum rows.
   These unique classes deliberately avoid all legacy course-row/title rules,
   preventing inherited pseudo bullets and keeping physical placement stable. */
.public-course-curriculum .course-curriculum-wide .ja-public-curriculum-row{
  display:grid!important;
  align-items:center!important;
  width:100%!important;
  min-height:64px!important;
  gap:16px!important;
  margin:8px 0!important;
  padding:12px 18px!important;
  direction:ltr!important;
  list-style:none!important;
  background:#f7f7f8!important;
  border:0!important;
  border-radius:13px!important;
  box-shadow:none!important;
  color:#1b1720!important;
  transform:none!important;
}
.public-course-curriculum .course-curriculum-wide .ja-public-curriculum-row.flow-ltr{
  grid-template-columns:minmax(0,1fr) max-content!important;
  grid-template-areas:"title actions"!important;
}
.public-course-curriculum .course-curriculum-wide .ja-public-curriculum-row.flow-rtl{
  grid-template-columns:max-content minmax(0,1fr)!important;
  grid-template-areas:"actions title"!important;
}
.public-course-curriculum .course-curriculum-wide .ja-public-curriculum-row::before,
.public-course-curriculum .course-curriculum-wide .ja-public-curriculum-row::after,
.public-course-curriculum .course-curriculum-wide .ja-public-curriculum-title::before,
.public-course-curriculum .course-curriculum-wide .ja-public-curriculum-title::after,
.public-course-curriculum .course-curriculum-wide .ja-public-curriculum-name::before,
.public-course-curriculum .course-curriculum-wide .ja-public-curriculum-name::after,
.public-course-curriculum .course-curriculum-wide .ja-public-curriculum-marker::before,
.public-course-curriculum .course-curriculum-wide .ja-public-curriculum-marker::after,
.public-course-curriculum .course-curriculum-wide .ja-public-curriculum-actions::before,
.public-course-curriculum .course-curriculum-wide .ja-public-curriculum-actions::after,
.public-course-curriculum .course-curriculum-wide .ja-public-curriculum-button::before,
.public-course-curriculum .course-curriculum-wide .ja-public-curriculum-button::after{
  content:none!important;
  display:none!important;
}
.public-course-curriculum .course-curriculum-wide .ja-public-curriculum-title{
  grid-area:title!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  gap:10px!important;
  margin:0!important;
  padding:0!important;
  direction:ltr!important;
  unicode-bidi:isolate!important;
  font-size:clamp(14px,1.25vw,16px)!important;
  font-weight:400!important;
  line-height:1.55!important;
}
.public-course-curriculum .course-curriculum-wide .ja-public-curriculum-row.flow-ltr .ja-public-curriculum-title{
  flex-direction:row!important;
  justify-content:flex-start!important;
  justify-self:stretch!important;
  text-align:left!important;
}
.public-course-curriculum .course-curriculum-wide .ja-public-curriculum-row.flow-rtl .ja-public-curriculum-title{
  flex-direction:row-reverse!important;
  justify-content:flex-start!important;
  justify-self:stretch!important;
  text-align:right!important;
}
.public-course-curriculum .course-curriculum-wide .ja-public-curriculum-name{
  display:block!important;
  flex:0 1 auto!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  font:inherit!important;
  font-weight:400!important;
  line-height:inherit!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  text-align:start!important;
  unicode-bidi:isolate!important;
}
.public-course-curriculum .course-curriculum-wide .ja-public-curriculum-marker{
  display:block!important;
  flex:0 0 8px!important;
  width:8px!important;
  height:8px!important;
  margin:0!important;
  padding:0!important;
  border:1.5px solid #251b25!important;
  border-radius:999px!important;
  background:transparent!important;
  box-shadow:none!important;
  visibility:visible!important;
  opacity:1!important;
}
.public-course-curriculum .course-curriculum-wide .ja-public-curriculum-actions{
  grid-area:actions!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  direction:ltr!important;
  white-space:nowrap!important;
}
.public-course-curriculum .course-curriculum-wide .ja-public-curriculum-row.flow-ltr .ja-public-curriculum-actions{
  justify-self:end!important;
}
.public-course-curriculum .course-curriculum-wide .ja-public-curriculum-row.flow-rtl .ja-public-curriculum-actions{
  justify-self:start!important;
}
.public-course-curriculum .course-curriculum-wide .ja-public-curriculum-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:104px!important;
  min-height:34px!important;
  margin:0!important;
  padding:7px 13px!important;
  border:0!important;
  border-radius:7px!important;
  background:#79196f!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:0!important;
  text-align:center!important;
  direction:ltr!important;
  text-decoration:none!important;
  cursor:pointer!important;
}
.public-course-curriculum .course-curriculum-wide .ja-public-curriculum-button:hover,
.public-course-curriculum .course-curriculum-wide .ja-public-curriculum-button:focus-visible{
  background:#5f1458!important;
  color:#fff!important;
  text-decoration:none!important;
  outline:2px solid rgba(121,25,111,.22)!important;
  outline-offset:2px!important;
}
@media(max-width:700px){
  .public-course-curriculum .course-curriculum-wide .ja-public-curriculum-row{
    min-height:58px!important;
    gap:10px!important;
    padding:11px 12px!important;
  }
  .public-course-curriculum .course-curriculum-wide .ja-public-curriculum-row.flow-ltr{
    grid-template-columns:minmax(0,1fr) minmax(82px,auto)!important;
  }
  .public-course-curriculum .course-curriculum-wide .ja-public-curriculum-row.flow-rtl{
    grid-template-columns:minmax(82px,auto) minmax(0,1fr)!important;
  }
  .public-course-curriculum .course-curriculum-wide .ja-public-curriculum-title{
    gap:8px!important;
    font-size:14px!important;
  }
  .public-course-curriculum .course-curriculum-wide .ja-public-curriculum-button{
    min-width:82px!important;
    min-height:32px!important;
    padding:6px 8px!important;
    font-size:11px!important;
  }
}


/* v295: six public catalog filters and stable Professional Certificate presentation. */
.program-type-filter{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
}
@media(max-width:680px){
  .program-type-filter{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .program-type-pill:last-child{grid-column:auto!important;}
}


/* v296: truly lazy, infinitely nestable R2 tree. No folder or file is auto-opened. */
.media-tree-browser .media-browser-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.media-tree-path-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:0 0 14px}
.media-tree-root,.media-tree-folder,.media-tree-file{margin:0}
.media-tree-root>summary{border:1px solid #ead6e8;border-radius:18px;background:#fff7fd}
.media-tree-root[open]>summary{border-radius:18px 18px 0 0}
.media-tree-root>.media-lazy-body{border:1px solid #ead6e8;border-top:0;border-radius:0 0 18px 18px;padding:10px;background:#fcf9fc}
.media-tree-children{display:grid;gap:8px}
.media-tree-folder>.media-lazy-body,.media-tree-file>.media-lazy-body{border-top:1px solid #f0e2ee;padding:10px;background:#fff}
.media-tree-folder .media-tree-children{padding-left:14px;border-left:2px solid #f0e2ee}
.media-tree-file-details{display:grid;gap:10px}
.media-tree-file-meta{display:flex;gap:7px;flex-wrap:wrap}
.media-tree-file-meta span{border:1px solid #ead6e8;background:#fbf4fa;border-radius:999px;padding:5px 8px;font-size:11px;color:#6b4667}
.media-tree-file-url code{display:block;white-space:normal;word-break:break-all;padding:9px 10px;border-radius:12px;background:#fbf7fb;border:1px solid #f0e2ee;color:#4b0f45}
.media-tree-file-usage{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;font-size:12px}
.media-tree-file-usage span{min-width:0;word-break:break-word}
.media-tree-more{display:flex;justify-content:center;padding:8px}
.media-tree-browser details:not([open])>.media-lazy-body{display:none!important}
@media(max-width:720px){
  .media-tree-path-tools{grid-template-columns:1fr}
  .media-tree-browser .media-browser-tools{display:grid;grid-template-columns:1fr}
  .media-tree-folder .media-tree-children{padding-left:7px}
  .media-tree-file-usage{grid-template-columns:1fr}
}

/* v297: show real D1 course/page/lesson names while preserving immutable R2 keys. */
.media-tree-entity-kind{display:inline-flex;align-items:center;border:1px solid #ead6e8;background:#fff7fd;color:#79196f;border-radius:999px;padding:1px 6px;font-size:10px;line-height:1.4}
.media-tree-folder .media-folder-title strong{font-weight:600;overflow-wrap:anywhere}
.media-tree-folder .media-folder-title small{display:block;margin-top:3px;overflow-wrap:anywhere}

/* v298 — course-first media library */
.media-course-library{margin-top:18px}
.media-course-library .media-browser-head p{display:block!important}
.media-library-principle{margin:0 0 16px;padding:11px 13px;border:1px solid #ead6e8;border-radius:14px;background:#fff9fe;color:#62475f;font-size:12px;line-height:1.55}
.media-library-principle strong{color:#691c61;font-weight:600}
.media-library-primary{display:grid;gap:18px}
.media-library-section{display:grid;gap:10px}
.media-library-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px}
.media-library-section-head h5{margin:0;color:#31112e;font-size:17px;font-weight:600}
.media-library-section-head p{margin:2px 0 0;color:#7a6677;font-size:12px}
.media-library-course,.media-library-website{border-radius:16px}
.media-library-course>summary,.media-library-website>summary{padding:13px 15px}
.media-library-course-groups,.media-library-lesson-list{display:grid;gap:9px}
.media-library-leaf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.media-library-logical>.media-lazy-body,.media-library-physical>.media-lazy-body{border-top:1px solid #f0e2ee;padding:10px;background:#fff}
.media-library-logical .media-folder-title strong,.media-library-course .media-folder-title strong,.media-library-website .media-folder-title strong{font-weight:600}
.media-library-course .media-folder-title small,.media-library-website .media-folder-title small{white-space:normal;overflow-wrap:anywhere}
.media-library-physical .media-folder-icon,.media-library-logical .media-folder-icon,.media-library-course .media-folder-icon,.media-library-website .media-folder-icon{font-size:9px;line-height:1.1;text-align:center;padding:3px}
.media-library-more{display:flex;justify-content:center;padding-top:4px}
.media-library-advanced-section{padding-top:2px;border-top:1px solid #f0e2ee}
.media-advanced-browser{padding:10px 0 0!important;border:0!important;background:transparent!important}
.media-upload-organized{margin-bottom:18px}
.media-upload-grid{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(170px,1fr) minmax(200px,1.15fr) minmax(200px,1.15fr);gap:12px;align-items:end}
.media-upload-grid .field{margin:0}
.media-upload-grid .media-url-field{grid-column:span 2}
.media-upload-advanced{margin-top:12px;border-top:1px solid #f0e2ee;padding-top:10px}
.media-upload-advanced>summary{cursor:pointer;color:#691c61;font-size:12px;font-weight:600}
.media-upload-advanced .field{margin-top:10px}
.media-upload-organized [hidden]{display:none!important}
.media-upload-organized .media-file-pill{min-width:0}
@media(max-width:1100px){.media-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .media-upload-grid,.media-library-leaf-grid{grid-template-columns:1fr}
  .media-upload-grid .media-url-field{grid-column:auto}
  .media-library-course>summary,.media-library-website>summary{align-items:flex-start}
  .media-course-library .media-browser-tools{display:grid;width:100%}
}

/* v299 — R2 clean interface and scroll stability */
.media-library-panel,
.media-course-library,
.media-course-library details,
.media-course-library .media-lazy-body{
  overflow-anchor:none;
}
.media-course-library summary{
  scroll-margin-block:14px;
}
.media-tree-technical-name{
  color:#8a7787;
  font-size:10px;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
}


/* v300 — R2 targeted rendering, request cancellation, and browser paint containment. */
.media-course-library .media-tree-children,
.media-course-library .media-library-lesson-list,
.media-course-library .media-library-course-groups{
  contain:layout paint style;
}
.media-course-library .media-tree-children > .media-folder-card,
.media-course-library .media-area-list > .media-library-course,
.media-course-library .media-library-lesson-list > .media-library-logical{
  content-visibility:auto;
  contain-intrinsic-size:72px;
}
.media-course-library .media-lazy-body{
  min-width:0;
}
.media-modal-preview img,
.media-modal-preview video{
  display:block;
  width:100%;
  max-height:78vh;
  object-fit:contain;
  border-radius:14px;
}


/* v301 — direct preview actions for every browser-previewable R2 file. */
.media-tree-file>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.media-tree-file>summary .media-folder-title{min-width:0;flex:1 1 auto}
.media-file-row-actions{display:flex;align-items:center;flex:0 0 auto;margin-left:auto}
.media-row-preview{
  min-height:32px;
  padding:6px 12px;
  border:1px solid #dcc2d9;
  border-radius:10px;
  background:#fff;
  color:#691c61;
  font:inherit;
  font-size:11px;
  font-weight:500;
  cursor:pointer;
}
.media-row-preview:hover{background:#fbf4fa;border-color:#c99bc4}
.media-row-preview:disabled{opacity:.6;cursor:wait}
.media-audio-preview{display:grid;place-items:center;min-height:180px;padding:24px}
.media-audio-preview audio{width:min(100%,720px)}
.media-text-preview{max-height:78vh;overflow:auto;border:1px solid #ead6e8;border-radius:14px;background:#fff}
.media-text-preview>p{margin:0;padding:10px 14px;border-bottom:1px solid #ead6e8;background:#fbf7fb}
.media-text-preview pre{margin:0;padding:16px;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;color:#2d172a;text-align:left;direction:ltr}
@media(max-width:720px){
  .media-tree-file>summary{align-items:flex-start}
  .media-row-preview{min-height:30px;padding:5px 9px;font-size:10px}
}

/* v302 — stable media labels and plain file rows. */
.media-course-library .media-folder-title{
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr);
  align-items:center;
  gap:10px!important;
  min-width:0;
  flex:1 1 auto;
}
.media-course-library .media-folder-title>div{min-width:0}
.media-course-library .media-folder-title strong{
  max-width:none!important;
  min-width:0;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere;
  line-height:1.35;
}
.media-course-library .media-folder-title small{
  min-width:0;
  white-space:normal!important;
  overflow-wrap:anywhere;
  line-height:1.35;
}
.media-course-library .media-folder-icon{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  flex:0 0 18px!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:transparent!important;
  font-size:0!important;
  overflow:hidden;
  position:relative;
}
.media-course-library .media-folder-icon::before{
  content:"";
  display:block;
  box-sizing:border-box;
  width:15px;
  height:11px;
  margin:4px 0 0 1px;
  border:1.5px solid #79196f;
  border-radius:2px;
  background:#fff;
}
.media-course-library .media-folder-icon::after{
  content:"";
  position:absolute;
  left:2px;
  top:2px;
  width:7px;
  height:4px;
  border:1.5px solid #79196f;
  border-bottom:0;
  border-radius:2px 2px 0 0;
  background:#fff;
}
.media-tree-children>.media-file-row{
  content-visibility:auto;
  contain-intrinsic-size:58px;
}
.media-file-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-width:0;
  padding:10px 12px;
  border:1px solid #ead6e8;
  border-radius:14px;
  background:#fff;
}
.media-file-row-main{
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  align-items:center;
  gap:10px;
  min-width:0;
}
.media-file-marker{
  display:block;
  box-sizing:border-box;
  width:14px;
  height:17px;
  border:1.5px solid #79196f;
  border-radius:2px;
  position:relative;
  background:#fff;
}
.media-file-marker::after{
  content:"";
  position:absolute;
  right:-1.5px;
  top:-1.5px;
  width:5px;
  height:5px;
  border-left:1.5px solid #79196f;
  border-bottom:1.5px solid #79196f;
  background:#fbf4fa;
}
.media-file-copy{min-width:0}
.media-file-copy strong{
  display:block;
  min-width:0;
  color:var(--purple-dark);
  font-size:12px;
  font-weight:600;
  line-height:1.4;
  white-space:normal;
  overflow-wrap:anywhere;
}
.media-file-copy small{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:10px;
  line-height:1.35;
  white-space:normal;
  overflow-wrap:anywhere;
}
.media-file-row-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.media-row-details{
  min-height:32px;
  padding:6px 12px;
  border:1px solid #dcc2d9;
  border-radius:10px;
  background:#fbf7fb;
  color:#691c61;
  font:inherit;
  font-size:11px;
  font-weight:500;
  cursor:pointer;
}
.media-row-details:hover{background:#f6eaf4;border-color:#c99bc4}
.media-file-details-panel{
  grid-column:1/-1;
  min-width:0;
  padding-top:10px;
  border-top:1px solid #f0e2ee;
}
.media-file-details-panel[hidden]{display:none!important}
.media-file-details-panel .media-tree-file-details{min-width:0}
@media(max-width:720px){
  .media-file-row{grid-template-columns:minmax(0,1fr);align-items:stretch}
  .media-file-row-actions{justify-content:flex-start;padding-left:28px}
  .media-row-details,.media-row-preview{min-height:32px}
}

/* v303 — direct media links and cover attachment actions. */
.media-row-copy,
.media-row-attach{
  min-height:32px;
  padding:6px 12px;
  border:1px solid #dcc2d9;
  border-radius:10px;
  background:#fff;
  color:#691c61;
  font:inherit;
  font-size:11px;
  font-weight:500;
  cursor:pointer;
}
.media-row-copy:hover,
.media-row-attach:hover{background:#fbf4fa;border-color:#c99bc4}
.media-row-attach{background:#691c61;color:#fff;border-color:#691c61}
.media-row-attach:hover{background:#53144d;border-color:#53144d}
.media-row-copy:disabled,
.media-row-attach:disabled{opacity:.6;cursor:wait}
@media(max-width:720px){
  .media-row-copy,.media-row-attach{min-height:32px;padding:6px 10px;font-size:10px}
}

/* v305 — stable public/access card states. The public and access versions reserve
   identical content rows, so text length and progress never change card geometry. */
.program-card-template-scope .ja-course305,
.program-card-template-scope .ja-course305 *{box-sizing:border-box!important;font-weight:400!important;}
.program-card-template-scope .ja-course305{
  width:100%!important;
  height:480px!important;
  min-height:480px!important;
  max-height:480px!important;
  margin:0!important;
  border:1px solid #e6dbe6!important;
  border-radius:10px!important;
  overflow:hidden!important;
  background:#fff!important;
  display:flex!important;
  flex-direction:column!important;
  box-shadow:0 8px 22px rgba(62,0,55,.06)!important;
  cursor:pointer!important;
}
.program-card-template-scope .ja-course305-img{
  width:100%!important;
  height:180px!important;
  min-height:180px!important;
  flex:0 0 180px!important;
  overflow:hidden!important;
  background:#f8f2f7!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
}
.program-card-template-scope .ja-course305-img::before{display:none!important;content:none!important;}
.program-card-template-scope .ja-course305-img img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  object-fit:contain!important;
  display:block!important;
}
.program-card-template-scope .ja-course305-body{
  padding:14px 16px 16px!important;
  display:grid!important;
  grid-template-rows:50px 22px 54px 66px minmax(0,1fr) 42px!important;
  row-gap:7px!important;
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
}
.program-card-template-scope .ja-course305-title{
  margin:0!important;
  color:#171017!important;
  font-size:18px!important;
  line-height:25px!important;
  overflow:hidden!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
}
.program-card-template-scope .ja-course305-meta{
  margin:0!important;
  color:#79196f!important;
  font-size:13px!important;
  line-height:22px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.program-card-template-scope .ja-course305-desc{
  margin:0!important;
  color:#6b6070!important;
  font-size:13px!important;
  line-height:18px!important;
  overflow:hidden!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
}
.program-card-template-scope .ja-course305-state{
  width:100%!important;
  height:66px!important;
  min-height:66px!important;
  overflow:hidden!important;
}
.program-card-template-scope .ja-course305-progress-top{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:10px!important;
  color:#79196f!important;
  font-size:13px!important;
  line-height:18px!important;
}
.program-card-template-scope .ja-course305-track{
  height:7px!important;
  margin-top:7px!important;
  border-radius:999px!important;
  background:#ead8e8!important;
  overflow:hidden!important;
}
.program-card-template-scope .ja-course305-track span{
  display:block!important;
  height:100%!important;
  max-width:100%!important;
  border-radius:999px!important;
  background:#79196f!important;
}
.program-card-template-scope .ja-course305-count{
  margin:5px 0 0!important;
  color:#6b6070!important;
  font-size:12px!important;
  line-height:18px!important;
}
.program-card-template-scope .ja-course305-spacer{min-height:0!important;}
.program-card-template-scope .ja-course305-btn{
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  padding:0 14px!important;
  border:1px solid #79196f!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#171017!important;
  font-size:14px!important;
  line-height:40px!important;
  cursor:pointer!important;
}
.program-card-template-scope .ja-course305-access .ja-course305-btn{background:#79196f!important;color:#fff!important;}
.program-card-template-scope .ja-course305-btn:hover{background:#5f1458!important;color:#fff!important;transform:none!important;}

.program-card-template-scope.diploma-card-template-scope .ja-cert305,
.program-card-template-scope.diploma-card-template-scope .ja-cert305 *{box-sizing:border-box!important;font-weight:400!important;}
.program-card-template-scope.diploma-card-template-scope .ja-cert305{
  width:100%!important;
  min-height:220px!important;
  height:220px!important;
  margin:0 0 28px!important;
  display:grid!important;
  grid-template-columns:320px minmax(0,1fr) 260px!important;
  gap:0!important;
  align-items:stretch!important;
  background:#fff!important;
  border:1px solid #e6dbe6!important;
  border-radius:10px!important;
  overflow:hidden!important;
  box-shadow:0 8px 22px rgba(62,0,55,.06)!important;
  cursor:pointer!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert305-img{
  width:320px!important;
  height:220px!important;
  overflow:hidden!important;
  background:#f7eef6!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert305-img::before{display:none!important;content:none!important;}
.program-card-template-scope.diploma-card-template-scope .ja-cert305-img img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  object-fit:contain!important;
  display:block!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert305-main{
  min-width:0!important;
  min-height:220px!important;
  padding:18px 24px!important;
  display:grid!important;
  grid-template-rows:34px 44px 20px minmax(0,1fr)!important;
  row-gap:7px!important;
  overflow:hidden!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert305-title{
  margin:0!important;
  color:#171017!important;
  font-size:23px!important;
  line-height:34px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert305-desc{
  margin:0!important;
  color:#5f5661!important;
  font-size:13px!important;
  line-height:22px!important;
  overflow:hidden!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert305-meta{
  margin:0!important;
  color:#79196f!important;
  font-size:13px!important;
  line-height:20px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert305-list{
  margin:0!important;
  padding-inline-start:18px!important;
  color:#302431!important;
  font-size:13px!important;
  line-height:19px!important;
  columns:2!important;
  column-gap:28px!important;
  max-height:76px!important;
  overflow:hidden!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert305-list li{break-inside:avoid!important;margin:0 0 3px!important;}
.program-card-template-scope.diploma-card-template-scope .ja-cert305-side{
  min-height:220px!important;
  padding:18px 20px!important;
  border-inline-start:1px solid #f0e3ee!important;
  display:grid!important;
  grid-template-rows:24px 72px minmax(0,1fr) 46px!important;
  row-gap:8px!important;
  align-items:end!important;
  overflow:hidden!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert305-included{
  color:#79196f!important;
  font-size:13px!important;
  line-height:24px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert305-state{
  width:100%!important;
  height:72px!important;
  min-height:72px!important;
  overflow:hidden!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert305-progress-top{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:10px!important;
  color:#79196f!important;
  font-size:13px!important;
  line-height:18px!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert305-track{
  height:8px!important;
  margin-top:7px!important;
  border-radius:999px!important;
  background:#ead8e8!important;
  overflow:hidden!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert305-track span{
  display:block!important;
  height:100%!important;
  max-width:100%!important;
  border-radius:999px!important;
  background:#79196f!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert305-count{
  margin:5px 0 0!important;
  color:#675d68!important;
  font-size:12px!important;
  line-height:18px!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert305-spacer{min-height:0!important;}
.program-card-template-scope.diploma-card-template-scope .ja-cert305-btn{
  width:100%!important;
  height:46px!important;
  min-height:46px!important;
  padding:0 14px!important;
  border:1px solid #79196f!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#171017!important;
  font-size:14px!important;
  line-height:44px!important;
  cursor:pointer!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert305-access .ja-cert305-btn{background:#79196f!important;color:#fff!important;}
.program-card-template-scope.diploma-card-template-scope .ja-cert305-btn:hover{background:#5f1458!important;color:#fff!important;transform:none!important;}

@media(max-width:900px){
  .program-card-template-scope.diploma-card-template-scope .ja-cert305{
    height:auto!important;
    min-height:0!important;
    grid-template-columns:1fr!important;
  }
  .program-card-template-scope.diploma-card-template-scope .ja-cert305-img{
    width:100%!important;
    height:auto!important;
    aspect-ratio:16/9!important;
  }
  .program-card-template-scope.diploma-card-template-scope .ja-cert305-main{
    min-height:0!important;
    padding:16px!important;
    grid-template-rows:auto auto auto auto!important;
  }
  .program-card-template-scope.diploma-card-template-scope .ja-cert305-title{white-space:normal!important;line-height:1.35!important;}
  .program-card-template-scope.diploma-card-template-scope .ja-cert305-list{columns:1!important;max-height:none!important;}
  .program-card-template-scope.diploma-card-template-scope .ja-cert305-side{
    min-height:0!important;
    border-inline-start:0!important;
    border-top:1px solid #f0e3ee!important;
    grid-template-rows:24px 72px 0 46px!important;
  }
}

/* v307: stable Professional Certificate card on desktop and mobile.
   The mobile card uses a simple vertical flow so desktop grid dimensions,
   fixed heights, and side-panel rules cannot distort the layout. */
.program-card-template-scope.diploma-card-template-scope .ja-cert307,
.program-card-template-scope.diploma-card-template-scope .ja-cert307 *{
  box-sizing:border-box!important;
  font-weight:400!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert307{
  width:100%!important;
  min-width:0!important;
  min-height:220px!important;
  margin:0 0 28px!important;
  display:grid!important;
  grid-template-columns:minmax(260px,320px) minmax(0,1fr) minmax(220px,260px)!important;
  align-items:stretch!important;
  background:#fff!important;
  border:1px solid #e6dbe6!important;
  border-radius:12px!important;
  overflow:hidden!important;
  box-shadow:0 8px 22px rgba(62,0,55,.06)!important;
  cursor:default!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert307-img{
  width:100%!important;
  min-width:0!important;
  min-height:220px!important;
  overflow:hidden!important;
  background:#f7eef6!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert307-img::before{
  display:none!important;
  content:none!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert307-img img{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  max-width:100%!important;
  object-fit:contain!important;
  display:block!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert307-main{
  min-width:0!important;
  min-height:220px!important;
  padding:18px 24px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  overflow:hidden!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert307-title{
  margin:0!important;
  color:#171017!important;
  font-size:23px!important;
  line-height:1.35!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert307-desc{
  margin:0!important;
  color:#5f5661!important;
  font-size:13px!important;
  line-height:1.55!important;
  overflow:hidden!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert307-meta{
  margin:0!important;
  color:#79196f!important;
  font-size:13px!important;
  line-height:20px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert307-list{
  margin:2px 0 0!important;
  padding-inline-start:20px!important;
  color:#302431!important;
  font-size:13px!important;
  line-height:1.5!important;
  columns:2!important;
  column-gap:30px!important;
  max-height:84px!important;
  overflow:hidden!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert307-list li{
  break-inside:avoid!important;
  margin:0 0 4px!important;
  padding:0!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert307-side{
  min-width:0!important;
  min-height:220px!important;
  padding:18px 20px!important;
  border-inline-start:1px solid #f0e3ee!important;
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  overflow:hidden!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert307-progress{
  width:100%!important;
  min-height:72px!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert307-progress-top{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  color:#79196f!important;
  font-size:13px!important;
  line-height:18px!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert307-track{
  width:100%!important;
  height:8px!important;
  margin-top:7px!important;
  border-radius:999px!important;
  background:#ead8e8!important;
  overflow:hidden!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert307-track span{
  display:block!important;
  height:100%!important;
  max-width:100%!important;
  border-radius:999px!important;
  background:#79196f!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert307-count{
  margin:5px 0 0!important;
  color:#675d68!important;
  font-size:12px!important;
  line-height:18px!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert307-spacer{
  flex:1 1 auto!important;
  min-height:0!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert307-btn{
  width:100%!important;
  min-width:0!important;
  height:46px!important;
  min-height:46px!important;
  padding:0 14px!important;
  border:1px solid #79196f!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#171017!important;
  font-size:14px!important;
  line-height:44px!important;
  cursor:pointer!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert307-access .ja-cert307-btn{
  background:#79196f!important;
  color:#fff!important;
}
.program-card-template-scope.diploma-card-template-scope .ja-cert307-btn:hover{
  background:#5f1458!important;
  color:#fff!important;
  transform:none!important;
}

@media(max-width:760px){
  .program-card-template-scope.diploma-card-template-scope{
    width:100%!important;
    min-width:0!important;
    overflow:visible!important;
  }
  .program-card-template-scope.diploma-card-template-scope .ja-cert307{
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    margin:0 0 18px!important;
    display:flex!important;
    flex-direction:column!important;
    grid-template-columns:none!important;
    border-radius:12px!important;
    overflow:hidden!important;
  }
  .program-card-template-scope.diploma-card-template-scope .ja-cert307-img{
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:16/9!important;
    flex:0 0 auto!important;
  }
  .program-card-template-scope.diploma-card-template-scope .ja-cert307-img img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
  }
  .program-card-template-scope.diploma-card-template-scope .ja-cert307-main{
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    padding:16px!important;
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
    overflow:visible!important;
    border:0!important;
  }
  .program-card-template-scope.diploma-card-template-scope .ja-cert307-title{
    font-size:20px!important;
    line-height:1.35!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
  }
  .program-card-template-scope.diploma-card-template-scope .ja-cert307-desc{
    font-size:13px!important;
    line-height:1.55!important;
    -webkit-line-clamp:3!important;
  }
  .program-card-template-scope.diploma-card-template-scope .ja-cert307-meta{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .program-card-template-scope.diploma-card-template-scope .ja-cert307-list{
    width:100%!important;
    margin:2px 0 0!important;
    padding-inline-start:20px!important;
    columns:1!important;
    column-count:1!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .program-card-template-scope.diploma-card-template-scope .ja-cert307-side{
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    padding:14px 16px 16px!important;
    border-inline-start:0!important;
    border-top:1px solid #f0e3ee!important;
    display:flex!important;
    flex-direction:column!important;
    gap:12px!important;
    overflow:visible!important;
  }
  .program-card-template-scope.diploma-card-template-scope .ja-cert307-progress{
    width:100%!important;
    min-height:0!important;
  }
  .program-card-template-scope.diploma-card-template-scope .ja-cert307-spacer{
    display:none!important;
  }
  .program-card-template-scope.diploma-card-template-scope .ja-cert307-btn{
    width:100%!important;
    height:46px!important;
    min-height:46px!important;
    margin:0!important;
  }
}

@media(max-width:380px){
  .program-card-template-scope.diploma-card-template-scope .ja-cert307-main{
    padding:14px!important;
  }
  .program-card-template-scope.diploma-card-template-scope .ja-cert307-side{
    padding:12px 14px 14px!important;
  }
  .program-card-template-scope.diploma-card-template-scope .ja-cert307-title{
    font-size:19px!important;
  }
}


/* v309: course reader progress, resume, recommendations, and taller PDF viewport. */
.course-reader-page .course-sidebar,
.course-reader-page .ja-fixed-course-nav,
.course-reader-page .ja-sticky-course-nav{animation:none!important;}
.course-reader-page .course-title-text,
.course-reader-page .course-side-section h3,
.course-reader-page .ja-course-nav-title{unicode-bidi:isolate!important;overflow-wrap:anywhere!important;}
.course-reader-page .course-title-text[dir="rtl"],
.course-reader-page .course-side-section h3[dir="rtl"],
.course-reader-page .ja-course-nav-title[dir="rtl"]{text-align:right!important;}
.course-reader-page .protected-embed,
.course-reader-page .builder-document-preview{border:1px solid #d8ced8!important;box-shadow:none!important;overflow:hidden!important;}
.course-reader-page .protected-embed{aspect-ratio:16/9!important;}
.course-reader-page .protected-embed iframe{width:100%!important;height:100%!important;aspect-ratio:16/9!important;border:0!important;}
.course-reader-page .builder-document-frame{width:100%!important;max-width:100%!important;border:0!important;}
.course-reader-page [data-complete-current-lesson].is-saving-progress{opacity:.7!important;cursor:wait!important;}


/* v309: learner dashboard recommendations and inner PDF viewport. */
.learn-course-recommendations{display:grid!important;gap:18px!important;}
.learn-course-recommendations>h3{margin:0!important;font-size:20px!important;color:#071122!important;}
.learn-course-recommendations .learn-side-module{padding-top:18px!important;border-top:1px solid #e7dfe6!important;}
.learn-course-recommendations .learn-side-module h3{font-size:17px!important;line-height:1.35!important;margin:0 0 9px!important;}
.learn-course-recommendations .learn-side-module p{font-size:13px!important;line-height:1.5!important;margin:0 0 12px!important;color:#4e4350!important;}
.learn-certificate-recommendation-card .course-sales-placeholder{width:100%!important;height:100%!important;min-height:100%!important;border-radius:0!important;}
.course-reader-page:not(.builder-course-preview) .builder-document-frame{height:clamp(560px,calc(100dvh - 110px),1180px)!important;}
@media(max-width:980px){.course-reader-page:not(.builder-course-preview) .builder-document-frame{height:clamp(520px,82dvh,960px)!important;}}
@media(max-width:620px){.course-reader-page:not(.builder-course-preview) .builder-document-frame{height:80dvh!important;min-height:460px!important;max-height:900px!important;}}


/* v312: prevent Arabic/LTR lesson rows from oscillating beneath the pointer.
   Older template rules translate rows by 1px on hover, which repeatedly causes
   mouseleave/mouseenter at an edge and looks like rapid selection flashing. */
.course-reader-page:not(.builder-course-preview) :is(.course-sidebar,.course-sidebar[data-course-sidebar],.ja-sticky-course-nav,.ja-fixed-course-nav) .course-lesson-row,
.course-reader-page:not(.builder-course-preview) :is(.course-sidebar,.course-sidebar[data-course-sidebar],.ja-sticky-course-nav,.ja-fixed-course-nav) .course-lesson-row:hover,
.course-reader-page:not(.builder-course-preview) :is(.course-sidebar,.course-sidebar[data-course-sidebar],.ja-sticky-course-nav,.ja-fixed-course-nav) .course-lesson-row:focus,
.course-reader-page:not(.builder-course-preview) :is(.course-sidebar,.course-sidebar[data-course-sidebar],.ja-sticky-course-nav,.ja-fixed-course-nav) .course-lesson-row:focus-visible{
  transform:none!important;
  translate:none!important;
  animation:none!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.course-reader-page:not(.builder-course-preview) :is(.course-sidebar,.course-sidebar[data-course-sidebar],.ja-sticky-course-nav,.ja-fixed-course-nav) .course-title-text{
  min-width:0!important;
  unicode-bidi:isolate!important;
}
.course-lesson-loading-card{position:relative;overflow:hidden}
.course-lesson-loading-card:after{content:"";display:block;width:42px;height:4px;margin-top:18px;border-radius:999px;background:#79196f;animation:jaLessonLoadingPulse 1s ease-in-out infinite alternate}
@keyframes jaLessonLoadingPulse{from{opacity:.25;transform:scaleX(.45);transform-origin:left}to{opacity:1;transform:scaleX(1);transform-origin:left}}
.course-lesson-load-error .learn-outline-btn{margin-top:10px}

/* v315 — external iframe-only HTML blocks render directly, without an opaque
   intermediate document that breaks frame-ancestors and Cloudflare RUM. */
.ja-direct-external-frame-shell{overflow:hidden;background:#fff;}
.ja-html-block-frame.ja-direct-external-frame{
  display:block;
  width:100%!important;
  height:clamp(520px,78dvh,var(--ja-html-direct-height,900px));
  min-height:420px;
  max-height:1400px;
  border:0!important;
  background:#fff!important;
}
@media (max-width:760px){
  .ja-html-block-frame.ja-direct-external-frame{
    height:clamp(460px,76dvh,var(--ja-html-direct-height,900px));
    min-height:420px;
  }
}
.ja-direct-external-frame-copy{padding:14px 16px;border-bottom:1px solid #ead8e8;color:#2b0a28;line-height:1.7;background:#fff;}

/* v323 — substantially taller inner PDF viewport for readable lesson documents.
   Only the actual document iframe grows; the card header, toolbar, and download row stay compact. */
.course-reader-page:not(.builder-course-preview) .builder-document-frame{
  display:block!important;
  width:100%!important;
  height:clamp(900px,calc(100dvh - 40px),1400px)!important;
  min-height:900px!important;
  max-height:none!important;
  border:0!important;
}
@media(max-width:980px){
  .course-reader-page:not(.builder-course-preview) .builder-document-frame{
    height:clamp(760px,88dvh,1180px)!important;
    min-height:760px!important;
    max-height:none!important;
  }
}
@media(max-width:620px){
  .course-reader-page:not(.builder-course-preview) .builder-document-frame{
    height:86dvh!important;
    min-height:560px!important;
    max-height:1100px!important;
  }
}

/* v324 — preserve the learner's exact curriculum-sidebar position while moving
   between lessons. Disable browser scroll anchoring so active-row/content changes
   cannot pull the independent sidebar scroller back toward the top. */
.course-reader-page:not(.builder-course-preview) :is(.course-sidebar,[data-course-sidebar],.ja-sticky-course-nav,.ja-fixed-course-nav,.ja-nav-scroll,[data-course-nav-scroll]){
  overflow-anchor:none!important;
  scroll-behavior:auto!important;
}

/* v330: realistic platform/course/lesson spacing.
   Keep learner pages readable without the oversized vertical gaps between
   cards, generated lesson blocks, media embeds, and section groups. */
.learn-home-page .learn-dashboard-shell{
  padding:22px 0 34px!important;
  gap:20px!important;
}
.learn-home-page .learn-dashboard-main h1{
  margin-bottom:20px!important;
}
.learn-home-page .learn-owned-list{
  gap:14px!important;
}
.learn-home-page .learn-owned-body{
  padding:18px 24px!important;
  gap:8px!important;
}
.learn-home-page .learn-section-headline{
  margin:34px 0 14px!important;
}
.learn-home-page .learn-product-grid{
  gap:18px!important;
}
.learn-home-page .learn-dashboard-side{
  padding-top:42px!important;
  gap:24px!important;
}
.learn-home-page .learn-side-module h3{
  margin-bottom:12px!important;
}
.learn-home-page .learn-side-module p{
  margin-bottom:12px!important;
}

.course-reader-page:not(.builder-course-preview) .course-frame > .course-content,
.course-reader-page:not(.builder-course-preview) .course-frame:has(.ja-sticky-course-nav) > .course-content,
.course-reader-page:not(.builder-course-preview) .course-frame:has(.ja-fixed-course-nav) > .course-content,
.course-reader-page:not(.builder-course-preview) .course-frame:has(.course-sidebar) > .course-content{
  padding-top:14px!important;
  padding-bottom:44px!important;
}
.course-reader-page:not(.builder-course-preview) .course-title-row{
  margin-bottom:12px!important;
}
.course-reader-page:not(.builder-course-preview) .lesson-builder-content{
  gap:clamp(8px,1.1vw,16px)!important;
}
.course-reader-page:not(.builder-course-preview) .lesson-builder-content > *,
.course-reader-page:not(.builder-course-preview) .lesson-builder-html,
.course-reader-page:not(.builder-course-preview) .course-content-card{
  margin-top:0!important;
  margin-bottom:14px!important;
}
.course-reader-page:not(.builder-course-preview) .course-content-card{
  padding:18px 20px!important;
}
.course-reader-page:not(.builder-course-preview) .protected-embed,
.course-reader-page:not(.builder-course-preview) .builder-document-preview{
  margin-top:0!important;
  margin-bottom:14px!important;
}
.course-reader-page:not(.builder-course-preview) .builder-section-block{
  padding:24px!important;
}
.course-reader-page:not(.builder-course-preview) .builder-subsection-block{
  padding:18px!important;
}
.course-reader-page:not(.builder-course-preview) :is(.builder-text-block,.builder-image-block,.builder-button-block,.builder-html-output,.ja-html-block-shell){
  margin-top:0!important;
  margin-bottom:12px!important;
}
@media(max-width:980px){
  .learn-home-page .learn-dashboard-shell{padding:18px 0 30px!important;gap:18px!important;}
  .learn-home-page .learn-dashboard-side{padding-top:8px!important;gap:18px!important;}
  .course-reader-page:not(.builder-course-preview) .course-content{padding-top:10px!important;padding-bottom:36px!important;}
  .course-reader-page:not(.builder-course-preview) .lesson-builder-content{gap:10px!important;}
  .course-reader-page:not(.builder-course-preview) .course-content-card{padding:14px!important;margin-bottom:10px!important;}
}
