/* Scoped styles for GCGF to avoid Astra/Spectra conflicts */
.gcgf-block { display:inline-block; position:relative; }
.gcgf-trigger-outer { display:block; position:relative; overflow:hidden; border-radius: var(--gcgf-radius,0); }
.gcgf-media img { width:100%; height:auto; display:block; }
.gcgf-overlay { position:absolute; inset:0; background:var(--gcgf-ov,transparent); opacity:var(--gcgf-ov-o,0); pointer-events:none; }
.gcgf-trigger-btn { display:inline-block; padding:.8em 1.2em; border:1px solid currentColor; background:transparent; cursor:pointer; border-radius:var(--gcgf-radius,0); }
.gcgf-inline { margin-top:1rem; }
.gcgf-notice { padding:.75rem 1rem; background:#fff7e6; border-left:4px solid #ffb100; }

/* aspect */
.gcgf-aspect-auto .gcgf-media{aspect-ratio:auto}
.gcgf-aspect-16-9 .gcgf-media{aspect-ratio:16/9}
.gcgf-aspect-4-3 .gcgf-media{aspect-ratio:4/3}
.gcgf-aspect-1-1 .gcgf-media{aspect-ratio:1/1}
.gcgf-aspect-3-4 .gcgf-media{aspect-ratio:3/4}
.gcgf-aspect-9-16 .gcgf-media{aspect-ratio:9/16}

/* masks */
.gcgf-mask-circle .gcgf-media{clip-path:circle(50% at 50% 50%)}
.gcgf-mask-hex .gcgf-media{clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0% 50%)}
.gcgf-mask-squircle .gcgf-media{border-radius:18px}
.gcgf-mask-blob .gcgf-media{border-radius:30% 70% 60% 40% / 30% 40% 60% 70%}
