/* =========================================================
   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:visible;position:relative;width:100%}
.pgn-marquee__clip{overflow:hidden;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%)}}
@keyframes pgn-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:visible;background:#fff;border-radius:12px;transition:transform .25s ease,box-shadow .25s ease;position:relative;min-width:0}
.pgn-mprod__card:hover{transform:translateY(-4px)}
.pgn-mprod__img-wrap{position:relative;overflow:hidden;display:block;width:100%;aspect-ratio:1/1}
.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-imgfx-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%}
.pgn-imgfx-gallery .pgn-imgfx{width:100%}
.pgn-imgfx-gallery .pgn-imgfx__wrap{width:100%}
.pgn-imgfx-gallery .pgn-imgfx__img{width:100%;height:120px;object-fit:cover;display:block}
.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}

/* ── Divider FX (new) ── */
.pgn-dfx{display:block;width:100%;line-height:0;overflow:hidden}
.pgn-dfx__svg{display:block;width:100%;height:80px}
.pgn-dfx__line-wrap{display:flex;align-items:center;gap:12px;width:100%;height:2px}
.pgn-dfx__line{flex:1;height:1px;background:currentColor;border-radius:1px}
.pgn-dfx--double .pgn-dfx__line-wrap{flex-direction:column;gap:4px;height:auto}
.pgn-dfx--double .pgn-dfx__line-wrap .pgn-dfx__line{width:100%;flex:none}
.pgn-dfx__center{display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pgn-dfx__text{font-size:.8em;font-weight:600;white-space:nowrap;padding:0 6px}
.pgn-dfx__dots-wrap{display:flex;justify-content:center;align-items:center;gap:8px;padding:12px 0}
.pgn-dfx__dot{display:inline-block;width:7px;height:7px;border-radius:50%;animation:pgn-dfx-dot-pulse 1.8s ease-in-out infinite}
@keyframes pgn-dfx-dot-pulse{0%,100%{transform:scale(1);opacity:.6}50%{transform:scale(1.4);opacity:1}}

/* ══════════════════════════════════════════════════════════
   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__img-wrap{position:relative;flex-shrink:0;border-radius:0}
.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;width:100%;box-sizing:border-box}
/* 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{width:100%;height:220px;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;align-items:flex-start;justify-content:flex-start}
.pgn-gslider__body--left{align-items:flex-start;text-align:left}
.pgn-gslider__body--center{align-items:center;text-align:center}
.pgn-gslider__body--right{align-items:flex-end;text-align:right}
.pgn-gslider__btn-wrap{display:flex;width:100%}
.pgn-gslider__title{margin:0;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}

/* ══════════════════════════════════════════════════════════
   GLASS CATEGORIES SLIDER
   ══════════════════════════════════════════════════════════ */
.pgn-gcat__card{display:flex;flex-direction:column;width:100%;text-decoration:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);border-radius:16px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
.pgn-gcat__card--lift:hover{transform:translateY(-6px)}
.pgn-gcat__img-wrap{overflow:hidden;width:100%}
.pgn-gcat__img{width:100%;height:180px;object-fit:cover;display:block;transition:transform .4s ease}
.pgn-gcat__card:hover .pgn-gcat__img{transform:scale(1.06)}
.pgn-gcat__info{padding:12px 16px;display:flex;flex-direction:column;gap:4px;text-align:center}
.pgn-gcat__name{margin:0;font-size:.95em;font-weight:700;color:#fff}
.pgn-gcat__count{font-size:.8em;color:rgba(255,255,255,.65)}

/* ══════════════════════════════════════════════════════════
   HERO SLIDER
   ══════════════════════════════════════════════════════════ */
.pgn-hero-wrap{width:100%}
.pgn-hero{position:relative;width:100%;height:100vh;overflow:hidden;background:#111}
.pgn-hero__slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .8s ease;z-index:1;will-change:opacity}
.pgn-hero__slide--active{opacity:1;z-index:2}
.pgn-hero__slide--prev{z-index:1}

/* Ken Burns */
to{transform:scale(1.08)}}
.pgn-hero__slide--active /* Mobile background */
@media(max-width:767px){
    .pgn-hero__slide[style*="--pgn-hero-mob-bg"]{background-image:var(--pgn-hero-mob-bg)!important;background-position:var(--pgn-hero-mob-pos,center center)!important;background-size:var(--pgn-hero-mob-size,cover)!important}
}

/* Overlay */
.pgn-hero__overlay{position:absolute;inset:0;z-index:2}

/* Media floating image */
.pgn-hero__media{position:absolute;z-index:4;pointer-events:none}
.pgn-hero__media img{width:100%;height:auto;display:block}

/* Content */
.pgn-hero__content-wrap{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;padding:40px}
.pgn-hero__content{display:flex;flex-direction:column;gap:16px;}.pgn-hero__content>*{margin:0!important;flex-shrink:0;}
.pgn-hero__tag{display:inline-block;font-size:.8em;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.4);padding:4px 14px;border-radius:999px;width:fit-content}
.pgn-hero__title{margin:0;font-size:clamp(2rem,5vw,4.5rem);font-weight:800;color:#fff;line-height:1.1}
.pgn-hero__subtitle{margin:0;font-size:clamp(1rem,2vw,1.5rem);font-weight:400;color:rgba(255,255,255,.9)}
.pgn-hero__text{margin:0;font-size:clamp(.9rem,1.5vw,1.1rem);color:rgba(255,255,255,.8);max-width:600px}

/* Content animations */
.pgn-hero__anim{opacity:0;transform:translateY(30px);transition:opacity .7s ease .2s, transform .7s ease .2s}
.pgn-hero__anim--in{opacity:1;transform:translateY(0)}
.pgn-hero__anim .pgn-hero__tag{transition-delay:.1s}
.pgn-hero__anim .pgn-hero__title{transition-delay:.2s}
.pgn-hero__anim .pgn-hero__subtitle{transition-delay:.3s}
.pgn-hero__anim .pgn-hero__text{transition-delay:.35s}
.pgn-hero__anim .pgn-hero__btns{transition-delay:.45s}
.pgn-hero__anim .pgn-hero__countdown{transition-delay:.55s}

/* Transitions */
.pgn-hero--slide .pgn-hero__slide{transform:translateX(100%);transition:transform .8s cubic-bezier(.25,.46,.45,.94),opacity 0s}
.pgn-hero--slide .pgn-hero__slide--prev{transform:translateX(-100%)}
.pgn-hero--slide .pgn-hero__slide--active{transform:translateX(0);opacity:1}
.pgn-hero--zoom .pgn-hero__slide{transform:scale(1.05);transition:transform .8s ease,opacity .8s ease}
.pgn-hero--zoom .pgn-hero__slide--active{transform:scale(1);opacity:1}

/* Buttons */
.pgn-hero__btns{display:flex;flex-wrap:wrap;gap:12px}
.pgn-hero__btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 32px;font-weight:700;font-size:1em;text-decoration:none;transition:all .25s ease;border:2px solid transparent;cursor:pointer}
.pgn-hero__btn--primary{background:#fff;color:#111;border-color:#fff}
.pgn-hero__btn--primary:hover{background:transparent;color:#fff}
.pgn-hero__btn--outline{background:transparent;color:#fff;border-color:#fff}
.pgn-hero__btn--outline:hover{background:#fff;color:#111}
.pgn-hero__btn--ghost{background:rgba(255,255,255,.2);color:#fff;border-color:rgba(255,255,255,.3);backdrop-filter:blur(8px)}
.pgn-hero__btn--ghost:hover{background:rgba(255,255,255,.35);color:#fff}

/* Navigation */
.pgn-hero__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:50px;height:50px;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:16px;transition:background .2s,transform .2s;backdrop-filter:blur(8px)}
.pgn-hero__arrow:hover{background:rgba(255,255,255,.4);transform:translateY(-50%) scale(1.1)}
.pgn-hero__arrow--prev{left:24px}
.pgn-hero__arrow--next{right:24px}
.pgn-hero__dots{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:10;display:flex;align-items:center;gap:8px}
.pgn-hero__dot{width:8px;height:8px;border-radius:999px;background:rgba(255,255,255,.5);cursor:pointer;border:none;padding:0;transition:background .25s,width .25s}
.pgn-hero__dot.active{background:#fff;width:28px}
.pgn-hero__scroll{position:absolute;bottom:28px;right:32px;z-index:10;width:42px;height:42px;border-radius:50%;color:#fff;border:2px solid rgba(255,255,255,.5);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;animation:pgn-scroll-bounce 2s ease-in-out infinite;transition:background .2s}
.pgn-hero__scroll:hover{background:rgba(255,255,255,.2)}
@keyframes pgn-scroll-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}

/* Countdown */
.pgn-hero__countdown{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.pgn-hero__cd-label{font-size:.85em;color:rgba(255,255,255,.8)}
.pgn-hero__cd-timer{display:flex;gap:10px}
.pgn-hero__cd-item{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:60px;background:rgba(0,0,0,.45);backdrop-filter:blur(8px);padding:10px 8px;border-radius:10px;border:1px solid rgba(255,255,255,.15)}
.pgn-hero__cd-num{font-size:1.8em;font-weight:800;color:#fff;line-height:1}
.pgn-hero__cd-lbl{font-size:.65em;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.05em}
@media(max-width:767px){.pgn-hero__content-wrap{padding:24px 20px}.pgn-hero__arrow{display:none}.pgn-hero__cd-item{min-width:46px;padding:8px 6px}.pgn-hero__cd-num{font-size:1.4em}}

/* ══════════════════════════════════════════════════════════
   FLOATING BADGE
   ══════════════════════════════════════════════════════════ */
.pgn-fbadge{position:absolute;pointer-events:auto;z-index:10}
.pgn-fbadge__inner{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;text-decoration:none;position:relative;overflow:hidden}
.pgn-fbadge--shape-circle{border-radius:50%;aspect-ratio:1}
.pgn-fbadge--shape-pill{border-radius:999px;padding:6px 18px}
.pgn-fbadge--shape-rect{border-radius:6px;padding:6px 14px}
.pgn-fbadge--shape-ribbon{border-radius:0;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%);padding:6px 28px 6px 14px}
.pgn-fbadge__inner img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
/* Animations reuse from badge */
.pgn-badge--anim-spin{animation:pgn-spin 3s linear infinite}
@keyframes pgn-spin{to{transform:rotate(360deg)}}

/* ══════════════════════════════════════════════════════════
   PRODUCT IMAGE FX
   ══════════════════════════════════════════════════════════ */
.pgn-imgfx{display:flex;justify-content:center;width:100%}
.pgn-imgfx__wrap{position:relative;display:block;overflow:hidden;transition:transform .4s ease;transform-style:preserve-3d}
.pgn-imgfx__img{width:100%;display:block;transition:transform .5s ease}
/* Shimmer */
.pgn-imgfx__shimmer{position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,var(--shimmer-color,rgba(255,255,255,.6)) 50%,transparent 60%);background-size:200% 100%;background-position:-200% 0;animation:pgn-shimmer 2.5s ease-in-out infinite;pointer-events:none;z-index:2}
/* Overlay */
.pgn-imgfx__overlay{position:absolute;inset:0;opacity:0;transition:opacity .3s ease;z-index:3;pointer-events:none}
.pgn-imgfx__wrap:hover .pgn-imgfx__overlay{opacity:1}
/* Glitch */
.pgn-imgfx__glitch{position:absolute;inset:0;background-size:cover!important;background-repeat:no-repeat;opacity:0;pointer-events:none;z-index:4;mix-blend-mode:screen}
.pgn-imgfx--glitch-active .pgn-imgfx__glitch--r{opacity:.8;animation:pgn-glitch-r .15s steps(2) 2}
.pgn-imgfx--glitch-active .pgn-imgfx__glitch--b{opacity:.7;animation:pgn-glitch-b .15s steps(2) 2}
.pgn-imgfx--glitch-hover:hover .pgn-imgfx__glitch--r{opacity:.8;animation:pgn-glitch-r .2s steps(2) 3}
.pgn-imgfx--glitch-hover:hover .pgn-imgfx__glitch--b{opacity:.7;animation:pgn-glitch-b .2s steps(2) 3}
@keyframes pgn-glitch-r{0%,100%{clip-path:inset(0 0 90% 0);transform:translate(-4px,2px)}50%{clip-path:inset(40% 0 30% 0);transform:translate(4px,-2px)}}
@keyframes pgn-glitch-b{0%,100%{clip-path:inset(60% 0 0 0);transform:translate(3px,3px)}50%{clip-path:inset(20% 0 60% 0);transform:translate(-3px,-1px)}}
/* Apply glitch on hover via class */
.pgn-imgfx--glitch.pgn-imgfx--glitch-hover .pgn-imgfx__wrap:hover{animation:pgn-glitch-r .1s steps(2) 4}

/* ══════════════════════════════════════════════════════════
   PUZZLE GAME
   ══════════════════════════════════════════════════════════ */
.pgn-puzzle{padding:32px 24px;border-radius:20px;background:rgba(255,255,255,.08);backdrop-filter:blur(10px);text-align:center;position:relative;overflow:hidden}
.pgn-puzzle__header{margin-bottom:24px}
.pgn-puzzle__title{margin:0 0 8px;font-size:1.5em;font-weight:800;color:#fff}
.pgn-puzzle__subtitle{margin:0;font-size:.9em;color:rgba(255,255,255,.75)}
.pgn-puzzle__stats{display:flex;justify-content:center;gap:24px;margin-bottom:16px;font-size:.9em;color:rgba(255,255,255,.75)}
.pgn-puzzle__board{position:relative;margin:0 auto;border-radius:8px;overflow:hidden;max-width:100%;aspect-ratio:1/1}
.pgn-puzzle__piece{position:absolute;box-sizing:border-box;border:2px solid rgba(255,255,255,.5);background-color:rgba(255,255,255,.1);cursor:pointer;transition:all .15s ease;background-repeat:no-repeat;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:1.2em}
.pgn-puzzle__piece:hover:not(.pgn-puzzle__piece--blank){filter:brightness(1.15)}
.pgn-puzzle__piece--blank{background:rgba(0,0,0,.3)!important;border-color:rgba(0,0,0,.2);cursor:default}
.pgn-puzzle__preview{margin-bottom:16px;display:flex;justify-content:center}
.pgn-puzzle__preview img{max-width:180px;border-radius:12px;border:2px solid rgba(255,255,255,.3)}
.pgn-puzzle__btn-start,.pgn-puzzle__btn-reset{display:inline-flex;align-items:center;justify-content:center;padding:12px 28px;border:none;border-radius:999px;font-weight:700;font-size:1em;cursor:pointer;margin-top:16px;transition:transform .2s,opacity .2s}
.pgn-puzzle__btn-start:hover,.pgn-puzzle__btn-reset:hover{transform:scale(1.05)}
.pgn-puzzle__btn-reset{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.25);margin-left:8px;padding:8px 20px;font-size:.85em}
.pgn-puzzle__win{padding:20px}
.pgn-puzzle__win-icon{font-size:3em;margin-bottom:8px}
.pgn-puzzle__win-title{margin:0 0 8px;font-size:1.4em;font-weight:800;color:#fff}
.pgn-puzzle__win-message{margin:0 0 16px;color:rgba(255,255,255,.8)}
.pgn-puzzle__coupon{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px;border-radius:12px;background:rgba(220,38,38,.15);border:1px dashed rgba(220,38,38,.5);margin:12px 0}
.pgn-puzzle__coupon-label{font-size:.85em;color:rgba(255,255,255,.75)}
.pgn-puzzle__coupon-code{font-size:2em;font-weight:900;color:#dc2626;letter-spacing:.1em}
.pgn-puzzle__btn-copy{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.3);padding:6px 18px;border-radius:999px;cursor:pointer;font-size:.85em;transition:background .2s}
.pgn-puzzle__btn-copy:hover{background:rgba(255,255,255,.3)}
.pgn-puzzle__btn-play-again{margin-top:8px}

/* ══════════════════════════════════════════════════════════
   GLASS SLIDER — Shared Swiper overrides
   ══════════════════════════════════════════════════════════ */
.pgn-gslider-outer{width:100%;box-sizing:border-box}.pgn-gslider-wrap{position:relative;padding:0 30px;width:100%;box-sizing:border-box}
.pgn-gslider.swiper{width:100%;overflow:hidden}.pgn-gslider-wrap{position:relative;overflow:visible;}
/* Slide: height auto so card controls its own height */
.pgn-gslider__slide.swiper-slide{height:auto;box-sizing:border-box;align-self:flex-start}
.pgn-gslider__card{width:100%;height:auto;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:0;overflow:visible;transition:transform .3s ease,box-shadow .3s ease;position:relative;box-sizing:border-box}
/* Override swiper default pagination */
.pgn-gslider__dots.swiper-pagination{position:relative;margin-top:16px;display:flex;align-items:center;justify-content:center;gap:8px;height:auto;bottom:auto}
.pgn-gslider__dot.swiper-pagination-bullet{width:8px;height:8px;border-radius:999px;background:rgba(255,255,255,.4);opacity:1;transition:background .25s,width .25s;border:none;padding:0;cursor:pointer;margin:0}
.pgn-gslider__dot.swiper-pagination-bullet-active,.pgn-gslider__dot.active{background:#fff;width:24px}

.pgn-puzzle__piece{box-sizing:border-box;background-repeat:no-repeat;border:2px solid rgba(255,255,255,0.5);cursor:grab;transition:opacity .15s,transform .1s;user-select:none;-webkit-user-select:none}
.pgn-puzzle__piece:active{cursor:grabbing;transform:scale(1.03);z-index:10}
.pgn-puzzle__piece--blank{cursor:default;background:rgba(0,0,0,0.25)!important;border-style:dashed}
.pgn-puzzle__discount-pct{font-weight:900;line-height:1;margin:8px 0}
.pgn-puzzle__coupon--discount{text-align:center}

/* ─── Puzzle Compact Mode ─── */
.pgn-puzzle--compact{padding:1.5em}
.pgn-puzzle--compact .pgn-puzzle__title{font-size:1.2em}
.pgn-puzzle--compact .pgn-puzzle__preview img{max-width:120px}

/* ─── Puzzle Popup Mode ─── */
.pgn-puzzle-popup-trigger{text-align:center}
.pgn-puzzle__popup-open{background:var(--pgn-btn-bg,#dc2626);color:#fff}
.pgn-puzzle-popup-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:99999;display:flex;align-items:center;justify-content:center;padding:1em;backdrop-filter:blur(4px)}
.pgn-puzzle-popup-box{position:relative;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;border-radius:1.2em}
.pgn-puzzle-popup-close{position:absolute;top:.75em;right:.75em;background:rgba(255,255,255,.15);color:#fff;border:none;width:2em;height:2em;border-radius:50%;cursor:pointer;font-size:1em;z-index:10;line-height:1}
.pgn-puzzle-popup-close:hover{background:rgba(255,255,255,.3)}
.pgn-puzzle-popup-box .pgn-puzzle{border-radius:1.2em}

/* ─── Puzzle board responsive ─── */
.pgn-puzzle__board{width:min(40vw,360px);height:min(40vw,360px)}
@media(max-width:768px){.pgn-puzzle__board{width:min(80vw,360px);height:min(80vw,360px)}}

/* ─── Puzzle Timer Bar ─── */
.pgn-puzzle__timer-bar{width:100%;height:6px;background:rgba(255,255,255,.15);border-radius:999px;overflow:hidden;margin-bottom:12px}
.pgn-puzzle__timer-bar-fill{height:100%;width:100%;background:#22c55e;border-radius:999px;transition:width 1s linear,background .5s}
.pgn-puzzle__time{font-variant-numeric:tabular-nums;font-weight:700}

/* ─── Puzzle Lose screen ─── */
.pgn-puzzle__lose{padding:20px;text-align:center}
.pgn-puzzle__lose .pgn-puzzle__win-icon{animation:pgn-shake .4s ease}
@keyframes pgn-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}

/* ─── Puzzle drag feedback ─── */
.pgn-puzzle__piece.pgn-drag-over{outline:3px solid rgba(255,255,255,.8);outline-offset:-3px;filter:brightness(1.3)}
.pgn-puzzle__piece--blank:active{cursor:grabbing}

/* ─── Marquee Products Badge Shapes ─── */
.pgn-mprod__badge--pill{border-radius:999px;padding:3px 10px}
.pgn-mprod__badge--square{border-radius:4px;padding:3px 8px}
.pgn-mprod__badge--circle{border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;font-size:10px!important;text-align:center;line-height:1.1}
.pgn-mprod__badge--flag{border-radius:0 0 4px 0;padding:4px 10px 4px 6px;clip-path:polygon(0 0,100% 0,85% 50%,100% 100%,0 100%)}

/* ─── Product Sales Counter ─── */
.pgn-sc__wrap{box-sizing:border-box}
.pgn-sc__number{font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.pgn-sc__icon{display:inline-flex;align-items:center}
.pgn-sc__bar{width:100%;overflow:hidden}
.pgn-sc__bar-fill{height:100%;width:0;transition:width 1.2s cubic-bezier(.4,0,.2,1)}
.pgn-sc__bar-meta{font-size:.8em;margin-top:4px}

/* ─── Glass Cards Slider Badge Shapes ─── */
.pgn-gslider__badge--pill{border-radius:999px;padding:3px 10px}
.pgn-gslider__badge--square{border-radius:4px;padding:3px 8px}
.pgn-gslider__badge--circle{border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;padding:0;font-size:10px!important;text-align:center;line-height:1.1}
.pgn-gslider__badge--flag{border-radius:0 0 4px 0;padding:4px 10px 4px 6px;clip-path:polygon(0 0,100% 0,85% 50%,100% 100%,0 100%)}

/* ─── Marquee Vertical Mode ─── */
.pgn-marquee--vertical { overflow: hidden; }
.pgn-marquee--vertical .pgn-marquee__track {
    display: flex;
    flex-direction: column;
    animation-name: pgn-scroll-v;
    width: 100%;
}
.pgn-marquee--vertical .pgn-marquee__inner {
    display: flex;
    flex-direction: column;
    width: 100%;
}
.pgn-marquee--vertical .pgn-mprod__card {
    width: 100% !important;
    flex: 0 0 auto !important;
}
@keyframes pgn-scroll-v {
    0%   { transform: translateY(0); }
    100% { transform: translateY(-50%); }
}
.pgn-marquee--vertical.pgn-marquee--pause-hover:hover .pgn-marquee__track { animation-play-state: paused; }


/* ═══════════════════════════════════════
   UPSELLS WIDGET
═══════════════════════════════════════ */
.pgn-ups-wrap { overflow: visible; width: 100%; }
.pgn-ups__inner { display: flex; flex-direction: row; align-items: stretch; }

.pgn-ups__card {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    overflow: visible;
    border-radius: 10px;
    background: #fff;
    transition: transform .25s ease, box-shadow .25s ease;
    position: relative;
    min-width: 0;
}
.pgn-ups__card:hover { transform: translateY(-3px); }

.pgn-ups__img-wrap {
    display: block;
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #f5f5f5;
    flex-shrink: 0;
}
.pgn-ups__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s ease;
}
.pgn-ups__card:hover .pgn-ups__img { transform: scale(1.04); }

.pgn-ups__info { padding: 8px 10px; flex: 1; }
.pgn-ups__title {
    display: block;
    font-size: .85em;
    font-weight: 600;
    color: #1a1a1a;
    text-decoration: none;
    line-height: 1.4;
    margin-bottom: 4px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.pgn-ups__title:hover { opacity: .75; }
.pgn-ups__price { font-size: .82em; color: #1a1a1a; }
.pgn-ups__price del { opacity: .55; margin-right: 4px; }
.pgn-ups__empty { padding: 10px; color: #999; }

/* Section title */
.pgn-ups__section-title { margin: 0 0 14px 0; display: block; }

/* Badge */
.pgn-ups__badge {
    position: absolute;
    top: 8px;
    left: 8px;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    z-index: 2;
    line-height: 1;
    white-space: nowrap;
}
.pgn-ups__badge--pill   { border-radius: 999px; padding: 3px 10px; }
.pgn-ups__badge--square { border-radius: 4px; padding: 3px 8px; }
.pgn-ups__badge--circle { border-radius: 50%; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; padding: 0; font-size: 10px !important; text-align: center; line-height: 1.1; }
.pgn-ups__badge--flag   { border-radius: 0; padding: 4px 10px 4px 6px; clip-path: polygon(0 0, 100% 0, 85% 50%, 100% 100%, 0 100%); }
