/* VDMT V14 — course detail + registration prototype */
.course-detail-v14 { --reg-ink:#173b35; --reg-teal:#4b967e; --reg-deep:#193f36; --reg-ivory:#f7f3eb; --reg-sage:#dfeae5; --reg-line:rgba(25,63,54,.16); }
.course-detail-v14 .course-hero-meta{display:flex;flex-wrap:wrap;gap:.7rem 1.25rem;margin:1.4rem 0 0;color:var(--reg-ink);font-size:.88rem;letter-spacing:.02em}
.course-detail-v14 .course-hero-meta span{display:inline-flex;align-items:center;gap:.45rem}
.course-detail-v14 .course-hero-meta span:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--reg-teal)}
.course-detail-v14 .course-cta-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.55rem}
.course-detail-v14 .course-cta-row .btn{min-width:190px;justify-content:center}
.course-detail-v14 .course-cta-row .text-link{align-self:center}
.course-detail-v14 .course-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:clamp(2rem,5vw,5rem);align-items:start}
.course-detail-v14 .course-main{min-width:0}
.course-detail-v14 .course-intro-card{padding:clamp(1.5rem,3vw,2.35rem);background:var(--reg-ivory);border:1px solid var(--reg-line);margin-bottom:2.4rem}
.course-detail-v14 .course-intro-card .eyebrow{margin-bottom:.8rem}
.course-detail-v14 .course-section{padding:2.5rem 0;border-top:1px solid var(--reg-line)}
.course-detail-v14 .course-section h2{max-width:760px;margin-bottom:1rem}
.course-detail-v14 .course-section p,.course-detail-v14 .course-section li{max-width:760px}
.course-detail-v14 .outcome-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.4rem}
.course-detail-v14 .outcome-card{padding:1.25rem;border:1px solid var(--reg-line);background:#fff}
.course-detail-v14 .outcome-card strong{display:block;margin-bottom:.45rem;color:var(--reg-deep)}
.course-detail-v14 .course-sidebar{position:sticky;top:108px;padding:1.4rem;border:1px solid var(--reg-line);background:#fff;box-shadow:0 18px 45px rgba(25,63,54,.06)}
.course-detail-v14 .course-sidebar h3{margin:0 0 1rem}
.course-detail-v14 .course-sidebar dl{margin:0 0 1.2rem}
.course-detail-v14 .course-sidebar .fact{display:grid;grid-template-columns:108px 1fr;gap:.75rem;padding:.75rem 0;border-top:1px solid var(--reg-line)}
.course-detail-v14 .course-sidebar .fact:first-child{border-top:0}
.course-detail-v14 .course-sidebar dt{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(23,59,53,.62)}
.course-detail-v14 .course-sidebar dd{margin:0;color:var(--reg-deep)}
.course-detail-v14 .course-sidebar .btn{width:100%;justify-content:center}
.course-detail-v14 .course-note{font-size:.88rem;color:rgba(23,59,53,.7);margin:.9rem 0 0}

.registration-v14{background:linear-gradient(180deg,#fbf8f1 0,#fff 42%);min-height:100vh}
.registration-v14 .registration-hero{padding:clamp(4.2rem,8vw,7rem) 0 2.2rem}
.registration-v14 .registration-hero .wrap{max-width:1120px}
.registration-v14 .registration-hero h1{max-width:760px;margin-bottom:.9rem}
.registration-v14 .registration-hero .lead{max-width:720px}
.registration-v14 .registration-progress{display:flex;align-items:center;gap:.65rem;margin-top:1.6rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(23,59,53,.58)}
.registration-v14 .registration-progress .current{color:var(--reg-deep);font-weight:700}
.registration-v14 .registration-progress i{width:34px;height:1px;background:rgba(25,63,54,.22)}
.registration-v14 .registration-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:clamp(2rem,5vw,5rem);align-items:start;padding-bottom:clamp(4rem,8vw,7rem)}
.registration-v14 .registration-card{background:#fff;border:1px solid var(--reg-line);padding:clamp(1.35rem,3vw,2.35rem)}
.registration-v14 .registration-card h2{margin:0 0 .55rem}
.registration-v14 .registration-card>.helper{margin:0 0 2rem;color:rgba(23,59,53,.68)}
.registration-v14 .form-section{padding:1.7rem 0;border-top:1px solid var(--reg-line)}
.registration-v14 .form-section:first-of-type{border-top:0;padding-top:0}
.registration-v14 .form-section h3{margin:0 0 1.1rem;font-size:1rem;letter-spacing:.02em}
.registration-v14 .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.registration-v14 .field{display:flex;flex-direction:column;gap:.45rem}
.registration-v14 .field.full{grid-column:1/-1}
.registration-v14 label{font-size:.82rem;font-weight:650;color:var(--reg-deep)}
.registration-v14 input,.registration-v14 select,.registration-v14 textarea{width:100%;border:1px solid rgba(25,63,54,.2);background:#fff;padding:.85rem .9rem;border-radius:0;color:var(--reg-ink);font:inherit;outline:none;transition:border-color .2s ease,box-shadow .2s ease}
.registration-v14 textarea{min-height:120px;resize:vertical}
.registration-v14 input:focus,.registration-v14 select:focus,.registration-v14 textarea:focus{border-color:var(--reg-teal);box-shadow:0 0 0 3px rgba(75,150,126,.12)}
.registration-v14 .required{color:var(--reg-teal)}
.registration-v14 .checkbox{display:grid;grid-template-columns:20px 1fr;gap:.65rem;align-items:start;font-size:.9rem;line-height:1.55}
.registration-v14 .checkbox input{width:18px;height:18px;margin-top:.15rem;padding:0;accent-color:var(--reg-teal)}
.registration-v14 .form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.4rem}
.registration-v14 .form-actions .btn{min-width:180px;justify-content:center}
.registration-v14 .form-actions small{max-width:430px;color:rgba(23,59,53,.62);line-height:1.5}
.registration-v14 .registration-summary{position:sticky;top:108px;background:var(--reg-deep);color:#fff;padding:1.4rem}
.registration-v14 .registration-summary .eyebrow{color:rgba(255,255,255,.58)}
.registration-v14 .registration-summary h2{color:#fff;font-size:clamp(1.55rem,2.7vw,2.2rem);margin:.6rem 0 1rem}
.registration-v14 .registration-summary dl{margin:0}
.registration-v14 .registration-summary .fact{display:grid;grid-template-columns:96px 1fr;gap:.65rem;padding:.75rem 0;border-top:1px solid rgba(255,255,255,.16)}
.registration-v14 .registration-summary dt{font-size:.73rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.56)}
.registration-v14 .registration-summary dd{margin:0;color:#fff}
.registration-v14 .registration-summary p{color:rgba(255,255,255,.72);font-size:.88rem;margin:1rem 0 0}
.registration-v14 .thankyou{padding:clamp(5rem,10vw,9rem) 0}
.registration-v14 .thankyou-box{max-width:820px;margin:auto;text-align:left;border:1px solid var(--reg-line);background:#fff;padding:clamp(2rem,5vw,4rem)}
.registration-v14 .thankyou-mark{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--reg-sage);color:var(--reg-deep);font-size:1.4rem;margin-bottom:1.35rem}
.registration-v14 .thankyou-box h1{max-width:650px}
.registration-v14 .thankyou-box .lead{max-width:650px;margin-bottom:1.8rem}
.registration-v14 .next-steps{margin:1.8rem 0;padding:1.25rem 0;border-top:1px solid var(--reg-line);border-bottom:1px solid var(--reg-line)}
.registration-v14 .next-steps p{margin:.45rem 0}

@media(max-width:900px){
 .course-detail-v14 .course-shell,.registration-v14 .registration-layout{grid-template-columns:1fr}
 .course-detail-v14 .course-sidebar,.registration-v14 .registration-summary{position:static}
 .course-detail-v14 .outcome-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
 .registration-v14 .registration-hero{padding-top:3.5rem}
 .registration-v14 .form-grid{grid-template-columns:1fr}
 .registration-v14 .field.full{grid-column:auto}
 .registration-v14 .registration-card{padding:1.15rem}
 .course-detail-v14 .course-cta-row .btn{width:100%}
}
