:root{
  --navy:#062348;
  --navy-2:#0a3b68;
  --sky:#cce9f6;
  --sky-2:#8ec8e7;
  --cream:#f8f1e7;
  --paper:#fffaf2;
  --gold:#c8962e;
  --gold-2:#e6bd63;
  --ink:#0a2445;
  --muted:#68768a;
  --line:rgba(10,36,69,.12);
  --gold-line:rgba(200,150,46,.34);
  --shadow:0 18px 55px rgba(44,55,67,.14);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--cream)}
body{
  margin:0;
  min-height:100vh;
  color:var(--ink);
  background:
    radial-gradient(circle at 3% 7%,rgba(142,200,231,.36),transparent 18%),
    radial-gradient(circle at 96% 28%,rgba(142,200,231,.28),transparent 18%),
    linear-gradient(160deg,#fffaf2,#f4eee5 65%,#f8f2e8);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow-x:hidden;
}
body::before{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.36;
  background-image:
    radial-gradient(circle at 5% 12%,rgba(94,175,216,.22) 0 1px,transparent 2px),
    radial-gradient(circle at 92% 82%,rgba(200,150,46,.18) 0 1px,transparent 2px);
  background-size:34px 34px,46px 46px;
}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500}
.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}
.sidebar{
  position:sticky;top:0;height:100vh;padding:24px 18px;
  background:rgba(255,250,242,.72);
  border-right:1px solid rgba(10,36,69,.08);
  backdrop-filter:blur(24px);
  z-index:30;
}
.sidebar::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:100%;
  background:
    radial-gradient(circle at -15% 10%,rgba(142,200,231,.62),transparent 30%),
    radial-gradient(circle at 120% 85%,rgba(142,200,231,.48),transparent 28%);
  z-index:-1;opacity:.65;
}
.brand{display:flex;align-items:center;gap:12px;margin-bottom:34px}
.brand img{width:52px;height:52px;object-fit:contain}
.brand strong{display:block;font:600 1.35rem Georgia,serif}
.brand span{display:block;color:var(--gold);font-size:.72rem;margin-top:3px}
.sidebar-nav{display:grid;gap:8px}
.nav-link{
  border:1px solid transparent;border-radius:16px;padding:13px 14px;
  display:flex;align-items:center;gap:12px;color:#40536c;transition:.22s
}
.nav-link:hover,.nav-link.active{
  color:var(--navy);
  background:rgba(255,250,242,.84);
  border-color:rgba(200,150,46,.24);
  box-shadow:0 10px 28px rgba(31,53,75,.10)
}
.nav-icon{width:24px;text-align:center;color:var(--gold)}
.sidebar-bottom{position:absolute;left:18px;right:18px;bottom:24px}
.user-mini{
  display:flex;align-items:center;gap:10px;padding:10px;border-radius:16px;
  background:rgba(255,250,242,.76);border:1px solid rgba(10,36,69,.08)
}
.user-mini img{width:42px;height:42px;border-radius:50%;object-fit:cover}
.user-mini strong{display:block;font-size:.83rem}.user-mini span{color:var(--muted);font-size:.68rem}

