/* Paganotti Magic Scroll 1.1.4: isolated layout, no forced Elementor container styles */
.pms-root{--pms-height:100vh;--pms-scroll:200vh;--pms-overlay:.35;position:relative;display:block;width:100%;height:calc(var(--pms-scroll) + var(--pms-height));min-width:0;isolation:isolate;box-sizing:border-box}
.pms-root *{box-sizing:border-box}
.pms-root .pms-stage{position:sticky;top:0;display:block;width:100%;height:var(--pms-height);overflow:hidden;background:#100c1e;color:#fff;isolation:isolate}
.pms-root .pms-scene{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .5s ease,visibility .5s ease;z-index:1}
.pms-root .pms-scene.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:2}
.pms-root .pms-image{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;transform:scale(1.04);transition:transform .75s ease}
.pms-root .pms-scene.is-active .pms-image{transform:scale(1)}
.pms-root[data-effect="zoom"] .pms-scene .pms-image{transform:scale(1.17)}
.pms-root[data-effect="zoom"] .pms-scene.is-active .pms-image{transform:scale(1)}
.pms-root[data-effect="slide"] .pms-scene{transform:translateX(6%);transition:transform .6s ease,opacity .6s ease,visibility .6s}
.pms-root[data-effect="slide"] .pms-scene.is-active{transform:translateX(0)}
.pms-root[data-effect="reveal"] .pms-scene{clip-path:inset(100% 0 0 0);transition:clip-path .6s ease,opacity .5s ease,visibility .5s}
.pms-root[data-effect="reveal"] .pms-scene.is-active{clip-path:inset(0 0 0 0)}
.pms-root .pms-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,var(--pms-overlay)),rgba(0,0,0,calc(var(--pms-overlay)*.65)))}
.pms-root .pms-copy{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:18px;padding:clamp(24px,7vw,130px);color:#fff;max-width:100%}
.pms-root .pms-copy h2{color:inherit;font-size:clamp(36px,6vw,90px);font-weight:800;line-height:1.05;margin:0;max-width:900px}
.pms-root .pms-copy p{color:inherit;font-size:clamp(16px,1.7vw,23px);line-height:1.5;margin:0;max-width:660px}
.pms-root .pms-align-center{align-items:center;text-align:center}.pms-root .pms-align-right{align-items:flex-end;text-align:right}
.pms-root .pms-button{display:inline-block;border-radius:6px;padding:13px 24px;background:#ff9c21;color:#16111c;text-decoration:none;font-weight:700}
.pms-root .pms-progress{position:absolute;bottom:0;left:0;right:0;height:4px;background:#ffffff33;z-index:10}.pms-root .pms-progress-bar{height:100%;width:0;background:#ff9c21}
.pms-root .pms-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.pms-root .pms-video-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:white;z-index:2}
.pms-root .pms-youtube{position:absolute;top:50%;left:50%;width:177.78vh;min-width:100%;height:56.25vw;min-height:100%;transform:translate(-50%,-50%);border:0;pointer-events:none}
.pms-root[data-pin="no"]{height:auto}.pms-root[data-pin="no"] .pms-stage{position:relative;height:auto;min-height:var(--pms-height)}.pms-root[data-pin="no"] .pms-scene{position:relative;min-height:var(--pms-height);opacity:1;visibility:visible;pointer-events:auto}.pms-root[data-pin="no"] .pms-progress{display:none}
/* Elementor editor: always preview first scene without creating a multi-screen spacer */
body.elementor-editor-active .pms-root,body.elementor-editor-preview .pms-root,.pms-root.pms-editor-preview{height:75vh;min-height:420px}
body.elementor-editor-active .pms-root .pms-stage,body.elementor-editor-preview .pms-root .pms-stage,.pms-root.pms-editor-preview .pms-stage{position:relative;top:auto;height:75vh;min-height:420px}
body.elementor-editor-active .pms-root .pms-scene:first-of-type,body.elementor-editor-preview .pms-root .pms-scene:first-of-type,.pms-root.pms-editor-preview .pms-scene:first-of-type{opacity:1;visibility:visible;z-index:3}
@media(max-width:767px){.pms-root .pms-copy{padding:25px;gap:14px}.pms-root .pms-copy h2{font-size:clamp(32px,9vw,60px)}.pms-root .pms-copy p{font-size:16px}}
@media(prefers-reduced-motion:reduce){.pms-root .pms-scene,.pms-root .pms-image{transition:none}}

/* 1.1.5: title animations scoped strictly to this widget */
.pms-root .pms-copy h2{transform-origin:center left;backface-visibility:hidden}
.pms-root[data-title-effect="rise"] .pms-scene.is-active .pms-copy h2,
.pms-root[data-title-effect="rise"] .pms-copy-video h2{animation:pmsTitleRise var(--pms-title-duration) both cubic-bezier(.2,.85,.2,1);animation-delay:var(--pms-title-delay)}
.pms-root[data-title-effect="blur"] .pms-scene.is-active .pms-copy h2,
.pms-root[data-title-effect="blur"] .pms-copy-video h2{animation:pmsTitleBlur var(--pms-title-duration) both ease-out;animation-delay:var(--pms-title-delay)}
.pms-root[data-title-effect="zoom"] .pms-scene.is-active .pms-copy h2,
.pms-root[data-title-effect="zoom"] .pms-copy-video h2{animation:pmsTitleZoom var(--pms-title-duration) both cubic-bezier(.16,1,.3,1);animation-delay:var(--pms-title-delay)}
.pms-root[data-title-effect="glitch"] .pms-scene.is-active .pms-copy h2,
.pms-root[data-title-effect="glitch"] .pms-copy-video h2{animation:pmsTitleGlitch var(--pms-title-duration) both steps(1,end);animation-delay:var(--pms-title-delay)}
.pms-root[data-title-effect="wipe"] .pms-scene.is-active .pms-copy h2,
.pms-root[data-title-effect="wipe"] .pms-copy-video h2{animation:pmsTitleWipe var(--pms-title-duration) both cubic-bezier(.16,1,.3,1);animation-delay:var(--pms-title-delay)}
.pms-root[data-title-effect="neon"] .pms-scene.is-active .pms-copy h2,
.pms-root[data-title-effect="neon"] .pms-copy-video h2{animation:pmsTitleNeon var(--pms-title-duration) both ease-in-out;animation-delay:var(--pms-title-delay)}
.pms-root[data-title-effect="flip"] .pms-scene.is-active .pms-copy h2,
.pms-root[data-title-effect="flip"] .pms-copy-video h2{animation:pmsTitleFlip var(--pms-title-duration) both cubic-bezier(.16,1,.3,1);animation-delay:var(--pms-title-delay)}
@keyframes pmsTitleRise{from{opacity:0;transform:translateY(55px)}to{opacity:1;transform:translateY(0)}}
@keyframes pmsTitleBlur{from{opacity:0;filter:blur(18px);transform:translateY(12px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}
@keyframes pmsTitleZoom{from{opacity:0;transform:scale(1.28)}to{opacity:1;transform:scale(1)}}
@keyframes pmsTitleGlitch{0%{opacity:0;transform:translateX(-10px);text-shadow:4px 0 #00f5ff,-4px 0 #ff37a6}20%{opacity:1;transform:translateX(7px)}35%{transform:translateX(-4px);text-shadow:-5px 0 #00f5ff,5px 0 #ff37a6}55%{transform:translateX(3px)}70%{transform:translateX(-2px);text-shadow:3px 0 #00f5ff,-3px 0 #ff37a6}100%{opacity:1;transform:none;text-shadow:none}}
@keyframes pmsTitleWipe{from{clip-path:inset(0 100% 0 0);opacity:.7}to{clip-path:inset(0 0 0 0);opacity:1}}
@keyframes pmsTitleNeon{0%{opacity:0;text-shadow:none}20%{opacity:1;text-shadow:0 0 22px var(--pms-title-glow)}35%{opacity:.4;text-shadow:none}50%{opacity:1;text-shadow:0 0 14px var(--pms-title-glow),0 0 35px var(--pms-title-glow)}75%{opacity:.85}100%{opacity:1;text-shadow:0 0 9px var(--pms-title-glow)}}
@keyframes pmsTitleFlip{from{opacity:0;transform:perspective(800px) rotateX(-65deg) translateY(24px)}to{opacity:1;transform:perspective(800px) rotateX(0) translateY(0)}}
@media(prefers-reduced-motion:reduce){.pms-root .pms-copy h2{animation:none!important;opacity:1!important;filter:none!important;transform:none!important;clip-path:none!important}}


/* 1.1.8 - Cinematic mask journey: background is transparent until image fades in */
.pms-root[data-title-effect="image-mask"] .pms-stage{background:transparent}
.pms-root[data-title-effect="image-mask"] .pms-scene{--pms-mask-progress:0}
.pms-root[data-title-effect="image-mask"] .pms-scene .pms-image{opacity:var(--pms-mask-progress);transition:none}
.pms-root[data-title-effect="image-mask"] .pms-scene .pms-shade{opacity:var(--pms-mask-progress)}
.pms-root[data-title-effect="image-mask"] .pms-scene .pms-copy{opacity:var(--pms-mask-progress);pointer-events:none}
.pms-root[data-title-effect="image-mask"] .pms-scene .pms-copy h2{animation:none!important;transform:none!important;color:#fff!important}
.pms-root[data-title-effect="image-mask"] .pms-scene .pms-mask-hero{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;padding:clamp(8px,2vw,40px);pointer-events:none;opacity:calc(1 - var(--pms-mask-progress));transform:scale(calc(1 + var(--pms-mask-progress) * .2));transform-origin:center}
.pms-root[data-title-effect="image-mask"] .pms-mask-hero span{display:block;width:100%;max-width:100%;text-align:center;font-size:clamp(62px,13vw,240px);font-weight:900;line-height:.92;letter-spacing:-.065em;overflow-wrap:anywhere;hyphens:auto;background-image:var(--pms-mask-image);background-size:cover;background-position:center;background-clip:text;-webkit-background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 2px rgba(0,0,0,.2))}
.pms-root[data-title-effect="image-mask"] .pms-scene.is-active .pms-copy{pointer-events:auto}
.pms-root[data-title-effect="image-mask"].pms-editor-preview .pms-scene:first-of-type,body.elementor-editor-active .pms-root[data-title-effect="image-mask"] .pms-scene:first-of-type{--pms-mask-progress:.55}
@media(max-width:767px){.pms-root[data-title-effect="image-mask"] .pms-mask-hero span{font-size:clamp(54px,15vw,120px)}}
@media(prefers-reduced-motion:reduce){.pms-root[data-title-effect="image-mask"] .pms-scene{--pms-mask-progress:1!important}.pms-root[data-title-effect="image-mask"] .pms-mask-hero{display:none}}

/* 1.1.9 - transparency must win over Elementor generated widget background-color. */
.elementor-widget-paganotti_magic_scroll .pms-root[data-title-effect="image-mask"] .pms-stage,
.pms-root[data-title-effect="image-mask"] .pms-stage {
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
}
.pms-root[data-title-effect="image-mask"] .pms-scene,
.pms-root[data-title-effect="image-mask"] .pms-mask-hero {
  background-color:transparent!important;
}
.pms-root[data-title-effect="image-mask"] .pms-scene .pms-image {
  opacity:var(--pms-mask-progress,0)!important;
}
.pms-root[data-title-effect="image-mask"] .pms-scene .pms-shade {
  opacity:var(--pms-mask-progress,0)!important;
}
.pms-root[data-title-effect="image-mask"] .pms-scene .pms-copy {
  opacity:var(--pms-mask-progress,0)!important;
}
.pms-root[data-title-effect="image-mask"] .pms-scene .pms-mask-hero {
  opacity:calc(1 - var(--pms-mask-progress,0))!important;
}
/* Editor preview starts at the transparent, image-filled typography phase. */
.pms-root[data-title-effect="image-mask"].pms-editor-preview .pms-scene:first-of-type,
body.elementor-editor-active .pms-root[data-title-effect="image-mask"] .pms-scene:first-of-type {
  --pms-mask-progress:0;
}

/* 1.2.0 — gallery parallax composition; does not affect slides/video */
.pms-root[data-mode="images"] .pms-stage{background:transparent}
.pms-root[data-mode="images"] .pms-gallery{position:absolute;inset:0;overflow:hidden;background:transparent;isolation:isolate}
.pms-root[data-mode="images"] .pms-gallery[data-animate-bg="yes"]{background:var(--pms-gallery-start)}
.pms-root[data-mode="images"] .pms-layer{position:absolute;left:var(--layer-x);top:var(--layer-y);width:var(--layer-w);height:auto;z-index:var(--layer-z);transform:translate(-50%,-50%) translate(var(--pms-dx,0px),var(--pms-dy,0px)) rotate(var(--pms-rot,0deg)) scale(var(--pms-scale,1));opacity:var(--pms-layer-opacity,1);will-change:transform,opacity;pointer-events:auto}
.pms-root[data-mode="images"] .pms-layer img{display:block;width:100%;height:auto;max-width:none;object-fit:contain}
.pms-root[data-mode="images"] .pms-layer-link{display:block;text-decoration:none;color:inherit}
.pms-root[data-mode="images"] .pms-layer-caption{display:block;text-align:center;color:#fff;font-weight:700;font-size:clamp(14px,2vw,26px);text-shadow:0 2px 12px #000a;margin-top:8px}
.pms-root[data-mode="images"].pms-editor-preview .pms-layer{transform:translate(-50%,-50%);opacity:1}
@media(max-width:767px){.pms-root[data-mode="images"] .pms-layer{width:min(95%,calc(var(--layer-w) * 1.65))}}
@media(prefers-reduced-motion:reduce){.pms-root[data-mode="images"] .pms-layer{transform:translate(-50%,-50%)!important;opacity:1!important}}

/* 1.2.1: fit image layers and captions within the visible scene height. */
.pms-root[data-mode="images"] .pms-layer{
  max-height:calc(var(--pms-height) - 24px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.pms-root[data-mode="images"] .pms-layer img{
  width:auto;max-width:100%;height:auto;
  max-height:calc(var(--pms-height) - 90px);
  object-fit:contain;flex:0 1 auto;min-height:0;
}
.pms-root[data-mode="images"] .pms-layer-link{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:100%;max-height:inherit;min-height:0;
}
.pms-root[data-mode="images"] .pms-layer-caption{
  flex-shrink:0;max-width:100%;overflow-wrap:anywhere;
  line-height:1.2;margin-top:clamp(4px,1vh,10px);
}
@media(max-width:767px){
 .pms-root[data-mode="images"] .pms-layer{max-height:calc(var(--pms-height) - 20px)}
 .pms-root[data-mode="images"] .pms-layer img{max-height:calc(var(--pms-height) - 76px)}
 .pms-root[data-mode="images"] .pms-layer-caption{font-size:clamp(12px,3.6vw,20px)}
}

/* v1.2.2: video title animation is driven by scrolling, not wall-clock time. */
.pms-root[data-mode="video"][data-video-title-scroll="yes"]:not(.pms-editor-preview) .pms-copy-video h2{animation-duration:1000ms!important;animation-delay:var(--pms-video-title-delay,0ms)!important;animation-play-state:paused!important;animation-fill-mode:both!important}
.pms-root[data-mode="video"][data-title-effect="image-mask"] .pms-copy-video h2{animation-name:pmsTitleRise;animation-timing-function:cubic-bezier(.2,.85,.2,1)}
.pms-root[data-mode="video"] .pms-video{z-index:0}
@media(prefers-reduced-motion:reduce){.pms-root[data-mode="video"] .pms-copy-video h2{animation:none!important;opacity:1!important}}

/* 1.2.3: video-only title scrubbing; keep gallery and slides untouched. */
.pms-root[data-mode="video"][data-video-title-scroll="yes"] .pms-copy-video h2{animation-duration:1000ms!important;animation-delay:0ms!important;animation-play-state:paused!important;animation-fill-mode:both!important}
.pms-root[data-mode="video"][data-video-title-scroll="yes"].pms-editor-preview .pms-copy-video h2,
body.elementor-editor-active .pms-root[data-mode="video"][data-video-title-scroll="yes"] .pms-copy-video h2{animation:none!important;opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}
.pms-root[data-mode="video"][data-title-effect="none"] .pms-copy-video h2{animation:none!important}

/* v1.2.4: video animations are driven by WAAPI on published pages. In Elementor preview, show the chosen animation normally. */
body.elementor-editor-active .pms-root[data-mode="video"] .pms-copy-video h2,
.pms-root[data-mode="video"].pms-editor-preview .pms-copy-video h2 {
 animation-play-state:running!important;animation-duration:var(--pms-title-duration,800ms)!important;
 animation-delay:var(--pms-title-delay,100ms)!important;
}

/* 1.2.7 - isolated VIDEO mask, no slide/gallery selector changes. */
.pms-root[data-mode="video"][data-title-effect="image-mask"] .pms-stage{background:transparent!important}
.pms-root[data-mode="video"][data-title-effect="image-mask"] .pms-video,
.pms-root[data-mode="video"][data-title-effect="image-mask"] .pms-youtube{opacity:var(--pms-video-reveal,0);transition:none}
.pms-root[data-mode="video"][data-title-effect="image-mask"] .pms-shade{opacity:var(--pms-video-reveal,0);z-index:2}
.pms-root[data-mode="video"][data-title-effect="image-mask"] .pms-copy-video{z-index:5;opacity:var(--pms-video-reveal,0);pointer-events:none}
.pms-root[data-mode="video"][data-title-effect="image-mask"] .pms-copy-video h2{animation:none!important;opacity:1!important;transform:none!important;filter:none!important;color:#fff!important}
.pms-root[data-mode="video"] .pms-video-mask{display:none}
.pms-root[data-mode="video"][data-title-effect="image-mask"] .pms-video-mask{
 position:absolute;inset:0;z-index:7;display:flex;align-items:center;justify-content:center;
 overflow:hidden;padding:clamp(12px,2vw,40px);pointer-events:none;
 opacity:calc(1 - var(--pms-video-reveal,0));
 transform:scale(calc(1 + var(--pms-video-reveal,0) * .12));
}
.pms-root[data-mode="video"] .pms-video-mask-text{
 display:block;width:100%;max-width:100%;text-align:center;
 font-size:clamp(60px,13vw,230px);line-height:.92;font-weight:900;
 letter-spacing:-.06em;overflow-wrap:anywhere;
 background-image:var(--pms-video-mask-image);background-size:cover;background-position:center;
 -webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent!important;
}
.pms-root[data-mode="video"] .pms-video-mask-canvas{display:none;position:absolute;inset:0;width:100%;height:100%}
.pms-root[data-mode="video"] .pms-video-mask.has-canvas .pms-video-mask-canvas{display:block}
.pms-root[data-mode="video"] .pms-video-mask.has-canvas .pms-video-mask-text{visibility:hidden}
/* Editor preview shows the beginning of the cinematic effect, not an arbitrary midpoint. */
.pms-root[data-mode="video"][data-title-effect="image-mask"].pms-editor-preview,
body.elementor-editor-active .pms-root[data-mode="video"][data-title-effect="image-mask"]{--pms-video-reveal:0}
@media(max-width:767px){.pms-root[data-mode="video"] .pms-video-mask-text{font-size:clamp(48px,15vw,110px)}}
@media(prefers-reduced-motion:reduce){.pms-root[data-mode="video"][data-title-effect="image-mask"]{--pms-video-reveal:1!important}.pms-root[data-mode="video"] .pms-video-mask{display:none!important}}

/* 1.2.8 - Video-only: ensure mask is visible during first 28% of scrolling. */
.pms-root[data-mode="video"][data-title-effect="image-mask"] .pms-video-mask{
  opacity:calc(1 - var(--pms-video-reveal,0))!important;
  visibility:visible!important;
}
.pms-root[data-mode="video"][data-title-effect="image-mask"] .pms-video-mask-text{
  font-family:inherit;
  opacity:1!important;
}
.pms-root[data-mode="video"][data-title-effect="image-mask"] .pms-video-mask.has-canvas .pms-video-mask-canvas{
  display:block!important;
}

/* 1.2.9: video mask fallback remains visible during scroll, without canvas seek artifacts. */
.pms-root[data-mode="video"][data-title-effect="image-mask"] .pms-video-mask-text{
  visibility:visible!important;opacity:1!important;position:relative;z-index:2;
}
.pms-root[data-mode="video"][data-title-effect="image-mask"] .pms-video-mask-canvas{display:none!important}
.pms-root[data-mode="video"][data-title-effect="image-mask"] .pms-video-mask.has-canvas .pms-video-mask-text{visibility:visible!important}
.pms-root[data-mode="video"][data-title-effect="image-mask"] .pms-video-mask{opacity:calc(1 - var(--pms-video-reveal,0))!important}

/* v1.3.0: customização isolada da barra de progresso */
.pms-root .pms-progress{background:var(--pms-progress-track,#ffffff33)}
.pms-root .pms-progress-bar{background:var(--pms-progress-color,#ff9c21)}
.pms-root .pms-progress--top{top:0;bottom:auto}
.pms-root .pms-progress--bottom{top:auto;bottom:0}
.pms-root .pms-progress--thin{height:2px}
.pms-root .pms-progress--rounded{height:7px;border-radius:999px;overflow:hidden}
.pms-root .pms-progress--rounded .pms-progress-bar{border-radius:999px}
.pms-root .pms-progress--gradient .pms-progress-bar{background:linear-gradient(90deg,var(--pms-progress-color,#ff9c21),var(--pms-progress-gradient,#a53dff))}

/* v1.3.1 - Prevent descenders (J, g, p, q, y) being clipped in the
   SLIDES image-mask title. Scope deliberately excludes video and gallery. */
.pms-root[data-mode="slides"][data-title-effect="image-mask"] .pms-mask-hero span{
  line-height:1.14;
  padding-block:.12em .16em;
  box-sizing:border-box;
}

/* v1.3.2 responsive stage: root scroll height follows stage height */
@media (min-width:768px) and (max-width:1024px){.pms-root{--pms-height:var(--pms-height-tablet)!important}}
@media (max-width:767px){.pms-root{--pms-height:var(--pms-height-mobile)!important}}

/* v1.3.3: three thickness presets, independent of bar appearance. */
.pms-root .pms-progress--weight-thin{height:3px}
.pms-root .pms-progress--weight-medium{height:6px}
.pms-root .pms-progress--weight-thick{height:10px}

/* v1.3.4: Editor preview respects device-specific scene height.
   Never impose an arbitrary 75vh / 420px preview height. */
body.elementor-editor-active .pms-root,
body.elementor-editor-preview .pms-root,
.pms-root.pms-editor-preview {
  height:var(--pms-height) !important;
  min-height:0 !important;
}
body.elementor-editor-active .pms-root .pms-stage,
body.elementor-editor-preview .pms-root .pms-stage,
.pms-root.pms-editor-preview .pms-stage {
  position:relative;
  top:auto;
  height:var(--pms-height) !important;
  min-height:0 !important;
}

/* v1.3.5 - mobile compact: remove the scroll spacer rather than hiding it.
   The mobile stage stays at its chosen height; desktop/tablet retain pinning. */
@media(max-width:767px){
  .pms-root[data-mobile-compact="yes"][data-pin="yes"]{height:var(--pms-height)!important;min-height:0!important}
  .pms-root[data-mobile-compact="yes"][data-pin="yes"] .pms-stage{position:relative!important;top:auto!important;height:var(--pms-height)!important;min-height:0!important}
}

/* v1.3.6: mobile gesture pin has no scroll spacer; keep scene at chosen height. */
@media(max-width:767px){.pms-root[data-mobile-compact="yes"][data-pin="yes"]{touch-action:pan-y}}

/* v1.3.10: Safari iOS must not preclaim vertical gestures on the compact stage. */
@media(max-width:767px){html.pms-ios .pms-root[data-mobile-compact="yes"][data-pin="yes"]{touch-action:auto}}

/* v1.3.11: faster scroll travel on desktop only; tablet and mobile unchanged. */
@media (min-width:1025px){
 .pms-root[data-mode="slides"][data-pin="yes"]:not(.pms-editor-preview){height:calc(var(--pms-scroll-desktop) + var(--pms-height));}
}

/* v1.3.12: per-slide CTA styles, scoped to Magic Scroll only. */
.pms-root .pms-button{background:var(--pms-btn-bg,#ff9c21);color:var(--pms-btn-fg,#16111c);border:2px solid transparent;border-radius:var(--pms-btn-radius,6px);line-height:1.35;max-width:100%;text-align:center;transition:filter .2s ease,transform .2s ease;text-decoration:none}
.pms-root .pms-button--outline{background:transparent;border-color:var(--pms-btn-border,#ff9c21)}
.pms-root .pms-button--ghost{background:transparent;border-color:transparent}
.pms-root .pms-button:hover,.pms-root .pms-button:focus-visible{color:var(--pms-btn-fg,#16111c);filter:brightness(1.13);transform:translateY(-1px);text-decoration:none}
.pms-root .pms-button:focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* v1.3.13: automatic mobile scenes respect responsive height without sticky pin. */
@media(max-width:767px){
 .pms-root[data-mobile-slide-mode="auto"][data-mode="slides"]{height:var(--pms-height)!important;min-height:0!important}
 .pms-root[data-mobile-slide-mode="auto"][data-mode="slides"] .pms-stage{position:relative!important;top:auto!important;height:var(--pms-height)!important;min-height:0!important}
}
