:root{
    --dys-blue:#cfdfef;
    --dys-pink:#ebdfdf;
    --dys-green:#d7ecdb;
    --dys-white:#fff;
    --dys-ink:#2f3334;
    --dys-muted:#6f7475;
    --dys-line:rgba(47,51,52,.12);
    --dys-radius:28px;
    --dys-shadow:0 20px 60px rgba(54,65,70,.08);
}

.dys-course-catalog,.dys-my-courses,.dys-course-single,.dys-course-dashboard{font-family:"Poppins",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--dys-ink)}
.dys-course-catalog *,.dys-my-courses *,.dys-course-single *,.dys-course-dashboard *,.dys-auth-modal *{box-sizing:border-box}
.dys-section-intro{max-width:720px;text-align:center;margin:0 auto 42px}.dys-section-intro.dys-left{text-align:left;margin-left:0}.dys-section-intro h2{font-size:clamp(30px,4vw,48px);line-height:1.12;font-weight:500;margin:10px 0 14px}.dys-section-intro p{font-size:16px;line-height:1.8;color:var(--dys-muted);margin:0}.dys-eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:11px;font-weight:600;color:#8ca5b9}.dys-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.dys-course-card{background:#fff;border:1px solid var(--dys-line);border-radius:26px;overflow:hidden;box-shadow:0 15px 45px rgba(60,72,76,.05);transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s ease}.dys-course-card:hover{transform:translateY(-5px);box-shadow:var(--dys-shadow)}.dys-course-cover{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,var(--dys-blue),var(--dys-pink))}.dys-course-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s cubic-bezier(.16,1,.3,1)}.dys-course-card:hover .dys-course-cover img{transform:scale(1.025)}.dys-cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--dys-blue),var(--dys-pink),var(--dys-green));font-size:46px;color:#80988a}.dys-owned-badge{position:absolute;top:16px;right:16px;padding:8px 12px;background:rgba(255,255,255,.92);border-radius:99px;font-size:11px;font-weight:600}.dys-card-body{padding:24px}.dys-card-meta{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:11px}.dys-card-meta span{font-size:11px;color:var(--dys-muted);background:#f6f7f7;padding:6px 9px;border-radius:99px}.dys-card-body h3{font-size:22px;line-height:1.25;font-weight:500;margin:0 0 10px}.dys-card-body h3 a{color:inherit;text-decoration:none}.dys-card-body p{font-size:14px;line-height:1.7;color:var(--dys-muted);margin:0 0 20px}.dys-card-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--dys-line);padding-top:17px}.dys-card-footer strong{font-size:13px;font-weight:600}.dys-text-link{color:var(--dys-ink);text-decoration:none;font-size:13px}.dys-text-link span{display:inline-block;transition:transform .25s ease}.dys-text-link:hover span{transform:translateX(3px)}

