/* Shared states and interaction semantics; widget-specific visuals stay isolated. */
.elementor-widget[class*="elementor-widget-ai_plus_"]>.elementor-widget-container{min-width:0}
.aip-widget-runtime-shell{position:relative;min-width:0;color:var(--aip-widget-text,var(--aip-text));background:var(--aip-widget-section-bg,transparent);border-radius:var(--aip-radius-md)}
.aip-widget-runtime-shell :where(button,[role="button"],a,input,select,textarea):focus-visible{outline:0;box-shadow:var(--aip-focus)}
.aip-widget-runtime-shell [role="tablist"]{isolation:isolate}.aip-widget-runtime-shell [role="tab"][aria-selected="true"]{color:var(--aip-widget-button-text,#fff);background:var(--aip-widget-button-bg,var(--aip-primary))}
.aip-widget-runtime-shell [role="tabpanel"][hidden]{display:none}
.aip-widget-runtime-shell :where(button,a).is-active{transform:translateY(-1px)}
.aip-widget-runtime-shell [aria-disabled="true"],.aip-widget-runtime-shell :disabled{cursor:not-allowed;opacity:.52}
.aip-widget-runtime-shell [aria-busy="true"]{position:relative;pointer-events:none}.aip-widget-runtime-shell [aria-busy="true"]:after{content:"";position:absolute;inset:50% auto auto 50%;width:18px;height:18px;margin:-9px;border:2px solid currentColor;border-left-color:transparent;border-radius:50%;animation:aip-component-spin .7s linear infinite}
.elementor-widget[class*="aip-widget-state-"] .aip-widget-runtime-shell:before{position:absolute;z-index:20;inset:12px auto auto 12px;padding:5px 9px;border-radius:999px;background:var(--aip-surface);color:var(--aip-text);border:1px solid var(--aip-border);font-size:11px;font-weight:800;box-shadow:var(--aip-shadow-sm)}
.elementor-widget.aip-widget-state-loading .aip-widget-runtime-shell{opacity:.72;cursor:progress}.elementor-widget.aip-widget-state-loading .aip-widget-runtime-shell:before{content:"Loading"}
.elementor-widget.aip-widget-state-empty .aip-widget-runtime-shell:before{content:"Empty"}.elementor-widget.aip-widget-state-error .aip-widget-runtime-shell{--aip-border:#ef4444;--aip-accent:#ef4444}.elementor-widget.aip-widget-state-error .aip-widget-runtime-shell:before{content:"Error";color:#ef4444}
@keyframes aip-component-spin{to{transform:rotate(360deg)}}
@media(max-width:1024px){.aip-widget-runtime-shell{--aip-widget-columns:2}}
@media(max-width:767px){.aip-widget-runtime-shell{--aip-widget-columns:1}.aip-widget-runtime-shell :where(.aip-e-hero,.aip-e-feature-spotlight){grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.aip-widget-runtime-shell *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
