/* ClassGo Core — estilos de formularios, planes y pago */
.cg-form,.cg-pago,.cg-planes,.cg-ok{--cg-navy:#0B2A5B;--cg-text2:#4A5872;--cg-soft:#EEF2F8;--cg-line:#DCE3EE;--cg-err:#B42318;color:var(--cg-navy);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.cg-btn,.cg-pagar{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border:0;border-radius:10px;background:#0B2A5B;color:#fff!important;font:inherit;font-weight:600;font-size:16px;text-decoration:none;cursor:pointer}
.cg-btn:hover{background:#163F80}
.cg-btn[disabled],.cg-pagar[disabled]{opacity:.6;cursor:wait}

/* Formularios */
.cg-form{display:flex;flex-direction:column;gap:22px}
.cg-grid{display:flex;flex-wrap:wrap;gap:18px 16px}
.cg-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.cg-w50{flex:1 1 calc(50% - 8px);min-width:240px}
.cg-w100{flex:1 1 100%}
.cg-seccion{flex:1 1 100%;margin:18px 0 0;font-size:22px;font-weight:700;color:var(--cg-navy)}
.cg-seccion:first-child{margin-top:0}
.cg-field>label,.cg-field legend{font-size:14px;font-weight:600;color:var(--cg-navy);padding:0}
.cg-field fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.cg-help{font-size:13px;color:var(--cg-text2)}
.cg-form input[type=text],.cg-form input[type=tel],.cg-form input[type=email],.cg-form select,.cg-form textarea,.cg-pago input[type=text],.cg-pago input[type=tel],.cg-pago input[type=email]{width:100%;box-sizing:border-box;min-height:52px;padding:12px 16px;border:0;border-radius:10px;background:var(--cg-soft);color:var(--cg-navy);font:inherit;font-size:16px}
.cg-form textarea{min-height:120px;resize:vertical}
.cg-form :is(input,select,textarea):focus,.cg-pago input:focus{outline:2px solid var(--cg-navy);outline-offset:2px}
.cg-form [aria-invalid=true]{outline:2px solid var(--cg-err)}
.cg-chips{display:flex;flex-wrap:wrap;gap:8px}
.cg-chip{position:relative;cursor:pointer}
.cg-chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.cg-chip span{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid #C3CEDF;border-radius:999px;background:#fff;font-size:15px;font-weight:600;color:var(--cg-navy)}
.cg-chip input:checked+span{background:var(--cg-navy);border-color:var(--cg-navy);color:#fff}
.cg-chip input:focus-visible+span{outline:2px solid var(--cg-navy);outline-offset:2px}
.cg-check{display:flex;align-items:flex-start;gap:12px;font-size:15px;line-height:1.5;cursor:pointer}
.cg-check input{width:20px;height:20px;margin:2px 0 0;accent-color:#0B2A5B;flex:none}
.cg-error{margin:0;font-size:14px;font-weight:600;color:var(--cg-err)}
.cg-error:empty{display:none}
.cg-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.cg-ok{background:var(--cg-soft);border-radius:20px;padding:32px}
.cg-ok h3{margin:0 0 10px;font-size:26px}
.cg-ok p{color:var(--cg-text2)}

/* Planes */
.cg-planes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.cg-plan-card{background:var(--cg-soft);border-radius:18px;padding:26px;display:flex;flex-direction:column;gap:12px}
.cg-plan-card h3{margin:0;font-size:22px;font-weight:700;color:var(--cg-navy)}
.cg-plan-card p{margin:0;color:var(--cg-text2);font-size:15px}
.cg-plan-precio{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}
.cg-plan-precio span{flex:1 1 100%;font-size:13px;color:var(--cg-text2)}
.cg-plan-precio strong{font-size:28px;font-weight:700;color:var(--cg-navy)}
.cg-plan-precio.cg-sec strong{font-size:20px}
.cg-plan-precio small{color:var(--cg-text2)}
.cg-modalidades{list-style:none;margin:18px 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.cg-modalidades li{background:#fff;border:1px solid var(--cg-line);border-radius:999px;padding:8px 14px;font-size:14px;color:var(--cg-navy)}

/* Pago */
.cg-banner-ok{background:#E7F6EC;color:#14532D;border-radius:14px;padding:16px 20px;margin:0 0 28px;font-size:15px;line-height:1.5}
.cg-pago{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start}
.cg-pago-form{flex:1.6 1 560px;min-width:0;display:flex;flex-direction:column;gap:36px}
.cg-pago-form>.cg-only-plan{display:flex;flex-direction:column;gap:36px}
.cg-pago h2{margin:0 0 14px;font-size:22px;font-weight:700;color:var(--cg-navy)}
.cg-cards{display:grid;gap:12px}
.cg-c2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.cg-c3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.cg-c4{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.cg-card{font:inherit;text-align:left;display:flex;flex-direction:column;gap:4px;padding:20px;border-radius:16px;cursor:pointer;background:#fff;color:var(--cg-navy);border:2px solid var(--cg-line);min-height:96px}
.cg-card[aria-pressed=true]{background:var(--cg-navy);color:#fff;border-color:var(--cg-navy)}
.cg-card:focus-visible{outline:2px solid var(--cg-navy);outline-offset:3px}
.cg-card-t{font-size:19px;font-weight:700}
.cg-card-d{font-size:14px;opacity:.85;line-height:1.5}
.cg-card-p{font-size:22px;font-weight:700;margin-top:auto;padding-top:8px}
.cg-op{opacity:.75;font-size:13px}
.cg-note{margin:12px 0 0;font-size:14px;color:var(--cg-text2)}
.cg-chipbtn{font:inherit;font-size:15px;font-weight:600;padding:0 18px;min-height:44px;border-radius:999px;cursor:pointer;background:#fff;color:var(--cg-navy);border:1px solid #C3CEDF}
.cg-chipbtn[aria-pressed=true]{background:var(--cg-navy);color:#fff;border-color:var(--cg-navy)}
.cg-box{background:var(--cg-soft);border-radius:14px;padding:20px;margin:14px 0;font-size:15px;color:var(--cg-text2)}
.cg-box p{margin:0}
.cg-box strong{color:var(--cg-navy)}
.cg-box dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 24px;margin:12px 0}
.cg-box dt{font-size:13px}
.cg-box dd{margin:0;color:var(--cg-navy)}
.cg-resumen{flex:1 1 320px;min-width:0;position:sticky;top:24px;box-sizing:border-box;background:var(--cg-navy);color:#fff;border-radius:24px;padding:32px;display:flex;flex-direction:column;gap:18px}
.cg-resumen h2{color:#fff;margin:0}
.cg-resumen dl{margin:0;display:flex;flex-direction:column;gap:12px;font-size:15px}
.cg-resumen dl>div{display:flex;justify-content:space-between;gap:16px}
.cg-resumen dt{color:#BFCBDD}
.cg-resumen dd{margin:0;text-align:right}
.cg-r-detalle{font-weight:600}
.cg-total{border-top:1px solid #2E4C7E;padding-top:18px;display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-weight:600}
.cg-total strong{font-size:32px;font-weight:700}
.cg-pagar{background:#fff;color:#0B2A5B!important;font-weight:700;font-size:17px;min-height:56px;width:100%}
.cg-resumen .cg-error{color:#FFB4AB}
.cg-done{margin:0;font-size:14px;color:#D3DCEA}
.cg-small{margin:0;font-size:13px;color:#BFCBDD}
.cg-small a{color:#fff}
.cg-pago[data-concepto=reserva] .cg-only-plan,.cg-pago[data-concepto=plan] .cg-only-reserva{display:none!important}
@media (max-width:760px){.cg-resumen{position:static}.cg-w50{flex-basis:100%}}

/* ==================================================================
   Blindaje: los estilos globales del tema o del Kit de Elementor
   (botones, campos, enlaces) no deben cambiar el diseño de ClassGo.
   ================================================================== */
body .cg-pago button.cg-card,body .cg-pago button.cg-card:hover,body .cg-pago button.cg-card:focus,body .cg-pago button.cg-card:active{all:unset;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:4px!important;width:100%!important;min-height:96px!important;margin:0!important;padding:20px!important;border:2px solid #DCE3EE!important;border-radius:16px!important;background:#FFFFFF!important;background-image:none!important;color:#0B2A5B!important;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important;font-size:16px!important;font-weight:400!important;line-height:1.35!important;text-align:left!important;text-transform:none!important;letter-spacing:normal!important;white-space:normal!important;word-break:normal!important;box-shadow:none!important;text-shadow:none!important;transform:none!important;transition:background-color .15s,border-color .15s!important;cursor:pointer!important}
body .cg-pago button.cg-card:hover{border-color:#9FB0CC!important}
body .cg-pago button.cg-card[aria-pressed=true],body .cg-pago button.cg-card[aria-pressed=true]:hover,body .cg-pago button.cg-card[aria-pressed=true]:focus,body .cg-pago button.cg-card[aria-pressed=true]:active{background:#0B2A5B!important;border-color:#0B2A5B!important;color:#FFFFFF!important}
body .cg-pago button.cg-card:focus-visible{outline:2px solid #0B2A5B!important;outline-offset:3px!important}
body .cg-pago button.cg-card *{color:inherit!important;font-family:inherit!important;text-transform:none!important;letter-spacing:normal!important;white-space:normal!important;background:none!important}
body .cg-pago .cg-card-t{font-size:19px!important;font-weight:700!important;line-height:1.25!important}
body .cg-pago .cg-card-d{font-size:14px!important;line-height:1.5!important;opacity:.85}
body .cg-pago .cg-card-d b{font-weight:700!important}
body .cg-pago .cg-card-p{font-size:22px!important;font-weight:700!important;margin-top:auto!important;padding-top:8px!important}
body .cg-pago .cg-op{opacity:.75;font-size:13px!important}

body .cg-pago button.cg-chipbtn,body .cg-pago button.cg-chipbtn:hover,body .cg-pago button.cg-chipbtn:focus,body .cg-pago button.cg-chipbtn:active{all:unset;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;min-height:44px!important;margin:0!important;padding:0 18px!important;border:1px solid #C3CEDF!important;border-radius:999px!important;background:#FFFFFF!important;color:#0B2A5B!important;font-family:Inter,system-ui,sans-serif!important;font-size:15px!important;font-weight:600!important;line-height:1.2!important;text-transform:none!important;letter-spacing:normal!important;white-space:nowrap!important;box-shadow:none!important;cursor:pointer!important}
body .cg-pago button.cg-chipbtn[aria-pressed=true],body .cg-pago button.cg-chipbtn[aria-pressed=true]:hover{background:#0B2A5B!important;border-color:#0B2A5B!important;color:#FFFFFF!important}
body .cg-pago button.cg-chipbtn:focus-visible{outline:2px solid #0B2A5B!important;outline-offset:2px!important}

body .cg-pago button.cg-pagar,body .cg-pago button.cg-pagar:hover,body .cg-pago button.cg-pagar:focus,body .cg-pago button.cg-pagar:active{all:unset;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:56px!important;margin:0!important;padding:0 20px!important;border:0!important;border-radius:12px!important;background:#FFFFFF!important;color:#0B2A5B!important;font-family:Inter,system-ui,sans-serif!important;font-size:17px!important;font-weight:700!important;line-height:1.2!important;text-align:center!important;text-transform:none!important;letter-spacing:normal!important;box-shadow:none!important;cursor:pointer!important}
body .cg-pago button.cg-pagar:hover{background:#EEF2F8!important}
body .cg-pago button.cg-pagar:focus-visible{outline:2px solid #FFFFFF!important;outline-offset:3px!important}

body a.cg-btn,body a.cg-btn:hover,body a.cg-btn:focus,body button.cg-btn,body button.cg-btn:hover,body button.cg-btn:focus{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:52px!important;padding:0 26px!important;border:0!important;border-radius:10px!important;background:#0B2A5B!important;background-image:none!important;color:#FFFFFF!important;font-family:Inter,system-ui,sans-serif!important;font-size:16px!important;font-weight:600!important;line-height:1.2!important;text-decoration:none!important;text-transform:none!important;letter-spacing:normal!important;box-shadow:none!important;width:auto!important}
body a.cg-btn:hover,body button.cg-btn:hover{background:#163F80!important}

body .cg-pago input[type=text],body .cg-pago input[type=tel],body .cg-pago input[type=email],body .cg-form input[type=text],body .cg-form input[type=tel],body .cg-form input[type=email],body .cg-form select,body .cg-form textarea{box-sizing:border-box!important;width:100%!important;min-height:52px!important;margin:0!important;padding:12px 16px!important;border:1px solid #EEF2F8!important;border-radius:10px!important;background:#EEF2F8!important;color:#0B2A5B!important;font-family:Inter,system-ui,sans-serif!important;font-size:16px!important;line-height:1.4!important;box-shadow:none!important}
body .cg-pago input:focus,body .cg-form input:focus,body .cg-form select:focus,body .cg-form textarea:focus{outline:2px solid #0B2A5B!important;outline-offset:2px!important}
body .cg-form [aria-invalid=true]{outline:2px solid #B42318!important}
body .cg-pago label,body .cg-form label,body .cg-form legend{color:#0B2A5B!important;text-transform:none!important;letter-spacing:normal!important}
body .cg-pago h2,body .cg-form .cg-seccion{color:#0B2A5B!important;font-family:"Inter Tight",Inter,system-ui,sans-serif!important;font-size:22px!important;font-weight:700!important;line-height:1.25!important;text-transform:none!important;letter-spacing:normal!important}
body .cg-pago .cg-resumen h2{color:#FFFFFF!important}
body .cg-pago .cg-resumen{background:#0B2A5B!important;color:#FFFFFF!important}
body .cg-chip span{text-transform:none!important;letter-spacing:normal!important}
body .cg-pago .cg-small a{color:#FFFFFF!important;text-decoration:underline!important}
