
/* Owner-controlled Puckin Go website content */
.pg-promo-shell,.pg-curated-shell{max-width:1240px;margin:30px auto;padding:0 20px}
.pg-promo{border-radius:22px;overflow:hidden;background:#17101f;color:white;display:grid;grid-template-columns:1fr 1fr;min-height:300px;border:1px solid #46246a}
.pg-promo-media{min-height:280px;background:linear-gradient(120deg,#52278b,#120f22)}
.pg-promo-media img,.pg-promo-media video{width:100%;height:100%;max-height:440px;object-fit:cover;display:block}
.pg-promo-copy{padding:clamp(24px,4vw,58px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.pg-promo-copy h2{font-size:clamp(28px,4vw,50px);line-height:1.1;margin:0 0 12px;color:white}
.pg-promo-copy p{line-height:1.6;color:#e5dcef;margin:0 0 24px}
.pg-promo-copy a{background:#a56cfb;color:#160d20;border-radius:12px;padding:12px 20px;text-decoration:none;font-weight:850}
.pg-promo-nav{display:flex;justify-content:center;gap:8px;margin:12px 0}
.pg-promo-nav button{border:1px solid #8d65c4;border-radius:50%;background:#fff;width:34px;height:34px;cursor:pointer}
.pg-curated-shell{padding:26px 20px 44px}
.pg-curated-shell h2{margin:14px 0;font-size:28px}
.pg-curated-grid,.pg-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}
.pg-curated-card{border:1px solid #dfe0e4;border-radius:16px;background:#fff;overflow:hidden;color:#1b1720}
.pg-curated-card img{width:100%;height:200px;object-fit:contain;background:#fff;display:block}
.pg-curated-card div{padding:14px}
.pg-curated-card h3{font-size:16px;margin:4px 0 10px}
.pg-curated-card p{margin:4px 0 10px;font-size:13px}
.pg-curated-card a{color:#6d31ad;font-weight:800}
.pg-curated-card b{display:block;margin-bottom:8px}
.pg-gallery-shell{padding:38px 0;background:#f5f1fa}
.pg-gallery-shell .pg-content-wrap,.pg-merch-shell .pg-content-wrap{max-width:1160px;margin:auto;padding:0 22px}
.pg-gallery-shell h2,.pg-merch-shell h2{margin:0 0 18px}
.pg-photo-grid figure{margin:0;border-radius:15px;overflow:hidden;background:#fff;border:1px solid #e3dbea}
.pg-photo-grid img{width:100%;height:235px;object-fit:cover;display:block}
.pg-photo-grid figcaption{padding:10px;font-size:13px;color:#353036}
.pg-merch-shell{padding:40px 0;background:#f8f6fa;color:#191321}
.pg-merch-shell p{color:#555}
@media(max-width:700px){.pg-promo{grid-template-columns:1fr}.pg-promo-media{min-height:190px}.pg-promo-media img,.pg-promo-media video{max-height:250px}.pg-curated-grid,.pg-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pg-curated-card img{height:140px}}


/* Uploaded Puck Lab images appear prominently without losing the original logo. */
.pg-puck-lab-feature-photo{position:relative;margin:0;min-width:0;width:100%;height:360px;border-radius:20px;overflow:hidden;background:#241333;border:1px solid rgba(202,164,244,.45);box-shadow:0 22px 45px rgba(0,0,0,.32)}
.pg-puck-lab-photo-main{display:block;width:100%;height:100%;object-fit:cover}
.pg-puck-lab-photo-badge{position:absolute;right:12px;top:12px;padding:5px 8px;border-radius:12px;background:rgba(12,9,19,.8);box-shadow:0 5px 16px rgba(0,0,0,.25)}
.pg-puck-lab-photo-badge .puck-hero-logo{width:105px;max-height:85px;object-fit:contain;margin:0;filter:none}
.pg-puck-lab-feature-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:28px 15px 13px;background:linear-gradient(transparent,rgba(0,0,0,.8));color:#fff;font-size:13px;font-weight:650}
@media(max-width:900px){.pg-puck-lab-feature-photo{height:320px}}
@media(max-width:560px){.pg-puck-lab-feature-photo{height:240px}.pg-puck-lab-photo-badge .puck-hero-logo{width:70px;max-height:65px}}

/* One scrolling banner, two owner-colourable segments: official vs other brands. */
.pg-brand-strip{background:#150e1d;border-bottom:1px solid #33213e;color:#fff;overflow:hidden}
.pg-brand-strip[hidden]{display:none!important}
.pg-brand-strip-inner{min-height:62px;display:block;width:100%!important;max-width:none!important;padding:0!important}
.pg-brand-strip-title{display:none!important}
.pg-brand-strip-list{width:100%;overflow:hidden}
.pg-brand-strip-track{display:flex;width:max-content;min-width:max-content;align-items:stretch;animation:pg-brand-roll-left var(--pg-brand-duration,64s) linear infinite;will-change:transform}
@keyframes pg-brand-roll-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.pg-brand-cycle{display:flex;align-items:stretch;flex:0 0 auto}
.pg-brand-group{min-height:62px;display:flex;align-items:center;gap:13px;flex:0 0 auto;padding:8px 22px;background:var(--pg-group-bg,#362047);color:var(--pg-group-text,#fff)}
.pg-brand-group-heading{font-size:10px;font-weight:950;letter-spacing:1.25px;text-transform:uppercase;white-space:nowrap;line-height:1.25;padding-right:7px}
.pg-brand-strip-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;min-width:87px;min-height:37px;padding:5px 12px;border:1px solid currentColor;border-radius:8px;background:rgba(255,255,255,.065);color:inherit;font-size:13px;font-weight:850;text-decoration:none;white-space:nowrap}
.pg-brand-strip-link:hover,.pg-brand-strip-link:focus-visible{background:rgba(255,255,255,.2);color:inherit;outline-offset:2px}
.pg-brand-strip-link img{width:auto;max-width:104px;height:30px;max-height:30px;object-fit:contain;display:block}
.pg-brand-strip-list:hover .pg-brand-strip-track,.pg-brand-strip-list:focus-within .pg-brand-strip-track{animation-play-state:paused}
.pg-brand-strip--static .pg-brand-strip-list{overflow-x:auto;scrollbar-width:thin}
.pg-brand-strip--static .pg-brand-strip-track{animation:none;transform:none;will-change:auto}
.pg-brand-strip--static .pg-brand-cycle:not(:first-child){display:none}
@media(max-width:700px){
 .pg-brand-group{min-height:54px;gap:9px;padding:6px 13px}
 .pg-brand-group-heading{font-size:9px;letter-spacing:.6px}
 .pg-brand-strip-link{min-width:74px;min-height:34px;font-size:12px;padding:4px 9px}
 .pg-brand-strip-link img{height:25px;max-height:25px;max-width:84px}
}
@media(prefers-reduced-motion:reduce){
 .pg-brand-strip-list{overflow-x:auto;scrollbar-width:thin}
 .pg-brand-strip-track{animation:none!important;transform:none!important;will-change:auto}
 .pg-brand-cycle:not(:first-child){display:none}
}
