/* Overlay belongs to the hero itself; do not stretch the shortcode widget. */
.gft-hero{position:relative!important;isolation:isolate}
.gft-placeholder{position:absolute!important;top:0!important;left:0!important;width:1px!important;height:1px!important;overflow:hidden!important;pointer-events:none!important}
.gft-hero>.gft-stage{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:1px!important;pointer-events:none!important;z-index:5!important;overflow:hidden!important}
/* Fallback if the animation script is blocked: show the first quote. */
.gft-stage:not([data-gft-ready]) .gft-quote:first-child{opacity:1;visibility:visible;top:12%;left:8%}
/* Stretch only the Elementor shortcode widget containing floating quotes across its hero. */
/* Position this overlay over the hero section, not in the normal page flow. */
.gft-stage{position:absolute;inset:0;width:100%;height:100%;min-height:0;pointer-events:none;overflow:hidden;background:transparent;z-index:2;font-synthesis:none}
.gft-quotes{position:absolute;inset:0}
.gft-quote{position:absolute;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity var(--gft-fade,1000ms) ease,transform var(--gft-fade,1000ms) ease,visibility var(--gft-fade,1000ms);width:clamp(165px,22%,330px);text-align:center;color:var(--gft-ink,#77716b);}
.gft-quote.gft-visible{opacity:1;visibility:visible;transform:translateY(0)}
.gft-quote[data-position="0"]{top:9%;left:9%}
.gft-quote[data-position="1"]{top:13%;right:8%}
.gft-quote[data-position="2"]{top:37%;left:2%}
.gft-quote[data-position="3"]{top:41%;right:2%}
.gft-quote[data-position="4"]{top:74%;left:11%}
.gft-quote[data-position="5"]{top:76%;right:9%}
.gft-words{display:flex;align-items:baseline;justify-content:center;gap:6px;font-family:'Caveat','Segoe Print','Bradley Hand',cursive;font-weight:400;font-size:var(--gft-font-size,22px);line-height:1.05}
.gft-mark{color:var(--gft-gold,#b49759);font-family:Georgia,serif;font-size:.95em;font-weight:700;line-height:1}
.gft-author{margin-top:8px;font-family:Georgia,serif;font-size:9px;letter-spacing:2px;text-transform:uppercase;line-height:1.5;color:#77716b}
.gft-dash{display:inline-block;width:17px;border-top:1px solid var(--gft-gold,#b49759);vertical-align:middle;margin-right:7px}
@media(min-width:768px){.gft-quote[data-position="0"],.gft-quote[data-position="1"]{max-width:290px}}
@media(max-width:767px){.gft-stage{height:100%}.gft-quote{width:40%;max-width:170px}.gft-quote[data-position="0"],.gft-quote[data-position="2"],.gft-quote[data-position="4"]{left:3%;top:8%}.gft-quote[data-position="1"],.gft-quote[data-position="3"],.gft-quote[data-position="5"]{right:3%;top:8%}.gft-words{font-size:clamp(15px,4vw,19px)}.gft-author{font-size:8px;letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){.gft-quote{transition:none!important;transform:none!important}}

/* Smaller, softer handwriting and non-overlapping edge zones. */
.gft-quote[data-position="0"]{top:10%;left:9%}
.gft-quote[data-position="1"]{top:12%;right:9%}
.gft-quote[data-position="2"]{top:40%;left:2%}
.gft-quote[data-position="3"]{top:42%;right:2%}
.gft-quote[data-position="4"]{top:77%;left:10%}
.gft-quote[data-position="5"]{top:77%;right:10%}
.gft-words{font-style:italic;color:var(--gft-ink,#77716b)}
@media(max-width:767px){.gft-quote{width:37%}.gft-quote[data-position="0"],.gft-quote[data-position="2"],.gft-quote[data-position="4"]{top:4%;left:2%}.gft-quote[data-position="1"],.gft-quote[data-position="3"],.gft-quote[data-position="5"]{top:4%;right:2%}}
/* Optional individually styled quote backgrounds; default transparent for existing shortcodes. */
.gft-quote{background:var(--gft-bg,transparent);border-radius:var(--gft-radius,6px);padding:var(--gft-padding,0px);box-sizing:border-box}
.gft-author{color:var(--gft-author-color,#77716b);font-size:var(--gft-author-size,9px)}
.gft-mark{font-size:calc(.95em * var(--gft-mark-scale,1))}
.gft-font-serif .gft-words{font-family:Georgia,serif}
.gft-font-sans .gft-words{font-family:Arial,sans-serif}

/* v1.1.1: published Elementor widget must fill the hero, not a zero-height wrapper. */
.gft-hero > .gft-stage {height:100%!important;min-height:250px!important;}
.elementor-widget-grahams-floating-quotes .gft-stage {min-height:250px;}
