/* Margin Lesson Components — all scoped under .mlc-root. */

.mlc-root{
  font-family:'Schibsted Grotesk','Helvetica Neue',Helvetica,Arial,sans-serif;
  color:#242424;
  line-height:1.4;
  text-align:left;
  -webkit-text-size-adjust:100%;
}
.mlc-root *,
.mlc-root *::before,
.mlc-root *::after{box-sizing:border-box;}
.mlc-root p,
.mlc-root h2,
.mlc-root h3,
.mlc-root ol,
.mlc-root ul,
.mlc-root li,
.mlc-root figure{margin:0;padding:0;}
.mlc-root ol,
.mlc-root ul{list-style:none !important;}
.mlc-root li{list-style:none !important;}
.mlc-root p,
.mlc-root span,
.mlc-root strong,
.mlc-root h2,
.mlc-root h3{color:inherit;}
.mlc-root button{font-family:inherit;line-height:normal;text-transform:none;letter-spacing:normal;border-radius:0;}
.mlc-root a:focus-visible,
.mlc-root button:focus-visible,
.mlc-root input:focus-visible{outline:3px solid #FF6A00;outline-offset:3px;}
@media (prefers-reduced-motion: reduce){ .mlc-root *{transition:none !important;} }

/* =========================================================================
 * Your call (dark decision panel)
 * ====================================================================== */
.mlc-yc-card{
  background:#242424 !important;
  color:#F7F5EF !important;
  padding:clamp(28px,4vw,56px);
}
.mlc-yc .mlc-yc-eyebrow{
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:12px;letter-spacing:0.08em;text-transform:uppercase;
  color:#FF8A3D !important;
}
.mlc-yc .mlc-yc-q{
  margin:14px 0 0;color:#F7F5EF !important;
  font-weight:800;font-size:clamp(26px,2.8vw,38px);line-height:1.15;letter-spacing:-0.02em;max-width:860px;
}
.mlc-yc .mlc-hl{color:#FF8A3D !important;}
.mlc-yc .mlc-yc-intro{margin:12px 0 0;font-size:15px;color:#D8D3C6 !important;}
.mlc-yc-opts{margin-top:28px;display:flex;flex-direction:column;gap:10px;}
.mlc-yc .mlc-yc-opt{
  width:100%;text-align:left;display:grid;grid-template-columns:40px 1fr;gap:8px;align-items:baseline;
  padding:16px 18px;border:1.5px solid #5C5852 !important;background:transparent !important;color:#F7F5EF !important;
  font:inherit;font-size:18px;line-height:1.4;cursor:pointer;transition:border-color .12s,background-color .12s;
}
.mlc-yc .mlc-yc-item.is-picked .mlc-yc-opt{border-color:#FF6A00 !important;background:#3A3A3A !important;}
.mlc-yc .mlc-yc-key{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:15px;color:#FF8A3D !important;}
.mlc-yc-fb{
  padding:14px 18px 16px 66px;border:1.5px solid #5C5852;border-top:0;
  font-size:15px;line-height:1.55;color:#D8D3C6 !important;
}
.mlc-yc-fb[hidden]{display:none !important;}
.mlc-yc .mlc-yc-verdict{
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;letter-spacing:0.06em;text-transform:uppercase;
}
.mlc-yc .mlc-yc-why{margin:6px 0 0;color:#D8D3C6 !important;}
.mlc-yc .mlc-yc-habit{margin:20px 0 0;font-size:15px;color:#D8D3C6 !important;}
.mlc-yc .mlc-yc-habit[hidden]{display:none !important;}
.mlc-yc .mlc-yc-habit strong{color:#F7F5EF !important;font-weight:700;}
.mlc-yc .mlc-yc-retry{
  border:0;background:none !important;padding:10px 0;font:inherit;color:#FF8A3D !important;
  text-decoration:underline;cursor:pointer;
}

/* =========================================================================
 * Take it to work (principles + questions)
 * ====================================================================== */
.mlc-tw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(400px,100%),1fr));gap:40px 56px;}
.mlc-tw-col{border-top:2px solid #242424;padding-top:14px;}
.mlc-tw .mlc-tw-kicker{
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;
  color:#242424 !important;
}
.mlc-tw-list{margin:8px 0 0;}
.mlc-tw .mlc-tw-item{
  display:grid;grid-template-columns:44px 1fr;padding:14px 0;border-bottom:1px solid #D8D3C6;
  font-size:18px;line-height:1.4;color:#242424 !important;
}
.mlc-tw .mlc-tw-n{font-weight:900;font-size:24px;color:#FF6A00 !important;line-height:1;}
.mlc-tw .mlc-tw-q{grid-template-columns:28px 1fr;font-family:'Newsreader',Georgia,serif;font-size:19px;}
.mlc-tw .mlc-tw-mark{font-family:'IBM Plex Mono',ui-monospace,monospace;color:#A84400 !important;}

/* =========================================================================
 * Worksheet signup (gated resource)
 * ====================================================================== */
.mlc-ws-card{
  display:flex;flex-wrap:wrap;gap:24px 48px;align-items:center;
  padding:clamp(24px,3vw,36px);background:#EFEBE1 !important;
}
.mlc-ws-thumb{
  flex:0 0 120px;height:150px;background:#FFFFFF !important;border:1.5px solid #242424;
  padding:12px;display:flex;flex-direction:column;gap:6px;
}
.mlc-ws-thumb>span{display:block;}
.mlc-ws-thumb>span:nth-child(1){height:8px;width:70%;background:#242424;}
.mlc-ws-thumb>span:nth-child(2),
.mlc-ws-thumb>span:nth-child(3){height:4px;width:100%;background:#D8D3C6;}
.mlc-ws-thumb>span:nth-child(4){height:4px;width:80%;background:#D8D3C6;}
.mlc-ws-thumb .mlc-ws-thumb-cta{margin-top:auto;height:22px;width:50%;background:#FF6A00;}
.mlc-ws-copy{flex:2 1 300px;min-width:0;}
.mlc-ws .mlc-ws-eyebrow{
  display:flex;gap:8px;align-items:center;
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;
  color:#242424 !important;
}
.mlc-ws-tick{display:block;width:10px;height:10px;border:1.5px solid #242424;}
.mlc-ws .mlc-ws-title{margin:8px 0 0;font-weight:800;font-size:26px;letter-spacing:-0.02em;line-height:1.1;color:#242424 !important;}
.mlc-ws .mlc-ws-desc{margin:8px 0 0;font-size:16px;line-height:1.5;color:#5C5852 !important;}
.mlc-ws-form-wrap{flex:2 1 320px;min-width:0;}
.mlc-ws .mlc-ws-label{display:block;font-size:14px;font-weight:600;margin-bottom:8px;color:#242424 !important;}
.mlc-ws-row{display:flex;flex-wrap:wrap;gap:8px;}
.mlc-ws .mlc-ws-input{
  flex:1 1 200px;min-width:0;height:52px;padding:0 14px;border:1.5px solid #242424 !important;
  background:#FFFFFF !important;color:#242424 !important;font:inherit;font-size:16px;border-radius:0 !important;
}
.mlc-ws .mlc-ws-btn{
  height:52px;padding:0 20px;border:0;background:#FF6A00 !important;color:#242424 !important;
  font:inherit;font-weight:700;font-size:16px;cursor:pointer;border-radius:0 !important;
  transition:background-color .12s,color .12s;
}
.mlc-ws .mlc-ws-btn:hover:not(:disabled){background:#242424 !important;color:#F7F5EF !important;}
.mlc-ws .mlc-ws-input:disabled,
.mlc-ws .mlc-ws-btn:disabled{opacity:.5;cursor:default;}
.mlc-ws .mlc-ws-note{margin:8px 0 0;font-size:13px;line-height:1.5;color:#5C5852 !important;}
.mlc-ws .mlc-ws-note code{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;background:#FFFFFF;padding:1px 5px;}

/* =========================================================================
 * Related lessons ("Where to next?")
 * ====================================================================== */
.mlc-rl-head{
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;
  border-top:2px solid #242424;padding-top:14px;
}
.mlc-rl .mlc-rl-h{font-weight:900;font-size:clamp(36px,4vw,56px);letter-spacing:-0.04em;line-height:1;color:#242424 !important;}
.mlc-rl .mlc-rl-back{font-size:15px;font-weight:600;color:#242424 !important;text-decoration:none;}
.mlc-rl .mlc-rl-back:hover{text-decoration:underline;text-decoration-color:#FF6A00;}
.mlc-rl-grid{
  margin-top:32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));
  gap:0;border-left:1px solid #D8D3C6;
}
.mlc-rl .mlc-rl-card{
  display:flex;flex-direction:column;gap:14px;padding:24px;min-height:240px;
  border-right:1px solid #D8D3C6;border-bottom:1px solid #D8D3C6;
  text-decoration:none;color:#242424 !important;background:transparent;
  transition:background-color .12s;
}
.mlc-rl .mlc-rl-card.mlc-rl-featured{background:#242424 !important;color:#F7F5EF !important;}
.mlc-rl .mlc-rl-kicker{
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;
  color:#A84400 !important;
}
.mlc-rl .mlc-rl-featured .mlc-rl-kicker{color:#FF8A3D !important;}
.mlc-rl .mlc-rl-title{font-weight:800;font-size:24px;line-height:1.12;letter-spacing:-0.02em;}
.mlc-rl .mlc-rl-meta{
  margin-top:auto;display:flex;gap:8px;align-items:center;
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;color:#5C5852 !important;
}
.mlc-rl .mlc-rl-featured .mlc-rl-meta{color:#D8D3C6 !important;}
.mlc-rl .mlc-rl-dot{display:block;width:9px;height:9px;background:#FF6A00;flex:0 0 auto;}
.mlc-rl .mlc-rl-card:hover .mlc-rl-title{text-decoration:underline;text-decoration-color:#FF6A00;text-decoration-thickness:2px;text-underline-offset:4px;}
.mlc-rl-empty{margin-top:32px;border:1.5px dashed #D8D3C6;padding:32px 24px;}
.mlc-rl .mlc-rl-empty p{font-family:'Newsreader',Georgia,serif;font-size:18px;color:#5C5852 !important;}


/* v1.0.2 — narrow-screen overflow prevention for interactive decisions.
   Scoped to Margin components; does not affect global theme/Elementor styles. */
.mlc-root, .mlc-root .mlc-yc, .mlc-root .mlc-yc-card,
.mlc-root .mlc-yc-opts, .mlc-root .mlc-yc-item,
.mlc-root .mlc-yc-fb { min-width:0; max-width:100%; }
.mlc-yc .mlc-yc-opt { min-width:0; max-width:100%; white-space:normal !important; }
.mlc-yc .mlc-yc-opt > *, .mlc-yc .mlc-yc-fb > * {min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal;white-space:normal !important;}
@media(max-width:767px){
 .mlc-root { width:100%; max-width:100%; min-width:0; }
 .mlc-yc-card {padding:clamp(18px,5vw,26px) !important;overflow:visible;}
 .mlc-yc .mlc-yc-q {font-size:clamp(24px,6.5vw,30px);line-height:1.15;overflow-wrap:anywhere;}
 .mlc-yc .mlc-yc-intro {font-size:14px;line-height:1.55;overflow-wrap:anywhere;}
 .mlc-yc-opts {gap:9px;width:100%;}
 .mlc-yc .mlc-yc-opt {display:grid !important;grid-template-columns:24px minmax(0,1fr) !important;gap:8px;align-items:start;padding:12px 10px !important;font-size:14px !important;line-height:1.45 !important;width:100% !important;max-width:100% !important;min-width:0 !important;letter-spacing:normal !important;white-space:normal !important;overflow-wrap:anywhere;}
 .mlc-yc .mlc-yc-opt > * {white-space:normal !important;max-width:100%;min-width:0;overflow-wrap:anywhere;}
 .mlc-yc .mlc-yc-key {font-size:13px;line-height:1.45;}
 .mlc-yc-fb {padding:12px 12px 14px !important;font-size:14px !important;line-height:1.5;overflow-wrap:anywhere;}
 .mlc-yc-fb * {white-space:normal !important;overflow-wrap:anywhere;max-width:100%;}
 .mlc-yc .mlc-yc-habit {font-size:14px;overflow-wrap:anywhere;}
 .mlc-tw-grid {grid-template-columns:minmax(0,1fr);gap:26px;}
 .mlc-tw .mlc-tw-item {grid-template-columns:28px minmax(0,1fr);font-size:15px;}
 .mlc-tw .mlc-tw-q {grid-template-columns:22px minmax(0,1fr);font-size:17px;}
 .mlc-ws-card {padding:20px;gap:18px;}
 .mlc-ws-copy {flex-basis:100%;}
 .mlc-rl-grid {grid-template-columns:minmax(0,1fr);}
}
