/* Our Courses: uses the site's own tokens (dark emerald, gold, Lora + Inter). */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.course-hero h1{max-width:900px}
.course-proof{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.course-proof li{display:flex;flex-direction:column;padding:12px 18px;border:1px solid rgba(214,180,92,.22);border-radius:16px;background:rgba(255,255,255,.02);min-width:170px}
.course-proof b{color:var(--gold2,#f0d98d);font-size:.95rem}.course-proof span{color:var(--muted,#b7c6bb);font-size:.82rem}

.sw-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:14px}
.sw-tools input,.sw-tools select{min-width:0;padding:13px 16px;border-radius:999px;border:1px solid rgba(214,180,92,.3);background:#061a14;color:#fff;font:inherit}
.sw-tools input{flex:1 1 280px;max-width:440px}.sw-tools select{flex:0 1 220px;appearance:auto}
.sw-tools input:focus-visible,.sw-tools select:focus-visible{outline:2px solid var(--gold2,#f0d98d);outline-offset:2px}
.sw-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.sw-chip{border:1px solid rgba(214,180,92,.28);background:transparent;color:#d5ded6;border-radius:999px;padding:8px 14px;font:600 .84rem Inter,system-ui,sans-serif;cursor:pointer;min-height:38px}
.sw-chip span{opacity:.6;margin-left:3px}
.sw-chip[aria-pressed="true"]{background:var(--gold2,#f0d98d);color:#14251a;border-color:transparent}
.sw-chip:focus-visible{outline:2px solid var(--gold2,#f0d98d);outline-offset:2px}
.sw-count{color:var(--muted,#b7c6bb);font-size:.88rem;margin:0 0 18px}
.sw-empty,.course-error{padding:28px;border:1px dashed rgba(214,180,92,.3);border-radius:18px;text-align:center;color:var(--muted,#b7c6bb)}
.course-error a{color:var(--gold2,#f0d98d);text-decoration:underline}
.link-btn{background:none;border:0;color:var(--gold2,#f0d98d);font:inherit;text-decoration:underline;cursor:pointer;padding:0}

.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.course-card{display:flex;flex-direction:column;min-width:0;border:1px solid rgba(214,180,92,.2);border-radius:22px;overflow:hidden;background:linear-gradient(145deg,#103729,#082219);transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
.course-card:hover{transform:translateY(-3px);border-color:rgba(214,180,92,.5);box-shadow:0 20px 50px rgba(0,0,0,.35)}
.course-card[hidden]{display:none!important}
.course-thumb{display:block;aspect-ratio:16/9;width:100%;height:auto;object-fit:cover;background:#0b2a1f;border-bottom:1px solid rgba(214,180,92,.18)}
.course-body{display:flex;flex-direction:column;gap:10px;padding:20px 22px 22px;flex:1}
.course-body h3{font:500 1.35rem/1.22 "Lora",Georgia,serif;margin:0;color:var(--cream,#f4f0e4)}
.course-body p{color:var(--muted,#b7c6bb);margin:0;font-size:.93rem}
.course-meta{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 0;padding:0;list-style:none}
.course-meta li{font-size:.74rem;font-weight:700;letter-spacing:.02em;border-radius:999px;padding:4px 10px;border:1px solid rgba(255,255,255,.12);color:#d7e1da;background:rgba(255,255,255,.03)}
.course-meta .m-dur{border-color:rgba(214,180,92,.35);color:var(--gold2,#f0d98d)}
.course-price{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid rgba(214,180,92,.14)}
.course-price b{font:600 1.55rem/1 "Lora",Georgia,serif;color:var(--gold2,#f0d98d)}
.course-price small{color:var(--muted,#b7c6bb);font-size:.78rem}
.course-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.course-actions .btn{padding:11px 12px;font-size:.86rem;margin:0;width:100%}
.course-skeleton{min-height:420px;background:linear-gradient(100deg,#0c2b20 30%,#123b2b 50%,#0c2b20 70%);background-size:300% 100%;animation:cskel 1.4s ease infinite}
@keyframes cskel{to{background-position:-150% 0}}
@media (prefers-reduced-motion:reduce){.course-skeleton{animation:none}.course-card{transition:none}}

.course-steps-wrap{background:linear-gradient(180deg,#081f17,#0a281d)}
.course-steps{list-style:none;counter-reset:s;margin:0 0 40px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.course-steps li{counter-increment:s;border-top:2px solid var(--gold,#d6b45c);padding:18px 4px 0;display:flex;flex-direction:column;gap:6px}
.course-steps li::before{content:"0" counter(s);font:1.5rem "Lora",Georgia,serif;color:var(--gold2,#f0d98d)}
.course-steps b{font-size:1.02rem}.course-steps span{color:var(--muted,#b7c6bb);font-size:.9rem}
.sw-cta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:30px;border:1px solid rgba(214,180,92,.3);border-radius:24px;background:radial-gradient(circle at 90% 0%,rgba(214,180,92,.16),transparent 50%),linear-gradient(145deg,#103727,#071d16)}
.sw-cta h2{font:500 clamp(1.7rem,3.4vw,2.4rem)/1.15 "Lora",Georgia,serif;margin:8px 0}
.sw-cta p{color:var(--muted,#b7c6bb);margin:0;max-width:520px}.sw-cta .hero-actions{margin:0}

/* dialogs */
.course-dialog{width:min(760px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid rgba(214,180,92,.55);border-radius:24px;background:#0c2a1e;color:var(--cream,#f4f0e4);box-shadow:0 30px 90px rgba(0,0,0,.6)}
.course-dialog::backdrop{background:rgba(2,10,7,.78)}
.cd-shell{position:relative;padding:28px;overflow:auto;max-height:calc(100dvh - 26px)}
.cd-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(214,180,92,.35);background:#0a241a;color:var(--cream,#f4f0e4);font-size:1rem;cursor:pointer;z-index:2}
.cd-close:focus-visible{outline:2px solid var(--gold2,#f0d98d);outline-offset:2px}
.course-dialog h2{font:500 clamp(1.5rem,3.6vw,2.1rem)/1.15 "Lora",Georgia,serif;margin:8px 48px 8px 0}
.course-dialog h3{font-size:1rem;color:var(--gold2,#f0d98d);margin:22px 0 8px;letter-spacing:.02em}
.cd-muted{color:var(--muted,#b7c6bb);font-size:.88rem;font-weight:400}
.cd-hero{display:block;width:100%;aspect-ratio:16/9;height:auto;border-radius:16px;margin:0 0 16px;border:1px solid rgba(214,180,92,.2);object-fit:cover}
.cd-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0 4px}
.cd-facts div{border:1px solid rgba(214,180,92,.2);border-radius:14px;padding:10px 12px;background:rgba(255,255,255,.02)}
.cd-facts small{display:block;color:var(--muted,#b7c6bb);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.cd-facts b{font-size:.95rem}
.cd-list{margin:0;padding:0;list-style:none;display:grid;gap:7px}
.cd-list li{padding-left:22px;position:relative;color:#d7e1da;font-size:.94rem}
.cd-list li::before{content:"✓";position:absolute;left:0;color:var(--gold,#d6b45c);font-weight:800}
.cd-curr{margin:0;padding-left:22px;display:grid;gap:7px;color:#d7e1da;font-size:.94rem}
.cd-overview{color:#d7e1da;margin:12px 0 0;white-space:pre-line}
.cd-foot{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:24px;padding-top:18px;border-top:1px solid rgba(214,180,92,.18)}
.cd-foot b{font:600 1.6rem "Lora",Georgia,serif;color:var(--gold2,#f0d98d)}

.enroll-form{margin-top:10px}
.ef-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ef-full{grid-column:1/-1}
.ef-field{display:flex;flex-direction:column;gap:6px;font-size:.88rem;font-weight:600;color:#e7ece8;border:0;padding:0;margin:0;min-width:0}
.ef-field legend{padding:0;margin-bottom:6px}
.ef-field input,.ef-field textarea,.ef-field select{width:100%;padding:12px 14px;border-radius:12px;border:1px solid rgba(214,180,92,.3);background:#061a14;color:#fff;font:400 16px/1.4 Inter,system-ui,sans-serif}
.ef-field input[type=file]{padding:9px;font-size:.9rem}
.ef-field input:focus-visible,.ef-field textarea:focus-visible{outline:2px solid var(--gold2,#f0d98d);outline-offset:1px}
.ef-field [aria-invalid="true"]{border-color:#ff9b91}
.ef-readonly{opacity:.85;cursor:default}
.ef-inline{display:flex;align-items:center;gap:8px;font-weight:400;color:var(--muted,#b7c6bb);font-size:.84rem;cursor:pointer}
.ef-inline input{width:auto}
.ef-options{display:flex;flex-wrap:wrap;gap:8px}
.ef-options label{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;border:1px solid rgba(214,180,92,.3);cursor:pointer;font-weight:600;min-height:44px}
.ef-options input{width:18px;height:18px;accent-color:#d6b45c;margin:0}
.ef-options label:has(input:checked){background:rgba(240,217,141,.12);border-color:var(--gold2,#f0d98d)}
.pay-box{border:1px solid rgba(214,180,92,.35);border-radius:16px;padding:14px 16px;background:rgba(240,217,141,.06);font-size:.9rem}
.pay-box dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:8px 0}
.pay-box dt{color:var(--muted,#b7c6bb)}.pay-box dd{margin:0;font-weight:700;word-break:break-word}
.pay-box p{margin:6px 0 0;color:#d7e1da}
.ef-note{color:var(--muted,#b7c6bb);font-size:.8rem;margin:14px 0 0}.ef-note a{color:var(--gold2,#f0d98d);text-decoration:underline}
.ef-error{margin-top:12px;padding:12px 14px;border-radius:12px;background:rgba(255,155,145,.1);border:1px solid rgba(255,155,145,.45);color:#ffd1cb;font-size:.9rem}
.ef-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.ef-actions .btn{margin:0}
.ef-actions .btn[disabled]{opacity:.6;cursor:progress}
.done-id{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0;padding:18px;border-radius:18px;border:1px solid var(--gold2,#f0d98d);background:rgba(240,217,141,.08)}
.done-id small{display:block;color:var(--muted,#b7c6bb);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}
.done-id b{font:600 clamp(1.4rem,5vw,2rem) "Lora",Georgia,serif;color:var(--gold2,#f0d98d);letter-spacing:.03em}
.done-id .btn{margin:0 0 0 auto;padding:9px 14px;font-size:.85rem}
.done-list{margin:10px 0 0;padding-left:20px;display:grid;gap:6px;color:#d7e1da}
.done-warn{margin-top:12px;padding:12px 14px;border-radius:12px;border:1px solid rgba(240,217,141,.4);color:#f6e7b0;font-size:.9rem}

@media(max-width:980px){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){
 .course-grid{grid-template-columns:1fr}.course-steps{grid-template-columns:1fr}
 .ef-grid{grid-template-columns:1fr}.cd-facts{grid-template-columns:1fr 1fr}
 .cd-shell{padding:22px 16px}.sw-tools select{flex:1 1 100%}
 .course-proof li{min-width:0;flex:1 1 140px}
 .done-id .btn{margin-left:0}
}
.course-media{position:relative}
.course-ribbon{position:absolute;top:12px;left:12px;padding:5px 11px;border-radius:999px;background:#c8372f;color:#fff;font:700 .78rem/1.2 system-ui,sans-serif;letter-spacing:.04em;box-shadow:0 6px 16px rgba(0,0,0,.35)}
.cp-now{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}
.cp-was{color:var(--muted,#b7c6bb);font:500 .95rem system-ui,sans-serif;text-decoration:line-through;text-decoration-color:#e0675d;text-decoration-thickness:2px}
.cp-off{padding:2px 8px;border-radius:999px;background:rgba(200,55,47,.18);color:#ff9a8f;font:700 .75rem/1.4 system-ui,sans-serif}
.course-proof li a{display:flex;flex-direction:column;color:inherit;text-decoration:none}
.course-guarantee-wrap{padding-top:0}
.course-guarantee{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px;padding:36px;border:1px solid rgba(214,180,92,.45);border-radius:28px;background:radial-gradient(120% 140% at 0% 0%,rgba(214,180,92,.14),transparent 55%),linear-gradient(145deg,#103729,#082219)}
.course-guarantee h2{font:600 clamp(1.6rem,3vw,2.3rem)/1.2 "Lora",Georgia,serif;margin:10px 0 14px}
.course-guarantee p{color:var(--muted,#b7c6bb)}
.course-guarantee .cg-bn{color:var(--gold2,#f0d98d);font-size:1.05rem;margin-top:12px}
.cg-terms h3{margin:0 0 12px;font-size:1.05rem}
.cg-terms ol{list-style:none;counter-reset:g;margin:0;padding:0;display:grid;gap:12px}
.cg-terms li{counter-increment:g;display:grid;grid-template-columns:40px 1fr;column-gap:12px;align-items:start}
.cg-terms li::before{content:counter(g);grid-row:span 2;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--gold,#d6b45c);color:#082219;font-weight:700}
.cg-terms li b{font-size:.98rem}
.cg-terms li span{color:var(--muted,#b7c6bb);font-size:.9rem}
.cg-note{margin:16px 0 0;font-size:.85rem;border-top:1px solid rgba(214,180,92,.18);padding-top:12px}
@media (max-width:820px){.course-guarantee{grid-template-columns:1fr;padding:24px;gap:22px}}
/* share links under each card (links built by scripts/build_share_pages.py) */
.pr-share{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08);font-size:.85rem}
.pr-share span{color:#8fa596;font-weight:600;letter-spacing:.04em}
.pr-share a,.pr-share .share-copy{color:#e7c77a;background:none;border:0;padding:4px 0;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.pr-share a:hover,.pr-share .share-copy:hover{text-decoration:underline}
