.elementor-52002 .elementor-element.elementor-element-d84d3d5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS *//* =======================
   Party Pros East Coast — Block Party (2026 Update)
   Scoped to .ppe-blockparty to prevent bleed
   ======================= */

.ppe-blockparty{
  --ppe-bg:#ffffff; --ppe-ink:#111323; --ppe-sub:#5b6377;
  --ppe-surface:#f6f7fb; --ppe-line:#e7eaf3;
  --ppe-accent:#5a5cff; --ppe-accent-2:#00d6ff; --ppe-ring:rgba(90,92,255,.25);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--ppe-ink); line-height:1.6;
}
.ppe-blockparty *{ box-sizing:border-box; }
.ppe-blockparty a{ color:var(--ppe-accent); text-decoration:none; }
.ppe-blockparty a:hover{ text-decoration:underline; }
.ppe-blockparty img{ display:block; width:100%; height:auto; border-radius:12px; }

/* Headings */
.ppe-blockparty .ppe-h1{ font-size:clamp(28px,3.6vw,42px); line-height:1.14; margin:0 0 8px; }
.ppe-blockparty h2{ font-size:clamp(22px,2.6vw,30px); margin:22px 0 10px; }
.ppe-blockparty h3{ font-size:clamp(18px,2.2vw,22px); margin:14px 0 6px; }
.ppe-blockparty h4{ font-size:clamp(16px,1.9vw,20px); margin:10px 0 6px; }
.ppe-blockparty .ppe-eyebrow{ letter-spacing:.08em; text-transform:uppercase; color:#2b3170; font-weight:800; margin:0 0 8px; }
.ppe-blockparty .ppe-note{ color:var(--ppe-sub); font-size:.95rem; }

/* Hero */
.ppe-blockparty .ppe-hero{
  display:grid; gap:24px; grid-template-columns:1.2fr 1fr; align-items:center;
  background:linear-gradient(180deg,var(--ppe-surface),#fff);
  padding:24px; border:1px solid var(--ppe-line); border-radius:16px;
}
.ppe-blockparty .ppe-media-16x9{ aspect-ratio:16/9; position:relative; overflow:hidden; border-radius:12px; }
.ppe-blockparty .ppe-media-16x9>img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }

/* Buttons */
.ppe-blockparty .ppe-cta-row{ display:flex; flex-wrap:wrap; gap:12px; }
.ppe-blockparty .ppe-btn{
  display:inline-block; padding:10px 16px; border-radius:12px; color:#fff; font-weight:800;
  background:linear-gradient(90deg,var(--ppe-accent),var(--ppe-accent-2));
  box-shadow:0 8px 24px var(--ppe-ring); border:0; cursor:pointer;
}
.ppe-blockparty .ppe-btn:hover{ transform:translateY(-1px); }
.ppe-blockparty .ppe-btn--ghost{ background:transparent; color:var(--ppe-accent); border:2px solid var(--ppe-accent); box-shadow:none; }
.ppe-blockparty .ppe-btn--small{ padding:8px 12px; border-radius:8px; font-size:13px; }
.ppe-blockparty .ppe-link{ color:var(--ppe-accent); font-weight:700; }

/* Cards & Grids */
.ppe-blockparty .ppe-card-grid{ display:grid; gap:18px; grid-template-columns:repeat(12,1fr); }
.ppe-blockparty .ppe-card{ background:#fff; border:1px solid var(--ppe-line); border-radius:14px; padding:14px; min-height:100%; }
.ppe-blockparty .ppe-card-media{ margin:-14px -14px 10px; overflow:hidden; border-top-left-radius:14px; border-top-right-radius:14px; }
.ppe-blockparty .ppe-card-grid .ppe-card{ grid-column:span 6; }
.ppe-blockparty .ppe-card-grid--thirds .ppe-card{ grid-column:span 4; }

/* Lists */
.ppe-blockparty .ppe-list-check{ list-style:none; padding:0; margin:0; }
.ppe-blockparty .ppe-list-check li{ position:relative; padding-left:24px; margin:6px 0; }
.ppe-blockparty .ppe-list-check li:before{ content:"✓"; position:absolute; left:0; top:0; color:var(--ppe-accent); font-weight:800; }

/* Timeline (HowTo) */
.ppe-blockparty .ppe-steps{ counter-reset:step; display:grid; gap:16px; }
.ppe-blockparty .ppe-step{ border:1px solid var(--ppe-line); border-radius:12px; padding:12px 14px; background:#fff; }
.ppe-blockparty .ppe-step h4{ display:flex; align-items:center; gap:10px; margin:0 0 6px; }
.ppe-blockparty .ppe-step h4:before{
  counter-increment:step; content:counter(step);
  display:inline-grid; place-items:center; width:28px; height:28px; border-radius:50%;
  background:linear-gradient(90deg,var(--ppe-accent),var(--ppe-accent-2)); color:#fff; font-weight:900;
}

/* FAQ */
.ppe-blockparty details{ border:1px solid var(--ppe-line); border-radius:10px; padding:10px 12px; background:#fff; margin:10px 0; }
.ppe-blockparty summary{ cursor:pointer; font-weight:800; }

/* CTA */
.ppe-blockparty .ppe-cta{ margin-top:24px; }
.ppe-blockparty .ppe-cta-inner{ border:2px dashed var(--ppe-accent); border-radius:16px; padding:18px; text-align:center; background:#fafbff; }

/* Iframe Modals */
.ppe-blockparty .ppe-iframe-overlay{ position:fixed; inset:0; background:rgba(12,14,22,.76); display:none; align-items:center; justify-content:center; padding:4vw; z-index:9998; }
.ppe-blockparty .ppe-iframe-overlay.is-open{ display:flex; }
.ppe-blockparty .ppe-iframe-dialog{ width:min(1100px,96vw); height:min(80vh,720px); background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 30px 80px rgba(0,0,0,.35); }
.ppe-blockparty .ppe-iframe-header{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 14px;
  background:linear-gradient(90deg,var(--ppe-accent),var(--ppe-accent-2)); color:#fff; }
.ppe-blockparty .ppe-iframe-title{ margin:0; font-size:16px; }
.ppe-blockparty .ppe-iframe-actions a{ color:#fff; font-weight:800; text-decoration:underline; margin-right:10px; }
.ppe-blockparty .ppe-iframe-close{ background:rgba(255,255,255,.18); border:0; color:#fff; font-size:22px; line-height:1; padding:0 8px; border-radius:6px; cursor:pointer; }
.ppe-blockparty .ppe-iframe-body{ width:100%; height:calc(100% - 44px); background:#0b0e19; }
.ppe-blockparty .ppe-iframe-body iframe{ width:100%; height:100%; border:0; }

/* Mobile Call button */
.ppe-blockparty .ppe-call-mobile{
  position:fixed; left:14px; bottom:14px; z-index:10000; display:none; align-items:center; gap:8px; padding:12px 14px;
  border-radius:999px; background:linear-gradient(90deg,var(--ppe-accent),var(--ppe-accent-2)); color:#fff;
  box-shadow:0 10px 26px var(--ppe-ring); font-weight:900; text-decoration:none;
}
.ppe-blockparty .ppe-call-ico{ width:18px; height:18px; fill:#fff; }

/* Responsive */
@media (max-width:1024px){
  .ppe-blockparty .ppe-hero{ grid-template-columns:1fr; }
  .ppe-blockparty .ppe-card-grid .ppe-card,
  .ppe-blockparty .ppe-card-grid--thirds .ppe-card{ grid-column:span 12; }
}
@media (max-width:780px){
  .ppe-blockparty .ppe-call-mobile{ display:flex; }
}/* End custom CSS */