/* Love, Sex and Marriage course (extends course.css) */
:root{--rose:#b5476b;--rose-l:#fbeef2}
.lsm-hero{background:linear-gradient(180deg,#f8eef1 0%,var(--cream) 60%,var(--sand) 100%)}
.lsm-pill-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.lsm-pill-row span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.3rem .8rem;font-size:.85rem;color:var(--navy);font-weight:600}
.lsm-tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1.2rem}
.lsm-tool{display:flex;flex-direction:column;gap:.3rem;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.2rem;text-decoration:none;transition:.2s}
.lsm-tool:hover{border-color:var(--rose);transform:translateY(-2px)}
.lsm-tool .ic{font-size:1.6rem}.lsm-tool strong{color:var(--navy)}.lsm-tool span{font-size:.86rem;color:var(--muted)}
.lsm-tool em{font-style:normal;font-size:.75rem;font-weight:700;color:#1b5e20}
.lsm-progress{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.2rem;margin:1.5rem 0}
.lsm-progress-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-bottom:.6rem;font-size:.92rem;color:var(--muted)}
.lsm-progress-head strong{color:var(--navy)}
.bar{height:10px;background:var(--sand);border-radius:999px;overflow:hidden;flex:1}
.bar span{display:block;height:100%;background:linear-gradient(90deg,var(--rose),var(--orange));border-radius:999px;transition:width .6s}
.lsm-cert-cta{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;background:linear-gradient(135deg,var(--navy),#3a2440);color:#eee;border-radius:var(--r);padding:1.5rem;margin-bottom:1.5rem}
.lsm-cert-cta h2{color:#fff;margin:.2rem 0}
.lsm-chapter{margin-top:2rem}.lsm-chapter h3{font-size:1.3rem;margin:0}.lsm-chapter h3 span{display:block;font-family:var(--sans,Inter,sans-serif);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rose)}
.lsm-chapter .mod-grid{margin-top:.8rem}
.lsm-badges{list-style:none;padding:0;margin:1rem 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.7rem}
.lsm-badges li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.2rem;background:#fff;border:1px dashed var(--line);border-radius:var(--r);padding:.9rem .6rem;filter:grayscale(1);opacity:.6}
.lsm-badges li.got{filter:none;opacity:1;border-style:solid;border-color:var(--rose);background:var(--rose-l)}
.lsm-badges .b-icon{font-size:1.8rem}.lsm-badges strong{font-size:.85rem;color:var(--navy)}.lsm-badges span{font-size:.74rem;color:var(--muted)}
.lsm-modbar{display:flex;align-items:center;gap:.8rem;font-size:.8rem;color:var(--muted);margin-bottom:1rem;max-width:720px}
.lsm-intro{background:var(--rose-l);border-left:4px solid var(--rose);border-radius:0 var(--r) var(--r) 0;padding:1rem 1.2rem;margin:1.2rem 0;max-width:720px}
.lsm-intro p{margin:.3rem 0 0;color:#3c4250}
.lsm-h{font-size:1.35rem;margin:1.5rem 0 .6rem}
.lsm-scriptures{max-width:720px;margin-bottom:1.5rem}
.lsm-scripture-grid{display:grid;gap:.8rem}
.lsm-scripture-grid blockquote{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.2rem}
.lsm-scripture-grid p{font-family:var(--serif);font-size:1.15rem;color:var(--navy);margin:0 0 .4rem}
.lsm-scripture-grid cite{font-style:normal;font-size:.8rem;font-weight:700;color:var(--rose)}
.lsm-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.4rem;margin:1.5rem 0;max-width:720px}
.lsm-card.center{text-align:center}
.lsm-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin:.4rem 0 .8rem}
.lsm-tabs button,.lsm-tabs a{border:1px solid var(--line);background:var(--cream);border-radius:999px;padding:.4rem .9rem;font:inherit;font-size:.88rem;cursor:pointer;color:var(--navy);text-decoration:none}
.lsm-tabs button.on,.lsm-tabs a.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.lsm-tabs.big{position:sticky;top:64px;z-index:5;background:#fff;padding:.6rem 0}
.lsm-prompt{font-size:1.05rem;color:var(--navy);font-weight:500}
.lsm-exercise ol li{margin:.4rem 0;color:#3c4250}
.lsm-newbadge{background:var(--rose-l);border-radius:8px;padding:.7rem 1rem;margin:.6rem 0}
.lsm-pulse{animation:lsmpulse 1.4s ease 2}
@keyframes lsmpulse{50%{box-shadow:0 0 0 6px rgba(181,71,107,.25)}}
.lsm-likert{display:grid;grid-template-columns:repeat(5,1fr);gap:.3rem}
.lsm-likert label,.lsm-seg label{position:relative;cursor:pointer}
.lsm-likert input,.lsm-seg input{position:absolute;opacity:0}
.lsm-likert span,.lsm-seg span{display:block;text-align:center;font-size:.72rem;line-height:1.2;padding:.55rem .2rem;border:1px solid var(--line);border-radius:8px;background:var(--cream);height:100%}
.lsm-likert input:checked+span,.lsm-seg input:checked+span{background:var(--navy);color:#fff;border-color:var(--navy)}
.lsm-likert input:focus-visible+span,.lsm-seg input:focus-visible+span{outline:2px solid var(--orange)}
.lsm-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:.3rem;margin:.4rem 0}
.lsm-check{border-bottom:1px solid var(--line);padding:.8rem 0}.lsm-check p{margin:0;font-weight:600;color:var(--navy)}
.lsm-check textarea{margin-top:.3rem}
.lsm-result-top{background:var(--rose-l);border-radius:var(--r);padding:1.2rem;margin-bottom:1rem}
.lsm-result-top h3{margin:.1rem 0 .4rem}
.tip{font-size:.92rem;color:#3c4250}
.lsm-row{display:grid;grid-template-columns:minmax(120px,1.3fr) 2fr auto;align-items:center;gap:.6rem;margin:.5rem 0;font-size:.88rem}
.lsm-row b{min-width:2.5rem;text-align:right;color:var(--navy)}
.lsm-row .tag{grid-column:1/-1;justify-self:start;font-style:normal;font-size:.72rem;font-weight:700;padding:.15rem .5rem;border-radius:999px;margin-top:-.2rem}
.tag.ok{background:#e8f5e9;color:#1b5e20}.tag.mid{background:#fff4e5;color:#8a4b00}.tag.low{background:#fdecea;color:#8c1d18}
.lsm-spectrum{border-bottom:1px solid var(--line);padding:1rem 0}
.sp-head{display:flex;justify-content:space-between;gap:.5rem;align-items:center}
.pill{background:var(--navy);color:#fff;border-radius:999px;padding:.15rem .6rem;font-size:.75rem;font-weight:700}
.sp-track{display:grid;grid-template-columns:auto 1fr auto;gap:.6rem;align-items:center;font-size:.75rem;color:var(--muted);margin:.6rem 0}
.sp-line{position:relative;height:8px;background:linear-gradient(90deg,#d6dbe6,var(--sand),#f2c7d3);border-radius:999px}
.sp-line i{position:absolute;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--rose);border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.lsm-choice{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:1rem 0}
.lsm-choice .btn{white-space:normal;line-height:1.3;padding:1rem}
.lsm-choice small{font-weight:400;opacity:.85}
.lsm-code{font-family:ui-monospace,Menlo,monospace;font-size:.78rem;word-break:break-all}
.lsm-overall{display:flex;align-items:baseline;gap:.8rem;margin:.5rem 0 1rem}
.lsm-overall .big{font-family:var(--serif);font-size:3.2rem;font-weight:700;color:var(--rose)}
.lsm-discuss{border-left:3px solid var(--orange);padding:.2rem 0 .2rem 1rem;margin:1rem 0}
.lsm-discuss h4,.lsm-pp h4{margin:0 0 .3rem}
.lsm-discuss small{color:var(--muted)}
.lsm-pp{background:var(--cream);border-radius:var(--r);padding:1rem;margin:.7rem 0}
.q-block small.area{display:block;font-weight:400;font-size:.75rem;color:var(--rose);margin-top:.2rem}
.lsm-privacy{background:#eef4ee;border:1px solid #cfe3cf;border-radius:var(--r);padding:.9rem 1.1rem;font-size:.88rem;color:#24452a;max-width:720px}
.lsm-sum{border-top:1px solid var(--line);padding-top:.6rem}
.lsm-cert{max-width:820px;margin:0 auto;background:#fff;border:10px double var(--rose);border-radius:6px;padding:clamp(1.5rem,5vw,3.5rem);text-align:center;font-family:var(--serif)}
.lsm-cert .c-eyebrow{letter-spacing:.2em;text-transform:uppercase;font-family:Inter,sans-serif;font-size:.8rem;font-weight:700;color:var(--rose)}
.lsm-cert .c-small{font-size:1.1rem;color:var(--muted);margin:.4rem 0}
.lsm-cert .c-name{font-size:clamp(2rem,6vw,3.2rem);color:var(--navy);border-bottom:1px solid var(--line);display:inline-block;padding:0 1.5rem .2rem;margin:.6rem 0}
.lsm-cert .c-title{font-size:clamp(1.6rem,5vw,2.4rem);font-weight:700;color:var(--navy);margin:.3rem 0}
.lsm-cert .c-foot{display:flex;justify-content:space-around;gap:1rem;margin-top:2rem;flex-wrap:wrap}
.lsm-cert .c-foot div{display:flex;flex-direction:column;border-top:1px solid var(--navy);padding-top:.4rem;min-width:180px}
.lsm-cert .c-foot span{font-family:Inter,sans-serif;font-size:.75rem;color:var(--muted)}
.lsm-cert .c-verse{font-style:italic;color:var(--muted);margin-top:1.6rem;font-size:1rem}
@media (max-width:600px){.lsm-choice{grid-template-columns:1fr}.lsm-likert span{font-size:.62rem;padding:.5rem .1rem}.lsm-row{grid-template-columns:1fr 1.2fr auto}.lsm-tabs.big{top:56px}}
@media print{
  .site-header,.site-footer,.topbar,.no-print,.lsm-tabs,form,.mod-nav,.feedback-form{display:none!important}
  body{background:#fff}.course-main{padding:0}
  .lsm-cert{border-width:8px;page-break-inside:avoid}
  .lsm-card{border:0;padding:0}
}
.lsm-test{margin-bottom:2rem}.lsm-test-result{margin-top:1rem}
.lsm-paste{margin-top:1rem;font-size:.9rem}.lsm-paste summary{cursor:pointer;color:var(--navy);font-weight:600}
.sp-track .lo{text-align:left}.sp-track .hi{text-align:right}
