PluginProbe
King Addons for Elementor – 80+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce, Mega Menu, Popup Builder / 51.1.83
King Addons for Elementor – 80+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce, Mega Menu, Popup Builder v51.1.83
51.1.83 51.1.82 51.1.81 51.1.79 51.1.78 51.1.77 51.1.76 51.1.74 51.1.75 51.1.65 51.1.64 51.1.63 trunk 51.1.14 51.1.2 51.1.35 51.1.36 51.1.37 51.1.38 51.1.39 51.1.44 51.1.45 51.1.46 51.1.47 51.1.49 All 37 releases
king-addons / includes / widgets / Holographic_Card / style.css

style.css in King Addons for Elementor – 80+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce, Mega Menu, Popup Builder 51.1.83, at includes/widgets/Holographic_Card/style.css

358 lines 9.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * King Addons - Holographic Card Widget Styles
3 */
4
5 /* CSS Variables */
6 .king-addons-holo-card-stage {
7 --rx: 0deg;
8 --ry: 0deg;
9 --mx: 50%;
10 --my: 50%;
11 --p: 0;
12 --shadow: 0 24px 80px rgba(0, 0, 0, 0.20);
13 --rim-intensity: 0.35;
14 --film-intensity: 0.55;
15 --layer-scale: 1.03;
16 }
17
18 /* Stage container */
19 .king-addons-holo-card-stage {
20 perspective: 1000px;
21 transform-style: preserve-3d;
22 user-select: none;
23 touch-action: manipulation;
24 }
25
26 /* Main card */
27 .king-addons-holo-card {
28 position: relative;
29 display: block;
30 border-radius: 26px;
31 background: #ffffff;
32 box-shadow: var(--shadow);
33 transform-origin: 50% 50%;
34 transform: rotateX(var(--rx)) rotateY(var(--ry)) translateZ(0);
35 transform-style: preserve-3d;
36 overflow: hidden;
37 will-change: transform;
38 transition: box-shadow 220ms ease;
39 text-decoration: none;
40 color: inherit;
41 }
42
43 .king-addons-holo-card:hover {
44 cursor: pointer;
45 }
46
47 .king-addons-holo-card.is-active {
48 box-shadow: 0 34px 110px rgba(0, 0, 0, 0.28);
49 }
50
51 /* Rim glow effect (::before) */
52 .king-addons-holo-card::before {
53 content: "";
54 position: absolute;
55 inset: -2px;
56 border-radius: 28px;
57 background: linear-gradient(120deg,
58 rgba(255, 255, 255, 0.00) 0%,
59 rgba(255, 255, 255, 0.25) 15%,
60 rgba(255, 255, 255, 0.00) 30%,
61 rgba(255, 255, 255, 0.22) 50%,
62 rgba(255, 255, 255, 0.00) 70%,
63 rgba(255, 255, 255, 0.18) 85%,
64 rgba(255, 255, 255, 0.00) 100%);
65 filter: blur(10px);
66 opacity: calc(0.15 + var(--p) * var(--rim-intensity));
67 pointer-events: none;
68 transform: translateZ(2px);
69 mix-blend-mode: screen;
70 }
71
72 .king-addons-holo-card--no-rim::before {
73 display: none;
74 }
75
76 /* Holographic film overlay */
77 .king-addons-holo-card__film {
78 position: absolute;
79 inset: 0;
80 pointer-events: none;
81 opacity: calc(0.10 + var(--p) * var(--film-intensity, 0.55));
82 transform: translateZ(3px);
83 background:
84 radial-gradient(900px 700px at var(--mx) var(--my),
85 rgba(255, 255, 255, 0.55),
86 rgba(255, 255, 255, 0.00) 60%),
87 conic-gradient(from 180deg at var(--mx) var(--my),
88 rgba(255, 0, 120, 0.22),
89 rgba(0, 200, 255, 0.22),
90 rgba(0, 255, 160, 0.20),
91 rgba(255, 220, 0, 0.18),
92 rgba(255, 0, 120, 0.22));
93 mix-blend-mode: overlay;
94 filter: saturate(1.2) contrast(1.05);
95 z-index: 10;
96 }
97
98 /* Content wrapper */
99 .king-addons-holo-card__content {
100 padding: 18px 18px 16px 18px;
101 display: grid;
102 gap: 14px;
103 transform: translateZ(20px);
104 }
105
106 /* Poster area */
107 .king-addons-holo-card__poster {
108 position: relative;
109 height: 260px;
110 border-radius: 18px;
111 overflow: hidden;
112 background:
113 radial-gradient(900px 600px at 15% 10%, rgba(255, 255, 255, 0.45), rgba(255, 255, 255, 0) 55%),
114 linear-gradient(135deg, #7cc7ff, #f6a054 46%, #c59bff);
115 box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.55);
116 transform: translateZ(26px);
117 }
118
119 /* Poster shine effect (::after) */
120 .king-addons-holo-card__poster::after {
121 content: "";
122 position: absolute;
123 inset: 0;
124 background:
125 radial-gradient(900px 650px at var(--mx) var(--my),
126 rgba(255, 255, 255, 0.24),
127 rgba(255, 255, 255, 0) 55%),
128 linear-gradient(90deg,
129 rgba(255, 255, 255, 0) 0%,
130 rgba(255, 255, 255, 0.15) 15%,
131 rgba(255, 255, 255, 0) 35%,
132 rgba(255, 255, 255, 0.12) 60%,
133 rgba(255, 255, 255, 0) 85%);
134 mix-blend-mode: soft-light;
135 opacity: 0.9;
136 transform: translateZ(2px);
137 pointer-events: none;
138 }
139
140 .king-addons-holo-card--no-shine .king-addons-holo-card__poster::after {
141 display: none;
142 }
143
144 /* Pattern overlay */
145 .king-addons-holo-card__pattern {
146 position: absolute;
147 inset: 0;
148 opacity: 0.22;
149 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cg fill='none' stroke='white' stroke-opacity='.55' stroke-width='2'%3E%3Cpath d='M80 44c10 0 20 6 24 16-6 2-10 6-12 12-6-4-10-8-12-12-2 4-6 8-12 12-2-6-6-10-12-12 4-10 14-16 24-16z'/%3E%3C/g%3E%3C/svg%3E");
150 background-size: 62px 62px;
151 mix-blend-mode: overlay;
152 transform: translateZ(1px);
153 pointer-events: none;
154 }
155
156 /* Topline */
157 .king-addons-holo-card__topline {
158 position: absolute;
159 left: 14px;
160 right: 14px;
161 top: 12px;
162 display: flex;
163 align-items: center;
164 justify-content: space-between;
165 gap: 12px;
166 color: rgba(255, 255, 255, 0.92);
167 font-weight: 600;
168 font-size: 14px;
169 letter-spacing: 0.2px;
170 transform: translateZ(6px);
171 z-index: 20;
172 text-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
173 }
174
175 /* Badge */
176 .king-addons-holo-card__badge {
177 display: inline-flex;
178 align-items: center;
179 gap: 8px;
180 }
181
182 /* Logo mark */
183 .king-addons-holo-card__logo {
184 width: 18px;
185 height: 18px;
186 border-radius: 39%;
187 flex-shrink: 0;
188 /* Default gradient - can be overridden via inline styles */
189 background:
190 radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0) 55%),
191 conic-gradient(from 90deg, #00d4ff, #ff2bd6, #ffd600, #00ffa8, #00d4ff);
192 box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
193 }
194
195 /* Icon/SVG mode for logo */
196 .king-addons-holo-card__logo--icon {
197 background: none !important;
198 box-shadow: none !important;
199 display: inline-grid;
200 place-items: center;
201 color: currentColor;
202 }
203
204 .king-addons-holo-card__logo--icon i,
205 .king-addons-holo-card__logo--icon svg {
206 width: 100%;
207 height: 100%;
208 }
209
210 .king-addons-holo-card__logo--icon svg {
211 fill: currentColor !important;
212 stroke: currentColor;
213 }
214
215 /* Art container */
216 .king-addons-holo-card__art {
217 position: absolute;
218 inset: 0;
219 display: grid;
220 place-items: center;
221 transform-style: preserve-3d;
222 z-index: 5;
223 }
224
225 /* Parallax layer */
226 .king-addons-holo-card__layer {
227 position: absolute;
228 width: 78%;
229 max-width: 320px;
230 transform:
231 translateX(calc((var(--mx) - 50%) * -0.18))
232 translateY(calc((var(--my) - 50%) * -0.12))
233 translateZ(10px)
234 scale(var(--layer-scale, 1.03));
235 filter: drop-shadow(0 22px 34px rgba(0, 0, 0, 0.18));
236 will-change: transform;
237 }
238
239 /* Image layer variant */
240 img.king-addons-holo-card__layer {
241 height: auto;
242 object-fit: contain;
243 }
244
245 /* Divider */
246 .king-addons-holo-card__divider {
247 height: 1px;
248 background: rgba(0, 0, 0, 0.06);
249 margin-top: 2px;
250 }
251
252 /* Title */
253 .king-addons-holo-card__title {
254 display: flex;
255 align-items: center;
256 gap: 10px;
257 font-weight: 700;
258 font-size: 22px;
259 line-height: 1.15;
260 }
261
262 /* Title mark */
263 .king-addons-holo-card__mark {
264 width: 18px;
265 height: 18px;
266 border-radius: 50%;
267 flex-shrink: 0;
268 /* Default gradient - can be overridden via inline styles */
269 background:
270 radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 0) 60%),
271 conic-gradient(from 90deg, #00d4ff, #ff2bd6, #ffd600, #00ffa8, #00d4ff);
272 }
273
274 /* Icon/SVG mode for title mark */
275 .king-addons-holo-card__mark--icon {
276 background: none !important;
277 display: inline-grid;
278 place-items: center;
279 color: currentColor;
280 }
281
282 .king-addons-holo-card__mark--icon i,
283 .king-addons-holo-card__mark--icon svg {
284 width: 100%;
285 height: 100%;
286 }
287
288 .king-addons-holo-card__mark--icon svg {
289 fill: currentColor !important;
290 stroke: currentColor;
291 }
292
293 /* Meta text */
294 .king-addons-holo-card__meta {
295 color: #4b5563;
296 font-size: 14px;
297 line-height: 1.4;
298 max-width: 28ch;
299 }
300
301 /* Reduced motion support */
302 @media (prefers-reduced-motion: reduce) {
303 .king-addons-holo-card-stage[data-respect-reduced-motion="true"] .king-addons-holo-card {
304 transform: none !important;
305 }
306
307 .king-addons-holo-card-stage[data-respect-reduced-motion="true"] .king-addons-holo-card__film,
308 .king-addons-holo-card-stage[data-respect-reduced-motion="true"] .king-addons-holo-card::before,
309 .king-addons-holo-card-stage[data-respect-reduced-motion="true"] .king-addons-holo-card__poster::after {
310 opacity: 0.5;
311 }
312
313 .king-addons-holo-card-stage[data-respect-reduced-motion="true"] .king-addons-holo-card__layer {
314 transform: translateZ(10px) scale(var(--layer-scale, 1.03));
315 }
316 }
317
318 /* Disabled motion state */
319 .king-addons-holo-card-stage[data-disable-motion="true"] .king-addons-holo-card {
320 transform: none !important;
321 }
322
323 .king-addons-holo-card-stage[data-disable-motion="true"] .king-addons-holo-card__film,
324 .king-addons-holo-card-stage[data-disable-motion="true"] .king-addons-holo-card::before {
325 opacity: 0.5;
326 }
327
328 .king-addons-holo-card-stage[data-disable-motion="true"] .king-addons-holo-card__layer {
329 transform: translateZ(10px) scale(var(--layer-scale, 1.03));
330 }
331
332 /* Responsive */
333 @media (max-width: 420px) {
334 .king-addons-holo-card__poster {
335 height: 230px;
336 }
337
338 .king-addons-holo-card__title {
339 font-size: 20px;
340 }
341 }
342
343 /**
344 * Narrow screens.
345 *
346 * Card Width defaults to a fixed 420px. A flex item does not shrink below its
347 * content, so on a phone the widget pushed the whole page sideways. Let the
348 * wrapper shrink and cap the card at the column it sits in; the px value still
349 * applies wherever there is room for it.
350 */
351 .elementor-widget-king-addons-holographic-card {
352 min-width: 0;
353 }
354
355 .elementor-widget-king-addons-holographic-card > .elementor-widget-container {
356 max-width: 100%;
357 }
358