/* Página comercial (www): estado de módulos, normas, planes, consentimiento y pie de página. v3.3.2 */
.cgp-legend{display:flex;flex-wrap:wrap;gap:10px}
.cgp-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.02em;border-radius:999px;padding:4px 11px;line-height:1.4;white-space:nowrap}
.cgp-chip::before{content:"";width:8px;height:8px;border-radius:50%}
.cgp-chip.ready{background:#dcfce7;color:#166534}
.cgp-chip.ready::before{background:#16a34a}
.cgp-chip.next{background:#f5f3ff;color:#5b21b6;border:1px solid #c4b5fd;padding:3px 10px}
.cgp-chip.next::before{background:transparent;border:2px solid #7c3aed;box-sizing:border-box}
.module-card .cgp-chip{margin:14px 0 2px}
.cgp-norm-title{margin:22px 0 12px;font-size:15px;font-weight:700;letter-spacing:.02em;color:#86efac}
.cgp-norm-title.next{color:#c4b5fd}
.norm-cloud.cgp-next span{background:transparent;border-style:dashed;opacity:.82}
.cgp-about-card p+p{margin-top:8px}
.cgp-about-card strong{color:#0f172a}
.cgp-testimonial blockquote{margin:0;padding:0 0 0 14px;border-left:3px solid #6366f1}
.cgp-testimonial blockquote p{margin:0;font-style:italic;color:#1e293b}
.cgp-quote-author{margin-top:14px!important;display:flex;flex-direction:column;gap:2px;font-size:14px}
.cgp-quote-author strong{color:#0f172a}
.cgp-quote-author span{color:#475569;font-size:13px}
.cgp-price{margin:2px 0 10px!important;font-weight:700;color:#1e3a8a!important;font-size:15px}
.plan-card{display:flex;flex-direction:column}
.plan-card ul{flex:1}
.cgp-plan-cta{margin-top:18px;align-self:stretch;justify-content:center;text-align:center}
.plan-card .landing-cta.secondary{color:#1e293b;border-color:#cbd5e1;background:#fff}
.cgp-consent{display:flex;gap:10px;align-items:flex-start;margin:10px 0 0;font-size:13px;line-height:1.45;color:#334155;font-weight:500;cursor:pointer}
.cgp-consent input{width:18px;height:18px;margin:1px 0 0;flex:none;accent-color:#4f46e5}
.cgp-consent a{color:#4338ca}
.cgp-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:28px 48px;margin:28px 0 0;padding:32px 28px 24px;border-top:1px solid rgba(148,163,184,.22);color:#cbd5e1}
.cgp-footer-brand{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:10px}
.cgp-footer-brand img{height:30px;width:auto;align-self:flex-start}
.cgp-footer-brand p{margin:0;font-size:14px;color:#94a3b8;max-width:320px}
.cgp-footer-links{display:flex;flex-wrap:wrap;gap:24px 56px;font-size:14px}
.cgp-footer-links div{display:flex;flex-direction:column;gap:9px}
.cgp-footer-links span{color:#f1f5f9;font-weight:700}
.cgp-footer-links a{color:#cbd5e1;text-decoration:none}
.cgp-footer-links a:hover{color:#fff;text-decoration:underline}
.cgp-copy{flex-basis:100%;margin:8px 0 0;padding-top:16px;border-top:1px solid rgba(148,163,184,.14);font-size:13px;color:#94a3b8}
.cgp-legend{margin:14px 0 18px}
.landing-cta.cgp-sending{display:inline-flex;align-items:center;gap:8px;cursor:progress;opacity:.85}
.landing-cta.cgp-sending::before{content:"";width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:cgpSpin .7s linear infinite}
@keyframes cgpSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.landing-cta.cgp-sending::before{animation-duration:2.4s}}
.cg-country{position:relative}
.cg-country .cg-country-input{width:100%}
.cg-country.has-flag .cg-country-input{padding-left:46px}
.cg-flag{display:inline-block;flex:0 0 24px;width:24px;height:18px;border-radius:3px;background:url("./flags/flags-4x3.png") no-repeat;background-size:384px 288px;box-shadow:0 0 0 1px rgba(15,23,42,.18)}
.cg-flag.cg-flag-other{background:#e2e8f0;box-shadow:none;position:relative}
.cg-flag.cg-flag-other::after{content:"";position:absolute;inset:3px 6px;border:2px solid #64748b;border-radius:50%}
.cg-country-selected[hidden]{display:none}
.cg-country-selected{position:absolute;left:14px;top:50%;transform:translateY(-50%);pointer-events:none}
.cg-country-list{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 6px);margin:0;padding:6px;list-style:none;max-height:288px;overflow-y:auto;background:#fff;border:1px solid #cbd5e1;border-radius:14px;box-shadow:0 18px 40px rgba(15,23,42,.18)}
.cg-country-option{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 10px;border-radius:10px;color:#0f172a;font-size:14px;cursor:pointer}
.cg-country-option:hover,.cg-country-option[aria-selected="true"]{background:#eff6ff}
.cg-country-option[aria-selected="true"]{outline:2px solid #2563eb;outline-offset:-2px}
.cg-country-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:reduce){.cg-country-list{scroll-behavior:auto}}
/* Selector de sector CIIU con búsqueda (misma base que el de países) */
.cg-sector.has-badge .cg-country-input{padding-left:48px}
.cg-sector-badge{flex:0 0 28px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:24px;border-radius:7px;background:#e0e7ff;color:#3730a3;font-weight:800;font-size:12px;line-height:1}
.cg-sector-selected{position:absolute;left:12px;top:50%;transform:translateY(-50%);pointer-events:none}
.cg-sector-selected[hidden]{display:none}
.cg-sector-list{max-height:360px}
.cg-sector-option{align-items:flex-start}
.cg-sector-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.cg-sector-text b{font-weight:600;color:#0f172a}
.cg-sector-text small{color:#64748b;font-size:12px;line-height:1.35}
.cg-sector-empty{padding:10px 12px;color:#64748b;font-size:13px}
.cgp-client{display:flex;align-items:center;gap:12px;margin:2px 0 10px}
.cgp-client img{flex:none;width:48px;height:48px;object-fit:contain}
.cgp-client p{margin:0!important}
.cgp-nowrap{white-space:nowrap}
/* Login de la app: pie compacto en una línea, visible sin desplazarse */
html.platform-login-host #login main{min-height:calc(100vh - 72px)}
html.platform-login-host .cgp-footer{margin:0;padding:14px 24px;align-items:center;gap:8px 28px}
html.platform-login-host .cgp-footer-brand{flex:0 0 auto;flex-direction:row;align-items:center}
html.platform-login-host .cgp-footer-brand img{height:22px}
html.platform-login-host .cgp-footer-brand p,html.platform-login-host .cgp-footer-links span{display:none}
html.platform-login-host .cgp-footer-links{gap:6px 20px;font-size:13px}
html.platform-login-host .cgp-footer-links div{flex-direction:row;flex-wrap:wrap;gap:6px 20px}
html.platform-login-host .cgp-copy{flex-basis:auto;margin:0;padding:0;border:0;font-size:12px}
html.platform-login-host body:has(> #login.commercial-landing:not([style*="none"])){background:#020617}
@media (min-width:701px){html.platform-login-host .cgp-footer{padding-right:220px}}
@media (max-width:700px){html.platform-login-host #login main{min-height:0}html.platform-login-host .cgp-footer{justify-content:center;text-align:center}}

/* 3.5.0 — Formulario de demo: campo trampa oculto y espacio del widget anti-bots */
.cgp-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
.cgp-turnstile {
  min-height: 65px;
  margin: 4px 0 2px;
}
.cgp-turnstile[hidden] {
  display: none;
}
/* Táctil: enlaces del pie con área de toque suficiente (WCAG 2.2, 2.5.8) */
@media (max-width:720px),(pointer:coarse){.cgp-footer-links a{display:inline-flex;align-items:center;min-height:44px}.cgp-footer-links div{gap:0}html.platform-login-host .cgp-footer-links a{min-height:32px}html.platform-login-host .cgp-footer-links div{gap:0 20px}}
