@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Fraunces:opsz,wght@9..144,700;9..144,800&family=Inter:wght@400;500;600;700;800&family=Lato:wght@400;700;900&family=Merriweather:wght@400;700;900&family=Montserrat:wght@400;600;700;800&family=Nunito:wght@400;600;700;800&family=Open+Sans:wght@400;600;700;800&family=Oswald:wght@400;600;700&family=Playfair+Display:wght@500;600;700;800&family=Poppins:wght@400;500;600;700;800&family=Raleway:wght@400;600;700;800&family=Roboto:wght@400;500;700;900&family=Source+Sans+3:wght@400;600;700;800&display=swap');
:root{--bg:#f1f0ee;--card:#fff;--line:#d8d2cb;--ink:#1e2d30;--text:#2f3a4a;--muted:#667085;--green:#07863b;--green2:#056b30;--orange:#c66a20;--yellow:#efc531;--radius:8px;--max:1200px;--ui:"Inter","Segoe UI",Arial,sans-serif;--display:"Cormorant Garamond","Iowan Old Style",Georgia,serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--ui);font-size:16px}a{text-decoration:none;color:inherit}.container{width:min(var(--max),calc(100% - 48px));margin:auto}.topbar{height:72px;background:#f7f6f4;border-bottom:1px solid var(--line);display:flex;align-items:center;position:sticky;top:0;z-index:10}.nav{display:flex;align-items:center;gap:28px}.logo{width:236px;height:54px;object-fit:contain;object-position:left center}.menu{display:flex;gap:34px;margin-left:auto;font-size:14px;font-weight:800;letter-spacing:.03em}.menu a{position:relative;padding:27px 0;color:#1f2328}.menu a:hover{color:var(--green)}.menu a:after{content:"";position:absolute;left:0;right:0;bottom:15px;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left}.menu a:hover:after{transform:scaleX(1)}.social{display:flex;gap:9px;margin-left:14px}.social a,.share-row a,.share-row button{width:32px;height:32px;border:1px solid transparent;border-radius:7px;display:inline-grid;place-items:center;background:transparent;color:#1f2328;font-weight:700}.social a:hover,.share-row a:hover,.share-row button:hover{background:#fff;border-color:var(--line);color:var(--green)}h1,h2{font-family:var(--display);color:var(--ink);font-weight:500;letter-spacing:-.02em;line-height:1.02;margin:0}h3{font-family:var(--display);color:#18151b;font-weight:600;letter-spacing:-.015em}.intro{padding:56px 0 22px;text-align:center}.badge{display:inline-block;border:1px solid rgba(7,134,59,.2);background:#eef8f2;color:var(--green);border-radius:999px;padding:7px 15px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.intro h1{font-size:clamp(42px,5vw,66px);max-width:1160px;margin:20px auto 16px}.intro p{font-size:18px;line-height:1.7;max-width:930px;margin:auto}.actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px;border-radius:8px;border:1px solid var(--line);font-weight:750;cursor:pointer;background:#fff}.btn.primary{background:var(--green);color:#fff;border-color:var(--green)}.btn.primary:hover{background:var(--green2)}.btn.yellow{background:var(--yellow);border-color:var(--yellow);color:#1d1d1d}.utility{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:880px;margin:30px auto 0}.utility-card{background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.section{padding:44px 0 74px}.catalog-head{text-align:center;margin:0 auto 32px;max-width:1120px}.catalog-head h2{font-size:clamp(34px,4vw,56px);margin-bottom:12px}.catalog-head p{font-size:18px;line-height:1.6;margin:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.course-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-height:425px;display:flex;flex-direction:column}.course-card:hover{box-shadow:0 8px 20px rgba(34,44,50,.05)}.thumb{height:186px;background:#e9e9e9;overflow:hidden}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.course-body{padding:18px;display:flex;flex-direction:column;gap:10px;flex:1}.course-body h3{font-size:25px;line-height:1.04;margin:0;min-height:56px}.course-body p{line-height:1.38;margin:0;color:#384252;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:16px}.mini-logo{width:36px;height:36px;object-fit:contain}.interest{font-family:Georgia,serif;color:var(--green);font-weight:700}.band{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.two{display:grid;grid-template-columns:1fr 1fr;gap:28px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px}.panel h2{font-size:42px;margin-bottom:14px}.reserve-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.reserve-form label{display:flex;flex-direction:column;gap:7px;font-weight:700}.reserve-form input,.reserve-form select,.reserve-form textarea{border:1px solid var(--line);border-radius:8px;padding:12px;background:#fff;font:inherit}.reserve-form textarea,.reserve-form label:first-child{grid-column:1/-1}.reserve-form button{grid-column:1/-1}.footer{background:#f7f6f4;border-top:1px solid var(--line);padding:34px 0;color:#5d6675}.footer .container{display:flex;justify-content:space-between;gap:20px}.footer img{width:180px}.hero{padding:42px 0}.hero-grid{display:grid;grid-template-columns:1fr 420px;gap:36px;align-items:center}.hero h1{font-size:clamp(42px,5vw,64px);margin:14px 0}.hero p{font-size:19px;line-height:1.65}.hero-img{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.hero-img img{display:block;width:100%;height:500px;object-fit:cover}.main-grid{display:grid;grid-template-columns:1fr 340px;gap:26px;align-items:start}.side{position:sticky;top:90px}.facts{list-style:none;padding:0;margin:0;display:grid;gap:12px}.facts li{border-bottom:1px solid var(--line);padding-bottom:10px}.module{display:grid;grid-template-columns:48px 1fr;gap:12px;border-top:1px solid var(--line);padding:14px 0}.num{width:34px;height:34px;background:var(--green);color:#fff;border-radius:7px;display:grid;place-items:center;font-weight:800}.share-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-layout{display:grid;grid-template-columns:280px 1fr;gap:22px;align-items:start}.admin-menu{position:sticky;top:92px}.admin-menu button{display:block;width:100%;text-align:left;margin-bottom:8px}.admin-section{display:none}.admin-section.active{display:block}.course-list button{width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px;margin-bottom:8px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-weight:700}.form-grid input,.form-grid textarea,.form-grid select{border:1px solid var(--line);border-radius:8px;padding:11px;font:inherit}.span2{grid-column:1/-1}.table{width:100%;border-collapse:collapse;background:#fff}.table th,.table td{border:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}.private{min-height:calc(100vh - 72px);display:grid;place-items:center;padding:60px 0}.private .panel{max-width:760px;text-align:center}.private h1{font-size:52px}.note{background:#fff6e8;border:1px solid #ead2b6;border-radius:8px;padding:12px;margin:18px 0}@media(max-width:1100px){.grid{grid-template-columns:repeat(3,1fr)}.hero-grid,.main-grid,.two,.admin-layout{grid-template-columns:1fr}.side,.admin-menu{position:static}.menu{gap:18px}.logo{width:210px}}@media(max-width:780px){.grid{grid-template-columns:repeat(2,1fr)}.utility,.reserve-form,.form-grid{grid-template-columns:1fr}.nav{flex-wrap:wrap}.topbar{height:auto;padding:10px 0}.menu{order:3;width:100%;justify-content:center}.social{margin-left:auto}.footer .container{display:block}.hero-img img{height:360px}}@media(max-width:560px){.grid{grid-template-columns:1fr}.intro h1{font-size:36px}.course-card{min-height:auto}.container{width:min(100% - 28px,var(--max))}}


/* ===== V10 ESTILO REFERENCIA ===== */
:root{--bg:#efefef;--card:#ffffff;--line:#d5d5d5;--ink:#20365d;--text:#27364f;--muted:#4d5d73;--yellow:#f5b600;--green:#19985b;--green2:#117743;--radius:6px;}
body{background:var(--bg);}
.topbar{position:sticky;top:0;z-index:20;height:86px;background:#f5f5f5;}
.nav{height:86px;}
.menu a:hover:after,.menu a.active:after{transform:scaleX(1);}
.hero-style{background:var(--bg);}
.hero-media{width:100%;height:520px;overflow:hidden;background:#222;}
.hero-media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.95) contrast(1.02);}
.features-overlap{margin-top:-72px;position:relative;z-index:2;padding-bottom:16px;}
.features-shell{background:#dddddd;border-radius:6px;padding:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.feature-yellow{background:var(--yellow);padding:34px 32px 28px;min-height:340px;border-radius:2px;}
.feature-yellow .feature-icon{font-size:42px;line-height:1;margin-bottom:18px;color:#111;}
.feature-yellow h3{font-family:var(--ui);font-size:18px;line-height:1.35;font-weight:800;margin:0 0 18px;color:#111;}
.feature-yellow p{font-size:18px;line-height:1.65;color:#704d00;margin:0;}
.catalog-reference{padding-top:34px;}
.catalog-reference-head{text-align:center;max-width:1220px;margin:0 auto 36px;}
.catalog-reference-head h2{font-family:var(--ui);font-size:clamp(34px,4.1vw,56px);font-weight:800;line-height:1.15;color:#243a63;margin-bottom:12px;}
.catalog-reference-head p{font-family:var(--ui);font-size:18px;line-height:1.5;color:#243a63;margin:0;font-weight:700;}
.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.ref-card{min-height:385px;background:#fff;border:1px solid #cfcfcf;border-radius:2px;box-shadow:none;}
.ref-card .thumb{height:182px;background:#e5e5e5;}
.ref-card .thumb img{object-fit:cover;}
.ref-card .course-body{padding:16px 16px 14px;}
.ref-card .course-body h3{font-family:var(--display);font-size:32px;font-weight:700;line-height:1.03;margin:0 0 8px;color:#111;}
.ref-card .course-subtitle{font-family:var(--display);font-size:20px;line-height:1.05;color:#222;min-height:50px;}
.ref-card .card-bottom{padding-top:22px;}
.ref-card .mini-logo{width:38px;height:38px;}
.ref-card .interest{font-family:var(--display);font-size:16px;color:var(--green);font-weight:700;}
.band{background:transparent;border:none;padding-top:10px;}
.panel{border:1px solid #d7d7d7;border-radius:6px;background:#fff;}
.panel h2{font-size:34px;}
.share-inline{margin-top:16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.share-inline .share-row{display:flex;gap:8px;}
@media(max-width:1100px){.features-shell{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:repeat(3,1fr)}.hero-media{height:420px;}}
@media(max-width:780px){.grid{grid-template-columns:repeat(2,1fr)}.features-overlap{margin-top:-30px}.features-shell{grid-template-columns:1fr}.hero-media{height:320px}.feature-yellow{min-height:auto}.catalog-reference-head h2{font-size:34px}.catalog-reference-head p{font-size:16px}}
@media(max-width:560px){.grid{grid-template-columns:1fr}.topbar,.nav{height:auto}.hero-media{height:240px}}


/* ===== V11: formulario unificado y primera fila con 3 tarjetas 600x875 ===== */
.course-grid-shell{width:100%;}
.first-course-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  max-width:1220px;
  margin:0 auto 56px;
}
.rest-course-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:1220px;
  margin:0 auto;
}
.featured-card{
  min-height:auto;
}
.featured-card .thumb{
  height:auto !important;
  aspect-ratio:600/875;
  background:#fff;
}
.featured-card .thumb img{
  width:100%;
  height:100%;
  object-fit:contain !important;
  background:#fff;
}
.featured-card .course-body{
  display:none;
}
.rest-course-grid .thumb{
  height:auto;
  aspect-ratio:600/875;
  background:#fff;
}
.rest-course-grid .thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.rest-course-grid .course-body{
  min-height:170px;
}
.reservation-unified{
  display:grid;
  grid-template-columns:minmax(320px,.8fr) minmax(520px,1.2fr);
  gap:42px;
  align-items:start;
  padding:38px 42px;
}
.reservation-heading h2{
  font-size:42px;
  margin:16px 0 14px;
}
.reservation-heading p{
  font-size:18px;
  line-height:1.65;
  max-width:620px;
}
.reservation-form-wrap .reserve-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 22px;
}
.reservation-form-wrap .reserve-form label:first-child,
.reservation-form-wrap .reserve-form label:nth-child(4),
.reservation-form-wrap .reserve-form label:nth-child(5),
.reservation-form-wrap .reserve-form button{
  grid-column:auto;
}
.reservation-form-wrap .reserve-form label:first-child{
  grid-column:1 / -1;
}
.reservation-form-wrap .reserve-form label:nth-child(5){
  grid-column:2 / 3;
  grid-row:3 / 5;
}
.reservation-form-wrap .reserve-form button{
  grid-column:1 / -1;
}
.reservation-form-wrap .reserve-form textarea{
  min-height:112px;
}
@media(max-width:1100px){
  .first-course-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
  .rest-course-grid{grid-template-columns:repeat(3,1fr);}
  .reservation-unified{grid-template-columns:1fr;gap:24px;}
  .reservation-heading h2{font-size:36px;}
}
@media(max-width:780px){
  .first-course-row{grid-template-columns:1fr;max-width:600px;}
  .rest-course-grid{grid-template-columns:repeat(2,1fr);}
  .reservation-form-wrap .reserve-form{grid-template-columns:1fr;}
  .reservation-form-wrap .reserve-form label:nth-child(5){grid-column:auto;grid-row:auto;}
}
@media(max-width:560px){
  .rest-course-grid{grid-template-columns:1fr;}
  .reservation-unified{padding:24px;}
}


/* ===== V13: primeras 3 imágenes de portada ===== */
.first-course-row .featured-card{min-height:440px;background:#fff;border:1px solid #cfcfcf;border-radius:2px;overflow:hidden;display:flex;flex-direction:column;}
.first-course-row .featured-card .thumb{height:auto !important;aspect-ratio:400/280 !important;background:#f2f2f2;}
.first-course-row .featured-card .thumb img{width:100%;height:100%;object-fit:cover !important;display:block;background:#fff;}
.first-course-row .featured-card .course-body{display:flex !important;flex-direction:column;gap:10px;padding:18px 16px 16px;min-height:200px;}
.first-course-row .featured-card .course-body h3{font-family:var(--display);font-size:30px;line-height:1.02;margin:0;color:#111;}
.first-course-row .featured-card .course-subtitle{font-family:var(--display);font-size:20px;line-height:1.08;color:#222;min-height:48px;}
.first-course-row .featured-card .card-bottom{margin-top:auto;padding-top:18px;display:flex;align-items:center;justify-content:space-between;}
.first-course-row .featured-card .mini-logo{width:38px;height:38px;object-fit:contain;}
.first-course-row .featured-card .interest{font-family:var(--display);font-size:16px;color:var(--green);font-weight:700;}
@media(max-width:780px){
  .first-course-row .featured-card{min-height:auto;}
  .first-course-row .featured-card .course-body h3{font-size:26px;}
}


/* ===== V14: reducir 10% los 3 cuadros de portada ===== */
.first-course-row{max-width:1220px;margin:0 auto 56px;}
.first-course-row .featured-card{width:90%;justify-self:center;min-height:396px;}
.first-course-row .featured-card .thumb{aspect-ratio:400/280 !important;}
.first-course-row .featured-card .course-body{padding:16px 14px 14px;min-height:180px;}
.first-course-row .featured-card .course-body h3{font-size:27px;}
.first-course-row .featured-card .course-subtitle{font-size:18px;min-height:42px;}
.first-course-row .featured-card .card-bottom{padding-top:14px;}
@media(max-width:780px){
  .first-course-row .featured-card{width:100%;}
}


/* ===== V15: cuadros 10% más cerca y fuente del curso 15% más grande ===== */
.first-course-row{gap:18px !important;}
.first-course-row .featured-card{width:91%;}
.first-course-row .featured-card .course-body h3{font-size:31px !important; line-height:1.02;}
.first-course-row .featured-card .course-subtitle{font-size:21px !important; line-height:1.08;}
@media(max-width:780px){
  .first-course-row{gap:14px !important;}
  .first-course-row .featured-card{width:100%;}
  .first-course-row .featured-card .course-body h3{font-size:28px !important;}
  .first-course-row .featured-card .course-subtitle{font-size:19px !important;}
}


/* ===== V16: primeras 3 tarjetas con estilo del ejemplo ===== */
.first-course-row{gap:18px !important;align-items:start;}
.first-course-row .featured-card{width:91%;justify-self:center;min-height:602px;background:#fff;border:1px solid #cfcfcf;border-radius:4px;overflow:hidden;}
.first-course-row .featured-card .thumb{aspect-ratio:400/280 !important;height:auto !important;background:#f2f2f2;}
.first-course-row .featured-card .thumb img{width:100%;height:100%;object-fit:cover !important;display:block;}
.first-course-row .featured-card .course-body{display:flex !important;flex-direction:column;align-items:flex-start;min-height:322px;padding:34px 28px 22px;gap:12px;}
.first-course-row .featured-card .course-body h3{font-family:var(--display);font-size:28px !important;line-height:1.04;letter-spacing:-.02em;font-weight:500;margin:0;color:#141414;}
.first-course-row .featured-card .course-subtitle{font-family:var(--display);font-size:66px !important;line-height:.92;letter-spacing:-.03em;font-weight:700;color:#0f0f10;min-height:auto;margin-top:-2px;}
.first-course-row .featured-card .card-bottom{margin-top:auto;padding-top:10px;width:100%;display:flex;align-items:flex-end;justify-content:space-between;}
.first-course-row .featured-card .mini-logo{width:40px;height:40px;object-fit:contain;display:block;}
.first-course-row .featured-card .interest{font-family:var(--display);font-size:18px;color:var(--green);font-weight:700;line-height:1;}
@media(max-width:1200px){
  .first-course-row .featured-card .course-subtitle{font-size:58px !important;}
}
@media(max-width:980px){
  .first-course-row .featured-card{width:94%;min-height:560px;}
  .first-course-row .featured-card .course-body{padding:28px 22px 20px;min-height:286px;}
  .first-course-row .featured-card .course-subtitle{font-size:52px !important;}
}
@media(max-width:780px){
  .first-course-row{gap:14px !important;}
  .first-course-row .featured-card{width:100%;min-height:auto;}
  .first-course-row .featured-card .course-body{min-height:280px;padding:28px 22px 20px;}
  .first-course-row .featured-card .course-body h3{font-size:24px !important;}
  .first-course-row .featured-card .course-subtitle{font-size:56px !important;}
}
@media(max-width:480px){
  .first-course-row .featured-card .course-body{min-height:250px;padding:24px 18px 18px;}
  .first-course-row .featured-card .course-body h3{font-size:22px !important;}
  .first-course-row .featured-card .course-subtitle{font-size:50px !important;}
  .first-course-row .featured-card .mini-logo{width:36px;height:36px;}
  .first-course-row .featured-card .interest{font-size:16px;}
}


/* ===== V17: mejor tipografía y reducción de tamaño 15% ===== */
.first-course-row .featured-card .course-body h3{
  font-family:"Cormorant Garamond", Georgia, serif !important;
  font-size:24px !important;
  line-height:1.05 !important;
  font-weight:600 !important;
  letter-spacing:-0.01em;
}
.first-course-row .featured-card .course-subtitle{
  font-family:"Fraunces", Georgia, serif !important;
  font-size:56px !important;
  line-height:0.94 !important;
  font-weight:800 !important;
  letter-spacing:-0.03em;
}
.first-course-row .featured-card .interest{
  font-family:"Cormorant Garamond", Georgia, serif !important;
  font-size:15px !important;
  font-weight:700 !important;
}
.first-course-row .featured-card .course-body{
  min-height:300px;
  padding:30px 28px 22px;
}
@media(max-width:1200px){
  .first-course-row .featured-card .course-subtitle{font-size:50px !important;}
}
@media(max-width:780px){
  .first-course-row .featured-card .course-body h3{font-size:22px !important;}
  .first-course-row .featured-card .course-subtitle{font-size:48px !important;}
  .first-course-row .featured-card .interest{font-size:14px !important;}
}
@media(max-width:480px){
  .first-course-row .featured-card .course-body h3{font-size:21px !important;}
  .first-course-row .featured-card .course-subtitle{font-size:44px !important;}
}


/* ===== V18: módulo de estilos del CMS ===== */
.admin-help{color:var(--muted);line-height:1.55;margin-top:-6px;}
.style-admin-grid{display:grid;grid-template-columns:minmax(420px,1fr) minmax(360px,.9fr);gap:24px;align-items:start;}
.style-controls h3,.style-preview h3{margin-top:0;font-family:var(--ui);font-size:20px;color:#1f2b44;}
.style-controls .form-grid{grid-template-columns:1.1fr .55fr;gap:13px 14px;}
.style-controls select,.style-controls input{background:#fff;}
.style-preview{background:#f7f7f5;border:1px solid var(--line);border-radius:10px;padding:18px;position:sticky;top:98px;}
.style-map{display:grid;gap:12px;}
.style-zone{background:#fff;border:1px dashed #c9c9c9;border-radius:8px;padding:14px;}
.style-zone span,.demo-card-body span{display:block;font-family:var(--ui);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#0b8f40;font-weight:800;margin-bottom:6px;}
.style-zone b{display:block;color:#172033;}
.style-zone p{margin:0;color:#4b5563;}
.style-card-demo{background:#fff;border:1px solid #cfcfcf;border-radius:6px;overflow:hidden;}
.demo-image{height:110px;background:linear-gradient(135deg,#e9eef3,#d7ece0);display:grid;place-items:center;color:#526172;font-weight:700;}
.demo-card-body{padding:18px;}
.demo-card-body b{display:block;color:#171717;}
.demo-card-body strong{display:block;color:#050505;margin-top:4px;}
.demo-footer{display:flex;justify-content:space-between;align-items:center;margin-top:20px;}
.demo-footer small{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:8px;border:1px solid #d4d4d4;color:#667085;font-weight:700;}
.demo-footer a{color:var(--green);font-weight:800;}
@media(max-width:1000px){.style-admin-grid{grid-template-columns:1fr}.style-preview{position:static}.style-controls .form-grid{grid-template-columns:1fr 160px}}
@media(max-width:620px){.style-controls .form-grid{grid-template-columns:1fr}.style-admin-grid{gap:16px}}


/* ===== V19: Módulo Estilos dividido por sección - Portada / primeros 3 cursos ===== */
:root{
  --v19-cover-title-font: "Inter", "Segoe UI", Arial, sans-serif;
  --v19-cover-title-size: 42px;
  --v19-cover-subtitle-font: "Inter", "Segoe UI", Arial, sans-serif;
  --v19-cover-subtitle-size: 18px;

  --v19-card-top-font: "Cormorant Garamond", Georgia, serif;
  --v19-card-top-size: 24px;
  --v19-card-main-font: "Fraunces", Georgia, serif;
  --v19-card-main-size: 56px;
  --v19-card-link-font: "Cormorant Garamond", Georgia, serif;
  --v19-card-link-size: 15px;
}

.catalog-reference-head h2{
  font-family: var(--v19-cover-title-font) !important;
  font-size: var(--v19-cover-title-size) !important;
}
.catalog-reference-head p{
  font-family: var(--v19-cover-subtitle-font) !important;
  font-size: var(--v19-cover-subtitle-size) !important;
}
.first-course-row .featured-card .course-body h3{
  font-family: var(--v19-card-top-font) !important;
  font-size: var(--v19-card-top-size) !important;
}
.first-course-row .featured-card .course-subtitle{
  font-family: var(--v19-card-main-font) !important;
  font-size: var(--v19-card-main-size) !important;
}
.first-course-row .featured-card .interest{
  font-family: var(--v19-card-link-font) !important;
  font-size: var(--v19-card-link-size) !important;
}

/* Vista gráfica dentro del panel */
.style-section-card{
  border:1px solid var(--line);
  background:#fff;
  border-radius:8px;
  padding:22px;
  margin-bottom:18px;
}
.style-section-card h3{
  margin-top:0;
  font-family:var(--ui);
  font-size:20px;
  color:#1f2a44;
}
.style-section-note{
  margin:0 0 18px;
  color:#5f6b7a;
  line-height:1.55;
}
.style-map{
  border:1px dashed #c6cbd2;
  background:#f7f8f9;
  border-radius:8px;
  padding:18px;
  margin:18px 0;
}
.style-map-cover{
  text-align:center;
  padding:20px;
  background:#f1f1f1;
  border-radius:6px;
}
.style-map-cover .map-title{
  font-family:var(--v19-cover-title-font);
  font-size:var(--v19-cover-title-size);
  font-weight:800;
  color:#243a63;
  line-height:1.15;
}
.style-map-cover .map-subtitle{
  font-family:var(--v19-cover-subtitle-font);
  font-size:var(--v19-cover-subtitle-size);
  margin-top:8px;
  color:#243a63;
}
.style-map-card{
  width:min(340px,100%);
  background:#fff;
  border:1px solid #cfcfcf;
  border-radius:4px;
  overflow:hidden;
}
.style-map-card .map-img{
  height:132px;
  background:linear-gradient(135deg,#eaf3f0,#d8e0e0);
}
.style-map-card .map-body{
  padding:22px;
  min-height:210px;
  display:flex;
  flex-direction:column;
}
.style-map-card .map-top{
  font-family:var(--v19-card-top-font);
  font-size:var(--v19-card-top-size);
  line-height:1.05;
  color:#151515;
}
.style-map-card .map-main{
  font-family:var(--v19-card-main-font);
  font-size:var(--v19-card-main-size);
  line-height:.94;
  font-weight:800;
  color:#111;
}
.style-map-card .map-bottom{
  margin-top:auto;
  display:flex;
  justify-content:space-between;
  align-items:end;
  color:var(--green);
}
.style-map-card .map-logo{
  width:36px;
  height:36px;
  background:linear-gradient(90deg,#2767c8 0 25%,#e02626 25% 50%,#f49800 50% 75%,#43a047 75%);
  border-radius:6px;
}
.style-map-card .map-link{
  font-family:var(--v19-card-link-font);
  font-size:var(--v19-card-link-size);
  font-weight:700;
}
.style-controls-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.style-controls-grid label{
  display:flex;
  flex-direction:column;
  gap:7px;
  font-weight:700;
}
.style-controls-grid select,
.style-controls-grid input{
  border:1px solid var(--line);
  border-radius:8px;
  padding:11px;
  font:inherit;
  background:#fff;
}
.style-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:18px;
}
@media(max-width:780px){
  .style-controls-grid{grid-template-columns:1fr;}
}


/* ===== V20: módulo estilos por bloques, muestra al lado ===== */
.style-block-row{display:grid;grid-template-columns:minmax(320px,420px) 1fr;gap:22px;align-items:start;}
.style-controls-stack{display:grid;gap:14px;}
.style-control-block{border:1px solid var(--line);background:#fbfbfc;border-radius:8px;padding:16px;}
.style-control-block h4{margin:0 0 6px;font-size:16px;color:#1f2a44;font-family:var(--ui);}
.style-control-block p{margin:0 0 12px;color:#667085;font-size:13px;line-height:1.45;}
.style-control-fields{display:grid;grid-template-columns:1fr 130px;gap:12px;}
.style-control-fields label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:14px;}
.style-map-card.compact{width:100%;max-width:360px;}
.style-map-cover.compact{text-align:left;}
.style-map-cover.compact .map-title,.style-map-cover.compact .map-subtitle{display:block;}
.style-map-target{display:inline-block;margin-top:8px;padding:3px 8px;border-radius:999px;background:#eef6f1;color:#1c7a49;font-size:12px;font-weight:700;}
@media(max-width:900px){.style-block-row{grid-template-columns:1fr;}.style-control-fields{grid-template-columns:1fr;}}


/* ===== V21: ajuste numérico al lado de cada control ===== */
.style-control-fields{
  grid-template-columns: minmax(220px, 1fr) minmax(190px, 230px);
  align-items:end;
}
.numeric-adjust{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
}
.numeric-adjust button{
  width:36px;
  height:36px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:8px;
  font-weight:800;
  cursor:pointer;
  color:#1f2a44;
}
.numeric-adjust button:hover{
  background:#eef6f1;
  border-color:#b7d9c4;
  color:var(--green);
}
.numeric-adjust input[type="number"]{
  width:82px;
  text-align:center;
  padding:9px 8px;
}
.numeric-adjust .unit{
  font-size:13px;
  color:#667085;
  font-weight:700;
}
.style-control-block{
  padding:18px;
}
.style-control-fields label{
  margin:0;
}
@media(max-width:780px){
  .style-control-fields{
    grid-template-columns:1fr;
  }
  .numeric-adjust input[type="number"]{
    width:100%;
  }
}


/* ===== V22: control del menú exactamente al lado de la muestra ===== */
:root{
  --v22-menu-font: "Inter", "Segoe UI", Arial, sans-serif;
  --v22-menu-size: 13px;
}
.menu a{
  font-family: var(--v22-menu-font) !important;
  font-size: var(--v22-menu-size) !important;
}
.style-mini-block{
  display:grid;
  grid-template-columns:minmax(340px, 1fr) minmax(260px, 340px);
  gap:18px;
  align-items:stretch;
  margin-bottom:18px;
}
.style-mini-sample,
.style-mini-controls{
  border:1px dashed #cbd3dc;
  background:#fff;
  border-radius:10px;
  padding:22px;
}
.style-mini-sample h4,
.style-mini-controls h4{
  margin:0 0 14px;
  font-family:var(--ui);
  color:#078441;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:16px;
}
.style-menu-preview{
  font-family:var(--v22-menu-font);
  font-size:var(--v22-menu-size);
  font-weight:800;
  letter-spacing:.04em;
  line-height:1.45;
  color:#07152c;
}
.style-menu-preview span{display:inline-block;margin-right:8px;}
.style-mini-controls label{
  display:flex;
  flex-direction:column;
  gap:8px;
  font-weight:800;
  color:#1f2a44;
}
.style-mini-controls select,
.style-mini-controls input{
  border:1px solid var(--line);
  border-radius:8px;
  padding:10px;
  font:inherit;
}
.style-mini-controls .numeric-adjust{
  margin-top:4px;
}
@media(max-width:900px){
  .style-mini-block{grid-template-columns:1fr;}
}


/* ===== V23: tamaño del menú dentro de la muestra gráfica ===== */
.style-menu-inline-shell{
  border:1px dashed #cbd3dc;
  background:#f9fafb;
  border-radius:10px;
  padding:22px;
}
.style-menu-inline-layout{
  display:grid;
  grid-template-columns:minmax(320px, 1fr) 96px;
  gap:18px;
  align-items:center;
}
.style-menu-inline-preview{
  border:1px dashed #cbd3dc;
  background:#fff;
  border-radius:10px;
  padding:22px 24px;
}
.style-menu-inline-preview h4{
  margin:0 0 10px;
  font-family:var(--ui);
  color:#078441;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:16px;
}
.style-menu-inline-preview .style-menu-preview{
  font-family:var(--v22-menu-font);
  font-size:var(--v22-menu-size);
  font-weight:800;
  letter-spacing:.04em;
  line-height:1.45;
  color:#07152c;
}
.style-menu-size-box{
  display:flex;
  justify-content:center;
  align-items:center;
}
.style-menu-size-box input[type="number"]{
  width:86px;
  height:54px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  text-align:center;
  font-size:20px;
  font-weight:800;
  color:#111827;
  padding:0 8px;
}
.style-menu-font-under{
  margin-top:16px;
  display:grid;
  grid-template-columns:minmax(240px, 360px) auto;
  gap:12px;
  align-items:end;
}
.style-menu-font-under label{
  display:flex;
  flex-direction:column;
  gap:7px;
  font-weight:800;
  color:#1f2a44;
}
.style-menu-font-under select{
  border:1px solid var(--line);
  border-radius:8px;
  padding:10px;
  font:inherit;
  background:#fff;
}
.style-menu-font-under .hint{
  color:#667085;
  font-size:13px;
  line-height:1.45;
}
@media(max-width:760px){
  .style-menu-inline-layout{
    grid-template-columns:1fr;
  }
  .style-menu-size-box{
    justify-content:flex-start;
  }
  .style-menu-font-under{
    grid-template-columns:1fr;
  }
}


/* ===== V24: muestra + fuente + tamaño en la misma línea ===== */
:root{
  --v24-menu-font: "Inter", "Segoe UI", Arial, sans-serif;
  --v24-menu-size: 14px;
}

.menu a{
  font-family: var(--v24-menu-font) !important;
  font-size: var(--v24-menu-size) !important;
}

.style-menu-exact-row{
  display:grid;
  grid-template-columns:minmax(330px, 1fr) minmax(280px, 360px) 90px;
  gap:14px;
  align-items:center;
  margin-top:14px;
}

.style-menu-exact-sample{
  border:1px dashed #cbd3dc;
  background:#fff;
  border-radius:2px;
  padding:18px 20px;
  min-height:92px;
}

.style-menu-exact-sample h4{
  margin:0 0 9px;
  font-family:var(--ui);
  color:#078441;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:15px;
}

.style-menu-exact-preview{
  font-family:var(--v24-menu-font);
  font-size:var(--v24-menu-size);
  font-weight:800;
  letter-spacing:.035em;
  line-height:1.45;
  color:#07152c;
}

.style-menu-exact-select select{
  width:100%;
  height:46px;
  border:1px solid var(--line);
  border-radius:4px;
  background:#fff;
  padding:0 14px;
  font-size:16px;
  font-weight:700;
}

.style-menu-exact-number input[type="number"]{
  width:90px;
  height:46px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  text-align:center;
  font-size:18px;
  font-weight:800;
  color:#111827;
  padding:0 8px;
}

@media(max-width:900px){
  .style-menu-exact-row{
    grid-template-columns:1fr;
  }
  .style-menu-exact-number input[type="number"]{
    width:120px;
  }
}


/* ===== V25: diseño aprobado para Estilos / Menú principal ===== */
:root{
  --v25-menu-font: "Inter", "Segoe UI", Arial, sans-serif;
  --v25-menu-size: 14px;
}

.menu a{
  font-family: var(--v25-menu-font) !important;
  font-size: var(--v25-menu-size) !important;
}

/* Contenedor aprobado */
.v25-style-approved{
  border:1px solid #d6d6d6;
  background:#fbfbfb;
  border-radius:12px;
  padding:26px;
  margin-bottom:22px;
}

.v25-style-approved h2{
  margin:0 0 22px;
  font-family:var(--ui);
  font-size:30px;
  line-height:1.2;
  color:#12203a;
}

.v25-menu-row{
  display:grid;
  grid-template-columns:minmax(390px, 1fr) minmax(300px, 360px) 92px;
  gap:18px;
  align-items:center;
  border:1px dashed #cfd6df;
  background:#f8f9fa;
  border-radius:10px;
  padding:26px;
}

.v25-menu-sample{
  border:1px dashed #cfd6df;
  background:#fff;
  border-radius:6px;
  padding:22px 26px;
  min-height:114px;
}

.v25-menu-sample-title{
  margin:0 0 10px;
  font-family:var(--ui);
  color:#078441;
  letter-spacing:.09em;
  text-transform:uppercase;
  font-size:16px;
  font-weight:800;
}

.v25-menu-preview-text{
  font-family:var(--v25-menu-font);
  font-size:var(--v25-menu-size);
  font-weight:800;
  letter-spacing:.035em;
  line-height:1.45;
  color:#07152c;
}

.v25-font-control select{
  width:100%;
  height:58px;
  border:1px solid #d9d9d9;
  border-radius:8px;
  background:#fff;
  padding:0 16px;
  font-size:18px;
  font-weight:800;
  color:#111;
}

.v25-size-control input[type="number"]{
  width:92px;
  height:58px;
  border:1px solid #d9d9d9;
  border-radius:8px;
  background:#fff;
  text-align:center;
  font-size:20px;
  font-weight:800;
  color:#111;
  padding:0 8px;
}

.v25-section-title{
  margin:28px 0 10px;
  font-family:var(--ui);
  font-size:24px;
  color:#12203a;
}

@media(max-width:980px){
  .v25-menu-row{
    grid-template-columns:1fr;
  }
  .v25-size-control input[type="number"]{
    width:120px;
  }
}


/* ===== V26: módulo Estilos limpio / Menú principal aprobado ===== */
:root{
  --v26-menu-font: "Inter", "Segoe UI", Arial, sans-serif;
  --v26-menu-size: 14px;
}

.menu a{
  font-family: var(--v26-menu-font) !important;
  font-size: var(--v26-menu-size) !important;
}

.v26-style-module{
  width:100%;
}

.v26-style-head{
  background:#fff;
  border:1px solid #d7d7d7;
  border-radius:12px;
  padding:26px 30px;
  margin-bottom:18px;
}

.v26-style-head h2{
  margin:12px 0 8px;
  font-family:var(--ui);
  font-size:34px;
  line-height:1.15;
  color:#12203a;
}

.v26-style-head p{
  margin:0;
  color:#4b5b73;
  font-size:18px;
  line-height:1.55;
}

.v26-style-panel{
  background:#fff;
  border:1px solid #d7d7d7;
  border-radius:12px;
  padding:30px;
}

.v26-style-panel h3{
  margin:0 0 24px;
  font-family:var(--ui);
  font-size:28px;
  color:#12203a;
}

.v26-menu-row{
  display:grid;
  grid-template-columns:minmax(430px, 1fr) minmax(300px, 360px) 94px;
  gap:18px;
  align-items:center;
  background:#f8f9fa;
  border:1px dashed #cfd6df;
  border-radius:10px;
  padding:26px;
}

.v26-menu-sample{
  border:1px dashed #cfd6df;
  background:#fff;
  border-radius:6px;
  padding:22px 26px;
  min-height:106px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.v26-menu-label{
  margin-bottom:10px;
  font-family:var(--ui);
  color:#078441;
  letter-spacing:.09em;
  text-transform:uppercase;
  font-size:16px;
  font-weight:800;
}

.v26-menu-preview{
  font-family:var(--v26-menu-font);
  font-size:var(--v26-menu-size);
  font-weight:800;
  letter-spacing:.035em;
  line-height:1.45;
  color:#07152c;
}

.v26-font-control select{
  width:100%;
  height:58px;
  border:1px solid #d9d9d9;
  border-radius:8px;
  background:#fff;
  padding:0 16px;
  font-size:18px;
  font-weight:800;
  color:#111;
}

.v26-size-control input[type="number"]{
  width:94px;
  height:58px;
  border:1px solid #d9d9d9;
  border-radius:8px;
  background:#fff;
  text-align:center;
  font-size:20px;
  font-weight:800;
  color:#111;
  padding:0 8px;
}

.v26-style-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:22px;
}

@media(max-width:980px){
  .v26-menu-row{
    grid-template-columns:1fr;
  }
  .v26-size-control input[type="number"]{
    width:130px;
  }
}

/* Oculta restos visuales del módulo viejo si un navegador los tenía en caché */
.style-admin-grid,
.style-controls,
.style-preview{
  display:none !important;
}


/* ===== V27: Estilos completos para portada y primeros 3 cursos ===== */
:root{
  --v27-menu-font: "Inter", "Segoe UI", Arial, sans-serif;
  --v27-menu-size: 14px;
  --v27-headline-font: "Inter", "Segoe UI", Arial, sans-serif;
  --v27-headline-size: 42px;
  --v27-subtitle-font: "Inter", "Segoe UI", Arial, sans-serif;
  --v27-subtitle-size: 18px;
  --v27-cardtop-font: "Cormorant Garamond", Georgia, serif;
  --v27-cardtop-size: 24px;
  --v27-cardmain-font: "Fraunces", Georgia, serif;
  --v27-cardmain-size: 56px;
  --v27-button-font: "Cormorant Garamond", Georgia, serif;
  --v27-button-size: 15px;
}

/* Aplicación pública */
.menu a{
  font-family: var(--v27-menu-font) !important;
  font-size: var(--v27-menu-size) !important;
}
.catalog-reference-head h2{
  font-family: var(--v27-headline-font) !important;
  font-size: var(--v27-headline-size) !important;
}
.catalog-reference-head p,
.course-card .course-body p,
.panel p{
  font-family: var(--v27-subtitle-font) !important;
  font-size: var(--v27-subtitle-size);
}
.first-course-row .featured-card .course-body h3{
  font-family: var(--v27-cardtop-font) !important;
  font-size: var(--v27-cardtop-size) !important;
}
.first-course-row .featured-card .course-subtitle{
  font-family: var(--v27-cardmain-font) !important;
  font-size: var(--v27-cardmain-size) !important;
}
.first-course-row .featured-card .interest,
.btn{
  font-family: var(--v27-button-font) !important;
  font-size: var(--v27-button-size) !important;
}

/* Panel Estilos */
.v27-style-module{
  width:100%;
}

.v27-style-head{
  background:#fff;
  border:1px solid #d7d7d7;
  border-radius:12px;
  padding:26px 30px;
  margin-bottom:18px;
}

.v27-style-head h2{
  margin:12px 0 8px;
  font-family:var(--ui);
  font-size:34px;
  line-height:1.15;
  color:#12203a;
}

.v27-style-head p{
  margin:0;
  color:#4b5b73;
  font-size:18px;
  line-height:1.55;
}

.v27-style-panel{
  background:#fff;
  border:1px solid #d7d7d7;
  border-radius:12px;
  padding:30px;
}

.v27-style-panel h3{
  margin:0 0 22px;
  font-family:var(--ui);
  font-size:28px;
  color:#12203a;
}

.v27-column-labels{
  display:grid;
  grid-template-columns:minmax(430px, 1fr) minmax(300px, 360px) 94px;
  gap:18px;
  padding:0 26px 8px;
  color:#667085;
  font-size:13px;
  font-weight:700;
}

.v27-style-row{
  display:grid;
  grid-template-columns:minmax(430px, 1fr) minmax(300px, 360px) 94px;
  gap:18px;
  align-items:center;
  background:#f8f9fa;
  border:1px dashed #cfd6df;
  border-radius:10px;
  padding:18px 26px;
  margin-bottom:14px;
}

.v27-sample{
  border:1px dashed #cfd6df;
  background:#fff;
  border-radius:6px;
  padding:16px 20px;
  min-height:74px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.v27-sample-label{
  margin-bottom:8px;
  font-family:var(--ui);
  color:#078441;
  letter-spacing:.09em;
  text-transform:uppercase;
  font-size:14px;
  font-weight:800;
}

.v27-menu-preview{
  font-family:var(--v27-menu-font);
  font-size:var(--v27-menu-size);
  font-weight:800;
  letter-spacing:.035em;
  line-height:1.45;
  color:#07152c;
}

.v27-headline-preview{
  font-family:var(--v27-headline-font);
  font-size:min(var(--v27-headline-size), 34px);
  font-weight:800;
  line-height:1.12;
  color:#07152c;
}

.v27-subtitle-preview{
  font-family:var(--v27-subtitle-font);
  font-size:var(--v27-subtitle-size);
  line-height:1.35;
  color:#334155;
}

.v27-cardtop-preview{
  font-family:var(--v27-cardtop-font);
  font-size:var(--v27-cardtop-size);
  line-height:1.15;
  color:#111827;
}

.v27-cardmain-preview{
  font-family:var(--v27-cardmain-font);
  font-size:min(var(--v27-cardmain-size), 44px);
  font-weight:800;
  line-height:1;
  color:#111827;
}

.v27-button-preview{
  display:inline-block;
  font-family:var(--v27-button-font);
  font-size:var(--v27-button-size);
  font-weight:800;
  color:var(--green);
}

.v27-font-control select{
  width:100%;
  height:52px;
  border:1px solid #d9d9d9;
  border-radius:8px;
  background:#fff;
  padding:0 16px;
  font-size:16px;
  font-weight:800;
  color:#111;
}

.v27-size-control input[type="number"]{
  width:94px;
  height:52px;
  border:1px solid #d9d9d9;
  border-radius:8px;
  background:#fff;
  text-align:center;
  font-size:19px;
  font-weight:800;
  color:#111;
  padding:0 8px;
}

.v27-style-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:22px;
}

@media(max-width:980px){
  .v27-column-labels{
    display:none;
  }
  .v27-style-row{
    grid-template-columns:1fr;
  }
  .v27-size-control input[type="number"]{
    width:130px;
  }
}

/* Oculta restos visuales del módulo viejo si el navegador tenía caché visual */
.style-admin-grid,
.style-controls,
.style-preview{
  display:none !important;
}


/* ===== V28: aplicación real de estilos en portada y tarjetas ===== */
:root{
  --v28-menu-font: "Inter", "Segoe UI", Arial, sans-serif;
  --v28-menu-size: 14px;
  --v28-headline-font: "Inter", "Segoe UI", Arial, sans-serif;
  --v28-headline-size: 42px;
  --v28-subtitle-font: "Inter", "Segoe UI", Arial, sans-serif;
  --v28-subtitle-size: 18px;
  --v28-cardtop-font: "Cormorant Garamond", Georgia, serif;
  --v28-cardtop-size: 24px;
  --v28-cardmain-font: "Fraunces", Georgia, serif;
  --v28-cardmain-size: 56px;
  --v28-button-font: "Cormorant Garamond", Georgia, serif;
  --v28-button-size: 15px;
}

/* Aplicación pública */
.menu a{
  font-family: var(--v28-menu-font) !important;
  font-size: var(--v28-menu-size) !important;
}

.catalog-reference-head h2{
  font-family: var(--v28-headline-font) !important;
  font-size: var(--v28-headline-size) !important;
}

.catalog-reference-head p{
  font-family: var(--v28-subtitle-font) !important;
  font-size: var(--v28-subtitle-size) !important;
}

.first-course-row .featured-card .course-body h3{
  font-family: var(--v28-cardtop-font) !important;
  font-size: var(--v28-cardtop-size) !important;
}

.first-course-row .featured-card .course-subtitle{
  font-family: var(--v28-cardmain-font) !important;
  font-size: var(--v28-cardmain-size) !important;
}

.first-course-row .featured-card .interest{
  font-family: var(--v28-button-font) !important;
  font-size: var(--v28-button-size) !important;
}

/* Vista previa del panel */
.v27-menu-preview{
  font-family: var(--v28-menu-font) !important;
  font-size: var(--v28-menu-size) !important;
}

.v27-headline-preview{
  font-family: var(--v28-headline-font) !important;
  font-size: min(var(--v28-headline-size), 34px) !important;
}

.v27-subtitle-preview{
  font-family: var(--v28-subtitle-font) !important;
  font-size: var(--v28-subtitle-size) !important;
}

.v27-cardtop-preview{
  font-family: var(--v28-cardtop-font) !important;
  font-size: var(--v28-cardtop-size) !important;
}

.v27-cardmain-preview{
  font-family: var(--v28-cardmain-font) !important;
  font-size: min(var(--v28-cardmain-size), 44px) !important;
}

.v27-button-preview{
  font-family: var(--v28-button-font) !important;
  font-size: var(--v28-button-size) !important;
}


/* ===== V31 ajustes portada, favicon y hero full ===== */
.hero-full{
  min-height: 520px;
  background-size: cover;
  background-position: center center;
  display:flex;
  align-items:flex-end;
  padding: 84px 0 76px;
}
.hero-full-inner{width:min(var(--max), calc(100% - 48px));margin:auto;display:flex;align-items:flex-end;}
.hero-copy{max-width:760px;color:#fff;}
.hero-copy h1{color:#fff;font-size:clamp(40px,5vw,64px);margin:18px 0 12px;max-width:820px;}
.hero-copy p{color:rgba(255,255,255,.92);font-size:20px;line-height:1.55;max-width:700px;margin:0;}
.features-overlap{margin-top:-52px !important;}

/* menos espacio entre tarjetas principales */
.first-course-row{gap:16px !important;max-width:1240px !important;margin:0 auto 46px !important;}
.first-course-row .featured-card{width:95% !important;justify-self:center;min-height:520px !important;border-radius:6px !important;}
.first-course-row .featured-card .thumb{aspect-ratio:400/280 !important;height:auto !important;}
.first-course-row .featured-card .course-body{min-height:212px !important;padding:22px 20px 16px !important;gap:10px !important;}
.first-course-row .featured-card .course-body h3{font-size:24px !important;line-height:1.08 !important;font-family:var(--ui) !important;font-weight:500 !important;letter-spacing:-.01em !important;color:#162238 !important;}
.first-course-row .featured-card .course-subtitle{font-size:42px !important;line-height:.98 !important;min-height:auto !important;margin-top:-2px !important;}
.first-course-row .featured-card .course-card-text{font-family:var(--ui) !important;font-size:14px !important;line-height:1.5 !important;color:#4d596a !important;min-height:42px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.first-course-row .featured-card .card-bottom{padding-top:8px !important;display:flex !important;align-items:center !important;justify-content:space-between !important;gap:12px !important;width:100%;margin-top:auto !important;}
.first-course-row .featured-card .reserve-count{display:inline-flex;align-items:center;gap:6px;border:1px solid #cfd9d3;border-radius:999px;background:#f3f8f4;color:#11673a;font-family:var(--ui);font-size:13px;font-weight:700;padding:7px 12px;white-space:nowrap;}
.first-course-row .featured-card .reserve-count strong{font-size:15px;color:#0b5d33;}
.first-course-row .featured-card .interest{font-family:var(--display) !important;font-size:17px !important;color:var(--green) !important;font-weight:700 !important;margin-left:auto;}
.first-course-row .featured-card .mini-logo{display:none !important;}
.course-extra-text{font-size:17px;line-height:1.6;color:#4c5968;margin-top:-6px;}

@media (max-width:1100px){
  .hero-full{min-height:460px;padding:72px 0 60px;}
  .first-course-row{gap:14px !important;}
  .first-course-row .featured-card{width:96% !important;min-height:500px !important;}
  .first-course-row .featured-card .course-body{min-height:206px !important;padding:20px 18px 16px !important;}
  .first-course-row .featured-card .course-subtitle{font-size:38px !important;}
}
@media (max-width:780px){
  .hero-full{min-height:380px;padding:56px 0 44px;background-position:center center;}
  .hero-copy h1{font-size:34px;}
  .hero-copy p{font-size:17px;}
  .features-overlap{margin-top:-24px !important;}
  .first-course-row .featured-card{width:100% !important;min-height:auto !important;}
  .first-course-row .featured-card .course-body{min-height:0 !important;padding:18px 16px 16px !important;}
  .first-course-row .featured-card .course-subtitle{font-size:34px !important;}
}


/* ===== V32 bloque secundario de cursos ===== */
.rest-course-grid .course-body{
  display:flex;
  flex-direction:column;
  min-height:214px;
}
.rest-course-grid .course-body h3{
  margin:0 0 6px;
}
.rest-course-grid .course-subtitle{
  min-height:auto;
  margin-bottom:8px;
}
.rest-course-grid .course-card-text{
  color:#4f5d6f;
  font-family:var(--ui);
  font-size:14px;
  line-height:1.5;
  margin-top:2px;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:62px;
}
.rest-course-grid .card-bottom{
  margin-top:auto;
  padding-top:14px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}
.v27-subsection-title{
  margin:10px 0 6px;
  padding:16px 18px;
  background:#f7f8fa;
  border:1px dashed #cfd5df;
  border-radius:10px;
}
.v27-subsection-title h4{
  margin:0 0 6px;
  color:#1f2a44;
  font-size:18px;
}
.v27-subsection-title p{
  margin:0;
  color:#667085;
  font-size:14px;
  line-height:1.45;
}
.v27-other-top-preview{font-weight:700;color:#111;}
.v27-other-main-preview{color:#2f3136;line-height:1.15;}
.v27-other-desc-preview{color:#667085;line-height:1.45;max-width:460px;}
.v27-other-button-preview{color:var(--green);font-weight:700;}


/* ===== V33: imágenes del bloque secundario en proporción/tamaño original ===== */
/* Aplica a los cursos que están después de los 3 principales */
.rest-course-grid .ref-card .thumb{
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:auto !important;
  background:#fff !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  overflow:hidden !important;
}

.rest-course-grid .ref-card .thumb img{
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  object-fit:contain !important;
  object-position:center top !important;
  display:block !important;
}

/* Evita que una imagen pequeña se deforme verticalmente */
.rest-course-grid .ref-card{
  align-self:start;
}

/* Mantiene la tarjeta ordenada aunque la imagen tenga otra altura */
.rest-course-grid .ref-card .course-body{
  flex:1;
}


/* ===== V34: espacio dinámico entre título y subtítulo en bloque secundario ===== */
.rest-course-grid .course-body{
  gap: 0 !important;
}
.rest-course-grid .course-body h3{
  margin: 0 0 8px !important;
  min-height: auto !important;
}
.rest-course-grid .course-subtitle{
  display: block;
  margin: 0 0 10px !important;
  min-height: auto !important;
}
.rest-course-grid .course-subtitle:empty{
  display: none !important;
  margin: 0 !important;
}
.rest-course-grid .course-card-text{
  margin-top: 0 !important;
}


/* ===== V35: tarjetas compactas, botón alineado y líneas configurables ===== */
.v27-double-control{display:flex;align-items:flex-start;gap:8px;}
.v27-mini-label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:800;color:#425466;font-family:var(--ui);}
.v27-double-control .v27-mini-label input[type="number"]{width:74px;height:52px;}
.v27-carddesc-preview,.v27-other-desc-preview{max-width:460px;}

.first-course-row{gap:14px !important;}
.rest-course-grid{gap:14px !important;}

.first-course-row .featured-card .course-body,
.rest-course-grid .course-body{display:flex;flex-direction:column;gap:0 !important;}

.first-course-row .featured-card .course-body{min-height:180px !important;padding:18px 18px 14px !important;}
.first-course-row .featured-card .course-body h3{margin:0 0 8px !important;min-height:auto !important;}
.first-course-row .featured-card .course-subtitle{display:block;margin:0 0 10px !important;min-height:auto !important;}
.first-course-row .featured-card .course-subtitle:empty{display:none !important;margin:0 !important;}
.first-course-row .featured-card .course-card-text{margin:0 !important;min-height:0 !important;display:-webkit-box !important;-webkit-line-clamp:var(--featured-desc-lines,2) !important;-webkit-box-orient:vertical !important;overflow:hidden !important;}
.first-course-row .featured-card .card-bottom{padding-top:10px !important;display:flex !important;align-items:center !important;justify-content:space-between !important;gap:10px !important;width:100%;margin-top:auto !important;}
.first-course-row .featured-card .card-bottom > span:empty{display:none !important;}
.first-course-row .featured-card .interest{margin-left:auto !important;display:inline-flex !important;align-items:center !important;line-height:1.1 !important;}

.rest-course-grid .course-body{min-height:168px !important;padding:16px 16px 14px !important;}
.rest-course-grid .course-body h3{margin:0 0 8px !important;min-height:auto !important;}
.rest-course-grid .course-subtitle{display:block;margin:0 0 8px !important;min-height:auto !important;}
.rest-course-grid .course-subtitle:empty{display:none !important;margin:0 !important;}
.rest-course-grid .course-card-text{margin:0 !important;min-height:0 !important;display:-webkit-box !important;-webkit-line-clamp:var(--other-desc-lines,3) !important;-webkit-box-orient:vertical !important;overflow:hidden !important;}
.rest-course-grid .card-bottom{padding-top:10px !important;display:flex !important;align-items:center !important;justify-content:space-between !important;gap:10px !important;width:100%;margin-top:auto !important;}
.rest-course-grid .card-bottom > span:empty{display:none !important;}
.rest-course-grid .interest{margin-left:auto !important;display:inline-flex !important;align-items:center !important;line-height:1.1 !important;}

@media(max-width:980px){
  .v27-double-control{justify-content:flex-start;flex-wrap:wrap;}
}


/* ===== V36: estilos para encabezados de bloques informativos ===== */
.about-section .panel,
.about-panel{
  border-radius:10px;
}
.about-section .badge,
.content-section .badge,
.band .badge{
  letter-spacing:.10em;
}
.about-section h2,
.content-section h2,
.band .panel h2{
  line-height:1.08 !important;
  letter-spacing:-.035em;
}
.about-section p,
.content-section p,
.band .panel p{
  line-height:1.55 !important;
}
.share-label,
.share-inline strong{
  font-weight:800;
  color:#1f2a44;
}
.v27-section-badge-preview{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  border:1px solid rgba(7,134,59,.18);
  background:#eef8f2;
  color:var(--green);
  border-radius:999px;
  padding:6px 12px;
  font-weight:800;
  letter-spacing:.10em;
}
.v27-section-title-preview{
  color:#20345c;
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.03em;
}
.v27-section-text-preview{
  color:#334155;
  line-height:1.45;
  max-width:620px;
}
.v27-share-label-preview{
  color:#1f2a44;
  font-weight:800;
}


/* ===== V37: división entre bloque de 3 cursos y bloque de 4+ cursos ===== */
.course-divider-band{
  margin: 34px 0 26px;
}
.course-divider-band .two{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:28px;
  align-items:stretch;
}
.course-divider-band .panel{
  background:#fff;
  border:1px solid #d9dee8;
  border-radius:12px;
  box-shadow:0 6px 20px rgba(15,23,42,.05);
  padding:38px 40px;
}
.course-divider-band .panel h2{
  margin:8px 0 18px;
}
.course-divider-band .panel p{
  margin:0;
}
.course-divider-band .share-inline{
  margin-top:26px;
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.course-divider-band .social{
  margin-top:24px;
}
.course-divider-band .btn.primary{
  margin-top:22px;
}
@media (max-width: 980px){
  .course-divider-band .two{grid-template-columns:1fr;}
  .course-divider-band .panel{padding:26px 24px;}
}


/* ===== V38: divisor visual oscuro entre bloques de cursos ===== */
.promo-divider{
  position:relative;
  margin:34px 0 28px;
  padding:44px 38px;
  border-radius:28px;
  overflow:hidden;
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:34px;
  color:var(--promo-text,#eef4ff);
  background:
    radial-gradient(circle at 92% 10%, rgba(78,109,197,.26) 0, rgba(78,109,197,.26) 90px, transparent 91px),
    radial-gradient(circle at 20% 110%, rgba(21,82,255,.18) 0, rgba(21,82,255,.18) 180px, transparent 181px),
    linear-gradient(115deg, var(--promo-bg-start,#071c4f) 0%, #02153b 38%, var(--promo-bg-end,#041229) 72%, #071635 100%);
  box-shadow:0 18px 44px rgba(4,13,34,.22);
}
.promo-divider:before{
  content:'';
  position:absolute; inset:0;
  background:
    radial-gradient(circle at 74% 24%, rgba(255,255,255,.07), transparent 22%),
    linear-gradient(135deg, transparent 58%, rgba(76,121,255,.08) 58%, rgba(76,121,255,.08) 59%, transparent 59%),
    linear-gradient(160deg, transparent 68%, rgba(76,121,255,.06) 68%, rgba(76,121,255,.06) 69%, transparent 69%);
  pointer-events:none;
}
.promo-copy, .promo-cards{position:relative; z-index:1;}
.promo-copy{
  display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
  padding:18px 10px 18px 6px;
}
.promo-divider .badge{
  display:inline-flex; align-items:center; gap:10px;
  padding:12px 22px; border:1px solid rgba(99,146,255,.32);
  border-radius:999px; background:rgba(6,18,45,.28); color:var(--promo-badge,#65f3ba);
  text-transform:uppercase; letter-spacing:.05em; font-weight:800;
}
.promo-copy h2{
  margin:28px 0 16px; max-width:560px;
  font-size:clamp(38px,4.1vw,72px); line-height:.96; letter-spacing:-.04em;
  color:var(--promo-title,#ffffff); font-weight:800;
}
.promo-line{display:block; width:68px; height:6px; border-radius:999px; background:var(--promo-accent,#63f0c3); margin:0 0 22px;}
.promo-copy p{
  max-width:540px; color:rgba(233,241,255,.86); font-size:19px; line-height:1.65; margin:0 0 28px;
}
.promo-link{
  color:var(--promo-accent,#63f0c3); font-weight:800; text-decoration:none; font-size:18px; display:inline-flex; gap:10px; align-items:center;
}
.promo-link span{font-size:28px; line-height:1; transform:translateY(-1px);}
.promo-cards{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px; align-content:center;
}
.promo-course-card{
  background:linear-gradient(180deg, rgba(255,255,255,.11), rgba(255,255,255,.07));
  border:1px solid rgba(159,182,255,.22); border-radius:22px; padding:12px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.promo-thumb{display:block; aspect-ratio:1.1/1; overflow:hidden; border-radius:18px; background:#0c1732;}
.promo-thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.promo-card-copy{padding:18px 8px 10px;}
.promo-card-copy h3{margin:0 0 10px; color:#fff; font-size:24px; line-height:1.05; font-weight:800;}
.promo-card-copy p{margin:0; color:rgba(231,239,255,.82); font-size:15px; line-height:1.45;}
@media (max-width: 1180px){
  .promo-divider{grid-template-columns:1fr; gap:26px;}
}
@media (max-width: 860px){
  .promo-divider{padding:28px 22px; border-radius:22px;}
  .promo-cards{grid-template-columns:1fr;}
  .promo-copy h2{font-size:38px;}
  .promo-copy p{font-size:16px;}
}


/* ===== V39: mantenimiento del bloque de reservaciones de portada ===== */
#tab-portada .form-grid label strong{
  color:#1f2a44;
  font-size:18px;
}
#tab-portada textarea#reservationText{
  min-height:100px;
}


/* ===== V41: portada con imagen editable desde el CMS ===== */
.hero-full{
  min-height:560px;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}
.hero-copy{
  max-width:760px;
}
.hero-copy .badge{
  background:rgba(255,255,255,.08);
  border-color:rgba(99,240,195,.35);
  color:#63f0c3;
}
.hero-copy h1{
  color:#fff !important;
  text-shadow:0 10px 32px rgba(0,0,0,.28);
}
.hero-copy p{
  color:rgba(255,255,255,.9) !important;
}
@media(max-width:780px){
  .hero-full{
    min-height:420px;
    background-position:center center !important;
  }
}


/* ===== V42: portada nueva visible y sin depender de datos viejos ===== */
.hero-full{
  min-height:620px !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}
.hero-copy{
  max-width:760px !important;
}
.hero-copy h1{
  color:#fff !important;
  font-size:clamp(46px,5.8vw,78px) !important;
  line-height:1.02 !important;
  text-shadow:0 16px 42px rgba(0,0,0,.34);
}
.hero-copy p{
  color:rgba(255,255,255,.92) !important;
  font-size:21px !important;
}
.hero-copy .badge{
  background:rgba(255,255,255,.08) !important;
  border-color:rgba(99,240,195,.36) !important;
  color:#63f0c3 !important;
}


/* ===== V43: portada limpia, sin textos encima ===== */
.hero-clean,
.hero-full.hero-clean{
  min-height:620px !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  display:block !important;
  padding:0 !important;
}
.hero-clean .hero-copy,
.hero-clean .hero-full-inner,
.hero-clean h1,
.hero-clean p,
.hero-clean .badge{
  display:none !important;
}
.hero-maintenance-title{
  background:#f4fbf7;
  border:1px solid #cdebd9;
  border-radius:10px;
  padding:16px !important;
}
.hero-maintenance-title strong{
  color:#0f7f44;
  display:block;
  font-size:18px;
}
.hero-maintenance-title small{
  display:block;
  margin-top:6px;
  color:#516070;
}

/* ===== V44 COMPLETO: portada limpia y editable desde CMS ===== */
.hero-clean,.hero-full.hero-clean{
  min-height:620px !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  display:block !important;
  padding:0 !important;
}
.hero-clean .hero-copy,.hero-clean .hero-full-inner,.hero-clean h1,.hero-clean p,.hero-clean .badge{
  display:none !important;
}
.hero-maintenance-title{
  background:#f4fbf7;
  border:1px solid #cdebd9;
  border-radius:10px;
  padding:16px !important;
}
.hero-maintenance-title strong{
  color:#0f7f44;
  display:block;
  font-size:18px;
}
.hero-maintenance-title small{
  display:block;
  margin-top:6px;
  color:#516070;
}

/* V45: reducir 50% encabezados del módulo Cursos publicados */
.admin-section#tab-cursos .panel h2{font-size:21px !important;line-height:1.15 !important;margin-bottom:14px !important;}

/* ===== V46: mantenimiento de los 4 cuadros amarillos ===== */
.feature-maintenance-title{
  background:#fff8dc;
  border:1px solid #efd36a;
  border-radius:10px;
  padding:16px !important;
}
.feature-maintenance-title strong{
  display:block;
  color:#1f2a44;
  font-size:18px;
}
.feature-maintenance-title small{
  display:block;
  color:#665400;
  margin-top:6px;
}
.feature-editor-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.feature-edit-card{
  background:#fff;
  border:1px solid #ddd5b8;
  border-radius:12px;
  padding:16px;
  display:grid;
  gap:10px;
}
.feature-edit-card h3{
  font-family:var(--ui);
  font-size:18px;
  margin:0;
  color:#1f2a44;
}
.feature-edit-card label{
  display:grid;
  gap:6px;
  font-weight:700;
}
.feature-edit-card input,
.feature-edit-card textarea{
  border:1px solid var(--line);
  border-radius:8px;
  padding:10px;
  font:inherit;
}
.feature-edit-card textarea{
  min-height:90px;
}
.feature-color-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.feature-color-row input[type="color"]{
  height:42px;
  padding:4px;
}
.feature-mini-preview{
  border-radius:10px;
  padding:14px;
  min-height:140px;
}
.feature-mini-icon{
  font-size:28px;
  margin-bottom:10px;
}
.feature-mini-preview strong{
  display:block;
  font-size:16px;
  line-height:1.25;
  margin-bottom:8px;
}
.feature-mini-preview p{
  margin:0;
  font-size:14px;
  line-height:1.45;
}
@media(max-width:900px){
  .feature-editor-grid{grid-template-columns:1fr;}
  .feature-color-row{grid-template-columns:1fr;}
}

/* ===== V47: bloques de portada y footer profesional editable ===== */
.admin-help{
  color:#667085;
  line-height:1.5;
  margin-top:-8px;
  margin-bottom:18px;
}
.footer-admin-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.footer-admin-section{
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:18px;
}
.footer-admin-section h3,
.footer-preview-admin h3{
  font-family:var(--ui);
  font-size:20px;
  color:#1f2a44;
  margin:0 0 14px;
}
.footer-columns-editor{
  display:grid;
  gap:14px;
  margin-top:16px;
}
.footer-column-edit{
  border:1px dashed #cfd6df;
  border-radius:10px;
  padding:14px;
  background:#f8fafc;
}
.footer-column-edit h4{
  margin:0 0 10px;
  color:#1f2a44;
  font-size:16px;
}
.footer-column-edit label{
  display:grid;
  gap:6px;
  font-weight:700;
  margin-bottom:10px;
}
.footer-column-edit input,
.footer-column-edit textarea{
  border:1px solid var(--line);
  border-radius:8px;
  padding:10px;
  font:inherit;
}
.footer-column-edit textarea{
  min-height:120px;
}
.footer-preview-admin{
  grid-column:1/-1;
  border:1px solid var(--line);
  border-radius:12px;
  padding:18px;
  background:#fff;
}
.site-footer-pro,
.footer-pro{
  background:var(--footer-bg,#1f2230);
  color:var(--footer-link,#f2f4f8);
}
.footer-pro{
  padding:44px 0 0;
}
.footer-pro.preview-mode{
  padding:26px 24px 0;
  border-radius:12px;
  overflow:hidden;
}
.footer-columns{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:46px;
  padding-bottom:44px;
}
.footer-col h3{
  font-family:var(--ui);
  font-size:var(--footer-title-size,17px);
  color:var(--footer-title,#fff);
  margin:0 0 20px;
  font-weight:800;
  letter-spacing:.01em;
}
.footer-col a{
  display:block;
  color:var(--footer-link,#f2f4f8);
  font-size:var(--footer-link-size,16px);
  line-height:1.45;
  margin:0 0 13px;
}
.footer-bottom-pro{
  border-top:1px solid var(--footer-border,#6d7280);
  color:var(--footer-bottom,#fff);
  display:grid;
  grid-template-columns:auto auto 1fr auto;
  gap:28px;
  align-items:center;
  padding:24px 0;
  font-size:var(--footer-bottom-size,16px);
}
.footer-brand-word{
  font-size:30px;
  font-weight:900;
  letter-spacing:-.04em;
}
.footer-cookie{
  text-align:center;
}
@media(max-width:1000px){
  .footer-admin-grid{grid-template-columns:1fr;}
  .footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;}
  .footer-bottom-pro{grid-template-columns:1fr;gap:12px;text-align:left;}
  .footer-cookie{text-align:left;}
}
@media(max-width:620px){
  .footer-columns{grid-template-columns:1fr;}
}

/* ===== V48: Admin uniforme, acordeones y menú activo ===== */
.admin-layout{
  align-items:start;
}
.admin-menu{
  border-radius:14px !important;
  padding:22px !important;
}
.admin-menu .btn,
.admin-menu a.btn{
  width:100%;
  min-height:58px;
  border-radius:12px !important;
  justify-content:flex-start;
  padding:16px 20px !important;
  font-size:18px !important;
  font-weight:800 !important;
  letter-spacing:.01em;
  margin-bottom:10px !important;
  background:#fff;
  color:#1f2a44;
  border:1px solid var(--line);
}
.admin-menu .btn.primary,
.admin-menu .btn.is-active{
  background:var(--green) !important;
  border-color:var(--green) !important;
  color:#fff !important;
}
.admin-section .panel,
.admin-section .v27-style-module{
  border-radius:14px !important;
  border:1px solid #d8dde8 !important;
  box-shadow:0 8px 24px rgba(15,23,42,.035);
}
.admin-section .panel h2,
.admin-section .v27-style-head h2,
.admin-section > .panel > h2{
  font-family:var(--ui) !important;
  font-size:32px !important;
  line-height:1.15 !important;
  letter-spacing:-.02em !important;
  font-weight:800 !important;
  color:#1f2a44 !important;
  margin:0 0 14px !important;
}
.admin-section .panel p,
.admin-section .v27-style-head p,
.admin-help{
  font-size:16px !important;
  line-height:1.55 !important;
  color:#667085 !important;
  margin-bottom:18px !important;
}
.admin-section label{
  color:#1f2a44;
  font-size:15px;
  font-weight:800;
}
.admin-section input,
.admin-section textarea,
.admin-section select{
  font-size:16px !important;
  font-weight:600;
}
.cms-accordion{
  padding:0 !important;
  overflow:hidden;
}
.cms-accordion-head{
  width:100%;
  border:0;
  background:#fff;
  padding:22px 26px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  text-align:left;
  border-bottom:1px solid transparent;
}
.cms-accordion-head strong{
  display:block;
  color:#1f2a44;
  font-size:26px;
  line-height:1.15;
  font-weight:850;
  letter-spacing:-.02em;
}
.cms-accordion-head small{
  display:block;
  margin-top:5px;
  color:#667085;
  font-size:14px;
  line-height:1.4;
  font-weight:600;
}
.cms-accordion-head b{
  width:42px;
  height:42px;
  border-radius:999px;
  background:#eef8f2;
  color:var(--green);
  display:grid;
  place-items:center;
  font-size:26px;
  line-height:1;
}
.cms-accordion.open .cms-accordion-head{
  border-bottom-color:#e3e7ef;
  background:#fbfcfe;
}
.cms-accordion-body{
  display:none;
  padding:24px 26px 28px;
}
.cms-accordion.open .cms-accordion-body{
  display:block;
}
.cms-accordion-body > h2,
.cms-accordion-body > .v27-style-head{
  display:none !important;
}
#tab-cursos .two{
  gap:18px;
}
#tab-cursos .panel h2,
#tab-reservas .panel h2,
#tab-datos .panel h2{
  font-size:32px !important;
}
@media(max-width:900px){
  .cms-accordion-head strong{font-size:22px;}
  .admin-menu .btn,.admin-menu a.btn{font-size:16px !important;}
}

/* ===== V49: footer visual mejorado, detalles internos y banner editable ===== */
.cms-accordion,.cms-ready{
  padding:26px !important;
  overflow:visible !important;
}
.cms-accordion-head{
  display:none !important;
}
.cms-accordion-body{
  display:block !important;
  padding:0 !important;
}
.cms-accordion-body > h2,
.cms-accordion-body > .v27-style-head{
  display:block !important;
}
.cms-details{
  border:1px solid #dce3ee;
  border-radius:14px;
  background:#fff;
  margin:14px 0;
  overflow:hidden;
}
.cms-details summary{
  cursor:pointer;
  list-style:none;
  padding:18px 22px;
  background:#f8fafc;
  color:#1f2a44;
  font-size:20px;
  font-weight:850;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.cms-details summary::-webkit-details-marker{display:none;}
.cms-details summary:after{
  content:"+";
  width:34px;
  height:34px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#eef8f2;
  color:var(--green);
  font-size:24px;
}
.cms-details[open] summary:after{content:"−";}
.cms-details > .form-grid,
.cms-details > .footer-columns-editor,
.cms-details > .admin-help,
.cms-details > #footerAdminPreview{
  padding:20px 22px 24px;
}
.site-footer-pro{
  background:var(--footer-bg,#171b2a);
}
.footer-pro{
  padding:54px 0 0;
}
.footer-columns{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:52px;
  padding-bottom:52px;
}
.footer-col h3{
  color:var(--footer-title,#fff);
  font-size:var(--footer-title-size,17px);
  font-weight:850;
  margin:0 0 22px;
  letter-spacing:.01em;
}
.footer-col a{
  color:var(--footer-link,#e9edf7);
  display:block;
  font-size:var(--footer-link-size,16px);
  line-height:1.45;
  margin:0 0 13px;
  opacity:.94;
  transition:opacity .15s ease, transform .15s ease;
}
.footer-col a:hover{
  opacity:1;
  transform:translateX(3px);
  text-decoration:underline;
}
.footer-bottom-pro{
  border-top:1px solid var(--footer-border,rgba(255,255,255,.22));
  color:var(--footer-bottom,#fff);
  display:grid;
  grid-template-columns:auto auto 1fr auto;
  gap:30px;
  align-items:center;
  padding:26px 0;
  font-size:var(--footer-bottom-size,15px);
}
.footer-brand-word{
  color:var(--footer-bottom,#fff);
  font-size:34px;
  font-weight:950;
  letter-spacing:-.045em;
}
.footer-cookie{
  text-align:center;
  color:var(--footer-bottom,#fff);
}
.footer-lang{
  justify-self:end;
}
.footer-pro.preview-mode{
  padding:30px 26px 0;
  border-radius:16px;
  overflow:hidden;
}
.footer-column-edit textarea{
  font-family:ui-monospace, SFMono-Regular, Consolas, monospace;
  min-height:150px;
}
.promo-divider{
  background:
    radial-gradient(circle at 92% 10%, rgba(78,109,197,.26) 0, rgba(78,109,197,.26) 90px, transparent 91px),
    radial-gradient(circle at 20% 110%, rgba(21,82,255,.18) 0, rgba(21,82,255,.18) 180px, transparent 181px),
    linear-gradient(115deg, var(--promo-bg-start,#071c4f) 0%, #02153b 38%, var(--promo-bg-end,#041229) 72%, #071635 100%) !important;
}
.promo-copy h2{color:var(--promo-title,#fff) !important;}
.promo-copy p{color:var(--promo-text,rgba(233,241,255,.88)) !important;}
.promo-divider .badge{color:var(--promo-badge,#63f0c3) !important;}
.promo-line{background:var(--promo-accent,#63f0c3) !important;}
.promo-link{color:var(--promo-accent,#63f0c3) !important;}
@media(max-width:1000px){
  .footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;}
  .footer-bottom-pro{grid-template-columns:1fr;gap:12px;}
  .footer-cookie{text-align:left;}
  .footer-lang{justify-self:start;}
}
@media(max-width:620px){
  .footer-columns{grid-template-columns:1fr;}
}

/* ===== V50: editor columnas banner y páginas legales ===== */
.promo-items-editor{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  padding:20px 22px 24px;
}
.promo-item-edit{
  border:1px solid #dce3ee;
  border-radius:14px;
  padding:14px;
  background:#f8fafc;
  display:grid;
  gap:10px;
}
.promo-item-edit h4{
  margin:0;
  color:#1f2a44;
  font-size:18px;
}
.promo-item-edit label{
  display:grid;
  gap:6px;
}
.promo-item-edit input,
.promo-item-edit textarea{
  border:1px solid var(--line);
  border-radius:8px;
  padding:10px;
  font:inherit;
}
.promo-item-edit textarea{
  min-height:100px;
}
.promo-item-preview{
  border-radius:12px;
  background:#17243a;
  color:#fff;
  padding:12px;
  min-height:210px;
}
.promo-item-preview img{
  width:100%;
  height:90px;
  object-fit:cover;
  border-radius:10px;
  display:block;
  margin-bottom:12px;
}
.promo-item-preview strong{
  display:block;
  font-size:18px;
  margin-bottom:8px;
}
.promo-item-preview p{
  margin:0;
  color:#dce5f6;
  line-height:1.35;
}
.page-panel h1{
  font-family:var(--ui);
  font-size:clamp(36px,5vw,58px);
  font-weight:850;
  color:#1f2a44;
  margin:18px 0;
}
.page-panel p{
  font-size:20px;
  line-height:1.75;
  max-width:960px;
}
.sitemap-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:28px 0;
}
.sitemap-list a{
  border:1px solid var(--line);
  border-radius:10px;
  padding:14px 16px;
  background:#fff;
  color:#1f2a44;
  font-weight:800;
}
@media(max-width:900px){
  .promo-items-editor{grid-template-columns:1fr;}
  .sitemap-list{grid-template-columns:1fr;}
}

/* ===== V51: barra común tipo Udemy para páginas legales/footer ===== */
.legal-topbar{background:#fff !important;height:84px;border-top:8px solid #d8f3f4;border-bottom:1px solid #e3e6ec;}
.legal-topbar .logo{width:170px;}
.legal-menu-top{align-items:center;gap:28px;font-weight:500;letter-spacing:0;font-size:16px;}
.legal-menu-top a{padding:0;color:#353849;font-weight:500;}
.legal-menu-top a:after{display:none;}
.legal-search{display:flex;align-items:center;gap:10px;min-width:360px;max-width:460px;flex:1;border:1px solid #9aa0b5;border-radius:999px;padding:10px 16px;background:#fff;}
.legal-search input{border:0;outline:0;font:inherit;width:100%;color:#353849;}
.legal-search span{color:#7b8192;font-size:22px;}
.legal-layout{display:grid;grid-template-columns:360px minmax(0,1fr);min-height:calc(100vh - 84px);background:#fff;}
.legal-sidebar{border-right:1px solid #d9dde7;background:#fff;position:sticky;top:84px;align-self:start;height:calc(100vh - 84px);overflow:auto;}
.legal-sidebar-title{min-height:150px;display:flex;align-items:center;gap:18px;padding:32px 26px;border-bottom:1px solid #d9dde7;color:#24263a;}
.legal-sidebar-title strong{font-size:26px;line-height:1.1;font-weight:850;}
.legal-mark{color:#7c3aed;font-size:34px;font-weight:900;}
.legal-side-group{border-bottom:1px solid #e7e9ef;}
.legal-side-group summary{cursor:pointer;list-style:none;padding:22px 30px;font-size:19px;font-weight:850;color:#24263a;display:flex;justify-content:space-between;align-items:center;}
.legal-side-group summary::-webkit-details-marker{display:none;}
.legal-side-group summary:after{content:"⌄";font-size:22px;}
.legal-side-group[open] summary:after{content:"⌃";}
.legal-side-group nav{padding:0 0 16px;}
.legal-side-group a{display:block;padding:13px 32px;color:#2f3142;font-size:18px;line-height:1.35;}
.legal-side-group a:hover,.legal-side-group a.active{background:#f4f5f8;color:#0b6d3c;font-weight:800;}
.legal-content{padding:42px 56px 80px;max-width:1040px;}
.legal-back{display:inline-flex;font-size:38px;color:#24263a;margin-bottom:18px;}
.legal-content h1{font-family:var(--ui);font-size:clamp(36px,5vw,58px);font-weight:850;color:#23263a;letter-spacing:-.035em;margin:20px 0 28px;}
.legal-content h2{font-family:var(--ui);font-size:28px;color:#23263a;font-weight:850;margin:34px 0 12px;}
.legal-content p{font-size:20px;line-height:1.75;color:#34384b;margin:0 0 20px;}
.legal-content .badge{background:#f1fff7;color:#0b7a43;}
@media(max-width:1100px){.legal-menu-top{gap:14px}.legal-search{min-width:240px}.legal-layout{grid-template-columns:300px minmax(0,1fr)}}
@media(max-width:860px){.legal-topbar{height:auto;padding:12px 0}.legal-topbar .nav{flex-wrap:wrap}.legal-menu-top{width:100%;flex-wrap:wrap}.legal-search{min-width:100%;order:5}.legal-layout{grid-template-columns:1fr}.legal-sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid #d9dde7}.legal-sidebar-title{min-height:auto}.legal-content{padding:32px 24px 60px}}

/* ===== V52: menú lateral legal limpio, sin encabezados de grupos ===== */
.legal-sidebar-clean .legal-sidebar-title{
  min-height:120px;
}
.legal-flat-nav{
  padding:10px 0 24px;
}
.legal-flat-nav a{
  display:block;
  padding:15px 30px;
  color:#2f3142;
  font-size:18px;
  line-height:1.35;
  border-bottom:1px solid #f0f1f4;
}
.legal-flat-nav a:hover,
.legal-flat-nav a.active{
  background:#f4f5f8;
  color:#0b6d3c;
  font-weight:850;
}
.legal-sidebar-clean .legal-side-group{
  display:none !important;
}

/* ===== V55: ajustes de estilo fijo solicitados ===== */

/* 1) Los tres cursos principales: 20% menos espacio entre uno y otro */
.first-course-row{
  gap:18px !important;
}

/* 2) Banner central: menos borde redondeado en las 3 columnitas */
.promo-course-card{
  border-radius:12px !important;
}
.promo-course-card .promo-thumb,
.promo-thumb{
  border-radius:10px !important;
}
.promo-course-card img{
  border-radius:10px !important;
}

/* 3) Segundo bloque de cursos: 4 en 4, más limpio y uniforme */
.rest-course-grid{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:22px !important;
  align-items:stretch !important;
}
.rest-course-grid .course-card{
  border-radius:10px !important;
  overflow:hidden !important;
  background:#fff !important;
  box-shadow:0 8px 22px rgba(15,23,42,.06) !important;
  border:1px solid #d9dee8 !important;
}
.rest-course-grid .thumb{
  aspect-ratio:600/360 !important;
  height:auto !important;
  background:#f7f9fb !important;
}
.rest-course-grid .thumb img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
.rest-course-grid .course-body{
  min-height:210px !important;
  padding:24px 24px 22px !important;
  display:flex !important;
  flex-direction:column !important;
}
.rest-course-grid .course-body h3{
  margin:0 0 10px !important;
  line-height:1.08 !important;
}
.rest-course-grid .course-subtitle{
  margin-bottom:14px !important;
  line-height:1.18 !important;
}
.rest-course-grid .course-card-text{
  margin-top:0 !important;
  line-height:1.45 !important;
}
.rest-course-grid .card-bottom{
  margin-top:auto !important;
}

/* 4) Encabezados de los tres bloques de abajo: 30% menos */
#nosotros .panel h2,
#contacto .reservation-heading h2{
  font-size:calc(var(--section-title-effective, 48px) * .70) !important;
}
#nosotros .panel h2{
  line-height:1.05 !important;
}
#contacto .reservation-heading h2{
  line-height:1.08 !important;
}

/* Fallback directo por si el CMS inyecta valores grandes */
#nosotros .panel h2{
  max-font-size:42px;
  font-size:clamp(28px, 3vw, 42px) !important;
}
#contacto .reservation-heading h2{
  font-size:clamp(28px, 3vw, 42px) !important;
}

/* 5) Línea inferior del footer en una sola línea */
.footer-bottom-pro{
  grid-template-columns:auto auto auto auto !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:24px !important;
  white-space:nowrap !important;
  padding:20px 0 !important;
}
.footer-bottom-pro > *{
  white-space:nowrap !important;
}
.footer-cookie{
  text-align:center !important;
}
.footer-lang{
  justify-self:end !important;
}

/* 6) Reducir interlineado del menú del pie de página */
.footer-col h3{
  margin-bottom:14px !important;
  line-height:1.12 !important;
}
.footer-col a{
  margin-bottom:8px !important;
  line-height:1.22 !important;
}
.footer-columns{
  gap:42px !important;
  padding-bottom:34px !important;
}

/* Mejor responsive */
@media(max-width:1100px){
  .rest-course-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
  .footer-bottom-pro{
    grid-template-columns:1fr !important;
    justify-content:start !important;
    white-space:normal !important;
    gap:8px !important;
  }
  .footer-bottom-pro > *{
    white-space:normal !important;
  }
  .footer-lang{
    justify-self:start !important;
  }
}
@media(max-width:620px){
  .first-course-row,
  .rest-course-grid{
    grid-template-columns:1fr !important;
  }
}

/* ===== V56: línea final del footer al pie absoluto de la página ===== */
.site-footer-pro,
.footer-pro{
  padding-bottom:0 !important;
}
.footer-pro{
  display:flex !important;
  flex-direction:column !important;
}
.footer-columns{
  padding-bottom:34px !important;
}
.footer-bottom-pro{
  margin-top:auto !important;
  width:100% !important;
  border-top:1px solid var(--footer-border,rgba(255,255,255,.22)) !important;
  padding:18px 0 18px !important;
  display:grid !important;
  grid-template-columns:auto auto auto auto !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:28px !important;
  white-space:nowrap !important;
}
.footer-bottom-pro > *{
  white-space:nowrap !important;
}
.footer-brand-word{
  line-height:1 !important;
}
.footer-cookie{
  text-align:center !important;
}
.footer-lang{
  justify-self:end !important;
}

/* En páginas con poco contenido, empuja el footer al final visual */
body{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
main{
  flex:1 0 auto;
}
footer{
  flex-shrink:0;
}

@media(max-width:900px){
  .footer-bottom-pro{
    grid-template-columns:1fr !important;
    justify-content:start !important;
    gap:8px !important;
    white-space:normal !important;
  }
  .footer-bottom-pro > *{
    white-space:normal !important;
  }
  .footer-lang{
    justify-self:start !important;
  }
}

/* ===== V57: ajustes finales solicitados ===== */

/* Encabezados: bajar 40% */
#nosotros .panel h2,
#contacto .reservation-heading h2{
  font-size:clamp(22px, 2.35vw, 36px) !important;
  line-height:1.08 !important;
}

/* Cuatro cuadros amarillos: siempre en una fila en escritorio y un poco más compactos */
.features-shell{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:18px !important;
}
.feature-yellow{
  min-height:300px !important;
  padding:34px 32px !important;
}
.feature-icon{
  font-size:30px !important;
  margin-bottom:18px !important;
}
.feature-yellow h3{
  font-size:20px !important;
  line-height:1.25 !important;
  margin-bottom:22px !important;
}
.feature-yellow p{
  font-size:18px !important;
  line-height:1.55 !important;
}

/* Logo real blanco en el footer final */
.footer-logo-link{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  text-decoration:none !important;
}
.footer-logo-link img{
  width:220px !important;
  max-height:58px !important;
  object-fit:contain !important;
  display:block !important;
}
.footer-logo-link span{
  display:none !important;
}

/* Línea final del footer verdaderamente al final */
.footer-bottom-pro{
  margin-top:28px !important;
  align-items:center !important;
}

/* Reducir aún más interlineado del menú del footer */
.footer-col h3{
  margin-bottom:10px !important;
  line-height:1.08 !important;
}
.footer-col a{
  line-height:1.12 !important;
  margin-bottom:6px !important;
}

/* Restaurar menú original agrupado en páginas legales */
.legal-sidebar-clean .legal-side-group{
  display:block !important;
}
.legal-flat-nav{
  display:none !important;
}

@media(max-width:1180px){
  .features-shell{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}
@media(max-width:640px){
  .features-shell{
    grid-template-columns:1fr !important;
  }
  .feature-yellow{
    min-height:auto !important;
  }
  .footer-logo-link img{
    width:180px !important;
  }
}

/* ===== V58: placeholders/demo mucho más claros en todos los formularios ===== */
input::placeholder,
textarea::placeholder,
.reserve-form input::placeholder,
.reserve-form textarea::placeholder,
.form-grid input::placeholder,
.form-grid textarea::placeholder,
.admin-section input::placeholder,
.admin-section textarea::placeholder,
.contact-form input::placeholder,
.contact-form textarea::placeholder{
  color:#b8c0cc !important;
  opacity:1 !important;
  font-weight:500 !important;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder{
  color:#b8c0cc !important;
  opacity:1 !important;
  font-weight:500 !important;
}

input::-moz-placeholder,
textarea::-moz-placeholder{
  color:#b8c0cc !important;
  opacity:1 !important;
  font-weight:500 !important;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder{
  color:#b8c0cc !important;
  opacity:1 !important;
  font-weight:500 !important;
}

/* También bajamos un poco el peso visual de campos vacíos y ayudas */
.reserve-form input,
.reserve-form textarea,
.form-grid input,
.form-grid textarea{
  color:#1f2a44;
}

.reserve-form select{
  color:#1f2a44;
}

/* ===== V59: menos espacio entre bloques inferiores y sin redondeo en imágenes del banner ===== */

/* Reducir aproximadamente 50% el espacio entre el bloque Sobre nosotros/Contacto y el formulario */
#nosotros.band{
  padding-bottom:18px !important;
}
#contacto.reservation-section,
section#contacto{
  padding-top:18px !important;
}
#nosotros + #contacto,
#nosotros + .reservation-section{
  margin-top:0 !important;
}
.band + .reservation-section,
.band + section#contacto{
  margin-top:0 !important;
}

/* También compactar el espacio interno cuando estos bloques estén cerca */
#nosotros .two{
  margin-bottom:0 !important;
}
.reservation-unified{
  margin-top:0 !important;
}

/* Quitar bordes redondeados a las tres imágenes del banner central */
.promo-course-card .promo-thumb,
.promo-thumb,
.promo-course-card .promo-thumb img,
.promo-course-card img,
.promo-cards img{
  border-radius:0 !important;
}

/* Mantener las tarjetas del banner con menos redondeo, pero las imágenes totalmente rectas */
.promo-course-card{
  border-radius:10px !important;
  overflow:hidden !important;
}


/* ===== V60 footer 4 columnas + viñetas + Google for Education ===== */
.footer-columns{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:38px !important;
  align-items:start;
}
.footer-col a{
  position:relative;
  padding-left:14px;
}
.footer-col a::before{
  content:"•";
  position:absolute;
  left:0;
  top:0;
  color:var(--footer-link,#e9edf7);
  opacity:.95;
}
.footer-col-gfe{
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
}
.footer-gfe-box{
  min-height:100%;
  padding-top:2px;
}
.gfe-wrap{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
}
.gfe-google{
  font-family:Arial, Helvetica, sans-serif;
  font-weight:700;
  font-size:30px;
  letter-spacing:-0.03em;
  line-height:1;
}
.gfe-sub{
  margin-top:8px;
  font-family:Arial, Helvetica, sans-serif;
  font-size:20px;
  color:#ffffff;
  font-weight:500;
  line-height:1.15;
}
.g-blue{color:#4285F4;}
.g-red{color:#EA4335;}
.g-yellow{color:#FBBC05;}
.g-green{color:#34A853;}

@media(max-width:1200px){
  .footer-columns{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:700px){
  .footer-columns{
    grid-template-columns:1fr !important;
  }
}


/* ===== V61 logo real para Google Workspace for Education en footer ===== */
.footer-columns{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
.footer-col.google-education-col{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.footer-col.google-education-col h3{
  margin-bottom:12px;
}
.google-education-footer-logo{
  display:block;
  width:100%;
  max-width:260px;
  height:auto;
  object-fit:contain;
  border-radius:0;
  background:transparent;
}
@media(max-width:1200px){
  .footer-columns{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:700px){
  .footer-columns{
    grid-template-columns:1fr !important;
  }
}


/* ===== V64: footer limpio con 4 columnas, sin quinta columna duplicada ===== */
.footer-columns{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}


/* ===== V65: limpieza, seguridad visual y estabilización ===== */

/* Variables base normalizadas */
:root{
  --pymes-green:#0b7a43;
  --pymes-green-2:#118c52;
  --pymes-dark:#171b2a;
  --pymes-line:#d9dee8;
  --pymes-muted:#667085;
}

/* Formularios: consistencia, placeholders claros y honeypot oculto */
.hp-field{
  position:absolute !important;
  left:-99999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}
input::placeholder,
textarea::placeholder{
  color:#c3cad5 !important;
  opacity:1 !important;
  font-weight:500 !important;
}
input:focus,
textarea:focus,
select:focus{
  outline:3px solid rgba(11,122,67,.18) !important;
  border-color:var(--pymes-green) !important;
}

/* Botones más consistentes */
.btn,
button.btn,
.reserve-form button{
  border-radius:10px !important;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease !important;
}
.btn:hover,
button.btn:hover,
.reserve-form button:hover{
  transform:translateY(-1px);
}

/* Tarjetas de cursos más estables */
.course-card,
.featured-card,
.promo-course-card,
.feature-yellow{
  backface-visibility:hidden;
}
.rest-course-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
.first-course-row{
  gap:18px !important;
}

/* Cuatro cuadros amarillos: mantener 4 columnas en escritorio, compactos */
.features-shell{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
}
.feature-yellow{
  min-height:280px !important;
  padding:30px 28px !important;
}
.feature-yellow h3{
  font-size:20px !important;
  line-height:1.24 !important;
}
.feature-yellow p{
  font-size:17px !important;
  line-height:1.45 !important;
}

/* Banner central: imágenes sin redondeo y columnas consistentes */
.promo-course-card .promo-thumb,
.promo-course-card img,
.promo-cards img{
  border-radius:0 !important;
}
.promo-course-card{
  border-radius:10px !important;
}

/* Footer: 4 columnas limpias, viñetas solo en enlaces */
.footer-columns{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:34px !important;
}
.footer-col h3::before{
  content:none !important;
}
.footer-col a{
  position:relative;
  padding-left:14px;
  line-height:1.14 !important;
  margin-bottom:6px !important;
}
.footer-col a::before{
  content:"•";
  position:absolute;
  left:0;
  top:0;
  color:var(--footer-link,#e9edf7);
}
.footer-bottom-pro{
  grid-template-columns:auto auto auto auto !important;
  justify-content:space-between !important;
  align-items:center !important;
  white-space:nowrap !important;
}

/* Accesibilidad básica */
a:focus-visible,
button:focus-visible{
  outline:3px solid rgba(11,122,67,.35) !important;
  outline-offset:3px !important;
}

/* Responsive más estable */
@media(max-width:1180px){
  .rest-course-grid,
  .features-shell,
  .footer-columns{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:760px){
  .first-course-row,
  .rest-course-grid,
  .features-shell,
  .footer-columns{
    grid-template-columns:1fr !important;
  }
  .footer-bottom-pro{
    grid-template-columns:1fr !important;
    white-space:normal !important;
    gap:8px !important;
  }
  .legal-layout{
    grid-template-columns:1fr !important;
  }
  .admin-layout{
    grid-template-columns:1fr !important;
  }
}


/* ===== V66 form + footer adjustments ===== */
.reserve-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.reserve-form label{display:flex;flex-direction:column;gap:8px;font-weight:700;min-width:0}
.reserve-form .full-field,
.reserve-form .notes-field,
.reserve-form button{grid-column:1 / -1}
.reserve-form textarea{width:100%;min-height:116px;resize:vertical}
.site-footer-pro{display:block !important;visibility:visible !important;opacity:1 !important}
.site-footer-pro .footer-pro{display:block !important}
.footer.site-footer-pro{margin-top:36px}
@media(max-width:760px){
  .reserve-form{grid-template-columns:1fr}
  .reserve-form .full-field,
  .reserve-form .notes-field,
  .reserve-form button{grid-column:auto}
}


/* ===== V67: publicación base + formulario refinado ===== */
.reserve-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 28px;
  grid-template-areas:
    'course course'
    'name phone'
    '. email'
    'notes notes'
    'button button';
  align-items:start;
}
.reserve-form .course-field{grid-area:course}
.reserve-form .name-field{grid-area:name}
.reserve-form .phone-field{grid-area:phone}
.reserve-form .email-field{grid-area:email; justify-self:stretch}
.reserve-form .notes-field{grid-area:notes}
.reserve-form button{grid-area:button}
.reserve-form label{min-width:0}
.reserve-form textarea{width:100%; min-height:150px}
.reserve-form .email-field input{width:100%}
.footer.site-footer-pro{margin-top:34px}
@media(max-width:760px){
  .reserve-form{
    grid-template-columns:1fr;
    grid-template-areas:
      'course'
      'name'
      'phone'
      'email'
      'notes'
      'button';
    gap:16px;
  }
}


/* ===== V68: restauración de footer + menor espacio entre secciones ===== */
/* Garantizar visibilidad consistente del footer */
.site-footer-pro{display:block !important; margin-top:28px !important;}

/* Reducir ~30% los espacios verticales entre secciones */
.section{padding:31px 0 52px;}
.catalog-reference{padding-top:24px;}
.catalog-reference-head{margin:0 auto 26px;}
.first-course-row{margin:0 auto 39px;}
#nosotros.section{padding-top:22px; padding-bottom:44px;}
#contacto.section{padding-top:22px; padding-bottom:44px;}
.two{gap:20px;}
.features-overlap{padding-bottom:10px;}
.promo-divider{margin:24px 0 18px;}
.reservation-unified{gap:28px; padding:30px 34px;}

/* Reducir ~30% los encabezados señalados */
#nosotros .panel h2,
.reservation-heading h2{
  font-size:24px !important;
  line-height:1.1 !important;
  margin-bottom:10px !important;
}
#nosotros .panel .badge,
.reservation-heading .badge{margin-bottom:8px;}

/* Ajustes responsive relacionados */
@media (max-width:1100px){
  .section{padding:28px 0 44px;}
  .reservation-unified{gap:22px; padding:26px 28px;}
}
@media (max-width:780px){
  .section{padding:24px 0 36px;}
  #nosotros .panel h2,
  .reservation-heading h2{font-size:21px !important;}
  .two{gap:16px;}
}


/* ===== V69: corrección visible solicitada ===== */

/* RESTAURAR FOOTER: evitar que .footer .container lo convierta en flex lateral */
footer.site-footer-pro,
.footer.site-footer-pro{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:100% !important;
  clear:both !important;
  background:var(--footer-bg,#1f2230) !important;
  color:var(--footer-link,#f2f4f8) !important;
  border-top:0 !important;
  padding:0 !important;
  margin-top:24px !important;
}
footer.site-footer-pro > .container.footer-pro,
.footer.site-footer-pro > .container.footer-pro,
.site-footer-pro .footer-pro{
  display:block !important;
  max-width:1200px !important;
  width:min(1200px, calc(100% - 48px)) !important;
  margin:0 auto !important;
  padding:40px 0 0 !important;
}
.site-footer-pro .footer-columns{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:34px !important;
  padding-bottom:34px !important;
}
.site-footer-pro .footer-col h3{
  font-family:var(--ui) !important;
  color:var(--footer-title,#fff) !important;
  font-size:var(--footer-title-size,17px) !important;
  margin:0 0 16px !important;
  font-weight:900 !important;
}
.site-footer-pro .footer-col a{
  display:block !important;
  position:relative !important;
  padding-left:14px !important;
  margin:0 0 7px !important;
  line-height:1.18 !important;
  color:var(--footer-link,#f2f4f8) !important;
  font-size:var(--footer-link-size,16px) !important;
}
.site-footer-pro .footer-col a::before{
  content:"•" !important;
  position:absolute !important;
  left:0 !important;
}
.site-footer-pro .footer-bottom-pro{
  display:grid !important;
  grid-template-columns:auto auto auto auto !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:22px !important;
  border-top:1px solid var(--footer-border,rgba(255,255,255,.22)) !important;
  padding:18px 0 !important;
  color:var(--footer-bottom,#fff) !important;
  white-space:nowrap !important;
}
.site-footer-pro .footer-logo-link img{
  width:220px !important;
  max-height:58px !important;
  object-fit:contain !important;
}
.site-footer-pro .footer-logo-link span{display:none !important;}
.site-footer-pro .google-education-footer-logo{
  max-width:230px !important;
  width:100% !important;
  height:auto !important;
  display:block !important;
  border-radius:0 !important;
}

/* Reducir 30% REAL el espacio vertical entre secciones señaladas */
body section.section,
body .section{
  padding-top:31px !important;
  padding-bottom:52px !important;
}
body section#nosotros.section.band{
  padding-top:16px !important;
  padding-bottom:30px !important;
}
body section#contacto.section{
  padding-top:16px !important;
  padding-bottom:34px !important;
}
body .catalog-reference{
  padding-top:24px !important;
}
body .catalog-reference-head{
  margin-bottom:25px !important;
}
body .first-course-row{
  margin-bottom:39px !important;
}
body .promo-divider{
  margin-top:24px !important;
  margin-bottom:18px !important;
}

/* Reducir 30% REAL los encabezados marcados, venciendo el estilo dinámico */
html body section#nosotros.section.band .container.two .panel h2,
html body #nosotros .panel h2,
html body section#contacto .reservation-heading h2{
  font-size:24px !important;
  line-height:1.12 !important;
  letter-spacing:-0.015em !important;
  margin:8px 0 10px !important;
}

/* Mantener el formulario con Notas ancho completo y correo a la derecha */
html body .reserve-form{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:18px 28px !important;
  grid-template-areas:
    "course course"
    "name phone"
    ". email"
    "notes notes"
    "button button" !important;
}
html body .reserve-form .course-field{grid-area:course !important;}
html body .reserve-form .name-field{grid-area:name !important;}
html body .reserve-form .phone-field{grid-area:phone !important;}
html body .reserve-form .email-field{grid-area:email !important;}
html body .reserve-form .notes-field{grid-area:notes !important;}
html body .reserve-form button{grid-area:button !important;}
html body .reserve-form textarea{width:100% !important;min-height:145px !important;}

@media(max-width:900px){
  .site-footer-pro .footer-columns{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .site-footer-pro .footer-bottom-pro{grid-template-columns:1fr !important;white-space:normal !important;}
}
@media(max-width:760px){
  html body .reserve-form{
    grid-template-columns:1fr !important;
    grid-template-areas:
      "course"
      "name"
      "phone"
      "email"
      "notes"
      "button" !important;
  }
  html body section#nosotros.section.band .container.two .panel h2,
  html body #nosotros .panel h2,
  html body section#contacto .reservation-heading h2{
    font-size:21px !important;
  }
}
@media(max-width:620px){
  .site-footer-pro .footer-columns{grid-template-columns:1fr !important;}
}


/* ===== V70: correo debajo del nombre + footer activo ===== */

/* FORMULARIO */
html body .reserve-form{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:18px 40px !important;
  grid-template-areas:
    "course course"
    "name phone"
    "email ."
    "notes notes"
    "button button" !important;
}
html body .reserve-form .course-field{grid-area:course !important;}
html body .reserve-form .name-field{grid-area:name !important;}
html body .reserve-form .phone-field{grid-area:phone !important;}
html body .reserve-form .email-field{grid-area:email !important;}
html body .reserve-form .notes-field{
  grid-area:notes !important;
  width:100% !important;
}
html body .reserve-form textarea{
  width:100% !important;
  min-height:200px !important;
}
html body .reserve-form button{
  grid-area:button !important;
}
html body .reserve-form label{
  width:100% !important;
}

/* FOOTER ACTIVADO Y VISIBLE */
footer[data-footer],
.footer.site-footer-pro,
.site-footer-pro{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:100% !important;
  clear:both !important;
  background:#1f2230 !important;
  color:#f2f4f8 !important;
  margin-top:26px !important;
}
footer[data-footer] .footer-pro,
.site-footer-pro .footer-pro{
  display:block !important;
  width:min(1200px, calc(100% - 48px)) !important;
  margin:0 auto !important;
  padding:38px 0 0 !important;
}
.site-footer-pro .footer-columns{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
  gap:30px !important;
  padding-bottom:28px !important;
}
.site-footer-pro .footer-col,
.site-footer-pro .footer-col-gfe{
  display:block !important;
}
.site-footer-pro .footer-col h3,
.site-footer-pro .footer-col-gfe h3{
  color:#ffffff !important;
  font-size:17px !important;
  margin:0 0 14px !important;
  font-weight:900 !important;
}
.site-footer-pro .footer-col a{
  display:block !important;
  color:#f2f4f8 !important;
  text-decoration:none !important;
  line-height:1.2 !important;
  margin:0 0 8px !important;
  padding-left:14px !important;
  position:relative !important;
}
.site-footer-pro .footer-col a::before{
  content:"•" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
}
.site-footer-pro .google-education-footer-logo{
  display:block !important;
  width:100% !important;
  max-width:220px !important;
  height:auto !important;
}
.site-footer-pro .footer-bottom-pro{
  display:grid !important;
  grid-template-columns:auto 1fr auto auto !important;
  align-items:center !important;
  gap:20px !important;
  border-top:1px solid rgba(255,255,255,.18) !important;
  padding:16px 0 18px !important;
  color:#fff !important;
}
.site-footer-pro .footer-logo-link{
  display:flex !important;
  align-items:center !important;
}
.site-footer-pro .footer-logo-link img{
  width:220px !important;
  max-height:56px !important;
  object-fit:contain !important;
}
.site-footer-pro .footer-logo-link span{
  display:none !important;
}
.site-footer-pro .footer-copy,
.site-footer-pro .footer-cookie,
.site-footer-pro .footer-lang{
  color:#fff !important;
  font-size:15px !important;
  text-decoration:none !important;
}

@media (max-width: 900px){
  html body .reserve-form{
    grid-template-columns:1fr !important;
    grid-template-areas:
      "course"
      "name"
      "phone"
      "email"
      "notes"
      "button" !important;
  }
  .site-footer-pro .footer-columns{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
  .site-footer-pro .footer-bottom-pro{
    grid-template-columns:1fr !important;
    justify-items:start !important;
  }
}
@media (max-width: 620px){
  .site-footer-pro .footer-columns{
    grid-template-columns:1fr !important;
  }
}

/* ===== V71: FOOTER ESTÁTICO ACTIVADO - NO DEPENDE DE JS ===== */
.footer-static-v71,
footer.footer-static-v71,
body .footer-static-v71{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:100% !important;
  clear:both !important;
  background:#1f2230 !important;
  color:#f2f4f8 !important;
  border-top:0 !important;
  padding:0 !important;
  margin:38px 0 0 !important;
  position:relative !important;
  z-index:5 !important;
}
.footer-static-v71 .footer-pro{
  display:block !important;
  width:min(1200px, calc(100% - 48px)) !important;
  max-width:1200px !important;
  margin:0 auto !important;
  padding:42px 0 0 !important;
}
.footer-static-v71 .footer-columns{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:36px !important;
  padding:0 0 34px !important;
}
.footer-static-v71 .footer-col{
  display:block !important;
  min-width:0 !important;
}
.footer-static-v71 .footer-col h3{
  font-family:var(--ui,"Inter","Segoe UI",Arial,sans-serif) !important;
  font-size:17px !important;
  line-height:1.25 !important;
  color:#ffffff !important;
  font-weight:900 !important;
  margin:0 0 16px !important;
  letter-spacing:.01em !important;
}
.footer-static-v71 .footer-col a{
  display:block !important;
  color:#f2f4f8 !important;
  text-decoration:none !important;
  font-size:16px !important;
  line-height:1.25 !important;
  margin:0 0 8px !important;
  padding-left:14px !important;
  position:relative !important;
}
.footer-static-v71 .footer-col a::before{
  content:"•" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  color:#f2f4f8 !important;
}
.footer-static-v71 .footer-col a:hover{
  color:#ffffff !important;
  text-decoration:underline !important;
}
.footer-static-v71 .google-education-footer-logo{
  display:block !important;
  width:100% !important;
  max-width:230px !important;
  height:auto !important;
  border-radius:0 !important;
  margin-top:4px !important;
}
.footer-static-v71 .footer-bottom-pro{
  display:grid !important;
  grid-template-columns:auto 1fr auto auto !important;
  align-items:center !important;
  gap:20px !important;
  border-top:1px solid rgba(255,255,255,.20) !important;
  padding:18px 0 !important;
  color:#fff !important;
}
.footer-static-v71 .footer-logo-link{
  display:flex !important;
  align-items:center !important;
}
.footer-static-v71 .footer-logo-link img{
  width:220px !important;
  max-height:56px !important;
  object-fit:contain !important;
}
.footer-static-v71 .footer-copy,
.footer-static-v71 .footer-cookie,
.footer-static-v71 .footer-lang{
  color:#ffffff !important;
  font-size:15px !important;
  text-decoration:none !important;
}
.footer-static-v71 .footer-cookie:hover{
  text-decoration:underline !important;
}

/* V71: Correo electrónico debajo del nombre */
html body .reserve-form{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:18px 40px !important;
  grid-template-areas:
    "course course"
    "name phone"
    "email ."
    "notes notes"
    "button button" !important;
}
html body .reserve-form .course-field{grid-area:course !important;}
html body .reserve-form .name-field{grid-area:name !important;}
html body .reserve-form .phone-field{grid-area:phone !important;}
html body .reserve-form .email-field{grid-area:email !important;}
html body .reserve-form .notes-field{grid-area:notes !important;}
html body .reserve-form button{grid-area:button !important;}
html body .reserve-form textarea{width:100% !important;min-height:200px !important;}

@media(max-width:900px){
  .footer-static-v71 .footer-columns{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .footer-static-v71 .footer-bottom-pro{
    grid-template-columns:1fr !important;
    justify-items:start !important;
    white-space:normal !important;
  }
  html body .reserve-form{
    grid-template-columns:1fr !important;
    grid-template-areas:
      "course"
      "name"
      "phone"
      "email"
      "notes"
      "button" !important;
  }
}
@media(max-width:620px){
  .footer-static-v71 .footer-columns{
    grid-template-columns:1fr !important;
  }
}


/* ===== V73: footer inferior 40% menor + Google for Education optimizado ===== */
.footer-static-v71 .footer-bottom-pro{
  padding:12px 0 !important;
  gap:12px !important;
}
.footer-static-v71 .footer-logo-link img{
  width:132px !important;
  max-height:34px !important;
}
.footer-static-v71 .footer-copy,
.footer-static-v71 .footer-cookie,
.footer-static-v71 .footer-lang{
  font-size:9px !important;
  line-height:1.2 !important;
}
.footer-static-v71 .google-education-footer-logo{
  display:block !important;
  width:100% !important;
  max-width:240px !important;
  height:auto !important;
  background:#1f2230 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}
@media(max-width:900px){
  .footer-static-v71 .footer-logo-link img{width:110px !important; max-height:28px !important;}
  .footer-static-v71 .footer-copy,
  .footer-static-v71 .footer-cookie,
  .footer-static-v71 .footer-lang{font-size:10px !important;}
}

/* ===== V74: subir 30% texto inferior del footer ===== */
.footer-static-v71 .footer-copy,
.footer-static-v71 .footer-cookie,
.footer-static-v71 .footer-lang{
  font-size:12px !important;
  line-height:1.25 !important;
}
@media(max-width:900px){
  .footer-static-v71 .footer-copy,
  .footer-static-v71 .footer-cookie,
  .footer-static-v71 .footer-lang{
    font-size:12px !important;
  }
}



/* ===== FASE 1E CMS: adaptación PHP dinámica sobre diseño HTML V74 ===== */
body{background:var(--bg,#f1f0ee);}
.topbar .container.nav{width:min(var(--max),calc(100% - 48px));margin:auto;}
.course-card .course-body{display:flex!important;}
.featured-card .course-body{display:none!important;}
.featured-card .thumb{aspect-ratio:600/875;height:auto!important;background:#fff;}
.featured-card .thumb img{object-fit:contain!important;background:#fff;}
.ref-card .course-card-text{
  color:#384252;
  line-height:1.38;
  margin-top:6px;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.reserve-count{font-size:13px;color:#667085;}
.course-detail-hero{
  padding:42px 0 30px;
}
.course-detail-wrap{
  display:grid;
  grid-template-columns:1fr 390px;
  gap:28px;
  align-items:start;
}
.course-detail-card,
.course-reservation-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
  padding:28px;
}
.course-detail-card .detail-img{
  width:100%;
  max-height:620px;
  object-fit:contain;
  background:#fff;
  border:1px solid var(--line);
  border-radius:6px;
  margin:18px 0;
}
.course-detail-card h1{
  font-size:clamp(42px,5vw,64px);
}
.course-facts{
  list-style:none;
  margin:20px 0 0;
  padding:0;
  display:grid;
  gap:10px;
}
.course-facts li{
  border-top:1px solid var(--line);
  padding-top:10px;
}
.course-reservation-card{
  position:sticky;
  top:92px;
}
.course-reservation-card .reserve-form{
  grid-template-columns:1fr!important;
  grid-template-areas:
    "course"
    "name"
    "phone"
    "email"
    "notes"
    "button"!important;
}
.course-reservation-card .reserve-form .course-field,
.course-reservation-card .reserve-form .name-field,
.course-reservation-card .reserve-form .phone-field,
.course-reservation-card .reserve-form .email-field,
.course-reservation-card .reserve-form .notes-field,
.course-reservation-card .reserve-form button{grid-column:auto!important;grid-area:auto!important;}
.course-reservation-card .reserve-form textarea{min-height:130px!important;}

/* Admin CMS adaptado al estilo del paquete HTML */
.admin-cms-page .topbar{position:sticky;}
.admin-cms-wrap{
  width:min(1420px,calc(100% - 48px));
  margin:0 auto;
}
.admin-layout-real{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:24px;
  align-items:start;
}
.admin-menu-real{
  position:sticky;
  top:92px;
}
.admin-menu-real .btn{
  width:100%;
  justify-content:flex-start;
  margin-bottom:8px;
  text-align:left;
}
.admin-menu-real .btn.active{
  background:var(--green);
  color:#fff;
}
.admin-content-real h1{
  font-size:clamp(42px,5vw,64px);
  margin-bottom:20px;
}
.admin-card-grid{
  display:grid;
  grid-template-columns:minmax(440px,.9fr) minmax(520px,1.1fr);
  gap:24px;
  align-items:start;
}
.cms-fieldset{
  border:1px solid var(--line);
  border-radius:10px;
  padding:16px;
  margin:0 0 16px;
}
.cms-fieldset legend{
  font-weight:900;
  color:#243a63;
  padding:0 8px;
}
.cms-course-list{
  display:grid;
  gap:12px;
}
.cms-course-row{
  display:grid;
  grid-template-columns:68px 1fr auto;
  gap:14px;
  align-items:center;
  border:1px solid var(--line);
  border-radius:10px;
  padding:12px;
  background:#fafafa;
}
.cms-course-thumb{
  width:68px;
  height:82px;
  border-radius:8px;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  display:grid;
  place-items:center;
}
.cms-course-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.cms-course-thumb span{
  font-size:30px;
  font-weight:900;
  color:#243a63;
}
.cms-course-row h3{
  margin:0 0 4px;
  font-size:20px;
  line-height:1.1;
}
.cms-course-row p{
  margin:0 0 7px;
  color:#667085;
}
.cms-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  font-size:12px;
  font-weight:900;
  color:#667085;
}
.cms-actions{
  display:grid;
  gap:6px;
  justify-items:end;
}
.cms-actions button{
  border:0;
  background:transparent;
  color:#b91c1c;
  font-weight:900;
  cursor:pointer;
}
.form-grid-admin{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.form-grid-admin .span2{grid-column:1/-1;}
.form-grid-admin label{
  display:grid;
  gap:6px;
  font-weight:800;
}
.form-grid-admin input,
.form-grid-admin textarea,
.form-grid-admin select{
  border:1px solid var(--line);
  border-radius:8px;
  padding:11px;
  font:inherit;
  background:#fff;
}
.form-grid-admin textarea{min-height:110px;}
.admin-note{
  color:#667085;
  margin-top:-10px;
}
.inline-delete{display:inline;}
.inline-delete button{font:inherit;}
@media(max-width:1100px){
  .course-detail-wrap,
  .admin-layout-real,
  .admin-card-grid{grid-template-columns:1fr;}
  .course-reservation-card,
  .admin-menu-real{position:relative;top:auto;}
  .cms-course-row{grid-template-columns:58px 1fr;}
  .cms-actions{grid-column:1/-1;display:flex;justify-content:flex-end;}
}


/* Fase 1G: bloque secundario de cursos en 4 columnas */
.rest-course-grid-four{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:22px!important;
  margin-top:32px!important;
}
.rest-course-grid-four .course-card .thumb{
  min-height:150px;
}
.rest-course-grid-four .course-card .thumb img{
  object-fit:contain;
  background:#fff;
  padding:10px;
}
@media(max-width:1100px){
  .rest-course-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:700px){
  .rest-course-grid-four{grid-template-columns:1fr!important;}
}


/* Fase 1H: página de curso vuelve a estructura de curso.html */
.course-v74-hero{
  background:linear-gradient(135deg,#071c4f,#041229);
  color:#fff;
}
.course-v74-hero h1,
.course-v74-hero p{color:#fff;}
.course-v74-hero .hero-img img{
  width:100%;
  max-height:560px;
  object-fit:contain;
  background:#fff;
  border-radius:14px;
  padding:10px;
}
.course-extra-text{
  opacity:.92;
  font-weight:700;
}
.main-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:24px;
  align-items:start;
}
.main-grid .side{
  position:sticky;
  top:92px;
}
.module{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:14px;
  padding:16px 0;
  border-bottom:1px solid var(--line,#ddd);
}
.module .num{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#e9f8ef;
  color:#0b7a43;
  font-weight:900;
}
.facts{
  list-style:none;
  padding:0;
  margin:0;
}
.facts li{
  border-bottom:1px solid var(--line,#ddd);
  padding:10px 0;
}
.rest-course-grid-four{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:22px!important;
  margin-top:32px!important;
}
.rest-course-grid-four .course-card .thumb img{
  object-fit:contain!important;
  background:#fff!important;
  padding:10px!important;
}
@media(max-width:1100px){
  .main-grid{grid-template-columns:1fr;}
  .main-grid .side{position:relative;top:auto;}
  .rest-course-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:700px){
  .rest-course-grid-four{grid-template-columns:1fr!important;}
}

.promo-course-card .promo-thumb img{object-fit:cover!important}.features-shell .feature-yellow{min-height:220px}


/* Fase 3C */
.course-count-public{
  display:inline-flex;
  background:#e8f7ee;
  color:#08733b;
  border-radius:999px;
  padding:8px 14px;
  font-weight:900;
  margin-top:8px!important;
}


/* ===== Fase 3M: últimos cambios consolidados frontend ===== */
.feature-icon-img{max-width:56px;max-height:56px;object-fit:contain;display:inline-block;}
.feature-icon-emoji{font-size:30px;line-height:1;}
.footer-admin-provisional{margin-top:18px;text-align:center;opacity:.65;font-size:12px;}
.footer-admin-provisional a{color:inherit;text-decoration:none;}
.footer-admin-provisional a:hover{text-decoration:underline;}
.course-v74-hero .actions .btn.secondary,
.course-v74-hero .actions .btn:not(.primary){
  background:#ffffff!important;
  color:#071c4f!important;
  border:1px solid rgba(255,255,255,.85)!important;
  font-weight:700!important;
  min-width:220px;
}


/* ===== FASE 3N: portada de cursos + responsive base ===== */
.catalog-reference{overflow:hidden;}
.course-grid-shell{display:block;width:100%;}
.first-course-row{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:24px !important;max-width:1220px !important;margin:0 auto 42px !important;align-items:stretch !important;}
.first-course-row .featured-card{width:100% !important;min-height:0 !important;border-radius:8px !important;}
.first-course-row .featured-card .course-body{min-height:230px !important;padding:22px 20px 18px !important;}
.first-course-row .featured-card .course-body h3{font-family:var(--ui) !important;font-size:24px !important;line-height:1.12 !important;font-weight:650 !important;color:#172233 !important;min-height:0 !important;}
.first-course-row .featured-card .course-subtitle{font-family:var(--ui) !important;font-size:15px !important;line-height:1.35 !important;font-weight:700 !important;color:var(--green) !important;min-height:0 !important;text-transform:uppercase;letter-spacing:.04em;}
.first-course-row .featured-card .course-card-text{font-size:15px !important;line-height:1.5 !important;color:#445066 !important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.rest-course-grid-four{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:22px !important;align-items:stretch;}
.rest-course-grid-four .course-card{min-height:430px;}
.rest-course-grid-four .course-body h3{min-height:54px;}
.promo-divider{margin:20px auto 44px !important;}
@media(max-width:1100px){
  .rest-course-grid-four{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .first-course-row{gap:18px !important;}
}
@media(max-width:900px){
  .first-course-row{grid-template-columns:1fr !important;max-width:640px !important;}
  .first-course-row .featured-card .course-body{min-height:auto !important;}
  .rest-course-grid-four{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .promo-divider{grid-template-columns:1fr !important;}
}
@media(max-width:640px){
  .container{width:min(100% - 28px,var(--max)) !important;}
  .rest-course-grid-four{grid-template-columns:1fr !important;}
  .rest-course-grid-four .course-card{min-height:auto;}
  .course-body h3,.rest-course-grid-four .course-body h3{min-height:0 !important;}
  .catalog-reference-head h2{font-size:34px !important;line-height:1.05 !important;}
  .catalog-reference-head p{font-size:16px !important;line-height:1.55 !important;}
}


/* ===== Fase 3P: responsive real y navegabilidad pública ===== */
.mobile-menu-toggle{display:none;border:0;background:transparent;width:44px;height:44px;margin-left:auto;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;border-radius:10px;}
.mobile-menu-toggle span{display:block;width:24px;height:2px;background:#1f2328;border-radius:99px;transition:transform .2s ease, opacity .2s ease;}
body.menu-open .mobile-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
body.menu-open .mobile-menu-toggle span:nth-child(2){opacity:0;}
body.menu-open .mobile-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.course-breadcrumb-wrap{background:#f7f6f4;border-bottom:1px solid var(--line);}
.course-breadcrumb{display:flex;gap:9px;align-items:center;padding:12px 0;font-size:14px;color:#586273;flex-wrap:wrap;}
.course-breadcrumb a{color:var(--green);font-weight:600;}
.course-breadcrumb strong{color:#17223a;font-weight:600;}
@media(max-width:1180px){
  .container{width:min(var(--max),calc(100% - 36px));}
  .menu{gap:22px;font-size:13px;}
  .logo{width:210px;}
  .first-course-row .featured-card{width:100%!important;}
  .first-course-row .featured-card .course-subtitle{font-size:clamp(38px,5vw,50px)!important;}
}
@media(max-width:900px){
  .topbar{height:auto;min-height:68px;position:sticky;}
  .nav{position:relative;min-height:68px;gap:12px;}
  .logo{width:190px;height:48px;}
  .mobile-menu-toggle{display:inline-flex;}
  .menu{display:none;position:absolute;top:100%;left:0;right:0;margin:0;background:#fff;border:1px solid var(--line);border-radius:0 0 16px 16px;box-shadow:0 18px 34px rgba(23,32,58,.12);padding:10px;z-index:99;}
  body.menu-open .menu{display:flex;flex-direction:column;gap:0;}
  .menu a{display:block;padding:15px 16px;border-bottom:1px solid #eef0f3;}
  .menu a:last-child{border-bottom:0;}
  .menu a:after{display:none;}
  .social{display:none;}
  .section{padding:34px 0 52px;}
  .hero-style.hero-full{min-height:360px!important;background-size:cover!important;background-position:center!important;}
  .features-overlap{margin-top:0!important;}
  .features-shell{grid-template-columns:1fr 1fr!important;padding:14px!important;gap:14px!important;}
  .feature-yellow{padding:22px 18px!important;min-height:auto!important;}
  .feature-yellow h3{font-size:16px!important;margin-bottom:10px!important;}
  .feature-yellow p{font-size:15px!important;line-height:1.45!important;}
  .catalog-reference-head h2{font-size:clamp(32px,8vw,44px)!important;}
  .catalog-reference-head p{font-size:16px!important;}
  .first-course-row{grid-template-columns:1fr!important;max-width:620px!important;margin-bottom:34px!important;}
  .first-course-row .featured-card{min-height:auto!important;}
  .first-course-row .featured-card .course-body{min-height:auto!important;padding:24px 20px 18px!important;}
  .first-course-row .featured-card .course-body h3{font-size:22px!important;min-height:0!important;}
  .first-course-row .featured-card .course-subtitle{font-size:clamp(36px,10vw,48px)!important;line-height:1!important;}
  .promo-divider{grid-template-columns:1fr!important;padding:28px 22px!important;border-radius:20px!important;}
  .promo-copy h2{font-size:clamp(30px,8vw,44px)!important;}
  .promo-cards{grid-template-columns:1fr!important;}
  .rest-course-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;}
  .rest-course-grid-four .course-card{min-height:auto!important;}
  .course-body h3,.rest-course-grid-four .course-body h3{min-height:0!important;font-size:23px!important;}
  .two,.main-grid,.hero-grid{grid-template-columns:1fr!important;}
  .hero-img img{height:auto!important;max-height:440px!important;}
  .side{position:relative!important;top:auto!important;}
  .reservation-unified{grid-template-columns:1fr!important;padding:26px 20px!important;gap:22px!important;}
  .reservation-form-wrap .reserve-form,.reserve-form{grid-template-columns:1fr!important;}
  .reservation-form-wrap .reserve-form label,.reservation-form-wrap .reserve-form button,.reserve-form label,.reserve-form button{grid-column:1/-1!important;grid-row:auto!important;}
  .site-footer-pro .footer-bottom-pro{grid-template-columns:1fr!important;text-align:left!important;gap:14px!important;}
}
@media(max-width:620px){
  .container{width:calc(100% - 28px)!important;}
  .logo{width:168px;}
  .hero-style.hero-full{min-height:300px!important;}
  .features-shell{grid-template-columns:1fr!important;}
  .rest-course-grid-four{grid-template-columns:1fr!important;}
  .course-card{min-height:auto!important;}
  .thumb{height:auto!important;aspect-ratio:16/10;}
  .panel{padding:20px!important;}
  .panel h2{font-size:clamp(28px,9vw,38px)!important;}
  .actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  .btn{width:100%;}
  .course-v74-hero{padding-top:24px!important;}
  .course-v74-hero h1{font-size:clamp(34px,11vw,48px)!important;}
  .course-v74-hero p{font-size:16px!important;line-height:1.55!important;}
  .footer-static-v71 .footer-columns,.site-footer-pro .footer-columns{grid-template-columns:1fr!important;gap:20px!important;}
}


/* ===== Fase 3Q: búsqueda pública, WhatsApp y navegación pendiente ===== */
.catalog-tools{
  max-width:980px;
  margin:0 auto 28px;
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(210px,.38fr) auto;
  gap:12px;
  align-items:center;
}
.catalog-tools input,
.catalog-tools select{
  width:100%;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  padding:13px 14px;
  font:inherit;
  color:var(--text);
}
.course-count-public{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 14px;
  border-radius:999px;
  background:#eef8f2;
  color:var(--green);
  font-weight:750;
  white-space:nowrap;
}
.btn.whatsapp,
.whatsapp-inline,
.floating-whatsapp{
  background:#128c4a;
  color:#fff!important;
  border-color:#128c4a!important;
}
.whatsapp-inline{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  margin-top:12px;
  padding:13px 18px;
  border-radius:8px;
  font-weight:750;
}
.floating-whatsapp{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:45;
  padding:13px 18px;
  border-radius:999px;
  box-shadow:0 12px 28px rgba(18,140,74,.26);
  font-weight:800;
}
.mobile-sticky-reserve{display:none;}
@media(max-width:900px){
  .catalog-tools{grid-template-columns:1fr;max-width:640px;}
  .floating-whatsapp{bottom:76px;right:12px;padding:11px 14px;font-size:14px;}
  .mobile-sticky-reserve{
    display:flex;
    position:fixed;
    left:12px;
    right:12px;
    bottom:12px;
    z-index:46;
    align-items:center;
    justify-content:center;
    min-height:48px;
    background:var(--green);
    color:#fff!important;
    border-radius:999px;
    box-shadow:0 12px 28px rgba(7,134,59,.28);
    font-weight:800;
  }
  body{padding-bottom:72px;}
}
@media(max-width:520px){
  .catalog-tools{margin-bottom:20px;}
  .course-count-public{width:100%;}
}

/* Fase 3R: imagen 2 de curso en proporción vertical 630x750 */
.course-v74-hero .hero-img{
  max-width:630px;
  aspect-ratio:630 / 750;
  justify-self:end;
  display:grid;
  place-items:center;
  background:#fff;
}
.course-v74-hero .hero-img img{
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:cover!important;
  padding:0!important;
  border-radius:12px!important;
}
@media(max-width:900px){
  .course-v74-hero .hero-img{
    justify-self:center;
    width:min(100%,630px);
    max-height:none;
  }
}


/* ===== Fase 3U: detalle de curso, imagen 630x750, navegación y responsive fino ===== */
.course-v74-hero{background:#061743;color:#fff;padding:52px 0 42px!important;}
.course-v74-hero .hero-grid{grid-template-columns:minmax(0,1fr) minmax(340px,630px)!important;gap:52px!important;align-items:center!important;}
.course-v74-hero .course-hero-copy{max-width:760px;}
.course-v74-hero h1{font-size:clamp(44px,5.6vw,82px)!important;line-height:.98!important;color:#fff!important;margin:22px 0 18px!important;}
.course-v74-hero h1 span{font-weight:400!important;}
.course-v74-hero p{max-width:720px;color:#fff!important;font-size:clamp(17px,1.5vw,22px)!important;line-height:1.55!important;margin:0 0 14px!important;}
.course-v74-hero .course-extra-text{font-weight:500;opacity:.92;}
.course-v74-hero .course-actions{justify-content:flex-start!important;margin-top:30px!important;}
.course-v74-hero .course-detail-image{width:100%;max-width:630px;aspect-ratio:630/750;border-radius:8px!important;background:#fff!important;border:0!important;padding:0!important;box-shadow:0 18px 45px rgba(0,0,0,.14);}
.course-v74-hero .course-detail-image img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;border-radius:8px!important;}
.course-jump-nav{position:sticky;top:72px;z-index:8;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.course-jump-nav .container{display:flex;gap:8px;align-items:center;overflow:auto;padding:10px 0;scrollbar-width:none;}
.course-jump-nav .container::-webkit-scrollbar{display:none;}
.course-jump-nav a{white-space:nowrap;border:1px solid #d9dee8;border-radius:999px;padding:9px 14px;font-size:14px;font-weight:650;color:#0f1c2f;background:#fff;}
.course-jump-nav a:hover{border-color:var(--green);color:var(--green);}
.course-detail-section{padding-top:32px!important;}
.course-outcomes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:8px;}
.outcome-item{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:14px;border:1px solid #e1e6ee;border-radius:12px;background:#fbfcfe;}
.outcome-item span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#ecf9f1;color:var(--green);font-weight:800;}
.outcome-item p{margin:0;line-height:1.45;color:#2f3a4a;}
.reserve-intro{margin-top:-4px;color:#5b6677;line-height:1.55;}
.course-side-card .side-reserve-btn{width:100%;margin-top:18px;}
.related-courses-section{padding-top:20px!important;background:#f6f5f2;}
.compact-head{margin-bottom:24px!important;}
.compact-head h2{font-size:clamp(32px,4vw,48px)!important;}
.related-course-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.related-card{min-height:390px;}
.course-empty-state{margin:24px auto 0;max-width:760px;text-align:center;background:#fff;border:1px dashed #cfd7e6;border-radius:14px;padding:22px;color:#536070;font-weight:650;}
.catalog-tools input,.catalog-tools select{min-height:52px;}
.rest-course-grid-four .course-card{min-height:410px;}
.rest-course-grid-four .course-body h3{min-height:auto;}
@media(max-width:1100px){
  .course-v74-hero .hero-grid{grid-template-columns:1fr minmax(300px,460px)!important;gap:34px!important;}
  .course-v74-hero h1{font-size:clamp(40px,6vw,64px)!important;}
}
@media(max-width:900px){
  .course-v74-hero{padding:36px 0 34px!important;}
  .course-v74-hero .hero-grid{grid-template-columns:1fr!important;}
  .course-v74-hero .course-detail-image{max-width:520px;margin:0 auto;}
  .course-jump-nav{top:66px;}
  .course-v74-hero .course-actions{justify-content:center!important;}
  .course-v74-hero .course-hero-copy{text-align:center;margin:auto;}
  .related-course-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:680px){
  .course-v74-hero h1{font-size:clamp(36px,12vw,54px)!important;}
  .course-v74-hero p{font-size:16px!important;}
  .course-outcomes-grid,.related-course-grid{grid-template-columns:1fr;}
  .course-jump-nav{top:60px;}
  .course-jump-nav a{font-size:13px;padding:8px 12px;}
  .course-v74-hero .course-detail-image{max-width:100%;}
  .mobile-sticky-reserve{display:flex!important;}
}
@media(min-width:681px){.mobile-sticky-reserve{display:none!important;}}


/* ===== Fase 3V: título/subtítulo sobre portada con contraste inteligente ===== */
.hero-main-smart.hero-full{
  position:relative!important;
  isolation:isolate;
  overflow:hidden;
  min-height:620px!important;
  display:flex!important;
  align-items:center!important;
  padding:76px 0!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.hero-main-smart .hero-smart-shade{position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(4,13,36,.72) 0%,rgba(4,13,36,.48) 45%,rgba(4,13,36,.08) 100%);pointer-events:none;transition:background .2s ease;}
.hero-main-smart .hero-smart-inner{position:relative;z-index:1;display:flex;align-items:center;min-height:420px;}
.hero-main-smart .hero-smart-copy{display:block!important;max-width:var(--hero-copy-max,2145px)!important;padding:18px 0;color:#fff;}
.hero-main-smart .hero-smart-badge{display:inline-block!important;margin-bottom:18px!important;background:rgba(255,255,255,.88)!important;color:#07863b!important;border:0!important;box-shadow:0 8px 24px rgba(0,0,0,.08);}
.hero-main-smart .hero-smart-copy h1{display:block!important;margin:0 0 18px!important;line-height:1.02!important;letter-spacing:-.025em!important;font-weight:600!important;text-shadow:0 18px 45px rgba(0,0,0,.28);}
.hero-main-smart .hero-smart-copy p{display:block!important;max-width:var(--hero-copy-p-max,1040px)!important;line-height:1.55!important;font-weight:500!important;margin:0!important;text-shadow:0 12px 30px rgba(0,0,0,.22);}
.hero-main-smart.hero-text-light .hero-smart-copy h1,
.hero-main-smart.hero-text-light .hero-smart-copy p{color:#fff!important;}
.hero-main-smart.hero-text-light .hero-smart-shade{background:linear-gradient(90deg,rgba(4,13,36,.74) 0%,rgba(4,13,36,.50) 45%,rgba(4,13,36,.08) 100%);}
.hero-main-smart.hero-text-dark .hero-smart-copy h1{color:#071c4f!important;text-shadow:0 12px 32px rgba(255,255,255,.55);}
.hero-main-smart.hero-text-dark .hero-smart-copy p{color:#17233b!important;text-shadow:0 10px 26px rgba(255,255,255,.45);}
.hero-main-smart.hero-text-dark .hero-smart-badge{background:rgba(7,134,59,.10)!important;color:#06743d!important;}
.hero-main-smart.hero-text-dark .hero-smart-shade{background:linear-gradient(90deg,rgba(255,255,255,.86) 0%,rgba(255,255,255,.62) 44%,rgba(255,255,255,.12) 100%);}
.hero-main-smart[data-hero-position="center"] .hero-smart-inner{justify-content:center;text-align:center;}
.hero-main-smart[data-hero-position="center"] .hero-smart-copy p{margin-left:auto!important;margin-right:auto!important;}
.hero-main-smart[data-hero-position="center"] .hero-smart-shade{background:linear-gradient(90deg,rgba(4,13,36,.12),rgba(4,13,36,.58),rgba(4,13,36,.12));}
.hero-main-smart[data-hero-position="center"].hero-text-dark .hero-smart-shade{background:linear-gradient(90deg,rgba(255,255,255,.10),rgba(255,255,255,.78),rgba(255,255,255,.10));}
.hero-main-smart[data-hero-position="right"] .hero-smart-inner{justify-content:flex-end;text-align:right;}
.hero-main-smart[data-hero-position="right"] .hero-smart-copy p{margin-left:auto!important;}
.hero-main-smart[data-hero-position="right"] .hero-smart-shade{background:linear-gradient(270deg,rgba(4,13,36,.74) 0%,rgba(4,13,36,.50) 45%,rgba(4,13,36,.08) 100%);}
.hero-main-smart[data-hero-position="right"].hero-text-dark .hero-smart-shade{background:linear-gradient(270deg,rgba(255,255,255,.86) 0%,rgba(255,255,255,.62) 44%,rgba(255,255,255,.12) 100%);}
@media(max-width:900px){
  .hero-main-smart.hero-full{min-height:480px!important;padding:54px 0!important;}
  .hero-main-smart .hero-smart-inner{min-height:360px;}
  .hero-main-smart .hero-smart-copy{max-width:680px!important;}
  .hero-main-smart .hero-smart-copy h1{font-size:clamp(36px,9vw,58px)!important;}
  .hero-main-smart .hero-smart-copy p{font-size:clamp(16px,4vw,20px)!important;}
}
@media(max-width:620px){
  .hero-main-smart.hero-full{min-height:420px!important;padding:42px 0!important;}
  .hero-main-smart .hero-smart-inner{min-height:320px;align-items:flex-end;}
  .hero-main-smart .hero-smart-copy{text-align:left!important;}
  .hero-main-smart .hero-smart-copy h1{font-size:clamp(34px,12vw,48px)!important;}
  .hero-main-smart .hero-smart-badge{font-size:11px!important;margin-bottom:12px!important;}
  .hero-main-smart .hero-smart-shade,
  .hero-main-smart[data-hero-position="center"] .hero-smart-shade,
  .hero-main-smart[data-hero-position="right"] .hero-smart-shade{background:linear-gradient(180deg,rgba(4,13,36,.10) 0%,rgba(4,13,36,.72) 100%);}
  .hero-main-smart.hero-text-dark .hero-smart-shade,
  .hero-main-smart[data-hero-position="center"].hero-text-dark .hero-smart-shade,
  .hero-main-smart[data-hero-position="right"].hero-text-dark .hero-smart-shade{background:linear-gradient(180deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,.82) 100%);}
}


/* ===== Fase 4B: portada con margen derecho reducido 20% ===== */
.hero-main-smart .hero-smart-copy{max-width:var(--hero-copy-max,2145px)!important;}
.hero-main-smart .hero-smart-copy p{max-width:var(--hero-copy-p-max,1040px)!important;}

/* ===== FASE 5A1H: estilización controlada de ficha pública del curso =====
   Base: FASE5A1G. Ajuste visual moderado, académico/comercial, sin contenido inventado. */
:root{
  --course-soft:#f7faf8;
  --course-soft-2:#eef6f1;
  --course-ink:#101827;
  --course-muted:#5f6b7a;
  --course-border:#dfe7e2;
}
body:has(.course-v74-hero){background:#f5f7f5!important;color:#182233;}
.course-breadcrumb-wrap{background:#f7faf8!important;border-bottom:1px solid #e3e9e5;}
.course-breadcrumb{font-size:13px;color:#667085;padding:13px 0;display:flex;gap:9px;align-items:center;overflow:auto;white-space:nowrap;}
.course-breadcrumb a{color:#1f6f3c;font-weight:650;}
.course-breadcrumb strong{color:#202b3a;font-weight:700;}
.course-v74-hero{
  background:linear-gradient(180deg,#ffffff 0%,#f7faf8 100%)!important;
  color:var(--course-ink)!important;
  padding:48px 0 42px!important;
  border-bottom:1px solid #e4ebe7;
  position:relative;
  overflow:hidden;
}
.course-v74-hero:before{
  content:"";position:absolute;inset:auto -12% -44% 42%;height:420px;
  background:radial-gradient(circle at 50% 45%,rgba(7,134,59,.09),rgba(7,134,59,0) 65%);
  pointer-events:none;
}
.course-v74-hero .hero-grid{
  grid-template-columns:minmax(0,1.02fr) minmax(320px,560px)!important;
  gap:54px!important;
  align-items:center!important;
  position:relative;z-index:1;
}
.course-v74-hero .course-hero-copy{max-width:760px;}
.course-v74-hero .badge{
  background:#edf8f1!important;border:1px solid #cfe7d8!important;color:#087238!important;
  border-radius:999px!important;padding:8px 15px!important;font-size:12px!important;letter-spacing:.08em!important;
}
.course-v74-hero h1{
  color:#111a2b!important;
  font-size:clamp(44px,5.4vw,76px)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
  margin:22px 0 18px!important;
  max-width:760px;
}
.course-v74-hero h1 span{color:#18233a!important;font-weight:500!important;}
.course-v74-hero p{
  color:#445065!important;
  max-width:680px!important;
  font-size:clamp(16px,1.25vw,19px)!important;
  line-height:1.65!important;
  margin:0 0 14px!important;
}
.course-v74-hero .course-extra-text{color:#526071!important;font-weight:500;}
.course-hero-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  max-width:650px;
  margin:28px 0 0;
  border-top:1px solid #dfe8e3;
  border-bottom:1px solid #dfe8e3;
}
.course-hero-facts>div{
  display:grid;
  grid-template-columns:38px 1fr;
  grid-template-rows:auto auto;
  column-gap:10px;
  align-items:center;
  padding:16px 18px 15px;
  border-right:1px solid #dfe8e3;
}
.course-hero-facts>div:last-child{border-right:0;}
.course-hero-facts .fact-icon{grid-row:1/3;color:#087238;font-size:26px;line-height:1;display:grid;place-items:center;}
.course-hero-facts small{font-size:12px;color:#687386;font-weight:800;letter-spacing:.02em;}
.course-hero-facts strong{font-size:14px;color:#172033;font-weight:650;line-height:1.25;}
.course-v74-hero .course-actions{justify-content:flex-start!important;margin-top:28px!important;gap:12px!important;}
.course-v74-hero .actions .btn{
  min-height:50px;border-radius:8px!important;padding:13px 19px!important;
  box-shadow:none!important;font-weight:800!important;
}
.course-v74-hero .actions .btn.primary{
  background:#087b3a!important;border-color:#087b3a!important;color:#fff!important;
  box-shadow:0 10px 22px rgba(7,134,59,.14)!important;
}
.course-v74-hero .actions .btn.primary:hover{background:#066a31!important;}
.course-v74-hero .actions .btn.secondary,
.course-v74-hero .actions .btn:not(.primary){
  background:#fff!important;color:#111a2b!important;border-color:#d8e1dc!important;
}
.course-v74-hero .actions .btn.whatsapp{color:#087238!important;}
.course-v74-hero .course-detail-image{
  width:100%;max-width:560px;aspect-ratio:1.08/1!important;
  border-radius:18px!important;background:#fff!important;border:1px solid #dfe7e2!important;
  padding:18px!important;box-shadow:0 24px 60px rgba(16,24,40,.08)!important;
  justify-self:end;display:grid;place-items:center;overflow:hidden;position:relative;
}
.course-v74-hero .course-detail-image:before{
  content:"";position:absolute;inset:18px;border-radius:14px;background:#f3f8f5;z-index:0;
}
.course-v74-hero .course-detail-image img{
  position:relative;z-index:1;width:100%!important;height:100%!important;
  object-fit:contain!important;border-radius:12px!important;background:transparent!important;
}
.course-jump-nav{top:72px;background:rgba(255,255,255,.96)!important;border-bottom:1px solid #e2e8e4!important;box-shadow:0 8px 20px rgba(16,24,40,.035);}
.course-jump-nav .container{gap:10px;padding:11px 0;}
.course-jump-nav a{border:1px solid #dfe7e2!important;background:#fff!important;color:#1f2937!important;border-radius:999px!important;padding:8px 14px!important;font-weight:700!important;}
.course-jump-nav a:hover{color:#087238!important;border-color:#a9d6bb!important;background:#f5fbf7!important;}
.course-production-section{background:#f5f7f5!important;padding-top:34px!important;}
.course-production-section .main-grid{grid-template-columns:minmax(0,1fr) 330px!important;gap:24px!important;}
.course-production-section .panel{
  border:1px solid #dfe7e2!important;border-radius:14px!important;background:#fff!important;
  box-shadow:0 14px 36px rgba(16,24,40,.035);padding:28px!important;
}
.course-production-section .panel h2{
  color:#111a2b!important;font-size:clamp(30px,3vw,42px)!important;line-height:1.08!important;
  margin:0 0 16px!important;position:relative;padding-bottom:10px;
}
.course-production-section .panel h2:after{content:"";position:absolute;left:0;bottom:0;width:42px;height:2px;background:#087b3a;border-radius:3px;}
.course-production-section .panel p{color:#465364;line-height:1.7;}
.course-outcomes-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin-top:14px!important;}
.outcome-item{
  border:1px solid #e0e8e3!important;background:#fbfdfc!important;border-radius:12px!important;
  padding:15px 16px!important;box-shadow:none!important;align-items:start!important;
}
.outcome-item span{background:#edf8f1!important;color:#087b3a!important;width:30px!important;height:30px!important;font-size:16px;}
.outcome-item p{font-size:15px;line-height:1.5!important;color:#253044!important;}
.course-module-row{
  grid-template-columns:44px 1fr 28px!important;align-items:center!important;
  border:1px solid #e1e8e4!important;border-radius:12px!important;padding:14px 14px!important;margin:10px 0!important;
  background:#fff!important;transition:border-color .15s ease, background .15s ease;
}
.course-module-row:hover{border-color:#bddbc8!important;background:#fbfdfc!important;}
.course-module-row .num{width:34px!important;height:34px!important;border-radius:50%!important;background:#edf8f1!important;color:#087b3a!important;font-size:14px!important;}
.course-module-row .module-copy strong{font-family:var(--ui)!important;font-size:15px!important;color:#111a2b!important;line-height:1.4!important;}
.module-chevron{color:#64748b;font-size:18px;text-align:center;}
.course-side-card{position:relative;overflow:hidden;}
.course-side-card:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:#087b3a;}
.course-side-card h2{font-size:30px!important;}
.facts{gap:0!important;border:1px solid #e1e8e4;border-radius:12px;overflow:hidden;background:#fbfdfc;}
.facts li{border-bottom:1px solid #e1e8e4!important;margin:0!important;padding:12px 14px!important;background:#fff;}
.facts li:last-child{border-bottom:0!important;}
.facts strong{color:#111a2b;}
.side-reserve-btn{border-radius:8px!important;}
.related-courses-section{background:#f5f7f5!important;border-top:1px solid #e4ebe7;}
.related-card{border-radius:12px!important;border-color:#dfe7e2!important;box-shadow:0 12px 28px rgba(16,24,40,.035);}
.mobile-sticky-reserve{background:#087b3a!important;color:#fff!important;font-weight:800!important;}
@media(max-width:1100px){
  .course-v74-hero .hero-grid{grid-template-columns:1fr minmax(280px,430px)!important;gap:30px!important;}
  .course-v74-hero h1{font-size:clamp(40px,6vw,62px)!important;}
  .course-production-section .main-grid{grid-template-columns:1fr!important;}
}
@media(max-width:900px){
  .course-v74-hero{padding:34px 0 32px!important;}
  .course-v74-hero .hero-grid{grid-template-columns:1fr!important;}
  .course-v74-hero .course-hero-copy{text-align:left!important;margin:0!important;}
  .course-v74-hero .course-actions{justify-content:flex-start!important;}
  .course-v74-hero .course-detail-image{justify-self:center;max-width:560px;}
  .course-hero-facts{grid-template-columns:1fr;max-width:100%;}
  .course-hero-facts>div{border-right:0;border-bottom:1px solid #dfe8e3;}
  .course-hero-facts>div:last-child{border-bottom:0;}
}
@media(max-width:680px){
  .course-v74-hero h1{font-size:clamp(34px,12vw,48px)!important;}
  .course-v74-hero p{font-size:16px!important;}
  .course-v74-hero .course-detail-image{padding:12px!important;border-radius:14px!important;}
  .course-outcomes-grid{grid-template-columns:1fr!important;}
  .course-production-section .panel{padding:22px!important;border-radius:12px!important;}
  .course-module-row{grid-template-columns:38px 1fr 22px!important;padding:12px!important;}
}

/* FASE 5A1K - Footer público más funcional */
.site-footer-pro.footer-functional-v75{background:var(--footer-bg,#101827)!important;color:var(--footer-bottom,#c9d5df)!important;padding:48px 0 18px!important;border-top:1px solid color-mix(in srgb,var(--footer-border,#263244) 70%,transparent);}
.footer-functional-v75 .footer-pro{max-width:1180px!important;margin:0 auto!important;padding:0 22px!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;}
.footer-functional-v75 .footer-functional-top{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:34px;align-items:start;padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--footer-border,#263244);}
.footer-functional-v75 .footer-brand-block{display:grid;gap:12px;max-width:620px;}
.footer-functional-v75 .footer-logo-link{display:inline-flex;align-items:center;width:max-content;}
.footer-functional-v75 .footer-logo-link img{max-width:210px!important;max-height:60px!important;object-fit:contain;}
.footer-functional-v75 .footer-logo-text{color:var(--footer-title,#fff)!important;font-size:22px;font-weight:800;text-decoration:none;letter-spacing:-.02em;}
.footer-functional-v75 .footer-brand-block p{margin:0;color:var(--footer-bottom,#c9d5df);font-size:15px;line-height:1.65;opacity:.88;}
.footer-functional-v75 .footer-contact-block{display:grid;gap:8px;justify-items:start;}
.footer-functional-v75 .footer-contact-block h3,.footer-functional-v75 .footer-col h3{color:var(--footer-title,#fff)!important;font-size:var(--footer-title-size,16px)!important;margin:0 0 8px!important;font-weight:800;letter-spacing:.01em;text-transform:none!important;}
.footer-functional-v75 .footer-contact-block a,.footer-functional-v75 .footer-col a{color:var(--footer-link,#dbe7ef)!important;font-size:var(--footer-link-size,14px)!important;display:block;text-decoration:none!important;opacity:.88;margin:0 0 8px!important;line-height:1.45;}
.footer-functional-v75 .footer-contact-block a:hover,.footer-functional-v75 .footer-col a:hover{opacity:1;text-decoration:underline!important;text-underline-offset:3px;}
.footer-functional-v75 .footer-whatsapp{display:inline-flex!important;align-items:center;justify-content:center;padding:9px 13px;margin-top:4px!important;border-radius:999px;background:#0a8a43;color:#fff!important;font-weight:800;opacity:1!important;}
.footer-functional-v75 .footer-columns{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:30px!important;margin:0 0 28px!important;padding:0 0 28px!important;border-bottom:1px solid var(--footer-border,#263244);}
.footer-functional-v75 .footer-col{min-width:0;}
.footer-functional-v75 .footer-col a::before{display:none!important;content:none!important;}
.footer-functional-v75 .footer-bottom-pro{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:18px!important;align-items:center!important;color:var(--footer-bottom,#c9d5df)!important;font-size:var(--footer-bottom-size,13px)!important;border:0!important;padding:0!important;margin:0!important;}
.footer-functional-v75 .footer-copy,.footer-functional-v75 .footer-cookie,.footer-functional-v75 .footer-lang{color:var(--footer-bottom,#c9d5df)!important;font-size:var(--footer-bottom-size,13px)!important;opacity:.84;}
.footer-functional-v75 .footer-cookie{text-decoration:none!important;}
.footer-functional-v75 .footer-cookie:hover{text-decoration:underline!important;text-underline-offset:3px;opacity:1;}
.footer-functional-v75 .footer-admin-provisional{margin-top:18px;text-align:center;font-size:12px;opacity:.42;}
.footer-functional-v75 .footer-admin-provisional a{color:var(--footer-bottom,#c9d5df)!important;text-decoration:none;}
@media(max-width:900px){.footer-functional-v75 .footer-functional-top{grid-template-columns:1fr}.footer-functional-v75 .footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))!important}.footer-functional-v75 .footer-bottom-pro{grid-template-columns:1fr!important;gap:10px!important}}
@media(max-width:560px){.footer-functional-v75 .footer-columns{grid-template-columns:1fr!important}.site-footer-pro.footer-functional-v75{padding-top:36px!important}.footer-functional-v75 .footer-pro{padding:0 18px!important}}

/* FASE 5A1L - Footer público académico/comercial */
.site-footer-pro.footer-academic-v76{background:var(--footer-bg,#101827)!important;color:var(--footer-bottom,#c9d5df)!important;padding:54px 0 18px!important;border-top:1px solid var(--footer-border,#263244)!important;}
.footer-academic-v76 .footer-v76-inner{width:min(1180px,calc(100% - 44px))!important;margin:0 auto!important;padding:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;}
.footer-academic-v76 .footer-v76-top{display:grid!important;grid-template-columns:minmax(260px,.95fr) minmax(360px,1.4fr) minmax(240px,.75fr)!important;gap:38px!important;align-items:start!important;padding-bottom:30px!important;border-bottom:1px solid var(--footer-border,#263244)!important;}
.footer-academic-v76.footer-layout-compact .footer-v76-top{grid-template-columns:minmax(260px,1fr) minmax(280px,1fr)!important;gap:30px!important;}
.footer-academic-v76.footer-layout-columns .footer-v76-top{grid-template-columns:minmax(420px,1.55fr) minmax(260px,.75fr)!important;}
.footer-academic-v76 .footer-v76-brand{display:grid;gap:13px;align-content:start;}
.footer-academic-v76 .footer-logo-link{display:inline-flex!important;width:max-content!important;align-items:center!important;}
.footer-academic-v76 .footer-logo-link img{display:block!important;max-width:220px!important;max-height:64px!important;object-fit:contain!important;}
.footer-academic-v76 .footer-logo-text{color:var(--footer-title,#fff)!important;font-size:23px!important;font-weight:800!important;text-decoration:none!important;letter-spacing:-.02em!important;}
.footer-academic-v76 .footer-v76-brand p{margin:0!important;color:var(--footer-bottom,#c9d5df)!important;font-size:15px!important;line-height:1.65!important;opacity:.9!important;}
.footer-academic-v76 .footer-v76-trust{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px;}
.footer-academic-v76 .footer-v76-trust span{font-size:12px;color:var(--footer-bottom,#c9d5df);border:1px solid var(--footer-border,#263244);border-radius:999px;padding:6px 10px;background:rgba(255,255,255,.035);}
.footer-academic-v76 .footer-v76-links{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:28px!important;}
.footer-academic-v76.footer-layout-columns .footer-v76-links{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
.footer-academic-v76 .footer-col{min-width:0!important;}
.footer-academic-v76 .footer-col h3,.footer-academic-v76 .footer-v76-contact h3{color:var(--footer-title,#fff)!important;font-size:var(--footer-title-size,16px)!important;margin:0 0 13px!important;font-weight:750!important;letter-spacing:.01em!important;text-transform:none!important;}
.footer-academic-v76 .footer-col h3:after,.footer-academic-v76 .footer-v76-contact h3:after{content:"";display:block;width:24px;height:2px;border-radius:999px;background:#0f8f4d;margin-top:9px;}
.footer-academic-v76 .footer-col a,.footer-academic-v76 .footer-v76-contact a,.footer-academic-v76 .footer-v76-contact span{display:block!important;color:var(--footer-link,#dbe7ef)!important;font-size:var(--footer-link-size,14px)!important;text-decoration:none!important;line-height:1.48!important;margin:0 0 9px!important;opacity:.88!important;}
.footer-academic-v76 .footer-col a:hover,.footer-academic-v76 .footer-v76-contact a:hover{text-decoration:underline!important;text-underline-offset:3px;opacity:1!important;}
.footer-academic-v76 .footer-col a::before{display:none!important;content:none!important;}
.footer-academic-v76 .footer-v76-contact{display:grid;gap:2px;align-content:start;}
.footer-academic-v76 .footer-whatsapp{display:inline-flex!important;width:max-content;align-items:center;justify-content:center;padding:9px 14px!important;margin-top:6px!important;border-radius:999px;background:#0a8a43!important;color:#fff!important;font-weight:750!important;opacity:1!important;}
.footer-academic-v76 .footer-v76-social-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--footer-border,#263244);}
.footer-academic-v76 .footer-v76-social-row strong{color:var(--footer-title,#fff);font-size:var(--footer-title-size,16px);}
.footer-academic-v76 .footer-v76-social-row div{display:flex;gap:10px;flex-wrap:wrap;}
.footer-academic-v76 .footer-v76-social-row a{color:var(--footer-link,#dbe7ef)!important;text-decoration:none!important;border:1px solid var(--footer-border,#263244);border-radius:999px;padding:7px 12px;font-size:13px;background:rgba(255,255,255,.035);}
.footer-academic-v76 .footer-v76-bottom{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:20px!important;align-items:center!important;color:var(--footer-bottom,#c9d5df)!important;font-size:var(--footer-bottom-size,13px)!important;border:0!important;padding:18px 0 0!important;margin:0!important;}
.footer-academic-v76 .footer-copy,.footer-academic-v76 .footer-legal-text,.footer-academic-v76 .footer-lang{color:var(--footer-bottom,#c9d5df)!important;font-size:var(--footer-bottom-size,13px)!important;opacity:.84!important;}
.footer-academic-v76 .footer-admin-provisional{margin-top:18px;text-align:center;font-size:12px;opacity:.38;}
.footer-academic-v76 .footer-admin-provisional a{color:var(--footer-bottom,#c9d5df)!important;text-decoration:none!important;}
@media(max-width:980px){.footer-academic-v76 .footer-v76-top,.footer-academic-v76.footer-layout-compact .footer-v76-top,.footer-academic-v76.footer-layout-columns .footer-v76-top{grid-template-columns:1fr!important}.footer-academic-v76 .footer-v76-links,.footer-academic-v76.footer-layout-columns .footer-v76-links{grid-template-columns:repeat(2,minmax(0,1fr))!important}.footer-academic-v76 .footer-v76-bottom{grid-template-columns:1fr!important;gap:10px!important}.footer-academic-v76 .footer-v76-social-row{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.footer-academic-v76{padding-top:38px!important}.footer-academic-v76 .footer-v76-inner{width:min(100% - 32px,1180px)!important}.footer-academic-v76 .footer-v76-links{grid-template-columns:1fr!important}.footer-academic-v76 .footer-v76-trust{display:grid}.footer-academic-v76 .footer-v76-social-row div{display:grid;grid-template-columns:1fr 1fr;width:100%}.footer-academic-v76 .footer-v76-social-row a{text-align:center}}

/* FASE 5A1M - Footer moderno, funcional y alineado */
.site-footer-pro.footer-modern-v77{
  display:block!important;
  background:var(--footer-bg,#101827)!important;
  color:var(--footer-bottom,#c9d5df)!important;
  padding:62px 0 18px!important;
  border-top:1px solid var(--footer-border,#263244)!important;
  font-family:var(--ui,"Inter","Segoe UI",Arial,sans-serif)!important;
}
.footer-modern-v77 .footer-v77-shell{
  width:min(1280px,calc(100% - 64px))!important;
  margin:0 auto!important;
  padding:0!important;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.footer-modern-v77 .footer-v77-main{
  display:grid!important;
  grid-template-columns:minmax(260px,.95fr) minmax(460px,1.65fr) minmax(260px,.85fr)!important;
  gap:48px!important;
  align-items:start!important;
  padding-bottom:46px!important;
  border-bottom:1px solid var(--footer-border,#263244)!important;
}
.footer-modern-v77.footer-layout-compact .footer-v77-main{
  grid-template-columns:minmax(280px,1.05fr) minmax(420px,1.35fr) minmax(240px,.8fr)!important;
}
.footer-modern-v77.footer-layout-columns .footer-v77-main{
  grid-template-columns:minmax(220px,.75fr) minmax(620px,1.75fr) minmax(260px,.85fr)!important;
}
.footer-modern-v77 .footer-v77-brand,
.footer-modern-v77 .footer-v77-col,
.footer-modern-v77 .footer-v77-contact{min-width:0!important;}
.footer-modern-v77 .footer-v77-brand{display:grid!important;gap:20px!important;align-content:start!important;}
.footer-modern-v77 .footer-v77-logo{display:inline-flex!important;width:max-content!important;max-width:240px!important;align-items:center!important;}
.footer-modern-v77 .footer-v77-logo img{display:block!important;width:230px!important;max-width:100%!important;max-height:70px!important;object-fit:contain!important;object-position:left center!important;}
.footer-modern-v77 .footer-v77-logo-text{display:inline-flex!important;color:var(--footer-title,#fff)!important;font-size:24px!important;font-weight:850!important;text-decoration:none!important;letter-spacing:-.02em!important;}
.footer-modern-v77 .footer-v77-brand p{margin:0!important;color:var(--footer-bottom,#c9d5df)!important;font-size:15px!important;line-height:1.75!important;opacity:.92!important;max-width:310px!important;}
.footer-modern-v77 .footer-v77-trust{list-style:none!important;padding:6px 0 0!important;margin:0!important;display:grid!important;gap:0!important;max-width:330px!important;}
.footer-modern-v77 .footer-v77-trust li{display:flex!important;align-items:center!important;gap:14px!important;color:var(--footer-link,#dbe7ef)!important;font-size:var(--footer-link-size,14px)!important;line-height:1.45!important;padding:15px 0!important;border-top:1px solid var(--footer-border,#263244)!important;opacity:.88!important;}
.footer-modern-v77 .footer-v77-trust li:before{content:"";width:32px;height:32px;flex:0 0 32px;border:1px solid rgba(22,163,74,.55);border-radius:999px;background:rgba(22,163,74,.08);box-shadow:inset 0 0 0 6px rgba(22,163,74,.035);}
.footer-modern-v77 .footer-v77-links{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:34px!important;align-items:start!important;}
.footer-modern-v77.footer-layout-compact .footer-v77-links{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.footer-modern-v77 .footer-v77-col h3,
.footer-modern-v77 .footer-v77-contact h3{color:var(--footer-title,#fff)!important;font-size:var(--footer-title-size,16px)!important;line-height:1.25!important;margin:0 0 22px!important;font-weight:800!important;letter-spacing:.01em!important;text-transform:none!important;}
.footer-modern-v77 .footer-v77-col h3:after,
.footer-modern-v77 .footer-v77-contact h3:after{content:""!important;display:block!important;width:34px!important;height:3px!important;background:#0f8f4d!important;border-radius:99px!important;margin-top:12px!important;}
.footer-modern-v77 .footer-v77-col a{display:flex!important;align-items:flex-start!important;gap:10px!important;color:var(--footer-link,#dbe7ef)!important;font-size:var(--footer-link-size,14px)!important;line-height:1.45!important;text-decoration:none!important;margin:0 0 16px!important;opacity:.88!important;}
.footer-modern-v77 .footer-v77-col a span{color:#24b35a!important;font-size:18px!important;line-height:1!important;margin-top:0!important;}
.footer-modern-v77 .footer-v77-col a:hover,
.footer-modern-v77 .footer-v77-contact a:hover{opacity:1!important;color:#fff!important;text-decoration:none!important;}
.footer-modern-v77 .footer-v77-contact{display:grid!important;gap:0!important;padding-left:36px!important;border-left:1px solid var(--footer-border,#263244)!important;}
.footer-modern-v77 .footer-v77-contact-item{display:grid!important;grid-template-columns:30px 1fr!important;gap:14px!important;align-items:start!important;color:var(--footer-link,#dbe7ef)!important;text-decoration:none!important;font-size:var(--footer-link-size,14px)!important;line-height:1.45!important;padding:0 0 18px!important;margin:0 0 18px!important;border-bottom:1px solid var(--footer-border,#263244)!important;opacity:.9!important;}
.footer-modern-v77 .footer-v77-contact-item b{color:#22c55e!important;font-size:21px!important;line-height:1!important;font-weight:400!important;}
.footer-modern-v77 .footer-v77-whatsapp{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:max-content!important;padding:10px 15px!important;border-radius:999px!important;background:#17a34a!important;color:#fff!important;font-size:13px!important;font-weight:800!important;text-decoration:none!important;margin:0 0 16px!important;box-shadow:0 10px 20px rgba(15,143,77,.18)!important;}
.footer-modern-v77 .footer-v77-social{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin-top:4px!important;}
.footer-modern-v77 .footer-v77-social a{display:inline-flex!important;align-items:center!important;justify-content:center!important;color:var(--footer-link,#dbe7ef)!important;text-decoration:none!important;border:1px solid var(--footer-border,#263244)!important;border-radius:999px!important;padding:7px 11px!important;font-size:12px!important;background:rgba(255,255,255,.035)!important;}
.footer-modern-v77 .footer-v77-bottom{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:28px!important;align-items:center!important;color:var(--footer-bottom,#c9d5df)!important;font-size:var(--footer-bottom-size,13px)!important;border:0!important;padding:26px 0 0!important;margin:0!important;}
.footer-modern-v77 .footer-v77-copy,
.footer-modern-v77 .footer-v77-lang{color:var(--footer-bottom,#c9d5df)!important;font-size:var(--footer-bottom-size,13px)!important;opacity:.86!important;}
.footer-modern-v77 .footer-v77-legal{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:18px!important;color:var(--footer-bottom,#c9d5df)!important;}
.footer-modern-v77 .footer-v77-legal span{position:relative!important;color:var(--footer-bottom,#c9d5df)!important;font-size:var(--footer-bottom-size,13px)!important;opacity:.86!important;white-space:nowrap!important;}
.footer-modern-v77 .footer-v77-legal span+span:before{content:""!important;position:absolute!important;left:-10px!important;top:50%!important;width:1px!important;height:14px!important;background:#0f8f4d!important;transform:translateY(-50%)!important;opacity:.9!important;}
.footer-modern-v77 .footer-admin-provisional{margin-top:18px!important;text-align:center!important;font-size:12px!important;opacity:.16!important;}
.footer-modern-v77 .footer-admin-provisional a{color:var(--footer-bottom,#c9d5df)!important;text-decoration:none!important;}
@media(max-width:1100px){
  .footer-modern-v77 .footer-v77-main,
  .footer-modern-v77.footer-layout-compact .footer-v77-main,
  .footer-modern-v77.footer-layout-columns .footer-v77-main{grid-template-columns:1fr!important;gap:34px!important;}
  .footer-modern-v77 .footer-v77-links,
  .footer-modern-v77.footer-layout-compact .footer-v77-links{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .footer-modern-v77 .footer-v77-contact{padding-left:0!important;border-left:0!important;border-top:1px solid var(--footer-border,#263244)!important;padding-top:28px!important;}
  .footer-modern-v77 .footer-v77-bottom{grid-template-columns:1fr!important;gap:12px!important;}
  .footer-modern-v77 .footer-v77-legal{justify-content:flex-start!important;flex-wrap:wrap!important;}
}
@media(max-width:620px){
  .site-footer-pro.footer-modern-v77{padding-top:42px!important;}
  .footer-modern-v77 .footer-v77-shell{width:min(100% - 30px,1280px)!important;}
  .footer-modern-v77 .footer-v77-links{grid-template-columns:1fr!important;gap:20px!important;}
  .footer-modern-v77 .footer-v77-logo img{width:205px!important;}
  .footer-modern-v77 .footer-v77-contact-item{grid-template-columns:26px 1fr!important;}
}

/* ===== FASE 5A1N: coherencia visual frontend y navegación pública ===== */
:root{
  --px-bg-soft:#f4f6f5;
  --px-ink:#101827;
  --px-text:#324155;
  --px-muted:#64748b;
  --px-line:#dbe3e1;
  --px-green:#07863b;
  --px-green-dark:#056b30;
  --px-card:#ffffff;
  --px-shadow:0 18px 42px rgba(16,24,39,.075);
  --px-shadow-soft:0 10px 28px rgba(16,24,39,.045);
  --px-radius:18px;
}
html{scroll-behavior:smooth;}
body{background:var(--courses-page-bg,var(--px-bg-soft));color:var(--px-text);}
.container{width:min(1240px,calc(100% - 48px));}
.topbar{height:78px;background:rgba(255,255,255,.94)!important;backdrop-filter:saturate(1.15) blur(10px);border-bottom:1px solid rgba(219,227,225,.9)!important;box-shadow:0 8px 24px rgba(16,24,39,.035);}
.nav{height:78px;}
.logo{width:220px;max-height:56px;object-fit:contain;}
.menu{gap:32px;align-items:center;}
.menu a{padding:28px 0 24px;color:#111827!important;font-weight:800;font-size:13px;letter-spacing:.055em;}
.menu a:after{bottom:18px;background:var(--px-green);height:3px;border-radius:999px;transition:transform .18s ease;}
.menu a:hover{color:var(--px-green)!important;}
.btn,.btn-admin,button,.interest{transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;}
.btn.primary{background:var(--px-green)!important;border-color:var(--px-green)!important;color:#fff!important;box-shadow:0 12px 24px rgba(7,134,59,.16);}
.btn.primary:hover{background:var(--px-green-dark)!important;border-color:var(--px-green-dark)!important;transform:translateY(-1px);}
.btn.secondary,.btn:not(.primary):not(.yellow):not(.whatsapp){background:#fff!important;border-color:var(--px-line)!important;color:var(--px-ink)!important;}
.btn.whatsapp{background:#eefaf2!important;border-color:#ccefd8!important;color:var(--px-green)!important;}
.badge{background:#eef8f2!important;border:1px solid #cfeedd!important;color:var(--px-green)!important;font-weight:800;letter-spacing:.07em;}

/* Portada pública */
.hero-style.hero-full{min-height:520px;background-size:cover;background-position:center;border-bottom:1px solid var(--px-line);position:relative;}
.hero-main-smart:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(244,246,245,.94) 0%,rgba(244,246,245,.80) 36%,rgba(244,246,245,.30) 68%,rgba(244,246,245,.10) 100%);pointer-events:none;}
.hero-smart-inner{position:relative;z-index:2;min-height:520px;display:flex;align-items:center;}
.hero-smart-copy{max-width:min(var(--hero-copy-max,780px),760px);padding:48px 0;}
.hero-smart-copy h1{font-family:var(--display);font-weight:700;color:var(--px-ink);font-size:clamp(44px,5.4vw,76px);line-height:.98;letter-spacing:-.035em;margin:16px 0 16px;}
.hero-smart-copy p{max-width:min(var(--hero-copy-p-max,620px),650px);font-size:clamp(17px,1.55vw,22px);line-height:1.55;color:#334155;margin:0;}
.features-overlap{margin-top:-58px;padding-bottom:18px;}
.features-shell{background:rgba(255,255,255,.88)!important;border:1px solid var(--px-line);box-shadow:var(--px-shadow-soft);border-radius:20px!important;padding:16px!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;}
.feature-yellow{min-height:250px!important;border-radius:16px!important;padding:25px 24px!important;background:#fff!important;border:1px solid #e7ecea;}
.feature-yellow .feature-icon{font-size:30px!important;margin-bottom:16px!important;color:var(--px-green)!important;}
.feature-yellow h3{font-size:17px!important;line-height:1.25!important;color:var(--px-ink)!important;margin-bottom:10px!important;}
.feature-yellow p{font-size:15px!important;line-height:1.55!important;color:#526174!important;}
.catalog-reference{padding-top:44px;background:var(--courses-page-bg,var(--px-bg-soft));}
.catalog-reference-head h2{font-family:var(--display);font-weight:700;color:var(--px-ink);font-size:clamp(36px,4.3vw,62px);letter-spacing:-.03em;}
.catalog-reference-head p{font-weight:500;color:#4b5b70;max-width:840px;margin:0 auto!important;}
.catalog-tools{background:rgba(255,255,255,.86);border:1px solid var(--px-line);box-shadow:var(--px-shadow-soft);border-radius:16px;padding:14px;display:grid;grid-template-columns:1fr 240px auto;gap:12px;align-items:center;margin:0 auto 24px;}
.catalog-tools input,.catalog-tools select{border:1px solid var(--px-line);border-radius:12px;padding:13px 14px;background:#fff;color:var(--px-ink);font:inherit;}
.course-count-public{color:var(--px-muted);font-weight:700;font-size:14px;white-space:nowrap;}
.course-grid-shell{display:grid;gap:26px;}
.first-course-row,.grid{gap:22px!important;}
.first-course-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important;}
.first-course-row .featured-card,.course-card.ref-card,.related-card{width:100%!important;min-height:auto!important;border-radius:18px!important;border:1px solid var(--px-line)!important;background:#fff!important;box-shadow:var(--px-shadow-soft)!important;overflow:hidden;}
.course-card:hover{box-shadow:var(--px-shadow)!important;transform:translateY(-2px);}
.first-course-row .featured-card .thumb,.ref-card .thumb{height:210px!important;background:#eef2f1!important;}
.first-course-row .featured-card .course-body,.ref-card .course-body{min-height:0!important;padding:22px!important;gap:12px!important;}
.first-course-row .featured-card .course-body h3,.ref-card .course-body h3{font-family:var(--ui)!important;font-size:23px!important;line-height:1.12!important;color:var(--px-ink)!important;font-weight:850!important;min-height:0!important;letter-spacing:-.025em;}
.first-course-row .featured-card .course-subtitle,.ref-card .course-subtitle{font-family:var(--ui)!important;font-size:16px!important;line-height:1.38!important;font-weight:650!important;color:#334155!important;}
.course-card-text,.ref-card .course-card-text,.course-body p{font-size:15px!important;line-height:1.55!important;color:#526174!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.card-bottom{border-top:1px solid #eef2f1;padding-top:14px!important;margin-top:auto!important;}
.interest{display:inline-flex;align-items:center;gap:6px;color:var(--px-green)!important;font-family:var(--ui)!important;font-size:14px!important;font-weight:850!important;}
.interest:after{content:"→";font-size:14px;}
.promo-divider{border-radius:22px!important;box-shadow:var(--px-shadow);overflow:hidden;border:1px solid rgba(255,255,255,.10);}
.two .panel,.panel{border-radius:18px!important;border:1px solid var(--px-line)!important;box-shadow:var(--px-shadow-soft);}

/* Ficha pública del curso */
.course-breadcrumb-wrap{background:#fff;border-bottom:1px solid var(--px-line);}
.course-breadcrumb{display:flex;gap:9px;align-items:center;padding:14px 0;font-size:13px;color:var(--px-muted);}
.course-breadcrumb a{color:var(--px-green);font-weight:750;}
.course-v74-hero{background:linear-gradient(180deg,#fff 0%,#f5f8f6 100%);padding:56px 0!important;border-bottom:1px solid var(--px-line);}
.course-v74-hero .hero-grid{grid-template-columns:minmax(0,1fr) minmax(360px,520px)!important;gap:48px!important;align-items:center;}
.course-hero-copy h1{font-family:var(--display);font-weight:700;color:var(--px-ink);font-size:clamp(42px,5vw,72px)!important;line-height:.98;letter-spacing:-.035em;margin:18px 0 16px;}
.course-hero-copy h1 span{color:#26364a;}
.course-hero-copy p{font-size:18px;line-height:1.65;color:#405169;max-width:720px;}
.course-hero-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:26px 0 22px;}
.course-hero-facts>div{background:#fff;border:1px solid var(--px-line);border-radius:16px;padding:16px;box-shadow:0 8px 20px rgba(16,24,39,.035);display:grid;grid-template-columns:36px 1fr;grid-template-areas:"icon small" "icon strong";column-gap:12px;align-items:center;}
.course-hero-facts .fact-icon{grid-area:icon;width:36px;height:36px;border-radius:999px;background:#eef8f2;color:var(--px-green);display:grid;place-items:center;font-size:18px;font-weight:900;}
.course-hero-facts small{grid-area:small;color:var(--px-muted);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.04em;}
.course-hero-facts strong{grid-area:strong;color:var(--px-ink);font-weight:850;font-size:15px;}
.course-detail-image{border-radius:24px!important;border:1px solid var(--px-line)!important;box-shadow:var(--px-shadow);background:#fff;}
.course-detail-image img{height:min(520px,54vw)!important;object-fit:cover!important;}
.course-actions{justify-content:flex-start!important;margin-top:10px!important;}
.course-jump-nav{position:sticky;top:78px;z-index:9;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--px-line);}
.course-jump-nav .container{display:flex;gap:8px;align-items:center;overflow:auto;padding:10px 0;}
.course-jump-nav a{display:inline-flex;padding:9px 13px;border-radius:999px;color:#334155;font-size:13px;font-weight:800;white-space:nowrap;}
.course-jump-nav a:hover{background:#eef8f2;color:var(--px-green);}
.course-production-section{background:var(--courses-page-bg,var(--px-bg-soft));}
.main-grid{grid-template-columns:minmax(0,1fr) 340px!important;gap:28px!important;}
.course-production-section .panel h2{font-family:var(--display);font-weight:700;color:var(--px-ink);font-size:clamp(30px,3vw,44px);letter-spacing:-.025em;margin-bottom:12px;}
.course-outcomes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.outcome-item{display:flex;gap:12px;align-items:flex-start;background:#fbfdfc;border:1px solid #e3ece8;border-radius:14px;padding:14px;}
.outcome-item span{width:28px;height:28px;flex:0 0 28px;border-radius:999px;background:#e8f7ee;color:var(--px-green);display:grid;place-items:center;font-weight:900;}
.outcome-item p{margin:0;line-height:1.48;color:#405169;}
.course-module-row{grid-template-columns:46px minmax(0,1fr) 22px!important;align-items:center;border:1px solid #e4ebe8!important;border-radius:14px;padding:14px!important;margin:10px 0;background:#fff;}
.course-module-row .num{background:#e8f7ee!important;color:var(--px-green)!important;border-radius:999px!important;width:36px!important;height:36px!important;}
.module-copy strong{font-size:16px;color:var(--px-ink);}
.module-chevron{color:var(--px-muted);font-weight:900;}
.course-side-card{position:sticky;top:140px;}
.course-side-card .facts li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #e6eeeb;color:#405169;}
.side-reserve-btn{width:100%;margin-top:18px;}
.related-courses-section{background:#fff;}
.compact-head{margin-bottom:22px!important;}
.compact-head h2{font-size:clamp(32px,3vw,48px);}
.mobile-sticky-reserve{box-shadow:0 -10px 24px rgba(16,24,39,.14)!important;}

/* Footer guard: evita que vuelva a aparecer amontonado */
.site-footer-pro.footer-modern-v77{background:var(--footer-bg,#101827)!important;padding:76px 0 28px!important;color:var(--footer-link,#dbe7ef)!important;}
.footer-modern-v77 .footer-v77-shell{width:min(100% - 56px,1320px)!important;margin:0 auto!important;}
.footer-modern-v77 .footer-v77-main{display:grid!important;grid-template-columns:minmax(260px,330px) minmax(0,1fr) minmax(260px,320px)!important;gap:48px!important;align-items:start!important;}
.footer-modern-v77 .footer-v77-links{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;gap:30px!important;min-width:0!important;}
.footer-modern-v77 .footer-v77-col a,.footer-modern-v77 .footer-v77-contact-item{word-break:normal!important;overflow-wrap:anywhere;}
.footer-admin-provisional{display:none!important;}

@media(max-width:1100px){
  .features-shell{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .first-course-row,.grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .catalog-tools{grid-template-columns:1fr 220px;}.course-count-public{grid-column:1/-1;}
  .course-v74-hero .hero-grid,.main-grid{grid-template-columns:1fr!important;}
  .course-side-card{position:static;}
  .footer-modern-v77 .footer-v77-main{grid-template-columns:1fr!important;gap:34px!important;}
}
@media(max-width:780px){
  .container{width:min(100% - 30px,1240px);}
  .topbar,.nav{height:auto;min-height:72px;}.topbar{padding:8px 0;}
  .logo{width:190px;}
  .menu{width:100%;gap:6px;justify-content:flex-start;overflow:auto;padding:6px 0 0;}
  .menu a{font-size:12px;padding:10px 4px;white-space:nowrap;}
  .menu a:after{display:none;}
  .hero-style.hero-full,.hero-smart-inner{min-height:460px;}
  .hero-main-smart:before{background:linear-gradient(180deg,rgba(244,246,245,.96) 0%,rgba(244,246,245,.82) 62%,rgba(244,246,245,.35) 100%);}
  .hero-smart-copy h1{font-size:42px;}
  .features-overlap{margin-top:18px;}.features-shell{grid-template-columns:1fr!important;}
  .first-course-row,.grid{grid-template-columns:1fr!important;}
  .catalog-tools{grid-template-columns:1fr;}
  .course-hero-facts{grid-template-columns:1fr;}
  .course-detail-image img{height:340px!important;}
  .course-outcomes-grid{grid-template-columns:1fr;}
  .footer-modern-v77 .footer-v77-shell{width:min(100% - 30px,1320px)!important;}
}
