/* =========================================================
   Pinguins Elementor Widgets — v1.0.0
   ========================================================= */

/* ══════════════════════════════════════════════════════════
   SHARED / BUTTONS (από v4 buttons)
   ══════════════════════════════════════════════════════════ */
.pinguin-btn-wrap,.fancy-atc-wrapper{position:relative;display:inline-flex;width:100%}
.pinguin-btn-fancy,.fancy-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none!important;overflow:hidden;cursor:pointer;transition:transform .2s ease-out,box-shadow .3s ease;transform-style:preserve-3d;width:100%;border:none;outline:none}
.pinguin-glow-layer,.mouse-glow{position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),var(--glow-c1,#780316) 0%,var(--glow-c2,#dc2626) 40%,transparent 70%);opacity:0;transition:opacity .35s ease;z-index:0;pointer-events:none;border-radius:inherit}
.pinguin-btn-fancy:hover .pinguin-glow-layer,.fancy-btn:hover .mouse-glow{opacity:.72}
.pinguin-shimmer,.pgn-shimmer{position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.28) 50%,transparent 60%);background-size:200% 100%;background-position:-200% 0;border-radius:inherit;pointer-events:none;z-index:1;animation:pgn-shimmer 2.8s ease-in-out infinite}
@keyframes pgn-shimmer{0%{background-position:-200% 0}50%{background-position:200% 0}100%{background-position:200% 0}}
.pinguin-ripple{position:absolute;border-radius:50%;transform:scale(0);background:rgba(255,255,255,.35);animation:pgn-ripple .65s linear;pointer-events:none;z-index:2}
@keyframes pgn-ripple{to{transform:scale(4);opacity:0}}
.pinguin-btn-inner,.txt-default{position:relative;z-index:3;transition:transform .35s ease,opacity .35s ease;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.txt-success{position:absolute;z-index:3;transform:translateY(50px);opacity:0;transition:transform .4s ease,opacity .4s ease;display:inline-flex;align-items:center;gap:8px}
.fancy-btn.added .txt-default{transform:translateY(-50px);opacity:0}
.fancy-btn.added .txt-success{transform:translateY(0);opacity:1}
.fancy-loader{position:absolute;z-index:3;width:22px;height:22px;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;opacity:0;pointer-events:none;transition:opacity .25s}
.fancy-btn.loading .fancy-loader{opacity:1;animation:p-spin .75s linear infinite}
.fancy-btn.loading .txt-default{opacity:0}
@keyframes p-spin{to{transform:rotate(360deg)}}
.particle-canvas{position:absolute;top:-60px;left:-60px;width:calc(100% + 120px);height:calc(100% + 120px);pointer-events:none;z-index:10}
.added_to_cart.wc-forward{display:none!important}

/* ══════════════════════════════════════════════════════════
   PROMO BADGE
   ══════════════════════════════════════════════════════════ */
.pgn-badge-wrap{display:flex;width:100%}
.pgn-badge{display:inline-flex;align-items:center;gap:6px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;position:relative;overflow:hidden;white-space:nowrap;line-height:1}

/* Shapes */
.pgn-badge--pill{border-radius:999px}
.pgn-badge--rect{border-radius:4px}
.pgn-badge--sticker{border-radius:50%;aspect-ratio:1;padding:0!important;width:60px;height:60px;justify-content:center;font-size:11px!important;text-align:center}
.pgn-badge--ribbon{border-radius:0;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%);padding-right:20px!important}

