/* Wakoo Suite: shared tokens and components. Colors/radius come from the widget's style section. */
.wks { --wks-accent: #6C5CE7; --wks-text: inherit; --wks-bg: transparent; --wks-line: rgba(127,127,127,.28); --wks-radius: 12px; --wks-soft: color-mix(in srgb, var(--wks-accent) 12%, transparent); color: var(--wks-text); background: var(--wks-bg); box-sizing: border-box; position: relative; }
.wks *, .wks *::before, .wks *::after { box-sizing: border-box; }
.wks [hidden] { display: none !important; }
.wks .wks-btn, .wks button.wks-btn { background: var(--wks-accent) !important; color: #fff !important; border: 0 !important; border-radius: var(--wks-radius); padding: 10px 18px; font: inherit; font-weight: 600; cursor: pointer; text-decoration: none; display: inline-block; line-height: 1.3; }
.wks .wks-btn:hover { filter: brightness(1.08); }
.wks .wks-btn[disabled] { opacity: .55; cursor: default; }
.wks .wks-btn--ghost, .wks button.wks-btn--ghost { background: transparent !important; color: var(--wks-accent) !important; box-shadow: inset 0 0 0 2px var(--wks-accent); }
.wks .wks-chip, .wks button.wks-chip { background: var(--wks-soft) !important; color: inherit !important; border: 0 !important; border-radius: 999px; padding: 6px 14px; cursor: pointer; font: inherit; font-size: .9em; }
.wks .wks-chip.is-active, .wks button.wks-chip.is-active { background: var(--wks-accent) !important; color: #fff !important; }
.wks input[type=text], .wks input[type=email], .wks input[type=search], .wks input[type=tel], .wks input[type=number], .wks input[type=date], .wks select, .wks textarea { width: 100%; padding: 9px 12px; border: 1px solid var(--wks-line); border-radius: calc(var(--wks-radius) * .7); font: inherit; background: #fff; color: #222; }
.wks input:focus-visible, .wks select:focus-visible, .wks textarea:focus-visible, .wks button:focus-visible, .wks a:focus-visible, .wks [tabindex]:focus-visible { outline: 3px solid var(--wks-accent); outline-offset: 2px; }
.wks label { display: block; font-weight: 600; font-size: .92em; margin-bottom: 4px; }
.wks .wks-field { margin-bottom: 12px; }
.wks .wks-msg { margin-top: 10px; font-size: .95em; }
.wks .wks-msg.is-ok { color: #1e824c; } .wks .wks-msg.is-err { color: #c0392b; }
.wks .wks-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.wks .wks-card { border: 1px solid var(--wks-line); border-radius: var(--wks-radius); padding: 16px; background: var(--wks-bg); }
.wks .wks-bar { height: 10px; border-radius: 99px; background: var(--wks-soft); overflow: hidden; }
.wks .wks-bar > i { display: block; height: 100%; background: var(--wks-accent); border-radius: 99px; width: 0; transition: width .6s ease; }
.wks .wks-stars { color: #f5b301; letter-spacing: 2px; white-space: nowrap; }
.wks .wks-group-title { font-weight: 700; margin: 18px 0 8px; font-size: 1.05em; }
.wks .wks-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { .wks *, .wks *::before, .wks *::after { transition: none !important; animation: none !important; } }

/* "Editar tabla" button, only printed inside the Elementor preview */
.wks-ed-open{display:inline-block;margin:0 0 8px;padding:6px 12px;border:0!important;border-radius:6px;background:#5b4cdb!important;color:#fff!important;font:600 13px/1.2 sans-serif;cursor:pointer}
