/* Core: structural CSS only. Appearance inherits Elementor; no site-wide selectors. */
.cdv-core{box-sizing:border-box;min-width:0;position:relative;color:inherit;font:inherit}
.cdv-core .cdv-core-label{display:block;margin-bottom:.4em}
.cdv-core .cdv-core-input{box-sizing:border-box;width:100%;font:inherit;color:inherit}
.cdv-core .cdv-core-help{display:block}
.cdv-core .cdv-core-check{display:flex;align-items:flex-start;gap:.5em}
.cdv-core .cdv-core-check input{flex:none;margin-top:.3em}
.cdv-core .cdv-core-button{font:inherit;cursor:pointer}
.cdv-core .cdv-core-button:disabled{cursor:not-allowed;opacity:.55}
.cdv-core .cdv-core-button:focus-visible,.cdv-core .cdv-core-input:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.cdv-core .cdv-core-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);opacity:0;pointer-events:none}
.cdv-core .cdv-core-message:empty{display:none}
.cdv-core .cdv-core-message{margin-top:.5em;overflow-wrap:anywhere}
.cdv-core .cdv-core-list{display:grid;gap:var(--cdv-list-gap,.5em);max-height:var(--cdv-list-height,32rem);overflow:auto}
.cdv-core .cdv-core-row{padding:.5em 0;overflow-wrap:anywhere}
.cdv-core .cdv-core-wheel-layout{display:flex;align-items:center;gap:1em;flex-wrap:wrap}
.cdv-core .cdv-core-stage{flex:1;min-width:0;position:relative;display:flex;justify-content:var(--cdv-wheel-align,center)}
.cdv-core .cdv-core-stage canvas{display:block;width:var(--cdv-wheel-size,100%);max-width:100%;height:auto;aspect-ratio:1}
.cdv-core .cdv-core-pointer{position:absolute;z-index:2;top:3.7%;left:var(--cdv-pointer-left,50%);transform:translateX(-50%);border-left:.65em solid transparent;border-right:.65em solid transparent;border-top:1.4em solid var(--cdv-pointer,currentColor)}
.cdv-core .cdv-core-wheel-layout>[data-cdv-wheel-list]{flex:0 1 16rem}
.cdv-core .cdv-core-actions{display:flex;gap:.7em;flex-wrap:wrap;justify-content:var(--cdv-button-align,center)}
.cdv-core[data-cdv-button-position=top]{display:flex;flex-direction:column}
.cdv-core[data-cdv-button-position=top]>.cdv-core-actions{order:-1}
.cdv-core[data-cdv-ratio="169"] .cdv-core-stage{aspect-ratio:16/9}
.cdv-core[data-cdv-ratio="169"] canvas{max-height:100%;width:auto;max-width:56.25%;object-fit:contain}
.cdv-core[data-cdv-ratio="169"] .cdv-core-pointer{top:3.7%}
.cdv-core .cdv-core-result{position:absolute;inset:0;z-index:30;display:grid;place-items:center;pointer-events:none}
.cdv-core .cdv-core-result[hidden]{display:none}
.cdv-core .cdv-core-result-card{pointer-events:auto;padding:var(--cdv-result-padding,1.5em);max-width:90%;box-sizing:border-box;overflow-wrap:anywhere;text-align:center;background:var(--cdv-result-bg,Canvas);color:var(--cdv-result-color,CanvasText);border:1px solid currentColor;border-radius:var(--cdv-result-radius,.5em)}
.cdv-core:fullscreen{overflow:auto;background:var(--cdv-fullscreen-bg,Canvas);padding:1em;height:100%}
.cdv-core:fullscreen .cdv-core-stage canvas{max-height:75vh;width:auto}
@media(max-width:767px){.cdv-core .cdv-core-wheel-layout{flex-direction:column}.cdv-core .cdv-core-stage{width:100%}.cdv-core .cdv-core-wheel-layout>[data-cdv-wheel-list]{flex:auto;width:100%}}
@media(prefers-reduced-motion:reduce){.cdv-core *{scroll-behavior:auto}}

/* Showtime only: keeps the legacy/classic skin untouched. */
.cdv-core[data-cdv-skin="showtime"] .cdv-core-pointer{display:none}
.cdv-core[data-cdv-skin="showtime"] .cdv-core-actions{margin-top:.65em}
.cdv-core[data-cdv-skin="showtime"] .cdv-core-actions .cdv-core-button{border:1px solid var(--cdv-rim-highlight,#fff3b5);border-radius:999px;padding:.85em 1.5em;font-weight:800;letter-spacing:.025em}
.cdv-core[data-cdv-skin="showtime"] .cdv-core-result-card{border:2px solid var(--cdv-rim,#e5b84f);box-shadow:0 15px 55px #0009}
.cdv-core[data-cdv-skin="showtime"] .cdv-core-result-card h2{color:inherit}

/* Referral layout only; typography, backgrounds and colors remain Elementor controls. */
.cdv-referrals .cdv-referral-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--cdv-list-gap,12px);max-height:var(--cdv-list-height,none);overflow:auto}
.cdv-referrals .cdv-referral-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:12px 0;border-bottom:1px solid currentColor}
.cdv-referrals .cdv-referral-badge{flex-basis:100%;font-size:.8em}
.cdv-referrals .cdv-referral-period,.cdv-referrals .cdv-core-help{font-size:.85em;line-height:1.5}
.cdv-referrals .cdv-referral-results{min-height:3em}
