: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;}

/* 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-grid.one-course{max-width:420px;margin-inline:auto;grid-template-columns:minmax(0,1fr);}
.certificate-course-grid.two-courses{max-width:820px;margin-inline:auto;grid-template-columns:repeat(2,minmax(0,1fr));}

.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-course-card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;}
.certificate-course-card-actions .btn{flex:1 1 170px;margin-top:0;}
.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:visible;border:1px solid #ead8e8;border-radius:18px;background:#fff;}
.ja-html-block-frame{display:block;width:100%!important;min-height:420px;height:auto;border:0!important;border-radius:0!important;background:#fff!important;overflow:hidden!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-grid.one-course,.certificate-course-grid.two-courses{max-width:none;grid-template-columns:1fr;}
  .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:auto;}
}

/* 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;
  }
}


/* v381: six public catalog filters; certificate bundle pill is branded as Diplomas and Vault stays last. */
.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;
  }
}


/* v340: professional certificates keep the existing v307 preview design but are managed in their own template kind. */
.program-card-template-scope.professional-certificate-card-template-scope{
  grid-column:1/-1!important;
  width:100%!important;
  max-width:1180px!important;
  display:block!important;
  margin:0 auto 28px!important;
}
.program-card-template-scope.professional-certificate-card-template-scope > article{
  width:100%!important;
  max-width:1180px!important;
  margin:0 auto!important;
}
.program-results-sections .browse-diploma-grid > .program-card-template-scope.professional-certificate-card-template-scope,
.bundle-diploma-home-grid > .program-card-template-scope.professional-certificate-card-template-scope,
.featured-diploma-row > .program-card-template-scope.professional-certificate-card-template-scope{
  grid-column:1/-1!important;
  max-width:1180px!important;
}
@media(max-width:900px){
  .program-card-template-scope.professional-certificate-card-template-scope{max-width:100%!important;margin:0 0 18px!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.professional-certificate-card-template-scope .ja-cert307,
.program-card-template-scope.professional-certificate-card-template-scope .ja-cert307 *{
  box-sizing:border-box!important;
  font-weight:400!important;
}
.program-card-template-scope.professional-certificate-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.professional-certificate-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.professional-certificate-card-template-scope .ja-cert307-img::before{
  display:none!important;
  content:none!important;
}
.program-card-template-scope.professional-certificate-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.professional-certificate-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.professional-certificate-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.professional-certificate-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.professional-certificate-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.professional-certificate-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.professional-certificate-card-template-scope .ja-cert307-list li{
  break-inside:avoid!important;
  margin:0 0 4px!important;
  padding:0!important;
}
.program-card-template-scope.professional-certificate-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.professional-certificate-card-template-scope .ja-cert307-progress{
  width:100%!important;
  min-height:72px!important;
}
.program-card-template-scope.professional-certificate-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.professional-certificate-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.professional-certificate-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.professional-certificate-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.professional-certificate-card-template-scope .ja-cert307-spacer{
  flex:1 1 auto!important;
  min-height:0!important;
}
.program-card-template-scope.professional-certificate-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.professional-certificate-card-template-scope .ja-cert307-access .ja-cert307-btn{
  background:#79196f!important;
  color:#fff!important;
}
.program-card-template-scope.professional-certificate-card-template-scope .ja-cert307-btn:hover{
  background:#5f1458!important;
  color:#fff!important;
  transform:none!important;
}

@media(max-width:760px){
  .program-card-template-scope.professional-certificate-card-template-scope{
    width:100%!important;
    min-width:0!important;
    overflow:visible!important;
  }
  .program-card-template-scope.professional-certificate-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.professional-certificate-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.professional-certificate-card-template-scope .ja-cert307-img img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
  }
  .program-card-template-scope.professional-certificate-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.professional-certificate-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.professional-certificate-card-template-scope .ja-cert307-desc{
    font-size:13px!important;
    line-height:1.55!important;
    -webkit-line-clamp:3!important;
  }
  .program-card-template-scope.professional-certificate-card-template-scope .ja-cert307-meta{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .program-card-template-scope.professional-certificate-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.professional-certificate-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.professional-certificate-card-template-scope .ja-cert307-progress{
    width:100%!important;
    min-height:0!important;
  }
  .program-card-template-scope.professional-certificate-card-template-scope .ja-cert307-spacer{
    display:none!important;
  }
  .program-card-template-scope.professional-certificate-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.professional-certificate-card-template-scope .ja-cert307-main{
    padding:14px!important;
  }
  .program-card-template-scope.professional-certificate-card-template-scope .ja-cert307-side{
    padding:12px 14px 14px!important;
  }
  .program-card-template-scope.professional-certificate-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:visible;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:none;
  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;
}

/* v329: loading screen feels alive */
.ja-cloud-loading-mark{animation:jaLoadingShake 1.45s ease-in-out infinite!important;transform-origin:center center!important;}
.ja-loading-dots{display:flex!important;justify-content:center!important;align-items:center!important;gap:7px!important;margin-top:14px!important;}
.ja-loading-dots span{width:8px!important;height:8px!important;border-radius:999px!important;background:#79196f!important;display:block!important;animation:jaLoadingDot 1.05s ease-in-out infinite!important;}
.ja-loading-dots span:nth-child(2){animation-delay:.15s!important;}
.ja-loading-dots span:nth-child(3){animation-delay:.3s!important;}
@keyframes jaLoadingShake{0%,100%{transform:translateX(0) rotate(0)}15%{transform:translateX(-1px) rotate(-1.2deg)}30%{transform:translateX(1.5px) rotate(1.2deg)}45%{transform:translateX(-1px) rotate(-.8deg)}60%{transform:translateX(1px) rotate(.8deg)}75%{transform:translateX(0) rotate(0)}}
@keyframes jaLoadingDot{0%,100%{opacity:.32;transform:translateY(0) scale(.9)}50%{opacity:1;transform:translateY(-5px) scale(1.12)}}

/* v329: new text slider animations */
.ja-slider-text-explosive .ja-slide.active .ja-slider-copy h2,.ja-slider-text-explosive .ja-slide.active .ja-slider-copy p{animation:jaTextExplosive .82s cubic-bezier(.15,1.3,.22,1) both}
.ja-slider-text-skate .ja-slide.active .ja-slider-copy h2,.ja-slider-text-skate .ja-slide.active .ja-slider-copy p{animation:jaTextSkate .85s cubic-bezier(.2,1,.24,1) both}
.ja-slider-text-roll .ja-slide.active .ja-slider-copy h2,.ja-slider-text-roll .ja-slide.active .ja-slider-copy p{animation:jaTextRoll .85s cubic-bezier(.2,1.2,.25,1) both}
.ja-slider-text-jump .ja-slide.active .ja-slider-copy h2,.ja-slider-text-jump .ja-slide.active .ja-slider-copy p{animation:jaTextJump .78s cubic-bezier(.18,1.5,.28,1) both}
.ja-slider-text-swing .ja-slide.active .ja-slider-copy h2,.ja-slider-text-swing .ja-slide.active .ja-slider-copy p{animation:jaTextSwing .9s ease both;transform-origin:top center}
.ja-slider-text-wipe .ja-slide.active .ja-slider-copy h2,.ja-slider-text-wipe .ja-slide.active .ja-slider-copy p{animation:jaTextWipe .72s ease both}
@keyframes jaTextExplosive{0%{opacity:0;filter:blur(10px);letter-spacing:.18em;transform:scale(.72)}60%{opacity:1;filter:blur(0);letter-spacing:.01em;transform:scale(1.06)}100%{opacity:1;transform:scale(1)}}
@keyframes jaTextSkate{0%{opacity:0;transform:translateX(-70px) skewX(-14deg)}68%{opacity:1;transform:translateX(8px) skewX(4deg)}100%{opacity:1;transform:translateX(0) skewX(0)}}
@keyframes jaTextRoll{0%{opacity:0;transform:translateX(-48px) rotate(-18deg)}70%{opacity:1;transform:translateX(5px) rotate(3deg)}100%{opacity:1;transform:translateX(0) rotate(0)}}
@keyframes jaTextJump{0%{opacity:0;transform:translateY(28px) scale(.96)}55%{opacity:1;transform:translateY(-13px) scale(1.02)}78%{transform:translateY(4px)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes jaTextSwing{0%{opacity:0;transform:rotate(9deg) translateY(-10px)}45%{opacity:1;transform:rotate(-5deg)}70%{transform:rotate(2deg)}100%{opacity:1;transform:rotate(0)}}
@keyframes jaTextWipe{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translateX(18px)}100%{opacity:1;clip-path:inset(0 0 0 0);transform:translateX(0)}}

/* v329: standalone diploma card template, exactly two per row on desktop */
.diploma-card-template-scope:has(.ja-diploma329){width:100%!important;}
.bundle-diploma-home-grid:has(.ja-diploma329),.featured-diploma-row:has(.ja-diploma329){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important;align-items:stretch!important;}
.ja-diploma329,.ja-diploma329 *{box-sizing:border-box!important;font-weight:400!important;}
.ja-diploma329{height:100%!important;display:grid!important;grid-template-columns:160px minmax(0,1fr)!important;gap:18px!important;padding:18px!important;background:#fff!important;border:1px solid #ead6e8!important;border-radius:22px!important;box-shadow:0 18px 48px rgba(42,15,45,.08)!important;cursor:pointer!important;}
.ja-diploma329-img{min-height:145px!important;border-radius:18px!important;overflow:hidden!important;background:linear-gradient(135deg,#5f0058,#d6a23a)!important;}
.ja-diploma329-img img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
.ja-diploma329-body{display:flex!important;flex-direction:column!important;min-width:0!important;}
.ja-diploma329-kicker{display:inline-flex!important;width:max-content!important;max-width:100%!important;padding:5px 9px!important;border-radius:999px!important;background:#fff0fb!important;color:#691c61!important;font-size:11px!important;margin-bottom:8px!important;}
.ja-diploma329-title{margin:0 0 8px!important;color:#2a0926!important;font-size:20px!important;line-height:1.25!important;overflow-wrap:anywhere!important;}
.ja-diploma329-desc{margin:0 0 10px!important;color:#5f5163!important;font-size:13px!important;line-height:1.55!important;}
.ja-diploma329-list{margin:0!important;padding-inline-start:18px!important;color:#4f3a52!important;font-size:12px!important;line-height:1.45!important;}
.ja-diploma329-foot{margin-top:auto!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px!important;padding-top:12px!important;}
.ja-diploma329-foot span{font-size:12px!important;color:#6b5b70!important;}
.ja-diploma329-foot button{border:0!important;border-radius:999px!important;background:#691c61!important;color:#fff!important;padding:10px 14px!important;cursor:pointer!important;}
.ja-diploma329-progress{position:relative!important;display:flex!important;justify-content:space-between!important;gap:10px!important;margin-top:10px!important;padding-bottom:10px!important;color:#4b0f45!important;font-size:12px!important;}
.ja-diploma329-progress::before,.ja-diploma329-progress em{content:""!important;position:absolute!important;left:0!important;right:0!important;bottom:0!important;height:5px!important;border-radius:999px!important;background:#f0dfed!important;}
.ja-diploma329-progress em{right:auto!important;background:#691c61!important;}
@media(max-width:980px){.bundle-diploma-home-grid:has(.ja-diploma329),.featured-diploma-row:has(.ja-diploma329){grid-template-columns:1fr!important}.ja-diploma329{grid-template-columns:1fr!important}.ja-diploma329-img{min-height:210px!important}}

/* v330: dashboard course filter and public catalogue card layout hardening */
.courses-compact-panel .admin-course-filter-row{
  max-width:760px!important;
  grid-template-columns:minmax(280px,1fr) minmax(190px,250px)!important;
}
.courses-compact-panel #adminCourseCategoryFilter{
  height:44px!important;
  border:1px solid #ead6e8!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#691c61!important;
  padding:0 14px!important;
}
.program-results-sections{display:grid!important;gap:24px!important;width:100%!important;}
.program-results-sections .browse-diploma-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important;align-items:stretch!important;}
.program-results-sections .browse-course-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important;align-items:stretch!important;}
.program-results-sections .browse-diploma-grid > .diploma-card-template-scope{width:100%!important;max-width:100%!important;display:block!important;}
.program-results-sections .browse-diploma-grid > .diploma-card-template-scope > article{width:100%!important;max-width:100%!important;height:100%!important;}
.media-referenced-file-row .media-file-copy small{word-break:break-all!important;}
.referenced-lesson-files{gap:8px!important;}
@media(max-width:980px){
  .program-results-sections .browse-diploma-grid,
  .program-results-sections .browse-course-grid{grid-template-columns:1fr!important;}
  .program-card-template-scope.diploma-card-template-scope,
  .program-card-template-scope.diploma-card-template-scope > article,
  .program-card-template-scope.diploma-card-template-scope .ja-diploma329,
  .program-card-template-scope.diploma-card-template-scope .ja-cert305,
  .program-card-template-scope.diploma-card-template-scope .ja-cert307{
    width:100%!important;max-width:100%!important;min-width:0!important;
  }
  .program-card-template-scope.diploma-card-template-scope .ja-diploma329,
  .program-card-template-scope.diploma-card-template-scope .ja-cert305,
  .program-card-template-scope.diploma-card-template-scope .ja-cert307{
    display:grid!important;grid-template-columns:1fr!important;gap:16px!important;height:auto!important;
  }
  .program-card-template-scope.diploma-card-template-scope :is(.ja-diploma329-img,.ja-cert305-img,.ja-cert307-img){min-height:200px!important;width:100%!important;}
}
@media(max-width:620px){
  .courses-compact-panel .admin-course-filter-row{grid-template-columns:1fr!important;max-width:100%!important;}
  .program-results-sections .browse-diploma-grid,
  .program-results-sections .browse-course-grid{gap:16px!important;}
  .program-card-template-scope.diploma-card-template-scope :is(.ja-diploma329,.ja-cert305,.ja-cert307){padding:14px!important;border-radius:18px!important;}
  .program-card-template-scope.diploma-card-template-scope :is(.ja-diploma329-title,.ja-cert305-title,.ja-cert307-title){font-size:18px!important;line-height:1.32!important;}
}

/* v331 — premium slider preset layer: English-only animation labels, functions preserved */
.ja-slider[class*="ja-slider-preset-"] .ja-slider-copy{
  max-width:min(680px,calc(100% - 40px));
  transition:filter .35s ease,transform .35s ease,box-shadow .35s ease;
}
.ja-slider-preset-luxury-glass .ja-slider-copy{
  background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(255,244,252,.64));
  border:1px solid rgba(214,162,58,.42);
  border-radius:28px;
  padding:clamp(26px,4vw,48px);
  box-shadow:0 26px 80px rgba(43,10,40,.24);
  backdrop-filter:blur(18px) saturate(1.15);
}
.ja-slider-preset-modern-legal .ja-slider-copy{
  background:linear-gradient(135deg,rgba(105,28,97,.94),rgba(46,10,45,.88));
  color:#fff;
  border-left:5px solid #d6a23a;
  border-radius:22px;
  padding:clamp(24px,3.6vw,44px);
  box-shadow:0 24px 70px rgba(26,0,24,.32);
}
.ja-slider-preset-modern-legal .ja-slider-copy h2,
.ja-slider-preset-modern-legal .ja-slider-copy p,
.ja-slider-preset-dark-cinematic .ja-slider-copy h2,
.ja-slider-preset-dark-cinematic .ja-slider-copy p{color:#fff!important}
.ja-slider-preset-center-statement .ja-slide{display:grid;place-items:center;text-align:center}
.ja-slider-preset-center-statement .ja-slider-copy{
  margin:auto!important;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(105,28,97,.16);
  border-radius:32px;
  padding:clamp(28px,4.5vw,56px);
  box-shadow:0 30px 86px rgba(40,12,42,.18);
}
.ja-slider-preset-editorial-split .ja-slide{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,42%);align-items:stretch}
.ja-slider-preset-editorial-split .ja-slider-media,
.ja-slider-preset-editorial-split .ja-slider-shade{grid-column:1/3;grid-row:1}
.ja-slider-preset-editorial-split .ja-slider-copy{
  grid-column:2;
  grid-row:1;
  align-self:center;
  margin:clamp(22px,4vw,54px)!important;
  background:#fff;
  border-top:5px solid #691c61;
  border-radius:18px;
  padding:clamp(24px,3.2vw,42px);
  box-shadow:0 26px 80px rgba(32,10,34,.22);
}
.ja-slider-preset-dark-cinematic .ja-slider-shade{background:linear-gradient(90deg,rgba(18,4,20,.82),rgba(18,4,20,.36),rgba(18,4,20,.72))!important}
.ja-slider-preset-dark-cinematic .ja-slider-copy{
  background:rgba(20,5,22,.58);
  border:1px solid rgba(214,162,58,.34);
  border-radius:26px;
  padding:clamp(28px,4vw,54px);
  box-shadow:0 30px 90px rgba(0,0,0,.36);
  backdrop-filter:blur(12px);
}
.ja-slider-preset-soft-gradient .ja-slider-copy{
  background:linear-gradient(135deg,rgba(105,28,97,.88),rgba(214,162,58,.18));
  color:#fff;
  border:1px solid rgba(255,255,255,.24);
  border-radius:30px;
  padding:clamp(26px,4vw,50px);
  box-shadow:0 24px 76px rgba(105,28,97,.24);
}
.ja-slider-preset-minimal-clean .ja-slider-copy{
  background:rgba(255,255,255,.72);
  border:0;
  border-radius:0;
  padding:clamp(18px,3vw,36px);
  box-shadow:none;
  backdrop-filter:blur(8px);
}
.ja-slider-preset-arabic-hero .ja-slider-copy{
  margin-inline-start:auto!important;
  margin-inline-end:clamp(18px,5vw,70px)!important;
  direction:rtl;
  text-align:right;
  background:linear-gradient(135deg,rgba(105,28,97,.92),rgba(58,10,54,.84));
  color:#fff;
  border-right:5px solid #d6a23a;
  border-radius:24px;
  padding:clamp(26px,4vw,50px);
  box-shadow:0 26px 82px rgba(35,0,32,.30);
}
.ja-slider-preset-arabic-hero .ja-slider-copy h2,
.ja-slider-preset-arabic-hero .ja-slider-copy p,
.ja-slider-preset-soft-gradient .ja-slider-copy h2,
.ja-slider-preset-soft-gradient .ja-slider-copy p{color:#fff!important}
.ja-slider-motion-calm .ja-slider-copy{animation-duration:.72s!important}
.ja-slider-motion-premium .ja-slider-copy{box-shadow:0 26px 80px rgba(43,10,40,.22)}
.ja-slider-motion-cinematic .ja-slider-track{filter:saturate(1.06) contrast(1.03)}
.ja-slider-motion-dynamic .ja-slider-copy{transform-origin:center center}
.ja-slider-motion-elegant .ja-slider-copy{letter-spacing:.01em}
@media(max-width:760px){
  .ja-slider-preset-editorial-split .ja-slide{display:block}
  .ja-slider[class*="ja-slider-preset-"] .ja-slider-copy{
    max-width:calc(100% - 28px);
    margin:14px!important;
    padding:22px!important;
    border-radius:20px!important;
  }
  .ja-slider-preset-center-statement .ja-slider-copy{text-align:center}
  .ja-slider-preset-arabic-hero .ja-slider-copy{text-align:right;direction:rtl}
}

/* v333 — professional text-slider engine: text reveal is independent from the box/container animation */
.slider-mode-panel{border:1px solid rgba(121,25,111,.18)!important;border-radius:18px!important;background:linear-gradient(180deg,rgba(121,25,111,.035),rgba(255,255,255,.92))!important;padding:14px!important;margin:12px 0!important;}
.slider-text-mode-panel{border-color:rgba(214,162,58,.36)!important;background:linear-gradient(135deg,rgba(105,28,97,.04),rgba(214,162,58,.06))!important;}
.slider-image-mode-panel{border-color:rgba(105,28,97,.18)!important;background:linear-gradient(135deg,rgba(105,28,97,.035),rgba(255,255,255,.96))!important;}
.ja-slider-container-none .ja-slide.active .ja-slider-copy{animation:none!important;opacity:1!important;}
.ja-slider-mode-text:not(.ja-slider-text-unit-whole) .ja-slide.active .ja-slider-animated-text{animation:none!important;opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;}
.ja-slider-animated-text{white-space:pre-wrap;overflow-wrap:anywhere;}
.ja-slider-animated-text .ja-text-token{display:inline-block;opacity:0;will-change:opacity,transform,filter,clip-path;animation:jaTokenFadeRise var(--ja-slider-token-duration,560ms) cubic-bezier(.2,1,.24,1) both;animation-delay:calc(var(--ja-slider-text-base-delay,0ms) + (var(--i,0) * var(--ja-slider-token-stagger,28ms)));}
.ja-slider-animated-text .ja-text-line{display:inline-block;width:100%;}
.ja-slider-text-unit-whole .ja-slider-animated-text .ja-text-token{animation-delay:0ms!important;}
.ja-slider-text-word-pop .ja-slide.active .ja-text-token{animation-name:jaTokenPop;}
.ja-slider-text-letter-spark .ja-slide.active .ja-text-token{animation-name:jaTokenSpark;}
.ja-slider-text-bounce-in .ja-slide.active .ja-text-token{animation-name:jaTokenBounce;}
.ja-slider-text-blur-focus .ja-slide.active .ja-text-token{animation-name:jaTokenBlurFocus;}
.ja-slider-text-wave-in .ja-slide.active .ja-text-token{animation-name:jaTokenWave;}
.ja-slider-text-explosive .ja-slide.active .ja-text-token{animation-name:jaTokenExplosive;}
.ja-slider-text-skate .ja-slide.active .ja-text-token{animation-name:jaTokenSkate;}
.ja-slider-text-roll .ja-slide.active .ja-text-token{animation-name:jaTokenRoll;}
.ja-slider-text-jump .ja-slide.active .ja-text-token{animation-name:jaTokenJump;}
.ja-slider-text-swing .ja-slide.active .ja-text-token{animation-name:jaTokenSwing;transform-origin:top center;}
.ja-slider-text-wipe .ja-slide.active .ja-text-token{animation-name:jaTokenWipe;}
.ja-slider-animated-text.ja-slider-animated-text .ja-text-space{min-width:.28em;}
.ja-slide:not(.active) .ja-text-token{animation:none!important;opacity:0!important;}
@keyframes jaTokenFadeRise{0%{opacity:0;transform:translateY(.62em);filter:blur(2px)}100%{opacity:1;transform:translateY(0);filter:none}}
@keyframes jaTokenPop{0%{opacity:0;transform:translateY(.48em) scale(.86)}65%{opacity:1;transform:translateY(-.12em) scale(1.08)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes jaTokenSpark{0%{opacity:0;filter:blur(7px) brightness(1.5);transform:translateY(.22em) scale(.92)}58%{opacity:1;filter:blur(0) brightness(1.25)}100%{opacity:1;filter:none;transform:none}}
@keyframes jaTokenBounce{0%{opacity:0;transform:translateY(-.5em) scale(.9)}55%{opacity:1;transform:translateY(.16em) scale(1.06)}78%{transform:translateY(-.06em) scale(.99)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes jaTokenBlurFocus{0%{opacity:0;filter:blur(10px);transform:scale(1.04)}100%{opacity:1;filter:blur(0);transform:scale(1)}}
@keyframes jaTokenWave{0%{opacity:0;transform:skewX(-12deg) translateY(.55em)}60%{opacity:1;transform:skewX(5deg) translateY(-.15em)}100%{opacity:1;transform:skewX(0) translateY(0)}}
@keyframes jaTokenExplosive{0%{opacity:0;filter:blur(8px);transform:scale(.58) rotate(-2deg)}68%{opacity:1;filter:blur(0);transform:scale(1.12) rotate(.5deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes jaTokenSkate{0%{opacity:0;transform:translateX(-1.2em) skewX(-18deg)}70%{opacity:1;transform:translateX(.12em) skewX(4deg)}100%{opacity:1;transform:translateX(0) skewX(0)}}
@keyframes jaTokenRoll{0%{opacity:0;transform:translateX(-.9em) rotate(-24deg)}70%{opacity:1;transform:translateX(.08em) rotate(4deg)}100%{opacity:1;transform:translateX(0) rotate(0)}}
@keyframes jaTokenJump{0%{opacity:0;transform:translateY(.72em) scale(.94)}55%{opacity:1;transform:translateY(-.28em) scale(1.04)}78%{transform:translateY(.08em)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes jaTokenSwing{0%{opacity:0;transform:rotate(12deg) translateY(-.24em)}50%{opacity:1;transform:rotate(-6deg)}75%{transform:rotate(2deg)}100%{opacity:1;transform:rotate(0)}}
@keyframes jaTokenWipe{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translateX(.32em)}100%{opacity:1;clip-path:inset(0 0 0 0);transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.ja-slider-animated-text .ja-text-token{animation:none!important;opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}}


/* v337 — professional slider queue and simpler editor: title first, subtitle second */
.ja-slider-mode-text .ja-slide.active p.ja-slider-animated-text{animation-delay:var(--ja-subtitle-delay-ms,720ms)!important;}
.ja-slider-mode-text .ja-slide.active .ja-slider-actions{animation-delay:var(--ja-actions-delay-ms,1200ms)!important;}
.ja-slider-mode-text p.ja-slider-animated-text .ja-text-token{--ja-slider-text-base-delay:var(--ja-subtitle-delay-ms,720ms);}
.ja-slider-mode-text h2.ja-slider-animated-text .ja-text-token{--ja-slider-text-base-delay:0ms;}
.slider-mode-panel .field:has(select[name="sliderMotionStyle"]),
.slider-mode-panel .field:has(select[name="sliderTextAnimation"]),
.slider-mode-panel .field:has(select[name="sliderTextRevealUnit"]),
.slider-mode-panel .field:has(select[name="sliderTextSpeed"]),
.slider-mode-panel .field:has(input[name="sliderTextStagger"]),
.slider-mode-panel .field:has(select[name="sliderContainerAnimation"]),
.slider-mode-panel .field:has(select[name="sliderAnimation"]){display:none!important;}

/* v343: product-kind layout contract.
   Website code owns safe outer layout; templates own inner visual styling. */
.program-results-sections .browse-certificate-grid,
.browse-product-grid.browse-certificate-grid{
  grid-template-columns:1fr!important;
  gap:22px!important;
  align-items:stretch!important;
}
.program-results-sections .browse-diploma-grid,
.browse-product-grid.browse-diploma-grid,
.bundle-diploma-home-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:22px!important;
  align-items:stretch!important;
}
.program-card-template-scope.professional-certificate-card-template-scope{
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:1180px!important;
  min-width:0!important;
  margin:0 auto 28px!important;
  display:block!important;
  overflow:visible!important;
}
.program-card-template-scope.professional-certificate-card-template-scope > article{
  width:100%!important;
  max-width:1180px!important;
  min-width:0!important;
  margin:0 auto!important;
}
.program-card-template-scope.diploma-card-template-scope{
  grid-column:auto!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  display:block!important;
  overflow:visible!important;
  flex:1 1 calc(50% - 12px)!important;
}
.program-card-template-scope.diploma-card-template-scope > article{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:100%!important;
  margin:0!important;
}
.featured-diploma-row,
.bundle-diploma-home-grid{
  flex-direction:initial!important;
}

/* v343: official compact diploma card. */
.ja-diploma343,
.ja-diploma343 *{box-sizing:border-box!important;font-weight:400!important;}
.ja-diploma343{
  height:100%!important;
  display:grid!important;
  grid-template-columns:160px minmax(0,1fr)!important;
  gap:18px!important;
  padding:18px!important;
  background:#fff!important;
  border:1px solid #ead6e8!important;
  border-radius:22px!important;
  box-shadow:0 18px 48px rgba(42,15,45,.08)!important;
  cursor:pointer!important;
  overflow:hidden!important;
}
.ja-diploma343-img{min-height:145px!important;border-radius:18px!important;overflow:hidden!important;background:#f7eef6!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.ja-diploma343-img img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
.ja-diploma343-body{display:flex!important;flex-direction:column!important;min-width:0!important;}
.ja-diploma343-kicker{display:inline-flex!important;width:max-content!important;max-width:100%!important;padding:5px 9px!important;border-radius:999px!important;background:#fff0fb!important;color:#691c61!important;font-size:11px!important;margin-bottom:8px!important;}
.ja-diploma343-title{margin:0 0 8px!important;color:#2a0926!important;font-size:20px!important;line-height:1.25!important;overflow-wrap:anywhere!important;}
.ja-diploma343-desc{margin:0 0 10px!important;color:#5f5163!important;font-size:13px!important;line-height:1.55!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;overflow:hidden!important;}
.ja-diploma343-list{margin:0!important;padding-inline-start:18px!important;color:#4f3a52!important;font-size:12px!important;line-height:1.45!important;max-height:72px!important;overflow:hidden!important;}
.ja-diploma343-foot{margin-top:auto!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px!important;padding-top:12px!important;}
.ja-diploma343-foot span{font-size:12px!important;color:#6b5b70!important;}
.ja-diploma343-btn{border:0!important;border-radius:999px!important;background:#691c61!important;color:#fff!important;padding:10px 14px!important;cursor:pointer!important;white-space:nowrap!important;}
.ja-diploma343-progress{position:relative!important;display:flex!important;justify-content:space-between!important;gap:10px!important;margin-top:10px!important;padding-bottom:10px!important;color:#4b0f45!important;font-size:12px!important;}
.ja-diploma343-progress::before,.ja-diploma343-progress em{content:""!important;position:absolute!important;left:0!important;right:0!important;bottom:0!important;height:5px!important;border-radius:999px!important;background:#f0dfed!important;}
.ja-diploma343-progress em{right:auto!important;background:#691c61!important;}

@media(max-width:900px){
  .program-results-sections .browse-certificate-grid,
  .program-results-sections .browse-diploma-grid,
  .browse-product-grid.browse-certificate-grid,
  .browse-product-grid.browse-diploma-grid,
  .bundle-diploma-home-grid,
  .featured-diploma-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .program-card-template-scope.professional-certificate-card-template-scope,
  .program-card-template-scope.diploma-card-template-scope{
    grid-column:1 / -1!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0 0 18px!important;
    flex:1 1 100%!important;
    overflow:visible!important;
  }
  .program-card-template-scope.professional-certificate-card-template-scope > article,
  .program-card-template-scope.diploma-card-template-scope > article{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
  }
  .program-card-template-scope.professional-certificate-card-template-scope :is(.ja-cert306,.ja-cert307,.ja-pcert343),
  .program-card-template-scope.diploma-card-template-scope :is(.ja-diploma329,.ja-diploma343,.ja-cert305,.ja-cert307){
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    grid-template-columns:none!important;
    overflow:hidden!important;
  }
  .program-card-template-scope.professional-certificate-card-template-scope :is(.ja-cert306-img,.ja-cert307-img,.ja-pcert343-img),
  .program-card-template-scope.diploma-card-template-scope :is(.ja-diploma329-img,.ja-diploma343-img,.ja-cert305-img,.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.professional-certificate-card-template-scope :is(.ja-cert306-img,.ja-cert307-img,.ja-pcert343-img) img,
  .program-card-template-scope.diploma-card-template-scope :is(.ja-diploma329-img,.ja-diploma343-img,.ja-cert305-img,.ja-cert307-img) img{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    object-fit:contain!important;
  }
  .program-card-template-scope.professional-certificate-card-template-scope :is(.ja-cert306-main,.ja-cert307-main,.ja-pcert343-main),
  .program-card-template-scope.diploma-card-template-scope :is(.ja-diploma329-body,.ja-diploma343-body,.ja-cert305-main,.ja-cert307-main){
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    padding:16px!important;
    overflow:visible!important;
  }
  .program-card-template-scope.professional-certificate-card-template-scope :is(.ja-cert306-side,.ja-cert307-side,.ja-pcert343-side),
  .program-card-template-scope.diploma-card-template-scope :is(.ja-cert305-side,.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;
    overflow:visible!important;
  }
  .program-card-template-scope.professional-certificate-card-template-scope :is(.ja-cert306-list,.ja-cert307-list,.ja-pcert343-list),
  .program-card-template-scope.diploma-card-template-scope :is(.ja-diploma329-list,.ja-diploma343-list,.ja-cert305-list,.ja-cert307-list){
    columns:1!important;
    column-count:1!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .program-card-template-scope.professional-certificate-card-template-scope :is(.ja-cert306-title,.ja-cert307-title,.ja-pcert343-title),
  .program-card-template-scope.diploma-card-template-scope :is(.ja-diploma329-title,.ja-diploma343-title,.ja-cert305-title,.ja-cert307-title){
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    text-overflow:clip!important;
  }
}

/* v345 — template-driven catalog card layout.
   Templates can set desktop/tablet/mobile column counts through their saved
   JSON `layout` object. Website CSS only supplies overflow-safe rails. */
.home-program-category .browse-product-grid,
.home-category-programs .browse-product-grid,
.program-results-sections .browse-product-grid,
.browse-product-grid.browse-course-grid,
.browse-product-grid.browse-certificate-grid,
.browse-product-grid.browse-diploma-grid,
.browse-product-grid.bundle-diploma-home-grid,
.featured-course-row,
.featured-diploma-row{
  display:flex!important;
  flex-wrap:wrap!important;
  flex-direction:row!important;
  align-items:stretch!important;
  gap:var(--ja-template-grid-gap,22px)!important;
  grid-template-columns:none!important;
}
.home-program-category .browse-product-grid > .template-layout-card-scope,
.home-category-programs .browse-product-grid > .template-layout-card-scope,
.program-results-sections .browse-product-grid > .template-layout-card-scope,
.browse-product-grid > .template-layout-card-scope,
.featured-course-row > .template-layout-card-scope,
.featured-diploma-row > .template-layout-card-scope{
  flex:0 1 var(--ja-template-basis-desktop,calc((100% - 48px)/3))!important;
  width:var(--ja-template-basis-desktop,calc((100% - 48px)/3))!important;
  max-width:min(100%,var(--ja-template-max-width,100%))!important;
  min-width:0!important;
  margin:0!important;
  grid-column:auto!important;
  display:block!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.home-program-category .browse-product-grid > .template-layout-card-scope[data-template-columns-desktop="1"],
.home-category-programs .browse-product-grid > .template-layout-card-scope[data-template-columns-desktop="1"],
.program-results-sections .browse-product-grid > .template-layout-card-scope[data-template-columns-desktop="1"],
.browse-product-grid > .template-layout-card-scope[data-template-columns-desktop="1"],
.featured-course-row > .template-layout-card-scope[data-template-columns-desktop="1"],
.featured-diploma-row > .template-layout-card-scope[data-template-columns-desktop="1"]{
  margin-left:auto!important;
  margin-right:auto!important;
}
.template-layout-card-scope > article{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.template-layout-card-scope img,
.template-layout-card-scope iframe,
.template-layout-card-scope video{
  max-width:100%!important;
}
@media(max-width:1100px){
  .home-program-category .browse-product-grid > .template-layout-card-scope,
  .home-category-programs .browse-product-grid > .template-layout-card-scope,
  .program-results-sections .browse-product-grid > .template-layout-card-scope,
  .browse-product-grid > .template-layout-card-scope,
  .featured-course-row > .template-layout-card-scope,
  .featured-diploma-row > .template-layout-card-scope{
    flex-basis:var(--ja-template-basis-tablet,100%)!important;
    width:var(--ja-template-basis-tablet,100%)!important;
  }
}
@media(max-width:760px){
  .home-program-category .browse-product-grid,
  .home-category-programs .browse-product-grid,
  .program-results-sections .browse-product-grid,
  .browse-product-grid.browse-course-grid,
  .browse-product-grid.browse-certificate-grid,
  .browse-product-grid.browse-diploma-grid,
  .browse-product-grid.bundle-diploma-home-grid,
  .featured-course-row,
  .featured-diploma-row{
    gap:16px!important;
  }
  .home-program-category .browse-product-grid > .template-layout-card-scope,
  .home-category-programs .browse-product-grid > .template-layout-card-scope,
  .program-results-sections .browse-product-grid > .template-layout-card-scope,
  .browse-product-grid > .template-layout-card-scope,
  .featured-course-row > .template-layout-card-scope,
  .featured-diploma-row > .template-layout-card-scope{
    flex-basis:var(--ja-template-basis-mobile,100%)!important;
    width:var(--ja-template-basis-mobile,100%)!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .template-layout-card-scope[data-template-columns-mobile="1"]{
    margin-left:0!important;
    margin-right:0!important;
  }
}

/* v346 — real template-driven card rendering.
   The selected template supplies the row count through layout metadata. Older
   product-kind rules are intentionally neutralized here so Diploma/Certificate
   cards are not forced back to hard-coded widths. */
.home-program-category .browse-product-grid,
.home-category-programs .browse-product-grid,
.program-results-sections .browse-product-grid,
.programs-browse-shell .browse-product-grid,
.browse-product-grid.browse-course-grid,
.browse-product-grid.browse-certificate-grid,
.browse-product-grid.browse-diploma-grid,
.browse-product-grid.bundle-diploma-home-grid,
.featured-course-row,
.featured-diploma-row{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:var(--ja-template-grid-gap,22px)!important;
  grid-template-columns:none!important;
}
.home-program-category .browse-product-grid > .program-card-template-scope.template-layout-card-scope,
.home-category-programs .browse-product-grid > .program-card-template-scope.template-layout-card-scope,
.program-results-sections .browse-product-grid > .program-card-template-scope.template-layout-card-scope,
.programs-browse-shell .browse-product-grid > .program-card-template-scope.template-layout-card-scope,
.browse-product-grid > .program-card-template-scope.template-layout-card-scope,
.featured-course-row > .program-card-template-scope.template-layout-card-scope,
.featured-diploma-row > .program-card-template-scope.template-layout-card-scope,
.bundle-diploma-home-grid > .program-card-template-scope.template-layout-card-scope,
.home-program-category .browse-product-grid > .program-card-template-scope.template-layout-card-scope.diploma-card-template-scope,
.home-category-programs .browse-product-grid > .program-card-template-scope.template-layout-card-scope.diploma-card-template-scope,
.programs-browse-shell .browse-product-grid > .program-card-template-scope.template-layout-card-scope.diploma-card-template-scope,
.browse-product-grid > .program-card-template-scope.template-layout-card-scope.diploma-card-template-scope,
.featured-diploma-row > .program-card-template-scope.template-layout-card-scope.diploma-card-template-scope,
.bundle-diploma-home-grid > .program-card-template-scope.template-layout-card-scope.diploma-card-template-scope,
.home-program-category .browse-product-grid > .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope,
.home-category-programs .browse-product-grid > .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope,
.programs-browse-shell .browse-product-grid > .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope,
.browse-product-grid > .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope,
.featured-diploma-row > .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope,
.bundle-diploma-home-grid > .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope{
  flex:0 1 var(--ja-template-basis-desktop,100%)!important;
  flex-basis:var(--ja-template-basis-desktop,100%)!important;
  width:var(--ja-template-basis-desktop,100%)!important;
  min-width:0!important;
  max-width:min(100%,var(--ja-template-max-width,100%))!important;
  grid-column:auto!important;
  display:block!important;
  margin:0!important;
  align-self:stretch!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
.home-program-category .browse-product-grid > .program-card-template-scope.template-layout-card-scope[data-template-columns-desktop="1"],
.home-category-programs .browse-product-grid > .program-card-template-scope.template-layout-card-scope[data-template-columns-desktop="1"],
.program-results-sections .browse-product-grid > .program-card-template-scope.template-layout-card-scope[data-template-columns-desktop="1"],
.programs-browse-shell .browse-product-grid > .program-card-template-scope.template-layout-card-scope[data-template-columns-desktop="1"],
.browse-product-grid > .program-card-template-scope.template-layout-card-scope[data-template-columns-desktop="1"],
.featured-course-row > .program-card-template-scope.template-layout-card-scope[data-template-columns-desktop="1"],
.featured-diploma-row > .program-card-template-scope.template-layout-card-scope[data-template-columns-desktop="1"]{
  margin-left:auto!important;
  margin-right:auto!important;
}
.program-card-template-scope.template-layout-card-scope > article,
.program-card-template-scope.template-layout-card-scope > .program-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.program-card-template-scope.template-layout-card-scope :is(img,iframe,video,svg){max-width:100%!important;}
@media(max-width:1100px){
  .home-program-category .browse-product-grid > .program-card-template-scope.template-layout-card-scope,
  .home-category-programs .browse-product-grid > .program-card-template-scope.template-layout-card-scope,
  .program-results-sections .browse-product-grid > .program-card-template-scope.template-layout-card-scope,
  .programs-browse-shell .browse-product-grid > .program-card-template-scope.template-layout-card-scope,
  .browse-product-grid > .program-card-template-scope.template-layout-card-scope,
  .featured-course-row > .program-card-template-scope.template-layout-card-scope,
  .featured-diploma-row > .program-card-template-scope.template-layout-card-scope{
    flex-basis:var(--ja-template-basis-tablet,100%)!important;
    width:var(--ja-template-basis-tablet,100%)!important;
  }
}
@media(max-width:760px){
  .home-program-category .browse-product-grid,
  .home-category-programs .browse-product-grid,
  .program-results-sections .browse-product-grid,
  .programs-browse-shell .browse-product-grid,
  .browse-product-grid.browse-course-grid,
  .browse-product-grid.browse-certificate-grid,
  .browse-product-grid.browse-diploma-grid,
  .browse-product-grid.bundle-diploma-home-grid,
  .featured-course-row,
  .featured-diploma-row{gap:16px!important;}
  .home-program-category .browse-product-grid > .program-card-template-scope.template-layout-card-scope,
  .home-category-programs .browse-product-grid > .program-card-template-scope.template-layout-card-scope,
  .program-results-sections .browse-product-grid > .program-card-template-scope.template-layout-card-scope,
  .programs-browse-shell .browse-product-grid > .program-card-template-scope.template-layout-card-scope,
  .browse-product-grid > .program-card-template-scope.template-layout-card-scope,
  .featured-course-row > .program-card-template-scope.template-layout-card-scope,
  .featured-diploma-row > .program-card-template-scope.template-layout-card-scope{
    flex-basis:var(--ja-template-basis-mobile,100%)!important;
    width:var(--ja-template-basis-mobile,100%)!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .program-card-template-scope.template-layout-card-scope :is(.ja-cert306,.ja-cert307,.ja-pcert343,.ja-pcert344,.ja-diploma329,.ja-diploma343,.ja-diploma344,.ja-cert305){
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }
}


/* v347 — mobile inner-card safety for template-driven Professional Certificates.
   v346 fixed the outer grid, but custom certificate templates can still keep a
   three-column desktop article on phones. When the selected template asks for
   one mobile column, stack the article's direct panels vertically while leaving
   colors, typography, spacing, and buttons to the template. */
@media(max-width:900px){
  .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope[data-template-columns-mobile="1"]{
    flex:1 1 100%!important;
    flex-basis:100%!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    overflow:visible!important;
  }
  .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope[data-template-columns-mobile="1"] > article{
    display:flex!important;
    flex-direction:column!important;
    grid-template-columns:1fr!important;
    grid-auto-flow:row!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope[data-template-columns-mobile="1"] > article > *{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    border-left:0!important;
    border-inline-start:0!important;
  }
  .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope[data-template-columns-mobile="1"] > article > :first-child{
    flex:0 0 auto!important;
    min-height:0!important;
    aspect-ratio:16/9!important;
  }
  .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope[data-template-columns-mobile="1"] > article > :first-child img{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    object-fit:contain!important;
    display:block!important;
  }
  .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope[data-template-columns-mobile="1"] > article > :not(:first-child){
    min-height:0!important;
  }
  .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope[data-template-columns-mobile="1"] :is(.ja-cert306,.ja-cert307,.ja-pcert343,.ja-pcert344),
  .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope[data-template-columns-mobile="1"] > article[class*="ja-cert"],
  .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope[data-template-columns-mobile="1"] > article[class*="ja-pcert"]{
    display:flex!important;
    flex-direction:column!important;
    grid-template-columns:1fr!important;
  }
  .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope[data-template-columns-mobile="1"] :is(.ja-cert306-list,.ja-cert307-list,.ja-pcert343-list,.ja-pcert344-list){
    columns:1!important;
    column-count:1!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope[data-template-columns-mobile="1"] :is(.ja-cert306-title,.ja-cert307-title,.ja-pcert343-title,.ja-pcert344-title){
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    text-overflow:clip!important;
  }
}

/* v348 — final generic mobile safety for Professional Certificate templates.
   The previous mobile patch depended too much on exact template classes/direct
   structure. This rule uses the stable wrapper data/kind instead: any selected
   Professional Certificate template that asks for one mobile column is stacked
   safely on phones, regardless of the template's inner class name. */
@media(max-width:900px){
  .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope,
  .program-card-template-scope.template-layout-card-scope[data-template-kind="professional_certificate"]{
    flex:1 1 100%!important;
    flex-basis:100%!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope article,
  .program-card-template-scope.template-layout-card-scope[data-template-kind="professional_certificate"] article,
  .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope [class*="ja-cert"],
  .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope [class*="ja-pcert"],
  .program-card-template-scope.template-layout-card-scope[data-template-kind="professional_certificate"] [class*="ja-cert"],
  .program-card-template-scope.template-layout-card-scope[data-template-kind="professional_certificate"] [class*="ja-pcert"]{
    display:flex!important;
    flex-direction:column!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope article > *,
  .program-card-template-scope.template-layout-card-scope[data-template-kind="professional_certificate"] article > *,
  .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope :is([class$="-img"],[class*="-img "]),
  .program-card-template-scope.template-layout-card-scope[data-template-kind="professional_certificate"] :is([class$="-img"],[class*="-img "]),
  .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope :is([class$="-main"],[class*="-main "],[class$="-body"],[class*="-body "],[class$="-side"],[class*="-side "]),
  .program-card-template-scope.template-layout-card-scope[data-template-kind="professional_certificate"] :is([class$="-main"],[class*="-main "],[class$="-body"],[class*="-body "],[class$="-side"],[class*="-side "]){
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    box-sizing:border-box!important;
    grid-column:1/-1!important;
    border-left:0!important;
    border-inline-start:0!important;
  }
  .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope :is([class$="-img"],[class*="-img "]),
  .program-card-template-scope.template-layout-card-scope[data-template-kind="professional_certificate"] :is([class$="-img"],[class*="-img "]){
    aspect-ratio:16/9!important;
    min-height:0!important;
    flex:0 0 auto!important;
  }
  .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope :is([class$="-img"],[class*="-img "]) img,
  .program-card-template-scope.template-layout-card-scope[data-template-kind="professional_certificate"] :is([class$="-img"],[class*="-img "]) img{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    object-fit:contain!important;
    display:block!important;
  }
  .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope :is([class$="-side"],[class*="-side "]),
  .program-card-template-scope.template-layout-card-scope[data-template-kind="professional_certificate"] :is([class$="-side"],[class*="-side "]){
    border-top:1px solid #f0e3ee!important;
  }
  .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope :is(ul,ol,[class$="-list"],[class*="-list "]),
  .program-card-template-scope.template-layout-card-scope[data-template-kind="professional_certificate"] :is(ul,ol,[class$="-list"],[class*="-list "]){
    columns:1!important;
    column-count:1!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .program-card-template-scope.template-layout-card-scope.professional-certificate-card-template-scope :is(h1,h2,h3,h4,[class$="-title"],[class*="-title "]),
  .program-card-template-scope.template-layout-card-scope[data-template-kind="professional_certificate"] :is(h1,h2,h3,h4,[class$="-title"],[class*="-title "]){
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    text-overflow:clip!important;
  }
}

/* v349 — mobile column contract for all template-driven catalog cards.
   v348 made Professional Certificate stacking generic, but the generic layout
   breakpoint for mobile_columns still started at 760px. Some real phone/device
   views and mobile previews can be wider than that, so a Diploma template with
   mobile_columns:1 could still keep its desktop two-card row. This rule keeps
   the template in control: only templates that explicitly ask for one mobile
   column are forced to one full-width card up to the practical phone/tablet
   breakpoint. */
@media(max-width:900px){
  .program-card-template-scope.template-layout-card-scope[data-template-columns-mobile="1"]{
    flex:1 1 100%!important;
    flex-basis:100%!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
    grid-column:1/-1!important;
  }
  .program-card-template-scope.template-layout-card-scope[data-template-columns-mobile="1"] > article,
  .program-card-template-scope.template-layout-card-scope[data-template-columns-mobile="1"] > .program-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
}


/* v351 — mobile browse-result column contract.
   Some legacy browse result grids can still keep two items per row on real
   phones because the active template wrapper may come from older saved D1
   content without the v345+ layout data attributes. Keep the template in
   control when metadata exists, but protect the public Diploma/Certificate
   browse pages by forcing their result rows to a readable single column on
   phone widths. Desktop/tablet template columns are unchanged. */
@media(max-width:900px){
  .program-results-sections .browse-diploma-grid,
  .programs-browse-shell .browse-diploma-grid,
  .program-results-sections .browse-certificate-grid,
  .programs-browse-shell .browse-certificate-grid{
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    gap:16px!important;
    align-items:stretch!important;
  }
  .program-results-sections .browse-diploma-grid > *,
  .programs-browse-shell .browse-diploma-grid > *,
  .program-results-sections .browse-certificate-grid > *,
  .programs-browse-shell .browse-certificate-grid > *{
    flex:0 0 100%!important;
    flex-basis:100%!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    grid-column:1/-1!important;
    box-sizing:border-box!important;
  }
}

/* v351 — mobile full-width stretch for template-driven browse cards.
   v350 correctly made Diploma/Certificate browse results one item per row on
   phones, but a saved/manual template may still carry its own narrow card
   width or max-width. On phone browse pages, the selected card should occupy
   the whole row while the template still controls the inner visual style. */
@media(max-width:900px){
  .program-results-sections .browse-diploma-grid,
  .programs-browse-shell .browse-diploma-grid,
  .program-results-sections .browse-certificate-grid,
  .programs-browse-shell .browse-certificate-grid{
    width:100%!important;
    max-width:100%!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
  }
  .program-results-sections .browse-diploma-grid > .program-card-template-scope,
  .programs-browse-shell .browse-diploma-grid > .program-card-template-scope,
  .program-results-sections .browse-certificate-grid > .program-card-template-scope,
  .programs-browse-shell .browse-certificate-grid > .program-card-template-scope{
    flex:0 0 100%!important;
    flex-basis:100%!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    align-self:stretch!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .program-results-sections .browse-diploma-grid > .program-card-template-scope :is(article,.program-card,[class*="ja-diploma"],[class*="ja-cert"],[class*="ja-pcert"]),
  .programs-browse-shell .browse-diploma-grid > .program-card-template-scope :is(article,.program-card,[class*="ja-diploma"],[class*="ja-cert"],[class*="ja-pcert"]),
  .program-results-sections .browse-certificate-grid > .program-card-template-scope :is(article,.program-card,[class*="ja-diploma"],[class*="ja-cert"],[class*="ja-pcert"]),
  .programs-browse-shell .browse-certificate-grid > .program-card-template-scope :is(article,.program-card,[class*="ja-diploma"],[class*="ja-cert"],[class*="ja-pcert"]){
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }
}

/* v352 — exact Diploma browse contract.
   Final agreed behavior:
   - desktop/tablet-wide Diploma browse results: two cards per row
   - phone/mobile widths: one full-width card per row
   v351 fixed the phone row, but could leave desktop-like views with one card per
   row when legacy/saved wrappers missed layout metadata or inherited a full-width
   rule. This block restores the two-column desktop contract while preserving the
   one-column phone contract. */
@media(min-width:901px){
  .program-results-sections .browse-diploma-grid,
  .programs-browse-shell .browse-diploma-grid,
  .home-category-programs .browse-diploma-grid,
  .home-program-category .browse-diploma-grid,
  .browse-product-grid.browse-diploma-grid{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:var(--ja-template-grid-gap,22px)!important;
  }
  .program-results-sections .browse-diploma-grid > .program-card-template-scope,
  .programs-browse-shell .browse-diploma-grid > .program-card-template-scope,
  .home-category-programs .browse-diploma-grid > .program-card-template-scope,
  .home-program-category .browse-diploma-grid > .program-card-template-scope,
  .browse-product-grid.browse-diploma-grid > .program-card-template-scope,
  .program-results-sections .browse-diploma-grid > .diploma-card-template-scope,
  .programs-browse-shell .browse-diploma-grid > .diploma-card-template-scope,
  .home-category-programs .browse-diploma-grid > .diploma-card-template-scope,
  .home-program-category .browse-diploma-grid > .diploma-card-template-scope,
  .browse-product-grid.browse-diploma-grid > .diploma-card-template-scope{
    flex:0 1 var(--ja-template-basis-desktop,calc((100% - 22px) / 2))!important;
    flex-basis:var(--ja-template-basis-desktop,calc((100% - 22px) / 2))!important;
    width:var(--ja-template-basis-desktop,calc((100% - 22px) / 2))!important;
    max-width:var(--ja-template-basis-desktop,calc((100% - 22px) / 2))!important;
    min-width:0!important;
    grid-column:auto!important;
    margin:0!important;
    align-self:stretch!important;
    box-sizing:border-box!important;
  }
  .program-results-sections .browse-certificate-grid > .program-card-template-scope,
  .programs-browse-shell .browse-certificate-grid > .program-card-template-scope,
  .browse-product-grid.browse-certificate-grid > .program-card-template-scope,
  .program-results-sections .browse-certificate-grid > .professional-certificate-card-template-scope,
  .programs-browse-shell .browse-certificate-grid > .professional-certificate-card-template-scope,
  .browse-product-grid.browse-certificate-grid > .professional-certificate-card-template-scope{
    flex:0 1 100%!important;
    flex-basis:100%!important;
    width:100%!important;
    max-width:100%!important;
  }
}
@media(max-width:900px){
  .program-results-sections .browse-diploma-grid > .program-card-template-scope,
  .programs-browse-shell .browse-diploma-grid > .program-card-template-scope,
  .home-category-programs .browse-diploma-grid > .program-card-template-scope,
  .home-program-category .browse-diploma-grid > .program-card-template-scope,
  .browse-product-grid.browse-diploma-grid > .program-card-template-scope,
  .program-results-sections .browse-diploma-grid > .diploma-card-template-scope,
  .programs-browse-shell .browse-diploma-grid > .diploma-card-template-scope,
  .home-category-programs .browse-diploma-grid > .diploma-card-template-scope,
  .home-program-category .browse-diploma-grid > .diploma-card-template-scope,
  .browse-product-grid.browse-diploma-grid > .diploma-card-template-scope{
    flex:0 0 100%!important;
    flex-basis:100%!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}


/* v353 — definitive mobile Diploma browse width contract.
   The Diploma card template is active, but the old browse wrapper stack can
   still leave Diploma cards visually narrow on real phones. Use CSS Grid only
   on phone-width Diploma browse result containers so the row, wrapper, and
   selected template article all stretch to the same full available width.
   Desktop behavior remains controlled by the v352 two-column contract above. */
@media(max-width:900px){
  .program-results-sections > .browse-product-grid.browse-diploma-grid,
  .programs-browse-shell .browse-product-grid.browse-diploma-grid,
  .home-category-programs .browse-product-grid.browse-diploma-grid,
  .home-program-category .browse-product-grid.browse-diploma-grid,
  .browse-product-grid.browse-diploma-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    gap:16px!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    justify-content:stretch!important;
    overflow:visible!important;
  }
  .program-results-sections > .browse-product-grid.browse-diploma-grid > .program-card-template-scope,
  .programs-browse-shell .browse-product-grid.browse-diploma-grid > .program-card-template-scope,
  .home-category-programs .browse-product-grid.browse-diploma-grid > .program-card-template-scope,
  .home-program-category .browse-product-grid.browse-diploma-grid > .program-card-template-scope,
  .browse-product-grid.browse-diploma-grid > .program-card-template-scope,
  .program-results-sections > .browse-product-grid.browse-diploma-grid > .diploma-card-template-scope,
  .programs-browse-shell .browse-product-grid.browse-diploma-grid > .diploma-card-template-scope,
  .home-category-programs .browse-product-grid.browse-diploma-grid > .diploma-card-template-scope,
  .home-program-category .browse-product-grid.browse-diploma-grid > .diploma-card-template-scope,
  .browse-product-grid.browse-diploma-grid > .diploma-card-template-scope{
    display:block!important;
    grid-column:1/-1!important;
    justify-self:stretch!important;
    align-self:stretch!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    flex:none!important;
    flex-basis:auto!important;
    margin:0!important;
    box-sizing:border-box!important;
    transform:none!important;
  }
  .program-results-sections > .browse-product-grid.browse-diploma-grid > .program-card-template-scope > *,
  .programs-browse-shell .browse-product-grid.browse-diploma-grid > .program-card-template-scope > *,
  .home-category-programs .browse-product-grid.browse-diploma-grid > .program-card-template-scope > *,
  .home-program-category .browse-product-grid.browse-diploma-grid > .program-card-template-scope > *,
  .browse-product-grid.browse-diploma-grid > .program-card-template-scope > *,
  .program-results-sections > .browse-product-grid.browse-diploma-grid > .diploma-card-template-scope > *,
  .programs-browse-shell .browse-product-grid.browse-diploma-grid > .diploma-card-template-scope > *,
  .home-category-programs .browse-product-grid.browse-diploma-grid > .diploma-card-template-scope > *,
  .home-program-category .browse-product-grid.browse-diploma-grid > .diploma-card-template-scope > *,
  .browse-product-grid.browse-diploma-grid > .diploma-card-template-scope > *{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }
}

/* v354 — final Diploma mobile wrapper override.
   Live inspection showed the Diploma grid itself is full width on phones, but the
   saved template wrapper still computed as flex: 0 1 calc(50% - 11px). That
   value comes from desktop two-column layout variables and can survive when the
   wrapper is nested instead of being a direct grid child. Use descendant
   selectors here, not only direct-child selectors, so every Diploma template
   wrapper inside a mobile Diploma browse grid becomes a true full-width row.
   Desktop remains controlled by the min-width:901px two-column contract above. */
@media(max-width:900px){
  .program-results-sections .browse-diploma-grid .program-card-template-scope.template-layout-card-scope.diploma-card-template-scope,
  .programs-browse-shell .browse-diploma-grid .program-card-template-scope.template-layout-card-scope.diploma-card-template-scope,
  .home-category-programs .browse-diploma-grid .program-card-template-scope.template-layout-card-scope.diploma-card-template-scope,
  .home-program-category .browse-diploma-grid .program-card-template-scope.template-layout-card-scope.diploma-card-template-scope,
  .browse-product-grid.browse-diploma-grid .program-card-template-scope.template-layout-card-scope.diploma-card-template-scope,
  .browse-diploma-grid .program-card-template-scope.template-layout-card-scope.diploma-card-template-scope{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    flex:0 0 100%!important;
    flex-basis:100%!important;
    grid-column:1/-1!important;
    justify-self:stretch!important;
    align-self:stretch!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }
  .program-results-sections .browse-diploma-grid .program-card-template-scope.template-layout-card-scope.diploma-card-template-scope > *,
  .programs-browse-shell .browse-diploma-grid .program-card-template-scope.template-layout-card-scope.diploma-card-template-scope > *,
  .home-category-programs .browse-diploma-grid .program-card-template-scope.template-layout-card-scope.diploma-card-template-scope > *,
  .home-program-category .browse-diploma-grid .program-card-template-scope.template-layout-card-scope.diploma-card-template-scope > *,
  .browse-product-grid.browse-diploma-grid .program-card-template-scope.template-layout-card-scope.diploma-card-template-scope > *,
  .browse-diploma-grid .program-card-template-scope.template-layout-card-scope.diploma-card-template-scope > *{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }
}

/* v355 — description direction/justification, compact lesson files, and header breathing room. */
:where(
  .ja-auto-description,
  .course-short-description,
  .course-long-description,
  .course-sales-copy > p,
  .program-body > p,
  .certificate-course-card-body > p,
  .ja-card-description,
  [class*="ja-course"][class*="-desc"],
  [class*="ja-cert"][class*="-desc"],
  [class*="ja-pcert"][class*="-desc"],
  [class*="ja-diploma"][class*="-desc"]
){
  text-align:justify!important;
  text-align-last:auto!important;
  unicode-bidi:plaintext!important;
  overflow-wrap:anywhere!important;
}
:where(textarea.ja-description-input,textarea[name="short_description"],textarea[name="full_description"]){
  text-align:justify!important;
  unicode-bidi:plaintext!important;
}
.course-reader-page:not(.builder-course-preview) .lesson-builder-content > .section:has(.builder-document-preview),
.course-reader-page:not(.builder-course-preview) .lesson-builder-content > .section:has(.builder-file-download),
.course-reader-page:not(.builder-course-preview) .course-portal-page > .section:has(.builder-document-preview),
.course-reader-page:not(.builder-course-preview) .course-portal-page > .section:has(.builder-file-download){
  padding-top:28px!important;
  padding-bottom:28px!important;
}
.course-reader-page:not(.builder-course-preview) .builder-document-preview{
  margin-bottom:10px!important;
}
.course-reader-page:not(.builder-course-preview) .builder-file-download{
  margin-top:0!important;
  margin-bottom:0!important;
}
.course-reader-page:not(.builder-course-preview) .builder-document-preview + .builder-file-download,
.course-reader-page:not(.builder-course-preview) .builder-file-download + .builder-document-preview{
  margin-top:10px!important;
}
.navbar,
.nav-inner{height:70px!important;min-height:70px!important;}
.mobile-drawer,
.filterbar{top:70px!important;}
.dashboard{padding-top:70px!important;}
.sidebar{top:70px!important;min-height:calc(100vh - 70px)!important;}
.portal-header{padding-top:106px!important;}
.page-hero{padding-top:122px!important;}
.course-public-page{padding-top:70px!important;}
.programs-browse-shell{padding-top:calc(70px + 30px)!important;}
.navbar .brand,
.navbar .logo-brand{align-items:center!important;padding-top:4px!important;padding-bottom:4px!important;}
.navbar .logo-brand.brand-logo-full{padding-top:4px!important;padding-bottom:4px!important;}
.navbar .logo-brand.brand-logo-full .brand-logo-full-img,
.navbar .brand-logo-full-img{height:58px!important;max-height:58px!important;object-fit:contain!important;}
@media(max-width:760px){
  .navbar,
  .nav-inner{height:74px!important;min-height:74px!important;}
  .mobile-drawer,
  .filterbar{top:74px!important;}
  .dashboard{padding-top:74px!important;}
  .sidebar{top:74px!important;min-height:calc(100vh - 74px)!important;}
  .course-public-page{padding-top:74px!important;}
  .programs-browse-shell{padding-top:calc(74px + 26px)!important;}
  .navbar .logo-brand.brand-logo-full .brand-logo-full-img,
  .navbar .brand-logo-full-img{height:56px!important;max-height:56px!important;max-width:220px!important;}
}


/* v357 — safe description formatting and markdown-lite readability. */
.ja-formatted-description,
.builder-rich-text,
.course-short-description,
.course-long-description,
.ja-auto-description{
  white-space:normal!important;
}
.ja-formatted-description strong,
.builder-rich-text strong,
.course-short-description strong,
.course-long-description strong,
.ja-auto-description strong{
  font-weight:800!important;
}

/* v359 text block pop-up editor */
#modal .modal:has(.text-editor-modal-form){width:min(1180px,96vw)!important;max-height:92dvh!important;}
.text-editor-modal-form{gap:16px!important;}
.text-editor-modal-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #ead8e8;padding-bottom:10px;position:sticky;top:-24px;background:#fff;z-index:2;}
.text-editor-modal-tabs button{border:1px solid #ead8e8;background:#fff;color:#5f2858;border-radius:999px;padding:9px 14px;font-weight:800;cursor:pointer;}
.text-editor-modal-tabs button.active{background:#79196f;color:#fff;border-color:#79196f;}
.text-editor-modal-panel{display:none;}
.text-editor-modal-panel.active{display:block;}
.text-editor-modal-form .ja-rich-editor-wrap{display:grid;gap:12px;}
.text-editor-modal-form .ja-rich-toolbar{display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding:10px;border:1px solid #ead8e8;border-radius:16px;background:#fff8fd;position:sticky;top:42px;z-index:2;}
.text-editor-modal-form .ja-rich-toolbar button,.text-editor-modal-form .ja-rich-toolbar select,.text-editor-modal-form .ja-rich-toolbar label{min-height:34px;border:1px solid #ead8e8;border-radius:10px;background:#fff;color:#2b0a28;padding:6px 9px;font-size:13px;}
.text-editor-modal-form .ja-rich-toolbar label{display:inline-flex;gap:6px;align-items:center;}
.text-editor-modal-form .ja-rich-toolbar input[type="color"]{width:34px;height:24px;padding:0;border:0;background:transparent;}
.text-editor-modal-form .rich-size-input{width:72px!important;min-height:26px!important;padding:3px 6px!important;border:1px solid #ead8e8!important;border-radius:8px!important;}
.text-editor-modal-form .ja-rich-editor{min-height:360px;max-height:58dvh;overflow:auto;border:1px solid #ead8e8;border-radius:18px;padding:18px 20px;background:#fff;line-height:1.8;outline:none;}
.text-editor-modal-form .ja-rich-editor:focus{border-color:#79196f;box-shadow:0 0 0 4px rgba(121,25,111,.08);}
.text-editor-modal-form .ja-rich-editor p{margin:.2em 0 .85em;}
.text-editor-modal-form .ja-rich-editor a{color:#79196f;text-decoration:underline;text-underline-offset:3px;}
.text-editor-modal-status{border-top:1px solid #f0e3ee;padding-top:10px;}
.text-editor-launcher .full{width:100%;justify-content:center;}
.text-editor-launch-preview{border:1px solid #ead8e8;border-radius:14px;background:#fff;padding:12px 14px;line-height:1.6;color:#4b374b;max-height:96px;overflow:hidden;white-space:pre-wrap;text-align:justify;}
@media(max-width:760px){#modal .modal:has(.text-editor-modal-form){width:96vw!important;padding:16px!important;border-radius:18px!important}.text-editor-modal-tabs{top:-16px}.text-editor-modal-form .ja-rich-toolbar{position:static}.text-editor-modal-form .ja-rich-editor{min-height:300px;max-height:50dvh;padding:14px}.text-editor-modal-form .two-col,.text-editor-modal-form .three-col,.text-editor-modal-form .style-mini-row{grid-template-columns:1fr!important;}}

/* v361: stable, compact text block pop-up editor */
#modal .modal:has(.text-editor-modal-form){width:min(1180px,96vw)!important;max-height:92dvh!important;overflow:auto!important;}
.text-editor-modal-form{gap:12px!important;}
.text-editor-modal-tabs{display:flex!important;gap:6px!important;flex-wrap:wrap!important;border-bottom:1px solid #ead8e8!important;padding-bottom:8px!important;position:sticky!important;top:-24px!important;background:#fff!important;z-index:5!important;}
.text-editor-modal-tabs button{min-height:30px!important;border:1px solid #ead8e8!important;background:#fff!important;color:#4a1544!important;border-radius:999px!important;padding:6px 10px!important;font-size:12px!important;font-weight:600!important;line-height:1!important;cursor:pointer!important;}
.text-editor-modal-tabs button.active{background:#79196f!important;color:#fff!important;border-color:#79196f!important;}
.text-editor-modal-form .ja-rich-toolbar{display:flex!important;gap:4px!important;flex-wrap:wrap!important;align-items:center!important;padding:8px!important;border:1px solid #ead8e8!important;border-radius:14px!important;background:#fff!important;position:sticky!important;top:34px!important;z-index:4!important;}
.text-editor-modal-form .ja-rich-toolbar button,.text-editor-modal-form .ja-rich-toolbar select,.text-editor-modal-form .ja-rich-toolbar label,.text-editor-modal-form .ja-rich-toolbar input.rich-size-input{min-height:28px!important;height:28px!important;border:1px solid #ead8e8!important;border-radius:8px!important;background:#fff!important;color:#2b0a28!important;padding:4px 7px!important;font-size:12px!important;font-weight:500!important;line-height:1!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
.text-editor-modal-form .ja-rich-toolbar label{gap:4px!important;}
.text-editor-modal-form .ja-rich-toolbar input[type="color"]{width:24px!important;height:18px!important;padding:0!important;border:0!important;background:transparent!important;}
.text-editor-modal-form .rich-size-input{width:48px!important;}
.text-editor-modal-form .ja-rich-editor{min-height:390px!important;max-height:58dvh!important;overflow:auto!important;border:1px solid #ead8e8!important;border-radius:16px!important;padding:18px 20px!important;background:#fff!important;line-height:1.8!important;outline:none!important;}
.text-editor-modal-form .ja-rich-editor:focus{border-color:#79196f!important;box-shadow:0 0 0 4px rgba(121,25,111,.08)!important;}
.text-editor-modal-form .ja-rich-editor p{margin:.2em 0 .85em!important;}
.text-editor-compact-panel{display:grid!important;gap:12px!important;}
.text-editor-modal-footer{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;border-top:1px solid #f0e3ee!important;padding-top:10px!important;position:sticky!important;bottom:-24px!important;background:#fff!important;z-index:5!important;}
.text-editor-modal-status{min-height:18px!important;font-size:12px!important;color:#7b687c!important;}
.text-editor-modal-footer .actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;justify-content:flex-end!important;}
.text-editor-modal-footer .btn{min-height:34px!important;padding:7px 12px!important;font-size:13px!important;}
.text-editor-modal-form .toolbox-head span,.text-editor-modal-form p.muted.small,.text-editor-modal-form input[disabled]{display:none!important;}
#modal .help-tip:hover::after,#modal .help-tip:focus-visible::after{position:fixed!important;left:clamp(12px,50vw,calc(100vw - 340px))!important;right:auto!important;top:auto!important;bottom:24px!important;transform:none!important;width:min(320px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important;}
#modal .help-tip:hover::before,#modal .help-tip:focus-visible::before{display:none!important;}
@media(max-width:760px){#modal .modal:has(.text-editor-modal-form){width:96vw!important;padding:16px!important;border-radius:18px!important}.text-editor-modal-tabs{top:-16px!important}.text-editor-modal-form .ja-rich-toolbar{position:static!important}.text-editor-modal-form .ja-rich-editor{min-height:320px!important;max-height:48dvh!important;padding:14px!important}.text-editor-modal-footer{bottom:-16px!important;align-items:stretch!important;flex-direction:column!important}.text-editor-modal-footer .actions{justify-content:stretch!important}.text-editor-modal-footer .btn{flex:1 1 auto!important}}

/* v364: accordion text direction/alignment must follow the block settings. */
.builder-accordion-item summary .builder-accordion-question-text{display:block;min-width:0;flex:1 1 auto;}
.builder-accordion-item[dir="rtl"] summary{flex-direction:row-reverse;}
.builder-accordion-item[dir="rtl"] .builder-accordion-answer-text{text-align:inherit;}
.builder-accordion-list[dir="rtl"] .builder-accordion-item{direction:rtl;}
.builder-accordion-list[dir="ltr"] .builder-accordion-item{direction:ltr;}


/* v366: explicit RTL/LTR text direction must win even when the first word is English.
   Use plaintext only for auto direction; explicit paragraph direction behaves like Word's RTL/LTR control. */
.builder-preview-site [dir="rtl"],
.builder-preview-site [dir="ltr"],
.custom-html-page [dir="rtl"],
.custom-html-page [dir="ltr"],
.builder-mini-preview [dir="rtl"],
.builder-mini-preview [dir="ltr"],
.builder-rich-text[dir="rtl"],
.builder-rich-text[dir="ltr"],
.builder-accordion-list[dir="rtl"],
.builder-accordion-list[dir="ltr"],
.builder-accordion-item[dir="rtl"],
.builder-accordion-item[dir="ltr"],
.builder-accordion-item summary[dir="rtl"],
.builder-accordion-item summary[dir="ltr"]{
  unicode-bidi:isolate!important;
}
.builder-preview-site [dir="rtl"],
.custom-html-page [dir="rtl"],
.builder-mini-preview [dir="rtl"],
.builder-rich-text[dir="rtl"],
.builder-accordion-list[dir="rtl"],
.builder-accordion-item[dir="rtl"],
.builder-accordion-item summary[dir="rtl"]{
  direction:rtl!important;
}
.builder-preview-site [dir="ltr"],
.custom-html-page [dir="ltr"],
.builder-mini-preview [dir="ltr"],
.builder-rich-text[dir="ltr"],
.builder-accordion-list[dir="ltr"],
.builder-accordion-item[dir="ltr"],
.builder-accordion-item summary[dir="ltr"]{
  direction:ltr!important;
}
.builder-rich-text[dir="rtl"],
.builder-accordion-list[dir="rtl"],
.builder-accordion-item[dir="rtl"],
.builder-accordion-item summary[dir="rtl"]{
  text-align:right!important;
}
.builder-rich-text[dir="ltr"],
.builder-accordion-list[dir="ltr"],
.builder-accordion-item[dir="ltr"],
.builder-accordion-item summary[dir="ltr"]{
  text-align:left!important;
}

/* v367: FAQ/accordion text needs a real inner inset, especially in RTL where text starts at the right edge. */
.builder-accordion-item summary{
  padding-inline:clamp(26px,3vw,38px)!important;
}
.builder-accordion-item .builder-accordion-answer-text{
  display:block!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding-block:0 20px!important;
  padding-inline:clamp(26px,3vw,38px)!important;
  color:#667085;
  line-height:1.7;
}
.builder-accordion-list[dir="rtl"] .builder-accordion-item summary,
.builder-accordion-item[dir="rtl"] summary{
  padding-inline-start:clamp(30px,3.2vw,44px)!important;
  padding-inline-end:clamp(30px,3.2vw,44px)!important;
}
.builder-accordion-list[dir="rtl"] .builder-accordion-answer-text,
.builder-accordion-item[dir="rtl"] .builder-accordion-answer-text{
  padding-inline-start:clamp(30px,3.2vw,44px)!important;
  padding-inline-end:clamp(30px,3.2vw,44px)!important;
}
@media(max-width:760px){
  .builder-accordion-item summary{padding-inline:22px!important;}
  .builder-accordion-item .builder-accordion-answer-text{padding-inline:22px!important;padding-block-end:18px!important;}
}


/* v369: FAQ search shortcode, closed accordions, and final FAQ text styling. */
.faq-item summary,
.home-faq-item summary,
.builder-accordion-item summary,
.builder-accordion-item summary::after,
.builder-accordion-item .builder-accordion-question-text{
  font-weight:400!important;
  color:var(--purple)!important;
}
.faq-item p,
.home-faq-item p,
.builder-accordion-item .builder-accordion-answer-text{
  font-weight:400!important;
  color:#000!important;
}
.faq-item p,
.home-faq-item p{
  font-size:calc(1em - 1px)!important;
}
.faq-live-search-section{
  padding-bottom:0!important;
}
.faq-live-search-card{
  max-width:920px;
  margin:0 auto;
  background:#fff;
  border:1px solid #ead6e8;
  border-radius:22px;
  box-shadow:0 14px 34px rgba(75,15,69,.06);
  padding:22px clamp(20px,3vw,34px);
}
.faq-live-search-card label{
  display:block;
  color:var(--purple);
  font-size:20px;
  font-weight:500;
  margin-bottom:12px;
}
.faq-live-search-shell{
  position:relative;
  display:flex;
  align-items:center;
}
.faq-live-search-shell input{
  width:100%;
  border:1px solid #ead6e8;
  border-radius:18px;
  min-height:56px;
  padding:12px 52px 12px 18px;
  font-size:19px;
  direction:rtl;
  text-align:right;
}
.faq-live-search-shell span{
  position:absolute;
  inset-inline-end:18px;
  color:var(--purple);
  pointer-events:none;
  font-size:22px;
}
.faq-live-search-status{
  margin:12px 0 0;
  color:#7b687c;
  font-size:15px;
  line-height:1.6;
}
.faq-live-search-empty-section{
  padding-top:0!important;
}
.faq-search-active [data-faq-search-item][hidden],
.faq-search-active .builder-accordion-item[hidden],
.faq-search-active .faq-item[hidden]{
  display:none!important;
}
@media(max-width:760px){
  .faq-live-search-card{border-radius:18px;padding:18px;}
  .faq-live-search-card label{font-size:18px;}
  .faq-live-search-shell input{min-height:50px;font-size:17px;}
}

/* v372: compact spacing between site-builder inserted blocks.
   Builder blocks used .section's global 84px top/bottom padding, creating very
   large gaps between consecutive text/shortcode/accordion blocks. Keep native
   page sections unchanged, but make inserted builder sections roughly one third
   as tall. */
.section.public-block,
.section.builder-preview-block{
  padding-top:28px!important;
  padding-bottom:28px!important;
}
.faq-searchable-page > .section.public-block,
.faq-searchable-page > .section.builder-preview-block{
  padding-top:28px!important;
  padding-bottom:28px!important;
}
@media(max-width:760px){
  .section.public-block,
  .section.builder-preview-block,
  .faq-searchable-page > .section.public-block,
  .faq-searchable-page > .section.builder-preview-block{
    padding-top:22px!important;
    padding-bottom:22px!important;
  }
}

/* v373 — homepage breathing room before footer. */
main.home-page-body::after{
  content:"";
  display:block;
  height:72px;
}
@media(max-width:760px){
  main.home-page-body::after{height:48px;}
}

/* v374: full-width text blocks keep readable side padding instead of touching viewport edges. */
.builder-text-entity-row.builder-text-size-full>.container{
  padding-left:clamp(24px,5vw,96px)!important;
  padding-right:clamp(24px,5vw,96px)!important;
}
.builder-text-size-full .builder-text-surface{
  box-sizing:border-box!important;
  max-width:100%!important;
}
.ja-section-group-child .builder-text-entity-row.builder-text-size-full>.container{
  padding-left:clamp(20px,4vw,72px)!important;
  padding-right:clamp(20px,4vw,72px)!important;
}
@media(max-width:760px){
  .builder-text-entity-row.builder-text-size-full>.container,
  .ja-section-group-child .builder-text-entity-row.builder-text-size-full>.container{
    padding-left:20px!important;
    padding-right:20px!important;
  }
}

/* v381: In Professional Certificate previews, guests/no-access users can review
   child-course curricula without being navigated away to single-course pages. */
.certificate-curriculum-modal .ja-public-curriculum-button-locked{
  opacity:.58!important;
  cursor:not-allowed!important;
  background:#f7edf6!important;
  color:#79196f!important;
  border-color:#ead6e8!important;
  pointer-events:none!important;
}

/* v386: make accidental hidden curriculum rows obvious and repairable in owner dashboard */
.curriculum-visibility-warning{margin:10px 0 14px;padding:12px 14px;border:1px solid #ead6e8;border-radius:16px;background:#fff6ec;color:#4b0f45;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.curriculum-visibility-warning strong{color:#7b146c}.curriculum-visibility-warning span{color:#6f5f70}

/* v386: homepage program browse uses the full /programs control bar: categories, search, and type pills. */
#homeProgramBrowseShell{display:grid!important;gap:34px!important;}
.home-programs-smart-search{
  width:100%!important;
  max-width:1180px!important;
  margin:0 auto!important;
}
.home-programs-smart-search .program-search-box{width:100%!important;}
.home-programs-smart-search + #homeProgramCardsResults{display:grid!important;gap:34px!important;}
@media(max-width:980px){
  .home-programs-smart-search{grid-template-columns:max-content minmax(260px,1fr)!important;}
  .home-programs-smart-search .program-type-filter{grid-column:1 / -1!important;}
}
@media(max-width:680px){
  .home-programs-smart-search{grid-template-columns:1fr!important;max-width:100%!important;margin-bottom:0!important;}
  .home-programs-smart-search .program-category-menu{justify-content:flex-start!important;}
  .home-programs-smart-search .program-type-filter{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}


/* v391: animated homepage floating return-to-filters button, centered and mobile-safe. */
.home-floating-filter-jump{
  position:fixed!important;
  left:50%!important;
  bottom:calc(clamp(72px, 11vh, 128px) + env(safe-area-inset-bottom,0px))!important;
  transform:translateX(-50%) translateY(18px) scale(.92)!important;
  z-index:120!important;
  width:58px!important;
  height:58px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.72)!important;
  background:#79196f!important;
  color:#fff!important;
  box-shadow:0 20px 42px rgba(62,0,55,.30),0 7px 0 rgba(62,0,55,.10)!important;
  display:grid!important;
  place-items:center!important;
  font-size:28px!important;
  font-weight:950!important;
  line-height:1!important;
  cursor:pointer!important;
  opacity:0!important;
  pointer-events:none!important;
  transition:opacity .22s ease, transform .22s ease, box-shadow .22s ease!important;
  will-change:transform,opacity!important;
  isolation:isolate!important;
}
.home-floating-filter-jump::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:-13px!important;
  width:46px!important;
  height:12px!important;
  border-radius:999px!important;
  background:rgba(62,0,55,.28)!important;
  filter:blur(9px)!important;
  transform:translateX(-50%)!important;
  z-index:-1!important;
  opacity:.95!important;
}
.home-floating-filter-jump.is-visible{
  opacity:1!important;
  pointer-events:auto!important;
  transform:translateX(-50%) translateY(0) scale(1)!important;
  animation:jaHomeFloatButtonBob 2.25s ease-in-out infinite!important;
}
.home-floating-filter-jump.is-visible::after{animation:jaHomeFloatShadowPulse 2.25s ease-in-out infinite!important;}
.home-floating-filter-jump:hover,.home-floating-filter-jump:focus-visible{
  transform:translateX(-50%) translateY(-5px) scale(1.04)!important;
  box-shadow:0 26px 54px rgba(62,0,55,.38),0 9px 0 rgba(62,0,55,.12)!important;
}
.home-floating-filter-jump:active{transform:translateX(-50%) translateY(-1px) scale(.98)!important;}
@keyframes jaHomeFloatButtonBob{
  0%,100%{transform:translateX(-50%) translateY(0) scale(1)}
  50%{transform:translateX(-50%) translateY(-7px) scale(1.015)}
}
@keyframes jaHomeFloatShadowPulse{
  0%,100%{opacity:.86;transform:translateX(-50%) scaleX(1)}
  50%{opacity:.56;transform:translateX(-50%) scaleX(.78)}
}
@media(max-width:680px){.home-floating-filter-jump{width:54px!important;height:54px!important;bottom:calc(clamp(70px, 12vh, 112px) + env(safe-area-inset-bottom,0px))!important;font-size:27px!important}.home-floating-filter-jump::after{width:40px!important;bottom:-12px!important;}}
@media(prefers-reduced-motion:reduce){.home-floating-filter-jump.is-visible,.home-floating-filter-jump.is-visible::after{animation:none!important;}}

/* v391: request form language switch lives inside the form header. */
.request-form-titlebar{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;margin-bottom:1rem!important;}
.request-form-titlebar>div:first-child{min-width:0!important;}
.request-language-switch{display:inline-flex!important;align-items:center!important;gap:9px!important;white-space:nowrap!important;border:1px solid #ead7e8!important;border-radius:999px!important;padding:6px 8px!important;background:#fff!important;color:#4b0f45!important;box-shadow:0 10px 24px rgba(62,0,55,.06)!important;}
.request-language-switch button{border:0!important;background:transparent!important;color:#79196f!important;border-radius:999px!important;padding:6px 10px!important;cursor:pointer!important;font:inherit!important;line-height:1.1!important;}
.request-language-switch button.active{background:#79196f!important;color:#fff!important;cursor:default!important;}
.request-language-switch span{color:#a681a3!important;}
.request-access-page[dir="rtl"] .request-form-titlebar{text-align:right!important;}
@media(max-width:680px){.request-form-titlebar{flex-direction:column!important;align-items:stretch!important}.request-language-switch{align-self:flex-start!important}.request-access-page[dir="rtl"] .request-language-switch{align-self:flex-end!important}}

/* v391: explicit text-box mode is visually reliable in preview and public pages. */
.builder-text-surface-boxed{box-shadow:0 10px 28px rgba(62,0,55,.06)!important;}
.builder-text-surface-plain{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;}
.request-access-page .request-whatsapp-toggle{justify-content:flex-start;margin:4px 0 14px!important}
.request-access-page[dir="rtl"] .request-whatsapp-toggle{justify-content:flex-end;text-align:right}
.enrollment-specialties-admin{margin:10px 0 16px!important}
.enrollment-specialties-admin summary{cursor:pointer;display:flex;gap:10px;align-items:center;justify-content:space-between}

/* v392: remove the failed floating arrow and use a synced lower homepage search/filter bar instead. */
.home-floating-filter-jump{display:none!important;}
.home-programs-smart-search-bottom{
  margin:4px auto 0!important;
  box-shadow:0 16px 36px rgba(62,0,55,.07)!important;
}
.home-programs-smart-search-bottom[hidden],
.home-programs-smart-search-bottom.is-hidden{
  display:none!important;
}
#homeProgramCardsResults + .home-programs-smart-search-bottom{
  margin-top:10px!important;
}
@media(max-width:680px){
  .home-programs-smart-search-bottom{margin-top:2px!important;}
}

/* v393 request confirmation modal + persistent homepage lower search */
.request-confirmation-result{display:grid;gap:14px;max-width:620px}
.request-confirmation-result p{margin:0;line-height:1.7;color:#392038}
.request-confirm-contact-block{display:grid;gap:14px;margin-top:4px}
.request-confirm-contact-block h4{margin:4px 0 0;color:#79196f;font-size:16px;font-weight:700}
.request-confirm-whatsapp{justify-content:center;text-align:center}
.request-confirm-contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.request-confirm-contact{display:flex;flex-direction:column;gap:3px;text-decoration:none;border:1px solid #ead7e8;border-radius:14px;padding:12px 14px;background:#fff;color:#2b1529;box-shadow:0 8px 18px rgba(62,0,55,.06);min-width:0}
.request-confirm-contact:hover{border-color:#79196f;transform:translateY(-1px)}
.request-confirm-contact strong{color:#79196f;font-size:13px}
.request-confirm-contact span{font-size:12px;color:#5f4e60;overflow-wrap:anywhere}
.home-programs-smart-search-bottom{margin-top:28px!important}
.home-programs-smart-search-bottom.is-hidden{display:flex!important;visibility:visible!important;opacity:1!important}
@media(max-width:680px){.request-confirm-contact-grid{grid-template-columns:1fr}.request-confirmation-result{max-width:100%}}

/* v398: dashboard polish, safer mobile access, slider readability. */
.mobile-platform-quick{display:none!important;white-space:nowrap!important;align-items:center!important;justify-content:center!important;min-height:38px!important;padding:8px 12px!important;}
@media(max-width:920px){
  .navbar .nav-actions .nav-platform-btn{display:none!important;}
  .mobile-platform-quick{display:inline-flex!important;}
  .navbar .nav-actions{display:flex!important;gap:8px!important;align-items:center!important;}
}
@media(max-width:520px){
  .navbar .nav-actions .btn:not(.mobile-platform-quick){display:none!important;}
  .mobile-platform-quick{font-size:13px!important;padding:8px 11px!important;}
}
.footer-bottom{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;flex-wrap:wrap!important;}
.footer-go-up{border:1px solid rgba(255,255,255,.22)!important;background:rgba(255,255,255,.09)!important;color:inherit!important;border-radius:999px!important;padding:8px 13px!important;cursor:pointer!important;font:inherit!important;}
.footer-go-up:hover{background:rgba(255,255,255,.16)!important;transform:translateY(-1px)!important;}
/* v400: desktop text-slider follows the inspector overlay; mobile text-slider stays lower centered. */
@media(min-width:761px){
  .ja-slider-mode-text .ja-slide{display:block!important;text-align:inherit!important;}
  .ja-slider-mode-text .ja-slider-copy{
    position:absolute!important;
    margin:0!important;
    grid-column:auto!important;
    grid-row:auto!important;
    align-self:auto!important;
    justify-self:auto!important;
  }
  .ja-slider-mode-text .ja-slide.active .ja-slider-copy{animation:none!important;opacity:1!important;}
  .ja-slider-mode-text.ja-slider-overlay-center-left .ja-slider-copy{left:6%!important;right:auto!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;text-align:start!important;}
  .ja-slider-mode-text.ja-slider-overlay-center .ja-slider-copy{left:50%!important;right:auto!important;top:50%!important;bottom:auto!important;transform:translate(-50%,-50%)!important;text-align:center!important;}
  .ja-slider-mode-text.ja-slider-overlay-center-right .ja-slider-copy{left:auto!important;right:6%!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;text-align:end!important;}
  .ja-slider-mode-text.ja-slider-overlay-up-center-left .ja-slider-copy{left:6%!important;right:auto!important;top:38%!important;bottom:auto!important;transform:translateY(-50%)!important;text-align:start!important;}
  .ja-slider-mode-text.ja-slider-overlay-up-center-right .ja-slider-copy{left:auto!important;right:6%!important;top:38%!important;bottom:auto!important;transform:translateY(-50%)!important;text-align:end!important;}
  .ja-slider-mode-text.ja-slider-overlay-bottom-left .ja-slider-copy{left:6%!important;right:auto!important;top:auto!important;bottom:8%!important;transform:none!important;text-align:start!important;}
  .ja-slider-mode-text.ja-slider-overlay-bottom-center .ja-slider-copy{left:50%!important;right:auto!important;top:auto!important;bottom:8%!important;transform:translateX(-50%)!important;text-align:center!important;}
  .ja-slider-mode-text.ja-slider-overlay-bottom-right .ja-slider-copy{left:auto!important;right:6%!important;top:auto!important;bottom:8%!important;transform:none!important;text-align:end!important;}
  .ja-slider-mode-text.ja-slider-overlay-top-left .ja-slider-copy{left:6%!important;right:auto!important;top:8%!important;bottom:auto!important;transform:none!important;text-align:start!important;}
  .ja-slider-mode-text.ja-slider-overlay-top-center .ja-slider-copy{left:50%!important;right:auto!important;top:8%!important;bottom:auto!important;transform:translateX(-50%)!important;text-align:center!important;}
  .ja-slider-mode-text.ja-slider-overlay-top-right .ja-slider-copy{left:auto!important;right:6%!important;top:8%!important;bottom:auto!important;transform:none!important;text-align:end!important;}
}
@media(max-width:760px){
  .ja-slider-mode-text .ja-slider-copy{
    left:50%!important;
    right:auto!important;
    top:auto!important;
    bottom:46px!important;
    transform:translateX(-50%)!important;
    text-align:center!important;
    max-width:calc(100% - 28px)!important;
    width:min(92vw,420px)!important;
    align-items:center!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-copy p{
    font-size:clamp(16px,4.4vw,21px)!important;
    line-height:1.5!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .ja-slider-mode-text .ja-slider-actions{justify-content:center!important;}
}
.studio-panel,.studio-dashboard{min-width:0!important;}
.admin-subtabs,.panel-actions,.actions,.user-access-tools,.user-bulk-bar{flex-wrap:wrap!important;gap:8px!important;}
.table-wrap{overflow-x:auto!important;max-width:100%!important;}
.curriculum-admin-row{grid-template-columns:auto 34px minmax(180px,1fr) minmax(150px,220px) repeat(6,max-content)!important;gap:8px!important;align-items:center!important;overflow-x:auto!important;}
.curriculum-admin-head{grid-template-columns:auto auto 34px minmax(180px,1fr) auto!important;gap:8px!important;align-items:center!important;}
.drag-handle{display:inline-grid!important;place-items:center!important;width:30px!important;height:30px!important;border-radius:10px!important;background:#f7eef6!important;color:#6b1f62!important;font-size:17px!important;font-weight:700!important;letter-spacing:0!important;line-height:1!important;user-select:none!important;}
.lesson-delete-btn.icon-only{width:34px!important;min-width:34px!important;height:34px!important;padding:0!important;display:inline-grid!important;place-items:center!important;font-size:18px!important;line-height:1!important;}
.curriculum-import-content-toggle{margin:0 0 12px!important;}
.enrollment-specialties-panel textarea{min-height:260px!important;}
@media(max-width:900px){
  .curriculum-admin-row{grid-template-columns:auto 32px minmax(180px,1fr)!important;grid-auto-flow:row!important;grid-auto-columns:max-content!important;}
  .curriculum-admin-row>.select,.curriculum-admin-row>.btn{min-width:130px!important;}
}

/* v404: the extra mobile Platform shortcut is for signed-in learners only and sits closer to the right menu. */
@media (max-width: 760px){
  .navbar .container.nav-inner > .mobile-platform-quick{margin-left:auto!important;margin-right:8px!important;}
}

/* v409: desktop keeps the action Platform button; the main menu does not auto-inject Platform. */
.navbar .nav-actions .nav-platform-btn{display:inline-flex!important;}
@media(min-width:761px){
  .navbar .container.nav-inner > .mobile-platform-quick{display:none!important;}
}
@media(max-width:920px){
  .navbar .nav-actions .nav-platform-btn{display:none!important;}
}
@media(max-width:760px){
  .navbar .container.nav-inner > .mobile-platform-quick{display:inline-flex!important;margin-left:auto!important;margin-right:10px!important;}
}


/* v410: Platform belongs to signed-in user actions on desktop, not the main public menu. */
@media (min-width:981px){
  .navbar .nav-actions{display:flex!important;}
  .navbar .nav-actions .nav-platform-btn{display:inline-flex!important;}
  .navbar .container.nav-inner > .mobile-platform-quick{display:none!important;}
}
@media (max-width:980px){
  .navbar .nav-actions .nav-platform-btn{display:none!important;}
}

/* v412: explicit Site Builder seeding + curriculum surgery */
.builder-seed-notice{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 14px;padding:14px 16px;border:1px solid #ead6e8;border-radius:18px;background:linear-gradient(135deg,#fff8fd,#f8eef7);box-shadow:0 10px 24px rgba(42,15,45,.06)}
.builder-seed-notice p{margin:4px 0 8px;color:var(--muted);font-size:13px;line-height:1.45}.builder-seed-tags{display:flex;flex-wrap:wrap;gap:6px}.builder-seed-tags span{font-size:12px;border:1px solid #e9d5e8;border-radius:999px;padding:4px 8px;background:#fff;color:#5b1453}.lesson-title-inline{min-width:180px;width:100%;font-weight:800;color:#3c173c;background:#fff!important}.curriculum-admin-row.compact-lesson-row .lesson-title-inline{height:38px!important}.curriculum-admin-row.compact-lesson-row .lesson-title-inline:focus{outline:2px solid rgba(121,25,111,.22);border-color:var(--purple)}
@media(max-width:760px){.builder-seed-notice{align-items:flex-start;flex-direction:column}.lesson-title-inline{min-width:0}}


/* v414: keep the text-block editor in the inspector, outside the live preview canvas. */
.text-editor-inline-inspector .ja-rich-editor-wrap{max-width:100%;margin-bottom:12px;}
.text-editor-inline-inspector .ja-rich-toolbar{position:sticky;top:0;z-index:2;background:#fff;}
.text-editor-inline-inspector .ja-rich-editor{min-height:180px;max-height:360px;overflow:auto;}
.builder-app-inspector .text-editor-inline-inspector{overflow:visible;}

/* v429: comfortable duplicate-course modal and safety UI */
#modal .modal:has(.duplicate-course-modal){width:min(980px,94vw)!important;max-height:88vh!important;overflow:auto!important;padding:28px!important;}
.duplicate-course-modal{gap:18px!important;}
.duplicate-modal-intro{border:1px solid var(--line);background:#fbf8fb;border-radius:18px;padding:16px 18px;}
.duplicate-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.duplicate-mode-card{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:18px;padding:15px;background:#fff;cursor:pointer;min-height:112px;}
.duplicate-mode-card:has(input:checked){border-color:var(--purple);box-shadow:0 0 0 4px rgba(121,25,111,.08);background:#fff8fd;}
.duplicate-mode-card input{margin-top:4px;}
.duplicate-mode-card strong{display:block;color:var(--purple-dark);margin-bottom:6px;}
.duplicate-mode-card small{display:block;color:var(--muted);line-height:1.45;}
.duplicate-selection-wrap{border:1px solid var(--line);border-radius:20px;padding:16px;background:#fff;max-height:44vh;overflow:auto;}
.duplicate-course-tree{display:grid;gap:12px;}
.duplicate-section-card{border:1px solid var(--line);border-radius:16px;background:#fbf8fb;overflow:hidden;}
.duplicate-section-head{display:flex;gap:12px;align-items:flex-start;padding:13px 14px;border-bottom:1px solid var(--line);cursor:pointer;}
.duplicate-section-head small{display:block;color:var(--muted);font-weight:700;margin-top:3px;}
.duplicate-lessons-list{display:grid;gap:6px;padding:10px 14px 14px;background:#fff;}
.duplicate-lesson-row{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:12px;cursor:pointer;}
.duplicate-lesson-row:hover{background:#fbf0fa;}
.duplicate-review-box{border-radius:16px;background:#f8f0f7;border:1px solid #ead8e8;color:var(--purple-dark);font-weight:800;padding:14px 16px;}
.duplicate-modal-actions{justify-content:flex-end!important;margin-top:4px!important;}
@media(max-width:760px){.duplicate-mode-grid{grid-template-columns:1fr;}#modal .modal:has(.duplicate-course-modal){width:96vw!important;padding:16px!important;}.duplicate-selection-wrap{max-height:50vh;}}

/* v430: professional builder deletion, text-popup workflow, contact modal, and user search polish */
.inspector-topline{display:flex!important;align-items:end!important;gap:10px!important;flex-wrap:wrap!important;}
.inspector-topline .compact-field{min-width:150px!important;flex:1 1 150px!important;}
.inspector-topline .visible-toggle{align-self:center!important;}
.text-editor-inline-inspector .ja-rich-editor-wrap{display:none!important;}
.text-editor-inline-inspector{display:grid!important;gap:12px!important;}
.readonly-box{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 14px;min-height:42px;line-height:1.65;white-space:pre-wrap;}
.contact-message-full{max-height:42vh;overflow:auto;}
.contact-open-link{font-weight:800!important;}
.contact-open-link.unseen{color:var(--purple)!important;}
.contact-message-preview{max-width:420px!important;text-align:start!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:inline-block!important;vertical-align:middle!important;}
#modal .modal:has(.contact-message-modal){width:min(860px,94vw)!important;max-height:88vh!important;overflow:auto!important;}
.user-search-pro-card{border:1px solid var(--line);background:linear-gradient(135deg,#fff,#fff7fd);border-radius:22px;padding:16px;margin:14px 0;box-shadow:0 10px 26px rgba(45,18,45,.05);}
.user-search-pro-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;}
.user-search-pro-head p{margin:4px 0 0;}
.professional-user-filters{display:grid!important;grid-template-columns:minmax(260px,2fr) repeat(4,minmax(150px,1fr));gap:10px!important;align-items:end!important;}
.professional-user-filters .user-search-main{grid-column:span 2;}
.command-center-pro .command-card{min-height:0!important;}
.command-center-pro .command-list div{align-items:center!important;}
@media(max-width:1180px){.professional-user-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}.professional-user-filters .user-search-main{grid-column:span 2;}}
@media(max-width:760px){.professional-user-filters{grid-template-columns:1fr!important}.professional-user-filters .user-search-main{grid-column:auto;}.user-search-pro-head{flex-direction:column;}}

/* v432: minimal text inspector, checkbox duplicate wizard, and explicit wide modal fallback */
.modal-backdrop.modal-wide .modal{width:min(980px,94vw)!important;max-height:88vh!important;overflow:auto!important;}
.text-block-minimal-inspector .text-editor-inline-inspector{margin-top:0!important;}
.text-block-minimal-inspector .entity-position-toolbox,.text-block-minimal-inspector .inspector-topline{display:none!important;}
.text-inspector-safety-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border:1px dashed #ead8e8;border-radius:16px;padding:12px 14px;background:#fff8fd;}
.duplicate-step-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px 18px;}
.duplicate-master-check{display:flex;align-items:flex-start;gap:12px;cursor:pointer;}
.duplicate-master-check input{margin-top:5px;transform:scale(1.05);}
.duplicate-master-check strong{display:block;color:var(--purple-dark);margin-bottom:6px;}
.duplicate-master-check small{display:block;color:var(--muted);line-height:1.5;}
.duplicate-step-card:has(input:checked){border-color:var(--purple);box-shadow:0 0 0 4px rgba(121,25,111,.08);background:#fff8fd;}

/* v434 professional course picker for bulk user actions */
.professional-user-filters{grid-template-columns:minmax(280px,2fr) repeat(4,minmax(150px,1fr)) minmax(280px,2fr) minmax(130px,.8fr) auto!important;}
.bulk-course-picker{position:relative;min-width:0;}
.course-picker-control{display:flex;gap:8px;align-items:center;}
.course-picker-control .input{min-width:0;}
.course-picker-menu{display:none;position:absolute;z-index:80;left:0;right:0;top:calc(100% + 6px);max-height:330px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 45px rgba(45,18,45,.16);padding:8px;}
.bulk-course-picker:focus-within .course-picker-menu{display:block;}
.course-picker-option{width:100%;border:0;background:transparent;text-align:inherit;display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:12px;cursor:pointer;color:var(--text);}
.course-picker-option:hover,.course-picker-option.selected{background:rgba(105,28,97,.08);}
.course-picker-option small{color:var(--muted);font-size:12px;}
.course-picker-empty{padding:12px;color:var(--muted);font-size:13px;}
.course-picker-selected{margin-top:6px;font-size:12px;color:var(--muted);}
@media(max-width:1180px){.professional-user-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}.bulk-course-picker{grid-column:span 2;}}
@media(max-width:760px){.professional-user-filters{grid-template-columns:1fr!important}.bulk-course-picker{grid-column:auto;}.course-picker-menu{position:static;margin-top:6px;}}


/* v436 — professional OTP login, certificate workflows, and floating go-up control */
.ja-scroll-top-fab{position:fixed;right:clamp(16px,2.2vw,28px);bottom:clamp(18px,3vw,32px);width:48px;height:48px;border-radius:999px;border:1px solid rgba(105,28,97,.16);background:linear-gradient(135deg,#691c61,#8d2b83);color:#fff;box-shadow:0 18px 46px rgba(58,15,54,.24);display:grid;place-items:center;font-size:22px;font-weight:800;z-index:950;opacity:0;visibility:hidden;transform:translateY(12px) scale(.94);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;cursor:pointer}.ja-scroll-top-fab.is-visible{opacity:1;visibility:visible;transform:translateY(0) scale(1)}[dir="rtl"] .ja-scroll-top-fab,html[dir="rtl"] .ja-scroll-top-fab,body[dir="rtl"] .ja-scroll-top-fab{right:auto;left:clamp(16px,2.2vw,28px)}.ja-scroll-top-fab:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 22px 56px rgba(58,15,54,.32)}.auth-box-pro{padding-block:42px}.auth-card-pro{max-width:520px;margin-inline:auto;border-radius:24px;box-shadow:0 24px 80px rgba(73,18,68,.12)}.auth-method-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#f8eef7;border:1px solid #ead8e8;border-radius:16px;padding:6px;margin:18px 0}.auth-method-tab{border:0;border-radius:12px;padding:11px 14px;background:transparent;color:#6a5268;font-weight:700;cursor:pointer}.auth-method-tab.active{background:#fff;color:#691c61;box-shadow:0 8px 24px rgba(79,15,72,.10)}.auth-method-panel{display:none}.auth-method-panel.active{display:block}.login-code-input{text-align:center;font-size:28px;letter-spacing:8px;font-weight:800;color:#691c61}.auth-security-note{border-top:1px solid #ead8e8;margin-top:14px;padding-top:14px}.admin-cert-group .table td:last-child{min-width:280px}.certificate-result .grid p{min-width:0}
@media(max-width:760px){.ja-scroll-top-fab{width:44px;height:44px;bottom:18px}.auth-card-pro{border-radius:18px}.admin-cert-group .table td:last-child{min-width:220px}}

/* v438: second /programs search/filter bar after the visible results */
.programs-smart-filter-bottom{
  margin-top:28px!important;
  margin-bottom:0!important;
  box-shadow:0 16px 36px rgba(62,0,55,.07)!important;
}
.program-results-sections + .programs-show-more-wrap + .programs-smart-filter-bottom{
  margin-top:24px!important;
}
@media(max-width:680px){
  .programs-smart-filter-bottom{margin-top:18px!important;}
}

/* v440: modern passwordless-first login and non-overlapping scroll-to-top FAB */
.auth-box-minimal{min-height:calc(100svh - 170px);display:grid;align-items:start;justify-items:center;padding:62px 18px 46px;background:#fafafa;}
.auth-card-minimal{width:min(100%,460px);border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;color:#1f2937;}
.auth-card-minimal h2{margin:0 0 32px;text-align:center;font-size:30px;line-height:1.2;font-weight:700;letter-spacing:-.02em;color:#1f2937;}
.auth-card-minimal .form{gap:16px;}
.auth-card-minimal .field{gap:8px;}
.auth-card-minimal .field label{font-size:14px;font-weight:500;color:#374151;}
.auth-card-minimal .input{height:52px;border:1px solid #9ca3af;border-radius:5px;background:#fff;padding:0 16px;font-size:16px;box-shadow:none;transition:border-color .16s ease,box-shadow .16s ease;background .16s ease;}
.auth-card-minimal .input:focus{border-color:#691c61;box-shadow:0 0 0 4px rgba(105,28,97,.12);outline:0;}
.auth-remember-row{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;color:#4b5563;font-size:15px;line-height:1.3;cursor:pointer;user-select:none;}
.auth-remember-row input{appearance:none;width:20px;height:20px;border-radius:4px;border:1px solid #8f6a89;background:#fff;display:grid;place-items:center;margin:0;}
.auth-remember-row input:checked{background:#691c61;border-color:#691c61;}
.auth-remember-row input:checked::after{content:'✓';color:#fff;font-size:16px;font-weight:900;line-height:1;}
.auth-primary-submit{width:100%;min-height:58px;border-radius:7px!important;font-size:17px;font-weight:800;margin-top:0;box-shadow:none!important;}
.auth-secondary-submit{width:100%;justify-content:center;}
.auth-info-callout{display:grid;grid-template-columns:28px 1fr;gap:12px;margin-top:32px;padding:14px 16px;border:1px solid #e5e7eb;border-radius:4px;background:#f5f5f5;color:#3f3f46;}
.auth-info-callout p{margin:0;font-size:16px;line-height:1.5;}
.auth-info-callout a{color:#1f2937;text-decoration:underline;text-underline-offset:3px;font-weight:600;}
.auth-info-icon{width:22px;height:22px;border-radius:999px;background:#71717a;color:#fff;display:grid;place-items:center;font-weight:900;font-size:15px;margin-top:2px;}
.auth-signup-line{text-align:center;margin:28px 0 0;color:#111827;font-size:15px;}
.auth-signup-line a{color:#691c61;font-weight:700;text-decoration:none;margin-inline-start:8px;}
.auth-signup-line a:hover{text-decoration:underline;text-underline-offset:3px;}
.auth-code-verify-panel{padding-top:4px;}
.auth-verification-head{text-align:center;margin-bottom:4px;}
.auth-verification-head h3{margin:0 0 6px;font-size:22px;color:#1f2937;}
.auth-card-minimal .login-code-input{height:62px;text-align:center;font-size:30px;letter-spacing:10px;font-weight:800;color:#691c61;}
.auth-card-minimal .auth-submit-note{margin:8px 0 0;text-align:center;}
@media(max-width:560px){.auth-box-minimal{padding:42px 18px 34px}.auth-card-minimal h2{font-size:27px;margin-bottom:26px}.auth-info-callout{margin-top:24px}.auth-info-callout p{font-size:15px}.auth-primary-submit{min-height:54px}}

.ja-scroll-top-fab.has-floating-contact{right:32px;bottom:102px;}
html[dir="rtl"] .ja-scroll-top-fab.has-floating-contact,body[dir="rtl"] .ja-scroll-top-fab.has-floating-contact,[dir="rtl"] .ja-scroll-top-fab.has-floating-contact{left:auto!important;right:32px!important;}
.floating-contact.open ~ .ja-scroll-top-fab.has-floating-contact{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px) scale(.94);}
@media(max-width:620px){.ja-scroll-top-fab.has-floating-contact{right:23px!important;bottom:88px!important;width:44px;height:44px}.floating-contact.open ~ .ja-scroll-top-fab.has-floating-contact{opacity:0;visibility:hidden;pointer-events:none}}


/* v441: branded login and loading-screen polish */
.auth-card-minimal h2{margin-bottom:30px;}
.auth-brand-lockup{display:grid;place-items:center;margin:0 auto 18px;width:74px;height:74px;border-radius:22px;background:#fff;border:1px solid rgba(105,28,97,.14);box-shadow:0 18px 46px rgba(73,18,68,.12);overflow:hidden;}
.auth-brand-lockup img{width:100%;height:100%;object-fit:contain;padding:10px;display:block;}
.auth-brand-fallback{background:linear-gradient(135deg,#691c61,#8d2b83);color:#fff;font-weight:900;font-size:22px;letter-spacing:.04em;}
.auth-card-minimal .field + .auth-remember-row{margin-top:6px;}
.auth-remember-row{margin-bottom:22px;}
.auth-card-minimal .auth-primary-submit{margin-top:2px;}
.ja-cloud-loading-mark.has-logo{background:#fff!important;border:1px solid rgba(121,25,111,.16);box-shadow:0 18px 48px rgba(75,7,63,.12);overflow:hidden;}
.ja-cloud-loading-mark.has-logo .ja-cloud-loading-logo{padding:7px;}
@media(max-width:560px){.auth-brand-lockup{width:66px;height:66px;border-radius:20px;margin-bottom:16px}.auth-card-minimal .field + .auth-remember-row{margin-top:8px}.auth-remember-row{margin-bottom:20px}}

/* v442: refined OTP verification screen and email/logo polish */
.auth-code-verify-panel{
  gap:18px!important;
  padding-top:0!important;
}
.auth-verification-head{
  max-width:410px;
  margin:0 auto 2px!important;
}
.auth-step-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:5px 12px;
  border-radius:999px;
  background:#f8eef7;
  border:1px solid #ead8e8;
  color:#691c61;
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  margin-bottom:14px;
}
.auth-verification-head h3{
  font-size:26px!important;
  margin-bottom:10px!important;
  letter-spacing:-.02em;
}
.auth-verification-head p{
  margin:0 auto;
  line-height:1.65;
}
.auth-verification-head [data-code-email-hint]{
  color:#1f2937;
  font-weight:800;
}
.auth-code-expiry{
  margin-top:8px!important;
  color:#6b5568;
  font-size:13px;
}
.otp-code-field{
  align-items:center;
  margin-top:2px;
}
.otp-code-field label{
  width:min(100%,360px);
  margin-inline:auto;
  color:#4b1645!important;
  font-weight:800!important;
  letter-spacing:.01em;
}
.auth-card-minimal .login-code-input{
  width:min(100%,360px);
  max-width:360px;
  margin-inline:auto;
  height:64px!important;
  border-radius:16px!important;
  border-color:#d8bdd4!important;
  background:#fff;
  color:#241522!important;
  font-size:28px!important;
  letter-spacing:.44em!important;
  padding-inline:calc(18px + .44em) 18px!important;
  font-variant-numeric:tabular-nums;
  box-shadow:0 14px 34px rgba(58,15,54,.07)!important;
}
.auth-card-minimal .login-code-input::placeholder{
  color:#b6a2b4;
  letter-spacing:.44em;
}
.auth-card-minimal .login-code-input:focus{
  border-color:#691c61!important;
  box-shadow:0 0 0 4px rgba(105,28,97,.12),0 16px 38px rgba(58,15,54,.10)!important;
}
.auth-code-verify-panel .auth-primary-submit,
.auth-code-verify-panel .auth-secondary-submit{
  width:min(100%,360px)!important;
  margin-inline:auto;
}
.auth-code-verify-panel .auth-secondary-submit{
  min-height:50px;
  border-radius:14px!important;
  background:#fbf1fa!important;
  border-color:#f1ddf0!important;
  color:#8a0f77!important;
  font-weight:800;
}
.auth-code-verify-panel .auth-submit-note{
  width:min(100%,360px);
  margin-inline:auto!important;
  padding:10px 12px;
  border-radius:12px;
  background:#faf7fa;
}
@media(max-width:560px){
  .auth-verification-head h3{font-size:24px!important;}
  .auth-card-minimal .login-code-input{height:60px!important;font-size:24px!important;letter-spacing:.34em!important;padding-inline:calc(16px + .34em) 16px!important;}
  .auth-card-minimal .login-code-input::placeholder{letter-spacing:.34em;}
}

/* v443: professional breathing room between login email input and remember-me row */
.auth-card-minimal .field + .auth-remember-row{
  margin-top:16px!important;
}
.auth-card-minimal .auth-remember-row{
  align-self:flex-start;
}
@media(max-width:560px){
  .auth-card-minimal .field + .auth-remember-row{margin-top:14px!important;}
}


/* v444: premium centered OTP digit boxes + Resend single-provider production path */
.auth-code-verify-panel{
  --otp-control-width:min(100%,392px);
  align-items:center!important;
  gap:18px!important;
}
.auth-code-verify-panel .auth-verification-head,
.auth-code-verify-panel .otp-code-field,
.auth-code-verify-panel .auth-primary-submit,
.auth-code-verify-panel .auth-secondary-submit,
.auth-code-verify-panel .auth-submit-note{
  width:var(--otp-control-width)!important;
  max-width:var(--otp-control-width)!important;
  margin-inline:auto!important;
}
.auth-verification-head{
  text-align:center!important;
}
.auth-verification-head h3{
  margin-top:0!important;
}
.otp-code-field{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:9px!important;
  margin-top:4px!important;
}
.otp-code-field label{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  text-align:left!important;
  font-size:13px!important;
  color:#4b1645!important;
}
[dir="rtl"] .otp-code-field label,
html[dir="rtl"] .otp-code-field label,
body[dir="rtl"] .otp-code-field label{
  text-align:right!important;
}
.otp-digit-grid{
  width:100%;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  padding:8px;
  border:1px solid #dcc3d8;
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#fffafd);
  box-shadow:0 16px 42px rgba(58,15,54,.08);
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.otp-digit-grid:focus-within{
  border-color:#691c61;
  box-shadow:0 0 0 4px rgba(105,28,97,.11),0 18px 46px rgba(58,15,54,.10);
}
.otp-digit-grid.is-complete{
  border-color:#8d2b83;
  background:#fff;
}
.otp-digit-input{
  width:100%;
  height:48px;
  border:1px solid transparent;
  border-radius:12px;
  background:#f9f4f8;
  color:#241522;
  text-align:center;
  font-size:24px;
  font-weight:800;
  font-variant-numeric:tabular-nums;
  outline:0;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.otp-digit-input:focus{
  background:#fff;
  border-color:#b97ab2;
  box-shadow:0 8px 22px rgba(58,15,54,.10);
  transform:translateY(-1px);
}
.otp-digit-input:not(:placeholder-shown){
  background:#fff;
}
.auth-card-minimal .login-code-input[type="hidden"]{
  display:none!important;
}
.auth-code-verify-panel .auth-primary-submit,
.auth-code-verify-panel .auth-secondary-submit{
  width:var(--otp-control-width)!important;
  max-width:var(--otp-control-width)!important;
}
.auth-code-verify-panel .auth-primary-submit{
  margin-top:2px!important;
}
.auth-code-verify-panel .auth-secondary-submit{
  margin-top:-6px!important;
}
@media(max-width:560px){
  .auth-code-verify-panel{--otp-control-width:min(100%,360px);}
  .otp-digit-grid{gap:6px;padding:7px;border-radius:16px;}
  .otp-digit-input{height:44px;border-radius:10px;font-size:21px;}
}
@media(max-width:390px){
  .auth-code-verify-panel{--otp-control-width:100%;}
  .otp-digit-grid{gap:5px;padding:6px;}
  .otp-digit-input{height:42px;font-size:20px;}
}

/* v445: profile-complete account creation + request-access phone-code polish */
.auth-box-register{width:min(760px,calc(100% - 32px));}
.register-profile-form .two-col{align-items:start;}
.country-code-field{min-width:0;}
.country-code-other-input{margin-top:8px;}
.request-access-form .country-code-other-input{margin-top:8px;}
@media(max-width:720px){.auth-box-register{margin-top:105px}.register-profile-form .two-col{grid-template-columns:1fr}}

/* v447 — Professional user access modal + safer profile selects */
#modal .modal:has(.user-access-modal-pro){width:min(1120px,96vw)!important;max-height:90vh!important;overflow:auto!important;padding:26px!important;}
.user-access-modal-pro{gap:18px!important;}
.user-access-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,#fff,#fbf3fb);}
.user-access-hero h3{margin:0 0 6px;color:var(--purple-dark);font-size:24px;line-height:1.2;}
.user-access-hero p{margin:0;color:var(--muted);font-size:13px;line-height:1.5;}
.user-access-count{min-width:112px;border-radius:20px;background:var(--purple);color:#fff;text-align:center;padding:12px 14px;box-shadow:0 16px 28px rgba(105,28,97,.18);}
.user-access-count strong{display:block;font-size:30px;line-height:1;font-weight:950;}
.user-access-count span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.85;}
.user-access-toolbar{display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:2;padding:10px 0;background:#fff;}
.user-access-toolbar .searchbar{margin:0;max-width:none;flex:1;}
.user-access-columns{display:grid;grid-template-columns:minmax(280px,.88fr) minmax(360px,1.12fr);gap:16px;align-items:start;}
.user-access-columns .access-panel:only-child{grid-column:1 / -1;}
.access-panel{border:1px solid var(--line);border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 12px 30px rgba(75,15,69,.05);}
.access-panel-head{padding:16px 18px;border-bottom:1px solid var(--line);background:#fbf8fb;}
.access-panel-head h4{margin:0 0 4px;color:var(--purple-dark);font-size:16px;}
.access-panel-head small{display:block;color:var(--muted);line-height:1.45;}
.user-access-modal-pro .access-course-list{max-height:54vh;overflow:auto;padding:12px;display:grid;gap:8px;}
.user-access-modal-pro .access-course-check{margin:0;border-radius:16px;border:1px solid #eee0ee;background:#fff;transition:background .15s,border-color .15s,transform .15s;}
.user-access-modal-pro .access-course-check:hover{background:#fff9ff;border-color:#d8b9d5;transform:translateY(-1px);}
.user-access-modal-pro .access-course-check strong{font-size:14px;line-height:1.35;}
.user-access-modal-pro .access-course-check small{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.35;}
.user-access-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding-top:14px;}
@media(max-width:860px){.user-access-hero,.user-access-footer{flex-direction:column;align-items:stretch}.user-access-columns{grid-template-columns:1fr}.user-access-toolbar{position:static;flex-direction:column;align-items:stretch}#modal .modal:has(.user-access-modal-pro){width:96vw!important;padding:16px!important}.user-access-modal-pro .access-course-list{max-height:46vh}}

/* v448 — Quick user status + system health */
.user-status-quick{--status-bg:#f2f4f7;--status-fg:#344054;--status-dot:#667085;display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:var(--status-bg);color:var(--status-fg);border:1px solid color-mix(in srgb,var(--status-dot) 18%,transparent);padding:5px 8px;min-width:126px;white-space:nowrap;box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}
.user-status-quick .user-status-dot{width:8px;height:8px;border-radius:999px;background:var(--status-dot);box-shadow:0 0 0 3px color-mix(in srgb,var(--status-dot) 14%,transparent)}
.user-status-quick .user-status-select{border:0;background:transparent;color:inherit;font-weight:900;font-size:12px;line-height:1;outline:0;padding:3px 18px 3px 0;min-height:24px;appearance:auto;cursor:pointer;text-transform:capitalize}
.user-status-quick .user-status-select:disabled{opacity:.55;cursor:wait}
.user-status-quick.user-status-active{--status-bg:#dcfae6;--status-fg:#067647;--status-dot:#12b76a}
.user-status-quick.user-status-pending{--status-bg:#fef0c7;--status-fg:#93370d;--status-dot:#f79009}
.user-status-quick.user-status-suspended{--status-bg:#fee4e2;--status-fg:#b42318;--status-dot:#f04438}
.system-health-workspace{display:grid;gap:18px}.system-health-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;background:linear-gradient(135deg,#fff,#fff7fd);border:1px solid var(--line);border-radius:26px;padding:22px;box-shadow:0 12px 32px rgba(75,15,69,.06)}
.system-health-hero h2{margin:4px 0 8px;color:var(--purple-dark);font-family:Georgia,serif;font-size:clamp(24px,3vw,34px)}.system-health-hero p{margin:0;color:var(--muted);max-width:760px;line-height:1.6}.system-health-score{display:grid;gap:8px;justify-items:end;min-width:160px}.system-health-score small{color:var(--muted);font-size:11px;text-align:right}.system-health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.system-health-card h3{margin:0 0 14px;color:var(--purple-dark)}.health-ratio-line{display:grid;grid-template-columns:minmax(0,1fr) auto 52px;align-items:center;gap:10px;border-top:1px solid var(--line);padding:9px 0}.health-ratio-line:first-of-type{border-top:0}.health-ratio-line span{color:var(--muted);font-weight:750}.health-ratio-line strong{color:var(--ink)}.health-ratio-line em{font-style:normal;color:var(--purple);font-weight:950;text-align:right}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:900px){.system-health-hero{align-items:flex-start;flex-direction:column}.system-health-score{justify-items:start}.system-health-grid{grid-template-columns:1fr}.user-status-quick{min-width:118px}}

/* v449 — Upcoming UI labels, certificate application choices, verification spacing, builder preview fix */
.certificate-form-section-spaced{padding-top:clamp(56px,8vw,104px)!important;}
.certificate-verification-card{max-width:760px;margin:0 auto 26px!important;}
.certificate-verification-card h1{margin:8px 0 10px;color:var(--purple-dark);font-family:Georgia,serif;font-size:clamp(30px,5vw,48px);line-height:1.05;}
.bundle-selected-row-with-rule{grid-template-columns:minmax(0,1fr) auto!important;gap:12px;align-items:center;}
.bundle-selected-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.bundle-required-toggle{display:inline-flex;align-items:center;gap:6px;border:1px solid #ead9e8;border-radius:999px;background:#fff7fd;color:var(--purple-dark);font-size:12px;font-weight:900;padding:6px 9px;line-height:1;white-space:nowrap;}
.bundle-required-toggle input{accent-color:var(--purple);}
.certificate-optional-courses{background:#fffafd!important;border-color:#ead7e8!important;box-shadow:none!important;}
.certificate-optional-courses h3{margin:0 0 6px;color:var(--purple-dark);font-size:17px;}
.certificate-optional-course-grid{display:grid;gap:8px;margin-top:12px;}
.certificate-optional-course-row{display:flex;align-items:flex-start;gap:10px;border:1px solid #ead9e8;border-radius:16px;padding:12px 13px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s,transform .15s;}
.certificate-optional-course-row:hover{border-color:#cfa4cb;background:#fff8ff;transform:translateY(-1px);}
.certificate-optional-course-row input{margin-top:2px;accent-color:var(--purple);}
.certificate-optional-course-row span{font-weight:850;color:var(--ink);line-height:1.35;}
.builder-live-shell [data-open-text-block-editor],
[data-builder-live-canvas] [data-open-text-block-editor]{pointer-events:none!important;}
.builder-live-shell .builder-text-block{cursor:default;}
@media(max-width:640px){.bundle-selected-actions{justify-content:flex-start}.bundle-selected-row-with-rule{grid-template-columns:1fr!important}.certificate-verification-card{border-radius:22px!important}}

/* v450 — compact non-overlapping public search filters + request form polish */
.programs-smart-filter,
.home-programs-smart-search{
  grid-template-columns:max-content minmax(230px,1fr)!important;
  gap:10px 12px!important;
  align-items:center!important;
  max-width:100%!important;
}
.programs-smart-filter .program-search-box,
.home-programs-smart-search .program-search-box{min-width:0!important;}
.programs-smart-filter .program-type-filter,
.home-programs-smart-search .program-type-filter{
  grid-column:1 / -1!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  min-height:0!important;
  padding:5px!important;
  overflow:visible!important;
  border-radius:18px!important;
}
.programs-smart-filter .program-type-pill,
.home-programs-smart-search .program-type-pill{
  flex:0 1 auto!important;
  width:auto!important;
  min-width:68px!important;
  max-width:100%!important;
  min-height:36px!important;
  padding:0 12px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  transform:none!important;
  box-sizing:border-box!important;
}
.programs-smart-filter .program-type-pill.active,
.home-programs-smart-search .program-type-pill.active{
  transform:none!important;
  z-index:1!important;
}
.course-enroll-final-card .course-enroll-final-btn{min-width:120px!important;padding-inline:22px!important;}
.request-access-form input[name="whatsapp_telephone"],
.request-access-form input[name="telephone"]{direction:ltr!important;text-align:left!important;}
@media(max-width:720px){
  .programs-smart-filter,
  .home-programs-smart-search{grid-template-columns:1fr!important;}
  .program-category-menu{justify-content:flex-start!important;}
  .programs-smart-filter .program-type-filter,
  .home-programs-smart-search .program-type-filter{
    justify-content:flex-start!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    scrollbar-width:thin!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .programs-smart-filter .program-type-pill,
  .home-programs-smart-search .program-type-pill{flex:0 0 auto!important;}
}


/* v452 — Global public page clearance below the fixed header
   Site Builder custom HTML/shortcode pages now receive the same safe breathing room
   as smart pages. Pages that already start with a real hero keep the hero spacing. */
:root{--ja-builder-page-top-clearance:clamp(78px,8vw,106px);}
.ja-fixed-header-spacer{
  height:var(--ja-builder-page-top-clearance)!important;
  min-height:var(--ja-builder-page-top-clearance)!important;
  flex-basis:var(--ja-builder-page-top-clearance)!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;
}
main.smart-page-body:not(.home-page-body) > :first-child{
  scroll-margin-top:calc(var(--ja-builder-page-top-clearance) + 20px)!important;
}
.builder-preview-site .ja-fixed-header-spacer{display:none!important;height:0!important;min-height:0!important;}
.builder-preview-site > .navbar.preview-real-navbar + main.smart-page-body:not(.ja-page-starts-with-hero),
.builder-preview-site > .navbar + main.smart-page-body:not(.ja-page-starts-with-hero){
  padding-top:clamp(28px,4vw,48px)!important;
}
@media(max-width:700px){
  :root{--ja-builder-page-top-clearance:clamp(64px,12vw,82px);}
}

/* v459.1 rescue polish: homepage pride, builder media/FAQ images, users/access layout */
.home-pride-signature{padding-top:22px;padding-bottom:28px;background:transparent!important;}
.home-pride-card{display:block;border:0;background:transparent!important;box-shadow:none;padding:0;margin:0 auto;}
.home-pride-copy{display:none!important;}

/* v467.2 certificate-template interface typography only; certificate artwork keeps its field weights. */
.cert-template-modal .modal-head h2,
.cert-template-modal .cert-template-editor-form label,
.cert-template-modal .cert-template-type-summary,
.cert-template-modal .cert-language-font-help,
.cert-template-modal .cert-paper-controls label,
.cert-template-modal .cert-editor-toolbar,
.cert-template-modal .cert-editor-toolbar-group>span,
.cert-template-modal .cert-editor-toolbar-group strong,
.cert-template-modal .cert-editor-font-status,
.cert-template-modal .cert-field-inspector h4,
.cert-template-modal .cert-field-inspector h5,
.cert-template-modal .cert-inspector-grid label,
.cert-template-modal .check-row,
.cert-template-modal .cert-advanced-json summary,
.cert-template-modal .cert-background-upload-status,
.cert-template-modal .cert-background-file-meta,
.cert-template-modal .cert-background-file-meta.warning,
.cert-template-modal .cert-background-error,
.cert-template-modal .cert-font-note,
.cert-template-modal .cert-template-save-status,
.cert-template-modal .cert-editor-footer span,
.cert-template-modal .btn,
.cert-template-modal input,
.cert-template-modal select,
.cert-template-modal textarea{font-weight:400!important}

/* v467.1 compact certificate editor, live typography, and stable interaction */
body.cert-dialog-open{overscroll-behavior:none}
.modal-backdrop.cert-template-modal{padding:1.5dvh 1vw!important;align-items:center!important;justify-content:center!important}.modal-backdrop.cert-record-preview-modal{padding:3dvh 2vw!important;align-items:center!important;justify-content:center!important}
.cert-template-modal .modal{width:min(1720px,98vw)!important;height:97dvh!important;max-height:97dvh!important;padding:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;border-radius:18px!important}.cert-record-preview-modal .modal{width:min(1500px,96vw)!important;height:min(94dvh,980px)!important;max-height:94dvh!important;padding:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;border-radius:24px!important}
.cert-template-modal .modal-head{position:relative!important;z-index:5!important;flex:0 0 auto!important;margin:0!important;padding:9px 16px!important;border-bottom:1px solid #eadfeb!important;background:#fff!important;min-height:54px!important}.cert-record-preview-modal .modal-head{position:relative!important;z-index:5!important;flex:0 0 auto!important;margin:0!important;padding:17px 22px!important;border-bottom:1px solid #eadfeb!important;background:#fff!important}
.cert-template-modal .modal-head h2{font-size:24px!important;line-height:1.15!important}.cert-template-modal .modal-head .close{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;padding:0!important;display:grid!important;place-items:center!important}
.cert-template-modal #modalBody,.cert-record-preview-modal #modalBody{display:flex!important;flex:1 1 auto!important;min-height:0!important;overflow:hidden!important}
.cert-template-editor-form{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;min-width:0!important;min-height:0!important}
.cert-template-editor-body{flex:1 1 auto!important;min-width:0!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain!important;padding:12px 14px 14px!important;background:#fbf9fc!important;scrollbar-gutter:stable}
.cert-template-editor-footer,.cert-preview-footer{position:relative!important;z-index:4!important;flex:0 0 auto!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;flex-wrap:wrap!important;margin:0!important;padding:8px 14px!important;border-top:1px solid #eadfeb!important;background:#fff!important;box-shadow:0 -3px 12px rgba(75,15,69,.035)!important}
.cert-template-editor-footer .actions,.cert-preview-footer .actions{margin:0!important}
.cert-template-editor-footer .btn{min-height:38px!important;padding:8px 14px!important;border-radius:11px!important}.cert-template-save-status{flex:1 1 260px;min-width:0;font-size:12px}
.cert-template-settings{border:1px solid #eadfeb;border-radius:14px;background:#fff;padding:10px 12px;margin-bottom:10px}
.cert-template-settings-grid{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(170px,.8fr) minmax(210px,1fr) minmax(210px,.9fr);gap:8px;align-items:end}
.cert-template-default{min-height:38px;align-items:center;margin:0}
.cert-template-type-summary{margin-top:8px;padding:7px 10px;border-radius:9px;background:#f8eef7;color:#4b0f45;font-size:12px;font-weight:750;line-height:1.4}
.cert-language-font-help{margin:7px 0 0!important;line-height:1.4!important}
.cert-background-upload{display:grid;gap:7px;border:1px solid #eadfeb;border-radius:14px;background:#fff;padding:10px 12px;margin-bottom:10px}
.cert-background-upload-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.cert-background-upload-actions [aria-disabled="true"]{opacity:.55;pointer-events:none}
.cert-background-upload-status{position:relative;display:grid;gap:6px;padding:7px 10px;border-radius:9px;background:#f7f3f8;color:#4b0f45;overflow:hidden}
.cert-background-upload-status i{display:none;height:3px;border-radius:99px;background:linear-gradient(90deg,transparent,#79196f,transparent);background-size:45% 100%;animation:cert-upload-indeterminate 1.15s linear infinite}
.cert-background-upload-status.is-uploading i{display:block}
@keyframes cert-upload-indeterminate{from{background-position:-80% 0}to{background-position:180% 0}}
.cert-background-file-meta{font-size:12px;color:#475467;overflow-wrap:anywhere}.cert-background-file-meta.warning{color:#93410d;font-weight:800}
.cert-background-error{border:1px solid #f8b4b4;border-radius:12px;background:#fff1f1;color:#991b1b;padding:10px 12px;line-height:1.5;overflow-wrap:anywhere}
.cert-background-recommendation{margin:0!important;line-height:1.35!important}.cert-paper-controls{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:8px;margin:0 0 9px}.cert-paper-controls label{display:grid;gap:4px;font-size:11px;font-weight:850;color:#4b0f45;min-width:0}
.cert-visual-editor{padding:0!important;overflow:visible!important;background:transparent!important;border:0!important;margin:0!important;min-width:0!important}
.cert-editor-toolbar{position:sticky!important;top:-12px!important;z-index:3!important;display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important;margin:0 0 8px!important;padding:6px 8px!important;border:1px solid #eadfeb!important;border-radius:10px!important;background:rgba(255,255,255,.97)!important;box-shadow:0 4px 12px rgba(75,15,69,.04)!important}
.cert-editor-toolbar .btn{min-height:36px!important;padding:7px 10px!important;border-radius:10px!important}.cert-editor-toolbar-group{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding-inline-end:6px;border-inline-end:1px solid #eadfeb}.cert-editor-toolbar-group:last-of-type{border-inline-end:0}.cert-editor-toolbar-group>span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#667085;font-weight:900}.cert-editor-toolbar-group strong{min-width:38px;text-align:center;color:#4b0f45;font-size:11px}.cert-editor-font-status{margin-inline-start:auto;font-size:10px;font-weight:800;color:#067647}.cert-editor-font-status.error{color:#991b1b}
.cert-editor-workspace{display:grid!important;grid-template-columns:minmax(0,3fr) minmax(340px,2fr)!important;gap:11px!important;align-items:stretch!important;min-width:0!important}
.cert-editor-canvas-shell{min-width:0!important;height:clamp(390px,59dvh,680px)!important;max-height:none!important;overflow:auto!important;overscroll-behavior:contain!important;border-radius:12px!important;background:#f1ebf2!important;padding:10px!important;border:1px solid rgba(105,28,97,.14)!important;scrollbar-gutter:stable both-edges}
.cert-editor-stage-frame{position:relative;margin:auto;flex:0 0 auto}.cert-editor-stage{position:relative!important;max-width:none!important;aspect-ratio:auto!important;margin:0!important;transform-origin:top left!important;background-size:100% 100%!important;background-position:0 0!important}
.cert-field-inspector{min-width:0!important;width:100%!important;height:clamp(390px,59dvh,680px)!important;max-height:none!important;overflow:auto!important;overscroll-behavior:contain!important;padding:9px 10px!important;background:#fcf8fc!important;border-radius:12px!important;scrollbar-gutter:stable}
.cert-field-inspector h4{margin:0 0 7px;color:#4b0f45}.cert-field-inspector-section{display:grid;gap:7px;padding:8px 0;border-top:1px solid #eadfeb}.cert-field-inspector-section:first-of-type{border-top:0;padding-top:0}.cert-field-inspector-section h5{margin:0;color:#4b0f45;font-size:11px;text-transform:uppercase;letter-spacing:.05em}
.cert-inspector-grid{display:grid;gap:6px;min-width:0}.cert-inspector-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.cert-inspector-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.cert-inspector-grid.geometry{grid-template-columns:repeat(3,minmax(0,1fr))}.cert-inspector-grid.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.cert-inspector-grid label,.cert-field-inspector-section>label{display:grid;gap:4px;min-width:0;font-size:10px;font-weight:800;color:#4b0f45}.cert-inspector-grid .input,.cert-inspector-grid .select{min-width:0!important;height:38px!important;min-height:38px!important;padding:7px 9px!important;border-radius:10px!important;font-size:12px!important;text-overflow:ellipsis}
.cert-font-note{margin:0;padding:8px 9px;border-radius:10px;background:#fff5df;color:#7a4c00;font-size:11px;line-height:1.45}.cert-inspector-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cert-inspector-actions .btn{min-width:0!important;padding-inline:8px!important}
.cert-advanced-json{margin-top:9px!important;border:1px solid #eadfeb;border-radius:11px;background:#fff;padding:9px}.cert-advanced-json .code-area.xl{min-height:140px!important;height:200px!important;max-height:280px!important;resize:vertical!important}.cert-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap;margin:9px 0 0;padding:8px 0 0;border-top:1px solid #eadfeb}
.cert-final-preview-overlay{position:fixed;inset:0;z-index:260;display:grid;place-items:center;padding:3dvh 2vw;background:rgba(26,4,24,.72)}
.cert-final-preview-dialog{width:min(1500px,96vw);height:min(94dvh,1000px);max-height:94dvh;display:flex;flex-direction:column;overflow:hidden;border-radius:24px;background:#fff;box-shadow:0 40px 90px rgba(0,0,0,.35);outline:0}
.cert-final-preview-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px;border-bottom:1px solid #eadfeb;background:#fff}.cert-final-preview-header h2{margin:0;color:#4b0f45;font-family:Georgia,serif}
.cert-final-preview-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 14px;border-bottom:1px solid #eadfeb;background:#fff}
.cert-preview-stage{flex:1 1 auto;min-width:0;min-height:260px;overflow:auto;overscroll-behavior:contain;display:flex;align-items:flex-start;justify-content:flex-start;padding:14px;background:#ece9ee;scrollbar-gutter:stable both-edges}
.cert-preview-zoom-surface{position:relative;flex:0 0 auto;margin:auto}.cert-preview-zoom-surface .certificate-v2-canvas-host{display:block!important;width:100%!important;height:100%!important}.cert-preview-zoom-surface .certificate-v2-canvas-host canvas{width:calc(var(--cert-preview-natural-width,1) * var(--cert-preview-zoom,1) * 1px)!important;height:calc(var(--cert-preview-natural-height,1) * var(--cert-preview-zoom,1) * 1px)!important;max-width:none!important}.cert-preview-zoom-surface .certificate-background-stage{width:calc(var(--cert-preview-natural-width,1) * var(--cert-preview-zoom,1) * 1px)!important;height:calc(var(--cert-preview-natural-height,1) * var(--cert-preview-zoom,1) * 1px)!important;max-width:none!important;aspect-ratio:auto!important}
.cert-preview-footer{justify-content:flex-end!important}.cert-preview-footer .cert-background-error{margin-inline-end:auto;max-width:560px}.cert-preview-footer .btn{margin:0!important}
.cert-record-preview-shell{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;min-height:0}.cert-record-preview-modal .cert-preview-stage{height:auto!important}.cert-record-preview-modal .certificate-preview-wrap{border:0!important;padding:0!important;background:transparent!important;overflow:visible!important}
.cert-template-modal :focus-visible,.cert-record-preview-modal :focus-visible,.cert-final-preview-overlay :focus-visible{outline:3px solid #9b3e91!important;outline-offset:3px!important}
@media(max-width:1100px){.cert-template-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cert-editor-workspace{grid-template-columns:1fr!important}.cert-editor-canvas-shell{height:clamp(340px,50dvh,560px)!important}.cert-field-inspector{height:auto!important;max-height:58dvh!important}.cert-paper-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:768px){.modal-backdrop.cert-template-modal,.modal-backdrop.cert-record-preview-modal,.cert-final-preview-overlay{padding:1.5dvh 2vw!important}.cert-template-modal .modal{width:96vw!important;height:97dvh!important;max-height:97dvh!important;border-radius:16px!important}.cert-record-preview-modal .modal,.cert-final-preview-dialog{width:96vw!important;height:94dvh!important;max-height:94dvh!important;border-radius:18px!important}.cert-template-modal .modal-head,.cert-record-preview-modal .modal-head{padding:9px 12px!important}.cert-template-editor-body{padding:10px!important}.cert-template-editor-footer,.cert-preview-footer{padding:8px 10px!important}.cert-template-settings-grid,.cert-paper-controls{grid-template-columns:1fr!important}.cert-editor-toolbar{top:-10px!important}.cert-editor-toolbar-group{border:0!important;padding:0!important}.cert-editor-canvas-shell{height:48dvh!important;min-height:300px!important;padding:8px!important}.cert-field-inspector{max-height:62dvh!important}.cert-inspector-grid.geometry,.cert-inspector-grid.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.cert-preview-stage{padding:9px}.cert-preview-footer{justify-content:stretch!important}.cert-preview-footer .btn,.cert-preview-footer a{flex:1 1 145px}}
@media(max-width:480px){.cert-template-editor-footer{align-items:stretch!important}.cert-template-editor-footer .actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}.cert-template-editor-footer .btn{width:100%!important}.cert-editor-toolbar-group{width:100%}.cert-editor-toolbar-group>span{min-width:52px}.cert-inspector-grid.two,.cert-inspector-grid.three,.cert-inspector-grid.geometry,.cert-inspector-grid.metrics{grid-template-columns:1fr!important}.cert-inspector-actions{grid-template-columns:1fr!important}.cert-final-preview-header{padding:12px}.cert-final-preview-toolbar{padding:8px}.cert-preview-footer{display:grid!important;grid-template-columns:1fr!important}.cert-preview-footer .btn,.cert-preview-footer a{width:100%!important}.cert-record-preview-modal .modal-head h2,.cert-template-modal .modal-head h2{font-size:20px!important}}
/* v466.11 certificate visual compositor */
.resize-handle.n{left:50%;top:-6px;transform:translateX(-50%);cursor:ns-resize}.resize-handle.e{right:-6px;top:50%;transform:translateY(-50%);cursor:ew-resize}.resize-handle.s{left:50%;bottom:-6px;transform:translateX(-50%);cursor:ns-resize}.resize-handle.w{left:-6px;top:50%;transform:translateY(-50%);cursor:ew-resize}
.certificate-v2-canvas-host{display:grid;gap:12px;justify-items:center;width:100%}.certificate-v2-canvas-host canvas{display:block;width:100%;height:auto;max-width:100%;background:#fff;box-shadow:0 14px 36px rgba(42,15,45,.14)}.certificate-v2-canvas-host canvas[hidden]{display:none}.certificate-v2-status{padding:16px;border-radius:12px;background:#f8eef7;color:#4b0f45;font-weight:700}.certificate-v2-status.error{background:#fee2e2;color:#991b1b}.certificate-canvas-actions{justify-content:center}.cert-advanced-json summary{cursor:pointer;font-weight:800;color:#4b0f45}.cert-editor-stage{background-size:100% 100%;background-color:#fff}.cert-editor-field-value{pointer-events:none;white-space:pre;display:flex!important;flex-direction:column!important;align-items:stretch!important;width:100%;height:100%;overflow:hidden}.cert-editor-field-value>span{display:block;width:100%;min-width:0}.cert-visual-editor:not(.fonts-ready) .cert-editor-field-value{visibility:hidden}.cert-editor-field.is-preview-hidden .cert-editor-field-value{visibility:hidden!important}.cert-editor-field.has-preview-overflow{border-color:#b42318!important}.cert-editor-field:focus{outline:2px solid #9b3e91;outline-offset:2px}.cert-template-editor-form{max-width:none}.cert-template-editor-form [data-cert-v2-area]{min-width:0}
.home-pride-stats{display:grid;grid-template-columns:repeat(4,minmax(132px,1fr));gap:16px;align-items:stretch;justify-content:center;margin:0 auto;max-width:1040px;}
.home-pride-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:128px;border-radius:22px;background:transparent;border:1px solid rgba(105,28,97,.16);text-align:center;padding:16px 14px;box-shadow:none;backdrop-filter:none;}
.home-pride-stat img{width:38px;height:38px;object-fit:contain;}
.home-pride-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(105,28,97,.08);color:#691c61;font-size:18px;}
.home-pride-stat strong{font-size:1.68rem;color:#691c61;line-height:1;}
.home-pride-stat span:last-child{font-size:.92rem;color:#4f5b6d;line-height:1.45;}
.builder-media-block .media-player-frame{margin-top:12px;box-shadow:0 16px 42px rgba(16,24,40,.12);}
.media-playlist-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.media-playlist-buttons .active{background:#691c61;color:#fff;border-color:#691c61;}
.builder-faq-images .section-head{margin-bottom:16px;}
.faq-images-answer{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:18px;align-items:start;padding:14px 0;}
.faq-images-figure{margin:0;border-radius:18px;overflow:hidden;background:#f7f2f6;border:1px solid rgba(105,28,97,.12);}
.faq-images-figure img{display:block;width:100%;height:auto;object-fit:cover;}
.course-reader-loading .empty{max-width:760px;margin-inline:auto;text-align:center;padding:36px;}
.admin-users-page .users-access-filters,.users-access-filters,.user-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end;width:100%;}
.admin-users-page .bulk-actions,.users-bulk-actions,.bulk-actions-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid #ead7e8;}
.admin-users-page table,.users-access-table{width:100%;border-collapse:separate;border-spacing:0 8px;}
.admin-users-page th,.admin-users-page td,.users-access-table th,.users-access-table td{padding:12px 14px;vertical-align:middle;}
.admin-users-page tbody tr,.users-access-table tbody tr{background:#fff;box-shadow:0 6px 20px rgba(16,24,40,.05);}
@media (max-width:820px){.home-pride-stats{grid-template-columns:repeat(2,minmax(120px,1fr))}.faq-images-answer{grid-template-columns:1fr}}


/* v459.2.2 — homepage/show-more polish and normal HTML block sizing. */
.platform-show-more-wrap{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;text-align:center;margin:22px auto 34px;width:100%;}
.platform-show-more-wrap .platform-show-more-count{display:inline-flex;align-items:center;justify-content:center;margin:0;}
.platform-show-more-wrap .btn{margin:0;}
.builder-html-output{width:100%;max-width:100%;overflow:visible!important;}
.builder-html-output iframe:not(.protected-embed iframe),.lesson-builder-html iframe,.custom-html-page iframe{max-width:100%;max-height:none!important;}
.ja-html-block-shell{overflow:visible!important;}
.ja-html-block-frame[data-auto-resize-html-block]{height:auto;max-height:none!important;overflow:hidden!important;}

/* v459.2.3 — homepage v473 fallback + HTML block autosize hard stop. */
.home-v473-fallback{padding-bottom:36px;}
.home-d1-loading-shell .card{max-width:760px;margin-inline:auto;text-align:center;}
.builder-html-output,
.ja-html-block-shell,
.lesson-builder-html,
.course-reader-page:not(.builder-course-preview) .lesson-builder-html,
.course-reader-page:not(.builder-course-preview) .lesson-builder-content{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.builder-html-output:not(.scrollable-html-block),
.ja-html-block-shell:not(.scrollable-html-block),
.lesson-builder-html:not(.scrollable-html-block),
.builder-html-output:not(.scrollable-html-block) > *,
.lesson-builder-html:not(.scrollable-html-block) > *{
  overflow:visible!important;
  max-height:none!important;
}
.ja-html-block-frame[data-auto-resize-html-block],
.lesson-builder-html iframe.ja-html-block-frame[data-auto-resize-html-block]{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-height:420px!important;
  height:var(--ja-html-frame-height, 900px)!important;
  max-height:none!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:18px!important;
  background:#fff!important;
}
.ja-html-block-frame.ja-direct-external-frame,
.lesson-builder-html iframe.ja-direct-external-frame{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-height:520px!important;
  height:var(--ja-html-direct-height, 900px)!important;
  max-height:none!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:18px!important;
  background:#fff!important;
}
.ja-direct-external-frame-actions{display:flex;justify-content:center;padding:12px 14px;border-top:1px solid #ead8e8;background:#fff;}
@media(max-width:760px){
  .ja-html-block-frame[data-auto-resize-html-block],
  .lesson-builder-html iframe.ja-html-block-frame[data-auto-resize-html-block],
  .ja-html-block-frame.ja-direct-external-frame,
  .lesson-builder-html iframe.ja-direct-external-frame{min-height:420px!important;height:var(--ja-html-direct-height, 760px)!important;border-radius:14px!important;}
}

/* v461.8 scoped FAQ, filter and preview polish */
.faq-block-modern{background:transparent!important;}
.faq-block-modern .builder-accordion-list{background:transparent;display:grid;gap:12px;}
.faq-block-modern .builder-accordion-item{background:transparent;border:1px solid rgba(105,28,97,.16);border-radius:18px;box-shadow:none;overflow:visible;}
.faq-block-modern .builder-accordion-item[open]{background:rgba(255,255,255,.42);}
.faq-block-modern .builder-accordion-item summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;}
.faq-block-modern .builder-accordion-item summary::-webkit-details-marker{display:none;}
.faq-block-modern .builder-accordion-item summary:after{content:'+';font-weight:800;color:#691c61;}
.faq-block-modern .builder-accordion-item[open] summary:after{content:'–';}
.faq-block-modern .builder-accordion-answer-text{padding:0 18px 18px;max-height:none!important;overflow:visible!important;background:transparent;}
.faq-block-modern[dir='rtl'] .builder-accordion-answer-text,.faq-block-modern .builder-accordion-list[dir='rtl'] .builder-accordion-answer-text{text-align:right;direction:rtl;}
.builder-faq-search{margin:0 0 12px;}
.builder-faq-search .input{width:100%;max-width:560px;border-radius:999px;margin-inline:auto;display:block;}
.public-block .builder-text-block,.builder-preview-block .builder-text-block,.text-block-default-transparent{background:transparent;}
.builder-preview-context-note{margin:12px auto;padding:10px 14px;border-radius:14px;background:rgba(105,28,97,.08);color:#4b1646;max-width:min(960px,calc(100% - 32px));font-size:13px;}
.builder-preview-context-note.error{background:rgba(190,40,40,.08);color:#7b1e1e;}
.programs-smart-filter,.program-browse-controls,.home-program-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;}
.programs-smart-filter .input,.program-browse-controls .input,.home-program-controls .input{min-width:min(100%,320px);}
.program-filter-pills,.program-type-filters,.program-category-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;}
[dir='rtl'] .programs-smart-filter,[dir='rtl'] .program-browse-controls,[dir='rtl'] .home-program-controls{direction:rtl;}
@media (max-width:700px){.programs-smart-filter,.program-browse-controls,.home-program-controls{align-items:stretch}.programs-smart-filter .input,.program-browse-controls .input,.home-program-controls .input,.programs-smart-filter .select,.program-browse-controls .select,.home-program-controls .select{width:100%;min-width:0}.faq-block-modern .builder-accordion-item summary{padding:14px}}

/* v461.8 Pride final: transparent stat strip only, scoped to public home Pride. */
.home-pride-signature,
.home-pride-signature.public-block{
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  padding:18px 0 26px!important;
}
.home-pride-signature::before,
.home-pride-signature::after{display:none!important;content:none!important;}
.home-pride-signature .container{background:transparent!important;box-shadow:none!important;}
.home-pride-card{display:contents!important;background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;}
.home-pride-copy{display:none!important;}
.home-pride-stats{width:100%;max-width:1040px;margin:0 auto!important;display:grid!important;grid-template-columns:repeat(4,minmax(140px,1fr));gap:16px;align-items:stretch;justify-content:center;}
.home-pride-stat{background:transparent!important;background-image:none!important;border:1px solid rgba(105,28,97,.16)!important;box-shadow:none!important;border-radius:22px;min-height:126px;padding:16px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;}
.home-pride-stat strong{color:#691c61!important;}
.home-pride-stat img,.home-pride-icon{margin-bottom:2px;}
.builder-current-page-card{margin:10px 0 12px;padding:10px;border:1px solid rgba(105,28,97,.14);border-radius:16px;background:rgba(105,28,97,.035)}
.builder-current-page-card .builder-page-item.current{width:100%;text-align:left}
.builder-current-page-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.builder-platform-preview .learn-owned-list{margin-top:12px}
@media (max-width:820px){.home-pride-stats{grid-template-columns:repeat(2,minmax(128px,1fr));}.home-pride-stat{min-height:118px}}
@media (max-width:460px){.home-pride-stats{grid-template-columns:1fr;}}

/* v461.8 — final transparent Pride cards and normal lesson HTML block sizing. */
.home-pride-signature,
.home-pride-signature.public-block,
.home-pride-signature .container,
.home-pride-card{
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  border:0!important;
}
.home-pride-copy{display:none!important;}
.home-pride-stat{
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  border:1px solid rgba(105,28,97,.16)!important;
}
.builder-html-output,
.lesson-builder-html,
.course-reader-page:not(.builder-course-preview) .lesson-builder-html,
.course-reader-page:not(.builder-course-preview) .lesson-builder-content,
.ja-html-block-shell{
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
.course-reader-page:not(.builder-course-preview) .lesson-builder-html,
.course-reader-page:not(.builder-course-preview) .lesson-builder-content{
  margin-inline:auto!important;
}
.builder-html-output:not(.scrollable-html-block),
.lesson-builder-html:not(.scrollable-html-block),
.ja-html-block-shell:not(.scrollable-html-block){
  overflow:visible!important;
  max-height:none!important;
}
.ja-html-block-frame[data-auto-resize-html-block],
.lesson-builder-html iframe.ja-html-block-frame[data-auto-resize-html-block]{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-height:0!important;
  height:var(--ja-html-frame-height, auto)!important;
  max-height:none!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.ja-html-block-frame.ja-direct-external-frame,
.lesson-builder-html iframe.ja-direct-external-frame{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-height:420px!important;
  height:var(--ja-html-direct-height, 760px)!important;
  max-height:none!important;
  overflow:hidden!important;
}
.builder-html-output img,
.lesson-builder-html img,
.builder-html-output table,
.lesson-builder-html table{
  max-width:100%!important;
}
.builder-html-output table,
.lesson-builder-html table{
  overflow-x:auto;
}

/* v461.9 — FAQ accordion reference polish, one-row search controls, and Site Builder search scope. */
.faq-block-modern,
.faq-block-modern .container,
.faq-block-modern .builder-accordion-list,
.faq-block-modern .builder-faq-sections{background:transparent!important;}
.faq-block-modern .builder-faq-sections{display:grid;gap:14px;margin-inline:auto;}
.faq-block-modern .builder-faq-section{border:1px solid rgba(105,28,97,.18);border-radius:22px;background:transparent;overflow:clip;scroll-margin-top:calc(var(--ja-builder-page-top-clearance,92px) + 20px);}
.faq-block-modern .builder-faq-section-trigger{width:100%;border:0;background:#691c61;color:#fff;border-radius:20px;padding:17px 20px;font-weight:950;font-size:clamp(16px,2vw,20px);display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;text-align:inherit;}
.faq-block-modern .builder-faq-section-trigger::after{content:'+';font-size:24px;line-height:1;font-weight:900;}
.faq-block-modern .builder-faq-section.is-open .builder-faq-section-trigger::after{content:'–';}
.faq-block-modern .builder-faq-section-panel{padding:14px 0 2px;background:transparent;}
.faq-block-modern .builder-faq-inner-list{padding:0 10px 12px;display:grid;gap:10px;}
.faq-block-modern .builder-accordion-item.builder-faq-question{background:transparent!important;border:1px solid rgba(105,28,97,.14)!important;border-radius:18px;box-shadow:none!important;overflow:visible;scroll-margin-top:calc(var(--ja-builder-page-top-clearance,92px) + 18px);}
.faq-block-modern .builder-faq-question-trigger{width:100%;border:0;background:transparent;color:#4b0f45;border-radius:18px;padding:15px 17px;font-weight:900;display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;text-align:inherit;}
.faq-block-modern .builder-faq-question-trigger::after{content:'+';color:#691c61;font-weight:950;font-size:20px;line-height:1;}
.faq-block-modern .builder-faq-question.is-open .builder-faq-question-trigger::after{content:'–';}
.faq-block-modern .builder-faq-question-panel{padding:0 18px 18px!important;max-height:none!important;height:auto!important;overflow:visible!important;background:transparent!important;color:#4f5b6d;line-height:1.75;}
.faq-block-modern .builder-accordion-answer-inner{background:transparent!important;max-height:none!important;overflow:visible!important;}
.faq-block-modern.faq-block-simple .builder-accordion-list{gap:10px;}
.faq-block-modern.faq-block-simple .builder-faq-question{background:transparent!important;}
[dir='rtl'] .faq-block-modern .builder-faq-section-trigger,
[dir='rtl'] .faq-block-modern .builder-faq-question-trigger{direction:rtl;text-align:right;}

.program-search-top-row{display:grid!important;grid-template-columns:max-content minmax(280px,1fr)!important;align-items:end!important;gap:12px!important;width:100%;}
.program-search-top-row .program-category-menu{grid-column:1!important;min-width:210px;}
.program-search-top-row .program-search-box{grid-column:2!important;min-width:0;width:100%;}
.program-search-top-row .program-search-input-shell{display:flex;align-items:center;gap:8px;width:100%;}
.program-search-top-row .program-search-input-shell input{flex:1 1 auto;min-width:0;width:100%;}
.program-search-submit{border:0;background:#691c61;color:#fff;border-radius:999px;padding:10px 15px;font-weight:900;cursor:pointer;}
.program-search-top-row .program-type-filter{grid-column:1 / -1!important;}
.program-filter-only{display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:center!important;gap:10px!important;margin-top:18px!important;}
.program-filter-only .program-search-box,.program-filter-only [data-home-program-search],.program-filter-only [data-program-search]{display:none!important;}
.program-filter-only .program-type-filter{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:6px!important;grid-column:auto!important;}
@media(max-width:760px){.program-search-top-row{grid-template-columns:1fr!important}.program-search-top-row .program-category-menu,.program-search-top-row .program-search-box,.program-search-top-row .program-type-filter{grid-column:1!important;width:100%;}.program-search-submit{padding-inline:12px}.program-filter-only{justify-content:flex-start!important}.program-filter-only .program-type-filter{justify-content:flex-start!important;overflow-x:auto;flex-wrap:nowrap!important;max-width:100%;}}

.builder-page-search{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr);gap:8px;align-items:center;margin:12px 0;}
.builder-page-search-scope{min-width:0;width:100%;}
.builder-page-search input{min-width:0;width:100%;}
@media(max-width:700px){.builder-page-search{grid-template-columns:1fr;}}

/* v461.9 Pride guard: transparent cards stay transparent after FAQ/search polish. */
.home-pride-signature,
.home-pride-signature.public-block,
.home-pride-signature .container,
.home-pride-card{background:transparent!important;background-image:none!important;box-shadow:none!important;border:0!important;}
.home-pride-copy{display:none!important;}
.home-pride-stat{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;border:1px solid rgba(105,28,97,.16)!important;}

/* v462.0 — FAQ reference polish, picker menus, and lesson route safety UI. */
.faq-block-modern.jp-faq,
.faq-block-modern.jp-faq .jp-faq-wrap,
.faq-block-modern.jp-faq .builder-faq-sections,
.faq-block-modern.jp-faq .builder-accordion-list{
  background:transparent!important;
  box-shadow:none!important;
}
.faq-block-modern.jp-faq{padding:34px 0!important;color:#111;}
.faq-block-modern.jp-faq .builder-faq-sections.jp-faq-list{display:grid;gap:16px;width:min(1040px,100%);margin-inline:auto;}
.faq-block-modern.jp-faq .builder-faq-section.jp-faq-section{border:0!important;border-radius:24px;background:transparent!important;overflow:visible!important;box-shadow:none!important;scroll-margin-top:calc(var(--ja-builder-page-top-clearance,92px) + 22px);}
.faq-block-modern.jp-faq .builder-faq-section-trigger.jp-faq-section-trigger{width:100%;background:#691c61!important;color:#fff!important;border:0!important;border-radius:24px!important;padding:19px 22px!important;display:flex!important;align-items:center!important;gap:14px!important;text-align:inherit!important;box-shadow:none!important;}
.faq-block-modern.jp-faq .builder-faq-section.is-open>.builder-faq-section-trigger{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important;}
.faq-block-modern.jp-faq .jp-faq-section-title{flex:1;color:#fff!important;font-size:clamp(18px,2.2vw,23px)!important;line-height:1.45!important;font-weight:700!important;}
.faq-block-modern.jp-faq .jp-faq-section-count{flex:0 0 auto;color:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:5px 11px;font-size:13px;line-height:1.4;}
.faq-block-modern.jp-faq .builder-faq-section-panel.jp-faq-section-panel{padding:14px 0 0!important;background:transparent!important;}
.faq-block-modern.jp-faq .builder-faq-inner-list{padding:0 0 2px!important;display:grid;gap:14px;}
.faq-block-modern.jp-faq .builder-accordion-item.builder-faq-question.jp-faq-question{border:1.2px solid rgba(105,28,97,.22)!important;border-radius:22px!important;background:transparent!important;overflow:visible!important;box-shadow:none!important;margin:0!important;scroll-margin-top:calc(var(--ja-builder-page-top-clearance,92px) + 22px);}
.faq-block-modern.jp-faq .builder-faq-question-trigger.jp-faq-question-trigger{width:100%;border:0!important;background:transparent!important;color:#971483!important;border-radius:22px!important;padding:16px 22px!important;display:flex!important;align-items:center!important;gap:14px!important;text-align:inherit!important;box-shadow:none!important;}
.faq-block-modern.jp-faq .builder-faq-question-trigger:hover,
.faq-block-modern.jp-faq .builder-faq-question.is-open>.builder-faq-question-trigger{background:rgba(105,28,97,.045)!important;}
.faq-block-modern.jp-faq .jp-faq-question-title{flex:1;color:#971483!important;font-size:clamp(16px,1.8vw,18px)!important;line-height:1.7!important;font-weight:600!important;}
.faq-block-modern.jp-faq .jp-faq-icon{position:relative;flex:0 0 18px;width:18px;height:18px;color:currentColor;}
.faq-block-modern.jp-faq .jp-faq-icon:before,
.faq-block-modern.jp-faq .jp-faq-icon:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:currentColor;border-radius:2px;transition:opacity .18s ease;}
.faq-block-modern.jp-faq .jp-faq-icon:before{width:12px;height:2px;}
.faq-block-modern.jp-faq .jp-faq-icon:after{width:2px;height:12px;}
.faq-block-modern.jp-faq .builder-faq-section.is-open>.builder-faq-section-trigger .jp-faq-icon:after,
.faq-block-modern.jp-faq .builder-faq-question.is-open>.builder-faq-question-trigger .jp-faq-icon:after{opacity:0;}
.faq-block-modern.jp-faq .builder-faq-question-panel.jp-faq-answer{padding:0 22px 18px!important;color:#111!important;font-size:16px!important;line-height:2!important;background:transparent!important;max-height:none!important;height:auto!important;overflow:visible!important;}
.faq-block-modern.jp-faq .builder-accordion-answer-inner{background:transparent!important;max-height:none!important;height:auto!important;overflow:visible!important;}
.faq-block-modern.jp-faq.faq-block-simple .builder-accordion-list{width:min(1040px,100%);margin-inline:auto;gap:14px;}
.faq-block-modern.jp-faq.faq-block-simple .builder-faq-question{border-radius:22px!important;}
[dir='rtl'] .faq-block-modern.jp-faq .builder-faq-section-trigger,
[dir='rtl'] .faq-block-modern.jp-faq .builder-faq-question-trigger{direction:rtl;text-align:right;}
[dir='ltr'] .faq-block-modern.jp-faq .builder-faq-section-trigger,
[dir='ltr'] .faq-block-modern.jp-faq .builder-faq-question-trigger{direction:ltr;text-align:left;}
@media(max-width:680px){.faq-block-modern.jp-faq{padding:28px 0!important}.faq-block-modern.jp-faq .builder-faq-section-trigger.jp-faq-section-trigger{padding:16px 15px!important;border-radius:20px!important;align-items:flex-start!important}.faq-block-modern.jp-faq .jp-faq-section-count{display:none}.faq-block-modern.jp-faq .builder-faq-question-trigger.jp-faq-question-trigger{padding:14px 15px!important;align-items:flex-start!important}.faq-block-modern.jp-faq .builder-faq-question-panel.jp-faq-answer{padding:0 15px 15px!important;font-size:15px!important;line-height:1.95!important}}

.ja-searchable-picker{position:relative;min-width:0;}
.ja-searchable-picker-menu,
.builder-page-search-menu{position:absolute;z-index:60;inset-inline:0;top:calc(100% + 6px);max-height:360px;overflow:auto;background:#fff;border:1px solid rgba(105,28,97,.18);border-radius:16px;box-shadow:0 18px 44px rgba(45,18,50,.14);padding:6px;}
.ja-searchable-picker-option{width:100%;border:0;background:transparent;border-radius:12px;padding:10px 12px;display:grid;gap:2px;text-align:start;cursor:pointer;color:#2d1832;}
.ja-searchable-picker-option:hover,.ja-searchable-picker-option.active{background:rgba(105,28,97,.08);}
.ja-searchable-picker-option span{font-weight:800;line-height:1.35;}
.ja-searchable-picker-option small{color:#667085;line-height:1.35;}
.ja-searchable-picker-option b{color:#691c61;font-weight:900;}
.builder-page-search{position:relative;}
.builder-page-search-input-wrap{position:relative;min-width:0;}
.builder-page-search-menu[hidden],.ja-searchable-picker-menu[hidden]{display:none!important;}

/* v462.0 Pride transparent guard after FAQ/search picker polish. */
.home-pride-signature,
.home-pride-signature.public-block,
.home-pride-signature .container,
.home-pride-card{
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  border:0!important;
}
.home-pride-copy{display:none!important;}
.home-pride-stat{
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  border:1px solid rgba(105,28,97,.16)!important;
}

/* v462.1 — final homepage/programs search row, flexible lesson HTML blocks, FAQ reference polish. */
.program-search-top-row{
  display:grid!important;
  grid-template-columns:max-content minmax(280px,1fr) max-content!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
}
.program-search-top-row .program-category-menu{grid-column:1!important;align-self:center!important;min-width:180px!important;max-width:240px!important;}
.program-search-top-row .program-search-box{grid-column:2!important;align-self:center!important;min-width:0!important;width:100%!important;}
.program-search-top-row .program-type-filter{grid-column:3!important;align-self:center!important;display:flex!important;flex-wrap:nowrap!important;justify-content:flex-end!important;gap:6px!important;min-width:max-content!important;}
.program-search-top-row .program-search-input-shell{display:flex!important;align-items:center!important;gap:0!important;width:100%!important;min-width:0!important;}
.program-search-top-row .program-search-input-shell input{flex:1 1 auto!important;min-width:0!important;width:100%!important;border-start-end-radius:0!important;border-end-end-radius:0!important;}
.program-search-top-row .program-search-icon{display:none!important;}
.program-search-submit{
  flex:0 0 56px!important;
  width:56px!important;
  min-width:56px!important;
  height:56px!important;
  padding:0!important;
  border:0!important;
  border-radius:0 18px 18px 0!important;
  display:inline-grid!important;
  place-items:center!important;
  background:#691c61!important;
  color:#fff!important;
  font-size:24px!important;
  font-weight:900!important;
  line-height:1!important;
  cursor:pointer!important;
}
[dir='rtl'] .program-search-submit{border-radius:18px 0 0 18px!important;}
.program-search-submit span{display:block!important;line-height:1!important;}
.program-filter-only .program-search-box,
.program-filter-only .program-search-input-shell,
.program-filter-only [data-home-program-search],
.program-filter-only [data-program-search],
.program-filter-only .program-search-submit{display:none!important;}
.program-filter-only{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;gap:10px!important;}
.program-filter-only .program-category-menu{min-width:180px!important;max-width:260px!important;}
.program-filter-only .program-type-filter{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:6px!important;grid-column:auto!important;}
@media(max-width:1100px){
  .program-search-top-row{grid-template-columns:1fr!important;align-items:stretch!important;}
  .program-search-top-row .program-category-menu,
  .program-search-top-row .program-search-box,
  .program-search-top-row .program-type-filter{grid-column:1!important;width:100%!important;max-width:none!important;}
  .program-search-top-row .program-type-filter{justify-content:center!important;flex-wrap:wrap!important;min-width:0!important;}
}

.builder-html-output,
.lesson-builder-html,
.lesson-builder-content,
.course-reader-page:not(.builder-course-preview) .lesson-builder-html,
.course-reader-page:not(.builder-course-preview) .lesson-builder-content,
.ja-html-block-shell{
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.builder-html-output:not(.scrollable-html-block),
.lesson-builder-html:not(.scrollable-html-block),
.lesson-builder-content:not(.scrollable-html-block),
.ja-html-block-shell:not(.scrollable-html-block){
  overflow:visible!important;
  max-height:none!important;
}
.builder-html-output iframe:not(.protected-embed iframe),
.custom-html-page iframe:not(.protected-embed iframe),
.lesson-builder-html iframe:not(.protected-embed iframe),
.ja-html-block-frame[data-auto-resize-html-block],
.lesson-builder-html iframe.ja-html-block-frame[data-auto-resize-html-block]{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-height:0!important;
  height:var(--ja-html-frame-height, auto)!important;
  max-height:none!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.ja-html-block-frame.ja-direct-external-frame,
.lesson-builder-html iframe.ja-direct-external-frame{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-height:0!important;
  height:var(--ja-html-direct-height, auto)!important;
  max-height:none!important;
  overflow:hidden!important;
  border:0!important;
  background:transparent!important;
}
.protected-embed iframe{aspect-ratio:16/9!important;min-height:auto!important;height:auto!important;}
.builder-html-output img,
.lesson-builder-html img,
.builder-html-output table,
.lesson-builder-html table{max-width:100%!important;}
.builder-html-output table,
.lesson-builder-html table{display:block;overflow-x:auto;}

.faq-block-modern.jp-faq{background:transparent!important;padding:34px 0!important;}
.faq-block-modern.jp-faq .jp-faq-wrap{width:min(1040px,100%)!important;margin:0 auto!important;background:transparent!important;}
.faq-block-modern.jp-faq .builder-faq-sections.jp-faq-list{display:grid!important;gap:16px!important;}
.faq-block-modern.jp-faq .builder-faq-section.jp-faq-section{border:0!important;border-radius:24px!important;background:transparent!important;overflow:visible!important;box-shadow:none!important;}
.faq-block-modern.jp-faq .builder-faq-section-trigger.jp-faq-section-trigger{background:#691c61!important;color:#fff!important;border-radius:24px!important;padding:19px 22px!important;box-shadow:none!important;}
.faq-block-modern.jp-faq .builder-faq-section.is-open>.builder-faq-section-trigger{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important;}
.faq-block-modern.jp-faq .builder-faq-section-panel.jp-faq-section-panel{background:transparent!important;padding:14px 0 0!important;}
.faq-block-modern.jp-faq .builder-faq-inner-list{display:grid!important;gap:14px!important;padding:0 0 2px!important;background:transparent!important;}
.faq-block-modern.jp-faq .builder-accordion-item.builder-faq-question.jp-faq-question{border:1.2px solid #dca9d6!important;border-radius:22px!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;margin:0!important;}
.faq-block-modern.jp-faq .builder-faq-question-trigger.jp-faq-question-trigger{background:transparent!important;color:#971483!important;border-radius:22px!important;padding:16px 22px!important;}
.faq-block-modern.jp-faq .builder-faq-question-trigger:hover,
.faq-block-modern.jp-faq .builder-faq-question.is-open>.builder-faq-question-trigger{background:rgba(105,28,97,.045)!important;}
.faq-block-modern.jp-faq .builder-faq-question-panel.jp-faq-answer{background:transparent!important;max-height:none!important;height:auto!important;overflow:visible!important;padding:0 22px 18px!important;color:#111!important;line-height:2!important;}
.faq-block-modern.jp-faq .builder-accordion-answer-inner{background:transparent!important;max-height:none!important;height:auto!important;overflow:visible!important;}

/* v462.1 Pride transparent guard after search/html/FAQ final polish. */
.home-pride-signature,
.home-pride-signature.public-block,
.home-pride-signature .container,
.home-pride-card{background:transparent!important;background-image:none!important;box-shadow:none!important;border:0!important;}
.home-pride-copy{display:none!important;}
.home-pride-stat{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;border:1px solid rgba(105,28,97,.16)!important;}

/* v462.2 access-hydration-reader-final preserve transparent Pride strip */
.home-pride-signature{background:transparent!important;background-image:none!important;box-shadow:none!important;}
.home-pride-card{background:transparent!important;background-image:none!important;box-shadow:none!important;border:0!important;}
.home-pride-copy{display:none!important;}
.home-pride-stat{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;border:1px solid rgba(105,28,97,.16)!important;}

/* v462.3 — FAQ donor visual hardening: keep reference-style clean/white cards, no raw flat transparent override. */
.faq-block-modern.jp-faq{background:transparent!important;padding:40px 16px!important;color:#111!important;}
.faq-block-modern.jp-faq .jp-faq-wrap{width:min(1040px,100%)!important;margin:0 auto!important;background:transparent!important;}
.faq-block-modern.jp-faq .builder-faq-sections.jp-faq-list{display:grid!important;gap:16px!important;width:min(1040px,100%)!important;margin:0 auto!important;}
.faq-block-modern.jp-faq .builder-faq-section.jp-faq-section{border-radius:24px!important;background:#fff!important;overflow:hidden!important;box-shadow:none!important;border:0!important;scroll-margin-top:calc(var(--ja-builder-page-top-clearance,92px) + 22px)!important;}
.faq-block-modern.jp-faq .builder-faq-section-trigger.jp-faq-section-trigger{width:100%!important;border:0!important;cursor:pointer!important;text-align:inherit!important;display:flex!important;align-items:center!important;gap:14px!important;background:#691c61!important;color:#fff!important;border-radius:24px!important;padding:19px 22px!important;box-shadow:none!important;}
.faq-block-modern.jp-faq .builder-faq-section.is-open>.builder-faq-section-trigger{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important;background:#691c61!important;}
.faq-block-modern.jp-faq .jp-faq-section-title{flex:1!important;color:#fff!important;font-size:clamp(18px,2.2vw,23px)!important;line-height:1.45!important;font-weight:700!important;}
.faq-block-modern.jp-faq .jp-faq-section-count{flex:0 0 auto!important;color:rgba(255,255,255,.92)!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:999px!important;padding:5px 11px!important;font-size:13px!important;line-height:1.4!important;}
.faq-block-modern.jp-faq .builder-faq-section-panel.jp-faq-section-panel{padding:14px 0 0!important;background:#fff!important;}
.faq-block-modern.jp-faq .builder-faq-inner-list{display:grid!important;gap:14px!important;padding:0 0 2px!important;background:#fff!important;}
.faq-block-modern.jp-faq .builder-accordion-item.builder-faq-question.jp-faq-question{border:1.2px solid #dca9d6!important;border-radius:22px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 7px 18px rgba(105,28,97,.055)!important;margin:0 0 14px!important;scroll-margin-top:calc(var(--ja-builder-page-top-clearance,92px) + 22px)!important;}
.faq-block-modern.jp-faq .builder-accordion-item.builder-faq-question.jp-faq-question.is-open{border-color:#c875be!important;box-shadow:0 10px 24px rgba(105,28,97,.09)!important;}
.faq-block-modern.jp-faq .builder-faq-question-trigger.jp-faq-question-trigger{width:100%!important;border:0!important;background:transparent!important;color:#971483!important;border-radius:0!important;padding:16px 22px!important;display:flex!important;align-items:center!important;gap:14px!important;text-align:inherit!important;box-shadow:none!important;cursor:pointer!important;}
.faq-block-modern.jp-faq .builder-faq-question-trigger:hover,
.faq-block-modern.jp-faq .builder-faq-question.is-open>.builder-faq-question-trigger{background:#fff7fe!important;}
.faq-block-modern.jp-faq .jp-faq-question-title{flex:1!important;color:#971483!important;font-size:clamp(16px,1.8vw,18px)!important;line-height:1.7!important;font-weight:700!important;}
.faq-block-modern.jp-faq .builder-faq-question.is-open .jp-faq-question-title,
.faq-block-modern.jp-faq .builder-faq-question.is-open .jp-faq-icon{color:#8f0f7c!important;}
.faq-block-modern.jp-faq .builder-faq-question-panel.jp-faq-answer{padding:0 22px 18px!important;color:#111!important;font-size:16px!important;line-height:2!important;background:#fff!important;max-height:none!important;height:auto!important;overflow:visible!important;}
.faq-block-modern.jp-faq .builder-accordion-answer-inner{background:#fff!important;max-height:none!important;height:auto!important;overflow:visible!important;}
.faq-block-modern.jp-faq.faq-block-simple .builder-accordion-list{width:min(1040px,100%)!important;margin:0 auto!important;gap:14px!important;background:transparent!important;}
.faq-block-modern.jp-faq.faq-block-simple .builder-faq-question{border-radius:22px!important;background:#fff!important;}
[dir='rtl'] .faq-block-modern.jp-faq .builder-faq-section-trigger,
[dir='rtl'] .faq-block-modern.jp-faq .builder-faq-question-trigger{direction:rtl!important;text-align:right!important;}
[dir='ltr'] .faq-block-modern.jp-faq .builder-faq-section-trigger,
[dir='ltr'] .faq-block-modern.jp-faq .builder-faq-question-trigger{direction:ltr!important;text-align:left!important;}
@media(max-width:680px){.faq-block-modern.jp-faq{padding:30px 12px!important}.faq-block-modern.jp-faq .builder-faq-section,.faq-block-modern.jp-faq .builder-faq-section-trigger{border-radius:20px!important}.faq-block-modern.jp-faq .builder-faq-section.is-open>.builder-faq-section-trigger{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.faq-block-modern.jp-faq .builder-faq-section-trigger.jp-faq-section-trigger{padding:16px 15px!important;align-items:flex-start!important}.faq-block-modern.jp-faq .jp-faq-section-count{display:none!important}.faq-block-modern.jp-faq .builder-faq-question{border-radius:18px!important;margin-bottom:12px!important}.faq-block-modern.jp-faq .builder-faq-question-trigger.jp-faq-question-trigger{padding:14px 15px!important;align-items:flex-start!important}.faq-block-modern.jp-faq .builder-faq-question-panel.jp-faq-answer{padding:0 15px 15px!important;font-size:15px!important;line-height:1.95!important}}

/* v462.3 Pride transparent guard after FAQ donor styling. */
.home-pride-signature{background:transparent!important;background-image:none!important;box-shadow:none!important;}
.home-pride-card{background:transparent!important;background-image:none!important;box-shadow:none!important;border:0!important;}
.home-pride-copy{display:none!important;}
.home-pride-stat{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;border:1px solid rgba(105,28,97,.16)!important;}

/* v462.4-faq-db-grammar-donor-match-final: final Pride transparency guard */
.home-pride-card{background:transparent!important;background-image:none!important;box-shadow:none!important;border:0!important;}
.home-pride-copy{display:none!important;}
.home-pride-stat{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;border:1px solid rgba(105,28,97,.16)!important;}

/* v462.4 — FAQ donor visual hardening */

/* v462.4 final Pride transparency after FAQ donor marker */
.home-pride-card{background:transparent!important;background-image:none!important;box-shadow:none!important;border:0!important;}
.home-pride-copy{display:none!important;}
.home-pride-stat{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;border:1px solid rgba(105,28,97,.16)!important;}

/* v462.6-lesson-html-natural-flow-final: keep only JP FAQ icon, remove legacy duplicate pseudo pluses. */
.faq-block-modern.jp-faq .builder-faq-section-trigger::after,
.faq-block-modern.jp-faq .builder-faq-question-trigger::after,
.faq-block-modern.jp-faq .builder-accordion-item summary::after,
.faq-block-modern.jp-faq .builder-accordion-item[open] summary::after,
.faq-block-modern.jp-faq .builder-accordion-item .builder-faq-section-trigger::after,
.faq-block-modern.jp-faq .builder-accordion-item .builder-faq-question-trigger::after{
  content:none!important;
  display:none!important;
}
.faq-block-modern.jp-faq .jp-faq-icon{display:inline-block!important;}
.faq-block-modern.jp-faq .builder-faq-section-panel.jp-faq-section-panel,
.faq-block-modern.jp-faq .builder-faq-inner-list,
.faq-block-modern.jp-faq .builder-faq-question-panel.jp-faq-answer,
.faq-block-modern.jp-faq .builder-accordion-answer-inner{
  max-height:none!important;
  height:auto!important;
  overflow:visible!important;
}

/* v462.6 final Pride transparency guard after FAQ icon cleanup. */
.home-pride-signature{background:transparent!important;background-image:none!important;box-shadow:none!important;}
.home-pride-card{background:transparent!important;background-image:none!important;box-shadow:none!important;border:0!important;}
.home-pride-copy{display:none!important;}
.home-pride-stat{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;border:1px solid rgba(105,28,97,.16)!important;}

/* v462.6 FAQ donor visual hardening: single JP icon, donor cards, no duplicate old plus pseudo-elements. */

/* v462.6 FAQ donor visual hardening and Pride transparency guard. */
.home-pride-stat{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;border:1px solid rgba(105,28,97,.16)!important;}

/* v462.6 FAQ donor visual hardening and Pride transparent wrapper/card guard. */
.home-pride-card{background:transparent!important;background-image:none!important;box-shadow:none!important;border:0!important;}
.home-pride-stat{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;border:1px solid rgba(105,28,97,.16)!important;}

/* v462.6 FAQ donor visual hardening and complete Pride transparent guard. */
.home-pride-card{background:transparent!important;background-image:none!important;box-shadow:none!important;border:0!important;}
.home-pride-copy{display:none!important;}
.home-pride-stat{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;border:1px solid rgba(105,28,97,.16)!important;}

/* lesson HTML natural flow: custom HTML lessons should blend into the reader and use page scroll. */
.course-reader-page:not(.builder-course-preview) .course-content-card.lesson-builder-html,
.course-reader-page:not(.builder-course-preview) .builder-html-output.ja-html-block-shell,
.course-reader-page:not(.builder-course-preview) .ja-direct-external-frame-shell,
.course-reader-page:not(.builder-course-preview) .lesson-builder-html.lesson-html-flow,
.course-reader-page:not(.builder-course-preview) .lesson-html-flow .builder-html-output,
.course-reader-page:not(.builder-course-preview) .lesson-html-flow .ja-html-inline-output{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:0!important;
  overflow:visible!important;
  max-height:none!important;
  min-height:0!important;
  height:auto!important;
}
.course-reader-page:not(.builder-course-preview) .lesson-builder-html,
.course-reader-page:not(.builder-course-preview) .lesson-builder-content,
.course-reader-page:not(.builder-course-preview) .lesson-html-flow,
.course-reader-page:not(.builder-course-preview) .builder-html-output,
.course-reader-page:not(.builder-course-preview) .ja-html-inline-output{
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
  max-height:none!important;
  min-height:0!important;
}
.course-reader-page:not(.builder-course-preview) .lesson-html-flow iframe.ja-html-block-frame,
.course-reader-page:not(.builder-course-preview) .lesson-builder-html iframe.ja-html-block-frame[data-auto-resize-html-block],
.course-reader-page:not(.builder-course-preview) .builder-html-output.ja-html-block-shell iframe.ja-html-block-frame[data-auto-resize-html-block]{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-height:0!important;
  height:var(--ja-html-frame-height, 1px)!important;
  max-height:none!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:hidden!important;
}
.course-reader-page:not(.builder-course-preview) .lesson-builder-html iframe:not(.protected-embed iframe):not(.document-frame):not(.pdf-frame),
.course-reader-page:not(.builder-course-preview) .builder-html-output iframe:not(.protected-embed iframe):not(.document-frame):not(.pdf-frame){
  max-height:none!important;
  overflow:hidden!important;
}
.course-reader-page:not(.builder-course-preview) .lesson-builder-html img,
.course-reader-page:not(.builder-course-preview) .builder-html-output img,
.course-reader-page:not(.builder-course-preview) .lesson-builder-html table,
.course-reader-page:not(.builder-course-preview) .builder-html-output table{
  max-width:100%!important;
}
.course-reader-page:not(.builder-course-preview) .lesson-builder-html table,
.course-reader-page:not(.builder-course-preview) .builder-html-output table{
  display:block;
  overflow-x:auto;
}
.course-reader-page:not(.builder-course-preview) .ja-direct-external-frame-actions{
  background:transparent!important;
  border-top:0!important;
}

/* v462.9 — lesson quiz/exam iframe flow: external quiz frames should read as page content, not short card placeholders. */
.course-reader-page:not(.builder-course-preview) .lesson-external-iframe-flow,
.course-reader-page:not(.builder-course-preview) .lesson-interactive-html-flow,
.course-reader-page:not(.builder-course-preview) .builder-html-output.ja-html-block-shell.lesson-external-iframe-flow,
.course-reader-page:not(.builder-course-preview) .builder-html-output.ja-html-block-shell.lesson-interactive-html-flow,
.course-reader-page:not(.builder-course-preview) .lesson-external-iframe-flow.ja-direct-external-frame-shell{
  width:100%!important;
  max-width:100%!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:0!important;
  overflow:visible!important;
  max-height:none!important;
  min-height:0!important;
  height:auto!important;
}
.course-reader-page:not(.builder-course-preview) .lesson-external-iframe-flow iframe.ja-lesson-external-frame,
.course-reader-page:not(.builder-course-preview) .lesson-builder-html iframe.ja-lesson-external-frame,
.course-reader-page:not(.builder-course-preview) .builder-html-output iframe.ja-lesson-external-frame{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:var(--ja-lesson-external-iframe-height, 2800px)!important;
  min-height:min(2400px, var(--ja-lesson-external-iframe-height, 2800px))!important;
  max-height:none!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:hidden!important;
}
.course-reader-page:not(.builder-course-preview) .lesson-interactive-html-flow iframe.ja-html-block-frame[data-auto-resize-html-block]{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:var(--ja-html-frame-height, 1px)!important;
  min-height:0!important;
  max-height:none!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:hidden!important;
}
.course-reader-page:not(.builder-course-preview) .lesson-external-iframe-flow .ja-direct-external-frame-actions{
  display:flex!important;
  justify-content:flex-end!important;
  padding:8px 0 0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.course-reader-page:not(.builder-course-preview) .lesson-external-iframe-flow .ja-direct-external-frame-actions .btn{
  font-size:12px!important;
  padding:6px 10px!important;
  opacity:.72;
}
.course-reader-page:not(.builder-course-preview) .lesson-external-iframe-flow .ja-direct-external-frame-copy{
  padding:0 0 10px!important;
  background:transparent!important;
  border:0!important;
}
@media(max-width:760px){
  .course-reader-page:not(.builder-course-preview) .lesson-external-iframe-flow iframe.ja-lesson-external-frame,
  .course-reader-page:not(.builder-course-preview) .lesson-builder-html iframe.ja-lesson-external-frame,
  .course-reader-page:not(.builder-course-preview) .builder-html-output iframe.ja-lesson-external-frame{
    height:var(--ja-lesson-external-iframe-height, 2800px)!important;
    min-height:min(2200px, var(--ja-lesson-external-iframe-height, 2800px))!important;
    max-height:none!important;
  }
}

/* v462.9 Pride transparency guard remains active after iframe polish. */
.home-pride-card{background:transparent!important;background-image:none!important;box-shadow:none!important;border:0!important;}
.home-pride-copy{display:none!important;}
.home-pride-stat{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;border:1px solid rgba(105,28,97,.16)!important;}
/* v462.9 FAQ donor visual hardening marker retained for release smoke. */
/* v462.9 FAQ donor visual hardening and Pride transparency guard. */
.home-pride-card{background:transparent!important;background-image:none!important;box-shadow:none!important;border:0!important;}
.home-pride-copy{display:none!important;}
.home-pride-stat{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;border:1px solid rgba(105,28,97,.16)!important;}
/* v462.9-platform-state-sitebuilder-pages-final FAQ donor visual hardening and Pride transparency guard. */
.home-pride-card{background:transparent!important;background-image:none!important;box-shadow:none!important;border:0!important;}
.home-pride-copy{display:none!important;}
.home-pride-stat{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;border:1px solid rgba(105,28,97,.16)!important;}

/* v462.9 — search/Faq/html/PDF flow polish final overrides. */
.program-search-top-row .program-search-input-shell{
  height:54px!important;
  min-height:54px!important;
  padding:0 0 0 14px!important;
  overflow:hidden!important;
  gap:0!important;
  border-radius:18px!important;
}
.program-search-top-row .program-search-input-shell input{
  height:100%!important;
  min-height:0!important;
  padding-block:0!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.program-search-top-row .program-search-input-shell .program-search-icon{display:none!important;}
.program-search-top-row .program-search-submit{
  flex:0 0 54px!important;
  width:54px!important;
  min-width:54px!important;
  height:100%!important;
  min-height:54px!important;
  align-self:stretch!important;
  margin:0!important;
  border:0!important;
  border-radius:0 18px 18px 0!important;
  display:inline-grid!important;
  place-items:center!important;
  background:#691c61!important;
  color:#fff!important;
  padding:0!important;
}
[dir='rtl'] .program-search-top-row .program-search-input-shell{padding:0 14px 0 0!important;}
[dir='rtl'] .program-search-top-row .program-search-submit{border-radius:18px 0 0 18px!important;}
@media(min-width:1101px){
  .program-search-top-row{grid-template-columns:max-content minmax(260px,1fr) max-content!important;align-items:center!important;}
  .program-search-top-row .program-type-filter{grid-column:3!important;align-self:center!important;}
}

.course-reader-page:not(.builder-course-preview) .lesson-external-iframe-flow iframe.ja-lesson-external-frame,
.course-reader-page:not(.builder-course-preview) .lesson-builder-html iframe.ja-lesson-external-frame,
.course-reader-page:not(.builder-course-preview) .builder-html-output iframe.ja-lesson-external-frame{
  height:var(--ja-lesson-external-iframe-height, 900px)!important;
  min-height:900px!important;
  max-height:none!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
}
.course-reader-page:not(.builder-course-preview) .lesson-external-iframe-flow,
.course-reader-page:not(.builder-course-preview) .lesson-external-iframe-flow.ja-direct-external-frame-shell{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:0!important;
  overflow:visible!important;
  max-height:none!important;
}
.course-reader-page:not(.builder-course-preview) .lesson-html-flow:not(.lesson-external-iframe-flow),
.course-reader-page:not(.builder-course-preview) .lesson-html-flow:not(.lesson-external-iframe-flow) .builder-html-output{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}
@media(max-width:760px){
  .course-reader-page:not(.builder-course-preview) .lesson-external-iframe-flow iframe.ja-lesson-external-frame,
  .course-reader-page:not(.builder-course-preview) .lesson-builder-html iframe.ja-lesson-external-frame,
  .course-reader-page:not(.builder-course-preview) .builder-html-output iframe.ja-lesson-external-frame{
    height:var(--ja-lesson-external-iframe-height, 900px)!important;
    min-height:900px!important;
    max-height:none!important;
  }
}
/* v462.9 Pride transparency guard remains active after search/iframe polish. */
.home-pride-card{background:transparent!important;background-image:none!important;box-shadow:none!important;border:0!important;}
.home-pride-copy{display:none!important;}
.home-pride-stat{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;border:1px solid rgba(105,28,97,.16)!important;}

/* v462.9 Site Builder Pages: simple paginated list, no popover/nested traps */
.builder-app-pages{overflow:visible!important;max-height:none!important;}
.builder-page-list-shell{display:grid!important;gap:12px!important;min-width:0!important;}
.builder-page-search.simple-page-search{display:block!important;position:relative!important;margin:0 0 10px!important;}
.builder-page-search.simple-page-search .input{width:100%!important;min-height:44px!important;}
.builder-page-search-menu,.builder-page-search .ja-searchable-picker-menu{display:none!important;}
.builder-page-list{display:grid!important;gap:10px!important;overflow-y:auto!important;overflow-x:visible!important;max-height:calc(100vh - 260px)!important;padding:2px 4px 78px 2px!important;}
.builder-page-tree{max-height:none!important;overflow:visible!important;}
.builder-page-list-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px 10px!important;align-items:center!important;border:1px solid #e8dbea!important;background:#fff!important;border-radius:16px!important;padding:10px!important;box-shadow:none!important;}
.builder-page-list-row.active{border-color:#691c61!important;box-shadow:0 0 0 3px rgba(105,28,97,.10)!important;}
.builder-page-list-main{min-width:0!important;text-align:left!important;background:transparent!important;border:0!important;color:#231327!important;padding:0!important;display:grid!important;gap:3px!important;cursor:pointer!important;}
.builder-page-list-main strong{font-size:14px!important;line-height:1.25!important;white-space:normal!important;overflow-wrap:anywhere!important;}
.builder-page-list-main small{font-size:12px!important;color:#6f6470!important;white-space:normal!important;overflow-wrap:anywhere!important;}
.builder-page-list-meta{display:flex!important;gap:6px!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:wrap!important;}
.builder-page-list-actions{grid-column:1 / -1!important;display:flex!important;gap:6px!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:wrap!important;overflow:visible!important;}
.builder-page-list-actions .btn{white-space:nowrap!important;}
.builder-page-list-more{padding:8px 0 0!important;}
@media(max-width:1200px){.builder-page-list{max-height:none!important;}.builder-page-list-row{grid-template-columns:1fr!important;}.builder-page-list-meta{justify-content:flex-start!important;}}
/* v462.9 Pride transparency guard remains active after platform state polish. */
.home-pride-signature{background:transparent!important;}
.home-pride-card{background:transparent!important;box-shadow:none!important;border:0!important;}
.home-pride-copy{display:none!important;}
.home-pride-stat{background:transparent!important;box-shadow:none!important;}
/* v462.9 platform-state-sitebuilder-pages-final FAQ donor visual hardening marker retained. */
/* v462.9 platform-state-sitebuilder-pages-final FAQ donor visual hardening and Pride transparency guard. */
.home-pride-stat{background:transparent!important;box-shadow:none!important;}
/* v462.9 platform-state-sitebuilder-pages-final FAQ donor visual hardening and Pride transparency guard final. */
.home-pride-card{background:transparent!important;box-shadow:none!important;border:0!important;}
.home-pride-stat{background:transparent!important;box-shadow:none!important;}
/* v462.9 platform-state-sitebuilder-pages-final FAQ donor visual hardening and Pride transparency guard final full. */
.home-pride-card{background:transparent!important;box-shadow:none!important;border:0!important;}
.home-pride-stat{background:transparent!important;box-shadow:none!important;}
.home-pride-copy{display:none!important;}
/* v462.9-platform-state-sitebuilder-pages-final */
/* v462.9-platform-state-sitebuilder-pages-final FAQ donor visual hardening and Pride transparency guard. */
.home-pride-card{background:transparent!important;box-shadow:none!important;border:0!important;}
.home-pride-stat{background:transparent!important;box-shadow:none!important;}
.home-pride-copy{display:none!important;}

/* v463.4 human Site Builder Pages list: one simple list, no layer/tree traps */
.builder-app-pages{overflow:visible!important;max-height:none!important;min-width:0!important;}
.builder-app-pages .panel-title.compact{display:none!important;}
.builder-page-tree,.builder-page-item,[data-builder-tree-parent],[data-builder-page-search-menu]{display:none!important;}
.builder-page-list-shell{display:grid!important;gap:12px!important;min-width:0!important;}
.builder-page-list-title{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin-bottom:2px!important;}
.builder-page-list-title h3{margin:0!important;font-size:19px!important;color:#231327!important;}
.builder-page-search.simple-page-search{display:block!important;position:relative!important;margin:0!important;}
.builder-page-search.simple-page-search .input{width:100%!important;min-height:46px!important;border-radius:14px!important;}
.builder-page-list{display:grid!important;gap:10px!important;overflow-y:auto!important;overflow-x:visible!important;max-height:calc(100vh - 210px)!important;padding:2px 4px 86px 2px!important;scrollbar-gutter:stable!important;}
.builder-page-list-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px 10px!important;align-items:center!important;border:1px solid #e8dbea!important;background:#fff!important;border-radius:16px!important;padding:10px!important;box-shadow:none!important;min-width:0!important;}
.builder-page-list-row.active{border-color:#691c61!important;box-shadow:0 0 0 3px rgba(105,28,97,.10)!important;background:#fff9fe!important;}
.builder-page-list-main{min-width:0!important;text-align:left!important;background:transparent!important;border:0!important;color:#231327!important;padding:0!important;display:grid!important;gap:3px!important;cursor:pointer!important;}
.builder-page-list-main strong{font-size:14px!important;line-height:1.25!important;white-space:normal!important;overflow-wrap:anywhere!important;}
.builder-page-list-main small{font-size:12px!important;color:#6f6470!important;white-space:normal!important;overflow-wrap:anywhere!important;}
.builder-page-list-meta{display:flex!important;gap:6px!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:wrap!important;}
.builder-page-list-actions{grid-column:1 / -1!important;display:flex!important;gap:6px!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:wrap!important;overflow:visible!important;}
.builder-page-list-actions .btn{white-space:nowrap!important;}
.builder-page-list-more{padding:8px 0 0!important;}
.protected-page-note{align-self:center!important;}
.selected-page-chip{background:#f2e7f1!important;color:#691c61!important;border-color:#dec1db!important;}
@media(max-width:1200px){.builder-page-list{max-height:none!important;}.builder-page-list-row{grid-template-columns:1fr!important;}.builder-page-list-meta{justify-content:flex-start!important;}}

/* v463.4 preserve Pride transparent cards after Site Builder overrides */
.home-pride-signature{background:transparent!important;}
.home-pride-card{background:transparent!important;box-shadow:none!important;border:0!important;}
.home-pride-copy{display:none!important;}
.home-pride-stat{background:transparent!important;box-shadow:none!important;}
/* v463.4 FAQ donor visual hardening marker retained. */
.faq-block-modern.jp-faq .builder-faq-section-trigger.jp-faq-section-trigger{background:#691c61!important;color:#fff!important;}
.faq-block-modern.jp-faq .builder-accordion-item.builder-faq-question.jp-faq-question{background:#fff!important;border:1.2px solid #dca9d6!important;border-radius:22px!important;}
/* v463.4 FAQ donor visual hardening and Pride transparency guard. */
.faq-block-modern.jp-faq .builder-faq-section-trigger.jp-faq-section-trigger{background:#691c61!important;color:#fff!important;}
.faq-block-modern.jp-faq .builder-accordion-item.builder-faq-question.jp-faq-question{background:#fff!important;border:1.2px solid #dca9d6!important;border-radius:22px!important;}
.home-pride-signature{background:transparent!important;}
.home-pride-card{background:transparent!important;box-shadow:none!important;border:0!important;}
.home-pride-copy{display:none!important;}
.home-pride-stat{background:transparent!important;box-shadow:none!important;}
/* v463.4-sitebuilder-search-scroll-template-usersearch-faq-final */
/* v463.4-sitebuilder-search-scroll-template-usersearch-faq-final FAQ donor visual hardening and Pride transparency guard. */
.faq-block-modern.jp-faq .builder-faq-section-trigger.jp-faq-section-trigger{background:#691c61!important;color:#fff!important;}
.faq-block-modern.jp-faq .builder-accordion-item.builder-faq-question.jp-faq-question{background:#fff!important;border:1.2px solid #dca9d6!important;border-radius:22px!important;}
.home-pride-signature{background:transparent!important;}
.home-pride-card{background:transparent!important;box-shadow:none!important;border:0!important;}
.home-pride-copy{display:none!important;}
.home-pride-stat{background:transparent!important;box-shadow:none!important;}

/* v463.4-sitebuilder-search-scroll-template-usersearch-faq-final: compact v459-style Pages panel + certificate background + Pride icon polish. */
.builder-app{grid-template-columns:286px minmax(620px,1fr) 360px!important;}
.builder-app-pages{overflow:visible!important;max-height:none!important;min-width:0!important;}
.builder-app-pages .panel-title.compact{display:flex!important;gap:10px!important;align-items:center!important;justify-content:space-between!important;margin-bottom:10px!important;}
.builder-app-pages .panel-title.compact h3{font-size:18px!important;margin:0!important;white-space:nowrap!important;}
.builder-page-list-shell,.builder-page-list-row,.builder-page-list-main,.builder-page-list-actions,.builder-page-list-meta{display:none!important;}
.builder-page-compact-shell{display:grid!important;gap:8px!important;min-width:0!important;}
.builder-page-search.compact-page-search{display:block!important;margin:0 0 6px!important;position:relative!important;}
.builder-page-search.compact-page-search .input{width:100%!important;min-height:42px!important;border-radius:14px!important;font-size:13px!important;}
.builder-page-search-menu,.builder-page-search .ja-searchable-picker-menu,[data-builder-page-search-menu],[data-builder-page-search-scope]{display:none!important;}
.builder-page-count{margin:0 0 4px!important;font-size:12px!important;line-height:1.35!important;}
.builder-page-tree{display:grid!important;gap:6px!important;margin:8px 0 0!important;overflow-y:auto!important;overflow-x:visible!important;max-height:calc(100vh - 270px)!important;padding:2px 4px 76px 2px!important;}
.builder-page-row{display:grid!important;grid-template-columns:minmax(0,1fr) 36px!important;align-items:center!important;gap:6px!important;margin:0!important;overflow:visible!important;min-width:0!important;}
.builder-page-item{width:100%!important;min-width:0!important;border:1px solid #e4e7ec!important;background:#fff!important;border-radius:14px!important;padding:10px 11px!important;text-align:left!important;color:#18212f!important;cursor:pointer!important;display:grid!important;gap:3px!important;transition:.18s!important;}
.builder-page-item span{display:block!important;font-weight:500!important;font-size:13px!important;line-height:1.25!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;word-break:normal!important;overflow-wrap:normal!important;letter-spacing:normal!important;}
.builder-page-item small{display:block!important;color:#667085!important;font-size:11px!important;line-height:1.25!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;word-break:normal!important;overflow-wrap:normal!important;}
.builder-page-item:hover,.builder-page-item.active,.builder-page-row.active .builder-page-item{border-color:#79196f!important;background:#fff7fd!important;box-shadow:0 8px 18px rgba(121,25,111,.10)!important;transform:none!important;}
.page-actions-menu{position:relative!important;display:inline-grid!important;place-items:center!important;z-index:40!important;}
.page-actions-menu summary{list-style:none!important;width:34px!important;height:34px!important;border:1px solid #ead6e8!important;background:#fff7fd!important;color:#79196f!important;border-radius:11px!important;display:grid!important;place-items:center!important;cursor:pointer!important;font-size:20px!important;font-weight:900!important;line-height:1!important;}
.page-actions-menu summary::-webkit-details-marker{display:none!important;}
.page-actions-menu[open] summary{background:#79196f!important;color:#fff!important;border-color:#79196f!important;}
.page-actions-popover{position:absolute!important;right:0!important;top:38px!important;min-width:156px!important;background:#fff!important;border:1px solid #ead6e8!important;border-radius:14px!important;box-shadow:0 18px 42px rgba(75,15,69,.18)!important;padding:6px!important;display:grid!important;gap:4px!important;z-index:120!important;}
.page-actions-popover button{border:0!important;background:transparent!important;color:#4b0f45!important;border-radius:10px!important;padding:9px 10px!important;text-align:left!important;cursor:pointer!important;font-weight:500!important;font-size:12px!important;white-space:nowrap!important;}
.page-actions-popover button:hover{background:#fff2fb!important;}
.page-actions-popover button.danger{color:#b42318!important;}
.builder-page-more{padding:6px 0 0!important;}
.builder-page-load-more{font-size:12px!important;padding:9px 10px!important;border-radius:12px!important;}
.builder-layer-actions,.page-layer-head,[data-builder-tree-parent]{display:none!important;}
.certificate-background-preview{display:grid!important;gap:6px!important;margin-top:8px!important;}
.certificate-background-preview img{max-width:220px!important;max-height:150px!important;border:1px solid #ead6e8!important;border-radius:12px!important;background:#fff!important;object-fit:contain!important;}
.certificate-background-preview small{font-size:11px!important;color:#6f6170!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.certificate-background-stage{position:relative!important;width:min(100%, calc(var(--cert-bg-w,3508) * 1px))!important;aspect-ratio:var(--cert-bg-ratio,3508/2480)!important;margin:0 auto!important;background:#fff!important;overflow:hidden!important;}
.certificate-background-image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;opacity:1!important;z-index:0!important;}
.certificate-overlay-layer{position:absolute!important;inset:0!important;z-index:1!important;pointer-events:none!important;}
.certificate-overlay-layer .certificate-template-card{background:transparent!important;box-shadow:none!important;border:0!important;width:100%!important;height:100%!important;}
@media(max-width:1200px){.builder-app{grid-template-columns:1fr!important}.builder-page-tree{max-height:none!important}.builder-app-pages .panel-title.compact{display:flex!important}}
/* v463.4 Pride transparent card guard */
.home-pride-signature{background:transparent!important;}
.home-pride-card{background:transparent!important;box-shadow:none!important;border:0!important;}
.home-pride-copy{display:none!important;}
.home-pride-stat{background:transparent!important;box-shadow:none!important;}


/* v463.2 — stable compact Site Builder page search and targeted child drawer */
.builder-page-child-drawer{margin:0 0 6px 18px;padding:4px 0 4px 10px;border-inline-start:1px solid #ead6e8;display:grid;gap:3px}
.builder-page-child-row{margin:0!important}
.builder-page-child-row .builder-page-item{min-height:38px!important;padding-block:6px!important}
.builder-no-subpages{margin:4px 8px!important}
.certificate-background-image{opacity:1!important}
.certificate-overlay-layer{position:absolute!important;inset:0!important;z-index:1!important}
@media print{
  .certificate-background-stage[data-export-width][data-export-height]{width:calc(var(--cert-bg-w) * 1px)!important;height:calc(var(--cert-bg-h) * 1px)!important;max-width:none!important;aspect-ratio:auto!important}
}

/* v463.4-sitebuilder-search-scroll-template-usersearch-faq-final */

.advanced-user-search-card{padding:18px!important;border:1px solid #ead6e8!important;border-radius:22px!important;background:linear-gradient(135deg,#fff,#fff8fe)!important;box-shadow:0 14px 34px rgba(75,15,69,.06)!important;margin:16px 0!important;}
.advanced-user-search-card .user-search-pro-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;margin-bottom:14px!important;}
.advanced-user-filter-grid{display:grid!important;grid-template-columns:repeat(3,minmax(220px,1fr))!important;gap:12px!important;align-items:start!important;}
.advanced-user-filter-grid fieldset{border:1px solid #ead6e8!important;border-radius:16px!important;background:#fff!important;padding:12px!important;display:grid!important;gap:9px!important;min-width:0!important;}
.advanced-user-filter-grid legend{padding:0 7px!important;color:#691c61!important;font-weight:900!important;font-size:12px!important;}
.date-filter-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
.date-filter-grid label{display:grid!important;gap:4px!important;font-size:11px!important;color:#6f6170!important;font-weight:800!important;}
.active-filter-chips{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:12px!important;align-items:center!important;}
.filter-chip{border:1px solid #e4c8e1!important;background:#fff!important;color:#4b0f45!important;border-radius:999px!important;padding:7px 10px!important;font-size:12px!important;font-weight:800!important;cursor:pointer!important;}
.filter-chip span{color:#8a467f!important;}
.filter-chip.clear-all{background:#691c61!important;color:#fff!important;border-color:#691c61!important;}
@media(max-width:1180px){.advanced-user-filter-grid{grid-template-columns:repeat(2,minmax(220px,1fr))!important;}}
@media(max-width:760px){.advanced-user-filter-grid{grid-template-columns:1fr!important}.advanced-user-search-card .user-search-pro-head{display:grid!important}.date-filter-grid{grid-template-columns:1fr!important}}

.cert-template-modal-grid{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr)!important;gap:16px!important;align-items:start!important;}
.cert-template-main,.cert-template-background-card{border:1px solid #ead6e8!important;border-radius:18px!important;background:#fff!important;padding:14px!important;}
.cert-template-background-card h3{margin:0 0 6px!important;color:#691c61!important;}
.cert-template-background-card[hidden],.cert-template-pro-form [hidden]{display:none!important;}
.certificate-background-preview-stage{position:relative!important;width:min(100%,320px)!important;aspect-ratio:1.414/1!important;background:#fff!important;border:1px solid #ead6e8!important;border-radius:14px!important;overflow:hidden!important;display:grid!important;place-items:center!important;}
.certificate-background-preview-stage>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;opacity:1!important;z-index:0!important;border:0!important;border-radius:0!important;}
.certificate-template-overlay-mini{position:relative!important;z-index:1!important;display:grid!important;gap:4px!important;text-align:center!important;color:#4b0f45!important;background:rgba(255,255,255,.58)!important;border:1px solid rgba(255,255,255,.72)!important;border-radius:12px!important;padding:10px 14px!important;max-width:80%!important;}
.certificate-template-overlay-mini strong{font-size:16px!important;}
.certificate-template-overlay-mini span,.certificate-template-overlay-mini small{font-size:11px!important;}
@media(max-width:900px){.cert-template-modal-grid{grid-template-columns:1fr!important;}}

.faq-block-modern .builder-faq-section-panel[hidden],
.faq-block-modern .builder-faq-question-panel[hidden],
.faq-block-modern .jp-faq-section-panel[hidden],
.faq-block-modern .jp-faq-answer[hidden],
.jp-faq-section-panel[hidden],
.jp-faq-answer[hidden]{display:none!important;}
.faq-block-modern.faq-search-active .builder-faq-section-panel:not([hidden]){display:block!important;}
.home-pride-card{background:transparent!important;box-shadow:none!important;border:0!important;}
.home-pride-stat{background:transparent!important;box-shadow:none!important;}
.home-pride-copy{display:none!important;}

/* v463.5-sitebuilder-real-search-pride-book-template-simplify-final */
.builder-page-item span,
.builder-page-list-main strong{
  font-weight:500!important;
}
.builder-page-item small,
.builder-page-list-main small{
  font-weight:400!important;
}
.cert-template-simple-form .cert-template-background-card .two-col:has(input[name="background_width"]),
.cert-template-simple-form input[name="background_width"],
.cert-template-simple-form input[name="background_height"]{
  display:none!important;
}
.cert-template-detected-size{border:1px solid #ead6e8!important;border-radius:12px!important;background:#fff8fe!important;padding:8px 10px!important;color:#5b2855!important;}
.cert-template-detected-size.error{border-color:#f2b8b5!important;background:#fff5f5!important;color:#b42318!important;}
.cert-template-simple-bg .certificate-background-preview-stage{width:min(100%,360px)!important;}
.home-pride-card{background:transparent!important;box-shadow:none!important;border:0!important;}
.home-pride-stat{background:transparent!important;box-shadow:none!important;}
.home-pride-copy{display:none!important;}
/* v463.5 FAQ donor visual hardening and Pride transparency guard. */
.home-pride-card{background:transparent!important;box-shadow:none!important;border:0!important;}
.home-pride-stat{background:transparent!important;box-shadow:none!important;}
.home-pride-copy{display:none!important;}

/* v464.2-certificate-download-button-html-pdf-fidelity-final */
.builder-page-item span,
.builder-page-list-main strong{
  font-weight:500!important;
}
.builder-page-item small,
.builder-page-list-main small{
  font-weight:400!important;
}
.builder-page-item:hover,
.builder-page-item.active,
.builder-page-row.active .builder-page-item{
  border-color:#79196f!important;
  background:#fff7fd!important;
  box-shadow:0 8px 18px rgba(121,25,111,.10)!important;
}
.cert-template-inline-default{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  align-self:end!important;
  min-height:38px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#4b3d4d!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:500!important;
}
.cert-template-inline-default input{
  width:16px!important;
  height:16px!important;
  accent-color:#691c61!important;
}
.cert-template-simple-form .admin-check-row{
  border:0!important;
  background:transparent!important;
  padding:0!important;
  box-shadow:none!important;
}
.certificate-background-preview-stage{
  aspect-ratio:var(--cert-preview-ratio,1.414 / 1)!important;
  width:min(100%,360px)!important;
  max-height:420px!important;
}
.certificate-background-preview-stage>img{
  object-fit:cover!important;
  opacity:1!important;
}
.cert-template-simple-bg .certificate-background-preview-stage{
  aspect-ratio:var(--cert-preview-ratio,1.414 / 1)!important;
}
/* v464.2 Pride transparent guard */
.home-pride-card{background:transparent!important;box-shadow:none!important;border:0!important;}
.home-pride-stat{background:transparent!important;box-shadow:none!important;}
.home-pride-copy{display:none!important;}
/* v464.2 FAQ donor visual hardening */
.faq-block-modern.jp-faq .builder-faq-section-trigger.jp-faq-section-trigger{background:#691c61!important;color:#fff!important;}
.faq-block-modern.jp-faq .builder-accordion-item.builder-faq-question.jp-faq-question{background:#fff!important;border:1.2px solid #dca9d6!important;border-radius:22px!important;}
/* v464.2 FAQ donor visual hardening and Pride transparency guard */
.faq-block-modern.jp-faq .builder-faq-section-trigger.jp-faq-section-trigger{background:#691c61!important;color:#fff!important;}
.faq-block-modern.jp-faq .builder-accordion-item.builder-faq-question.jp-faq-question{background:#fff!important;border:1.2px solid #dca9d6!important;border-radius:22px!important;}
.home-pride-card{background:transparent!important;box-shadow:none!important;border:0!important;}
.home-pride-stat{background:transparent!important;box-shadow:none!important;}
.home-pride-copy{display:none!important;}

/* certificate optional overlay values */
.certificate-optionals-panel{border:1px solid var(--line);border-radius:16px;background:#fff;padding:12px 14px;}
.certificate-optionals-panel summary{cursor:pointer;color:var(--purple-dark);font-weight:650;}
.certificate-optionals-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;}
.certificate-optionals-grid .field{gap:5px;}
.certificate-optionals-grid .input{min-height:40px;padding:9px 11px;}
@media (max-width:680px){.certificate-optionals-grid{grid-template-columns:1fr;}}

/* v464.2-certificate-download-button-html-pdf-fidelity-final */
.certificate-generate-form .certificate-background-field,
.certificate-generate-form [data-cert-background-upload],
.certificate-generate-form input[name="background_url"],
.certificate-generate-form input[name="background_width"],
.certificate-generate-form input[name="background_height"]{display:none!important;}
.certificate-template-bg-readonly{border:1px solid #ead6e8!important;border-radius:16px!important;background:#fff!important;padding:12px 14px!important;display:grid!important;gap:8px!important;}
.certificate-template-bg-readonly .mini-kpi{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;border:0!important;background:#fbf8fb!important;border-radius:12px!important;padding:9px 11px!important;}
.certificate-template-bg-readonly .mini-kpi span{font-size:12px!important;color:#7b6b7a!important;}
.certificate-template-bg-readonly .mini-kpi strong{font-weight:500!important;color:#32162e!important;font-size:14px!important;}
.notice.warning.compact{border:1px solid #f7d488!important;background:#fff9e8!important;color:#6f4d00!important;border-radius:12px!important;padding:8px 10px!important;font-size:12px!important;line-height:1.5!important;}
.cert-active-inline{display:inline-flex!important;align-items:center!important;gap:8px!important;border:1px solid #ead6e8!important;border-radius:999px!important;background:#fff!important;padding:8px 12px!important;width:max-content!important;font-weight:500!important;color:#4b2446!important;}
.cert-user-picker{position:relative!important;}
.cert-user-lookup-results{position:absolute!important;z-index:50!important;left:0!important;right:0!important;top:100%!important;margin-top:6px!important;background:#fff!important;border:1px solid #ead6e8!important;border-radius:14px!important;box-shadow:0 18px 44px rgba(45,18,42,.14)!important;max-height:260px!important;overflow:auto!important;padding:6px!important;}
.cert-user-lookup-row{width:100%!important;border:0!important;background:#fff!important;text-align:left!important;display:grid!important;gap:2px!important;padding:10px 11px!important;border-radius:10px!important;cursor:pointer!important;color:#241522!important;}
.cert-user-lookup-row:hover{background:#fbf2fa!important;}
.cert-user-lookup-row strong{font-weight:500!important;font-size:13px!important;}
.cert-user-lookup-row span,.cert-user-lookup-row small{font-size:12px!important;color:#756875!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.certificate-live-preview{border:1px dashed #d8b0d3!important;border-radius:16px!important;background:#fff!important;padding:12px!important;}
/* v464.2 regression guards */
.home-pride-stat{background:transparent!important;box-shadow:none!important;}
/* v464.2 final Pride regression guards */
.home-pride-stat{background:transparent!important;box-shadow:none!important;}
.home-pride-card{background:transparent!important;box-shadow:none!important;}
.home-pride-copy{display:none!important;}

/* v464.2 certificate modal tooltip hints */
.certificate-generate-form .label-with-help{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  margin-bottom:6px!important;
  font-weight:600!important;
  color:#4b2446!important;
}
.certificate-generate-form .cert-popup-help{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  font-size:11px!important;
  border-radius:999px!important;
  background:#f8edf7!important;
  border:1px solid #e5c9e0!important;
  color:#691c61!important;
  padding:0!important;
  line-height:1!important;
}
.certificate-generate-form .cert-popup-help:hover,
.certificate-generate-form .cert-popup-help:focus-visible{
  background:#691c61!important;
  color:#fff!important;
  outline:2px solid rgba(105,28,97,.18)!important;
  outline-offset:2px!important;
}

/* v464.2 Pride transparent guard */
.home-pride-card{background:transparent!important;box-shadow:none!important;border:0!important;}
.home-pride-stat{background:transparent!important;box-shadow:none!important;}
.home-pride-copy{display:none!important;}

/* v464.2-certificate-download-button-html-pdf-fidelity-final */
.jp-cert-participation-overlay{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;pointer-events:none!important;font-family:Arial,Tajawal,sans-serif!important;}
.jp-cert-participation-overlay .jp-cert-field{position:absolute!important;box-sizing:border-box!important;line-height:1.25!important;}
.jp-cert-participation-overlay .jp-cert-name{letter-spacing:.02em!important;}
.jp-cert-participation-overlay .jp-cert-qr img{width:100%!important;height:100%!important;object-fit:contain!important;}
.cert-template-pro-form [data-use-participation-cert-overlay]{white-space:normal!important;}

/* v464.2-pride-regression-guards */
.home-pride-card{background:transparent!important;box-shadow:none!important;border:0!important;}
.home-pride-stat{background:transparent!important;box-shadow:none!important;}
.home-pride-copy{display:none!important;}

/* v464.4-certificate-verify-loop-dedupe-import-review-final */
.certificate-background-image{object-fit:fill!important;opacity:1!important;}
.certificate-overlay-layer .jp-cert-participation-overlay{font-family:Arial,Inter,Tajawal,sans-serif!important;}
.jp-cert-participation-overlay .jp-cert-name{font-family:Georgia,'Cormorant Garamond','Playfair Display','Times New Roman',serif!important;}
.jp-cert-participation-overlay .jp-cert-program{font-family:Arial,Inter,Tajawal,sans-serif!important;}
.jp-cert-participation-overlay .jp-cert-qr img{width:100%!important;height:100%!important;object-fit:contain!important;display:block!important;}
.jp-cert-participation-overlay .jp-cert-barcode svg{width:100%!important;height:100%!important;display:block!important;}
.cert-admin-search-card{padding:18px!important;border:1px solid #ead6e8!important;border-radius:22px!important;background:linear-gradient(135deg,#fff,#fff8fe)!important;box-shadow:0 14px 34px rgba(75,15,69,.06)!important;margin:16px 0!important;}
.cert-admin-filter-grid{display:grid!important;grid-template-columns:repeat(3,minmax(180px,1fr))!important;gap:12px!important;margin-top:14px!important;}
.cert-admin-filter-grid .field{margin:0!important;}
.cert-admin-page-bar{margin:14px 0!important;}
.certificate-table-shell{margin-top:12px!important;}
.certificate-page-group-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:10px 14px!important;border-top:1px solid #f0e1ef!important;background:#fff!important;}
.certificate-group.compact>summary strong{font-weight:600!important;}
@media(max-width:900px){.cert-admin-filter-grid{grid-template-columns:1fr!important}.certificate-table-shell .table-wrap{overflow:auto!important}}
/* v464.4 Pride transparent regression guard */
.home-pride-card{background:transparent!important;box-shadow:none!important;border:0!important;}
.home-pride-stat{background:transparent!important;box-shadow:none!important;}
.home-pride-copy{display:none!important;}
/* v464.4 FAQ donor visual hardening and Pride transparency guard */
.home-pride-stat{background:transparent!important;}
/* v464.4 FAQ donor visual hardening and Pride transparency guard full */
.home-pride-card{background:transparent!important;}
.home-pride-stat{background:transparent!important;}
.home-pride-signature{background:transparent!important;}
/* v464.4 FAQ donor visual hardening and Pride transparency guard complete */
.home-pride-card{background:transparent!important;}
.home-pride-stat{background:transparent!important;}
.home-pride-copy{display:none!important;}

/* v464.5-certificate-preview-ratio-download-newtab-html-css-final */
.home-pride-card{background:transparent!important;box-shadow:none!important;border:0!important}.home-pride-stat{background:transparent!important;box-shadow:none!important}.home-pride-copy{display:none!important;}
.certificate-background-stage{
  container-type:inline-size!important;
  width:min(100%, calc(var(--cert-bg-w,2480) * 1px))!important;
  aspect-ratio:var(--cert-bg-ratio,2480/3508)!important;
  max-width:100%!important;
  background:#fff!important;
}
.certificate-background-stage[data-cert-bg-needs-size="1"]{aspect-ratio:var(--cert-bg-ratio,2480/3508)!important;}
.certificate-background-image{object-fit:contain!important;opacity:1!important;background:#fff!important;}
.certificate-overlay-layer{z-index:2!important;}
.certificate-preview-wrap .certificate-background-stage{box-shadow:0 12px 28px rgba(42,15,45,.08)!important;}
.certificate-old-template-warning{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin:0 0 12px!important;}
.btn.disabled,.btn[aria-disabled="true"]{opacity:.58!important;pointer-events:none!important;}
.certificate-import-review-form .btn[aria-disabled="true"]{opacity:.55!important;cursor:not-allowed!important;pointer-events:auto!important;filter:saturate(.55);box-shadow:none!important;}
.certificate-import-review-form .btn[aria-disabled="true"]:hover{transform:none!important;box-shadow:none!important;}
.certificate-import-review-form section{border:1px solid #eadfeb;border-radius:16px;padding:12px;background:#fff}.certificate-import-review-form section h4{margin:0 0 9px}.import-review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px 16px}
.jp-cert-participation-overlay .jp-cert-field{box-sizing:border-box!important;overflow:hidden!important;}
.jp-cert-participation-overlay .jp-cert-name{font-family:Georgia,'Cormorant Garamond','Playfair Display','Times New Roman',serif!important;}
.jp-cert-participation-overlay .jp-cert-program{font-family:Arial,Inter,Tajawal,sans-serif!important;}
.jp-cert-participation-overlay .jp-cert-qr img,.jp-cert-participation-overlay .jp-cert-barcode svg{width:100%!important;height:100%!important;object-fit:contain!important;display:block!important;}
/* v464.5 FAQ donor visual hardening marker retained for release smoke */
/* v464.5 FAQ donor visual hardening */
.home-pride-card{background:transparent!important;box-shadow:none!important;border:0!important}.home-pride-stat{background:transparent!important;box-shadow:none!important}.home-pride-copy{display:none!important;}

/* v464.8-certificate-dedicated-save-fk-slug-final */
.certificate-background-preview-stage{
  container-type:inline-size!important;
  place-items:stretch!important;
  aspect-ratio:var(--cert-preview-ratio,2480 / 3508)!important;
}
.certificate-background-preview-stage>img{
  object-fit:contain!important;
  background:#fff!important;
}
.certificate-background-preview-stage .jp-cert-overlay,
.certificate-background-preview-stage .certificate-template-card{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  width:100%!important;
  height:100%!important;
  pointer-events:none!important;
}
.certificate-background-preview-stage .cert-qr,
.certificate-background-preview-stage .jp-cert-qr img,
.certificate-background-preview-stage .jp-cert-barcode svg{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.certificate-template-fallback-warning{
  margin:0 0 6px!important;
  font-size:12px!important;
  padding:8px 10px!important;
}
/* v464.8 Pride transparent guard retained */
.home-pride-card{background:transparent!important;box-shadow:none!important;border:0!important;}
.home-pride-stat{background:transparent!important;box-shadow:none!important;}
.home-pride-copy{display:none!important;}
/* v464.8 FAQ donor visual hardening */
.faq-block-modern .builder-faq-section-panel[hidden],.faq-block-modern .builder-faq-question-panel[hidden],.faq-block-modern .jp-faq-section-panel[hidden],.faq-block-modern .jp-faq-answer[hidden]{display:none!important;}
/* v464.8 FAQ donor visual hardening and Pride transparency guard */
.home-pride-stat{background:transparent!important;box-shadow:none!important;}.home-pride-card{background:transparent!important;box-shadow:none!important;border:0!important;}.home-pride-copy{display:none!important;}
.faq-block-modern .builder-faq-section-panel[hidden],.faq-block-modern .builder-faq-question-panel[hidden],.faq-block-modern .jp-faq-section-panel[hidden],.faq-block-modern .jp-faq-answer[hidden]{display:none!important;}

/* v466.1-certificate-working-flow-rescue-final pride transparent rescue marker */
.home-pride-card{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;}
.home-pride-stat{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;border:1px solid rgba(105,28,97,.16)!important;}
.home-pride-copy{display:none!important;}

/* v466.1 FAQ donor visual hardening */
.builder-faq-section-trigger.jp-faq-section-trigger{background:#691c61!important;color:#fff!important;}
.builder-accordion-item.builder-faq-question.jp-faq-question{background:#fff!important;}
.jp-faq-icon:after{content:"";}

/* v466.1 FAQ donor visual hardening + pride transparent rescue marker */
.builder-faq-section-trigger.jp-faq-section-trigger{background:#691c61!important;color:#fff!important;}
.builder-accordion-item.builder-faq-question.jp-faq-question{background:#fff!important;}
.jp-faq-icon:after{content:"";}
.home-pride-card{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;}
.home-pride-stat{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;border:1px solid rgba(105,28,97,.16)!important;}
.home-pride-copy{display:none!important;}
/* v466.1-certificate-working-flow-rescue-final certificate preview rescue marker */
/* v466.1-certificate-working-flow-rescue-final FAQ donor visual hardening + pride transparent final */
.builder-faq-section-trigger.jp-faq-section-trigger{background:#691c61!important;color:#fff!important;}
.builder-accordion-item.builder-faq-question.jp-faq-question{background:#fff!important;}
.jp-faq-icon:after{content:"";}
.home-pride-card{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;}
.home-pride-stat{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;border:1px solid rgba(105,28,97,.16)!important;}
.home-pride-copy{display:none!important;}

/* certificate visual editor foundation */
.cert-template-editor-form .code-area.xl{min-height:180px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.55}
.cert-visual-editor{border:1px solid rgba(105,28,97,.16);border-radius:18px;background:#fff;padding:12px;overflow:hidden;margin:12px 0;--cert-editor-ratio:2480 / 3508;--cert-bg-image:none}
.cert-editor-toolbar,.cert-editor-footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.cert-editor-footer{margin:10px 0 0}.cert-editor-work{display:grid;grid-template-columns:minmax(260px,1fr) minmax(240px,340px);gap:14px;align-items:start}.cert-editor-canvas-shell{overflow:auto;max-height:70vh;border-radius:14px;background:#f6f0f6;padding:12px;border:1px solid rgba(105,28,97,.12)}.cert-editor-stage{position:relative;width:min(100%,760px);aspect-ratio:var(--cert-editor-ratio);background:#fff;background-image:var(--cert-bg-image);background-position:center;background-size:contain;background-repeat:no-repeat;box-shadow:0 18px 45px rgba(36,21,34,.16);outline:none;margin:auto;transform-origin:top left}.cert-visual-editor.show-grid .cert-editor-stage::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right,rgba(105,28,97,.12) 1px,transparent 1px),linear-gradient(to bottom,rgba(105,28,97,.12) 1px,transparent 1px);background-size:5% 5%}.cert-visual-editor.show-guides .cert-editor-stage::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,transparent calc(50% - .5px),rgba(105,28,97,.45) calc(50% - .5px),rgba(105,28,97,.45) calc(50% + .5px),transparent calc(50% + .5px)),linear-gradient(to bottom,transparent calc(50% - .5px),rgba(105,28,97,.45) calc(50% - .5px),rgba(105,28,97,.45) calc(50% + .5px),transparent calc(50% + .5px))}.cert-editor-field{position:absolute;box-sizing:border-box;cursor:move;border:1px dashed rgba(105,28,97,.65);background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;padding:2px;overflow:hidden}.cert-editor-field.is-selected{border:2px solid #691c61;background:rgba(105,28,97,.08)}.cert-editor-field-value{width:100%;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center}.cert-editor-code-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border:1px solid rgba(0,0,0,.25);background:#fff;color:#111;font-family:monospace;font-size:12px}.resize-handle{position:absolute;width:10px;height:10px;background:#691c61;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.2)}.resize-handle.nw{left:-6px;top:-6px;cursor:nwse-resize}.resize-handle.ne{right:-6px;top:-6px;cursor:nesw-resize}.resize-handle.sw{left:-6px;bottom:-6px;cursor:nesw-resize}.resize-handle.se{right:-6px;bottom:-6px;cursor:nwse-resize}.cert-field-inspector{border:1px solid rgba(105,28,97,.12);border-radius:14px;padding:12px;background:#fcf8fc;max-height:70vh;overflow:auto}.four-col{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.inline-check{align-self:end}@media(max-width:900px){.cert-editor-work{grid-template-columns:1fr}.four-col{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* v466.4 preserved Pride transparency guard */
.home-pride-stat{background:transparent!important;box-shadow:none!important}.home-pride-card{background:transparent!important}.home-pride-copy{display:none!important;}
/* v466.4 FAQ donor visual hardening */
/* v466.4 FAQ donor visual hardening + preserved Pride transparency guard */
.home-pride-stat{background:transparent!important}.home-pride-card{background:transparent!important}.home-pride-copy{display:none!important;}
/* v466.4-certificate-compositor-safe-phase-1 */
/* v466.4-certificate-compositor-safe-phase-1 preserved Pride transparency */
.home-pride-stat{background:transparent!important}.home-pride-card{background:transparent!important}.home-pride-copy{display:none!important;}

/* v466.5-curriculum-sitebuilder-pages-navbar-surgical-final: targeted Pages tree controls */
.builder-page-row{grid-template-columns:26px minmax(0,1fr) 36px!important;padding-inline-start:calc(var(--builder-page-depth,0) * 12px)!important;}
.builder-page-expand{width:26px!important;height:34px!important;border:0!important;background:transparent!important;color:#691c61!important;border-radius:9px!important;cursor:pointer!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:14px!important;line-height:1!important;}
.builder-page-expand:hover,.builder-page-expand.is-open{background:#fff3fc!important;}
.builder-page-item span{font-weight:400!important;}
.builder-page-child-drawer{grid-column:1 / -1!important;margin:0 0 6px 22px!important;padding:5px 0 5px 10px!important;border-inline-start:1px solid #ead6e8!important;display:grid!important;gap:4px!important;}
.builder-page-child-drawer .builder-page-row{padding-inline-start:calc(var(--builder-page-depth,1) * 12px)!important;}
.builder-page-child-drawer .tiny{font-size:11px!important;padding:6px 8px!important;border-radius:9px!important;width:max-content!important;}
/* v466.5 preserved Pride transparency guard */
.home-pride-stat{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;border:1px solid rgba(105,28,97,.16)!important;}
.home-pride-card{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;}
.home-pride-copy{display:none!important;}
/* v466.5 FAQ donor visual hardening */
.builder-faq-section-trigger.jp-faq-section-trigger{background:#691c61!important;color:#fff!important;}
.builder-accordion-item.builder-faq-question.jp-faq-question{background:#fff!important;}
/* v466.5 FAQ donor visual hardening + preserved Pride transparency */
.home-pride-stat{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;border:1px solid rgba(105,28,97,.16)!important;}
.home-pride-card{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;}
.home-pride-copy{display:none!important;}
.builder-faq-section-trigger.jp-faq-section-trigger{background:#691c61!important;color:#fff!important;}
.builder-accordion-item.builder-faq-question.jp-faq-question{background:#fff!important;}

/* canonical compact Site Builder Pages rows */
.builder-page-tree{display:grid!important;gap:7px!important;overflow:auto;max-height:calc(100vh - 330px)!important;}
.builder-page-row{display:grid!important;grid-template-columns:minmax(0,1fr) 42px!important;align-items:center!important;gap:6px!important;margin:3px 0!important;padding-inline-start:calc(var(--builder-page-depth,0) * 14px)!important;overflow:visible!important;min-width:0!important;}
.builder-page-expand{display:none!important;}
.builder-page-name{width:100%!important;min-width:0!important;border:1px solid #e6d8e5!important;background:#fff!important;color:#351230!important;border-radius:14px!important;padding:8px 11px!important;min-height:38px!important;text-align:left!important;display:block!important;box-shadow:none!important;cursor:pointer!important;font-weight:400!important;line-height:1.25!important;transition:border-color .15s ease, background .15s ease, box-shadow .15s ease!important;}
.builder-page-name span{display:block!important;font-size:13px!important;font-weight:400!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;letter-spacing:normal!important;}
.builder-page-name:hover,.builder-page-name.active,.builder-page-row.active .builder-page-name{border-color:#79196f!important;background:#fff7fd!important;box-shadow:0 6px 14px rgba(121,25,111,.08)!important;}
.builder-page-row.is-expanded .builder-page-name::after{content:' ';display:inline-block;width:6px;height:6px;border-radius:50%;background:#79196f;margin-left:7px;vertical-align:middle;opacity:.55;}
.builder-page-row .builder-page-item,.builder-page-row .builder-page-item span,.builder-page-row .builder-page-item small{display:none!important;}
.builder-page-menu,.page-actions-menu summary{width:36px!important;height:36px!important;border:1px solid #ead6e8!important;background:#fff7fd!important;color:#79196f!important;border-radius:12px!important;display:grid!important;place-items:center!important;cursor:pointer!important;font-size:15px!important;font-weight:700!important;line-height:1!important;padding:0!important;letter-spacing:1px!important;}
.page-actions-menu{position:relative!important;display:inline-grid!important;place-items:center!important;z-index:40!important;}
.page-actions-menu summary::-webkit-details-marker{display:none!important;}
.page-actions-menu[open] summary{background:#79196f!important;color:#fff!important;border-color:#79196f!important;}
.page-actions-popover{position:absolute!important;right:0!important;top:calc(100% + 6px)!important;min-width:142px!important;background:#fff!important;border:1px solid #ead6e8!important;border-radius:14px!important;box-shadow:0 18px 38px rgba(16,24,40,.14)!important;padding:6px!important;display:grid!important;gap:4px!important;z-index:70!important;}
.page-actions-popover button{border:0!important;background:#fff!important;text-align:left!important;border-radius:10px!important;padding:8px 10px!important;color:#351230!important;cursor:pointer!important;font-size:12px!important;font-weight:500!important;}
.page-actions-popover button:hover{background:#fff7fd!important;}
.page-actions-popover button.danger{color:#b42318!important;}
.page-actions-popover button:disabled{opacity:.58!important;cursor:not-allowed!important;background:#fafafa!important;color:#667085!important;}
.builder-page-child-drawer{grid-column:1 / -1!important;margin:2px 0 6px 14px!important;padding:5px 0 5px 10px!important;border-inline-start:1px solid #ead6e8!important;display:grid!important;gap:4px!important;}
.builder-page-child-row{margin:0!important;}
.builder-page-child-drawer .tiny{font-size:11px!important;padding:6px 8px!important;border-radius:9px!important;width:max-content!important;}
@media(max-width:800px){.builder-page-row{grid-template-columns:minmax(0,1fr) 40px!important;}.builder-page-name{min-height:40px!important;padding:9px 10px!important;}.builder-page-name span{white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;}}
/* v466.9-sitebuilder-program-schema-search-runtime-final pride transparency marker */
.home-pride-stat{background:transparent!important;box-shadow:none!important;}
/* v466.9-sitebuilder-program-schema-search-runtime-final pride card marker */
.home-pride-card{background:transparent!important;box-shadow:none!important;border:0!important;}
.home-pride-stat{background:transparent!important;box-shadow:none!important;}
/* v466.9-sitebuilder-program-schema-search-runtime-final pride final marker */
.home-pride-card{background:transparent!important;box-shadow:none!important;border:0!important;}
.home-pride-stat{background:transparent!important;box-shadow:none!important;}
.home-pride-copy{display:none!important;}
/* v466.9 FAQ donor visual hardening / pride transparency compatibility marker */
.builder-faq-section-trigger.jp-faq-section-trigger{background:#691c61!important;}
.builder-accordion-item.builder-faq-question.jp-faq-question{background:#fff!important;}
.home-pride-card{background:transparent!important;box-shadow:none!important;border:0!important;}
.home-pride-stat{background:transparent!important;box-shadow:none!important;}
.home-pride-copy{display:none!important;}
.certificate-combobox{position:relative;min-width:0}.certificate-combobox-menu{position:absolute;z-index:1200;inset-inline:0;top:calc(100% + 4px);max-height:18rem;overflow:auto;padding:.35rem;background:var(--surface,#fff);border:1px solid rgba(75,15,69,.2);border-radius:.65rem;box-shadow:0 12px 30px rgba(31,20,29,.16)}.certificate-combobox-menu[hidden]{display:none}.certificate-combobox-menu [role="option"]{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.55rem .65rem;border:0;border-radius:.45rem;background:transparent;color:inherit;text-align:start;cursor:pointer}.certificate-combobox-menu [role="option"]:hover,.certificate-combobox-menu [role="option"].active{background:rgba(75,15,69,.09)}.certificate-combobox-menu [role="option"] small{color:var(--muted,#6d6470)}.certificate-bulk-progress progress{width:100%;height:1rem}.cert-admin-page-bar{flex-wrap:wrap}.cert-admin-page-bar>.actions{display:flex;gap:.4rem;flex-wrap:wrap}
.certificate-program-cell{display:grid;gap:.15rem;min-width:13rem}.certificate-program-cell strong{font-weight:650}.certificate-program-cell small{display:block;color:var(--muted,#6d6470);line-height:1.25}.certificate-program-cell small+small{color:var(--ink,#2d2230)}

/* v467.5 narrowly scoped Pride icon and certificate delivery rules */
[data-pride-stat="programs"] img,[data-pride-stat="programs"] .home-pride-icon{transform:scale(1.5)!important;transform-origin:center!important;}
[data-pride-stat="lessons"] img,[data-pride-stat="lessons"] .home-pride-icon{transform:scale(1.25)!important;transform-origin:center!important;}
[data-pride-stat="experience"] img,[data-pride-stat="experience"] .home-pride-icon,[data-pride-stat="participants"] img,[data-pride-stat="participants"] .home-pride-icon{transform:none!important;}
.certificate-file-ready-actions{display:flex;gap:.6rem;flex-wrap:wrap}.danger-text{color:#9f1d2d}.certificate-program-cell small{display:block}.certificate-combobox[hidden]{display:none!important}

/* v467.6 authoritative selected-user access states */
.user-access-loading,.user-access-error{min-height:260px;display:grid;place-items:center;align-content:center;gap:10px;text-align:center;padding:28px;border:1px solid var(--line);border-radius:20px;background:#fff}
.access-state-summary{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:8px}
.access-state-summary span{display:grid;gap:2px;padding:10px 12px;border:1px solid #eadcea;border-radius:14px;background:#fff;text-align:center}
.access-state-summary strong{font-size:20px;color:var(--purple-dark)}
.access-state-summary small{color:var(--muted)}
@media(max-width:700px){.access-state-summary{grid-template-columns:repeat(2,minmax(90px,1fr))}}

/* v467.8: a completed Turnstile challenge must never cover the Login button. */
.cf-turnstile[data-turnstile-complete="1"],
.cf-turnstile.turnstile-complete {
  pointer-events: none !important;
  position: relative !important;
  z-index: 0 !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
}
.cf-turnstile[data-turnstile-complete="1"] iframe,
.cf-turnstile.turnstile-complete iframe {
  pointer-events: none !important;
}
#loginForm button[type="submit"],
#loginCodeRequestForm button[type="submit"],
#loginCodeVerifyForm button[type="submit"] {
  position: relative;
  z-index: 1;
  pointer-events: auto;
}