.dys-btn{appearance:none;border:0;border-radius:14px;padding:14px 22px;font:600 13px/1.2 "Poppins",sans-serif;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:14px;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,opacity .25s ease}.dys-btn:hover{transform:translateY(-1px)}.dys-btn-primary{background:var(--dys-blue);color:var(--dys-ink);box-shadow:0 10px 30px rgba(132,160,184,.18)}.dys-btn-ghost{background:#fff;color:var(--dys-ink);border:1px solid var(--dys-line)}.dys-btn.is-loading{opacity:.65;pointer-events:none}.dys-btn.is-loading:after{content:"";width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:dys-spin .7s linear infinite}.dys-full-btn{width:100%}.dys-soft-panel{padding:40px;border-radius:var(--dys-radius);background:linear-gradient(135deg,rgba(207,223,239,.55),rgba(235,223,223,.48),rgba(215,236,219,.55));border:1px solid rgba(255,255,255,.7)}.dys-center{text-align:center}.dys-empty{text-align:center;padding:46px;border:1px dashed var(--dys-line);border-radius:22px;color:var(--dys-muted)}

.dys-sales-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;min-height:620px;padding:50px 0}.dys-sales-copy h1{font-size:clamp(42px,5.7vw,72px);line-height:1.03;letter-spacing:-.035em;font-weight:500;margin:15px 0 22px;max-width:780px}.dys-lead{font-size:18px;line-height:1.75;color:var(--dys-muted);max-width:660px}.dys-sales-facts{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.dys-sales-facts span{padding:8px 12px;border-radius:99px;background:rgba(215,236,219,.55);font-size:12px}.dys-price-line{font-size:24px;font-weight:600;margin:4px 0 18px}.dys-sales-copy small{display:block;margin-top:13px;color:var(--dys-muted)}.dys-sales-image{height:560px;border-radius:46% 54% 49% 51% / 55% 43% 57% 45%;overflow:hidden;background:linear-gradient(145deg,var(--dys-pink),var(--dys-blue),var(--dys-green));box-shadow:var(--dys-shadow)}.dys-sales-image img{width:100%;height:100%;object-fit:cover;display:block}.dys-course-description{display:grid;grid-template-columns:220px 1fr;gap:50px;padding:80px 0;border-top:1px solid var(--dys-line)}.dys-soft-label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#8ca5b9}.dys-prose{font-size:17px;line-height:1.85;color:#505657}.dys-prose>*:first-child{margin-top:0}.dys-preview-lessons{padding:70px 0}.dys-preview-list{border-top:1px solid var(--dys-line)}.dys-preview-row{display:grid;grid-template-columns:60px 1fr 100px;gap:22px;align-items:start;padding:22px 0;border-bottom:1px solid var(--dys-line)}.dys-preview-row .dys-number{font-size:12px;color:#91a7b8}.dys-preview-row strong{font-size:16px;font-weight:500}.dys-preview-row p{font-size:13px;color:var(--dys-muted);line-height:1.6;margin:5px 0 0}.dys-preview-row>span:last-child{text-align:right;color:var(--dys-muted);font-size:12px}

.dys-dashboard-top{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:0 0 30px}.dys-dashboard-top h1{font-size:clamp(34px,4vw,52px);line-height:1.1;font-weight:500;margin:8px 0 0}.dys-success-note{padding:14px 18px;background:rgba(215,236,219,.7);border-radius:14px;margin-bottom:22px;font-size:13px}.dys-learning-layout{display:grid;grid-template-columns:320px 1fr;gap:24px}.dys-lesson-sidebar{background:#fbfbfb;border:1px solid var(--dys-line);border-radius:24px;padding:18px;height:max-content;position:sticky;top:30px}.dys-sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 16px}.dys-sidebar-head span{font-weight:600}.dys-sidebar-head small{color:var(--dys-muted)}.dys-lesson-sidebar nav{display:flex;flex-direction:column;gap:6px}.dys-lesson-link{display:flex;align-items:center;gap:12px;padding:12px;border-radius:15px;text-decoration:none;color:var(--dys-ink);transition:background .25s ease}.dys-lesson-link:hover{background:rgba(207,223,239,.25)}.dys-lesson-link.is-active{background:rgba(207,223,239,.65)}.dys-lesson-dot{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--dys-line);font-size:11px;flex:none}.dys-lesson-name{min-width:0;display:flex;flex-direction:column}.dys-lesson-name strong{font-size:12px;font-weight:500;line-height:1.45}.dys-lesson-name small{font-size:10px;color:var(--dys-muted);margin-top:3px}.dys-player-area{min-width:0}.dys-video-shell{position:relative;padding-top:56.25%;border-radius:24px;overflow:hidden;background:#202626;box-shadow:var(--dys-shadow)}.dys-video-shell iframe{border:0;position:absolute;inset:0;width:100%;height:100%}.dys-video-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:30px;color:#fff;text-align:center}.dys-lesson-content{padding:30px 6px}.dys-lesson-content h2{font-size:32px;line-height:1.2;font-weight:500;margin:10px 0}.dys-lesson-content p{font-size:15px;line-height:1.8;color:var(--dys-muted)}.dys-lesson-nav{display:flex;justify-content:space-between;gap:14px;margin-top:28px}.dys-account-chip{display:inline-flex;align-items:center;gap:12px;font:500 12px/1.2 "Poppins",sans-serif}.dys-account-chip a{color:var(--dys-ink);text-decoration:none}

.dys-auth-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease;font-family:"Poppins",system-ui,sans-serif}.dys-auth-modal.is-open{opacity:1;visibility:visible}.dys-auth-backdrop{position:absolute;inset:0;background:rgba(38,45,47,.34);backdrop-filter:blur(8px)}.dys-auth-dialog{position:relative;width:min(100%,500px);max-height:min(92vh,760px);overflow:auto;background:#fff;border-radius:30px;padding:38px;box-shadow:0 30px 100px rgba(36,45,48,.22);transform:translateY(16px) scale(.985);transition:transform .5s cubic-bezier(.16,1,.3,1)}.dys-auth-modal.is-open .dys-auth-dialog{transform:none}.dys-auth-close{position:absolute;top:15px;right:17px;width:38px;height:38px;border-radius:50%;border:0;background:#f4f4f4;color:var(--dys-ink);font-size:24px;line-height:1;cursor:pointer}.dys-auth-ornament{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--dys-pink),var(--dys-green));font-size:28px;color:#7f9285;margin-bottom:17px}.dys-auth-dialog h2{font-size:30px;line-height:1.15;font-weight:500;margin:8px 0 12px}.dys-auth-intro{font-size:14px;line-height:1.7;color:var(--dys-muted);margin:0 0 22px}.dys-auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f6f6f6;border-radius:14px;padding:4px;margin-bottom:20px}.dys-auth-tabs button{border:0;background:transparent;border-radius:11px;padding:11px;cursor:pointer;font:500 12px "Poppins",sans-serif;color:var(--dys-muted)}.dys-auth-tabs button.is-active{background:#fff;color:var(--dys-ink);box-shadow:0 4px 14px rgba(0,0,0,.05)}.dys-auth-form{display:none}.dys-auth-form.is-active{display:block;animation:dys-fade .45s cubic-bezier(.16,1,.3,1)}.dys-auth-form label:not(.dys-check){display:block;font-size:12px;font-weight:500;margin-bottom:14px}.dys-auth-form input[type="email"],.dys-auth-form input[type="password"],.dys-auth-form input[type="text"]{width:100%;border:1px solid var(--dys-line);background:#fcfcfc;border-radius:12px;padding:13px 14px;margin-top:7px;font:400 14px "Poppins",sans-serif;outline:none;transition:border-color .2s,box-shadow .2s}.dys-auth-form input:focus{border-color:#a9c2d8;box-shadow:0 0 0 4px rgba(207,223,239,.32)}.dys-check{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--dys-muted);margin:3px 0 16px}.dys-forgot{display:block;text-align:center;color:var(--dys-muted);font-size:11px;margin-top:14px}.dys-auth-form small{display:block;color:var(--dys-muted);font-size:10px;line-height:1.5;text-align:center;margin-top:13px}.dys-auth-message{font-size:12px;border-radius:10px;margin:0 0 14px;max-height:0;overflow:hidden;transition:max-height .25s,padding .25s}.dys-auth-message:not(:empty){max-height:80px;padding:10px 12px}.dys-auth-message.is-error{background:#f8eaea;color:#8d4848}.dys-auth-message.is-success{background:#e8f3ea;color:#4e7759}.dys-modal-open{overflow:hidden}

@keyframes dys-spin{to{transform:rotate(360deg)}}@keyframes dys-fade{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}

@media(max-width:1024px){.dys-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dys-sales-hero{grid-template-columns:1fr;gap:30px;min-height:auto}.dys-sales-image{height:460px;order:-1}.dys-learning-layout{grid-template-columns:1fr}.dys-lesson-sidebar{position:static}.dys-lesson-sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.dys-course-grid{grid-template-columns:1fr}.dys-section-intro{margin-bottom:28px}.dys-sales-hero{padding:25px 0}.dys-sales-image{height:340px;border-radius:32px}.dys-course-description{grid-template-columns:1fr;gap:15px;padding:50px 0}.dys-preview-row{grid-template-columns:42px 1fr}.dys-preview-row>span:last-child{grid-column:2;text-align:left}.dys-dashboard-top{align-items:flex-start;flex-direction:column}.dys-lesson-sidebar nav{grid-template-columns:1fr}.dys-lesson-content{padding:24px 0}.dys-auth-dialog{padding:32px 22px 26px;border-radius:24px}.dys-auth-dialog h2{font-size:26px}}

/* Descripción de lecciones: formato legible y compatible con contenido existente */
.dys-lesson-description{max-width:920px;color:var(--dys-muted);font-size:15px;line-height:1.85}
.dys-lesson-description p{margin:0 0 15px;color:inherit;font-size:inherit;line-height:inherit}
.dys-lesson-description p:last-child{margin-bottom:0}
.dys-lesson-list{list-style:none;margin:18px 0 22px;padding:0;display:grid;gap:10px}
.dys-lesson-list li{position:relative;padding:11px 14px 11px 42px;border-radius:14px;background:rgba(207,223,239,.22);color:#505657;line-height:1.65}
.dys-lesson-list li:before{content:"♡";position:absolute;left:15px;top:10px;color:#9baebe;font-size:18px;line-height:1}
.dys-lesson-meta-line{margin-top:20px;padding:13px 15px;border:1px solid var(--dys-line);border-radius:14px;background:#fbfbfb;color:#606768;font-size:13px;line-height:1.65}
.dys-preview-description{margin-top:6px;color:var(--dys-muted);font-size:13px;line-height:1.6}
.dys-preview-description p{margin:0 0 6px!important;font-size:13px!important;line-height:1.6!important}
.dys-preview-description .dys-lesson-list{margin:8px 0 0;gap:5px}
.dys-preview-description .dys-lesson-list li{padding:4px 0 4px 20px;background:transparent;font-size:12px}
.dys-preview-description .dys-lesson-list li:before{left:0;top:4px;font-size:13px}
.dys-preview-description .dys-lesson-meta-line{display:none}
@media(max-width:700px){.dys-lesson-description{font-size:14px}.dys-lesson-list li{padding:10px 12px 10px 38px}.dys-lesson-meta-line{font-size:12px}}

/* Título compacto en el detalle del taller. */
.dys-course-single .dys-sales-copy h1{font-size:clamp(30px,3.5vw,48px);line-height:1.13}
.dys-course-dashboard .dys-dashboard-top h1{font-size:clamp(26px,3vw,38px)}
.dys-intro-duration{font-weight:600}

.dys-course-description-owned{padding:28px 0 38px;margin-bottom:28px}
@media(max-width:700px){.dys-course-description-owned{padding:24px 0;margin-bottom:20px}}
.dys-owned-cover{height:clamp(220px,30vw,390px);margin:0 0 32px;border-radius:24px;overflow:hidden;background:#f5f6f5}
.dys-owned-cover img{display:block;width:100%;height:100%;object-fit:cover}
.dys-course-description-owned{margin:48px 0 0;padding:48px 0 20px}
@media(max-width:700px){.dys-owned-cover{height:220px;margin-bottom:24px;border-radius:18px}.dys-course-description-owned{margin-top:30px;padding:32px 0 10px}}
/* Portadas completas, sin recorte circular, en la ficha y el curso. */
.dys-course-sales .dys-sales-image{height:auto;min-height:0;border-radius:12px;overflow:hidden;background:transparent;box-shadow:none;align-self:center}
.dys-course-sales .dys-sales-image img{display:block;width:100%;height:auto;object-fit:contain}
.dys-course-dashboard .dys-owned-cover{height:auto;max-width:900px;border-radius:12px;overflow:hidden;background:transparent}
.dys-course-dashboard .dys-owned-cover img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:1024px){.dys-course-sales .dys-sales-image{height:auto}}
@media(max-width:700px){.dys-course-sales .dys-sales-image{height:auto;border-radius:12px}.dys-course-dashboard .dys-owned-cover{height:auto;border-radius:12px}}

/* La portada pertenece a la ficha del taller; el reproductor comienza con el video. */
.dys-downloads{margin:48px 0 0;padding:38px 0;border-top:1px solid var(--dys-line)}
.dys-downloads h2{font-size:clamp(24px,3vw,34px);font-weight:500;margin:8px 0 22px}
.dys-downloads-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--dys-line)}
.dys-downloads-list li{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 4px;border-bottom:1px solid var(--dys-line)}
.dys-downloads-list span{min-width:0;overflow-wrap:anywhere}
.dys-downloads-list a{flex:none;color:var(--dys-ink);font-weight:600;text-decoration:none}
.dys-downloads-list a:hover{text-decoration:underline}