.main-area{min-width:0}
.topbar{
  min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px clamp(18px,3vw,42px);
  position:sticky;top:0;z-index:20;
  background:rgba(248,241,231,.78);backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(10,36,69,.07)
}
.search-box{position:relative;flex:1;max-width:520px}
.search-box input{
  width:100%;height:44px;border-radius:14px;border:1px solid rgba(10,36,69,.10);
  background:rgba(255,255,255,.62);padding:0 16px 0 42px;color:var(--ink);outline:none
}
.search-box::before{content:"⌕";position:absolute;left:15px;top:9px;color:var(--muted);font-size:1.2rem}
.top-actions{display:flex;gap:10px;align-items:center}
.icon-button{
  width:42px;height:42px;border-radius:50%;border:1px solid rgba(10,36,69,.10);
  background:rgba(255,255,255,.64);color:var(--navy);display:grid;place-items:center
}
.install-button{display:none}
.content{padding:24px clamp(18px,3vw,42px) 70px}
.page{max-width:1450px;margin:0 auto}
.glass{
  background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(248,241,231,.72));
  border:1px solid rgba(255,255,255,.92);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),var(--shadow);
  backdrop-filter:blur(20px) saturate(125%);
}
.page-title{font-size:clamp(2.35rem,4.5vw,4.8rem);line-height:.95;margin-bottom:8px}
.page-subtitle{color:var(--muted);font-size:1rem;max-width:720px;line-height:1.7}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--gold);text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.72rem}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--gold)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:30px 0 14px}
.section-heading h2{font-size:1.55rem;margin:0}.text-link,.section-heading button{border:0;background:transparent;color:var(--gold);font-weight:800}
.badge{display:inline-flex;align-items:center;border:1px solid rgba(200,150,46,.42);color:#966c12;padding:5px 9px;border-radius:999px;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;background:rgba(255,248,229,.64)}
.btn{min-height:44px;padding:0 18px;border-radius:13px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:800;transition:.2s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(135deg,var(--navy),var(--navy-2));color:white;box-shadow:0 10px 28px rgba(6,35,72,.20)}
.btn-secondary{background:rgba(255,255,255,.64);border-color:rgba(10,36,69,.12);color:var(--navy)}
.progress-track{height:7px;border-radius:999px;background:rgba(10,36,69,.10);overflow:hidden}
.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),var(--gold-2))}
.progress-line{display:flex;align-items:center;gap:14px;color:#40536b;font-size:.84rem}.progress-line .progress-track{flex:1;max-width:340px}

.hero{
  min-height:350px;border-radius:28px;overflow:hidden;position:relative;
  border:1px solid rgba(200,150,46,.25);box-shadow:var(--shadow);background:#fff
}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,250,242,.98) 0%,rgba(255,250,242,.87) 38%,rgba(255,250,242,.12) 70%)}
.hero-content{position:relative;z-index:2;padding:42px;max-width:690px}
.hero h1{font-size:clamp(2.6rem,5vw,5.2rem);line-height:.92;margin:12px 0 14px}
.hero p{color:#4b5c70;line-height:1.6;max-width:560px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}
.card-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:15px;overflow-x:auto;padding:4px 3px 10px;scroll-snap-type:x mandatory}
.card-row::-webkit-scrollbar{height:6px}.card-row::-webkit-scrollbar-thumb{background:rgba(200,150,46,.32);border-radius:10px}
.course-card{
  min-height:170px;border-radius:20px;overflow:hidden;position:relative;background:#fff;
  border:1px solid rgba(10,36,69,.08);scroll-snap-align:start;box-shadow:0 12px 28px rgba(31,53,75,.10);transition:.24s
}
.course-card:hover{transform:translateY(-5px);border-color:rgba(200,150,46,.40)}
.course-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.course-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(255,250,242,.98),rgba(255,250,242,.12) 70%)}
.card-content{position:absolute;z-index:2;left:17px;right:17px;bottom:14px}
.card-content h3{font-size:1.25rem;margin:0 0 4px}.card-meta{display:flex;justify-content:space-between;gap:10px;color:#68768a;font-size:.74rem}
.mini-progress{height:5px;background:rgba(10,36,69,.10);border-radius:999px;margin-top:8px;overflow:hidden}.mini-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-2))}
.grid-courses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}.grid-courses .course-card{min-height:235px}
.filters{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}
.filter-button{padding:10px 15px;border-radius:999px;border:1px solid rgba(10,36,69,.10);background:rgba(255,255,255,.62);color:#40536b}
.filter-button.active{border-color:rgba(200,150,46,.40);background:rgba(255,248,229,.84);color:#966c12}

.course-head{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}
.course-cover{min-height:430px;border-radius:26px;overflow:hidden;position:relative;border:1px solid var(--gold-line);box-shadow:var(--shadow)}
.course-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.course-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(255,250,242,.98),rgba(255,250,242,.10) 75%)}
.course-cover .hero-content{position:absolute;left:0;right:0;bottom:0;padding:34px}
.course-cover h1{font-size:clamp(2.4rem,4vw,4.3rem)}
.module-panel{border-radius:24px;padding:20px}
.module-panel h2{font-size:1.4rem}
.module{border:1px solid rgba(10,36,69,.09);border-radius:15px;overflow:hidden;margin-bottom:10px;background:rgba(255,255,255,.46)}
.module summary{list-style:none;display:flex;justify-content:space-between;gap:12px;padding:16px;cursor:pointer}.module summary::-webkit-details-marker{display:none}
.module summary strong{font:500 1.05rem Georgia,serif}.module summary span{color:var(--muted);font-size:.76rem}
.lesson-list{border-top:1px solid rgba(10,36,69,.07)}
.lesson-item{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;padding:12px 15px;border-bottom:1px solid rgba(10,36,69,.06)}
.lesson-item:last-child{border-bottom:0}.lesson-item button{width:29px;height:29px;border-radius:50%;border:1px solid rgba(200,150,46,.36);background:rgba(255,248,229,.78);color:#966c12}
.lesson-item small{color:var(--muted)}.lesson-item.completed{opacity:.62}.lesson-item.completed button{background:var(--gold);color:white}

.lesson-layout{display:grid;grid-template-columns:1fr 400px;gap:20px}
.video-shell{min-height:470px;border-radius:25px;overflow:hidden;position:relative;border:1px solid rgba(200,150,46,.34);background:#e8eef2}
.video-shell img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.88)}
.video-shell::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(6,35,72,.62),transparent 55%)}
.video-center{position:absolute;inset:0;z-index:2;display:grid;place-items:center}.play-button{width:78px;height:78px;border-radius:50%;border:1px solid rgba(200,150,46,.62);background:rgba(255,250,242,.78);color:var(--navy);font-size:1.5rem;box-shadow:0 0 30px rgba(200,150,46,.20)}
.video-bar{position:absolute;z-index:3;left:20px;right:20px;bottom:17px;display:flex;align-items:center;gap:12px;color:white}.video-timeline{flex:1;height:5px;border-radius:99px;background:rgba(255,255,255,.32)}.video-timeline span{display:block;width:30%;height:100%;background:var(--gold-2)}
.lesson-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:13px}.action-card{padding:15px;border-radius:15px;border:1px solid rgba(10,36,69,.09);background:rgba(255,255,255,.56);color:var(--ink);text-align:left}.action-card strong{display:block}.action-card small{color:var(--muted)}
.notes{width:100%;min-height:125px;border-radius:15px;border:1px solid rgba(10,36,69,.10);background:rgba(255,255,255,.58);color:var(--ink);padding:13px;resize:vertical;margin-top:13px}

