/* MediaCraft Form Flow: branded success popup. Colours and fonts come from Settings > Form Flow.
   Everything is scoped and hardened (!important) so theme and Elementor button/heading styles cannot leak in. */
.mcff{--mcff-bg:#0b0b0b;--mcff-ink:#fff;--mcff-accent:#ffc400;--mcff-accent-ink:#0b0b0b;--mcff-font-h:inherit;--mcff-font-b:inherit}
.mcff-overlay{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:20px;
  background:rgba(0,0,0,.66);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .28s ease;overscroll-behavior:contain}
.mcff-overlay.is-in{opacity:1}
.mcff-card{position:relative;width:100%;max-width:460px;max-height:calc(100vh - 40px);overflow:auto;box-sizing:border-box;
  background:var(--mcff-bg)!important;color:var(--mcff-ink)!important;border-radius:20px;padding:46px 34px 34px;text-align:center;border:0!important;outline:0!important;
  box-shadow:0 30px 80px rgba(0,0,0,.5);
  font-family:var(--mcff-font-b);transform:translateY(22px) scale(.97);opacity:0;
  transition:transform .42s cubic-bezier(.2,.9,.25,1.15),opacity .3s ease}
.mcff-overlay.is-in .mcff-card{transform:none;opacity:1}
.mcff-card:before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--mcff-accent)}
.mcff-card,.mcff-card *{box-sizing:border-box}
.mcff-card:focus,.mcff-card:focus-visible{outline:0!important}

.mcff-icon{width:80px;height:80px;margin:0 auto 24px;border-radius:50%;background:var(--mcff-accent);display:grid;place-items:center;
  box-shadow:0 0 0 10px rgba(255,255,255,.07);transform:scale(.6);opacity:0;transition:transform .55s cubic-bezier(.2,1.4,.3,1) .12s,opacity .3s ease .12s}
.mcff-overlay.is-in .mcff-icon{transform:none;opacity:1}
.mcff-icon svg{width:38px;height:38px;fill:none;stroke:var(--mcff-accent-ink);stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}
.mcff-icon path{stroke-dasharray:34;stroke-dashoffset:34}
.mcff-overlay.is-in .mcff-icon path{animation:mcff-draw .55s ease .5s forwards}
@keyframes mcff-draw{to{stroke-dashoffset:0}}

/* Heading: explicit colour and generous line height so tight display fonts never overlap */
.mcff .mcff-card h2{display:block!important;margin:0 0 16px!important;padding:.08em 0!important;
  font-family:var(--mcff-font-h)!important;font-weight:700!important;font-size:clamp(1.5rem,5.4vw,1.95rem)!important;
  line-height:1.3!important;letter-spacing:0!important;text-transform:none!important;color:var(--mcff-ink)!important;
  background:none!important;text-shadow:none!important;opacity:1!important;visibility:visible!important}
.mcff .mcff-card p{margin:0 auto 20px!important;padding:0!important;font-family:var(--mcff-font-b)!important;font-size:1rem!important;line-height:1.65!important;
  color:var(--mcff-ink)!important;opacity:.88;max-width:36ch;text-transform:none!important;letter-spacing:0!important}

/* Note: no border, no box. A soft slanted strip with an accent mark. */
.mcff .mcff-card p.mcff-note{display:flex;gap:12px;align-items:center;text-align:left;max-width:none;margin:0 0 28px!important;padding:15px 30px!important;
  font-size:.9rem!important;line-height:1.5!important;opacity:1;border:0!important;border-radius:0!important;
  background:rgba(255,255,255,.075);-webkit-clip-path:polygon(14px 0,100% 0,calc(100% - 14px) 100%,0 100%);clip-path:polygon(14px 0,100% 0,calc(100% - 14px) 100%,0 100%)}
.mcff-note svg{flex:0 0 20px;width:20px;height:20px;fill:none;stroke:var(--mcff-accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* One button. Fully reset so theme button styles (red borders, outlines) cannot show. */
.mcff .mcff-card button.mcff-btn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
  min-width:170px;min-height:50px;padding:0 38px;background:var(--mcff-accent);color:var(--mcff-accent-ink);
  font-family:var(--mcff-font-b);font-weight:700;font-size:.95rem;line-height:1;letter-spacing:.04em;text-transform:uppercase;text-align:center;
  -webkit-clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);
  transition:transform .2s,filter .2s;-webkit-tap-highlight-color:transparent}
.mcff .mcff-card button.mcff-btn:hover{filter:brightness(1.08);transform:translateY(-2px)}
.mcff .mcff-card button.mcff-btn:focus-visible{outline:3px solid var(--mcff-ink);outline-offset:4px}
body.mcff-lock{overflow:hidden}

.elementor-message.elementor-message-success{font-size:.9em}

@media (max-width:560px){
  .mcff-overlay{align-items:flex-end;padding:0}
  .mcff-card{max-width:none;border-radius:22px 22px 0 0;padding:42px 22px calc(28px + env(safe-area-inset-bottom));transform:translateY(100%);max-height:92vh}
  .mcff .mcff-card button.mcff-btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .mcff-overlay,.mcff-card,.mcff-icon{transition:none!important}
  .mcff-overlay.is-in .mcff-icon path{animation:none;stroke-dashoffset:0}
  .mcff-card,.mcff-icon{transform:none!important;opacity:1!important}
}
