/* Elementor components: local controls inherit the Neon design tokens by default. */
.neon-widget { --nw-gap: 24px; --nw-radius: var(--ui-radius-md, 16px); color: var(--nw-ink, var(--foreground)); background: var(--nw-surface, transparent); min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.neon-widget, .neon-widget * { box-sizing: border-box; }
.neon-widget .nw-title { margin: 0; color: var(--nw-heading, var(--foreground)); background: none; -webkit-text-fill-color: currentColor; font-weight: 650; line-height: 1.25; }
.neon-widget .nw-title a { color: inherit; text-decoration: none; }
.neon-widget .nw-copy { color: var(--nw-ink, var(--muted-foreground)); line-height: 1.65; }
.neon-widget .nw-copy > :first-child { margin-top: 0; }
.neon-widget .nw-copy > :last-child { margin-bottom: 0; }
.neon-widget .nw-copy p { margin-block: 0 var(--nw-paragraph-gap, 1em); }
.neon-widget .nw-copy p:last-child { margin-bottom:0; }
.neon-widget .nw-gradient { background: var(--gradient-brand); background-clip: text; -webkit-background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.elementor-element.oriibrands-neon-text-finish-gradient .neon-widget .nw-copy,
.elementor-element.oriibrands-neon-heading-finish-gradient .neon-widget .nw-title { background: var(--gradient-brand); background-clip: text; -webkit-background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
/* The icon-box gradient is clipped locally by .nw-icon-art below. */
.neon-widget :is(a,button,[tabindex]):focus-visible { outline: 2px solid var(--nw-accent, var(--primary)); outline-offset: 4px; }
.neon-widget svg { width: 20px; height: 20px; flex-shrink: 0; }
/* Gutenberg's wp-block-buttons flex rules may not exist in Elementor documents. */
[data-neon-builder="elementor"] .neon-elementor-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: var(--nw-button-gap, 16px); }
[data-neon-builder="elementor"].neon-cta .neon-elementor-buttons { justify-content: var(--nw-align, center); }
[data-neon-builder="elementor"] .neon-elementor-buttons .wp-block-button { margin: 0; max-width: 100%; }
body [data-neon-builder="elementor"] .neon-elementor-buttons .wp-block-button__link { display: inline-flex; justify-content: center; align-items: center; text-align: center; text-decoration: none; min-height: 46px; padding: 12px 24px; border-radius: var(--ui-radius-pill, 999px); white-space: normal; }
body [data-neon-builder="elementor"] .is-style-neon-outline .wp-block-button__link { background: transparent; color: var(--nw-ink, var(--foreground)); border: 1px solid var(--nw-accent, var(--ob-button-border, var(--border))); box-shadow: none; }
body [data-neon-builder="elementor"] .is-style-neon-soft .wp-block-button__link { background: var(--secondary); color: var(--foreground); border: 0; }
body [data-neon-builder="elementor"] .is-style-neon-outline .wp-block-button__link::before,
body [data-neon-builder="elementor"] .is-style-neon-outline .wp-block-button__link::after { display: none; }
body [data-neon-builder="elementor"] .is-style-neon-outline .wp-block-button__link:is(:hover,:focus-visible) { background: var(--secondary); color: var(--foreground); border-color: var(--primary); }
/* Dedicated theme button, including the existing split-pill variant. */
/* Neon widget buttons only. Gutenberg/core button selectors are intentionally excluded. */
.neon-widget.nw-button-wrap { display:flex; justify-content:var(--nw-button-align,flex-start); background:transparent; }
.neon-widget .nw-button:not(.oriibrands-btn-swap) { position:relative; isolation:isolate; display:inline-flex; align-items:center; justify-content:center; gap:10px; max-width:100%; min-height:46px; padding:12px var(--nw-button-pad,24px); border:1px solid transparent; border-radius:var(--nw-button-radius,999px); background:var(--nw-button-state-bg,var(--nw-button-bg,var(--primary-solid,var(--primary)))); color:var(--nw-button-state-ink,var(--nw-button-ink,var(--primary-foreground,#fff))); font:inherit; font-size:14px; font-weight:650; line-height:1.5; text-decoration:none; overflow:hidden; transition:background .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.neon-widget .nw-button .nw-copy { color:inherit; font-size:inherit; line-height:inherit; }
.neon-widget .nw-button-gradient:not(.oriibrands-btn-swap) { background:var(--gradient-brand); color:var(--nw-button-state-ink,var(--primary-foreground,#fff)); }
.neon-widget .nw-button-outline:not(.oriibrands-btn-swap) { background:var(--nw-button-state-bg,transparent); color:var(--nw-button-state-ink,var(--foreground)); border-color:var(--nw-accent,var(--border)); }
.neon-widget .nw-button-soft:not(.oriibrands-btn-swap) { background:var(--nw-button-state-bg,var(--secondary)); color:var(--nw-button-state-ink,var(--foreground)); }
.neon-widget .nw-button:not(.oriibrands-btn-swap):hover { background:var(--nw-button-state-bg,var(--nw-button-bg,var(--primary-solid,var(--primary)))); color:var(--nw-button-state-ink,var(--nw-button-ink,var(--primary-foreground,currentColor))); }
.neon-widget .nw-button:not(.oriibrands-btn-swap):focus-visible { background:var(--nw-button-state-bg,var(--nw-button-bg,var(--primary-solid,var(--primary)))); color:var(--nw-button-state-ink,var(--nw-button-ink,var(--primary-foreground,currentColor))); outline:2px solid var(--nw-accent,var(--primary)); outline-offset:4px; }
.neon-widget .nw-effect-slide:not(.oriibrands-btn-swap)::before,.neon-widget .nw-effect-radial:not(.oriibrands-btn-swap)::before { content:""; position:absolute; inset:0; z-index:-1; background:var(--gradient-brand); transition:transform .3s ease,clip-path .35s ease; }
.neon-widget .nw-effect-slide:not(.oriibrands-btn-swap)::before { transform:translateX(-101%); }
.neon-widget .nw-effect-slide:not(.oriibrands-btn-swap):is(:hover,:focus-visible)::before { transform:translateX(0); }
.neon-widget .nw-effect-radial:not(.oriibrands-btn-swap)::before { clip-path:circle(0 at 50% 50%); }
.neon-widget .nw-effect-radial:not(.oriibrands-btn-swap):is(:hover,:focus-visible)::before { clip-path:circle(150% at 50% 50%); }
.neon-widget .nw-effect-slide:not(.oriibrands-btn-swap):is(:hover,:focus-visible),.neon-widget .nw-effect-radial:not(.oriibrands-btn-swap):is(:hover,:focus-visible) { background:var(--nw-button-state-bg,transparent); }
.neon-widget .nw-button.nw-effect-flow:not(.oriibrands-btn-swap) { background:var(--gradient-brand);background-size:200% 200%;animation:nw-flow 8s ease infinite; }
.neon-widget .nw-button.nw-effect-flow:not(.oriibrands-btn-swap):is(:hover,:focus-visible) { background:var(--gradient-brand);background-size:200% 200%;animation-duration:3s; }
.neon-widget .nw-effect-shine:not(.oriibrands-btn-swap)::after { content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#ffffff55 50%,transparent 75%);transform:translateX(-140%);transition:transform .5s ease;pointer-events:none; }
.neon-widget .nw-effect-shine:not(.oriibrands-btn-swap):is(:hover,:focus-visible)::after { transform:translateX(140%); }
.neon-widget .nw-effect-lift:is(:hover,:focus-visible) { transform:translateY(-3px); box-shadow:0 12px 28px -14px currentColor; }
.neon-widget .nw-effect-border:is(:hover,:focus-visible) { box-shadow:0 0 0 2px var(--nw-accent,var(--primary)); }
.neon-widget .nw-effect-pulse:is(:hover,:focus-visible) { animation:nw-pulse 1.25s ease-in-out infinite; }
.neon-widget .nw-button.oriibrands-btn-swap { --swap-bg:var(--nw-button-state-bg,var(--nw-button-bg,#f4f6f5)); --swap-fg:var(--nw-button-state-ink,var(--nw-button-ink,#0a0e0f)); text-decoration:none; }
.neon-widget .nw-button.oriibrands-btn-swap:is(:hover,:focus-visible) { --swap-bg:var(--nw-button-state-bg,#0a0e0f); --swap-fg:var(--nw-button-state-ink,#f4f6f5); }
/* Design System indirection: existing widgets follow the body class without Elementor resave. */
.button-effect-slide .neon-widget .nw-effect-theme::before { content:"";position:absolute;inset:0;z-index:-1;background:var(--gradient-brand);transform:translateX(-101%);transition:transform .3s ease; }
.button-effect-slide .neon-widget .nw-effect-theme:is(:hover,:focus-visible)::before { transform:translateX(0); }
.button-effect-flow .neon-widget .nw-effect-theme { background:var(--gradient-brand);background-size:200% 200%;animation:nw-flow 8s ease infinite; }
.button-effect-shine .neon-widget .nw-effect-theme::after { content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#ffffff55 50%,transparent 75%);transform:translateX(-140%);transition:transform .5s ease;pointer-events:none; }
.button-effect-shine .neon-widget .nw-effect-theme:is(:hover,:focus-visible)::after { transform:translateX(140%); }
.button-effect-pulse .neon-widget .nw-effect-theme:is(:hover,:focus-visible) { animation:nw-pulse 1.25s ease-in-out infinite; }
.button-effect-lift .neon-widget .nw-effect-theme:is(:hover,:focus-visible) { transform:translateY(-3px);box-shadow:0 12px 28px -14px currentColor; }
.button-effect-radial .neon-widget .nw-effect-theme::before { content:"";position:absolute;inset:0;z-index:-1;background:var(--gradient-brand);clip-path:circle(0 at 50% 50%);transition:clip-path .35s ease; }
.button-effect-radial .neon-widget .nw-effect-theme:is(:hover,:focus-visible)::before { clip-path:circle(150% at 50% 50%); }
.button-effect-border .neon-widget .nw-effect-theme:is(:hover,:focus-visible) { box-shadow:0 0 0 2px var(--nw-accent,var(--primary)); }
@keyframes nw-pulse { 50% { box-shadow:0 0 0 5px color-mix(in srgb,var(--nw-accent,var(--primary)) 30%,transparent); } }

/* Images and collections. CSS scroll snapping remains usable without JavaScript. */
.neon-widget .nw-image { display: block; width: 100%; max-width: 100%; height: auto; object-fit: var(--nw-fit, cover); object-position: center var(--nw-position, 50%); border-radius: var(--nw-radius); }
.neon-widget .nw-placeholder { aspect-ratio: 4 / 3; display: grid; place-items: center; background: var(--secondary); color: var(--muted-foreground); }
.neon-widget .nw-placeholder svg { width: 48px; height: 48px; }
.neon-widget.nw-figure { margin: 0; }
.neon-widget figcaption { padding: 12px 4px; font-size: 14px; }
.neon-widget.nw-collection { --nw-columns: 3; }
.nw-collection .nw-track { display: grid; grid-template-columns: repeat(var(--nw-columns), minmax(0, 1fr)); gap: var(--nw-gap); }
.nw-collection .nw-item { margin: 0; min-width: 0; }
.nw-collection .nw-empty { grid-column: 1 / -1; padding: 24px; border: 1px dashed var(--border); border-radius: var(--nw-radius); }
.nw-ratio-square { --nw-ratio: 1 / 1; }
.nw-ratio-landscape { --nw-ratio: 4 / 3; }
.nw-ratio-wide { --nw-ratio: 16 / 9; }
.nw-ratio-portrait { --nw-ratio: 3 / 4; }
.nw-collection:not(.nw-ratio-original) .nw-image { aspect-ratio: var(--nw-ratio); height: auto; object-fit: cover; }
.nw-layout-carousel .nw-track { display: flex; gap: var(--nw-gap); overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 2px; overscroll-behavior-inline: contain; padding: 4px 2px 12px; scrollbar-width: thin; }
.nw-layout-carousel .nw-item { flex: 0 0 calc((100% - (var(--nw-columns) - 1) * var(--nw-gap)) / var(--nw-columns)); scroll-snap-align: start; }
.nw-layout-masonry .nw-track { display: block; columns: var(--nw-columns); column-gap: var(--nw-gap); }
.nw-layout-masonry .nw-item { break-inside: avoid; margin-bottom: var(--nw-gap); }
.nw-layout-masonry .nw-image { aspect-ratio: auto; }
.nw-carousel-controls { display: flex; gap: 10px; justify-content: end; margin-top: 16px; }
.neon-widget .nw-carousel-controls button { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--border); border-radius: 50%; background: var(--nw-surface, var(--card)); color: var(--nw-ink, var(--foreground)); cursor: pointer; }
.neon-widget .nw-carousel-controls button:hover { border-color: var(--nw-accent, var(--primary)); }
.neon-widget .nw-carousel-controls button:disabled { opacity: .4; cursor: default; }
.nw-post-card { background: var(--nw-surface, var(--card)); border: 1px solid var(--border); border-radius: var(--nw-radius); overflow: hidden; display: flex; flex-direction: column; }
.nw-post-card .nw-post-image { display: block; }
.nw-post-card .nw-image { border-radius: 0; }
.nw-post-body { padding: 24px; display: flex; flex-direction: column; gap: 14px; flex: 1; }
.neon-widget .nw-post-body .nw-title { font-size: var(--ui-h3, 1.4rem); }
.neon-widget .nw-post-body p { margin: 0; }
.neon-widget .nw-meta { font-size: 12px; color: var(--nw-ink, var(--muted-foreground)); }
.neon-widget .nw-read-more { display: inline-flex; align-items: center; gap: 12px; margin-top: auto; padding-top: 8px; color: var(--nw-accent, var(--primary)); text-decoration: none; font-size: 14px; font-weight: 600; }
.nw-read-more:hover { text-decoration: underline; }
/* Image overlay: same content available on hover, keyboard focus and touch. */
.nw-overlay-shell { perspective: 1200px; border-radius: var(--nw-radius); }
.neon-widget .nw-overlay { --nw-overlay-height: 360px; position: relative; display: grid; min-height: var(--nw-overlay-height); color: var(--nw-ink, #fff); text-decoration: none; border-radius: var(--nw-radius); }
.nw-overlay-front, .nw-overlay-back { grid-area: 1 / 1; min-width: 0; border-radius: inherit; overflow: hidden; display: grid; position: relative; transition: transform .55s cubic-bezier(.22,1,.36,1); }
.nw-overlay-front > .nw-image { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: inherit; transition: transform .6s ease; }
.nw-overlay-front::after { content: ""; position: absolute; inset: 0; background: var(--nw-overlay-colour, #071018); opacity: var(--nw-overlay-opacity, .38); }
.nw-overlay-content { position: relative; z-index: 1; padding: clamp(24px, 4vw, 40px); align-self: start; justify-self: start; transition: transform .35s ease; }
.neon-widget .nw-overlay .nw-title { color: var(--nw-heading, #fff); font-size: var(--ui-h2, 2rem); }
.neon-widget .nw-overlay .nw-copy { color: var(--nw-ink, #fff); }
.nw-overlay-content p:empty { display: none; }
.nw-overlay-cta { display: inline-flex; align-items: center; gap: 12px; margin-top: 16px; font-size: 13px; font-weight: 700; text-transform: uppercase; }
.nw-overlay-cta svg { color: var(--nw-accent, var(--primary)); }
.nw-pos-top-center .nw-overlay-content, .nw-pos-center-center .nw-overlay-content, .nw-pos-bottom-center .nw-overlay-content { justify-self: center; text-align: center; }
.nw-pos-top-end .nw-overlay-content, .nw-pos-center-end .nw-overlay-content, .nw-pos-bottom-end .nw-overlay-content { justify-self: end; text-align: end; }
.nw-pos-center-start .nw-overlay-content, .nw-pos-center-center .nw-overlay-content, .nw-pos-center-end .nw-overlay-content { align-self: center; }
.nw-pos-bottom-start .nw-overlay-content, .nw-pos-bottom-center .nw-overlay-content, .nw-pos-bottom-end .nw-overlay-content { align-self: end; }
.nw-overlay-zoom:is(:hover,:focus-visible) .nw-image { transform: scale(1.06); }
.nw-overlay-slide:is(:hover,:focus-visible) .nw-overlay-content { transform: translateY(-10px); }
.nw-overlay-back { background: var(--nw-surface, var(--foreground)); color: var(--nw-ink, var(--background)); align-content: center; padding: 32px; transform: rotateY(-180deg); backface-visibility: hidden; }
.neon-widget .nw-overlay-back .nw-copy { color: inherit; }
.nw-overlay-flip .nw-overlay-front { backface-visibility: hidden; }
.nw-overlay-flip:is(:hover,:focus-visible) .nw-overlay-front { transform: rotateY(180deg); }
.nw-overlay-flip:is(:hover,:focus-visible) .nw-overlay-back { transform: rotateY(0); }
/* Simple components use the same surfaces, outline and typography. */
.neon-widget .nw-divider { width: 100%; border: 0; border-top: var(--nw-weight, 1px) solid var(--nw-accent, var(--border)); margin-block: 24px; margin-inline: auto; }
.neon-widget .nw-line-dashed { border-top-style: dashed; }
.neon-widget .nw-line-dotted { border-top-style: dotted; }
.neon-widget .nw-line-gradient { border: 0; height: var(--nw-weight, 1px); background: var(--gradient-brand); }
.nw-icon-box { display: flex; flex-direction: column; gap: var(--nw-icon-content-gap,20px); padding: 28px; border: 1px solid var(--border); border-radius: var(--nw-radius); background: var(--nw-surface, var(--card)); }
.nw-icon-box .nw-icon { display: flex; justify-content: var(--nw-align, start); color: var(--nw-accent, var(--primary)); line-height:0; flex:none; }
.nw-icon-box .nw-icon-box-content{min-width:0;}
.nw-icon-box .nw-title{margin:0;}
.nw-icon-box .nw-copy{margin:var(--nw-icon-text-gap,.5rem) 0 0;}
.nw-icon svg { width: var(--nw-icon-size, 36px); height: var(--nw-icon-size, 36px); }
.nw-icon-box.nw-icon-start { flex-direction: row; }
.nw-icon-box.nw-icon-end { flex-direction: row-reverse; }
@media (max-width: 1024px) { .neon-widget.nw-collection { --nw-columns: 2; } }
@media (max-width: 767px) { .neon-widget.nw-collection { --nw-columns: 1; } .nw-post-body { padding: 20px; } }
@media (hover: none) {
 .nw-overlay-flip .nw-overlay-back { transform: none; grid-area: auto; }
 .nw-overlay-flip .nw-overlay-front { min-height: var(--nw-overlay-height); }
 .nw-overlay-flip:is(:hover,:focus-visible) .nw-overlay-front { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
 .neon-widget *, .neon-widget *::before, .neon-widget *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
 .neon-widget .nw-button:is(:hover,:focus-visible), .nw-overlay:is(:hover,:focus-visible) .nw-image, .nw-overlay:is(:hover,:focus-visible) .nw-overlay-content { transform: none; }
 .nw-overlay-flip .nw-overlay-back { transform: none; grid-area: auto; }
 .nw-overlay-flip .nw-overlay-front { min-height: var(--nw-overlay-height); }
 .nw-overlay-flip:is(:hover,:focus-visible) .nw-overlay-front { transform: none; }
}
/* Keep text centred despite Elementor's paragraph reset, and preserve surface presets. */
[data-neon-builder="elementor"].neon-cta > :is(h2,p) { margin-inline: auto; }
[data-neon-builder="elementor"].neon-cta > p { margin-block: 20px 0; }
[data-neon-builder="elementor"].neon-tone-muted { background: var(--nw-surface, var(--secondary)); }
[data-neon-builder="elementor"].neon-tone-glow { background: var(--nw-surface, radial-gradient(ellipse at 8% 10%, rgba(var(--primary-rgb), .14), transparent 55%)), var(--background); }
.neon-widget .nw-carousel-controls [data-neon-prev] svg { transform: rotate(-135deg); }
.neon-widget .nw-carousel-controls [data-neon-next] svg { transform: rotate(45deg); }
.neon-widget .nw-read-more svg, .nw-overlay-cta svg { transform: rotate(45deg); }
.nw-gallery.nw-layout-masonry .nw-track .nw-image { aspect-ratio: auto; }
.neon-widget .nw-effect-none { transition: none; }

/* Native Elementor containers/grids: these classes are added by the compact
 * Oriibrands surface selector next to Elementor's own Background controls. */
:where(.elementor-element.oriibrands-surface-muted) { background-color: var(--secondary); }
:where(.elementor-element.oriibrands-surface-glow) {
  background-color: var(--background);
  background-image: radial-gradient(ellipse at 8% 10%, color-mix(in srgb, var(--oriibrands-surface-glow-colour, var(--primary)) var(--oriibrands-surface-glow-strength, 14%), transparent), transparent 56%), radial-gradient(ellipse at 95% 95%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 55%);
}
@keyframes nw-flow { 0%,100% { background-position: 0 50%; } 50% { background-position: 100% 50%; } }
/* Contain positioned accessibility labels within their carousel slide. */
.neon-widget, .nw-collection .nw-item, .neon-widget .nw-read-more { position: relative; }
@media (hover: none), (prefers-reduced-motion: reduce) {
 .neon-widget .nw-button, .neon-widget .nw-button::before, .neon-widget .nw-button::after { animation:none !important; transition:none !important; }
 .nw-overlay-flip:is(:hover,:focus-visible) .nw-overlay-back { transform: none; }
}

/* Card/item title finish follows the global Design System gradient. */
.elementor-element.oriibrands-card-title-finish-gradient .neon-widget .nw-title{background:var(--gradient-heading,var(--gradient-brand));background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;}

/* Neon — Post Carousel. Dedicated component; navigation controls never inherit commercial button effects. */
.nw-post-carousel .nw-post-card { height: 100%; }
.nw-post-carousel .nw-post-term { align-self: flex-start; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--nw-accent,var(--primary)); }
.nw-post-carousel .nw-post-action { margin-top: auto; padding-top: 6px; display: flex; justify-content: var(--nw-button-align,flex-start); }
.nw-post-carousel .nw-post-action .nw-button { width: auto; }
.elementor-element.oriibrands-post-carousel-title-gradient .nw-post-carousel .nw-title a { background:var(--gradient-heading,var(--gradient-brand));background-clip:text;-webkit-background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent; }
.nw-post-carousel .nw-carousel-dots { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:14px; }
.nw-post-carousel .nw-carousel-dot { width:8px; height:8px; min-width:8px; padding:0; border:0; border-radius:999px; background:color-mix(in srgb,var(--nw-ink,var(--foreground)) 28%,transparent); cursor:pointer; transition:width .2s ease,background .2s ease; }
.nw-post-carousel .nw-carousel-dot[aria-current="true"] { width:24px; background:var(--nw-accent,var(--primary)); }
.nw-post-carousel .nw-carousel-dot:focus-visible,.nw-post-carousel .nw-carousel-controls button:focus-visible { outline:2px solid var(--nw-accent,var(--primary)); outline-offset:3px; }
@media (prefers-reduced-motion: reduce) { .nw-post-carousel .nw-carousel-dot { transition:none; } }

/* Elementor Neon text only: gradient coordinates follow inline text fragments. */
.elementor-widget-oriibrands-neon-heading .nw-text-heading .nw-title.nw-gradient,
.elementor-widget-oriibrands-neon-heading.oriibrands-neon-heading-finish-gradient .nw-text-heading .nw-title,
.elementor-widget-oriibrands-neon-paragraph.oriibrands-neon-text-finish-gradient .nw-text-paragraph .nw-copy {
 background:none;color:var(--nw-heading,var(--nw-ink,var(--foreground)));-webkit-text-fill-color:currentColor;
}
.elementor-widget-oriibrands-neon-heading .nw-title.nw-gradient .nw-text-gradient-run,
.elementor-widget-oriibrands-neon-heading.oriibrands-neon-heading-finish-gradient .nw-text-gradient-run,
.elementor-widget-oriibrands-neon-paragraph.oriibrands-neon-text-finish-gradient .nw-text-gradient-run {
 display:inline;background:var(--gradient-heading,var(--gradient-brand));background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
 -webkit-box-decoration-break:clone;box-decoration-break:clone;
}
.elementor-widget-oriibrands-neon-paragraph.oriibrands-neon-text-finish-gradient .nw-text-gradient-run :is(a,strong,em,b,i,span){-webkit-text-fill-color:transparent}

@media(forced-colors:active){.elementor-widget-oriibrands-neon-heading .nw-text-gradient-run,.elementor-widget-oriibrands-neon-paragraph .nw-text-gradient-run{background:none;color:CanvasText;-webkit-text-fill-color:CanvasText}}

.nw-button>.oriibrands-icon{width:var(--nw-icon-size,1.15em);height:var(--nw-icon-size,1.15em);flex-shrink:0}

/* Icon-box only: the gradient and glyph occupy the same square, regardless of card width. */
.nw-icon-box .nw-icon-art{display:inline-flex;width:var(--nw-icon-size,36px);height:var(--nw-icon-size,36px);flex:none;}
.nw-icon-box .nw-icon-art>svg{width:100%;height:100%;}
.nw-icon-box .nw-icon>i{display:inline-block;font-size:var(--nw-icon-size,36px);line-height:1;}
.nw-icon-box.nw-icon-finish-gradient .nw-icon>i{background:var(--gradient-brand);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;}
@supports ((mask-image:linear-gradient(#000,#000)) or (-webkit-mask-image:linear-gradient(#000,#000))){
 .nw-icon-box.nw-icon-finish-gradient .nw-icon-art{background:var(--gradient-brand);mask:var(--nw-icon-mask) center/contain no-repeat;-webkit-mask:var(--nw-icon-mask) center/contain no-repeat;}
 .nw-icon-box.nw-icon-finish-gradient .nw-icon-art>svg{visibility:hidden;}
}
@media(forced-colors:active){
 .nw-icon-box.nw-icon-finish-gradient .nw-icon-art{background:none;mask:none;-webkit-mask:none;}
 .nw-icon-box.nw-icon-finish-gradient .nw-icon-art>svg{visibility:visible;color:CanvasText;}
 .nw-icon-box.nw-icon-finish-gradient .nw-icon>i{background:none;color:CanvasText;-webkit-text-fill-color:CanvasText;}
}

/* Neon CTA: eyebrow, text block, actions and note (v3.0.0). */
[data-neon-builder="elementor"].neon-cta { --neon-cta-col-gap: 48px; --neon-cta-btn-align: var(--neon-cta-btn-align-user, var(--nw-align, center)); }
[data-neon-builder="elementor"].neon-cta > .neon-cta-text { margin-inline: auto; }
[data-neon-builder="elementor"].neon-cta .neon-cta-text > * { max-width: var(--neon-cta-inner-max, 46ch); margin-left: var(--neon-cta-inner-ml, auto); margin-right: var(--neon-cta-inner-mr, auto); }
[data-neon-builder="elementor"].neon-cta .neon-cta-text > * + * { margin-block-start: 20px; }
[data-neon-builder="elementor"].neon-cta .neon-cta-text > .neon-cta-eyebrow + * { margin-block-start: 12px; }
[data-neon-builder="elementor"].neon-cta .neon-cta-eyebrow { display: block; font-size: .8125rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--nw-accent, var(--primary-text, var(--primary))); }
[data-neon-builder="elementor"].neon-cta > .neon-cta-actions { margin-block-start: 2rem; display: flex; flex-direction: column; align-items: var(--neon-cta-btn-align); gap: 12px; }
[data-neon-builder="elementor"].neon-cta .neon-cta-actions .neon-elementor-buttons { margin: 0; justify-content: var(--neon-cta-btn-align); }
[data-neon-builder="elementor"].neon-cta .neon-cta-note { margin: 0; font-size: .875rem; line-height: 1.5; color: var(--muted-foreground); }
.neon-cta-ef-brand .neon-cta .neon-cta-eyebrow,
.neon-cta-ef-heading .neon-cta .neon-cta-eyebrow,
.neon-cta-ef-menu .neon-cta .neon-cta-eyebrow { background: var(--gradient-brand); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; width: fit-content; }
.neon-cta-ef-heading .neon-cta .neon-cta-eyebrow { background-image: var(--gradient-heading, var(--gradient-brand)); }
.neon-cta-ef-menu .neon-cta .neon-cta-eyebrow { background-image: var(--gradient-menu, var(--gradient-brand)); }
@media (min-width: 1025px) {
	.neon-cta-layout-inline [data-neon-builder="elementor"].neon-cta { display: flex; align-items: center; justify-content: space-between; gap: var(--neon-cta-col-gap); text-align: left; }
	.neon-cta-layout-inline [data-neon-builder="elementor"].neon-cta > .neon-cta-text { margin-inline: 0; flex: 1 1 auto; min-width: 0; }
	.neon-cta-layout-inline [data-neon-builder="elementor"].neon-cta .neon-cta-text { --neon-cta-inner-ml: 0; --neon-cta-inner-mr: auto; }
	.neon-cta-layout-inline [data-neon-builder="elementor"].neon-cta > .neon-cta-actions { margin-block-start: 0; flex: 0 0 auto; --neon-cta-btn-align: var(--neon-cta-btn-align-user, flex-end); }
}
@media (max-width: 767px) {
	.neon-cta-mfull-yes .neon-cta .neon-cta-actions { align-items: stretch; }
	.neon-cta-mfull-yes .neon-cta .neon-elementor-buttons { flex-direction: column; align-items: stretch; }
	.neon-cta-mfull-yes .neon-cta .neon-elementor-buttons .nw-button { width: 100%; }
}

/* Text and icons over the brand gradient: whenever a Neon button shows the gradient
   (Gradient style, Flowing effect, or the Slide/Radial effect on hover), its text and
   icon use the "text on brand colour" (Design System › Buttons › Button text on hover),
   in every style — Outline and Soft included. A colour set on the widget still wins. */
.neon-widget .nw-button.nw-effect-flow:not(.oriibrands-btn-swap),
.button-effect-flow .neon-widget .nw-button.nw-effect-theme:not(.oriibrands-btn-swap),
.neon-widget .nw-button:not(.oriibrands-btn-swap):is(.nw-effect-slide,.nw-effect-radial):is(:hover,:focus-visible),
.button-effect-slide .neon-widget .nw-button.nw-effect-theme:not(.oriibrands-btn-swap):is(:hover,:focus-visible) { color:var(--nw-button-state-ink,var(--primary-foreground,#fff)); }