.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}
.stat-card{padding:20px;border-radius:20px;text-align:center}.stat-icon{width:66px;height:66px;margin:0 auto 11px;border-radius:50%;display:grid;place-items:center;border:5px solid rgba(200,150,46,.20);color:var(--gold);font-size:1.5rem}.stat-card strong{font:500 2rem Georgia,serif;display:block}.stat-card span{color:var(--muted);font-size:.8rem}
.dashboard-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:18px}.list-panel,.streak-panel,.achievements-panel{border-radius:23px;padding:19px}
.list-course{display:grid;grid-template-columns:130px 1fr auto;gap:14px;align-items:center;padding:11px 0;border-bottom:1px solid rgba(10,36,69,.07)}.list-course img{width:130px;height:72px;object-fit:cover;border-radius:11px}.list-course h3{margin:0 0 4px;font-size:1.15rem}
.streak-days{display:flex;justify-content:space-between;gap:8px;margin:20px 0}.day{display:grid;gap:6px;justify-items:center;color:var(--muted);font-size:.68rem}.day span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(10,36,69,.10)}.day.done span{border-color:rgba(200,150,46,.42);color:#966c12;background:rgba(255,248,229,.78)}
.achievement-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.achievement{padding:14px;border-radius:15px;border:1px solid rgba(10,36,69,.08);display:flex;gap:11px;background:rgba(255,255,255,.46)}.achievement-icon{font-size:1.4rem;color:var(--gold)}.achievement strong{display:block}.achievement small{color:var(--muted)}
.resources-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-top:23px}.resource-card{border-radius:19px;overflow:hidden}.resource-card img{width:100%;height:160px;object-fit:cover}.resource-card .resource-body{padding:15px}.resource-card h3{font-size:1.15rem}.resource-card p{color:var(--muted);font-size:.78rem}.resource-card .btn{width:100%}
.profile-grid{display:grid;grid-template-columns:320px 1fr;gap:18px}.profile-card,.settings-card{border-radius:23px;padding:22px}.profile-card{text-align:center}.profile-card img{width:115px;height:115px;border-radius:50%;object-fit:cover;margin:0 auto 14px;border:3px solid rgba(200,150,46,.38)}.profile-card h1{font-size:1.9rem}.profile-card p{color:var(--muted)}.settings-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid rgba(10,36,69,.07)}.settings-row:last-child{border-bottom:0}.settings-row small{display:block;color:var(--muted);margin-top:4px}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;overflow:hidden}.login-screen::before{content:"";position:absolute;inset:0;background:url('hero-lanzamiento.webp') center/cover;filter:blur(6px) brightness(.82);transform:scale(1.05)}.login-screen::after{content:"";position:absolute;inset:0;background:rgba(248,241,231,.70)}.login-card{width:min(450px,100%);border-radius:29px;padding:32px;position:relative;z-index:2}.login-brand{text-align:center;margin-bottom:24px}.login-brand img{width:84px;height:84px;border-radius:50%;margin:0 auto 11px}.login-brand img.official-lockup{width:min(270px,88%);height:auto;border-radius:0;object-fit:contain;margin:0 auto 18px}.login-brand h1{font-size:2.3rem}.login-brand p{color:var(--gold)}
.field{display:grid;gap:6px;margin-bottom:13px}.field label{font-size:.76rem;color:#4f6074}.field input{height:47px;border-radius:13px;border:1px solid rgba(10,36,69,.10);background:rgba(255,255,255,.66);color:var(--ink);padding:0 13px;outline:none}.field input:focus{border-color:rgba(200,150,46,.42);box-shadow:0 0 0 3px rgba(200,150,46,.10)}.login-card .btn{width:100%}
.demo-note{margin-top:16px;padding:12px;border-radius:13px;background:rgba(255,248,229,.72);border:1px solid rgba(200,150,46,.20);color:#56677a;font-size:.75rem;line-height:1.5}
.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}.admin-card{padding:20px;border-radius:19px}.admin-card strong{font:500 2.1rem Georgia,serif;display:block}.admin-card span{color:var(--muted)}.admin-table{width:100%;border-collapse:collapse;margin-top:18px}.admin-table th,.admin-table td{text-align:left;padding:12px;border-bottom:1px solid rgba(10,36,69,.07);font-size:.82rem}.admin-table th{color:#966c12}.admin-form{display:grid;grid-template-columns:1fr 1fr auto;gap:9px;margin-top:16px}.admin-form input{height:43px;border-radius:11px;border:1px solid rgba(10,36,69,.10);background:rgba(255,255,255,.62);color:var(--ink);padding:0 11px}
.toast{position:fixed;right:20px;bottom:20px;z-index:80;background:var(--navy);border:1px solid rgba(230,189,99,.44);color:white;padding:12px 17px;border-radius:13px;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:none}
.back-link{display:inline-flex;align-items:center;gap:8px;color:#966c12;margin-bottom:17px}.empty-state{text-align:center;padding:45px;border-radius:22px;color:var(--muted)}
.mobile-nav{display:none}

@media(max-width:1100px){
  .app-shell{grid-template-columns:210px 1fr}.sidebar{padding:20px 14px}.brand strong{font-size:1.15rem}
  .grid-courses{grid-template-columns:repeat(2,1fr)}
  .course-head,.lesson-layout,.dashboard-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .resources-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  body{padding-bottom:72px}.app-shell{display:block}.sidebar{display:none}
  .topbar{min-height:66px;padding:9px 14px}.search-box{display:none}.install-button{display:grid}
  .content{padding:16px 14px 35px}.hero{min-height:520px}.hero::after{background:linear-gradient(to top,rgba(255,250,242,.98),rgba(255,250,242,.76) 62%,rgba(255,250,242,.12))}.hero-content{position:absolute;bottom:0;padding:27px 20px}.hero h1{font-size:2.55rem}.hero-actions{display:grid}.hero-actions .btn{width:100%}
  .card-row{grid-auto-columns:84vw}.grid-courses{grid-template-columns:1fr}.grid-courses .course-card{min-height:215px}
  .course-cover{min-height:455px}.course-cover .hero-content{padding:23px}.lesson-actions{grid-template-columns:1fr}.video-shell{min-height:320px}
  .stats-grid{grid-template-columns:1fr 1fr}.list-course{grid-template-columns:95px 1fr}.list-course img{width:95px;height:62px}.list-course .btn{grid-column:1/-1}
  .streak-days{overflow:auto;justify-content:flex-start}.day{min-width:48px}.achievement-grid{grid-template-columns:1fr}.resources-grid{grid-template-columns:1fr}.profile-grid{grid-template-columns:1fr}
  .admin-grid{grid-template-columns:1fr}.admin-form{grid-template-columns:1fr}.admin-table{display:block;overflow:auto}
  .mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:50;background:rgba(255,250,242,.94);border-top:1px solid rgba(10,36,69,.08);backdrop-filter:blur(18px);padding:8px 4px calc(8px + env(safe-area-inset-bottom))}
  .mobile-nav button{border:0;background:transparent;color:#738194;display:grid;justify-items:center;gap:4px;font-size:.62rem}.mobile-nav button span:first-child{font-size:1.05rem}.mobile-nav button.active{color:#966c12}
}
@media(max-width:430px){.stats-grid{grid-template-columns:1fr}}
/* Identidad oficial Proyecto Compás */
.brand img{object-fit:contain;background:transparent}
.login-brand .official-lockup{
  width:min(280px,90%);
  height:auto;
  border-radius:0;
  object-fit:contain;
  margin:0 auto 18px;
}
.official-brand-mark{
  display:block;
  max-width:220px;
  height:auto;
}


/* Conexión real con Supabase */
.loading-card{text-align:center}
.loading-card p{color:var(--muted);margin-top:15px}
.spinner{
  width:42px;height:42px;margin:16px auto;border-radius:50%;
  border:4px solid rgba(10,36,69,.10);border-top-color:var(--gold);
  animation:spin .8s linear infinite
}
@keyframes spin{to{transform:rotate(360deg)}}
.auth-options{display:flex;justify-content:space-between;gap:15px;margin-top:15px}
.auth-link{border:0;background:transparent;color:#966c12;padding:8px 0;font-weight:700}
.auth-card button:disabled,.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.toast[data-type="error"]{background:#742f2f;border-color:#b96868}
.toast[data-type="success"]{background:var(--navy);border-color:rgba(230,189,99,.64)}
.welcome-line{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}
.welcome-line h1{font-size:2rem;margin:5px 0 0}
.welcome-line p{color:var(--muted);margin:0}
.empty-state{grid-column:1/-1}
.empty-logo{width:90px;height:90px;object-fit:contain;margin:0 auto 15px}
.empty-state h2{font-size:1.7rem}
.empty-state p{max-width:620px;margin:0 auto 18px}
.empty-module{padding:22px;color:var(--muted);text-align:center}
.lesson-frame{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.lesson-content{margin-top:14px;padding:22px;border-radius:18px;line-height:1.75}
.autosave-note{display:block;color:var(--muted);margin:7px 3px}
.settings-card select,.admin-form select{
  min-height:43px;border-radius:11px;border:1px solid rgba(10,36,69,.10);
  background:rgba(255,255,255,.65);color:var(--ink);padding:0 11px
}
.admin-layout{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:18px}
.stack-form{display:grid;gap:11px}
.admin-form-wide{grid-template-columns:1fr 1.2fr 1.4fr .6fr auto}
.admin-table td{vertical-align:top}
.resource-card img{background:#e8edf0}
@media(max-width:1100px){
  .admin-layout{grid-template-columns:1fr 1fr}
  .admin-form-wide{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .welcome-line{align-items:start;flex-direction:column}
  .admin-layout{grid-template-columns:1fr}
  .admin-form-wide{grid-template-columns:1fr}
  .auth-options{flex-direction:column;align-items:center;gap:0}
}

.bootstrap-actions{display:grid;gap:10px;margin-top:18px}
.bootstrap-actions .auth-link{text-align:center}
.loading-card h1{margin-top:8px}
.loading-card .official-lockup{max-height:190px}

/* =========================================================
   V5.3 — CORRECCIÓN DE CURSOS EN CELULAR
   Separa las imágenes del contenido para evitar superposición.
   ========================================================= */
@media(max-width:760px){

  .content{
    padding:16px 14px 38px;
  }

  .welcome-line{
    margin-bottom:16px;
    gap:8px;
  }

  .welcome-line h1{
    font-size:1.95rem;
    line-height:1.05;
  }

  .welcome-line p{
    font-size:.92rem;
    line-height:1.45;
  }

  /* Curso destacado: imagen arriba y contenido abajo */
  .hero{
    min-height:0;
    display:grid;
    grid-template-rows:240px auto;
    border-radius:24px;
    overflow:hidden;
    background:var(--paper);
  }

  .hero img{
    position:relative;
    inset:auto;
    width:100%;
    height:240px;
    object-fit:cover;
    object-position:76% 50%;
  }

  .hero::after{
    display:none;
  }

  .hero-content{
    position:relative;
    inset:auto;
    bottom:auto;
    max-width:none;
    padding:20px 19px 21px;
    background:
      linear-gradient(145deg,rgba(255,255,255,.98),rgba(248,241,231,.96));
  }

  .hero h1{
    font-size:2rem;
    line-height:1.02;
    margin:10px 0 10px;
    overflow-wrap:anywhere;
  }

  .hero p{
    margin-bottom:0;
    font-size:.92rem;
    line-height:1.5;
  }

  .hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin:17px 0;
  }

  .hero-actions .btn{
    width:100%;
    min-height:48px;
  }

  .progress-line{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:11px;
    font-size:.76rem;
  }

  .progress-line .progress-track{
    width:100%;
    max-width:none;
  }

  /* Carrusel: tarjetas con fotografía independiente */
  .card-row{
    grid-auto-columns:min(78vw,330px);
    gap:14px;
    padding:4px 2px 13px;
    scroll-padding-inline:2px;
  }

  .course-card{
    min-height:0;
    display:grid;
    grid-template-rows:138px auto;
    border-radius:19px;
    overflow:hidden;
    background:rgba(255,250,242,.98);
  }

  .course-card img{
    position:relative;
    inset:auto;
    width:100%;
    height:138px;
    object-fit:cover;
    object-position:76% 50%;
    background:#edf1f3;
  }

  .course-card::after{
    display:none;
  }

  .card-content{
    position:relative;
    inset:auto;
    left:auto;
    right:auto;
    bottom:auto;
    padding:14px 15px 16px;
    background:
      linear-gradient(145deg,rgba(255,255,255,.98),rgba(248,241,231,.96));
  }

  .card-content .badge{
    margin-bottom:8px;
    font-size:.57rem;
    padding:4px 7px;
  }

  .card-content h3{
    margin:0 0 8px;
    font-size:1.13rem;
    line-height:1.12;
    overflow-wrap:anywhere;
  }

  .card-meta{
    align-items:center;
    font-size:.69rem;
  }

  .mini-progress{
    margin-top:10px;
  }

  /* Pantalla Mis cursos */
  .grid-courses{
    grid-template-columns:1fr;
    gap:16px;
  }

  .grid-courses .course-card{
    min-height:0;
    grid-template-rows:190px auto;
  }

  .grid-courses .course-card img{
    height:190px;
  }

  /* Portada interior del curso */
  .course-cover{
    min-height:0;
    display:grid;
    grid-template-rows:240px auto;
    border-radius:23px;
    background:var(--paper);
  }

  .course-cover img{
    position:relative;
    inset:auto;
    width:100%;
    height:240px;
    object-fit:cover;
    object-position:76% 50%;
  }

  .course-cover::after{
    display:none;
  }

  .course-cover .hero-content{
    position:relative;
    inset:auto;
    padding:20px 19px 22px;
  }

  .course-cover h1{
    font-size:2rem;
    line-height:1.04;
  }

  .section-heading{
    align-items:center;
    gap:12px;
    margin:28px 0 13px;
  }

  .section-heading h2{
    font-size:1.45rem;
    line-height:1.08;
  }

  .section-heading .text-link{
    flex:0 0 auto;
    font-size:.76rem;
    white-space:nowrap;
  }
}

@media(max-width:390px){
  .hero{
    grid-template-rows:215px auto;
  }

  .hero img{
    height:215px;
  }

  .hero h1{
    font-size:1.82rem;
  }

  .card-row{
    grid-auto-columns:82vw;
  }

  .section-heading h2{
    font-size:1.32rem;
  }
}