/* Presets */
.pgn-badge--sale{background:#dc2626;color:#fff}
.pgn-badge--hot{background:linear-gradient(135deg,#f97316,#dc2626);color:#fff}
.pgn-badge--new{background:#16a34a;color:#fff}
.pgn-badge--popular{background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff}
.pgn-badge--limited{background:linear-gradient(135deg,#1d4ed8,#0ea5e9);color:#fff}

/* Animations */
.pgn-badge--anim-pulse{animation:pgn-pulse 2s ease-in-out infinite}
@keyframes pgn-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
.pgn-badge--anim-bounce{animation:pgn-bounce 1.5s ease infinite}
@keyframes pgn-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.pgn-badge--anim-shake{animation:pgn-shake 2.5s ease infinite}
@keyframes pgn-shake{0%,90%,100%{transform:rotate(0)}92%{transform:rotate(-4deg)}94%{transform:rotate(4deg)}96%{transform:rotate(-3deg)}98%{transform:rotate(3deg)}}
.pgn-badge__shine{position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.5) 50%,transparent 60%);background-size:200% 100%;background-position:-200% 0;animation:pgn-shimmer 2.2s ease-in-out infinite}

/* ══════════════════════════════════════════════════════════
   MARQUEE (shared for text + products)
   ══════════════════════════════════════════════════════════ */
.pgn-marquee-wrap{overflow:hidden;position:relative;width:100%}
.pgn-marquee__track{display:flex;width:max-content;animation:pgn-marquee-scroll linear infinite}
.pgn-marquee__inner{display:flex;align-items:center;flex-shrink:0}
@keyframes pgn-marquee-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.pgn-marquee--pause-hover:hover .pgn-marquee__track{animation-play-state:paused}

/* Text marquee items */
.pgn-marquee__item{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-weight:500}
.pgn-marquee__sep{display:inline-flex;align-items:center;margin-right:var(--item-gap,48px)}
.pgn-marquee__icon{display:inline-flex}

/* ══════════════════════════════════════════════════════════
   MARQUEE PRODUCTS
   ══════════════════════════════════════════════════════════ */
.pgn-mprod__inner{display:flex;align-items:stretch;gap:0}
.pgn-mprod__card{display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;background:#fff;border-radius:12px;width:200px;transition:transform .25s ease,box-shadow .25s ease;position:relative}
.pgn-mprod__card:hover{transform:translateY(-4px)}
.pgn-mprod__img-wrap{position:relative;overflow:hidden;display:block}
.pgn-mprod__img{width:100%;height:200px;object-fit:cover;display:block;transition:transform .4s ease}
.pgn-mprod__card:hover .pgn-mprod__img{transform:scale(1.06)}
.pgn-mprod__badge{position:absolute;top:10px;left:10px;font-size:11px;font-weight:700;color:#fff;padding:3px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em;z-index:2}
.pgn-mprod__badge--sale{background:#dc2626}
.pgn-mprod__badge--new{background:#16a34a}
.pgn-mprod__atc-wrap{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding-bottom:12px;opacity:0;transition:opacity .25s ease;background:linear-gradient(to top,rgba(0,0,0,.55) 0%,transparent 60%)}
.pgn-mprod__card:hover .pgn-mprod__atc-wrap{opacity:1}
.pgn-mprod__atc{display:inline-flex;align-items:center;gap:6px;background:#1a1a1a;color:#fff;font-size:12px;font-weight:700;padding:7px 16px;border-radius:999px;text-decoration:none;white-space:nowrap;transition:background .2s}
.pgn-mprod__atc:hover{background:#333;color:#fff}
.pgn-mprod__info{padding:10px 12px 14px;display:flex;flex-direction:column;gap:4px;flex:1}
.pgn-mprod__title{font-size:13px;font-weight:600;color:#1a1a1a;text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}
.pgn-mprod__title:hover{text-decoration:underline}
.pgn-mprod__price{font-size:14px;font-weight:700;color:#dc2626}
.pgn-mprod__price del{color:#9ca3af;font-weight:400;margin-right:4px}

/* ══════════════════════════════════════════════════════════
   REVIEW STARS
   ══════════════════════════════════════════════════════════ */
.pgn-stars-wrap{display:flex;align-items:center;flex-wrap:wrap;gap:6px;width:100%}
.pgn-stars__stars{display:flex;align-items:center}
.pgn-stars__star{display:inline-flex;align-items:center;justify-content:center;line-height:1;transition:transform .2s ease}
.pgn-stars__star--full,.pgn-stars__star--half{color:#f59e0b}
.pgn-stars__star--empty{color:#d1d5db}
.pgn-stars__star i,.pgn-stars__star svg{font-size:inherit;color:inherit}
.pgn-stars__number{font-weight:700;font-size:1.1em;line-height:1}
.pgn-stars__count{font-size:.88em;color:#6b7280}
.pgn-animate-stars .pgn-stars__star{opacity:0;transform:scale(0) rotate(-30deg)}
.pgn-animate-stars.pgn-in-view .pgn-stars__star{opacity:1;transform:scale(1) rotate(0);transition:opacity .35s ease,transform .35s cubic-bezier(.34,1.56,.64,1)}

/* ══════════════════════════════════════════════════════════
   TRUST BADGES
   ══════════════════════════════════════════════════════════ */
.pgn-trust-wrap{display:flex;flex-wrap:wrap;width:100%}
.pgn-trust--horizontal{flex-direction:row;align-items:center;justify-content:space-between}
.pgn-trust--horizontal .pgn-trust__item:not(:last-child){border-right:1px solid #e5e7eb;padding-right:20px}
.pgn-trust--vertical{flex-direction:column;gap:16px}
.pgn-trust-grid{display:grid;gap:16px}
.pgn-trust__item{display:flex;align-items:center;gap:12px;flex:1;padding:8px}
.pgn-trust__link{display:flex;text-decoration:none;flex:1}
.pgn-trust__icon-wrap{display:flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;padding:10px;background:#f3f4f6;border-radius:12px;flex-shrink:0}
.pgn-trust__icon{display:flex;align-items:center;justify-content:center;font-size:28px;color:#1a1a1a}
.pgn-trust__icon i,.pgn-trust__icon svg{font-size:inherit;color:inherit;width:1em;height:1em}
.pgn-trust__text{display:flex;flex-direction:column;gap:2px}
.pgn-trust__title{font-weight:600;font-size:.92em;line-height:1.3}
.pgn-trust__subtitle{font-size:.8em;color:#6b7280;line-height:1.3}
.pgn-animate-trust .pgn-trust__item{opacity:0;transform:translateY(16px)}
.pgn-animate-trust.pgn-in-view .pgn-trust__item{opacity:1;transform:none;transition:opacity .4s ease,transform .4s ease}

/* ══════════════════════════════════════════════════════════
   GLASS CARD
   ══════════════════════════════════════════════════════════ */
.pgn-glass{display:flex;flex-direction:column;align-items:center;gap:16px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);border-radius:24px;padding:32px;transition:transform .3s ease,box-shadow .3s ease;position:relative;overflow:hidden}
.pgn-glass--lift:hover{transform:translateY(-6px)}
.pgn-glass__card-link{display:contents;text-decoration:none;color:inherit}
/* Glass Card — WooCommerce mode */
.pgn-glass--woo .pgn-glass__img-wrap{position:relative;width:100%;border-radius:12px;overflow:hidden}
.pgn-glass__sale-badge{position:absolute;top:10px;left:10px;background:#dc2626;color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em;z-index:2}
.pgn-glass__price{font-size:1.1em;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.pgn-glass__price del{opacity:.6;font-weight:400}
.pgn-glass__price ins{text-decoration:none}
.pgn-glass__img-wrap{width:100%;border-radius:12px;overflow:hidden}
.pgn-glass__img{width:100%;height:auto;display:block;border-radius:12px}
.pgn-glass__icon-wrap{display:flex;align-items:center;justify-content:center}
.pgn-glass__title{margin:0;font-size:1.3em;font-weight:700;line-height:1.3}
.pgn-glass__desc{margin:0;line-height:1.6;opacity:.85}
.pgn-glass__btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 24px;border-radius:999px;background:rgba(255,255,255,.25);color:#fff;font-weight:600;text-decoration:none;transition:background .25s ease;border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(4px);margin-top:4px}
.pgn-glass__btn:hover{background:rgba(255,255,255,.4);color:#fff}

/* ══════════════════════════════════════════════════════════
   ANIMATED NUMBER
   ══════════════════════════════════════════════════════════ */
.pgn-counter{display:flex;flex-direction:column;align-items:center;gap:8px}
.pgn-counter__icon-wrap{display:flex;align-items:center;justify-content:center;margin-bottom:4px}
.pgn-counter__value{display:flex;align-items:baseline;gap:2px;line-height:1}
.pgn-counter__number{font-weight:800;font-size:56px;line-height:1;transition:none}
.pgn-counter__prefix,.pgn-counter__suffix{font-weight:800;font-size:1.2em;color:#dc2626}
.pgn-counter__title{margin:0;font-size:.9em;color:#6b7280;text-align:center}

/* ══════════════════════════════════════════════════════════
   DIVIDER FX
   ══════════════════════════════════════════════════════════ */
.pgn-divider{display:flex;align-items:center;gap:12px;width:100%;position:relative}
.pgn-divider__line{flex:1;height:1px;background:#e5e7eb;border-radius:1px}
.pgn-divider--double{flex-direction:column;gap:4px}
.pgn-divider--double .pgn-divider__line{width:100%;flex:none}
.pgn-divider__center{display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pgn-divider__text{font-size:.8em;font-weight:600;color:#9ca3af;white-space:nowrap;padding:0 4px}
.pgn-divider--dots{justify-content:center;gap:8px}
.pgn-divider__dot{width:6px;height:6px;border-radius:50%;background:#d1d5db;animation:pgn-dot-pulse 1.8s ease-in-out infinite}
@keyframes pgn-dot-pulse{0%,100%{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}
.pgn-divider__wave,.pgn-divider__zigzag{width:100%;height:20px;display:block}
.pgn-divider__wave path,.pgn-divider__zigzag path{stroke:currentColor}
.pgn-divider--animate .pgn-divider__line{transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(.16,1,.3,1)}
.pgn-divider--animate.pgn-in-view .pgn-divider__line{transform:scaleX(1)}
.pgn-divider--animate.pgn-in-view .pgn-divider__line:last-child{transition-delay:.1s}

/* ══════════════════════════════════════════════════════════
   SCROLL ANIMATION OBSERVER
   ══════════════════════════════════════════════════════════ */
[class*="pgn-animate-"]:not(.pgn-in-view) .pgn-trust__item{animation:none}

/* ══════════════════════════════════════════════════════════
   GLASS CARDS SLIDER
   ══════════════════════════════════════════════════════════ */
.pgn-gslider{position:relative;width:100%}
.pgn-gslider__viewport{overflow:hidden;width:100%}
.pgn-gslider__track{display:flex;transition:transform .4s cubic-bezier(.25,.46,.45,.94);will-change:transform;align-items:stretch}
.pgn-gslider__slide{flex-shrink:0;box-sizing:border-box}
/* Card */
.pgn-gslider__card{width:100%;height:100%;display:flex;flex-direction:column;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);border-radius:20px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;position:relative;box-sizing:border-box}
.pgn-gslider__card--lift:hover{transform:translateY(-6px)}
.pgn-gslider__card-link{display:flex;flex-direction:column;flex:1;text-decoration:none;color:inherit}
.pgn-gslider__img-link{display:block;text-decoration:none;overflow:hidden;flex-shrink:0}
/* Center mode */
.pgn-gslider--center .pgn-gslider__slide{transition:transform .4s ease,opacity .4s ease;opacity:.6;transform:scale(.92)}
.pgn-gslider--center .pgn-gslider__slide.is-active{opacity:1;transform:scale(1)}
/* Image */
.pgn-gslider__img-wrap{position:relative;overflow:hidden;flex-shrink:0}
.pgn-gslider__img{width:100%;height:200px;object-fit:cover;display:block;transition:transform .4s ease}
.pgn-gslider__card:hover .pgn-gslider__img{transform:scale(1.05)}
/* Badges */
.pgn-gslider__badge{position:absolute;top:10px;left:10px;font-size:11px;font-weight:700;color:#fff;padding:3px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em;z-index:2}
.pgn-gslider__badge--sale{background:#dc2626}
.pgn-gslider__badge--new{background:#16a34a}
/* Body */
.pgn-gslider__body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
.pgn-gslider__body--left{align-items:flex-start}
.pgn-gslider__body--center{align-items:center}
.pgn-gslider__body--right{align-items:flex-end}
.pgn-gslider__title{margin:0;font-size:1em;font-weight:700;color:#fff;line-height:1.35}
.pgn-gslider__desc{margin:0;font-size:.875em;color:rgba(255,255,255,.75);line-height:1.55}
.pgn-gslider__price{font-size:.95em;font-weight:700;color:#fff;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pgn-gslider__price del{opacity:.5;font-weight:400;font-size:.85em;text-decoration:line-through}
.pgn-gslider__price del .woocommerce-Price-amount{color:inherit}
.pgn-gslider__price ins{text-decoration:none;font-weight:700}
.pgn-gslider__price ins .woocommerce-Price-amount{color:inherit}
.pgn-gslider__price .woocommerce-Price-amount{color:inherit}
/* Icon */
.pgn-gslider__icon-wrap{display:flex;align-items:center;justify-content:center;padding:24px 0 8px}
.pgn-gslider__icon{font-size:40px;color:#fff}
/* Button */
.pgn-gslider__btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 20px;border-radius:999px;background:rgba(255,255,255,.2);color:#fff;font-size:.85em;font-weight:600;text-decoration:none;margin-top:auto;align-self:flex-start;border:1px solid rgba(255,255,255,.25);transition:background .2s ease;white-space:nowrap}
.pgn-gslider__btn:hover{background:rgba(255,255,255,.35);color:#fff}
/* Arrows */
/* Arrows */
.pgn-gslider__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.3);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:background .2s,transform .2s;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.pgn-gslider__arrow:hover{background:rgba(255,255,255,.35);transform:translateY(-50%) scale(1.1)}
.pgn-gslider__arrow:disabled{opacity:.3;cursor:not-allowed;transform:translateY(-50%)}
.pgn-gslider__arrow--prev{left:-22px}
.pgn-gslider__arrow--next{right:-22px}
/* Dots */
.pgn-gslider__dots{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;flex-wrap:wrap}
.pgn-gslider__dot{width:8px;height:8px;border-radius:999px;background:rgba(255,255,255,.4);cursor:pointer;transition:background .25s,width .25s;border:none;padding:0}
.pgn-gslider__dot.active{background:#fff;width:24px}
