/* FusionDesign extends the same a11 sections, typography, grids, buttons and CTA as FusionBase. */
.no-js .a11-fusiondesign .a11-header { position: relative; top: 0; }
.no-js .a11-fusiondesign .a11-drawer__inner { max-height: none; overflow: visible; }
.fd-page section[id] { scroll-margin-top: 22px; }
.fd-page .fd-hero-media { margin-top: clamp(40px, 5vw, 56px); }
.fd-screen { display: block; position: relative; overflow: hidden; border: 1px solid var(--a11-line); background: #fff; }
.fd-screen img { width: 100%; height: auto; }
.fd-hero-image { aspect-ratio: 2.25; }
.fd-hero-image img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.fd-zoom-label {
  position: absolute; right: 12px; bottom: 12px; padding: 6px 11px;
  background: var(--a11-ink); color: #fff; border-radius: 2px; font-size: 11px; line-height: 1.6;
}
[data-fd-zoom]:hover .fd-zoom-label { background: var(--a11-link); }
.fd-example { min-width: 0; }
.fd-example-image {
  display: flex; align-items: center; aspect-ratio: 1.6;
  padding: 16px; border: 1px solid var(--a11-line); background: var(--a11-mist);
}
.fd-example-image img { width: 100%; height: auto; }
.fd-example > h3 { margin-top: 20px; }
.fd-example > p { margin-top: 10px; }
.fd-render-label { flex-wrap: wrap; row-gap: 7px; }
.fd-render-example > p { font-size: 13px; line-height: 1.8; }
.fd-render-art {
  display: block; position: relative; aspect-ratio: 8 / 3; overflow: hidden;
  border: 1px solid var(--a11-line); background: #fff;
}
/* Crop the display window only; enlargement opens the complete supplied screenshot. */
.fd-render-art img { position: absolute; max-width: none; height: auto; left: -6.797%; top: -89.584%; }
.fd-render-art--sketch img { width: 139.922%; }
.fd-render-art--render img { width: 139.688%; }
.fd-render-art .fd-zoom-label { right: 8px; bottom: 8px; font-size: 10px; padding: 4px 8px; }
.fd-render-prompt { display: flex; align-items: baseline; gap: 24px; }
.fd-render-prompt > span { flex: none; color: var(--accent-ink); font: 11px var(--a11-mono); }
.fd-steps { list-style: none; }
.fd-step-number { display: block; }
.fd-export {
  display: grid; grid-template-columns: 1fr 1.1fr;
  align-items: center; gap: 28px 44px;
}
.fd-export > div:first-child > * + * { margin-top: 14px; }
.fd-export > .fd-caption { grid-column: 1 / -1; margin-top: 0; }
.fd-formats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.fd-format { padding: 20px 6px; border: 1px solid var(--a11-line-strong); text-align: center; background: #fff; }
.fd-format b { display: block; font: 500 23px var(--a11-mono); }
.fd-format small { display: block; margin-top: 10px; font-size: 11px; line-height: 1.6; color: var(--a11-muted); }
.fd-security { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.fd-security > div > * + * { margin-top: 14px; }
.fd-security-note { padding-left: 30px; border-left: 1px solid var(--a11-line-strong); align-self: center; }
.fd-security-note b { font-size: 13px; }
.fd-security-note p { font-size: 13px; }
.fd-price-panel { min-width: 0; }
.fd-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; color: var(--a11-ink); font-size: 20px; }
.fd-price strong { font-size: 64px; font-weight: 700; line-height: 1; letter-spacing: -.035em; }
.fd-price small { font-size: 12px; color: var(--a11-muted); }
.fd-price-detail { font-size: 12px; }
.fd-price-rows { border-top: 1px solid var(--a11-line); }
.fd-price-rows > div {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline;
  gap: 6px 18px; padding: 14px 0; border-bottom: 1px solid var(--a11-line); font-size: 13px; line-height: 1.8;
}
.fd-price-rows dd { font-weight: 600; }
.fd-price-panel > .wp-block-buttons { margin-top: 26px; }
.fd-faq a { color: var(--a11-link); text-decoration: underline; text-underline-offset: 3px; }
.fd-lightbox {
  border: 1px solid var(--a11-line-strong); border-radius: 2px;
  padding: 48px 10px 10px; background: var(--a11-mist);
  width: min(1600px, 96vw); max-width: 96vw; max-height: 94dvh; overflow: auto; color: var(--a11-ink);
}
.fd-lightbox::backdrop { background: #101319e6; }
.fd-lightbox img { width: 100%; height: auto; }
.fd-lightbox-close {
  position: absolute; right: 12px; top: 8px;
  border: 1px solid var(--a11-line-strong); background: #fff; border-radius: 2px;
  padding: 6px 14px; cursor: pointer; font-size: 13px;
}
.fd-modal-open { overflow: hidden; }
@media (max-width: 759.98px) {
  .fd-hero-image { aspect-ratio: auto; }
  .fd-hero-image img { height: auto; }
  .fd-export, .fd-security { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .fd-security-note { border-left: 0; border-top: 1px solid var(--a11-line-strong); padding: 22px 0 0; }
  .fd-render-prompt { display: block; }
  .fd-render-prompt > span { display: block; margin-bottom: 12px; }
}
@media (max-width: 479.98px) {
  .fd-page .wp-block-buttons { align-items: stretch; }
  .fd-page .wp-block-button { flex: 1 1 100%; }
  .fd-page .wp-block-button__link { width: 100%; }
  .fd-zoom-label { font-size: 10px; right: 8px; bottom: 8px; }
  .fd-formats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fd-price strong { font-size: 54px; }
  .fd-price { font-size: 18px; }
}
