/* Scoped components inherit the existing Elementor/NoviDeck design values. */
.nd-pro-widget { display:flex; flex-direction:column; gap:1rem; min-width:0; color:var(--e-global-color-text,inherit); }
.nd-pro-widget[hidden], .nd-pro-widget [hidden], .nd-pro-rule [hidden], .nd-pro-portal [hidden] { display:none !important; }
.nd-pro-heading,.nd-pro-description,.nd-pro-terms,.nd-pro-feature__description,.nd-pro-feature__category { margin:0; overflow-wrap:anywhere; }
.nd-pro-action,.nd-pro-copy,.nd-pro-portal__load { display:inline-flex; align-items:center; justify-content:center; gap:.6em; align-self:flex-start; padding:.75em 1.2em; border:1px solid transparent; border-radius:var(--ndw-button-radius,4px); color:var(--ndw-button-text,#fff); background:var(--ndw-button-bg,var(--e-global-color-accent,#333)); text-decoration:none; cursor:pointer; max-width:100%; overflow-wrap:anywhere; font:inherit; }
.nd-pro-action--link { padding:0; background:transparent; border:0; color:var(--e-global-color-primary,inherit); text-decoration:underline; }
.nd-pro-action--cta { align-self:stretch; width:100%; }
.nd-pro-action--icon { padding:.75em; }
.nd-pro-action:focus-visible,.nd-pro-copy:focus-visible,.nd-pro-portal__load:focus-visible,.nd-pro-feature summary:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.nd-pro-action__icon,.nd-pro-feature__icon { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; line-height:1; }
.nd-pro-action__icon svg { width:1em; height:1em; fill:currentColor; }
.nd-pro-code-box { display:flex; align-items:center; flex-wrap:wrap; gap:1rem; min-width:0; }
.nd-pro-code { font:inherit; font-family:monospace; overflow-wrap:anywhere; white-space:normal; }
.nd-pro-offer--compact { flex-direction:row; align-items:center; flex-wrap:wrap; }
.nd-pro-offer--cta .nd-pro-action { align-self:stretch; }
.nd-pro-features { display:flex; flex-direction:column; gap:1rem; min-width:0; }
.nd-pro-features--cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.nd-pro-feature { min-width:0; padding:1rem; border:1px solid currentColor; border-radius:4px; }
.nd-pro-feature__summary { display:flex; align-items:center; gap:.75em; min-width:0; }
details.nd-pro-feature>summary { cursor:pointer; }
.nd-pro-feature__title { flex:1; overflow-wrap:anywhere; }
.nd-pro-feature__value { overflow-wrap:anywhere; }
.nd-pro-feature__category { font-weight:600; margin-top:.5rem; }
.nd-pro-feature__description { margin-top:.5rem; }
.nd-pro-portal { display:flex; flex-direction:column; gap:1rem; min-width:0; }
.nd-pro-portal__frame { min-height:600px; position:relative; overflow:hidden; }
@media(max-width:1024px) { .nd-pro-features--cards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) { .nd-pro-features--cards { grid-template-columns:minmax(0,1fr); } .nd-pro-offer--compact { flex-direction:column; align-items:stretch; } }
@media(prefers-reduced-motion:no-preference) { .nd-pro-action,.nd-pro-copy,.nd-pro-portal__load { transition:background-color .15s,color .15s,border-color .15s; } }

.nd-pro-copy-status:empty { display:none; }

/* Pro coupon redemption selector: no license controls in this widget. */
.nd-pro-coupon-selector { display:flex; flex-direction:column; gap:.65rem; min-width:0; }
.nd-pro-coupon-label { font-weight:650; margin:0; }
.nd-pro-coupon-choice { display:flex; align-items:center; gap:.65rem; cursor:pointer; }
.nd-pro-coupon-choice > span { font-family:inherit; font-size:inherit; color:inherit; }
.nd-pro-coupon-input-label > span { color:inherit; }
.nd-pro-coupon-choice input { accent-color:var(--e-global-color-accent,currentColor); }
.nd-pro-coupon-input-label { display:flex; flex-direction:column; gap:.35rem; }
.nd-pro-coupon-input { box-sizing:border-box; display:block; width:100%; min-height:2.7rem; border:1px solid currentColor; border-radius:var(--ndw-radius,6px); padding:.55em .75em; background:transparent; color:inherit; font:inherit; }
.nd-pro-coupon-apply,.nd-pro-coupon-remove { display:inline-flex; justify-content:center; align-items:center; align-self:flex-start; border:1px solid transparent; border-radius:var(--ndw-button-radius,6px); cursor:pointer; padding:.65em 1.2em; font:inherit; }
.nd-pro-coupon-apply { background:var(--ndw-button-bg,var(--e-global-color-accent,#333)); color:var(--ndw-button-text,#fff); }
.nd-pro-coupon-remove { background:transparent; border-color:currentColor; color:inherit; }
.nd-pro-coupon-apply:focus-visible,.nd-pro-coupon-remove:focus-visible,.nd-pro-coupon-input:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.nd-pro-coupon-apply:disabled { opacity:.6; cursor:wait; }
.nd-pro-coupon-status { min-height:1.25em; margin:0; font-size:.88em; }
.nd-pro-coupon-status[data-status="success"] { color:var(--ndw-success,#45bd82); }
.nd-coupon-original { display:inline-block; margin-right:.5em; text-decoration:line-through; opacity:.65; font-size:.68em; }
.nd-coupon-note { display:block; margin-top:.3rem; font-size:.6em; font-weight:400; opacity:.8; }

/* Only explicitly linked Group followers are affected. CSS respects HTML hidden. */
.elementor-widget[data-nd-pro-source="group"][data-nd-pro-plan-hidden="1"] { display: none !important; }
.elementor-widget [data-nd-group-warning] { display:block; padding:.65em .9em; border:1px solid #dc7b2a; border-radius:6px; color:inherit; background:rgba(220,123,42,.12); }
a.novideck-purchase-button[aria-disabled="true"] { opacity:.65; cursor:not-allowed; pointer-events:none; }

/* Plan-limited promotional choice; Elementor/frontend display rules must not override hidden. */
.nd-pro-coupon-choice[hidden] { display: none !important; }

/* Coupon form controls: independently responsive and editable in Elementor. */
.nd-pro-coupon-controls { display:flex; flex-direction:column; flex-wrap:wrap; align-items:stretch; gap:.75rem; min-width:0; }
.nd-pro-coupon-input-label { flex:1 1 auto; min-width:0; }
.nd-pro-coupon-input::placeholder { opacity:.75; }
.nd-pro-coupon-actions { display:flex; flex-wrap:wrap; gap:.75rem; justify-content:flex-start; align-items:center; min-width:0; }
.nd-pro-coupon-actions > .nd-pro-coupon-apply,
.nd-pro-coupon-actions > .nd-pro-coupon-remove { align-self:auto; }
.nd-pro-feature-inherits { grid-column:1 / -1; display:flex; align-items:center; flex-wrap:wrap; gap:.65em; padding:.85em 1em; border:1px solid currentColor; border-radius:var(--ndw-radius,6px); min-width:0; }
.nd-pro-feature-inherits__text { overflow-wrap:anywhere; }
.nd-pro-feature-inherits__icon { flex:none; }
