.elementor-49469 .elementor-element.elementor-element-9986a6d{--display:flex;}/* Start custom CSS *//* ===========================
   PPE Holiday Page — Global CSS
   =========================== */

/* 0) Hide WPFront "scroll to top" arrow (so our Catalog button replaces it) */
#wpfront-scroll-top-container,
#wpfront-scroll-top-container * {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
img[src*="/wpfront-scroll-top/images/icons/117.png"]{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* 1) Page shell */
.ppx-scope{width:100%;margin:0;padding:0;background:#0b1220;--ppx-accent:#c52b2b;--ppx-blue:#2b8cff;}
.ppx-scope .ppx-inner{max-width:1200px;margin:0 auto;padding:48px 20px;color:#f5f7fb;line-height:1.6;}

/* Headings & text */
.ppx-scope h1,.ppx-scope h2,.ppx-scope h3,.ppx-scope h4,.ppx-scope h5,.ppx-scope h6{
  margin:0 0 .5em 0;font-weight:700;letter-spacing:.2px;color:#fff;
}
.ppx-scope h1{font-size:clamp(28px,5vw,40px)}
.ppx-scope h2{font-size:clamp(22px,3.6vw,28px);margin-top:32px}
.ppx-scope h3{font-size:clamp(18px,2.4vw,22px);margin-top:18px}
.ppx-scope p{margin:0 0 1em 0;color:#e3e7f0}

/* Hero */
.ppx-hero{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:28px}
.ppx-hero-card{position:relative;border-radius:12px;overflow:hidden;background:#101726}
.ppx-hero-card img{width:100%;height:340px;object-fit:cover;display:block;opacity:.93}
.ppx-hero-badge{position:absolute;left:14px;top:14px;background:var(--ppx-accent);color:#fff;
  font-weight:700;padding:6px 10px;border-radius:100px;font-size:12px;letter-spacing:.5px;text-transform:uppercase}
.ppx-hero-overlay{position:absolute;inset:auto 0 0 0;padding:18px 20px;background:linear-gradient(0deg,#0b1220 10%,transparent 70%);}

/* Cards */
.ppx-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:14px}
.ppx-card{background:#101726;border:1px solid #202b44;border-radius:12px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.ppx-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.35)}
.ppx-card img{width:100%;height:180px;object-fit:cover;display:block}
.ppx-card .ppx-body{padding:14px}
.ppx-tag{display:inline-block;background:#e9eef8;color:#0b1220;font-weight:700;padding:4px 8px;border-radius:6px;font-size:12px;margin-bottom:8px}
.ppx-cta{display:inline-grid;grid-auto-flow:column;gap:10px;align-items:center;background:var(--ppx-accent);color:#fff;
  padding:12px 16px;border-radius:10px;font-weight:800;text-decoration:none;margin-top:10px}
.ppx-cta:hover{filter:brightness(1.05)}
.ppx-small{font-size:13px;opacity:.88}

/* Gallery */
.ppx-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:12px}
.ppx-gallery img{width:100%;height:160px;object-fit:cover;border-radius:10px;border:1px solid #243150}

/* 2) Floating CTAs (Catalog right, Call left/mobile) */
.ppx-fab{position:fixed;z-index:999999;display:flex;align-items:center;gap:10px}
.ppx-fab a,.ppx-fab button{all:unset;cursor:pointer}

/* Positions with safe-area support (iOS) */
.ppx-fab--catalog{right:16px;bottom:calc(18px + env(safe-area-inset-bottom));}
.ppx-fab--call{left:16px;bottom:calc(18px + env(safe-area-inset-bottom));}

/* Glow pulse animations */
@keyframes ppx-glow-red{
  0%{transform:scale(1);box-shadow:0 0 0 0 rgba(197,43,43,.55)}
  60%{transform:scale(1.08);box-shadow:0 0 0 20px rgba(197,43,43,0)}
  100%{transform:scale(1);box-shadow:0 0 0 0 rgba(197,43,43,0)}
}
@keyframes ppx-glow-blue{
  0%{transform:scale(1);box-shadow:0 0 0 0 rgba(43,140,255,.55)}
  60%{transform:scale(1.08);box-shadow:0 0 0 20px rgba(43,140,255,0)}
  100%{transform:scale(1);box-shadow:0 0 0 0 rgba(43,140,255,0)}
}

/* Catalog CTA (desktop + mobile, bottom-right) */
.ppx-fab__catalog{
  background:linear-gradient(135deg,#ff5a5a 0%,#c52b2b 55%,#9f1717 100%);
  color:#fff;border-radius:16px;padding:14px 18px 14px 14px;
  display:inline-grid;grid-auto-flow:column;gap:12px;align-items:center;
  font-weight:900;letter-spacing:.2px;text-decoration:none;font-size:15px;
  animation:ppx-glow-red 2.1s infinite;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.35));
  transition:transform .2s ease, filter .2s ease;
}
.ppx-fab__catalog:hover{transform:translateY(-2px)}
.ppx-fab__catalog-icon{
  width:22px;height:22px;display:inline-block;filter:invert(1) brightness(1.6);opacity:.95;
}

/* Call CTA (mobile only, bottom-left) */
.ppx-fab__call{
  width:64px;height:64px;border-radius:50%;
  background:linear-gradient(135deg,#2b8cff 0%,#1765d8 60%,#0b4dbf 100%);
  display:flex;align-items:center;justify-content:center;
  animation:ppx-glow-blue 2s infinite;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.35));
}
.ppx-fab__call svg{width:28px;height:28px;fill:#fff}

/* Hide the call button on desktop */
@media (min-width:769px){ .ppx-fab--call{display:none} }

/* Wider hero on desktop */
@media (min-width:900px){
  .ppx-hero{grid-template-columns:1.2fr .8fr}
  .ppx-hero-card img{height:420px}
}
/* ===== Scoped styles: ONLY the floating catalog button ===== */
a.ppx-fab__catalog{
  /* local “theme” vars scoped to this element only */
  --ppx-brand:#573288;          /* Party Pros purple */
  --ppx-brand-dark:#3f246a;     /* darker edge */
  --ppx-accent:#f29e5c;         /* warm glow */

  position: fixed;
  right: 20px;
  bottom: calc(22px + env(safe-area-inset-bottom, 0px));
  z-index: 2147483647;

  display: inline-flex;
  align-items: center;
  gap: 10px;

  padding: 14px 18px;
  border-radius: 999px;
  background-color: rgba(87,50,136,0.98); /* solid bg for visibility */
  background-image: linear-gradient(90deg, var(--ppx-brand), var(--ppx-brand-dark));
  color: #fff !important;
  text-decoration: none !important;

  border: 2px solid rgba(255,255,255,.25);
  box-shadow: 0 10px 24px rgba(0,0,0,.25);
  font: 700 15.5px/1.1 "Poppins", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  transform: translateZ(0); /* own stacking context, avoids odd effects */
  transition: transform .2s ease, box-shadow .2s ease;
}

/* icon bubble */
a.ppx-fab__catalog .ppx-fab__catalog-icon{
  width: 28px; height: 28px; object-fit: contain;
  background: #fff; border-radius: 50%; padding: 4px;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.25));
}

/* pulse ring (purely decorative) */
a.ppx-fab__catalog::after{
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 999px;
  box-shadow: 0 0 0 0 rgba(242,158,92,.6);
  animation: ppx-cat-pulse 1.8s ease-out infinite;
  pointer-events: none;
}

/* hover */
a.ppx-fab__catalog:hover{
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 14px 30px rgba(0,0,0,.30);
}

/* mobile tweaks (still scoped) */
@media (max-width: 767px){
  a.ppx-fab__catalog{
    right: 14px;
    bottom: calc(24px + env(safe-area-inset-bottom, 0px));
    padding: 12px 16px;
    font-size: 15px;
  }
  a.ppx-fab__catalog .ppx-fab__catalog-icon{ width: 26px; height: 26px; }
}

/* motion preference respected */
@media (prefers-reduced-motion: reduce){
  a.ppx-fab__catalog::after{ animation: none !important; }
}

/* keyframes (unique name to avoid collisions) */
@keyframes ppx-cat-pulse{
  0%   { box-shadow: 0 0 0 0 rgba(242,158,92,.6); }
  70%  { box-shadow: 0 0 0 14px rgba(242,158,92,0); }
  100% { box-shadow: 0 0 0 0 rgba(242,158,92,0); }
}/* End custom CSS */