
:root{
  --navy:#151a96;
  --navy-2:#07105f;
  --blue:#2898ce;
  --aqua:#58bdd2;
  --aqua-soft:#eaf8fc;
  --yellow:#fff36a;
  --ink:#11152d;
  --muted:#5d677b;
  --soft:#f5f9fc;
  --white:#fff;
  --line:rgba(21,26,150,.12);
  --shadow:0 24px 70px rgba(10,18,84,.14);
  --shadow-soft:0 16px 42px rgba(10,18,84,.10);
  --radius-xl:34px;
  --radius-lg:24px;
  --radius-md:16px;
  --container:1180px;
  --header:74px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 24px)}
body{margin:0;color:var(--muted);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:#fff;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.menu-open{overflow:hidden}img,iframe{max-width:100%}img{display:block;height:auto}a{text-decoration:none;color:inherit}p,h1,h2,h3,h4,dl,dd{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}.container{width:min(var(--container),calc(100% - 46px));margin-inline:auto}.skip-link{position:absolute;top:-100px;left:18px;background:var(--navy);color:#fff;padding:10px 14px;border-radius:12px;z-index:999}.skip-link:focus{top:12px}.muted{color:#8590a3}.text-link{font-weight:900;color:var(--navy);border-bottom:2px solid rgba(88,189,210,.5)}
.site-header{position:sticky;top:0;z-index:90;min-height:var(--header);background:rgba(255,255,255,.88);border-bottom:1px solid rgba(21,26,150,.08);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.header-inner{min-height:var(--header);display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--navy);font-weight:950;min-width:max-content}.brand-mark{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;color:white;background:linear-gradient(145deg,var(--aqua),var(--navy) 72%);box-shadow:0 16px 30px rgba(21,26,150,.22);font-weight:950}.brand-text{display:grid;line-height:1.05}.brand-text strong{font-size:1rem;letter-spacing:.08em}.brand-text small{font-size:.78rem;color:#29328d;font-weight:850}.main-nav{display:flex;justify-content:center;flex:1}.nav-list{display:flex;align-items:center;justify-content:center;gap:6px;margin:0;padding:7px;list-style:none;background:rgba(234,248,252,.75);border:1px solid rgba(21,26,150,.10);border-radius:999px}.nav-list a{display:inline-flex;align-items:center;min-height:38px;padding:8px 16px;border-radius:999px;color:var(--navy);font-weight:900;font-size:.92rem;white-space:nowrap;transition:.18s ease}.nav-list a:hover,.nav-list a.active,.nav-list a:focus-visible{background:var(--navy);color:#fff;transform:translateY(-1px)}.menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--line);border-radius:14px;background:#fff;align-items:center;justify-content:center;gap:5px;flex-direction:column}.menu-toggle span{width:20px;height:2px;background:var(--navy);border-radius:10px}.header-cta,.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 22px;border:0;border-radius:999px;font-weight:950;line-height:1;transition:.18s ease;white-space:nowrap}.header-cta,.btn-primary{background:linear-gradient(135deg,var(--navy),var(--navy-2) 58%,var(--aqua) 155%);color:#fff;box-shadow:0 16px 30px rgba(21,26,150,.23)}.btn:hover,.header-cta:hover{transform:translateY(-2px)}.btn-ghost{background:#fff;border:1px solid rgba(21,26,150,.15);color:var(--navy);box-shadow:0 10px 26px rgba(21,26,150,.07)}.btn-light{background:#fff;color:var(--navy)}.btn-outline-light{border:1px solid rgba(255,255,255,.48);color:#fff;background:rgba(255,255,255,.12)}.btn-small{min-height:38px;padding:9px 14px;font-size:.88rem}.kicker,.section-tag{color:#64b8d1;text-transform:uppercase;letter-spacing:.34em;font-weight:950;font-size:.9rem}.hero{position:relative;padding:72px 0 74px;overflow:hidden;background:radial-gradient(circle at 15% 25%,rgba(88,189,210,.18),transparent 26%),linear-gradient(180deg,#fbfdff 0%,#f2f8fc 100%)}.hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(40,152,206,.05) 0 1px,transparent 1px 9px);pointer-events:none}.hero-bg-shape{position:absolute;width:520px;height:520px;border-radius:50%;background:linear-gradient(135deg,rgba(88,189,210,.18),rgba(21,26,150,.08));right:-160px;top:-210px;filter:blur(2px)}.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(360px,.97fr);gap:42px;align-items:center}.hero-copy{min-width:0}.hero h1{margin-top:14px;color:var(--navy);font-size:clamp(3.1rem,8vw,6.6rem);line-height:.88;letter-spacing:-.08em;font-weight:1000;max-width:760px}.hero h1 span{display:block;color:#4a4d91;font-size:.44em;letter-spacing:.06em;margin-top:20px}.hero-description{max-width:650px;margin-top:24px;font-size:1.08rem;color:#536075}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:34px;max-width:580px}.hero-stats article{background:rgba(255,255,255,.86);border:1px solid var(--line);border-radius:18px;padding:18px 16px;box-shadow:0 16px 36px rgba(21,26,150,.07)}.hero-stats strong{display:block;color:var(--navy);font-size:1.7rem;line-height:1;font-weight:1000;letter-spacing:.05em}.hero-stats span{display:block;margin-top:8px;font-size:.9rem;font-weight:850;color:#647086}.hero-media{position:relative;min-width:0}.image-shell{position:relative;border:1px solid var(--line);border-radius:var(--radius-xl);background:#fff;box-shadow:var(--shadow);overflow:hidden}.hero-image-card{min-height:480px;display:flex;align-items:flex-end;justify-content:center;background:linear-gradient(135deg,#fff,#eaf6fb)}.hero-image-card img{width:100%;height:100%;object-fit:cover}.floating-card{position:absolute;right:-16px;bottom:32px;width:min(240px,48%);padding:22px 24px;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 44px rgba(10,18,84,.14)}.floating-card strong{display:block;color:var(--navy);font-weight:950}.floating-card span{display:block;margin-top:8px;font-weight:800;color:#6f7a8e;font-size:.92rem}.section{padding:82px 0}.section-soft{background:linear-gradient(180deg,#fff,#f5faff)}.section-heading{max-width:850px;margin-inline:auto;margin-bottom:36px}.section-heading.center{text-align:center}.section-heading h2,.section-copy h2,.cta-inner h2,.page-hero h1{color:var(--navy);font-weight:1000;letter-spacing:-.055em;line-height:.98}.section-heading h2{font-size:clamp(2.2rem,5vw,4.4rem);margin-top:12px}.section-heading p{margin-top:18px}.split-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center}.section-copy h2{font-size:clamp(2.4rem,5.4vw,4.8rem);margin:14px 0 22px}.section-copy p{font-size:1.05rem}.benefit-panel,.cards-stack{display:grid;gap:16px}.benefit-item,.program-card,.topic-card,.post-card,.contact-card,.content-card,.admin-panel,.dash-card{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-soft)}.benefit-item{display:grid;grid-template-columns:56px 1fr;gap:18px;align-items:center;padding:20px}.benefit-item span,.values-grid article span{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:linear-gradient(145deg,var(--aqua),var(--navy));color:#fff;font-weight:1000}.benefit-item p{color:var(--ink);font-weight:850}.values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.values-grid-6{grid-template-columns:repeat(3,minmax(0,1fr))}.values-grid article{padding:26px;min-height:210px}.values-grid article h3{margin-top:24px;color:var(--navy);font-size:1.25rem;font-weight:950}.values-grid article p{margin-top:10px}.section-values{background:radial-gradient(circle at 20% 10%,rgba(255,243,106,.22),transparent 25%),linear-gradient(135deg,#f8fcff,#fff)}.blueprint-section{background:linear-gradient(135deg,#0c1d60,#0c98c1);color:rgba(255,255,255,.82)}.blueprint-section article{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.18);color:rgba(255,255,255,.82);box-shadow:none}.blueprint-section h3{color:#fff!important}.media-card{overflow:hidden;border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#fff;border:1px solid var(--line)}.media-card img{width:100%;height:100%;object-fit:cover}.tall-card{min-height:520px}.cards-stack .program-card{padding:24px}.program-card h3,.post-card h3,.course-card h2,.contact-card h2,.content-card h2{color:var(--navy);font-weight:950;line-height:1.05}.program-card h3{font-size:1.45rem;margin-top:12px}.program-card p{margin:12px 0}.program-card a,.post-card a{color:var(--navy);font-weight:950}.pill,.status-pill{display:inline-flex;align-items:center;width:max-content;padding:7px 11px;border-radius:999px;background:rgba(88,189,210,.15);color:var(--navy);font-size:.78rem;font-weight:950}.mini-meta,.course-meta{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.mini-meta span,.course-meta span{background:#f0f7fb;border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:.84rem;font-weight:800;color:#536075}.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.post-card{padding:26px}.post-card span{font-size:.82rem;font-weight:850;color:#63b6ce}.post-card h3{font-size:1.35rem;margin:10px 0}.cta-band{padding:70px 0;background:linear-gradient(135deg,var(--navy),#0b79b0);color:#fff}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}.cta-inner h2{font-size:clamp(2rem,5vw,4rem);color:#fff;margin-top:8px}.page-hero{padding:84px 0;background:radial-gradient(circle at 16% 15%,rgba(255,243,106,.24),transparent 20%),linear-gradient(135deg,#f8fdff,#eef8fc)}.page-hero h1{font-size:clamp(2.7rem,6vw,5.5rem);max-width:960px;margin:14px 0 18px}.page-hero p{max-width:760px}.compact-hero{padding:70px 0}.detail-grid{display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:end}.detail-meta-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:24px;padding:24px}.detail-meta-card dl{display:grid;grid-template-columns:1fr;gap:12px;margin-top:18px}.detail-meta-card dt{font-weight:950;color:#8a94a5}.detail-meta-card dd{font-weight:950;color:var(--navy)}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.course-card{display:grid;grid-template-columns:220px 1fr;background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:var(--shadow-soft)}.course-image{min-height:280px;background:#eef8fc}.course-image img{height:100%;width:100%;object-fit:cover}.course-body{padding:26px}.course-body h2{font-size:1.6rem;margin:14px 0 12px}.download-band{margin-top:26px;margin-bottom:72px;padding:24px 28px;background:linear-gradient(135deg,#f9fdff,#eff8fc);border:1px solid var(--line);border-radius:26px;display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:var(--shadow-soft)}.download-band strong{display:block;color:var(--navy);font-size:1.2rem}.slider-section{padding-top:48px}.media-slider{position:relative;border-radius:28px;overflow:hidden;min-height:420px;background:#eef8fc;box-shadow:var(--shadow)}.slide{display:none;margin:0}.slide.active{display:block}.slide img{width:100%;height:460px;object-fit:cover}.slider-btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:0;display:flex;align-items:center;justify-content:center;padding:0;background:#fff;color:var(--navy);font-size:2rem;line-height:1;font-weight:900;box-shadow:var(--shadow-soft)}.slider-btn.prev{left:16px}.slider-btn.next{right:16px}.readable{max-width:900px;padding:38px}.readable h2{font-size:2rem;margin-bottom:18px}.section-location{background:linear-gradient(135deg,#111a96,#179fc2);color:rgba(255,255,255,.84)}.location-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:34px;align-items:center}.location-copy h2{font-size:clamp(2.2rem,5vw,4.8rem);line-height:.95;letter-spacing:-.055em;color:#fff;margin:14px 0 18px}.location-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.video-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:28px;padding:12px;box-shadow:0 24px 70px rgba(0,0,0,.16)}.video-card iframe{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:20px}.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.85fr);gap:24px}.align-start{align-items:start}.contact-card{padding:30px}.main-contact h2{font-size:clamp(2rem,4vw,3.4rem);margin:12px 0}.contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:24px 0}.phone-line{margin-top:18px}.form-card,.admin-form{display:grid;gap:18px}.form-row{display:grid;gap:8px}.form-row.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-row.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}label{font-weight:900;color:var(--ink)}input,textarea,select{width:100%;border:1px solid rgba(21,26,150,.14);border-radius:16px;padding:13px 14px;background:#fff;color:var(--ink);outline:none}textarea{resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--aqua);box-shadow:0 0 0 4px rgba(88,189,210,.16)}.check-list{display:grid;gap:12px;margin-top:24px}.check-list span{display:flex;gap:10px;font-weight:850;color:var(--ink)}.check-list span::before{content:"✓";display:grid;place-items:center;flex:0 0 24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-size:.8rem}.notice{width:min(var(--container),calc(100% - 46px));margin:18px auto 0;padding:13px 16px;border-radius:16px;font-weight:850}.notice-success{background:#eaf8ef;color:#1f7a3d}.notice-error{background:#fff0f0;color:#a82222}.notice-info{background:#edf7ff;color:#16618c}.notice-warn{background:#fff9da;color:#836900}
.login-page,.install-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,rgba(255,243,106,.18),transparent 25%),linear-gradient(135deg,#eef8fc,#fff)}.login-card,.install-card{width:min(470px,calc(100% - 36px));background:#fff;border:1px solid var(--line);border-radius:32px;padding:34px;box-shadow:var(--shadow);display:grid;gap:18px}.login-card h1,.install-card h1{color:var(--navy);font-size:2.4rem;line-height:1;font-weight:1000;margin:0}.install-card .notice,.login-card .notice{width:100%;margin:0}
.admin-body{background:#f3f8fc}.admin-shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr}.admin-sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#08105f,#151a96);padding:22px;color:#fff}.admin-brand{color:#fff;margin-bottom:28px}.admin-menu{display:grid;gap:8px}.admin-menu a{padding:13px 14px;border-radius:15px;color:rgba(255,255,255,.78);font-weight:900}.admin-menu a:hover,.admin-menu a.active{background:rgba(255,255,255,.14);color:#fff}.admin-main{min-width:0;padding:22px}.admin-topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;background:rgba(255,255,255,.85);border:1px solid var(--line);border-radius:24px;padding:16px 18px;box-shadow:var(--shadow-soft);backdrop-filter:blur(16px)}.admin-topbar span{display:block;color:#7c8798;font-size:.84rem;font-weight:850}.admin-topbar strong{display:block;color:var(--navy);font-size:1.2rem}.admin-user{display:flex;align-items:center;gap:12px}.admin-title-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:28px 0 18px}.admin-title-row h1{margin:0;color:var(--navy);font-size:clamp(2rem,4vw,3.2rem);line-height:1;font-weight:1000;letter-spacing:-.04em}.dash-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.dash-card{padding:22px}.dash-card span{font-weight:950;color:#62b8d1}.dash-card strong{display:block;margin-top:8px;color:var(--navy);font-size:2.5rem;line-height:1;font-weight:1000}.admin-grid{display:grid;gap:18px;margin-top:18px}.admin-grid.two-cols{grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr)}.admin-panel{padding:22px;overflow:hidden}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.panel-title h2,.admin-panel h2{color:var(--navy);margin:0;font-size:1.25rem}.panel-title a{font-weight:950;color:var(--navy)}.table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;min-width:760px}.admin-table th{text-align:left;color:#8390a3;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;padding:12px}.admin-table td{padding:14px 12px;border-top:1px solid rgba(21,26,150,.08);vertical-align:top}.admin-table strong{display:block;color:var(--ink)}.admin-table small{display:block;color:#8792a3}.actions-cell{display:flex;gap:10px;align-items:center}.actions-cell a,.actions-cell button{border:0;background:#eff8fc;color:var(--navy);border-radius:999px;padding:8px 11px;font-weight:900}.status-pill.ok{background:#e7f8ee;color:#1d7b3c}.status-pill.warn{background:#fff7dd;color:#856600}.activity-list{display:grid;gap:12px}.activity-list article{padding:14px;border:1px solid rgba(21,26,150,.09);border-radius:18px;background:#fbfdff}.activity-list strong{display:block;color:var(--ink)}.activity-list small{display:block;color:#8792a3}.filters{display:grid;grid-template-columns:1fr 220px auto;gap:12px;align-items:center}.row-actions{display:flex;gap:10px;flex-wrap:wrap}.toggle-row{display:flex;gap:18px;flex-wrap:wrap}.toggle-row label{display:flex;gap:8px;align-items:center}.toggle-row input{width:auto}.media-preview{display:flex;gap:10px;flex-wrap:wrap}.media-preview img{width:110px;height:84px;object-fit:cover;border-radius:14px;border:1px solid var(--line)}.mail-preview-note{background:#f0f8fc;border:1px solid var(--line);padding:12px;border-radius:14px;color:#627086;font-weight:800}
@media (max-width:1040px){.hero-grid,.split-grid,.location-grid,.contact-grid,.detail-grid{grid-template-columns:1fr}.hero{padding-top:52px}.hero-image-card{min-height:390px}.course-grid{grid-template-columns:1fr}.post-grid,.values-grid,.values-grid-6,.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto}.admin-main{padding:16px}.admin-grid.two-cols{grid-template-columns:1fr}.admin-menu{grid-template-columns:repeat(5,minmax(0,1fr));overflow:auto}.reverse-mobile .section-copy{order:-1}}
@media (max-width:820px){.container{width:min(100% - 32px,var(--container))}.header-cta{display:none}.menu-toggle{display:flex}.main-nav{position:fixed;inset:var(--header) 16px auto 16px;display:none}.body.menu-open .main-nav,.menu-open .main-nav{display:block}.nav-list{display:grid;border-radius:24px;padding:12px;background:#fff;box-shadow:var(--shadow);align-items:stretch}.nav-list a{justify-content:center}.hero h1{font-size:clamp(3rem,18vw,5rem)}.hero-stats,.post-grid,.values-grid,.values-grid-6,.dash-grid{grid-template-columns:1fr}.floating-card{position:relative;right:auto;bottom:auto;margin:14px auto 0;width:100%}.section{padding:62px 0}.course-card{grid-template-columns:1fr}.course-image{min-height:220px}.download-band,.cta-inner{display:grid}.form-row.two,.form-row.three,.filters{grid-template-columns:1fr}.admin-title-row,.admin-topbar{display:grid}.admin-menu{grid-template-columns:1fr 1fr}.media-slider,.slide img{min-height:300px;height:300px}}
@media (max-width:520px){.hero-actions,.location-actions,.contact-actions{display:grid}.btn{width:100%}.hero-stats article{padding:16px}.section-heading h2,.section-copy h2{font-size:2.35rem}.page-hero h1{font-size:2.6rem}.admin-menu{grid-template-columns:1fr}.login-card,.install-card{padding:24px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Mejora visual para selects dinámicos de cursos activos */
select {
    appearance: none;
    -webkit-appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, var(--navy) 50%),
        linear-gradient(135deg, var(--navy) 50%, transparent 50%),
        linear-gradient(135deg, rgba(88,189,210,.18), rgba(21,26,150,.06));
    background-position:
        calc(100% - 22px) 50%,
        calc(100% - 15px) 50%,
        100% 0;
    background-size:
        7px 7px,
        7px 7px,
        52px 100%;
    background-repeat: no-repeat;
    padding-right: 64px;
    cursor: pointer;
}
.form-help {
    display: block;
    color: #6f7a8e;
    font-size: .82rem;
    font-weight: 750;
    line-height: 1.45;
}

/* ==========================================================
   Ajuste 2.1: Oferta educativa como página principal
   - Hero más compacto
   - Prioridad visual a cursos activos
   - Sin bloque PDF ni footer en index/oferta
   ========================================================== */
.offer-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 10%, rgba(255,243,106,.20), transparent 18%),
    radial-gradient(circle at 84% -20%, rgba(88,189,210,.18), transparent 26%),
    linear-gradient(135deg,#fbfeff 0%,#eef8fc 100%);
  border-bottom:1px solid rgba(21,26,150,.08);
}
.offer-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(45deg,rgba(40,152,206,.045) 0 1px,transparent 1px 10px);
  pointer-events:none;
}
.offer-hero-compact{padding:42px 0 34px}
.offer-hero-inner{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  align-items:end;
  gap:28px;
}
.offer-hero h1{
  max-width:760px;
  margin:10px 0 0;
  color:var(--navy);
  font-size:clamp(2.35rem,5.4vw,5.1rem);
  line-height:.93;
  letter-spacing:-.065em;
  font-weight:1000;
}
.offer-hero-text{
  max-width:520px;
  padding:18px 20px;
  justify-self:end;
  color:#536075;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(21,26,150,.10);
  border-radius:22px;
  box-shadow:0 14px 34px rgba(10,18,84,.08);
  backdrop-filter:blur(12px);
}
.offer-courses-section{
  padding:48px 0 58px;
  background:#fff;
}
.offer-course-grid{
  align-items:stretch;
}
.offer-card{
  min-height:315px;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.offer-card:hover{
  transform:translateY(-4px);
  border-color:rgba(88,189,210,.38);
  box-shadow:0 24px 58px rgba(10,18,84,.13);
}
.offer-card .course-image{
  min-height:315px;
  height:100%;
}
.offer-card .course-image img{
  height:100%;
  width:100%;
  object-fit:cover;
  object-position:center;
}
.offer-card .course-body{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}
.offer-card .course-body h2{
  font-size:clamp(1.35rem,2.3vw,2rem);
  letter-spacing:-.035em;
}
.offer-card .course-body p{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.offer-card .btn{
  align-self:flex-start;
  margin-top:auto;
}
.empty-state{
  grid-column:1 / -1;
  padding:34px;
}
.empty-state .btn{
  margin-top:18px;
}
@media (min-width:1180px){
  .offer-course-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:1040px){
  .offer-hero-inner{
    grid-template-columns:1fr;
    align-items:start;
  }
  .offer-hero-text{
    justify-self:start;
    max-width:760px;
  }
}
@media (max-width:820px){
  .offer-hero-compact{padding:32px 0 26px}
  .offer-courses-section{padding:34px 0 48px}
  .offer-card{min-height:auto}
  .offer-card .course-image{min-height:230px;height:auto}
  .offer-card .btn{width:100%;align-self:stretch}
}
@media (max-width:520px){
  .offer-hero h1{font-size:2.45rem;letter-spacing:-.045em}
  .offer-hero-text{padding:16px;border-radius:18px}
  .offer-card .course-image{min-height:210px}
}

/* ==========================================================
   Ajuste 2.2: oferta educativa compacta, logo real local,
   tipografía más equilibrada, sin footer y WhatsApp flotante
   ========================================================== */
:root{
  --header:68px;
}
body{font-size:15px;line-height:1.58}
.brand-logo{min-width:auto;gap:0}
.brand-logo img{width:180px;max-width:42vw;height:auto;filter:drop-shadow(0 10px 22px rgba(21,26,150,.10))}
.header-inner{min-height:var(--header)}
.nav-list a{font-size:.86rem;min-height:36px;padding:8px 14px}
.header-cta,.btn{min-height:44px;padding:12px 19px;font-size:.9rem}
.kicker,.section-tag{font-size:.76rem;letter-spacing:.31em}.section{padding:58px 0}.section-heading{margin-bottom:26px}.section-heading h2{font-size:clamp(1.8rem,3.5vw,3.1rem);letter-spacing:-.04em}.section-copy h2{font-size:clamp(1.9rem,4vw,3.4rem);letter-spacing:-.04em}.page-hero{padding:52px 0}.page-hero h1{font-size:clamp(2rem,4.6vw,4rem);letter-spacing:-.04em}.hero h1{font-size:clamp(2.4rem,6vw,4.9rem);letter-spacing:-.055em}.hero-description,.section-copy p{font-size:1rem}.program-card h3,.post-card h3{font-size:1.18rem}.contact-card h2{font-size:clamp(1.7rem,3.2vw,2.6rem)!important}.readable h2{font-size:1.55rem}.location-copy h2{font-size:clamp(1.9rem,4.4vw,3.5rem)}

/* Header de oferta más pequeño y profesional */
.offer-hero-compact{padding:20px 0 18px}
.offer-hero-inner{display:block}.offer-hero-titlebar{display:flex;align-items:end;justify-content:space-between;gap:18px;min-height:68px}.offer-hero h1{font-size:clamp(1.65rem,3.2vw,2.85rem);line-height:1.02;letter-spacing:-.035em;margin:4px 0 0}.offer-hero .kicker{font-size:.72rem}.offer-hero-text{display:none!important}.offer-courses-section{padding:24px 0 42px}.offer-course-grid{gap:16px}.offer-card{min-height:245px;border-radius:22px}.offer-card .course-image{min-height:245px}.offer-card .course-body{padding:22px}.offer-card .course-body h2{font-size:clamp(1.15rem,1.8vw,1.55rem);line-height:1.08;margin:11px 0 8px}.offer-card .course-body p{font-size:.9rem;line-height:1.48;-webkit-line-clamp:2}.course-meta{margin:12px 0;gap:7px}.course-meta span,.mini-meta span{font-size:.76rem;padding:5px 9px}.pill,.status-pill{font-size:.71rem;padding:6px 10px}.offer-card .btn{min-height:40px;padding:10px 15px;font-size:.82rem}
@media (min-width:981px){.offer-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1040px){.course-grid.offer-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.offer-card{display:block}.offer-card .course-image{height:190px;min-height:190px}.offer-card .course-body{min-height:210px}}
@media (max-width:720px){
  .container{width:min(100% - 20px,var(--container))}.site-header{min-height:62px}.header-inner{min-height:62px;gap:10px}.brand-logo img{width:145px}.menu-toggle{width:40px;height:40px;border-radius:12px}.main-nav{inset:62px 10px auto 10px}.offer-hero-compact{padding:14px 0 12px}.offer-hero-titlebar{min-height:44px}.offer-hero h1{font-size:1.42rem}.offer-hero .kicker{font-size:.62rem;letter-spacing:.22em}.offer-courses-section{padding:14px 0 26px}.course-grid.offer-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}.offer-card{display:flex;flex-direction:column;min-height:0;border-radius:18px;box-shadow:0 10px 24px rgba(10,18,84,.09)}.offer-card .course-image{height:96px;min-height:96px}.offer-card .course-body{padding:10px;min-height:0;display:flex;justify-content:flex-start}.offer-card .pill{font-size:.58rem;padding:4px 7px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.offer-card .course-body h2{font-size:.9rem;line-height:1.06;letter-spacing:-.018em;margin:8px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.offer-card .course-body p{display:none}.offer-card .course-meta{margin:8px 0 10px;gap:4px}.offer-card .course-meta span{font-size:.62rem;padding:3px 6px}.offer-card .course-meta span:nth-child(n+3){display:none}.offer-card .btn{width:100%;min-height:34px;padding:9px 8px;font-size:.69rem;margin-top:auto}.header-cta{display:none}.section-heading h2,.section-copy h2{font-size:1.8rem}.page-hero h1{font-size:2rem}.main-contact h2{font-size:1.85rem!important}
}
@media (max-width:390px){.brand-logo img{width:128px}.offer-card .course-image{height:82px;min-height:82px}.offer-card .course-body{padding:9px}.offer-card .course-body h2{font-size:.82rem}.offer-card .btn{font-size:.65rem}.course-grid.offer-course-grid{gap:8px}}

/* Footer eliminado visualmente en sitio público */
.site-footer{display:none!important}

/* WhatsApp flotante */
.whatsapp-float{position:fixed;right:20px;bottom:20px;z-index:120;display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:999px;color:#fff;background:linear-gradient(135deg,#25D366,#128C7E);box-shadow:0 18px 42px rgba(18,140,126,.28);font-weight:950;font-size:.9rem;animation:wa-bounce 6.8s ease-in-out infinite}.whatsapp-float:hover{transform:translateY(-2px);box-shadow:0 22px 52px rgba(18,140,126,.36)}.whatsapp-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);flex:0 0 auto}.whatsapp-copy{white-space:nowrap}@keyframes wa-bounce{0%,88%,100%{transform:translateY(0)}91%{transform:translateY(-6px)}94%{transform:translateY(0)}97%{transform:translateY(-3px)}}@media (max-width:520px){.whatsapp-float{right:12px;bottom:14px;padding:10px 12px;font-size:.78rem}.whatsapp-icon{width:32px;height:32px}.whatsapp-copy{max-width:128px;overflow:hidden;text-overflow:ellipsis}}
@media (prefers-reduced-motion:reduce){.whatsapp-float{animation:none}}

/* =========================================================
   Ajustes 2.3.0 - Homologación de encabezados y Nosotros
   ========================================================= */
.page-hero,
.page-hero.compact-hero,
.unified-page-hero{
  padding:42px 0 44px!important;
  min-height:0!important;
  background:radial-gradient(circle at 14% 18%,rgba(255,243,106,.20),transparent 20%),linear-gradient(135deg,#f8fdff,#eef8fc)!important;
}
.page-hero .container{
  max-width:1120px;
}
.page-hero h1,
.page-hero.compact-hero h1,
.unified-page-hero h1{
  max-width:920px!important;
  margin:12px 0 14px!important;
  font-size:clamp(2.15rem,4.35vw,4.25rem)!important;
  line-height:.98!important;
  letter-spacing:-.052em!important;
}
.page-hero p:not(.kicker){
  max-width:720px!important;
  font-size:clamp(.94rem,1.05vw,1.02rem)!important;
  line-height:1.62!important;
}
.kicker,.section-tag{
  font-size:.74rem!important;
  letter-spacing:.32em!important;
}
.section-heading h2,.section-copy h2,.location-copy h2,.cta-inner h2{
  font-size:clamp(1.9rem,3.75vw,3.65rem)!important;
  line-height:1.02!important;
}
.course-body h2,.program-card h3,.post-card h3,.contact-card h2,.content-card h2{
  letter-spacing:-.025em;
}
.founder-section{padding-top:62px}
.founder-grid{align-items:center;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr)}
.founder-card{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:var(--shadow);
}
.founder-card img{
  display:block;
  width:100%;
  height:auto;
}
.founder-caption{
  position:absolute;
  left:22px;
  right:22px;
  bottom:22px;
  padding:18px 20px;
  border-radius:22px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(21,26,150,.10);
  box-shadow:0 18px 42px rgba(10,18,84,.14);
  backdrop-filter:blur(10px);
}
.founder-caption span{display:block;color:#64b8d1;text-transform:uppercase;letter-spacing:.2em;font-size:.68rem;font-weight:950;margin-bottom:6px}
.founder-caption strong{display:block;color:var(--navy);font-size:1.05rem;line-height:1.15}
@media (max-width:980px){
  .page-hero,.page-hero.compact-hero,.unified-page-hero{padding:34px 0 36px!important}
  .page-hero h1,.page-hero.compact-hero h1,.unified-page-hero h1{font-size:clamp(1.85rem,7vw,3.15rem)!important;max-width:760px!important}
  .founder-grid{grid-template-columns:1fr;gap:28px}
  .founder-card{max-width:620px;margin-inline:auto}
}
@media (max-width:560px){
  .page-hero,.page-hero.compact-hero,.unified-page-hero{padding:26px 0 28px!important}
  .page-hero h1,.page-hero.compact-hero h1,.unified-page-hero h1{font-size:2rem!important;letter-spacing:-.04em!important;line-height:1.03!important}
  .page-hero p:not(.kicker){font-size:.91rem!important;line-height:1.55!important}
  .kicker,.section-tag{font-size:.62rem!important;letter-spacing:.24em!important}
  .founder-caption{position:static;margin:0;border-radius:0;border-inline:0;border-bottom:0;box-shadow:none}
  .section-copy p{font-size:.95rem!important}
}

/* =========================================================
   Ajustes 2.4.0 - Sin encabezados superiores en páginas públicas
   ========================================================= */
.no-page-heading{
  padding-top:clamp(28px,4vw,52px)!important;
}
.offer-courses-section.no-page-heading{
  padding-top:28px!important;
}
.founder-section.no-page-heading{
  padding-top:46px!important;
}
.contact-section.no-page-heading,
.publications-section.no-page-heading{
  padding-top:40px!important;
}
.section-location.no-page-heading{
  padding-top:56px!important;
  padding-bottom:56px!important;
}
.course-detail-section.no-page-heading{
  padding-top:42px!important;
  padding-bottom:26px!important;
}
.detail-grid-topless{
  align-items:start;
}
.body-title{
  margin:10px 0 12px;
  color:var(--navy);
  font-size:clamp(1.9rem,4.2vw,3.8rem);
  line-height:1.02;
  letter-spacing:-.045em;
  font-weight:1000;
}
.intro-text{
  max-width:760px;
  margin:0 0 18px;
  color:#536075;
  font-size:1rem;
  line-height:1.62;
}
.body-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:20px;
}
.soft-separator{
  border:0;
  border-top:1px solid rgba(21,26,150,.12);
  margin:26px 0;
}
.soft-message-card{
  max-width:880px;
}
.course-detail-copy.readable,
.publication-detail-card.readable{
  max-width:none;
}
.detail-after-media{
  padding-top:30px!important;
}
.compact-slider-section{
  padding-top:30px!important;
}
.course-detail-section + .compact-slider-section{
  padding-top:0!important;
}
.publication-detail-card .btn{
  margin-top:22px;
}
@media (max-width:720px){
  .no-page-heading{
    padding-top:18px!important;
  }
  .offer-courses-section.no-page-heading{
    padding-top:12px!important;
  }
  .founder-section.no-page-heading,
  .contact-section.no-page-heading,
  .publications-section.no-page-heading{
    padding-top:24px!important;
  }
  .section-location.no-page-heading{
    padding-top:36px!important;
    padding-bottom:36px!important;
  }
  .course-detail-section.no-page-heading{
    padding-top:22px!important;
  }
  .body-title{
    font-size:1.75rem;
    line-height:1.08;
    letter-spacing:-.03em;
  }
  .intro-text{
    font-size:.94rem;
    line-height:1.55;
  }
  .body-actions .btn{
    width:100%;
  }
  .soft-separator{
    margin:20px 0;
  }
  .compact-slider-section{
    padding-top:18px!important;
  }
  .detail-after-media{
    padding-top:18px!important;
  }
}


/* =========================================================
   Ajustes 2.5.0 - Encabezados selectivos y Nosotros refinado
   ========================================================= */
.page-hero.compact-hero.unified-page-hero{
  padding:34px 0 36px!important;
  border-bottom:1px solid rgba(21,26,150,.08);
}
.page-hero.compact-hero.unified-page-hero h1{
  font-size:clamp(1.72rem,3.2vw,3.25rem)!important;
  line-height:1.03!important;
  letter-spacing:-.04em!important;
  max-width:880px!important;
}
.page-hero.compact-hero.unified-page-hero p:not(.kicker){
  max-width:690px!important;
  font-size:.96rem!important;
}
.offer-courses-section{padding-top:30px!important}
.contact-section{padding-top:46px!important}
.publications-section{padding-top:46px!important}
.section-location{padding-top:58px!important;padding-bottom:58px!important}
.founder-card-clean{
  overflow:visible!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.founder-card-clean img{
  width:100%;
  border-radius:30px;
  border:1px solid rgba(21,26,150,.12);
  box-shadow:var(--shadow);
  background:#fff;
}
.founder-card-clean .founder-caption{
  position:static!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  margin-top:16px!important;
  padding:18px 20px!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(21,26,150,.10)!important;
  box-shadow:0 18px 42px rgba(10,18,84,.12)!important;
  backdrop-filter:none!important;
}
.campus-story-section{position:relative;overflow:hidden}
.campus-story-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 16% 20%,rgba(88,189,210,.14),transparent 22%),radial-gradient(circle at 92% 70%,rgba(21,26,150,.08),transparent 28%);
  pointer-events:none;
}
.campus-story-section > .container{position:relative}
.campus-story-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.campus-photo-card{min-height:430px}
.campus-photo-card img{object-position:center center}
.campus-copy-card{
  padding:28px;
  border:1px solid rgba(21,26,150,.10);
  border-radius:28px;
  background:rgba(255,255,255,.72);
  box-shadow:0 16px 42px rgba(10,18,84,.08);
}
.campus-copy-card h2{font-size:clamp(1.8rem,3.2vw,3.1rem)!important}
.campus-copy-card p + p{margin-top:14px}
@media (max-width:980px){
  .campus-story-grid{grid-template-columns:1fr;gap:24px}
  .campus-photo-card{min-height:320px;order:2}
  .campus-copy-card{order:1;padding:22px}
}
@media (max-width:720px){
  .page-hero.compact-hero.unified-page-hero{padding:22px 0 24px!important}
  .page-hero.compact-hero.unified-page-hero h1{font-size:1.7rem!important;line-height:1.08!important}
  .page-hero.compact-hero.unified-page-hero p:not(.kicker){font-size:.88rem!important;line-height:1.5!important}
  .offer-courses-section{padding-top:16px!important}
  .contact-section,.publications-section{padding-top:28px!important}
  .section-location{padding-top:42px!important;padding-bottom:42px!important}
  .founder-card-clean img{border-radius:22px}
  .founder-card-clean .founder-caption{margin-top:12px!important;border-radius:18px!important;padding:14px 16px!important}
  .campus-photo-card{min-height:230px;border-radius:22px}
  .campus-copy-card{padding:18px;border-radius:22px}
  .campus-copy-card h2{font-size:1.7rem!important}
}

/* =========================================================
   Ajustes 2.6.0 - Oferta Académica, móvil Nosotros e imágenes 940x788
   ========================================================= */
.page-hero.compact-hero.unified-page-hero h1{
  margin-top:0!important;
  margin-bottom:8px!important;
}
.page-hero.compact-hero.unified-page-hero p:not(.kicker){
  margin:0!important;
  color:#536075;
  font-weight:700;
}
.offer-courses-section{
  padding-top:22px!important;
}
.offer-card{
  grid-template-columns:minmax(180px,38%) minmax(0,1fr);
}
.offer-card .course-image{
  aspect-ratio:940 / 788;
  min-height:0!important;
  height:100%!important;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#f8fdff,#edf8fc);
}
.offer-card .course-image img{
  width:100%;
  height:100%;
  object-fit:contain!important;
  object-position:center center;
  background:linear-gradient(135deg,#f8fdff,#edf8fc);
}
.media-slider{
  min-height:0!important;
  background:linear-gradient(135deg,#f8fdff,#edf8fc);
}
.slide img{
  width:100%;
  height:auto!important;
  max-height:78vh;
  aspect-ratio:940 / 788;
  object-fit:contain!important;
  object-position:center center;
  background:linear-gradient(135deg,#f8fdff,#edf8fc);
}
.course-detail-section + .compact-slider-section{
  padding-top:14px!important;
}
@media (min-width:1041px){
  .offer-card .course-body{
    min-height:236px;
  }
}
@media (max-width:1040px){
  .offer-card{
    display:flex!important;
    flex-direction:column;
  }
  .offer-card .course-image{
    width:100%;
    height:auto!important;
  }
  .offer-card .course-body{
    min-height:190px!important;
  }
}
@media (max-width:720px){
  .page-hero.compact-hero.unified-page-hero{
    padding:20px 0 18px!important;
  }
  .page-hero.compact-hero.unified-page-hero h1{
    font-size:1.62rem!important;
    margin-bottom:4px!important;
  }
  .page-hero.compact-hero.unified-page-hero p:not(.kicker){
    font-size:.82rem!important;
    line-height:1.42!important;
  }
  .offer-courses-section{
    padding-top:12px!important;
  }
  .offer-card .course-image{
    aspect-ratio:940 / 788;
    height:auto!important;
    min-height:0!important;
  }
  .offer-card .course-body{
    min-height:0!important;
  }
  .founder-section.no-page-heading{
    padding-bottom:14px!important;
  }
  .founder-section.no-page-heading + .campus-story-section{
    padding-top:16px!important;
  }
  .founder-grid{
    gap:18px!important;
  }
  .founder-card-clean .founder-caption{
    margin-top:10px!important;
  }
  .campus-story-section{
    padding-bottom:42px!important;
  }
  .slide img{
    max-height:none;
  }
}
@media (max-width:390px){
  .page-hero.compact-hero.unified-page-hero h1{
    font-size:1.48rem!important;
  }
}


/* =========================================================
   Ajustes 2.7.0 - Gestión de imágenes, tarjetas y curso limpio
   ========================================================= */
.media-manager{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(170px,1fr));
  gap:14px;
}
.media-item{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:10px;
  border:1px solid rgba(21,26,150,.12);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 26px rgba(10,18,84,.06);
}
.media-item img{
  width:100%;
  aspect-ratio:940 / 788;
  height:auto;
  object-fit:contain;
  border-radius:13px;
  background:linear-gradient(135deg,#f8fdff,#edf8fc);
  border:1px solid rgba(21,26,150,.08);
}
.media-delete-check{
  display:flex;
  align-items:center;
  gap:8px;
  color:#9a2020;
  font-size:.82rem;
  font-weight:950;
}
.media-delete-check input{
  width:auto;
  accent-color:#b42323;
}
.media-preview img{object-fit:contain;background:#f5fbfe;}

/* Oferta Académica: imagen y contenido separados en PC */
.course-grid.offer-course-grid{
  align-items:stretch;
}
.offer-card{
  height:100%;
  display:grid!important;
  grid-template-columns:minmax(220px,42%) minmax(0,58%)!important;
  align-items:stretch;
  isolation:isolate;
}
.offer-card .course-image{
  grid-column:1!important;
  grid-row:1!important;
  position:relative;
  z-index:1;
  overflow:hidden;
  width:100%;
  height:100%!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  border-right:1px solid rgba(21,26,150,.08);
}
.offer-card .course-image img{
  width:100%;
  height:100%!important;
  min-height:100%;
  object-fit:contain!important;
  object-position:center center!important;
  background:linear-gradient(135deg,#f8fdff,#edf8fc);
}
.offer-card .course-body{
  grid-column:2!important;
  grid-row:1!important;
  position:relative;
  z-index:2;
  min-width:0;
  height:100%;
  display:flex!important;
  flex-direction:column;
  justify-content:flex-start!important;
  background:#fff;
}
.offer-card .course-body .btn{
  margin-top:auto!important;
}
.offer-card .course-meta{
  margin-bottom:16px;
}

/* Slider / detalle: la imagen queda limpia y no se superpone con texto */
.media-slider{
  display:block;
  padding:0;
  border:1px solid rgba(21,26,150,.10);
  background:linear-gradient(135deg,#f8fdff,#edf8fc)!important;
}
.slide img{
  display:block;
  width:100%;
  max-width:940px;
  margin-inline:auto;
  height:auto!important;
  aspect-ratio:940 / 788;
  object-fit:contain!important;
  object-position:center center!important;
  background:linear-gradient(135deg,#f8fdff,#edf8fc);
}
.course-detail-section .detail-grid{
  align-items:start;
}
.course-detail-copy,
.detail-panel{
  position:relative;
  z-index:2;
}

@media (min-width:1041px){
  .offer-card{min-height:255px;}
  .offer-card .course-body{min-height:255px!important;}
}
@media (max-width:1040px){
  .offer-card{
    display:flex!important;
    flex-direction:column!important;
    grid-template-columns:1fr!important;
  }
  .offer-card .course-image{
    height:auto!important;
    aspect-ratio:940 / 788!important;
    border-right:0;
    border-bottom:1px solid rgba(21,26,150,.08);
  }
  .offer-card .course-image img{
    height:100%!important;
    min-height:0;
  }
  .offer-card .course-body{
    flex:1 1 auto;
    min-height:190px!important;
  }
}
@media (max-width:720px){
  .course-grid.offer-course-grid{
    align-items:stretch!important;
  }
  .offer-card{
    height:100%;
    display:flex!important;
    flex-direction:column!important;
  }
  .offer-card .course-image{
    flex:0 0 auto;
    width:100%;
    height:auto!important;
    aspect-ratio:940 / 788!important;
  }
  .offer-card .course-image img{
    width:100%;
    height:100%!important;
    object-fit:contain!important;
  }
  .offer-card .course-body{
    flex:1 1 auto;
    min-height:210px!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .offer-card .course-body h2{
    min-height:2.2em;
  }
  .offer-card .course-meta{
    min-height:40px;
    align-content:flex-start;
  }
  .offer-card .btn{
    margin-top:auto!important;
  }
  .media-manager{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .media-delete-check{
    font-size:.72rem;
  }
}
@media (max-width:390px){
  .offer-card .course-body{min-height:198px!important;}
  .offer-card .course-body h2{min-height:2.15em;}
  .offer-card .course-meta{min-height:36px;}
}


/* =========================================================
   Ajustes 2.8.0 - Imagen propia de curso, default removible y tarjetas alineadas
   ========================================================= */
.media-item-default{
  border-color:rgba(255,191,0,.35);
  background:linear-gradient(180deg,#fffef4,#fff);
}
.default-image-note{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:5px 9px;
  border-radius:999px;
  color:#7c5b00;
  background:#fff5c4;
  font-weight:950;
  font-size:.72rem;
}
.media-item img[src^="http"]{
  background:#fff;
}
.course-grid.offer-course-grid{
  grid-auto-rows:1fr;
}
.offer-card{
  min-height:278px!important;
}
.offer-card .course-body{
  min-height:100%!important;
  justify-content:flex-start!important;
}
.offer-card .course-meta{
  margin-top:12px;
}
.offer-card .course-body .btn{
  margin-top:auto!important;
  align-self:flex-start;
}
@media (min-width:1041px){
  .offer-card .course-image{
    min-height:278px!important;
  }
  .offer-card .course-body{
    padding:24px!important;
  }
}
@media (max-width:1040px){
  .course-grid.offer-course-grid{
    grid-auto-rows:auto;
  }
}
@media (max-width:720px){
  .course-grid.offer-course-grid{
    grid-auto-rows:1fr;
  }
  .offer-card{
    min-height:0!important;
  }
  .offer-card .course-body{
    min-height:210px!important;
  }
}

/* =========================================================
   Ajustes 2.9.0 - Logo CLEO oficial, textos justificados y WhatsApp circular
   ========================================================= */
.brand-campus{
  min-width:max-content;
  gap:11px;
  align-items:center;
}
.brand-campus-mark{
  width:52px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.brand-campus-mark img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 10px 18px rgba(21,26,150,.12));
}
.brand-campus-copy{
  display:grid;
  line-height:1.02;
  color:var(--navy);
}
.brand-campus-copy strong{
  display:block;
  font-size:1.1rem;
  letter-spacing:.18em;
  font-weight:1000;
}
.brand-campus-copy small{
  display:block;
  margin-top:3px;
  color:#17228f;
  font-size:.86rem;
  letter-spacing:.01em;
  font-weight:950;
  border:0!important;
  text-decoration:none!important;
}
.founder-section .section-copy > p:not(.section-tag),
.campus-copy-card p:not(.section-tag){
  text-align:justify;
  text-justify:inter-word;
  hyphens:auto;
}
.whatsapp-float.whatsapp-float-circle{
  width:62px;
  height:62px;
  padding:0;
  border-radius:50%;
  justify-content:center;
  gap:0;
  right:22px;
  bottom:22px;
  background:#0fc443;
  box-shadow:0 18px 40px rgba(15,196,67,.28);
}
.whatsapp-float.whatsapp-float-circle:hover{
  box-shadow:0 22px 48px rgba(15,196,67,.36);
}
.whatsapp-float-circle .whatsapp-icon{
  width:62px;
  height:62px;
  background:transparent;
}
.whatsapp-float-circle .whatsapp-icon svg{
  width:36px;
  height:36px;
}
@media (max-width:720px){
  .brand-campus{gap:8px;}
  .brand-campus-mark{width:46px;height:40px;}
  .brand-campus-copy strong{font-size:1rem;letter-spacing:.16em;}
  .brand-campus-copy small{font-size:.78rem;}
  .founder-section.no-page-heading{padding-bottom:6px!important;}
  .founder-section.no-page-heading + .campus-story-section{padding-top:8px!important;}
  .founder-grid{gap:12px!important;}
  .whatsapp-float.whatsapp-float-circle{
    width:54px;
    height:54px;
    right:14px;
    bottom:16px;
  }
  .whatsapp-float-circle .whatsapp-icon{width:54px;height:54px;}
  .whatsapp-float-circle .whatsapp-icon svg{width:31px;height:31px;}
}
@media (max-width:390px){
  .brand-campus-mark{width:42px;height:37px;}
  .brand-campus-copy strong{font-size:.94rem;}
  .brand-campus-copy small{font-size:.72rem;}
}

/* =========================================================
   Ajustes 3.0.0 - Ubicación: panel contenido, mapa y dirección
   ========================================================= */
.location-panel-section{
  background:#fff!important;
  padding:46px 0 28px!important;
  color:rgba(255,255,255,.88)!important;
}
.location-feature-card{
  position:relative;
  overflow:hidden;
  padding:44px 52px;
  border-radius:34px;
  background:linear-gradient(135deg,#111a96 0%,#134f9f 48%,#12a3bf 100%);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 24px 70px rgba(10,18,84,.18);
}
.location-feature-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.12),transparent 22%),
    repeating-linear-gradient(45deg,rgba(255,255,255,.045) 0 1px,transparent 1px 9px);
  pointer-events:none;
}
.location-feature-card > *{
  position:relative;
  z-index:1;
}
.location-feature-card .location-copy h2{
  max-width:520px;
  margin:12px 0 0;
  color:#fff!important;
  font-size:clamp(2.2rem,4.1vw,4.35rem)!important;
  line-height:1.02!important;
  letter-spacing:-.052em!important;
}
.location-feature-card .location-actions{
  margin-top:26px;
}
.location-feature-card .video-card{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.24);
  border-radius:28px;
  padding:12px;
  box-shadow:0 18px 50px rgba(0,0,0,.18);
}
.campus-map-section{
  padding:28px 0 64px!important;
  background:linear-gradient(180deg,#fff 0%,#f6fbfe 100%);
}
.campus-map-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(330px,.72fr);
  gap:22px;
  align-items:stretch;
}
.map-card,
.address-card{
  background:#fff;
  border:1px solid rgba(21,26,150,.12);
  border-radius:28px;
  box-shadow:var(--shadow-soft);
  overflow:hidden;
}
.map-card iframe{
  display:block;
  width:100%;
  min-height:430px;
  height:100%;
  border:0;
}
.address-card{
  padding:34px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.address-card h2{
  margin:12px 0 16px;
  color:var(--navy);
  font-size:clamp(1.7rem,2.8vw,2.65rem);
  line-height:1.04;
  letter-spacing:-.04em;
  font-weight:1000;
}
.address-line{
  color:#536075;
  font-size:1.02rem;
  line-height:1.7;
}
.address-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}
@media (max-width:1040px){
  .location-feature-card{
    padding:34px;
  }
  .campus-map-grid{
    grid-template-columns:1fr;
  }
  .map-card iframe{
    min-height:360px;
  }
}
@media (max-width:720px){
  .location-panel-section{
    padding:26px 0 18px!important;
  }
  .location-feature-card{
    padding:24px;
    border-radius:26px;
    gap:22px;
  }
  .location-feature-card .location-copy h2{
    font-size:2.05rem!important;
  }
  .location-feature-card .video-card{
    border-radius:22px;
    padding:8px;
  }
  .location-feature-card .video-card iframe{
    border-radius:16px;
  }
  .campus-map-section{
    padding:18px 0 42px!important;
  }
  .address-card{
    padding:24px;
    border-radius:24px;
  }
  .map-card{
    border-radius:24px;
  }
  .map-card iframe{
    min-height:300px;
  }
  .address-actions .btn,
  .location-actions .btn{
    width:100%;
  }
}

/* =========================================================
   Ajustes 3.1.0 - Ubicación compacta, mapa oficial y tooltip WhatsApp
   ========================================================= */
.location-card-only{
  background:#fff!important;
  padding:38px 0 22px!important;
  color:rgba(255,255,255,.9)!important;
}
.location-card-container{
  max-width:1180px!important;
}
.location-hero-card{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(300px,.78fr) minmax(420px,1.12fr);
  gap:40px;
  align-items:center;
  width:100%;
  padding:42px 52px;
  border-radius:34px;
  background:linear-gradient(135deg,#111a96 0%,#134f9f 48%,#12a3bf 100%);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 24px 70px rgba(10,18,84,.18);
}
.location-hero-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.12),transparent 22%),
    repeating-linear-gradient(45deg,rgba(255,255,255,.045) 0 1px,transparent 1px 9px);
  pointer-events:none;
}
.location-hero-card > *{
  position:relative;
  z-index:1;
}
.location-hero-card .location-copy h2{
  max-width:500px;
  margin:12px 0 0;
  color:#fff!important;
  font-size:clamp(2.15rem,4vw,4rem)!important;
  line-height:1.02!important;
  letter-spacing:-.052em!important;
}
.location-hero-card .location-actions{
  margin-top:26px;
}
.location-video-box{
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.24)!important;
  border-radius:28px!important;
  padding:12px!important;
  box-shadow:0 18px 50px rgba(0,0,0,.18)!important;
}
.location-video-box iframe{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  border:0;
  border-radius:20px;
}
.campus-map-section{
  padding:28px 0 66px!important;
  background:linear-gradient(180deg,#fff 0%,#f6fbfe 100%)!important;
}
.campus-map-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.72fr)!important;
  gap:24px!important;
  align-items:stretch!important;
}
.map-card,
.address-card{
  background:#fff!important;
  border:1px solid rgba(21,26,150,.12)!important;
  border-radius:28px!important;
  box-shadow:0 16px 42px rgba(10,18,84,.10)!important;
  overflow:hidden;
}
.map-card iframe{
  display:block!important;
  width:100%!important;
  min-height:430px!important;
  height:100%!important;
  border:0!important;
}
.address-card{
  padding:36px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.address-card h2{
  margin:12px 0 16px!important;
  color:var(--navy)!important;
  font-size:clamp(1.65rem,2.8vw,2.65rem)!important;
  line-height:1.04!important;
  letter-spacing:-.04em!important;
  font-weight:1000!important;
}
.address-line,
.address-note{
  color:#536075!important;
  font-size:1.02rem!important;
  line-height:1.72!important;
  text-align:justify!important;
  text-justify:inter-word;
  hyphens:auto;
}
.address-note{
  margin-top:14px!important;
  color:#687388!important;
}
.address-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  margin-top:28px!important;
}
.whatsapp-float.whatsapp-float-circle::after{
  content:attr(data-tooltip);
  position:absolute;
  right:calc(100% + 12px);
  top:50%;
  transform:translateY(-50%) translateX(8px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  min-width:max-content;
  padding:9px 12px;
  border-radius:999px;
  background:#111a96;
  color:#fff;
  font-size:.82rem;
  line-height:1;
  font-weight:900;
  box-shadow:0 12px 30px rgba(10,18,84,.20);
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
.whatsapp-float.whatsapp-float-circle::before{
  content:"";
  position:absolute;
  right:calc(100% + 5px);
  top:50%;
  transform:translateY(-50%) translateX(8px);
  opacity:0;
  visibility:hidden;
  width:0;
  height:0;
  border-top:7px solid transparent;
  border-bottom:7px solid transparent;
  border-left:7px solid #111a96;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
.whatsapp-float.whatsapp-float-circle:hover::after,
.whatsapp-float.whatsapp-float-circle:focus-visible::after,
.whatsapp-float.whatsapp-float-circle:hover::before,
.whatsapp-float.whatsapp-float-circle:focus-visible::before{
  opacity:1;
  visibility:visible;
  transform:translateY(-50%) translateX(0);
}
@media (max-width:1040px){
  .location-hero-card{
    grid-template-columns:1fr;
    gap:28px;
    padding:34px;
  }
  .campus-map-grid{
    grid-template-columns:1fr!important;
  }
  .map-card iframe{
    min-height:360px!important;
  }
}
@media (max-width:720px){
  .location-card-only{
    padding:26px 0 18px!important;
  }
  .location-hero-card{
    padding:24px;
    border-radius:26px;
    gap:22px;
  }
  .location-hero-card .location-copy h2{
    font-size:2.05rem!important;
  }
  .location-video-box{
    border-radius:22px!important;
    padding:8px!important;
  }
  .location-video-box iframe{
    border-radius:16px!important;
  }
  .campus-map-section{
    padding:18px 0 42px!important;
  }
  .address-card{
    padding:24px!important;
    border-radius:24px!important;
  }
  .map-card{
    border-radius:24px!important;
  }
  .map-card iframe{
    min-height:300px!important;
  }
  .address-actions .btn,
  .location-actions .btn{
    width:100%;
  }
  .whatsapp-float.whatsapp-float-circle::after,
  .whatsapp-float.whatsapp-float-circle::before{
    display:none;
  }
}

/* =========================================================
   Ajustes 3.2.0 - Contacto completo y formulario para prospectos
   ========================================================= */
.contact-section-v2{
  padding-top:46px!important;
  padding-bottom:70px!important;
}
.contact-section-v2 .contact-grid{
  grid-template-columns:minmax(0,1.04fr) minmax(390px,.82fr)!important;
  gap:24px!important;
}
.contact-form-v2{
  padding:32px!important;
}
.contact-form-v2 .form-row{
  margin-bottom:18px;
}
.contact-form-v2 label{
  color:var(--ink);
  font-weight:950;
  letter-spacing:.01em;
}
.contact-form-v2 input,
.contact-form-v2 select{
  min-height:52px;
  background:#fbfdff;
}
.contact-form-v2 button[type="submit"]{
  width:100%;
  margin-top:2px;
}
.contact-info-card{
  padding:34px!important;
  overflow:hidden;
}
.contact-info-card h2{
  margin:12px 0 22px!important;
  font-size:clamp(2rem,3.2vw,3.15rem)!important;
  line-height:1.02!important;
  letter-spacing:-.055em!important;
}
.contact-info-list{
  display:grid;
  gap:12px;
  margin-top:8px;
}
.contact-info-row{
  display:grid;
  grid-template-columns:minmax(120px,.58fr) minmax(0,1fr);
  gap:18px;
  align-items:center;
  padding:14px 0;
  border-bottom:1px solid rgba(21,26,150,.10);
}
.contact-info-row:first-child{
  border-top:1px solid rgba(21,26,150,.10);
}
.contact-info-row span{
  color:#5f6b80;
  font-weight:850;
}
.contact-info-row strong,
.contact-info-row a{
  color:var(--navy);
  font-weight:950;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.contact-info-row a{
  border-bottom:2px solid rgba(88,189,210,.42);
  width:max-content;
  max-width:100%;
}
.contact-info-row-action > div{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
.mini-whatsapp-btn{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:8px 12px;
  border:0!important;
  border-radius:999px;
  color:#fff!important;
  background:#14c754;
  box-shadow:0 10px 22px rgba(20,199,84,.22);
  font-size:.78rem;
  font-weight:950;
  line-height:1;
}
.contact-actions-v2{
  margin-top:26px!important;
}
.contact-actions-v2 .btn{
  min-height:44px;
}
@media (max-width:1040px){
  .contact-section-v2 .contact-grid{
    grid-template-columns:1fr!important;
  }
}
@media (max-width:720px){
  .contact-section-v2{
    padding-top:28px!important;
    padding-bottom:54px!important;
  }
  .contact-form-v2,
  .contact-info-card{
    padding:24px!important;
    border-radius:24px!important;
  }
  .contact-form-v2 .form-row.two{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .contact-info-card h2{
    font-size:2.05rem!important;
  }
  .contact-info-row{
    grid-template-columns:1fr;
    gap:4px;
    padding:13px 0;
  }
  .contact-info-row a{
    width:fit-content;
  }
  .contact-actions-v2{
    display:grid!important;
    grid-template-columns:1fr;
  }
  .contact-actions-v2 .btn{
    width:100%;
  }
}

/* =========================================================
   Ajustes 3.3.0 - Contacto: medios, redes y botones limpios
   ========================================================= */
.contact-info-card h2{
  margin:10px 0 20px!important;
  font-size:clamp(1.65rem,2.6vw,2.45rem)!important;
  letter-spacing:-.045em!important;
}
.contact-info-row strong{
  letter-spacing:.01em;
}
.mini-whatsapp-btn{
  padding:9px 15px!important;
  min-height:36px!important;
  font-size:.8rem!important;
  background:linear-gradient(135deg,#22d863,#12af47)!important;
  color:#fff!important;
  border-bottom:0!important;
  box-shadow:0 12px 26px rgba(20,199,84,.24)!important;
}
.mini-whatsapp-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 32px rgba(20,199,84,.30)!important;
}
.social-contact-row{
  align-items:center!important;
}
.social-icons{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
.contact-info-row .social-icon{
  width:42px;
  height:42px;
  display:inline-grid;
  place-items:center;
  border:1px solid rgba(21,26,150,.12)!important;
  border-bottom:1px solid rgba(21,26,150,.12)!important;
  border-radius:14px;
  color:#fff!important;
  background:linear-gradient(135deg,var(--navy),#0f73ad);
  box-shadow:0 12px 25px rgba(10,18,84,.13);
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.contact-info-row .social-icon svg{
  width:21px;
  height:21px;
}
.contact-info-row .social-icon:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(10,18,84,.18);
  filter:saturate(1.08);
}
.contact-info-row .social-icon.facebook{background:linear-gradient(135deg,#1877F2,#0b3f98)}
.contact-info-row .social-icon.instagram{background:linear-gradient(135deg,#833AB4,#E1306C 52%,#FCAF45)}
.contact-info-row .social-icon.tiktok{background:linear-gradient(135deg,#11152d,#010101)}
.contact-info-row .social-icon.youtube{background:linear-gradient(135deg,#FF0000,#b00000)}
@media (max-width:720px){
  .contact-info-card h2{font-size:1.9rem!important}
  .contact-info-row-action > div{gap:8px!important}
  .mini-whatsapp-btn{width:max-content;max-width:100%}
  .social-icons{gap:8px}
  .contact-info-row .social-icon{width:40px;height:40px;border-radius:13px}
}

/* =========================================================
   Ajustes 3.4.0 - Contacto: espaciado uniforme y campos obligatorios
   ========================================================= */
.contact-section-v2 .contact-grid{
  align-items:stretch!important;
}
.contact-section-v2 .contact-card{
  height:100%;
}
.contact-form-v2{
  display:flex!important;
  flex-direction:column!important;
  gap:18px!important;
}
.contact-form-v2 .form-row{
  margin-bottom:0!important;
  display:grid!important;
  gap:8px!important;
}
.contact-form-v2 .form-row.two{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}
.contact-form-v2 .form-row > div{
  display:grid!important;
  gap:8px!important;
  align-content:start!important;
}
.contact-form-v2 label{
  display:block!important;
  margin:0!important;
  min-height:auto!important;
  line-height:1.25!important;
  font-size:.94rem!important;
}
.required-star{
  color:#e0243f!important;
  font-weight:1000!important;
}
.required-note{
  margin:0!important;
  padding:0!important;
  color:#5d6878;
  font-size:.9rem;
  font-weight:850;
  line-height:1.35;
}
.contact-form-v2 input,
.contact-form-v2 select{
  min-height:54px!important;
  height:54px!important;
  padding:12px 14px!important;
  font-size:.95rem!important;
  line-height:1.2!important;
  border-radius:16px!important;
}
.contact-form-v2 button[type="submit"]{
  width:100%;
  margin-top:0!important;
}
.contact-info-card{
  display:flex!important;
  flex-direction:column!important;
}
.contact-info-card .contact-info-list{
  flex:1 1 auto;
}
.contact-info-row{
  min-height:66px;
}
@media (max-width:1040px){
  .contact-section-v2 .contact-grid{
    align-items:start!important;
  }
  .contact-section-v2 .contact-card{
    height:auto;
  }
}
@media (max-width:720px){
  .contact-form-v2{
    gap:16px!important;
    padding:22px!important;
  }
  .contact-form-v2 .form-row.two{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .contact-form-v2 .form-row,
  .contact-form-v2 .form-row > div{
    gap:7px!important;
  }
  .contact-form-v2 label{
    font-size:.98rem!important;
    line-height:1.22!important;
  }
  .contact-form-v2 input,
  .contact-form-v2 select{
    min-height:52px!important;
    height:52px!important;
    font-size:1rem!important;
    padding:11px 14px!important;
  }
  .required-note{
    font-size:.88rem;
  }
  .contact-info-row{
    min-height:0;
  }
}

/* =========================================================
   Ajustes 3.5.0 - Administración de cursos, PDF y descuentos
   ========================================================= */
.admin-subpage-note{
  margin-top:8px!important;
  color:#5d6878;
  font-weight:800;
}
.courses-admin-table{
  min-width:1080px;
}
.courses-admin-table .admin-course-link{
  font-size:.82rem;
  word-break:break-all;
}
.discount-admin-note{
  margin-top:6px;
  color:#0f7ca2!important;
  font-weight:900!important;
}
.actions-cell-wrap{
  flex-wrap:wrap;
  min-width:250px;
}
.actions-cell .danger-action,
.btn-danger{
  background:#fff0f0!important;
  color:#b42332!important;
}
.actions-cell .danger-action:hover,
.btn-danger:hover{
  background:#ffe2e2!important;
  transform:translateY(-1px);
}
.course-toggle-row{
  padding:14px 16px;
  border:1px solid rgba(21,26,150,.10);
  border-radius:18px;
  background:linear-gradient(135deg,#fbfdff,#f2f9fc);
}
.current-pdf-box{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin-top:12px;
  padding:12px;
  border:1px solid rgba(21,26,150,.10);
  border-radius:16px;
  background:#fbfdff;
}
.current-pdf-box label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0;
}
.current-pdf-box input,
.course-toggle-row input{
  width:auto!important;
}
.course-discount-banner,
.detail-discount-box{
  border:1px solid rgba(255,210,76,.55);
  background:linear-gradient(135deg,#fffce8,#eefaff);
  border-radius:20px;
  box-shadow:0 14px 32px rgba(10,18,84,.08);
}
.course-discount-banner{
  display:grid;
  gap:6px;
  margin:18px 0 6px;
  padding:16px 18px;
}
.course-discount-banner strong,
.detail-discount-box strong{
  color:var(--navy);
  font-weight:1000;
}
.course-discount-banner span,
.detail-discount-box span{
  color:#536075;
  font-weight:850;
  line-height:1.45;
}
.detail-discount-box{
  display:grid;
  gap:5px;
  margin:16px 0;
  padding:14px;
}
.course-pdf-btn{
  margin-bottom:10px;
}
.detail-panel .full{
  width:100%;
}
@media (max-width:720px){
  .current-pdf-box{
    align-items:flex-start;
    flex-direction:column;
  }
  .course-toggle-row{
    display:grid;
    gap:10px;
  }
}

/* =========================================================
   Ajustes 3.6.0 - Subpáginas de cursos más limpias
   ========================================================= */
.course-detail-single{
  display:block!important;
  max-width:980px;
  margin-inline:auto;
}
.course-detail-single .course-detail-copy{
  width:100%;
}
.course-summary-text,
.course-program-text{
  text-align:justify;
  text-justify:inter-word;
}
.course-program-text{
  line-height:1.78;
  color:#536075;
}
.course-main-actions{
  align-items:center;
}
.course-main-actions .btn{
  min-width:190px;
}
@media (max-width:720px){
  .course-detail-single{
    max-width:100%;
  }
  .course-main-actions .btn{
    width:100%;
    min-width:0;
  }
  .course-summary-text,
  .course-program-text{
    text-align:justify;
  }
}

/* =========================================================
   Ajustes 3.7.0 - Subpáginas de cursos: presentación, acciones y slider con fade
   ========================================================= */
.course-page-container,
.course-detail-single{
  max-width:1080px!important;
  width:min(100% - 48px,1080px)!important;
  margin-inline:auto!important;
}
.course-detail-single{
  display:block!important;
}
.course-header-card{
  padding:46px 58px!important;
  border-radius:30px!important;
}
.course-title-center{
  text-align:center!important;
  max-width:940px!important;
  margin:0 auto 30px!important;
  font-size:clamp(2.35rem,4.4vw,4.9rem)!important;
  line-height:.98!important;
  letter-spacing:-.055em!important;
}
.course-top-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 285px;
  gap:34px;
  align-items:start;
}
.course-copy-area{
  min-width:0;
}
.course-summary-text{
  max-width:none!important;
  margin:0!important;
  color:#44516a;
  font-size:1.02rem!important;
  line-height:1.85!important;
  text-align:justify!important;
  text-justify:inter-word;
}
.course-action-panel{
  display:grid;
  gap:14px;
  align-self:start;
  padding:20px;
  border:1px solid rgba(21,26,150,.12);
  border-radius:24px;
  background:linear-gradient(135deg,#ffffff,#f2fbff);
  box-shadow:0 18px 44px rgba(10,18,84,.09);
}
.course-action-panel .btn{
  width:100%;
  min-width:0!important;
}
.course-discount-featured{
  position:relative;
  overflow:hidden;
  margin:24px 0 0!important;
  padding:20px 22px 20px 24px!important;
  border:1px solid rgba(255,197,51,.78)!important;
  background:radial-gradient(circle at 10% 15%,rgba(255,226,89,.34),transparent 28%),linear-gradient(135deg,#fff8d8,#eefbff)!important;
  box-shadow:0 18px 42px rgba(255,190,45,.15),0 16px 36px rgba(10,18,84,.07)!important;
}
.course-discount-featured::before{
  content:'PROMOCIÓN';
  display:inline-flex;
  width:max-content;
  margin-bottom:8px;
  padding:6px 10px;
  border-radius:999px;
  background:#fff;
  color:#0f7ca2;
  font-size:.68rem;
  letter-spacing:.18em;
  font-weight:1000;
  box-shadow:0 8px 20px rgba(10,18,84,.08);
}
.course-discount-featured strong{
  display:block;
  color:var(--navy)!important;
  font-size:1.35rem;
  line-height:1.05;
  font-weight:1000;
}
.course-discount-featured span{
  display:block;
  margin-top:8px;
  color:#3f4d64!important;
  font-weight:900!important;
  line-height:1.5!important;
}
.course-program-title{
  text-align:center;
  margin-bottom:20px!important;
}
.course-program-text{
  max-width:940px;
  margin-inline:auto;
  text-align:justify!important;
  text-justify:inter-word;
  line-height:1.82!important;
}
.course-fade-slider{
  position:relative!important;
  height:clamp(380px,48vw,580px)!important;
  min-height:0!important;
  border-radius:30px!important;
  border:1px solid rgba(21,26,150,.12)!important;
  background:linear-gradient(135deg,#f8fdff,#edf8fc)!important;
  box-shadow:0 24px 60px rgba(10,18,84,.11)!important;
}
.course-fade-slider .slide{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  margin:0!important;
  opacity:0;
  visibility:hidden;
  transition:opacity .9s ease, visibility .9s ease;
  pointer-events:none;
}
.course-fade-slider .slide.active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.course-fade-slider .slide img{
  display:block;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:linear-gradient(135deg,#f8fdff,#edf8fc)!important;
}
.course-fade-slider .slider-btn{
  z-index:4;
}
@media (max-width:1040px){
  .course-top-layout{
    grid-template-columns:1fr;
    gap:22px;
  }
  .course-action-panel{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:720px){
  .course-page-container,
  .course-detail-single{
    width:min(100% - 32px,1080px)!important;
  }
  .course-header-card{
    padding:30px 24px!important;
    border-radius:24px!important;
  }
  .course-title-center{
    margin-bottom:22px!important;
    font-size:clamp(2rem,10vw,2.75rem)!important;
    text-align:center!important;
  }
  .course-summary-text{
    font-size:.96rem!important;
    line-height:1.72!important;
  }
  .course-action-panel{
    display:grid;
    grid-template-columns:1fr;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
  }
  .course-discount-featured{
    padding:18px 18px!important;
    border-radius:20px!important;
  }
  .course-fade-slider{
    height:clamp(300px,92vw,470px)!important;
    border-radius:24px!important;
  }
}

/* Ajustes administrativos: acciones agrupadas y calendario de descuentos */
.admin-title-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.discount-schedule-row .form-help,
.discount-help {
    line-height: 1.5;
}

/* =========================================================
   Ajustes 3.9.0 - Imagen vertical exclusiva en subpágina de curso
   ========================================================= */
.course-action-image-panel{
  grid-column:1 / -1;
  width:100%;
  aspect-ratio:9 / 16;
  margin:4px 0 0;
  border-radius:22px;
  overflow:hidden;
  background:linear-gradient(135deg,#f8fdff,#edf8fc);
  border:1px solid rgba(21,26,150,.10);
  box-shadow:0 18px 38px rgba(10,18,84,.10);
}
.course-action-image-panel img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.current-action-image-box{
  margin-top:14px;
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  padding:14px;
  border:1px solid rgba(21,26,150,.12);
  border-radius:18px;
  background:#f8fdff;
}
.current-action-image-box img{
  width:92px;
  aspect-ratio:9 / 16;
  object-fit:cover;
  border-radius:14px;
  border:1px solid rgba(21,26,150,.12);
  background:#fff;
}
.current-action-image-box label{
  margin:0;
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:900;
  color:#172044;
}
@media (max-width:1040px){
  .course-action-image-panel{
    width:min(220px,62vw);
    justify-self:center;
  }
}
@media (max-width:720px){
  .course-action-image-panel{
    width:min(210px,68vw);
    margin-top:4px;
    border-radius:20px;
  }
}

/* =========================================================
   Ajustes 4.0.0 - Imagen inferior de curso 1080x1035 y alineación visual
   ========================================================= */
@media (min-width:1041px){
  .course-top-layout{
    align-items:stretch!important;
  }
  .course-copy-area{
    display:flex!important;
    flex-direction:column!important;
    min-height:100%;
  }
  .course-copy-area .course-discount-featured{
    margin-top:auto!important;
  }
  .course-action-panel{
    display:flex!important;
    flex-direction:column!important;
    min-height:100%;
  }
  .course-action-image-panel{
    margin-top:auto!important;
  }
}
.course-action-image-panel{
  aspect-ratio:1080 / 1035!important;
  max-height:315px!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,#f8fdff,#edf8fc)!important;
}
.course-action-image-panel img{
  object-fit:contain!important;
  object-position:center center!important;
  background:linear-gradient(135deg,#f8fdff,#edf8fc)!important;
}
.current-action-image-box{
  width:max-content!important;
  max-width:100%!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:10px!important;
  border-radius:16px!important;
}
.current-action-image-box img{
  width:120px!important;
  max-width:120px!important;
  aspect-ratio:1080 / 1035!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
  border-radius:12px!important;
}
.current-action-image-box label{
  font-size:.82rem!important;
  line-height:1.25!important;
}
@media (max-width:1040px){
  .course-action-image-panel{
    width:min(300px,76vw)!important;
    max-height:none!important;
    justify-self:center!important;
    margin-inline:auto!important;
  }
}
@media (max-width:720px){
  .course-action-image-panel{
    width:min(270px,76vw)!important;
    aspect-ratio:1080 / 1035!important;
  }
  .current-action-image-box{
    width:100%!important;
  }
  .current-action-image-box img{
    width:96px!important;
    max-width:96px!important;
  }
}

/* =========================================================
   Ajustes 4.1.0 - Curso: imagen lateral limpia + editor enriquecido
   ========================================================= */
@media (min-width:1041px){
  .course-top-layout{
    grid-template-columns:minmax(0,1fr) 330px!important;
    gap:38px!important;
  }
  .course-summary-text{
    margin-bottom:34px!important;
  }
  .course-action-panel{
    padding:18px 18px 20px!important;
    gap:12px!important;
  }
  .course-action-image-panel{
    margin-top:10px!important;
  }
}
.course-action-image-panel{
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  border-radius:0!important;
  overflow:visible!important;
  max-height:none!important;
  padding:0!important;
}
.course-action-image-panel img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1080 / 1035!important;
  object-fit:contain!important;
  object-position:center center!important;
  border-radius:18px!important;
  background:transparent!important;
}
.rich-text-content p,
.rich-text-content div{
  margin:0 0 1em;
}
.rich-text-content p:last-child,
.rich-text-content div:last-child{
  margin-bottom:0;
}
.rich-text-content ul,
.rich-text-content ol{
  margin:1em 0 1em 1.25em;
  padding:0;
}
.rich-text-content li{
  margin:.35em 0;
}
.rich-text-content strong,
.rich-text-content b{
  color:var(--navy);
  font-weight:1000;
}
.rich-text-content mark{
  padding:.08em .25em;
  border-radius:.35em;
  background:#fff36a;
}
.rich-text-content blockquote{
  margin:1.1em 0;
  padding:14px 18px;
  border-left:4px solid var(--aqua);
  border-radius:14px;
  background:#f4fbfe;
  color:#3f4d64;
}
@media (max-width:720px){
  .course-action-image-panel{
    display:none!important;
  }
}

/* Editor enriquecido en admin */
.rich-editor{
  border:1px solid rgba(21,26,150,.12);
  border-radius:18px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 12px 28px rgba(10,18,84,.06);
}
.rich-toolbar{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  padding:10px;
  background:linear-gradient(135deg,#f8fdff,#eef8fc);
  border-bottom:1px solid rgba(21,26,150,.10);
}
.rich-toolbar button,
.rich-color-tool{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:7px 10px;
  border:1px solid rgba(21,26,150,.12);
  border-radius:999px;
  background:#fff;
  color:var(--navy);
  font-size:.78rem;
  font-weight:950;
  line-height:1;
}
.rich-toolbar button:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(10,18,84,.08);
}
.rich-color-tool input[type="color"]{
  width:24px!important;
  height:24px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  overflow:hidden;
  background:transparent;
  box-shadow:none!important;
}
.rich-editor-source{
  display:none!important;
}
.rich-editable{
  min-height:132px;
  padding:16px 18px;
  color:#1d2742;
  line-height:1.72;
  outline:none;
  background:#fff;
}
.rich-editable-large{
  min-height:260px;
}
.rich-editable:empty::before{
  content:attr(data-placeholder);
  color:#9aa5b8;
}
.rich-editable:focus{
  box-shadow:inset 0 0 0 4px rgba(88,189,210,.14);
}
.rich-editable p,
.rich-editable div{
  margin:0 0 .85em;
}
.rich-editable ul,
.rich-editable ol{
  margin:.85em 0 .85em 1.25em;
  padding:0;
}
.rich-editable blockquote{
  margin:1em 0;
  padding:12px 16px;
  border-left:4px solid var(--aqua);
  border-radius:14px;
  background:#f4fbfe;
}
.current-action-image-box{
  width:max-content!important;
  max-width:100%!important;
}
.current-action-image-box img{
  width:104px!important;
  max-width:104px!important;
}
@media (max-width:720px){
  .rich-toolbar{
    gap:6px;
  }
  .rich-toolbar button,
  .rich-color-tool{
    font-size:.72rem;
    padding:7px 9px;
  }
  .rich-editable{
    min-height:150px;
  }
}

/* =========================================================
   Ajustes 4.2.0 - Curso sin imagen lateral + editor estable
   ========================================================= */
.course-action-image-panel,
.current-action-image-box{
  display:none!important;
}
@media (min-width:1041px){
  .course-page-container,
  .course-detail-single{
    width:min(100% - 46px,1080px)!important;
  }
  .course-header-card{
    padding:42px 50px!important;
  }
  .course-top-layout{
    grid-template-columns:minmax(0,1fr) 270px!important;
    gap:30px!important;
    align-items:start!important;
  }
  .course-action-panel{
    max-width:270px!important;
    width:100%!important;
    padding:18px!important;
    gap:12px!important;
    align-self:start!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .course-action-panel .btn{
    min-height:46px!important;
    padding:12px 18px!important;
  }
  .course-summary-text{
    margin-bottom:30px!important;
  }
  .course-discount-featured{
    margin-top:30px!important;
  }
  .course-copy-area .course-discount-featured{
    margin-top:30px!important;
  }
}
.rich-toolbar button:active,
.rich-toolbar button.rich-active{
  transform:translateY(0);
  background:var(--navy);
  color:#fff;
}
@media (max-width:720px){
  .course-action-panel{
    gap:12px!important;
  }
}

/* =========================================================
   Ajustes 4.3.0 - Oferta académica, cards adaptables y detalles finos
   ========================================================= */

/* 1) Oferta educativa -> Oferta académica y tarjetas con una sola imagen adaptable */
.offer-card .course-body{
  display:flex!important;
  flex-direction:column!important;
}
.offer-card .course-body p{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
.offer-card .course-body .btn{
  margin-top:auto!important;
}
.offer-card .course-image,
.offer-card .course-image img{
  width:100%!important;
}
.offer-card .course-image img{
  object-fit:cover!important;
  object-position:center top!important;
}
@media (min-width:1041px){
  .offer-card{
    grid-template-columns:minmax(210px,42%) 1fr!important;
    align-items:stretch!important;
  }
  .offer-card .course-image{
    min-height:0!important;
    height:auto!important;
    aspect-ratio:4 / 5!important;
  }
}
@media (max-width:1040px){
  .course-grid.offer-course-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .offer-card{
    display:flex!important;
    flex-direction:column!important;
  }
  .offer-card .course-image{
    min-height:0!important;
    height:auto!important;
    aspect-ratio:1 / 1!important;
  }
  .offer-card .course-image img{
    height:100%!important;
  }
}
@media (max-width:520px){
  .offer-card .course-image{
    aspect-ratio:1 / 1!important;
  }
}

/* 2) Subpágina de curso: botones abajo alineados con promoción + texto menos espaciado */
.course-summary-text,
.course-program-text{
  line-height:1.72!important;
}
.course-summary-text p,
.course-summary-text div,
.course-program-text p,
.course-program-text div{
  margin:0 0 .72em!important;
}
@media (min-width:1041px){
  .course-top-layout{
    align-items:stretch!important;
  }
  .course-copy-area{
    display:flex!important;
    flex-direction:column!important;
  }
  .course-copy-area .course-discount-featured{
    margin-top:auto!important;
  }
  .course-action-panel{
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-end!important;
    align-self:stretch!important;
    height:100%!important;
    gap:12px!important;
  }
}

/* 3) Selects del formulario con flecha visible y acorde al diseño */
.contact-form-v2 select{
  appearance:none!important;
  -webkit-appearance:none!important;
  -moz-appearance:none!important;
  padding-right:48px!important;
  background-color:#fbfdff!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23111a96' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 16px center!important;
  background-size:16px 16px!important;
  cursor:pointer;
}
.contact-form-v2 select::-ms-expand{
  display:none;
}

/* 4) Redes sociales centradas */
.social-contact-row .social-icons{
  width:100%;
  justify-content:center!important;
}
@media (max-width:720px){
  .social-contact-row .social-icons{
    margin-inline:auto!important;
  }
}

/* =========================================================
   Ajustes 4.4.0 - Publicaciones en menú, tarjetas premium y menú móvil CSS
   ========================================================= */
.mobile-menu-check,
.mobile-menu-backdrop{
  display:none;
}
@media (min-width:821px){
  .nav-list{
    gap:5px;
  }
  .nav-list a{
    padding-inline:14px;
  }
}

/* Menú móvil tipo drawer, sin JavaScript para abrir/cerrar */
@media (max-width:820px){
  .mobile-menu-check{
    position:absolute;
    inline-size:1px;
    block-size:1px;
    opacity:0;
    pointer-events:none;
  }
  .css-menu-toggle{
    position:relative;
    z-index:1003;
    display:flex!important;
    cursor:pointer;
    box-shadow:0 14px 34px rgba(10,18,84,.10);
  }
  .main-nav{
    position:fixed!important;
    inset:0 0 0 auto!important;
    width:min(86vw,360px)!important;
    height:100dvh!important;
    display:block!important;
    padding:108px 18px 24px!important;
    background:linear-gradient(180deg,#ffffff 0%,#f4fbff 100%)!important;
    border-left:1px solid rgba(21,26,150,.12)!important;
    box-shadow:-28px 0 70px rgba(10,18,84,.18)!important;
    transform:translateX(108%)!important;
    opacity:1!important;
    transition:transform .32s cubic-bezier(.2,.78,.2,1)!important;
    z-index:1002!important;
    overflow:auto!important;
  }
  .mobile-menu-check:checked ~ .main-nav{
    transform:translateX(0)!important;
  }
  .mobile-menu-check:checked ~ .css-menu-toggle span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }
  .mobile-menu-check:checked ~ .css-menu-toggle span:nth-child(2){
    opacity:0;
  }
  .mobile-menu-check:checked ~ .css-menu-toggle span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }
  .css-menu-toggle span{
    transition:transform .2s ease, opacity .2s ease;
  }
  .mobile-menu-backdrop{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    background:rgba(10,18,84,.34)!important;
    backdrop-filter:blur(5px)!important;
    opacity:0!important;
    pointer-events:none!important;
    transition:opacity .25s ease!important;
    z-index:1001!important;
  }
  .mobile-menu-check:checked ~ .mobile-menu-backdrop{
    opacity:1!important;
    pointer-events:auto!important;
  }
  .nav-list{
    display:grid!important;
    gap:12px!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .nav-list li{
    list-style:none!important;
  }
  .nav-list a{
    min-height:56px!important;
    justify-content:flex-start!important;
    padding:16px 18px!important;
    border-radius:18px!important;
    background:#fff!important;
    border:1px solid rgba(21,26,150,.10)!important;
    color:var(--navy)!important;
    box-shadow:0 10px 24px rgba(10,18,84,.07)!important;
    font-size:1rem!important;
  }
  .nav-list a.active,
  .nav-list a:hover,
  .nav-list a:focus-visible{
    color:#fff!important;
    border-color:transparent!important;
    background:linear-gradient(135deg,var(--navy),var(--navy-2),var(--aqua) 150%)!important;
    transform:translateX(-2px)!important;
  }
}

/* Tarjetas de cursos más elegantes y con mejor lectura */
.offer-courses-section{
  background:linear-gradient(180deg,#f8fdff 0%,#fff 34%,#f8fbff 100%);
}
.course-grid.offer-course-grid{
  gap:26px!important;
}
.offer-card{
  position:relative!important;
  overflow:hidden!important;
  border-radius:30px!important;
  border:1px solid rgba(21,26,150,.10)!important;
  background:linear-gradient(135deg,#fff,#f8fdff)!important;
  box-shadow:0 20px 52px rgba(10,18,84,.10)!important;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease!important;
}
.offer-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,var(--aqua),var(--navy));
  opacity:.9;
  z-index:2;
}
.offer-card:hover{
  transform:translateY(-5px)!important;
  box-shadow:0 30px 72px rgba(10,18,84,.16)!important;
  border-color:rgba(88,189,210,.32)!important;
}
.offer-card .course-image{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#edf8fc,#fff)!important;
}
.offer-card .course-image::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:34%;
  background:linear-gradient(180deg,transparent,rgba(10,18,84,.13));
  pointer-events:none;
}
.offer-card .course-image img{
  transform:scale(1.001);
  transition:transform .38s ease, filter .38s ease;
}
.offer-card:hover .course-image img{
  transform:scale(1.035);
  filter:saturate(1.05) contrast(1.02);
}
.offer-card .course-body{
  position:relative;
  padding:28px 28px 26px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(247,253,255,.96))!important;
}
.offer-card .pill{
  background:rgba(88,189,210,.14)!important;
  border:1px solid rgba(88,189,210,.18)!important;
  color:var(--navy)!important;
  box-shadow:0 8px 20px rgba(10,18,84,.05);
}
.offer-card .course-body h2{
  font-size:clamp(1.35rem,2.1vw,1.85rem)!important;
  letter-spacing:-.035em!important;
  margin:16px 0 10px!important;
}
.offer-card .course-body p{
  color:#536075!important;
  line-height:1.58!important;
  font-size:.96rem!important;
}
.offer-card .course-meta{
  margin-top:auto!important;
  padding-top:14px!important;
}
.offer-card .course-meta span{
  background:#f5fbfe!important;
  border-color:rgba(21,26,150,.12)!important;
  color:#4b5870!important;
  font-weight:900!important;
}
.offer-card .course-body .btn{
  min-height:44px!important;
  margin-top:10px!important;
  width:max-content;
  min-width:150px;
}
@media (min-width:1041px){
  .offer-card{
    min-height:315px!important;
  }
  .offer-card .course-body{
    min-height:315px!important;
  }
}
@media (max-width:1040px){
  .course-grid.offer-course-grid{
    gap:18px!important;
  }
  .offer-card{
    border-radius:24px!important;
  }
  .offer-card::before{
    width:0;
    height:4px;
    inset:0 0 auto 0;
  }
  .offer-card .course-body{
    padding:18px!important;
  }
  .offer-card .course-body .btn{
    width:100%!important;
  }
}
@media (max-width:520px){
  .course-grid.offer-course-grid{
    gap:12px!important;
  }
  .offer-card{
    border-radius:22px!important;
  }
  .offer-card .course-body{
    padding:13px!important;
  }
  .offer-card .pill{
    font-size:.63rem!important;
    padding:5px 8px!important;
  }
  .offer-card .course-body h2{
    font-size:1.03rem!important;
    margin:10px 0 0!important;
  }
  .offer-card .course-meta span{
    font-size:.68rem!important;
    padding:5px 8px!important;
  }
  .offer-card .course-body .btn{
    min-height:38px!important;
    font-size:.76rem!important;
  }
}

/* =========================================================
   Ajustes 4.5.0 - Menú móvil estilo círculo expansivo, adaptado sin jQuery
   ========================================================= */
.cleo-mobile-menu-shell{
  display:none;
}
@media (min-width:821px){
  .desktop-main-nav{
    display:flex!important;
  }
}
@media (max-width:820px){
  body.mobile-menu-open{
    overflow:hidden;
  }
  .desktop-main-nav{
    display:none!important;
  }
  .cleo-mobile-menu-shell{
    display:block!important;
    position:relative;
    z-index:1300;
  }

  /* Botón hamburguesa con transformación tipo demo original */
  .burger.cleo-mobile-burger{
    height:46px;
    width:46px;
    position:relative;
    cursor:pointer;
    border:1px solid rgba(21,26,150,.10);
    border-radius:16px;
    background:#fff;
    box-shadow:0 14px 34px rgba(10,18,84,.10);
    z-index:1304;
    outline:none;
  }
  .burger.cleo-mobile-burger:focus-visible{
    box-shadow:0 0 0 4px rgba(88,189,210,.22),0 14px 34px rgba(10,18,84,.10);
  }
  .burger.cleo-mobile-burger .x,
  .burger.cleo-mobile-burger .y,
  .burger.cleo-mobile-burger .z{
    position:absolute;
    left:10px;
    right:auto;
    margin:auto;
    background:var(--navy);
    border-radius:2px;
    height:3px;
    width:26px;
    transition:all 200ms ease-out;
  }
  .burger.cleo-mobile-burger .x{top:14px;}
  .burger.cleo-mobile-burger .y{top:22px;}
  .burger.cleo-mobile-burger .z{top:30px;}
  .burger.cleo-mobile-burger .collapse{
    top:22px;
    background:#4a89dc;
    transition:all 70ms ease-out;
  }
  .burger.cleo-mobile-burger .rotate30{
    transform:rotate(30deg);
    transition:all 50ms ease-out;
  }
  .burger.cleo-mobile-burger .rotate150{
    transform:rotate(150deg);
    transition:all 50ms ease-out;
  }
  .burger.cleo-mobile-burger .rotate45{
    transform:rotate(45deg);
    transition:all 100ms ease-out;
  }
  .burger.cleo-mobile-burger .rotate135{
    transform:rotate(135deg);
    transition:all 100ms ease-out;
  }

  /* Círculo expansivo. Se conserva la idea del demo, pero con colores CLEO. */
  .cleo-mobile-circle{
    border-radius:50%;
    width:0;
    height:0;
    position:fixed;
    top:calc(var(--header) / 2);
    right:42px;
    background:linear-gradient(135deg,#fff 0%,#f4fbff 100%);
    opacity:1;
    z-index:1301;
    pointer-events:none;
    box-shadow:0 40px 90px rgba(10,18,84,.18);
    transition:all 300ms cubic-bezier(0.000,0.995,0.990,1.000);
  }
  .cleo-mobile-circle.expand{
    width:1320px;
    height:1320px;
    top:-610px;
    right:-610px;
    transition:all 420ms cubic-bezier(0.000,0.995,0.990,1.000);
  }

  /* Menú centrado con aparición escalonada */
  .cleo-mobile-menu{
    height:100dvh;
    width:100vw;
    position:fixed;
    top:0;
    left:0;
    z-index:1302;
    pointer-events:none;
    overflow:hidden;
  }
  .mobile-menu-open .cleo-mobile-menu{
    pointer-events:auto;
  }
  .cleo-mobile-menu ul{
    margin:0;
    padding:0;
    list-style:none;
  }
  .cleo-mobile-menu ul li{
    list-style:none;
    position:absolute;
    top:54px;
    left:0;
    opacity:0;
    width:100vw;
    text-align:center;
    font-size:0;
    transition:all 70ms cubic-bezier(0.000,0.995,0.990,1.000);
  }
  .cleo-mobile-menu ul li a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:9px 18px;
    color:#4a89dc;
    text-transform:uppercase;
    text-decoration:none;
    letter-spacing:3px;
    font-weight:950;
    border-radius:999px;
  }
  .cleo-mobile-menu ul li a.active{
    color:var(--navy);
    background:rgba(88,189,210,.13);
  }
  .cleo-mobile-menu ul li a:hover,
  .cleo-mobile-menu ul li a:focus-visible{
    background:rgba(74,137,220,.10);
    outline:none;
  }
  .cleo-mobile-menu li.animate{
    font-size:21px;
    opacity:1;
    transition:all 150ms cubic-bezier(0.000,0.995,0.990,1.000);
  }
  .cleo-mobile-menu li.animate:nth-of-type(1){top:120px;transition-delay:0s;}
  .cleo-mobile-menu li.animate:nth-of-type(2){top:190px;transition-delay:.03s;}
  .cleo-mobile-menu li.animate:nth-of-type(3){top:260px;transition-delay:.06s;}
  .cleo-mobile-menu li.animate:nth-of-type(4){top:330px;transition-delay:.09s;}
  .cleo-mobile-menu li.animate:nth-of-type(5){top:400px;transition-delay:.12s;}
  .cleo-mobile-menu li.animate:nth-of-type(6){top:470px;transition-delay:.15s;}
}
@media (max-width:390px){
  .cleo-mobile-menu li.animate{
    font-size:18px;
  }
  .cleo-mobile-menu ul li a{
    letter-spacing:2.4px;
  }
  .cleo-mobile-menu li.animate:nth-of-type(1){top:104px;}
  .cleo-mobile-menu li.animate:nth-of-type(2){top:166px;}
  .cleo-mobile-menu li.animate:nth-of-type(3){top:228px;}
  .cleo-mobile-menu li.animate:nth-of-type(4){top:290px;}
  .cleo-mobile-menu li.animate:nth-of-type(5){top:352px;}
  .cleo-mobile-menu li.animate:nth-of-type(6){top:414px;}
}

/* =========================================================
   Ajustes 4.6.0 - Menú móvil más smooth + fondo 90%
   ========================================================= */
@media (max-width:820px){
  .cleo-mobile-circle{
    width:145vmax!important;
    height:145vmax!important;
    top:calc(var(--header) / 2)!important;
    right:42px!important;
    left:auto!important;
    opacity:0!important;
    background:rgba(255,255,255,.90)!important;
    background-image:linear-gradient(135deg,rgba(255,255,255,.90),rgba(244,251,255,.90))!important;
    backdrop-filter:blur(8px) saturate(1.08);
    -webkit-backdrop-filter:blur(8px) saturate(1.08);
    box-shadow:0 42px 95px rgba(10,18,84,.16)!important;
    transform:translate3d(50%,-50%,0) scale(.015)!important;
    transform-origin:center center!important;
    will-change:transform,opacity!important;
    backface-visibility:hidden!important;
    -webkit-backface-visibility:hidden!important;
    contain:layout paint style!important;
    transition:transform 560ms cubic-bezier(.22,1,.36,1), opacity 160ms ease!important;
  }
  .cleo-mobile-circle.expand{
    width:145vmax!important;
    height:145vmax!important;
    top:calc(var(--header) / 2)!important;
    right:42px!important;
    opacity:1!important;
    transform:translate3d(50%,-50%,0) scale(1)!important;
    transition:transform 620ms cubic-bezier(.16,1,.3,1), opacity 120ms ease!important;
  }

  .burger.cleo-mobile-burger,
  .burger.cleo-mobile-burger .x,
  .burger.cleo-mobile-burger .y,
  .burger.cleo-mobile-burger .z{
    will-change:transform,opacity,top!important;
    backface-visibility:hidden!important;
    -webkit-backface-visibility:hidden!important;
    transform:translateZ(0);
  }
  .burger.cleo-mobile-burger .x,
  .burger.cleo-mobile-burger .y,
  .burger.cleo-mobile-burger .z{
    transition:top 150ms cubic-bezier(.22,1,.36,1), transform 170ms cubic-bezier(.22,1,.36,1), background-color 150ms ease!important;
  }

  .cleo-mobile-menu ul li{
    top:50%!important;
    opacity:0!important;
    font-size:21px!important;
    transform:translate3d(0,-18px,0) scale(.96)!important;
    will-change:transform,opacity!important;
    backface-visibility:hidden!important;
    -webkit-backface-visibility:hidden!important;
    transition:opacity 220ms ease, transform 390ms cubic-bezier(.22,1,.36,1)!important;
  }
  .cleo-mobile-menu li.animate{
    opacity:1!important;
  }
  .cleo-mobile-menu li.animate:nth-of-type(1){transform:translate3d(0,-180px,0) scale(1)!important;transition-delay:.04s!important;}
  .cleo-mobile-menu li.animate:nth-of-type(2){transform:translate3d(0,-110px,0) scale(1)!important;transition-delay:.07s!important;}
  .cleo-mobile-menu li.animate:nth-of-type(3){transform:translate3d(0,-40px,0) scale(1)!important;transition-delay:.10s!important;}
  .cleo-mobile-menu li.animate:nth-of-type(4){transform:translate3d(0,30px,0) scale(1)!important;transition-delay:.13s!important;}
  .cleo-mobile-menu li.animate:nth-of-type(5){transform:translate3d(0,100px,0) scale(1)!important;transition-delay:.16s!important;}
  .cleo-mobile-menu li.animate:nth-of-type(6){transform:translate3d(0,170px,0) scale(1)!important;transition-delay:.19s!important;}
}
@media (max-width:390px){
  .cleo-mobile-menu ul li{font-size:18px!important;}
  .cleo-mobile-menu li.animate:nth-of-type(1){transform:translate3d(0,-155px,0) scale(1)!important;}
  .cleo-mobile-menu li.animate:nth-of-type(2){transform:translate3d(0,-93px,0) scale(1)!important;}
  .cleo-mobile-menu li.animate:nth-of-type(3){transform:translate3d(0,-31px,0) scale(1)!important;}
  .cleo-mobile-menu li.animate:nth-of-type(4){transform:translate3d(0,31px,0) scale(1)!important;}
  .cleo-mobile-menu li.animate:nth-of-type(5){transform:translate3d(0,93px,0) scale(1)!important;}
  .cleo-mobile-menu li.animate:nth-of-type(6){transform:translate3d(0,155px,0) scale(1)!important;}
}
@media (prefers-reduced-motion:reduce){
  .cleo-mobile-circle,
  .cleo-mobile-circle.expand,
  .cleo-mobile-menu ul li,
  .cleo-mobile-menu li.animate,
  .burger.cleo-mobile-burger .x,
  .burger.cleo-mobile-burger .y,
  .burger.cleo-mobile-burger .z{
    transition:none!important;
  }
}

/* =========================================================
   Ajustes 4.7.0 - Menú móvil full screen + logo centrado
   ========================================================= */
html,
body{
  overflow-x:hidden!important;
  max-width:100%!important;
}
@media (max-width:820px){
  body.mobile-menu-open{
    overflow:hidden!important;
    width:100%!important;
    max-width:100%!important;
    touch-action:none;
  }
  .site-header,
  .header-inner,
  .cleo-mobile-menu-shell{
    max-width:100vw!important;
  }
  .cleo-mobile-menu-shell{
    overflow:visible!important;
  }

  /* El fondo ya no se ve como círculo: cubre toda la pantalla sin generar scroll horizontal. */
  .cleo-mobile-circle,
  .cleo-mobile-circle.expand{
    position:fixed!important;
    inset:0!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    width:100vw!important;
    height:100dvh!important;
    max-width:100vw!important;
    max-height:100dvh!important;
    border-radius:0!important;
    opacity:0!important;
    transform:translate3d(0,0,0)!important;
    transform-origin:center center!important;
    background:rgba(255,255,255,.90)!important;
    background-image:linear-gradient(135deg,rgba(255,255,255,.90),rgba(244,251,255,.90))!important;
    backdrop-filter:blur(8px) saturate(1.08)!important;
    -webkit-backdrop-filter:blur(8px) saturate(1.08)!important;
    box-shadow:none!important;
    will-change:opacity!important;
    pointer-events:none!important;
    overflow:hidden!important;
    transition:opacity 260ms ease!important;
  }
  .cleo-mobile-circle.expand{
    opacity:1!important;
  }

  .cleo-mobile-menu{
    width:100%!important;
    max-width:100vw!important;
    height:100dvh!important;
    inset:0!important;
    left:0!important;
    right:0!important;
    overflow:hidden!important;
    z-index:1302!important;
  }

  .cleo-mobile-menu-logo{
    position:absolute;
    top:82px;
    left:50%;
    transform:translate3d(-50%,-12px,0) scale(.96);
    width:min(260px,68vw);
    opacity:0;
    pointer-events:none;
    filter:drop-shadow(0 18px 30px rgba(10,18,84,.10));
    transition:opacity 260ms ease 90ms, transform 360ms cubic-bezier(.22,1,.36,1) 90ms;
    will-change:opacity,transform;
  }
  .cleo-mobile-menu-logo img{
    display:block;
    width:100%;
    height:auto;
    object-fit:contain;
  }
  .mobile-menu-open .cleo-mobile-menu-logo{
    opacity:1;
    transform:translate3d(-50%,0,0) scale(1);
  }

  .cleo-mobile-menu ul{
    position:absolute!important;
    inset:0!important;
    margin:0!important;
    padding:0!important;
    width:100%!important;
    max-width:100vw!important;
    overflow:hidden!important;
  }
  .cleo-mobile-menu ul li{
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:100vw!important;
    text-align:center!important;
  }
  .cleo-mobile-menu ul li a{
    max-width:calc(100vw - 46px)!important;
    white-space:normal!important;
  }

  .burger.cleo-mobile-burger{
    z-index:1305!important;
  }
}
@media (max-width:390px){
  .cleo-mobile-menu-logo{
    top:72px;
    width:min(230px,70vw);
  }
}

/* =========================================================
   Ajustes 4.8.1 - Logo horizontal en menú móvil sin encimar
   ========================================================= */
@media (max-width:820px){
  .cleo-mobile-menu-logo{
    top:92px!important;
    left:50%!important;
    transform:translate3d(-50%,-10px,0) scale(.98)!important;
    width:min(340px,84vw)!important;
    max-width:340px!important;
  }
  .mobile-menu-open .cleo-mobile-menu-logo{
    transform:translate3d(-50%,0,0) scale(1)!important;
  }
  .cleo-mobile-menu-logo img{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
  }
  .cleo-mobile-menu ul li{
    top:calc(50% + 46px)!important;
  }
}
@media (max-width:390px){
  .cleo-mobile-menu-logo{
    top:84px!important;
    width:min(300px,82vw)!important;
    max-width:300px!important;
  }
  .cleo-mobile-menu ul li{
    top:calc(50% + 34px)!important;
  }
}

/* =========================================================
   Ajustes 4.9.0 - Panel CLEO, portada y orden de imágenes
   ========================================================= */
.admin-brand-logo{
  display:grid!important;
  gap:8px!important;
  align-items:center!important;
  justify-items:start!important;
  margin-bottom:30px!important;
  color:#fff!important;
  text-decoration:none!important;
}
.admin-brand-logo img{
  width:min(210px,100%)!important;
  height:auto!important;
  display:block!important;
  object-fit:contain!important;
  filter:drop-shadow(0 14px 24px rgba(0,0,0,.12));
}
.admin-brand-logo span{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.13);
  color:rgba(255,255,255,.86);
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.course-media-manager{
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr))!important;
}
.media-editor-item{
  gap:12px!important;
  padding:12px!important;
}
.media-editor-item img{
  aspect-ratio:940 / 788!important;
  object-fit:contain!important;
}
.media-control-grid{
  display:grid;
  gap:9px;
}
.media-feature-check,
.media-order-field,
.media-delete-check{
  min-height:40px;
  padding:9px 10px;
  border:1px solid rgba(21,26,150,.10);
  border-radius:13px;
  background:#fbfdff;
}
.media-feature-check{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--navy);
  font-size:.82rem;
  font-weight:950;
}
.media-feature-check input,
.media-order-field input,
.media-delete-check input{
  width:auto!important;
}
.media-feature-check input{
  accent-color:var(--navy);
}
.media-order-field{
  display:grid;
  gap:6px;
  color:#5d6878;
  font-size:.78rem;
  font-weight:950;
}
.media-order-field input{
  width:100%!important;
  height:40px!important;
  min-height:40px!important;
  padding:8px 10px!important;
  border-radius:11px!important;
  font-size:.9rem!important;
  color:var(--navy);
  font-weight:950;
}
.media-editor-item:has(input[name="featured_media_id"]:checked){
  border-color:rgba(88,189,210,.55)!important;
  box-shadow:0 18px 36px rgba(21,26,150,.11)!important;
}
.media-editor-item:has(input[name="featured_media_id"]:checked)::before{
  content:'Portada seleccionada';
  display:inline-flex;
  width:max-content;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(88,189,210,.16);
  color:var(--navy);
  font-size:.7rem;
  font-weight:1000;
  letter-spacing:.06em;
}
@media (max-width:1040px){
  .admin-brand-logo{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  .admin-brand-logo img{
    width:180px!important;
  }
}
@media (max-width:720px){
  .course-media-manager{
    grid-template-columns:1fr!important;
  }
  .admin-brand-logo img{
    width:165px!important;
  }
}

/* =========================================================
   Ajuste 5.1.0 - Oferta Académica con formato cuadrado en PC y móvil
   ========================================================= */
.course-grid.offer-course-grid{
  align-items:stretch!important;
}
.offer-card{
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.offer-card .course-image{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:1 / 1!important;
  background:linear-gradient(135deg,#f8fdff,#edf8fc)!important;
  overflow:hidden!important;
  flex:0 0 auto!important;
}
.offer-card .course-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  background:linear-gradient(135deg,#f8fdff,#edf8fc)!important;
}
.offer-card .course-body{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  height:auto!important;
  min-height:0!important;
}
.offer-card .course-body p{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  overflow:hidden!important;
}
.offer-card .course-body .btn{
  margin-top:auto!important;
}
@media (min-width:1041px){
  .course-grid.offer-course-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:26px!important;
  }
  .offer-card{
    border-radius:28px!important;
    min-height:0!important;
  }
  .offer-card .course-body{
    padding:26px 28px 28px!important;
  }
  .offer-card .course-body h2{
    min-height:auto!important;
  }
  .offer-card .course-meta{
    min-height:0!important;
  }
}
@media (min-width:1280px){
  .course-grid.offer-course-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media (max-width:1040px){
  .course-grid.offer-course-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* =========================================================
   Ajuste 5.2.0 - Oferta Académica premium + header fijo
   ========================================================= */

/* Menú siempre visible al hacer scroll */
.site-header{
  position:sticky!important;
  top:0!important;
  z-index:1200!important;
  background:rgba(255,255,255,.92)!important;
  backdrop-filter:blur(18px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.08)!important;
  box-shadow:0 10px 28px rgba(10,18,84,.07)!important;
}
@media (max-width:820px){
  .site-header{
    background:rgba(255,255,255,.94)!important;
  }
}

/* Centrado general de tarjetas */
.course-grid.offer-course-grid{
  width:min(100% - 44px,1180px)!important;
  margin-inline:auto!important;
  justify-content:center!important;
  align-items:stretch!important;
  grid-template-columns:repeat(auto-fit,minmax(300px,360px))!important;
  gap:28px!important;
}
.offer-card{
  position:relative!important;
  max-width:360px!important;
  width:100%!important;
  margin-inline:auto!important;
  border-radius:28px!important;
  overflow:hidden!important;
  border:1px solid rgba(21,26,150,.12)!important;
  box-shadow:0 22px 52px rgba(10,18,84,.10)!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fdff 100%)!important;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease!important;
}
.offer-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,var(--aqua),var(--navy));
  opacity:.85;
  z-index:3;
}
@media (hover:hover){
  .offer-card:hover{
    transform:translateY(-5px);
    box-shadow:0 30px 70px rgba(10,18,84,.16)!important;
    border-color:rgba(88,189,210,.42)!important;
  }
}
.offer-card .course-image{
  position:relative!important;
  aspect-ratio:1 / 1!important;
  border-radius:0!important;
  overflow:hidden!important;
}
.offer-card .course-image img{
  transform:scale(1.001);
  transition:transform .28s ease!important;
}
@media (hover:hover){
  .offer-card:hover .course-image img{
    transform:scale(1.025);
  }
}

/* Cintilla animada de descuento sobre la imagen */
.offer-discount-ribbon{
  position:absolute;
  top:16px;
  right:14px;
  z-index:5;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:8px 14px;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,#ffb703,#ff6b00);
  box-shadow:0 16px 34px rgba(255,107,0,.28);
  font-size:.78rem;
  font-weight:1000;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.04em;
  animation:cleoDiscountPulse 2.8s ease-in-out infinite;
}
@keyframes cleoDiscountPulse{
  0%,100%{transform:translate3d(0,0,0) scale(1);box-shadow:0 16px 34px rgba(255,107,0,.24);}
  50%{transform:translate3d(0,-2px,0) scale(1.035);box-shadow:0 20px 42px rgba(255,107,0,.34);}
}
@media (prefers-reduced-motion:reduce){
  .offer-discount-ribbon{animation:none!important;}
}

/* Estado más visible */
.offer-status-pill{
  background:linear-gradient(135deg,rgba(88,189,210,.18),rgba(255,255,255,.88))!important;
  border:1px solid rgba(88,189,210,.42)!important;
  box-shadow:0 10px 22px rgba(88,189,210,.10)!important;
  color:var(--navy)!important;
}

/* Cuerpo más limpio y botón centrado */
.offer-card .course-body{
  padding:24px 26px 26px!important;
  text-align:left!important;
}
.offer-card .course-body h2{
  margin:14px 0 12px!important;
  text-align:left!important;
}
.offer-card .course-body p{
  text-align:justify!important;
  text-justify:inter-word;
  color:#4d5a70!important;
  line-height:1.6!important;
  font-size:.95rem!important;
}
.offer-card .course-meta{
  justify-content:flex-start!important;
  gap:8px!important;
  margin:16px 0 20px!important;
}
.offer-card .course-meta span{
  font-size:.75rem!important;
  padding:6px 10px!important;
  font-weight:900!important;
}
.offer-card .btn{
  align-self:center!important;
  justify-self:center!important;
  min-width:170px!important;
  width:auto!important;
  margin-inline:auto!important;
  margin-top:auto!important;
}

/* Móvil: texto más compacto, descuento visible y tarjetas legibles */
@media (max-width:1040px){
  .course-grid.offer-course-grid{
    width:min(100% - 28px,1180px)!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
  }
  .offer-card{
    max-width:none!important;
    border-radius:22px!important;
  }
  .offer-card .course-body{
    padding:16px 16px 18px!important;
  }
  .offer-card .course-body h2{
    font-size:1.18rem!important;
    line-height:1.05!important;
    letter-spacing:-.02em!important;
    margin:12px 0 10px!important;
  }
  .offer-card .course-body p{
    font-size:.82rem!important;
    line-height:1.45!important;
    -webkit-line-clamp:3!important;
    margin-bottom:10px!important;
  }
  .offer-card .course-meta{
    gap:6px!important;
    margin:12px 0 18px!important;
  }
  .offer-card .course-meta span{
    font-size:.68rem!important;
    padding:5px 8px!important;
  }
  .offer-discount-ribbon{
    top:10px;
    right:10px;
    min-height:28px;
    padding:7px 10px;
    font-size:.62rem;
  }
  .offer-card .btn{
    width:100%!important;
    min-width:0!important;
  }
}
@media (max-width:430px){
  .course-grid.offer-course-grid{
    width:min(100% - 22px,1180px)!important;
    gap:12px!important;
  }
  .offer-card .course-body{
    padding:14px 14px 16px!important;
  }
  .offer-card .course-body h2{
    font-size:1.02rem!important;
    line-height:1.06!important;
  }
  .offer-card .course-body p{
    font-size:.78rem!important;
    line-height:1.38!important;
    -webkit-line-clamp:3!important;
  }
  .offer-status-pill{
    font-size:.62rem!important;
    padding:6px 9px!important;
  }
  .offer-card .course-meta span{
    font-size:.62rem!important;
    padding:4px 7px!important;
  }
  .offer-card .btn{
    min-height:40px!important;
    font-size:.78rem!important;
  }
}

/* =========================================================
   Ajustes 5.3.0 - Tarjetas limpias, metadatos centrados y menú fijo real
   ========================================================= */

/* Header fijo real en páginas públicas */
.site-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:2400!important;
  transform:translate3d(0,0,0)!important;
}
#contenido{
  padding-top:var(--header)!important;
}
@media (max-width:820px){
  :root{--header:62px;}
  .site-header{min-height:var(--header)!important;}
  .header-inner{min-height:var(--header)!important;}
}

/* Botón Informes ya manda a contacto, visual intacto */
.header-cta[href="contacto.php"]{
  cursor:pointer;
}

/* Oferta académica: sin resumen en tarjetas, más compactas y elegantes */
.offer-card .course-body p{
  display:none!important;
}
.course-grid.offer-course-grid{
  justify-content:center!important;
  justify-items:center!important;
  align-items:stretch!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.offer-card .course-body{
  display:flex!important;
  flex-direction:column!important;
  text-align:center!important;
  gap:0!important;
}
.offer-card .course-body h2{
  text-align:center!important;
  margin:14px auto 16px!important;
  max-width:96%!important;
}
.offer-card .course-body .offer-status-pill{
  align-self:center!important;
}
.offer-status-pill{
  background:linear-gradient(135deg,#e7fbff,#ffffff)!important;
  border:1px solid rgba(88,189,210,.55)!important;
  color:var(--navy)!important;
  box-shadow:0 12px 26px rgba(88,189,210,.15)!important;
}
.offer-card .course-meta{
  width:100%!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:center!important;
  align-content:center!important;
  gap:7px!important;
  margin:0 auto 20px!important;
}
.offer-card .course-meta span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  min-height:31px!important;
  flex:0 0 auto!important;
  font-size:.72rem!important;
  padding:6px 9px!important;
  line-height:1!important;
}
.offer-card .course-meta span:nth-child(n){
  display:inline-flex!important;
}
.offer-card .btn{
  display:inline-flex!important;
  align-self:center!important;
  justify-self:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
  min-width:170px!important;
}
.offer-discount-ribbon{
  z-index:8!important;
  font-weight:1000!important;
  border:1px solid rgba(255,255,255,.55)!important;
}

@media (min-width:1041px){
  .course-grid.offer-course-grid{
    width:min(100% - 52px,980px)!important;
    grid-template-columns:repeat(2,minmax(280px,360px))!important;
  }
  .offer-card .course-body{
    padding:24px 24px 26px!important;
    min-height:250px!important;
  }
  .offer-card .course-body h2{
    min-height:2.15em!important;
  }
  .offer-card .course-meta{
    min-height:70px!important;
  }
}

@media (max-width:1040px){
  .offer-card .course-body{
    padding:15px 14px 17px!important;
  }
  .offer-card .course-body h2{
    font-size:1.08rem!important;
    line-height:1.08!important;
    margin:12px auto 14px!important;
  }
  .offer-card .course-meta{
    gap:6px!important;
    margin-bottom:17px!important;
  }
  .offer-card .course-meta span{
    font-size:.62rem!important;
    min-height:28px!important;
    padding:5px 7px!important;
  }
  .offer-card .btn{
    width:100%!important;
    min-width:0!important;
  }
}
@media (max-width:430px){
  .offer-card .course-body h2{
    font-size:.98rem!important;
    line-height:1.07!important;
  }
  .offer-card .course-meta{
    gap:5px!important;
  }
  .offer-card .course-meta span{
    font-size:.58rem!important;
    padding:5px 6px!important;
    min-height:26px!important;
  }
  .offer-discount-ribbon{
    font-size:.58rem!important;
    min-height:26px!important;
    padding:6px 9px!important;
  }
}

/* =========================================================
   Ajustes 5.4.0 - Slider dentro del panel de acciones en subpáginas de curso
   ========================================================= */
@media (min-width:1041px){
  .course-top-layout{
    align-items:stretch!important;
  }
  .course-action-panel-with-media{
    align-self:stretch!important;
    min-height:100%!important;
    height:100%!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:space-between!important;
    gap:16px!important;
    max-width:270px!important;
    padding:16px!important;
    overflow:hidden!important;
  }
  .course-side-slider{
    display:block!important;
    position:relative!important;
    flex:1 1 auto!important;
    min-height:300px!important;
    width:100%!important;
    border-radius:20px!important;
    overflow:hidden!important;
    background:linear-gradient(135deg,#f8fdff,#edf8fc)!important;
    border:1px solid rgba(21,26,150,.10)!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.65)!important;
  }
  .course-side-slider .slide{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    margin:0!important;
    opacity:0;
    visibility:hidden;
    transition:opacity .75s ease, visibility .75s ease!important;
    pointer-events:none;
  }
  .course-side-slider .slide.active{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .course-side-slider a{
    display:flex!important;
    width:100%!important;
    height:100%!important;
    align-items:center!important;
    justify-content:center!important;
    cursor:zoom-in!important;
  }
  .course-side-slider img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    background:linear-gradient(135deg,#f8fdff,#edf8fc)!important;
  }
  .course-side-slider .slider-btn{
    width:42px!important;
    height:42px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:linear-gradient(135deg,#58bdd2 0%, #2497cf 45%, #151a96 100%)!important;
    color:#ffffff!important;
    font-size:1.8rem!important;
    line-height:1!important;
    font-weight:900!important;
    z-index:6!important;
    box-shadow:0 14px 30px rgba(10,18,84,.18)!important;
  }
  .course-side-slider .slider-btn > *{pointer-events:none;}
  .course-side-slider .slider-btn.prev{left:8px!important;text-indent:-1px!important;}
  .course-side-slider .slider-btn.next{right:8px!important;text-indent:1px!important;}
  .course-action-buttons{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    flex:0 0 auto!important;
    width:100%!important;
  }
  .course-action-buttons .btn{
    width:100%!important;
    min-width:0!important;
  }
  .course-bottom-slider-section{
    display:none!important;
  }
}
@media (max-width:1040px){
  .course-side-slider{
    display:none!important;
  }
  .course-action-buttons{
    display:grid!important;
    gap:12px!important;
  }
}

.course-lightbox{
  position:fixed;
  inset:0;
  z-index:5000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(5,10,45,.82);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.course-lightbox.open{
  display:flex;
}
.course-lightbox img{
  display:block;
  max-width:min(96vw,1280px);
  max-height:88vh;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:18px;
  box-shadow:0 28px 80px rgba(0,0,0,.38);
  background:#fff;
}
.course-lightbox-close{
  position:absolute;
  top:18px;
  right:18px;
  width:44px;
  height:44px;
  border:0;
  border-radius:999px;
  background:#fff;
  color:var(--navy);
  font-size:1.65rem;
  font-weight:1000;
  line-height:1;
  cursor:pointer;
  box-shadow:0 18px 40px rgba(0,0,0,.22);
}

/* =========================================================
   Ajuste 5.5.0 - Flechas del slider perfectamente centradas
   Se reemplaza el caracter tipografico por SVG centrado.
   ========================================================= */
@media (min-width:1041px){
  .course-side-slider .slider-btn{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    padding:0!important;
    border:0!important;
    border-radius:999px!important;
    display:grid!important;
    place-items:center!important;
    background:linear-gradient(135deg,#58bdd2 0%,#2497cf 48%,#151a96 100%)!important;
    color:transparent!important;
    font-size:0!important;
    line-height:0!important;
    text-indent:0!important;
    overflow:hidden!important;
    box-shadow:0 14px 30px rgba(10,18,84,.20)!important;
    transform:translateY(-50%)!important;
  }
  .course-side-slider .slider-btn::before{
    content:""!important;
    display:block!important;
    width:20px!important;
    height:20px!important;
    background-repeat:no-repeat!important;
    background-position:center center!important;
    background-size:20px 20px!important;
    transform:none!important;
  }
  .course-side-slider .slider-btn.prev::before{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpolyline points='15 5 8 12 15 19' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  }
  .course-side-slider .slider-btn.next::before{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpolyline points='9 5 16 12 9 19' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  }
  .course-side-slider .slider-btn.prev{
    left:10px!important;
  }
  .course-side-slider .slider-btn.next{
    right:10px!important;
  }
  .course-side-slider .slider-btn:hover,
  .course-side-slider .slider-btn:focus-visible{
    background:linear-gradient(135deg,#151a96 0%,#2497cf 100%)!important;
    transform:translateY(-50%) scale(1.05)!important;
    outline:none!important;
  }
}

/* =========================================================
   Ajuste 5.5.1 - Botones del slider con imagen real provista
   ========================================================= */
@media (min-width:1041px){
  .course-side-slider .slider-btn{
    width:72px !important;
    height:72px !important;
    min-width:72px !important;
    min-height:72px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:999px !important;
    background-color:transparent !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-size:contain !important;
    background-clip:border-box !important;
    box-shadow:none !important;
    color:transparent !important;
    font-size:0 !important;
    line-height:0 !important;
    text-indent:-9999px !important;
    overflow:hidden !important;
    z-index:5 !important;
    transform:translateY(-50%) !important;
    -webkit-tap-highlight-color: transparent;
    appearance:none !important;
  }
  .course-side-slider .slider-btn::before,
  .course-side-slider .slider-btn::after{
    content:none !important;
    display:none !important;
    background:none !important;
  }
  .course-side-slider .slider-btn.prev{
    left:8px !important;
    background-image:url('../img/slider-btn-prev.png') !important;
  }
  .course-side-slider .slider-btn.next{
    right:8px !important;
    background-image:url('../img/slider-btn-next.png') !important;
  }
  .course-side-slider .slider-btn:hover,
  .course-side-slider .slider-btn:focus-visible{
    transform:translateY(-50%) scale(1.03) !important;
    box-shadow:none !important;
    outline:none !important;
    filter:brightness(1.02);
  }
}

/* =========================================================
   Ajuste 5.5.2 - Botones del slider más pequeños y también en móvil
   ========================================================= */
.course-side-slider .slider-btn{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  min-height:34px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background-color:transparent !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-size:contain !important;
  box-shadow:none !important;
  color:transparent !important;
  font-size:0 !important;
  line-height:0 !important;
  text-indent:-9999px !important;
  overflow:hidden !important;
  z-index:8 !important;
  transform:translateY(-50%) !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}
.course-side-slider .slider-btn::before,
.course-side-slider .slider-btn::after{
  content:none !important;
  display:none !important;
  background:none !important;
}
.course-side-slider .slider-btn.prev{
  left:6px !important;
  background-image:url('../img/slider-btn-prev.png') !important;
}
.course-side-slider .slider-btn.next{
  right:6px !important;
  background-image:url('../img/slider-btn-next.png') !important;
}
.course-side-slider .slider-btn:hover,
.course-side-slider .slider-btn:focus-visible{
  transform:translateY(-50%) scale(1.03) !important;
  box-shadow:none !important;
  outline:none !important;
  filter:brightness(1.02);
}
@media (min-width:1041px){
  .course-side-slider .slider-btn{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    min-height:36px !important;
  }
  .course-side-slider .slider-btn.prev{left:8px !important;}
  .course-side-slider .slider-btn.next{right:8px !important;}
}

/* =========================================================
   Ajuste 5.6.0 - Preguntas frecuentes y limpieza de menú
   ========================================================= */
.faq-page-section{
  padding-top:72px;
  background:#fff;
}
.faq-page-container{
  width:min(1120px,calc(100% - 44px));
}
.faq-heading{
  text-align:center;
  margin-bottom:46px;
}
.faq-heading h1{
  color:#111;
  font-size:clamp(2rem,3.2vw,3rem);
  font-weight:700;
  letter-spacing:.02em;
  line-height:1.1;
}
.faq-title-line{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin-top:18px;
}
.faq-title-line::before{
  content:"•••";
  color:#2d72f6;
  font-size:1.05rem;
  letter-spacing:5px;
  line-height:1;
}
.faq-title-line span{
  display:block;
  width:98px;
  height:4px;
  border-radius:99px;
  background:#2d72f6;
}
.faq-list{
  display:grid;
  gap:9px;
}
.faq-item{
  background:#f6f8fb;
  border:1px solid transparent;
  border-radius:0;
  overflow:hidden;
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.faq-item[open]{
  background:#fff;
  border-color:rgba(21,26,150,.08);
  box-shadow:0 14px 35px rgba(10,18,84,.05);
}
.faq-item summary{
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:15px 30px;
  cursor:pointer;
  list-style:none;
  color:#050505;
  font-weight:900;
  letter-spacing:.01em;
}
.faq-item summary::-webkit-details-marker{
  display:none;
}
.faq-item summary span{
  flex:1;
}
.faq-item summary i{
  position:relative;
  width:20px;
  height:20px;
  flex:0 0 20px;
}
.faq-item summary i::before,
.faq-item summary i::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:12px;
  height:2px;
  border-radius:99px;
  background:#111;
  transition:transform .18s ease;
}
.faq-item summary i::before{
  transform:translate(-50%,-50%) rotate(45deg);
  transform-origin:center;
  margin-left:-4px;
}
.faq-item summary i::after{
  transform:translate(-50%,-50%) rotate(-45deg);
  transform-origin:center;
  margin-left:4px;
}
.faq-item[open] summary i::before{
  transform:translate(-50%,-50%) rotate(-45deg);
}
.faq-item[open] summary i::after{
  transform:translate(-50%,-50%) rotate(45deg);
}
.faq-answer{
  padding:24px 64px 34px;
  color:#1a1f2e;
  font-size:1.02rem;
  line-height:1.8;
  text-align:justify;
}
.faq-answer p + p{
  margin-top:12px;
}
.faq-admin-grid{
  align-items:start;
}
.faq-admin-table .actions-cell{
  align-items:center;
}
.actions-cell .danger-action{
  background:#fff0f0!important;
  color:#9f2020!important;
}
.faq-toggle-row{
  align-content:end;
  padding-top:28px;
}
@media (max-width:820px){
  .faq-page-section{
    padding-top:46px;
  }
  .faq-page-container{
    width:min(100% - 28px,1120px);
  }
  .faq-heading{
    margin-bottom:30px;
  }
  .faq-heading h1{
    font-size:2rem;
  }
  .faq-item summary{
    padding:14px 18px;
    min-height:58px;
    font-size:.95rem;
  }
  .faq-answer{
    padding:20px 22px 28px;
    font-size:.95rem;
    line-height:1.7;
  }
}

/* =========================================================
   Ajuste 5.6.1 - Encabezado FAQ homologado y sin decoración azul
   ========================================================= */
.faq-unified-hero{
  margin-top:0!important;
}
.faq-page-section{
  padding-top:58px!important;
}
.faq-heading,
.faq-title-line{
  display:none!important;
}
.faq-page-container{
  width:min(1120px,calc(100% - 44px))!important;
}
@media (max-width:820px){
  .faq-page-section{
    padding-top:34px!important;
  }
  .faq-page-container{
    width:min(100% - 28px,1120px)!important;
  }
}

/* =========================================================
   Ajustes 5.7.0 - Publicaciones avanzadas
   ========================================================= */
.publication-card-grid{
  align-items:stretch;
}
.publication-card{
  padding:0!important;
  overflow:hidden;
  display:flex!important;
  flex-direction:column;
  min-height:100%;
}
.publication-card-image{
  display:block;
  width:100%;
  aspect-ratio:16 / 10;
  background:linear-gradient(135deg,#f8fdff,#edf8fc);
  overflow:hidden;
}
.publication-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}
.publication-card:hover .publication-card-image img{
  transform:scale(1.035);
}
.publication-card-body{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:24px 26px 26px;
  flex:1;
}
.publication-card-body .text-link{
  margin-top:auto;
  width:max-content;
}
.publication-summary-rich{
  margin:16px 0 8px;
  color:#4d596e;
}
.publication-body-rich{
  text-align:justify;
  text-justify:inter-word;
}
.publication-body-rich + .btn{
  margin-top:24px;
}
.publication-slider .slide a{
  display:flex;
  width:100%;
  height:100%;
  align-items:center;
  justify-content:center;
  cursor:zoom-in;
}
.publication-slider .slide img{
  object-fit:contain!important;
  background:linear-gradient(135deg,#f8fdff,#edf8fc);
}
.publication-embeds-section{
  padding-top:24px;
}
.publication-embeds-heading h2{
  font-size:clamp(1.8rem,4vw,3rem);
}
.external-embed-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  align-items:start;
}
.external-embed{
  background:#fff;
  border:1px solid rgba(21,26,150,.10);
  border-radius:24px;
  box-shadow:0 18px 42px rgba(10,18,84,.08);
  overflow:hidden;
}
.external-embed iframe{
  display:block;
  width:100%;
  border:0;
}
.external-embed-video iframe{
  aspect-ratio:16 / 9;
  height:auto;
}
.external-embed-tiktok iframe{
  min-height:620px;
}
.external-embed-facebook iframe{
  min-height:520px;
}
.external-embed-instagram{
  padding:14px;
}
.external-embed-instagram blockquote{
  margin:0 auto!important;
  max-width:540px!important;
  min-width:0!important;
}
.external-embed-link{
  padding:24px;
  text-align:center;
}
.post-media-manager{
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr))!important;
}
.embed-manager{
  display:grid;
  gap:12px;
  margin-top:10px;
}
.embed-editor-item,
.embed-new-row{
  padding:14px;
  border:1px solid rgba(21,26,150,.10);
  border-radius:18px;
  background:#fbfdff;
}
.embed-new-grid{
  display:grid;
  gap:12px;
  margin-top:12px;
}
@media (max-width:1040px){
  .external-embed-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:720px){
  .publication-card-body{
    padding:20px;
  }
  .external-embed-tiktok iframe,
  .external-embed-facebook iframe{
    min-height:520px;
  }
}

/* =========================================================
   Ajuste 5.7.0 - Publicaciones con layout tipo curso
   Texto izquierda + slider compacto derecha, multimedia limpia abajo
   ========================================================= */
.publication-detail-section{
  padding-top:54px!important;
}
.publication-page-container,
.publication-detail-single{
  width:min(100% - 46px,1080px)!important;
  margin-inline:auto!important;
  display:block!important;
}
.publication-header-card{
  max-width:none!important;
  width:100%!important;
  padding:50px 54px 52px!important;
}
.publication-title-center{
  text-align:center!important;
  margin-bottom:30px!important;
}
.publication-top-layout{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:28px!important;
  align-items:stretch!important;
}
@media (min-width:1041px){
  .publication-top-layout.has-media{
    grid-template-columns:minmax(0,1fr) minmax(280px,310px)!important;
    gap:30px!important;
  }
}
.publication-copy-area{
  min-width:0!important;
  text-align:justify!important;
  text-justify:inter-word;
}
.publication-copy-area .intro-text,
.publication-copy-area .rich-text-content{
  text-align:justify!important;
  text-justify:inter-word;
}
.publication-date-line{
  margin-top:16px!important;
  font-weight:850!important;
}
.publication-media-panel{
  display:flex!important;
  align-items:stretch!important;
  justify-content:center!important;
  width:100%!important;
  padding:16px!important;
  border:1px solid rgba(21,26,150,.12)!important;
  border-radius:24px!important;
  background:linear-gradient(135deg,#f8fdff,#edf8fc)!important;
  box-shadow:0 18px 38px rgba(10,18,84,.08)!important;
}
.publication-side-slider{
  width:100%!important;
  height:380px!important;
  min-height:0!important;
  border:1px solid rgba(21,26,150,.08)!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,#f8fdff,#edf8fc)!important;
  box-shadow:none!important;
  overflow:hidden!important;
  position:relative!important;
}
.publication-side-slider .slide{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  margin:0!important;
  opacity:0!important;
  visibility:hidden!important;
  transition:opacity .65s ease, visibility .65s ease!important;
  pointer-events:none!important;
}
.publication-side-slider .slide.active{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.publication-side-slider a{
  display:flex!important;
  width:100%!important;
  height:100%!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:zoom-in!important;
}
.publication-side-slider img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:linear-gradient(135deg,#f8fdff,#edf8fc)!important;
}
.publication-detail-copy .btn,
.publication-header-card .btn{
  display:none!important;
}
.publication-embeds-clean-section{
  padding-top:10px!important;
}
.publication-embeds-clean-section .external-embed-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),520px))!important;
  justify-content:center!important;
  justify-items:center!important;
  align-items:start!important;
  gap:26px!important;
}
.publication-embeds-clean-section .external-embed{
  width:100%!important;
  max-width:520px!important;
}
.publication-embeds-clean-section .external-embed-count-1{
  grid-template-columns:minmax(0,min(100%,560px))!important;
}
.publication-embeds-clean-section .external-embed-count-1 .external-embed{
  max-width:560px!important;
}
@media (max-width:1040px){
  .publication-header-card{
    padding:34px 24px 36px!important;
  }
  .publication-side-slider{
    height:360px!important;
  }
}
@media (max-width:720px){
  .publication-detail-section{
    padding-top:34px!important;
  }
  .publication-page-container,
  .publication-detail-single{
    width:min(100% - 32px,1080px)!important;
  }
  .publication-title-center{
    font-size:clamp(2rem,9vw,3rem)!important;
    margin-bottom:22px!important;
  }
  .publication-media-panel{
    padding:12px!important;
  }
  .publication-side-slider{
    height:320px!important;
  }
}

/* =========================================================
   Ajuste 5.7.1 - Galería compacta móvil para publicaciones
   ========================================================= */
.publication-mobile-gallery{
  display:none;
}
@media (max-width:720px){
  .publication-media-panel{
    display:none!important;
  }
  .publication-mobile-gallery{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-top:22px;
    padding-top:18px;
    border-top:1px solid rgba(21,26,150,.10);
  }
  .publication-mobile-gallery a{
    display:flex;
    align-items:center;
    justify-content:center;
    aspect-ratio:1 / 1;
    border:1px solid rgba(21,26,150,.12);
    border-radius:16px;
    background:linear-gradient(135deg,#f8fdff,#edf8fc);
    box-shadow:0 10px 20px rgba(10,18,84,.06);
    overflow:hidden;
    cursor:zoom-in;
  }
  .publication-mobile-gallery img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }
  .publication-mobile-gallery-count-1{
    grid-template-columns:minmax(0,160px)!important;
    justify-content:center!important;
  }
}
@media (max-width:390px){
  .publication-mobile-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .publication-mobile-gallery-count-1{
    grid-template-columns:minmax(0,150px)!important;
  }
}

/* =========================================================
   Ajuste 5.7.2 - Publicaciones: lightbox navegable y menos espacio
   ========================================================= */
.publication-detail-section{
  padding-bottom:22px!important;
}
.publication-embeds-clean-section{
  padding-top:0!important;
}
.publication-header-card{
  padding-bottom:34px!important;
}
.course-lightbox{
  touch-action:pan-y!important;
}
.course-lightbox-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:46px;
  height:46px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  box-shadow:0 18px 40px rgba(0,0,0,.22);
  z-index:2;
}
.course-lightbox-prev{
  left:18px;
  background-image:url('../img/slider-btn-prev.png');
}
.course-lightbox-next{
  right:18px;
  background-image:url('../img/slider-btn-next.png');
}
@media (max-width:720px){
  .publication-detail-section{
    padding-top:24px!important;
    padding-bottom:12px!important;
  }
  .publication-header-card{
    padding-bottom:22px!important;
  }
  .publication-mobile-gallery{
    margin-top:16px!important;
    padding-top:14px!important;
  }
  .publication-embeds-clean-section{
    padding-top:0!important;
  }
  .course-lightbox-nav{
    width:40px;
    height:40px;
  }
  .course-lightbox-prev{left:10px;}
  .course-lightbox-next{right:10px;}
}

/* =========================================================
   Ajuste 5.7.3 - Embebidos resistentes a bloqueos de navegador
   ========================================================= */
.external-embed-with-fallback{
  position:relative;
  background:#fff;
}
.external-embed-with-fallback .embed-frame-wrap{
  width:100%;
  min-height:96px;
  display:block;
  background:linear-gradient(135deg,#f8fdff,#edf8fc);
}
.external-embed-with-fallback iframe{
  background:linear-gradient(135deg,#f8fdff,#edf8fc);
}
.external-embed-video .embed-frame-wrap iframe{
  aspect-ratio:16 / 9;
  height:auto;
}
.embed-fallback-card{
  display:grid;
  gap:8px;
  padding:16px 18px;
  background:linear-gradient(135deg,#f8fdff,#eef9fc);
  border-top:1px solid rgba(21,26,150,.10);
  text-align:left;
}
.embed-fallback-card span{
  color:#64b8d1;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.72rem;
  font-weight:1000;
}
.embed-fallback-card strong{
  color:var(--navy);
  line-height:1.1;
  font-weight:1000;
}
.embed-fallback-card p{
  margin:0;
  color:#667286;
  font-size:.9rem;
  line-height:1.45;
}
.embed-open-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  justify-self:start;
  min-height:38px;
  padding:9px 14px;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,var(--navy),var(--navy-2) 58%,var(--aqua) 155%);
  font-weight:950;
  box-shadow:0 12px 24px rgba(21,26,150,.18);
}
.external-embed[data-external-embed="youtube"].embed-loaded .embed-fallback-card{
  display:none;
}
.external-embed[data-external-embed="instagram"] .embed-frame-wrap{
  padding:10px;
}
.external-embed[data-external-embed="instagram"].embed-loaded .embed-frame-wrap{
  background:#fff;
}
.external-embed-link-only .embed-fallback-card{
  border-top:0;
}
@media (max-width:720px){
  .embed-fallback-card{
    padding:14px;
    gap:7px;
  }
  .embed-open-link{
    width:100%;
  }
}


/* Ajuste 5.8.0 - Integración de formulario web con Make */
.status-pill.info{background:#eef5ff;color:#1d4f9a}
.admin-form select[name="program_type"]{max-width:420px}
