/* CEGAIN Sections – frontend (ligero, sin dependencias) */
.cgs{box-sizing:border-box;position:relative;line-height:1.4;-webkit-font-smoothing:antialiased}
.cgs *,.cgs *::before,.cgs *::after{box-sizing:border-box}
.cgs-full{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.cgs-wrap{width:100%;max-width:var(--w,1200px);margin:0 auto;padding:0 20px;position:relative;z-index:2}
.cgs img{max-width:100%;height:auto;display:block}
.cgs h2,.cgs h3,.cgs p,.cgs ul{margin:0;padding:0}
.cgs ul{list-style:none}
.cgs a{text-decoration:none}
.cgs-secbg{position:absolute;inset:0;overflow:hidden;z-index:0}
.cgs-secbg img{width:100%;height:100%;object-fit:cover}
.cgs-head{margin-bottom:34px}
.cgs-t-title{line-height:1.15}
.cgs-t-eyebrow{margin-bottom:8px}
.cgs-t-sub{margin-top:8px}

/* Botones */
.cgs-btn{display:inline-flex;align-items:center;gap:10px;padding:13px 26px;border-radius:999px;font-weight:600;font-size:15px;line-height:1;background:var(--bb,#e0132f);color:var(--bc,#fff)!important;transition:transform .2s,filter .2s}
.cgs-btn:hover,.cgs-btn:focus-visible{filter:brightness(1.1);transform:translateY(-2px)}
.cgs a:focus-visible,.cgs button:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px rgba(0,0,0,.45)}

/* HERO */
.cgs-hero{overflow:hidden;color:#fff}
.cgs-slides{display:grid}
.cgs-slide{grid-area:1/1;position:relative;display:flex;justify-content:center;min-height:var(--h,580px);opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s}
.cgs-slide.is-active{opacity:1;visibility:visible;z-index:1}
.cgs-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.cgs-bg>img{width:100%;height:100%;object-fit:cover}
.cgs-ov{position:absolute;inset:0;z-index:2}
.cgs-media{position:absolute;inset:0;z-index:1;opacity:0;transition:opacity .8s;container-type:size}
.cgs-media.is-ready{opacity:1}
.cgs-media video,.cgs-media iframe{position:absolute;top:50%;left:50%;width:100%;height:100%;transform:translate(-50%,-50%);border:0;pointer-events:none;object-fit:cover}
.cgs-media iframe{width:max(100cqw,177.78cqh);height:max(100cqh,56.25cqw)}
.cgs-inner{display:flex;align-items:center;gap:30px;padding-top:56px;padding-bottom:56px}
.cgs-left{flex:0 0 var(--lw,52%);max-width:var(--lw,52%);position:relative;z-index:2}
.cgs-hero .cgs-t-title{margin:10px 0 0}
.cgs-t-script{display:inline-block;line-height:1.1;margin:2px 0 18px;position:relative}
.cgs-t-script span,.cgs-side span{position:relative;display:inline-block}
.cgs-t-script.has-ul::after,.cgs-side.has-ul::after{content:"";display:block;height:5px;width:78%;margin:2px 0 0 14%;border-radius:6px;background:var(--ac,#e0132f);transform:skewX(-24deg) rotate(-2deg)}
.cgs-t-desc{max-width:520px;line-height:1.55}
.cgs-feat{display:flex;flex-wrap:wrap;margin-top:28px;gap:14px 0}
.cgs-feat li{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:0 18px;border-left:1px solid rgba(255,255,255,.28);max-width:150px}
.cgs-feat li:first-child{padding-left:0;border-left:0}
.cgs-t-feat{line-height:1.25}
.cgs-hero .cgs-btn{margin-top:26px}
.cgs-right{flex:1;min-width:0;display:flex;justify-content:center;position:relative;z-index:2}
.cgs-right.is-image{align-self:stretch;align-items:flex-end;margin-bottom:-56px}
.cgs-right.is-image img{width:auto;max-width:100%;max-height:calc(var(--h,580px) - 16px);object-fit:contain;object-position:bottom}
.cgs-right.is-form{justify-content:flex-end}
.cgs-form{width:100%;max-width:440px;border-radius:16px;padding:26px;box-shadow:0 18px 50px rgba(0,0,0,.28)}
.cgs-form-t{font-size:22px;font-weight:700;margin-bottom:14px}
.cgs-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),.cgs-form textarea,.cgs-form select{width:100%;padding:11px 14px;border:1px solid #cfd6e6;border-radius:8px;font:inherit;color:#102a5c;background:#fff;margin-bottom:10px}
.cgs-form input[type=submit],.cgs-form button[type=submit]{width:100%;padding:13px;border:0;border-radius:999px;background:var(--ac,#e0132f);color:#fff;font-weight:700;cursor:pointer}
.cgs-form .wpcf7-form p{margin:0}
.cgs-side{position:absolute;z-index:3;line-height:1.1;text-align:center;max-width:46%}
.cgs-arrow{position:absolute;top:50%;z-index:5;width:44px;height:44px;margin-top:-22px;border-radius:50%;border:0;background:rgba(255,255,255,.18);color:#fff;cursor:pointer;backdrop-filter:blur(4px);transition:background .2s}
.cgs-arrow:hover{background:var(--ac,#e0132f)}
.cgs-prev{left:14px}.cgs-next{right:14px}
.cgs-dots{position:absolute;left:0;right:0;bottom:16px;z-index:5;display:flex;justify-content:center;gap:8px}
.cgs-dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer;transition:all .25s}
.cgs-dots button.is-active{background:var(--ac,#e0132f);width:26px;border-radius:6px}

/* PROGRAMAS */
.cgs-cards{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:22px}
.cgs-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:26px 24px;background:var(--cb,#fff);border:1px solid var(--cbr,#e3e8f2);border-radius:var(--cr,12px);transition:transform .25s,box-shadow .25s}
.cgs-card:hover{transform:translateY(-4px)}
.cgs-ic{display:flex;align-items:center;justify-content:center;flex:none;width:var(--is,64px);height:var(--is,64px);border-radius:50%;font-size:calc(var(--is,64px)*.4);margin-bottom:10px}
.cgs-card-x{line-height:1.5}
.cgs-more{margin-top:auto;padding-top:14px;display:inline-flex;align-items:center;gap:8px}
.cgs-more:hover i{transform:translateX(4px)}
.cgs-more i{transition:transform .2s}

/* CONTADORES */
.cgs-cnts{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr))}
.cgs-cnt{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:6px 14px}
.cgs-num{line-height:1.1;font-variant-numeric:tabular-nums}

/* GALERÍA */
.cgs-grid{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:var(--gap,16px);grid-auto-flow:dense}
.cgs-item{position:relative;overflow:hidden;isolation:isolate;min-height:var(--ih,280px);border-radius:var(--ir,10px);background:var(--ibg,#1b2f7a);color:#fff}
.cgs-item.is-wide{grid-column:span 2}
.cgs-item>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.has-zoom .cgs-item:hover>img{transform:scale(1.06)}
.has-shade .cgs-item::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(8,24,70,.88),rgba(8,24,70,0) 62%)}
.cgs-item::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(var(--oa,135deg),var(--o1,#1b2f7a),var(--o2,#e0132f));opacity:0;transition:opacity .35s}
.cgs-item:hover::after,.cgs-item:focus-within::after{opacity:var(--oo,.8)}
.cgs-cap{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:22px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.cgs-it-x{line-height:1.35}
.cgs-pill{margin-top:8px;display:inline-flex;gap:8px;align-items:center;padding:8px 18px;border:1.5px solid rgba(255,255,255,.9);border-radius:999px;font-size:13px;font-weight:600;transition:background .2s,color .2s}
.cgs-item:hover .cgs-pill{background:#fff;color:#0b2a6b}
.cgs-stretch{position:absolute;inset:0;z-index:4}

/* BANNER */
.cgs-banner{color:#fff;overflow:visible}
.cgs-bn{display:flex;align-items:center;gap:32px;min-height:var(--bh,200px)}
.cgs-bn-left{flex:0 0 var(--bl,22%);max-width:var(--bl,22%);align-self:flex-end;position:relative;z-index:3}
.cgs-bn-left img{width:100%;height:auto}
.cgs-bn-left:empty{display:none}
.cgs-bn-mid{flex:1;min-width:0}
.cgs-t-label{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.cgs-t-text{margin-top:8px}
.cgs-bn-cta{margin-top:18px}
.cgs-bn-right{flex:0 0 var(--br,30%);max-width:var(--br,30%)}
.cgs-rcard{position:relative;display:flex;align-items:center;justify-content:center;min-height:130px;padding:22px 76px 22px 28px;background:var(--rb,#fff);border-radius:var(--rr,16px);box-shadow:0 14px 36px rgba(0,0,0,.25);transition:transform .25s}
.cgs-rcard:hover{transform:translateY(-3px)}
.cgs-rcard img{max-height:110px;width:auto;object-fit:contain}
.cgs-play{position:absolute;right:22px;top:50%;margin-top:-22px;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;padding-left:3px}


/* CATÁLOGO (cabecera + tarjetas con imagen) */
.cgs-sc{display:grid;grid-template-columns:var(--lw,27%) minmax(0,1fr);gap:40px;align-items:center}
.cgs-sc-left .cgs-head{margin-bottom:24px}
.cgs-sc-cards{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:var(--gap,16px)}
.cgs-sc-card{position:relative;display:flex;flex-direction:column;overflow:hidden;background:var(--cb,#fff);border-radius:var(--cr,12px);transition:transform .25s,box-shadow .25s}
.cgs-sc-card:hover{transform:translateY(-4px)}
.cgs-sc-media{height:var(--ch,150px);overflow:hidden;background:var(--ph,#1b2f7a)}
.cgs-sc-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.has-zoom .cgs-sc-card:hover .cgs-sc-media img{transform:scale(1.06)}
.cgs-sc-ph{display:block;width:100%;height:100%;background:linear-gradient(135deg,var(--ph,#1b2f7a),#e0132f)}
.cgs-sc-body{display:flex;flex-direction:column;gap:6px;flex:1;padding:16px 16px 18px}
.cgs-sc-x{line-height:1.45}
.cgs-sc-body .cgs-more{padding-top:10px}
.cgs-sc-card:hover .cgs-more i{transform:translateX(4px)}
@media(max-width:991px){
.cgs-sc{grid-template-columns:1fr;gap:28px}
.cgs-sc-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:575px){
.cgs-sc-cards{grid-template-columns:1fr}
}


/* CONTACTO (fondo + textos + formulario) */
.cgs-contact{color:#fff}
.cgs-ct{display:grid;grid-template-columns:minmax(0,1fr) var(--fw,480px);gap:var(--cg,80px);align-items:center}
.cgs-badge{display:inline-block;padding:7px 16px;border:1.5px solid var(--ac,#e0132f);border-radius:999px;margin-bottom:22px}
.cgs-contact .cgs-t-title{margin-bottom:16px}
.cgs-ck{display:flex;flex-direction:column;gap:12px;margin-top:24px}
.cgs-ck li{display:flex;align-items:center;gap:12px}
.cgs-ck-i{display:flex;align-items:center;justify-content:center;flex:none;width:26px;height:26px;border-radius:50%;font-size:12px}
.cgs-ctform{box-shadow:0 24px 60px rgba(0,0,0,.35);color:#0b2a6b}
.cgs-ctf-t{margin-bottom:6px}
.cgs-ctf-s{margin-bottom:18px;line-height:1.45}
.cgs-ctform label{display:block;margin-bottom:6px}
.cgs-ctform p{margin:0 0 14px}
.cgs-ctform .wpcf7-form-control-wrap{display:block;margin-top:6px}
.cgs-ctform input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=file]),.cgs-ctform select,.cgs-ctform textarea{display:block;width:100%;max-width:100%;padding:12px 14px;font:inherit;font-size:14px;color:#102a5c;background:var(--ib,#f6f8fb);border:1px solid var(--ibd,#e1e6f0);border-radius:var(--ir,8px);box-shadow:none;transition:border-color .2s,box-shadow .2s}
.cgs-ctform textarea{min-height:120px;resize:vertical}
.cgs-ctform input:focus,.cgs-ctform select:focus,.cgs-ctform textarea:focus{outline:0;border-color:var(--sb,#0b2a6b);box-shadow:0 0 0 3px rgba(11,42,107,.15)}
.cgs-ctform input[type=submit],.cgs-ctform button[type=submit],.cgs-ctform .wpforms-submit,.cgs-ctform .ff-btn-submit{display:block;width:100%;padding:14px;border:0;border-radius:var(--sr,8px);background:var(--sb,#0b2a6b);color:var(--sc,#fff);font-weight:700;font-size:15px;cursor:pointer;transition:filter .2s,transform .2s}
.cgs-ctform input[type=submit]:hover,.cgs-ctform button[type=submit]:hover{filter:brightness(1.15);transform:translateY(-1px)}
.cgs-ctform .wpcf7-not-valid-tip{font-size:12px;margin-top:4px;color:#c0172b}
.cgs-ctform .wpcf7-response-output{margin:14px 0 0!important;padding:10px 14px!important;border-radius:8px;font-size:13px}
@media(max-width:991px){
.cgs-ct{grid-template-columns:1fr;gap:36px}
.cgs-ctform{max-width:560px}
}
@media(max-width:575px){
.cgs-ctform{padding:22px!important}
}


/* VIDEOS */
.cgs-vd{display:grid;grid-template-columns:var(--bw,58%) minmax(0,1fr);gap:var(--gap,22px);align-items:start}
.cgs-vd-side{display:flex;flex-direction:column;gap:14px}
.cgs-vi{display:block;color:inherit;cursor:pointer}
div.cgs-vi{cursor:default}
.cgs-vm{position:relative;display:block;overflow:hidden;isolation:isolate;border-radius:var(--r,12px);background:#0b2a6b}
.cgs-vi-b .cgs-vm{height:var(--bh,300px)}
.cgs-vi-s{display:flex;align-items:center;gap:16px}
.cgs-vi-s .cgs-vm{flex:0 0 var(--tw,130px);width:var(--tw,130px);height:var(--th,84px)}
.cgs-vm img,.cgs-vph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.cgs-vph{background:linear-gradient(135deg,#1b2f7a,#e0132f)}
.has-zoom .cgs-vi:hover .cgs-vm img,.has-zoom .cgs-vi:hover .cgs-vph{transform:scale(1.06)}
.cgs-vm::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(var(--oa,135deg),var(--o1,#1b2f7a),var(--o2,#e0132f));opacity:0;transition:opacity .35s}
a.cgs-vi:hover .cgs-vm::after,a.cgs-vi:focus-visible .cgs-vm::after{opacity:var(--oo,.8)}
.cgs-vplay{position:absolute;z-index:3;top:50%;left:50%;display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:50%;background:var(--pb,#e0132f);color:var(--pc,#fff);font-size:10px;padding-left:2px;box-shadow:0 4px 14px rgba(0,0,0,.35);transition:transform .25s}
.cgs-vi-b .cgs-vplay{width:var(--ps,60px);height:var(--ps,60px);margin:calc(var(--ps,60px)/-2) 0 0 calc(var(--ps,60px)/-2);font-size:calc(var(--ps,60px)*.36);padding-left:calc(var(--ps,60px)*.06)}
a.cgs-vi:hover .cgs-vplay{transform:scale(1.12)}
.no-play .cgs-vplay{display:none}
.cgs-vt{display:block;line-height:1.3}
.cgs-vi-b .cgs-vt{margin-top:12px}
.cgs-vd-all{margin-top:22px}
.cgs-all{display:inline-flex;align-items:center;gap:8px}
.cgs-all:hover i{transform:translateX(4px)}
.cgs-all i{transition:transform .2s}

/* Reproductor flotante */
.cgs-lb{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;box-sizing:border-box}
.cgs-lb *{box-sizing:border-box}
.cgs-lb.is-open{opacity:1;visibility:visible}
.cgs-lb-bg{position:absolute;inset:0;background:var(--lbbg,#0a1b4d);opacity:var(--lbop,.88)}
.cgs-lb-box{position:relative;width:min(960px,100%);transform:scale(.96);transition:transform .25s}
.cgs-lb.is-open .cgs-lb-box{transform:scale(1)}
.cgs-lb-v{position:relative;aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.cgs-lb-v iframe,.cgs-lb-v video{position:absolute;inset:0;width:100%;height:100%;border:0}
.cgs-lb-x{position:absolute;top:-48px;right:0;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font-size:22px;line-height:1;cursor:pointer;transition:background .2s}
.cgs-lb-x:hover{background:#e0132f}
.cgs-lb-x:focus-visible{outline:3px solid #fff;outline-offset:2px}
.cgs-lb-cap{margin:14px 0 0;color:#fff;font-weight:600;font-size:16px}
body.cgs-lb-open{overflow:hidden}
@media(max-width:767px){
.cgs-vd{grid-template-columns:1fr}
.cgs-lb-x{top:-46px}
}

/* Responsive */
@media(max-width:991px){
.cgs-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.cgs-cnts{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}
.cgs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.cgs-left{flex-basis:60%;max-width:60%}
}
@media(max-width:767px){
.cgs-inner{flex-direction:column;align-items:flex-start;padding-top:44px;padding-bottom:44px;gap:20px}
.cgs-left{flex:none;max-width:100%;width:100%}
.cgs-right.is-image{align-self:center;margin-bottom:-44px;width:100%}
.cgs-right.is-form{justify-content:center;width:100%}
.cgs-side{position:static;max-width:100%}
.cgs-feat li{max-width:46%;border-left:0;padding:0 14px 0 0}
.cgs-arrow{display:none}
.cgs-grid{grid-template-columns:1fr}
.cgs-item.is-wide{grid-column:auto}
.cgs-bn{flex-direction:column;align-items:stretch;gap:20px;text-align:left}
.cgs-bn-left{flex:none;max-width:55%;margin:0 auto;align-self:center}
.cgs-bn-right{flex:none;max-width:100%}
}
@media(max-width:575px){
.cgs-cards{grid-template-columns:1fr}
.cgs-cnt{padding:6px 6px}
}
@media(prefers-reduced-motion:reduce){
.cgs *,.cgs *::before,.cgs *::after{transition:none!important;animation:none!important}
}
