/*fern-site-stylesheet*/@font-face {
    font-family: 'WFVisualSans';
    src: url('/_fern-files/webflow.docs.buildwithfern.com/6b39b5a59ba90cb9eb0c060b20d60b65950cdbc1ef95839e037acc245e58865e/assets/fonts/WFVisualSans-RegularText.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'WFVisualSans';
    src: url('/_fern-files/webflow.docs.buildwithfern.com/d4251de64e481265dd2e2f1f9ec5d84e92b3328ebb7720979fe1993087e237d6/assets/fonts/WFVisualSans-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'WFVisualSans';
    src: url('/_fern-files/webflow.docs.buildwithfern.com/7a2baff881af83bd00bf9ef79e893500f24c8341456d366141a7ba547508a46d/assets/fonts/WFVisualSans-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

:root {
  --header-height: 64px;
  --header-height-real: 64px;
  --mobile-header-height-real: 64px;
  --content-width: 960px;
  --sidebar-width: 288px;
  --page-width: 1600px;
  --logo-height: 23.25px;
  --font-body: 'WFVisualSans', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-heading: 'WFVisualSans', 'WFVisualSans', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-code: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
}

:root {
  --typography-body-font-family: var(--font-body);
  --typography-heading-font-family: var(--font-heading);
  --typography-code-font-family: var(--font-code);
}


.light, :root {
  --accent-1: #fcfdff;
  --accent-2: #f5f9ff;
  --accent-3: #eaf3ff;
  --accent-4: #daebff;
  --accent-5: #c9e1ff;
  --accent-6: #b4d4ff;
  --accent-7: #9ac2ff;
  --accent-8: #75a9fe;
  --accent-9: #146ef5;
  --accent-10: #0060e4;
  --accent-11: #0765e9;
  --accent-12: #0c3069;

  --accent-a1: #0055ff03;
  --accent-a2: #0066ff0a;
  --accent-a3: #006eff15;
  --accent-a4: #0076ff25;
  --accent-a5: #0072ff36;
  --accent-a6: #016dff4b;
  --accent-a7: #0065ff65;
  --accent-a8: #0061fe8a;
  --accent-a9: #0062f4eb;
  --accent-a10: #0060e4;
  --accent-a11: #0061e8f8;
  --accent-a12: #002662f3;

  --accent-contrast: #fff;
  --accent-surface: #f3f8ffcc;
  --accent-indicator: #146ef5;
  --accent-track: #146ef5;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --accent-1: oklch(99.4% 0.0031 259.8);
      --accent-2: oklch(98.2% 0.0104 259.8);
      --accent-3: oklch(96% 0.0217 259.8);
      --accent-4: oklch(93.7% 0.0412 259.8);
      --accent-5: oklch(90.5% 0.0604 259.8);
      --accent-6: oklch(86.4% 0.0793 259.8);
      --accent-7: oklch(80.8% 0.1006 259.8);
      --accent-8: oklch(73.3% 0.136 259.8);
      --accent-9: oklch(57.3% 0.2176 259.8);
      --accent-10: oklch(52.8% 0.2145 259.8);
      --accent-11: oklch(54.3% 0.2145 259.8);
      --accent-12: oklch(32.1% 0.1089 259.8);

      --accent-a1: color(display-p3 0.0235 0.349 1 / 0.012);
      --accent-a2: color(display-p3 0.0235 0.349 0.8941 / 0.036);
      --accent-a3: color(display-p3 0.0078 0.3725 0.949 / 0.075);
      --accent-a4: color(display-p3 0.0078 0.3882 0.9451 / 0.134);
      --accent-a5: color(display-p3 0.0078 0.3725 0.9412 / 0.193);
      --accent-a6: color(display-p3 0.0039 0.3647 0.9451 / 0.271);
      --accent-a7: color(display-p3 0.0039 0.3373 0.949 / 0.365);
      --accent-a8: color(display-p3 0.0039 0.3176 0.9373 / 0.499);
      --accent-a9: color(display-p3 0 0.2784 0.9059 / 0.8);
      --accent-a10: color(display-p3 0 0.251 0.8353 / 0.844);
      --accent-a11: color(display-p3 0 0.2627 0.8588 / 0.828);
      --accent-a12: color(display-p3 0 0.1059 0.3373 / 0.914);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.9569 0.9725 1 / 0.8);
      --accent-indicator: oklch(57.3% 0.2176 259.8);
      --accent-track: oklch(57.3% 0.2176 259.8);
    }
  }
}


.light, :root {
  --grayscale-1: #fdfcfd;
  --grayscale-2: #faf9fb;
  --grayscale-3: #f2eff3;
  --grayscale-4: #eae7ec;
  --grayscale-5: #e3dfe6;
  --grayscale-6: #dbd8e0;
  --grayscale-7: #d0cdd7;
  --grayscale-8: #bcbac7;
  --grayscale-9: #8e8c99;
  --grayscale-10: #84828e;
  --grayscale-11: #65636d;
  --grayscale-12: #211f26;

  --grayscale-a1: #55005503;
  --grayscale-a2: #2b005506;
  --grayscale-a3: #30004010;
  --grayscale-a4: #20003618;
  --grayscale-a5: #20003820;
  --grayscale-a6: #14003527;
  --grayscale-a7: #10003332;
  --grayscale-a8: #08003145;
  --grayscale-a9: #05001d73;
  --grayscale-a10: #0500197d;
  --grayscale-a11: #0400119c;
  --grayscale-a12: #020008e0;

  --grayscale-contrast: #000;
  --grayscale-surface: #ffffffcc;
  --grayscale-indicator: #8e8c99;
  --grayscale-track: #8e8c99;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --grayscale-1: color(display-p3 0.991 0.988 0.992);
      --grayscale-2: color(display-p3 0.98 0.976 0.984);
      --grayscale-3: color(display-p3 0.946 0.938 0.952);
      --grayscale-4: color(display-p3 0.915 0.906 0.925);
      --grayscale-5: color(display-p3 0.886 0.876 0.901);
      --grayscale-6: color(display-p3 0.856 0.846 0.875);
      --grayscale-7: color(display-p3 0.814 0.804 0.84);
      --grayscale-8: color(display-p3 0.735 0.728 0.777);
      --grayscale-9: color(display-p3 0.555 0.549 0.596);
      --grayscale-10: color(display-p3 0.514 0.508 0.552);
      --grayscale-11: color(display-p3 0.395 0.388 0.424);
      --grayscale-12: color(display-p3 0.128 0.122 0.147);

      --grayscale-a1: #55005503;
      --grayscale-a2: #2b005506;
      --grayscale-a3: #30004010;
      --grayscale-a4: #20003618;
      --grayscale-a5: #20003820;
      --grayscale-a6: #14003527;
      --grayscale-a7: #10003332;
      --grayscale-a8: #08003145;
      --grayscale-a9: #05001d73;
      --grayscale-a10: #0500197d;
      --grayscale-a11: #0400119c;
      --grayscale-a12: #020008e0;

      --grayscale-contrast: #000;
      --grayscale-surface: color(display-p3 1 1 1 / 80%);
      --grayscale-indicator: color(display-p3 0.555 0.549 0.596);
      --grayscale-track: color(display-p3 0.555 0.549 0.596);
    }
  }
}


.dark {
  --accent-1: #000;
  --accent-2: #081120;
  --accent-3: #092148;
  --accent-4: #0a2d65;
  --accent-5: #113979;
  --accent-6: #1a458a;
  --accent-7: #22529f;
  --accent-8: #275fbb;
  --accent-9: #146ef5;
  --accent-10: #005fe5;
  --accent-11: #82b7ff;
  --accent-12: #cfe3ff;

  --accent-a1: #00000000;
  --accent-a2: #4088ff20;
  --accent-a3: #2075ff48;
  --accent-a4: #1a72ff65;
  --accent-a5: #2479ff79;
  --accent-a6: #3080ff8a;
  --accent-a7: #3784ff9f;
  --accent-a8: #3582ffbb;
  --accent-a9: #1573fff5;
  --accent-a10: #006affe5;
  --accent-a11: #82b7ff;
  --accent-a12: #cfe3ff;

  --accent-contrast: #fff;
  --accent-surface: #10224080;
  --accent-indicator: #146ef5;
  --accent-track: #146ef5;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(0% 0.0281 259.8);
      --accent-2: oklch(17.7% 0.0344 259.8);
      --accent-3: oklch(25.7% 0.0789 259.8);
      --accent-4: oklch(31.1% 0.1061 259.8);
      --accent-5: oklch(35.7% 0.119 259.8);
      --accent-6: oklch(40.1% 0.1259 259.8);
      --accent-7: oklch(44.9% 0.1369 259.8);
      --accent-8: oklch(50.2% 0.1562 259.8);
      --accent-9: oklch(57.3% 0.2176 259.8);
      --accent-10: oklch(52.8% 0.2176 259.8);
      --accent-11: oklch(77.7% 0.1404 259.8);
      --accent-12: oklch(91.1% 0.0487 259.8);

      --accent-a1: color(display-p3 0 0 0 / 0);
      --accent-a2: color(display-p3 0.3216 0.549 1 / 0.122);
      --accent-a3: color(display-p3 0.2196 0.4667 1 / 0.271);
      --accent-a4: color(display-p3 0.2078 0.4549 1 / 0.381);
      --accent-a5: color(display-p3 0.2431 0.4824 1 / 0.459);
      --accent-a6: color(display-p3 0.2863 0.5137 1 / 0.522);
      --accent-a7: color(display-p3 0.3059 0.5255 1 / 0.604);
      --accent-a8: color(display-p3 0.298 0.5216 1 / 0.71);
      --accent-a9: color(display-p3 0.2157 0.4588 1 / 0.926);
      --accent-a10: color(display-p3 0.1765 0.4196 1 / 0.867);
      --accent-a11: color(display-p3 0.5647 0.7294 1 / 0.977);
      --accent-a12: color(display-p3 0.8353 0.898 1 / 0.989);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.0784 0.1333 0.2431 / 0.5);
      --accent-indicator: oklch(57.3% 0.2176 259.8);
      --accent-track: oklch(57.3% 0.2176 259.8);
    }
  }
}


.dark {
  --grayscale-1: #121113;
  --grayscale-2: #1a191b;
  --grayscale-3: #232225;
  --grayscale-4: #2b292d;
  --grayscale-5: #323035;
  --grayscale-6: #3c393f;
  --grayscale-7: #49474e;
  --grayscale-8: #625f69;
  --grayscale-9: #6f6d78;
  --grayscale-10: #7c7a85;
  --grayscale-11: #b5b2bc;
  --grayscale-12: #eeeef0;

  --grayscale-a1: #00000000;
  --grayscale-a2: #f5f4f609;
  --grayscale-a3: #ebeaf814;
  --grayscale-a4: #eee5f81d;
  --grayscale-a5: #efe6fe25;
  --grayscale-a6: #f1e6fd30;
  --grayscale-a7: #eee9ff40;
  --grayscale-a8: #eee7ff5d;
  --grayscale-a9: #eae6fd6e;
  --grayscale-a10: #ece9fd7c;
  --grayscale-a11: #f5f1ffb7;
  --grayscale-a12: #fdfdffef;

  --grayscale-contrast: #fff;
  --grayscale-surface: rgba(0, 0, 0, 0.05);
  --grayscale-indicator: #6f6d78;
  --grayscale-track: #6f6d78;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --grayscale-1: color(display-p3 0.07 0.067 0.074);
      --grayscale-2: color(display-p3 0.101 0.098 0.105);
      --grayscale-3: color(display-p3 0.138 0.134 0.144);
      --grayscale-4: color(display-p3 0.167 0.161 0.175);
      --grayscale-5: color(display-p3 0.196 0.189 0.206);
      --grayscale-6: color(display-p3 0.232 0.225 0.245);
      --grayscale-7: color(display-p3 0.286 0.277 0.302);
      --grayscale-8: color(display-p3 0.383 0.373 0.408);
      --grayscale-9: color(display-p3 0.434 0.428 0.467);
      --grayscale-10: color(display-p3 0.487 0.48 0.519);
      --grayscale-11: color(display-p3 0.707 0.7 0.735);
      --grayscale-12: color(display-p3 0.933 0.933 0.94);

      --grayscale-a1: #00000000;
      --grayscale-a2: #f5f4f609;
      --grayscale-a3: #ebeaf814;
      --grayscale-a4: #eee5f81d;
      --grayscale-a5: #efe6fe25;
      --grayscale-a6: #f1e6fd30;
      --grayscale-a7: #eee9ff40;
      --grayscale-a8: #eee7ff5d;
      --grayscale-a9: #eae6fd6e;
      --grayscale-a10: #ece9fd7c;
      --grayscale-a11: #f5f1ffb7;
      --grayscale-a12: #fdfdffef;

      --grayscale-contrast: #fff;
      --grayscale-surface: color(display-p3 0 0 0 / 5%);
      --grayscale-indicator: color(display-p3 0.434 0.428 0.467);
      --grayscale-track: color(display-p3 0.434 0.428 0.467);
    }
  }
}

.light, :root {
  color-scheme: light;
  --accent: rgba(20, 110, 245, 1);
  --background: rgba(255, 255, 255, 1);
  --border: rgba(216, 216, 216, 1);
  --sidebar-background: initial;
  --header-background: color-mix(in srgb, var(--background), transparent 30%);
  --card-background: initial;
  --theme-color: #fff;
}

.dark {
  color-scheme: dark;
  --accent: rgba(20, 110, 245, 1);
  --background: rgba(0, 0, 0, 1);
  --border: rgba(54, 54, 54, 1);
  --sidebar-background: initial;
  --header-background: color-mix(in srgb, var(--background), transparent 30%);
  --card-background: initial;
  --theme-color: #000;
}

/* fern/assets/styles/main.css */

@import 'base/_variables.css';
@import 'base/_typography.css';

@import 'layout/_grid.css';
@import 'layout/_header.css';
@import 'layout/_navigation.css';
@import 'layout/_footer.css';

@import 'components/_accordion.css';
@import 'components/_buttons.css';
@import 'components/_cards.css';
@import 'components/_forms.css';
@import 'components/_pills.css';
@import 'components/_tabs.css';
@import 'components/_styleguide.css';

@import 'pages/_changelog.css';
@import 'pages/_examples.css';

@import 'themes/_dark.css';

/* Color Variables */
:root {
  /* Main Brand Colors */
  --blue-400: #3b89ff;
  --blue-500: #146ef5;
  --blue-600: #0055d4;

  /* Neutral Colors */
  --white: #ffffff;
  --gray-100: #f0f0f0;
  --gray-200: #d8d8d8;
  --gray-300: #ababab;
  --gray-400: #898989;
  --gray-500: #757575;
  --gray-600: #5a5a5a;
  --gray-700: #363636;
  --gray-800: #222222;
  --gray-900: #171717;
  --black: #080808;

  /* --content-width: min(800px, 95%); */
  --accent: rgb(20, 110, 245);
  --accent-a11: #0061e8f8;
  --tw-bg-opacity: .8;


}

/* General styling for paragraphs, unordered lists, ordered lists, and list items */
p,
ul,
ol,
li {
  position: relative !important;
  z-index: 2 !important;
}

/* Override Tailwind classes that set list markers to dashes */
ul[class*="before:content-['-']"] {
  list-style-type: disc !important;
  padding-left: 1.5em !important;
}

ul[class*="before:content-['-']"] > li {
  position: relative !important;
  padding-left: 0 !important;
}

ul[class*="before:content-['-']"] > li:before {
  content: none !important;
}

/* Special formatting for top-level ordered lists */
ol:not(ol ol) {
  counter-reset: my-counter !important; /* Resetting the counter for each ol element */
  list-style-type: none !important;
}

ol:not(ol ol) > li {
  position: relative !important;
  margin-bottom: 0 !important;
  padding: 0.75rem 0 0.75rem 2.75em !important;
}

.prose
  :where(.prose > ol > li > p:first-child):not(
    :where([class~="not-prose"], [class~="not-prose"] *)
  ) {
  margin-top: 0px !important;
}

ol:not(ol ol) > li p:first-child {
  margin-top: 0px !important;
}

ol:not(ol ol) > li:before {
  content: counter(my-counter) !important; /* Use the counter */
  counter-increment: my-counter !important; /* Increment the counter */
  position: absolute !important;
  left: 0 !important;
  padding: 0.5rem !important;
  width: 2em !important;
  height: 2em !important;
  font-size: 0.9em !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #146ef5 !important;
  border: 1px solid #146ef5 !important;
  background: var(--theme--t_bg-secondary) !important;
  border-radius: 4px !important;
  margin-top: -0.1em !important;
  box-sizing: border-box !important;
}

/* Additional styling for li::before on hover */
:is(.light) ol:not(ol ol) > li:hover::before {
  background-color: #146ef5 !important;
  color: white !important;
  border-radius: 4px;
  padding: 0.2em 0.4em;
  transition: background-color 0.4s ease, color 0.4s ease;
}
:is(.light) ol:not(ol ol) > li:focus-visible::before {
  background-color: #146ef5 !important;
  color: white !important;
  border-radius: 4px;
  padding: 0.2em 0.4em;
  transition: background-color 0.4s ease, color 0.4s ease;
}

/* Style nested ordered lists (ol) normally */
ol ol,
ol ol li {
  position: static !important;
  z-index: auto !important;
  list-style-type: decimal !important;
  counter-reset: none !important;
  padding-left: 1em;
}

a {
  text-decoration: none !important;
}

@font-face {
  font-family: webflow-icons;
  src: url("data:application/x-font-ttf;charset=utf-8;base64,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")
    format("truetype");
  font-weight: 400;
  font-style: normal;
}

/* Grid container styling */
.grid-container {
  display: grid;
  grid-template-columns: 40% 60%; /* Fixed width for the right column */
  gap: 20px;
}

.grid-item-left {
  grid-column: 1 / 2;
}

.grid-item-right {
  grid-column: 2 / 3;
}

div.two-images {
  display: flex;
  justify-content: center;
  max-width: 90%;
}

.two-images img {
  background-color: #f6f7f8;
  padding-top: 8%;
  padding-bottom: 8%;
  padding-left: 6%;
  padding-right: 6%;
  margin-top: 2em;
  margin-bottom: 2em !important;
  box-sizing: content-box;
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
  outline: none !important;
  vertical-align: middle;
}

.image-row {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.indent {
  margin-left: 1em;
}

/* Optimize Hero Image */
.features-hero_bottom-img {
  position: relative;
}

.u-img-cover.cc-top {
  object-fit: cover;
  object-position: 50% 0%;
}

.u-mega-shadow-light-bg {
  box-shadow: 0 1px 1px #00000014, 0 2px 2px #00000017, 0 4px 3px #00000017,
    0 8px 6px #00000017, 0 14px 10px #00000017, 0 28px 20px #0000001a,
    0 60px 40px #0000001a;
}

.u-mega-shadow-dark-bg {
  box-shadow: 0 2px 1px #00000043, 0 3px 1px #00000048, 0 4px 2px #0000004b,
    0 6px 2px #0000004d, 0 10px 4px #00000052, 0 16px 6px #00000051,
    0 24px 12px #0000005c, 0 40px 20px #00000058, 0 75px 40px #0006;
}

.optimize_performance {
  border: 1px solid var(--gray-800);
  background-color: #292929;
  border-radius: 4px;
  max-width: 40%;
  position: absolute;
  inset: 0% 0% auto auto;
  transform: translate(8%, 1%);
}

.optimize_conversions {
  border: 1px solid var(--gray-800);
  background-color: #202020;
  border-radius: 4px;
  max-width: 30%;
  position: absolute;
  inset: auto auto 0% 0%;
  transform: translate(-8%, -250%);
}

.fern-layout-guide{
  margin-inline: 0px;
}

/* Basic styling for the accordion */
.accordion {
  background-color: #eee;
  color: #444;
  cursor: pointer;
  padding: 18px;
  margin-bottom: 5px;
  width: 100%;
  border: none;
  border-radius: 5px;
  text-align: left;
  outline: none;
  font-size: 15px;
  font-weight: 700;
  transition: 0.4s;
}

.accordion.active {
  color: white !important;
}

.active,
.accordion:hover {
  background-color: #146ef5;
  color: white;
}
.accordion:focus-visible {
  background-color: #146ef5;
  color: white;
}

.active:not(.success) {
  color: rgb(56, 66, 72);
}

.active.success {
  color: white !important;
}

.accordion:after {
  color: white !important;
  font-weight: bold;
  float: right;
  margin-left: 5px;
}

/* Panel styling */
.panel {
  padding: 18px;
  background-color: white;
  display: none;
  overflow: hidden;
}

.fern-accordion-trigger {
  border-bottom-left-radius: 5px !important;
  border-bottom-right-radius: 5px !important;
}

.fern-accordion-trigger[data-state="open"] {
  background-color: #146ef5;
}

.fern-accordion-trigger[data-state="open"] .fern-accordion-trigger-title {
  color: white;
}

.fern-accordion {
  background-color: transparent;
  cursor: pointer;
  width: 100%;
  border: none;
  border-radius: 5px;
  text-align: left;
  outline: none;
  font-size: 15px;
  transition: all 0.4s !important;
  margin-bottom: 5px !important;
  margin-top: 5px !important;
}

.fern-accordion.active {
  color: white !important;
}

.fern-accordion:hover .fern-accordion-trigger {
  background-color: #146ef5;
}
.fern-accordion:focus-within .fern-accordion-trigger {
  background-color: #146ef5;
}

.fern-accordion:hover .fern-accordion-trigger-title {
  color: white;
}
.fern-accordion:focus-within .fern-accordion-trigger-title {
  color: white;
}

.fern-accordion-trigger:hover .fern-accordion-trigger-arrow,
.fern-accordion-trigger.active .fern-accordion-trigger-arrow {
  color: white;
}
.fern-accordion-trigger:focus-within .fern-accordion-trigger-arrow {
  color: white;
}

.fern-accordion-content .font-semibold {
  background-color: transparent !important;
  font-weight: 400 !important;
}

.expandable
  .fern-accordion-item[data-state="closed"]
  > :not(div)
  > .fern-accordion-trigger-title::after {
  font-weight: 400 !important;
  font-size: 14px;
  content: "Show properties";
}

.expandable
  .fern-accordion-item[data-state="open"]
  > :not(div)
  > .fern-accordion-trigger-title::after {
  font-weight: 400 !important;
  font-size: 14px;
  content: "Hide properties";
}

/* Create Items only: reset closed headers when the pointer leaves them,
   regardless of an ancestor's hover state. Keep expanded headers highlighted. */
.create-items-options .fern-accordion-trigger,
.create-items-options .fern-accordion-trigger-title,
.create-items-options .fern-accordion-trigger-arrow {
  transition: none;
}

.create-items-options .fern-accordion-trigger[data-state="closed"]:not(:hover) {
  background-color: transparent;
}

.dark .create-items-options .fern-accordion-trigger[data-state="closed"]:not(:hover) {
  background-color: #333;
}

.create-items-options .fern-accordion-trigger[data-state="closed"]:not(:hover)
  .fern-accordion-trigger-title {
  color: var(--grayscale-a12);
}

.create-items-options .fern-accordion-trigger[data-state="closed"]:not(:hover)
  .fern-accordion-trigger-arrow {
  color: var(--grayscale-a11);
}

.cc-primary {
  background-color: #146ef5;
  color: #fff;
  margin-right: 16px;
  padding: 16px 24px;
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 600 !important;
  text-decoration: none;
  cursor: pointer;
  border-radius: 4px !important;
}

.cc-primary p {
  margin: 0;
}

.cc-secondary {
  background-color: #e5e5e5;
  color: #146ef5;
  margin-right: 16px;
  padding: 16px 24px;
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 600 !important;
  text-decoration: none;
  cursor: pointer;
  border-radius: 4px !important;
}

.fern-card:not(.fern-accordion):hover button.cc-secondary {
  color: #fff;
  background-color: #146ef5 !important;
}
.fern-card:not(.fern-accordion):focus-within button.cc-secondary {
  color: #fff;
  background-color: #146ef5 !important;
}

:is(.light) .card:hover button.cc-secondary {
  color: #fff;
  background-color: #146ef5 !important;
}
:is(.light) .card:focus-within button.cc-secondary {
  color: #fff;
  background-color: #146ef5 !important;
}

.button.cc-secondary a {
  color: #757575 !important;
}

.wf-card-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
  flex: 1;
}

.wf-card-button-primary {
  background: #146EF5;
  color: white;
}

.wf-card-button-primary:hover {
  background: #0055D4;
}
.wf-card-button-primary:focus-visible {
  background: #0055D4;
}

.wf-card-button-secondary {
  background: #F0F0F0;
  color: #5A5A5A;
}

.wf-card-button-secondary:hover {
  background: #D8D8D8;
  color: #363636;
}
.wf-card-button-secondary:focus-visible {
  background: #D8D8D8;
  color: #363636;
}

.wf-github-button {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  border-radius: 6px;
  background-color: #F0F0F0;
  color: #222222;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}

.wf-github-button:hover {
  background-color: #E6E6E6;
}
.wf-github-button:focus-visible {
  background-color: #E6E6E6;
}

.wf-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.5rem;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 500;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
  border: none;
}

.wf-button-secondary {
  background: #FFFFFF;
  color: #363636;
  border: 1px solid #D8D8D8;
}

.wf-button-secondary:hover {
  background: #F5F5F5;
  border-color: #ABABAB;
}
.wf-button-secondary:focus-visible {
  background: #F5F5F5;
  border-color: #ABABAB;
}

.wf-form-submit-button {
  display: inline-block;
  background-color: var(--blue-500);
  color: var(--white);
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s ease-in-out;
}

.wf-form-submit-button:hover {
  background-color: var(--blue-600);
}
.wf-form-submit-button:focus-visible {
  background-color: var(--blue-600);
}

.card-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 30px 0;
}

.card {
  border-radius: 8px;
  padding: 20px;
  padding-bottom: 60px;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
  cursor: pointer;
  text-align: left;
  display: flex;
  flex-direction: column;
}

:is(.light) .card {
  background-color: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.card:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  transform: scale(1.02);
}
.card:focus-visible {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  transform: scale(1.02);
}

.card-header {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}

.card-header svg {
  width: 40px;
  height: 40px;
  margin-right: 10px;
}

.card h3 {
  margin: 0;
  font-size: 1.25rem;
}

:is(.light) .card h3 {
  color: #333;
}

:is(.light) .card:hover h3 {
  color: #146ef5;
}
:is(.light) .card:focus-within h3 {
  color: #146ef5;
}

.card-body {
  margin-top: 10px;
  flex-grow: 1;
}

.card-body p {
  margin: 0;
  font-size: 1rem;
}

:is(.light) .card-body p {
  color: #555;
}

.fern-card:not(.fern-accordion) {
  cursor: pointer;
  transition: box-shadow 0.3s ease, transform 0.3s ease !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

:is(.light) .fern-card:not(.fern-accordion) {
  background-color: #fff;
}

:not(footer) + .fern-card:not(.fern-accordion) {
  border-radius: 8px;
  padding: 20px;
  text-align: left;
  display: flex;
  flex-direction: column;
  border: 0px solid #146ef5;
}

:not(footer) + .card-body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.fern-card:not(.fern-accordion):hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  transform: scale(1.02);
}
.fern-card:not(.fern-accordion):focus-visible {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  transform: scale(1.02);
}

:is(.light) .fern-card:not(.fern-accordion):hover div.font-semibold {
  color: #146ef5;
}
:is(.light) .fern-card:not(.fern-accordion):focus-within div.font-semibold {
  color: #146ef5;
}

figure.fern-card img {
  margin-left: auto;
  margin-right: auto;
}

/* Workaround for styling bugs for the first Card in a CardGroup.
   The `:not(footer) + .fern-card` rule above uses an adjacent-sibling
   combinator, so the first card in a CardGroup never matches and must
   re-declare the same layout properties here. */
div.fern-card-group > .fern-card:not(.fern-accordion):first-child {
  border-radius: 8px;
  padding: 20px;
  text-align: left;
  display: flex;
  flex-direction: column;
  border: none;
}
div.fern-card-group > a.fern-card:not(.fern-accordion):hover div.font-semibold {
  color: #146ef5;
}
div.fern-card-group > a.fern-card:not(.fern-accordion):focus-within div.font-semibold {
  color: #146ef5;
}

/* Webflow Card Component Styles */
.wf-card {
  display: flex;
  flex-direction: column;
  position: relative;
  background: white;
  border: 1px solid #D8D8D8;
  border-radius: 8px;
  overflow: hidden;
  transition: all 0.2s ease-in-out;
  height: 100%;
}

.wf-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.wf-card:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.wf-card-header {
  display: flex;
  justify-content: flex-end;
  padding: 12px;
}

.wf-card-image-container {
  position: relative;
  overflow: hidden;
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #F0F0F0;
}

.wf-card-image {
  width: 100%;
  height: 200px;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.wf-card:hover .wf-card-image {
  transform: scale(1.05);
}
.wf-card:focus-within .wf-card-image {
  transform: scale(1.05);
}

.wf-card-image-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at center, transparent 0%, rgba(0,0,0,0.2) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.wf-card:hover .wf-card-image-overlay {
  opacity: 1;
}
.wf-card:focus-within .wf-card-image-overlay {
  opacity: 1;
}

.default-logo {
  width: 80px;
  height: 80px;
  opacity: 0.8;
  transition: opacity 0.3s ease;
}

.wf-card:hover .default-logo {
  opacity: 1;
}
.wf-card:focus-within .default-logo {
  opacity: 1;
}

.wf-card-metadata {
  padding: 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
  background-color: white;
  transition: background-color 0.2s ease-in-out;
}

.wf-card:hover .wf-card-metadata {
  background-color: #F0F0F0;
}
.wf-card:focus-within .wf-card-metadata {
  background-color: #F0F0F0;
}

.wf-card-content {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  justify-content: space-between;
  height: 100%;
}

.wf-card-text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.wf-card-title {
  font-size: 20px;
  font-weight: 600;
  margin: 0 0 12px 0;
  color: #080808;
}

.wf-card-description {
  flex: 1;
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
  color: #5A5A5A;
}

.wf-card-tags {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.wf-card-actions {
  display: flex;
  gap: 8px;
  padding: 16px;
  border-top: 1px solid #E6E6E6;
  margin-top: auto;
}

[type="checkbox"] {
  margin-right: 4px;
  border-radius: 2px;
}

/* --- Form Styles --- */

.wf-form-root {
  width: 100%;
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: 12px;
  padding: 24px;
  transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
}

.wf-form-field {
  display: grid;
  margin-bottom: 16px;
}

.wf-form-label {
  font-size: 16px;
  font-weight: 500;
  line-height: 35px;
  color: var(--black);
  transition: color 0.2s ease-in-out;
}

.wf-form-message {
  font-size: 14px;
  color: var(--gray-500);
  transition: color 0.2s ease-in-out;
}

.wf-form-input {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  padding: 0 12px;
  height: 40px;
  font-size: 16px;
  background-color: var(--gray-100);
  border: 1px solid var(--gray-200);
  color: var(--black);
  transition: all 0.2s ease-in-out;
}

.wf-form-input:hover {
  border-color: var(--blue-500);
}
.wf-form-input:focus-visible {
  border-color: var(--blue-500);
}

.wf-form-input:focus {
  outline: none;
  border-color: var(--blue-500);
  box-shadow: 0 0 0 2px rgba(20, 110, 245, 0.2);
}

/* --- Result block (output tabs, copy button, code preview) --- */

.wf-result-section {
  border-top: 1px solid var(--gray-200);
  padding-top: 16px;
  transition: border-color 0.2s ease-in-out;
}

.wf-result-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}

.wf-result-tabs {
  display: flex;
  gap: 4px;
}

.wf-result-tab,
.wf-result-copy {
  padding: 4px 12px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease-in-out;
}

.wf-result-tab {
  border: 1px solid var(--gray-200);
  background: var(--gray-100);
  color: var(--gray-600);
}

.wf-result-tab--active {
  background: var(--blue-500);
  border-color: var(--blue-500);
  color: #fff;
}

.wf-result-copy {
  border: 1px solid var(--gray-200);
  background: var(--white);
  color: var(--gray-600);
}

.wf-result-copy--copied {
  background: #e6f4ea;
  color: #007a41;
}

.wf-result-pre {
  margin: 0;
  padding: 12px 16px;
  border-radius: 8px;
  background: var(--gray-100);
  border: 1px solid var(--gray-200);
  font-size: 13px;
  line-height: 1.6;
  overflow-x: auto;
  white-space: pre-wrap;
  word-break: break-all;
  color: var(--gray-800);
  transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.2s ease-in-out;
}

.legacy-pill {
  text-transform: uppercase;
  font-size: 0.5em;
  font-weight: 500;
  background-color: var(--blue-400);
  color: #fff;
  border-radius: 10px;
  padding: 0.5px 6px;
  margin-left: 6px;
  transition: color 0.2s;
}

.beta-pill {
  text-transform: uppercase;
  font-size: 0.5em;
  font-weight: 500;
  background-color: var(--blue-600);
  color: #fff;
  border-radius: 10px;
  padding: 0.5px 6px;
  margin-left: 6px;
  transition: color 0.2s;
}

.apps-pill {
  text-transform: uppercase;
  font-size: 0.5em;
  font-weight: 500;
  background-color: var(--blue-500);
  color: #fff;
  border-radius: 10px;
  padding: 0.5px 6px;
  margin-left: 6px;
  transition: color 0.2s;
}

.wf-product-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.wf-product-tag {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 16px;
  background-color: #E6F0FF;
  color: #146EF5;
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}

.wf-product-tag:hover {
  background-color: #146EF5;
  color: white;
  transform: translateY(-1px);
}
.wf-product-tag:focus-visible {
  background-color: #146EF5;
  color: white;
  transform: translateY(-1px);
}

.CodeTabs {
  padding-top: 18px;
}

/* Styling for the tabbed component */
.tabbed-component {
  margin-top: 20px;
}

.custom-tabs {
  display: flex;
}

.custom-tab {
  padding: 10px 20px;
  cursor: pointer;
  background-color: white;
  transition: background-color 0.3s;
}

.custom-tab.active {
  background-color: white;
  border-bottom: 2px solid #146ef5;
  color: #146ef5;
  font-weight: 700;
}

.custom-tab-content {
  display: none;
  padding: 20px;
  border-top: 1px solid #ccc;
  border-bottom: 2px solid #146ef5;
  background-color: white;
  max-height: 400px;
  overflow-y: auto;
}

.custom-tab-content.active {
  display: block;
}

.active.success {
  color: white !important;
}

.active:not(.success),
.custom-tab {
  color: rgb(56, 66, 72);
}

.sg-selector {
  display: inline-block;
  padding: 0.2em 0.5em;
  font-size: 0.9em;
  font-weight: 500;
  border-radius: 0.25em;
  border: 1px solid color-mix(in srgb, currentColor 50%, transparent);
  background-color: color-mix(in srgb, currentColor 10%, transparent);
  font-family: monospace;
  white-space: nowrap;
  line-height: 1;
}
.sg-tag { color: #d6348c; }
.sg-class { color: var(--accent-a11); }
.sg-var { color: #9945ee; }
.sg-wrapper {
  border: 1px dotted rgba(0, 120, 255, 0.4);
  background: rgba(0, 120, 255, 0.05);
  padding: 16px;
  margin-top: 16px;
  margin-bottom: 32px;
}

.sg-preview {
  border: 1px solid #525252;
  padding: 12px;
  display: flex;
  gap: 12px;
}

.sg-element {
  padding: 8px 16px;
  border-radius: 4px;
  color: #fff;
  background-color: var(--accent);
  opacity: var(--tw-bg-opacity, 1);
}

.data-api-carousel {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}

.carousel-wrapper {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.carousel-wrapper::-webkit-scrollbar {
  display: none;
}

.carousel-inner {
  display: flex;
  flex-wrap: nowrap;
  gap: 20px;
  padding: 15px 0;
}

.carousel-inner::before,
.carousel-inner::after {
  content: "";
  width: 20px;
  flex-shrink: 0;
}

.carousel-item {
  flex: 0 0 calc((100% / 3) - (40px / 3));
  scroll-snap-align: start;
  overflow: visible;
}

.carousel-item > div {
  width: 100%;
  height: 100%;
}

@media (max-width: 768px) {

  .carousel-item {
    flex: 0 0 100%;
  }

}

.carousel-control {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(0, 0, 0, 0.2);
  color: white;
  border: none;
  padding: 10px;
  cursor: pointer;
  z-index: 10;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease, opacity 0.3s ease;
  opacity: 0;
}

.data-api-carousel:hover .carousel-control {
  opacity: 1;
}
.data-api-carousel:focus-within .carousel-control {
  opacity: 1;
}

.carousel-control:hover {
  background-color: rgba(0, 0, 0, 0.5);
}
.carousel-control:focus-visible {
  background-color: rgba(0, 0, 0, 0.5);
}

.carousel-control.prev {
  left: 10px;
}

.carousel-control.next {
  right: 10px;
}

/* Changelog title styling */
.fern-changelog-content h2 a.not-prose {
  font-size: 2rem !important;
  line-height: 2rem !important;
  font-weight: 600 !important;
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
  display: block !important;
}

.fern-changelog-content h2 a.not-prose p {
  margin: 0 !important;
  font-size: 2rem !important;
}

/* Example Filters */
.wf-example-filters {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 32px;
  padding-top: 2rem;
}

.wf-filter-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.wf-filter-label {
  font-size: 14px;
  font-weight: 500;
  color: #666666;
}

.wf-filter-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.wf-filters-container {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.wf-filter-select-container {
  margin-right: 1rem;
}

.wf-filter-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 0.75rem 1rem;
  padding-right: 2.5rem;
  border-radius: 6px;
  border: 1px solid #D8D8D8;
  background-color: #F0F0F0;
  font-size: 14px;
  font-weight: 500;
  min-width: 200px;
  color: #363636;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23363636' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
}

.wf-filter-select:hover {
  border-color: #146EF5;
  background-color: #F5F5F5;
}
.wf-filter-select:focus-visible {
  border-color: #146EF5;
  background-color: #F5F5F5;
}

.wf-filter-select:focus {
  outline: none;
  border-color: #146EF5;
  box-shadow: 0 0 0 2px rgba(20, 110, 245, 0.1);
  background-color: #F5F5F5;
}

@media (max-width: 768px) {

  .wf-filters-container {
    flex-direction: column;
    align-items: stretch;
  }

  .wf-filter-select-container {
    margin-right: 0;
    margin-bottom: 1rem;
  }

  .wf-filter-select {
    width: 100%;
  }

}

/* Examples Grid */
.wf-examples-container {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding-top: 2rem;
  width: 100%;
}

.wf-examples-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: 2rem;
}

.wf-examples-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(320px, 1fr));
  gap: 2rem;
  width: 100%;
}

.wf-examples-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 4rem 2rem;
  background: #F0F0F0;
  border-radius: 8px;
  margin-top: 2rem;
}

.wf-examples-empty p {
  font-size: 1.125rem;
  color: #5A5A5A;
  margin-bottom: 1.5rem;
}

/* Responsive adjustments for examples */
@media (max-width: 768px) {

  .wf-examples-grid {
    grid-template-columns: 1fr;
  }

}

.wf-framework-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 4px;
  background: #F0F0F0;
  color: #363636;
}
:is(.dark) ol:not(ol ol) > li:before {
  color: #ffffff !important;
  background: #222 !important;
  border: 1px solid #363636 !important;
}

:is(.dark) .card {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border: 1px solid #363636;
}

:is(.dark) .card h3 {
  color: #fff;
}

:is(.dark) .card:hover {
  background-color: #222 !important;
}
:is(.dark) .card:focus-visible {
  background-color: #222 !important;
}

:is(.dark) .card-body p {
  color: #ababab;
}

:is(.dark) .card button.cc-secondary {
  color: #fff;
  background-color: #146ef5 !important;
}

:is(.dark) .fern-accordion-trigger {
  background-color: #333;
}

.fern-accordion-trigger .fern-accordion-trigger-arrow:is(.dark *) {
  color: var(--grayscale-a11);
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

:is(.dark) :not(footer) + .fern-card:not(.fern-accordion) {
  background-color: #333;
}

/* Workaround for styling bug for the first Card in a CardGroup */
:is(.dark) div.fern-card-group > .fern-card:not(.fern-accordion):first-child {
  background-color: var(--grayscale-a3);
}

:is(.dark) table:not(.plain, .code-block-line-group) thead tr {
  background-color: var(--gray-700);
}

:is(.dark) table:not(.plain, .code-block-line-group) :where(td, th) code {
  background-color: var(--gray-700);
  border: 1px solid var(--gray-700);
  color: var(--gray-100);
}

.nested-properties {
  padding: 1rem;
  border-radius: 5px;
}

:is(.dark) .nested-properties {
  background-color: #333;
}

:is(.dark) :not(footer) + .fern-card:not(.fern-accordion) {
  background-color: var(--grayscale-a3) !important;
}

/* Dark mode styles */
:is(.dark) .cc-secondary {
  background-color: #146ef5;
  color: white;
}

:is(.dark) .cc-secondary:hover,
:is(.dark) .fern-card:not(.fern-accordion):hover .cc-secondary,
:is(.dark) .card:hover .cc-secondary {
  background-color: #e5e5e5 !important;
  color: #146ef5 !important;
}
:is(.dark) .cc-secondary:focus-visible,
:is(.dark) .fern-card:not(.fern-accordion):focus-within .cc-secondary,
:is(.dark) .card:focus-within .cc-secondary {
  background-color: #e5e5e5 !important;
  color: #146ef5 !important;
}

/* Dark/Light mode icon switching */
.dark-icon {
  display: none;
}

.light-icon {
  display: block;
}

:is(.dark) .dark-icon {
  display: block;
}

:is(.dark) .light-icon {
  display: none;
}

:is(.dark) .sg-wrapper {
  border: 1px dotted rgba(59, 137, 255, 0.6);
  background: rgba(59, 137, 255, 0.1);
}

:is(.dark) .sg-preview {
  border: 1px solid #525252;
  background-color: #1a1a1a;
}

:is(.dark) .sg-element {
  background-color: var(--accent);
  color: #fff;
}

:is(.dark) .custom-nav-category-section h3 {
  color: #757575;
  border-color: #363636;
}

:is(.dark) .custom-nav-card {
  background-color: #171717;
  border-color: #363636;
}

:is(.dark) .custom-nav-card:hover {
  background-color: #222222;
}
:is(.dark) .custom-nav-card:focus-visible {
  background-color: #222222;
}

:is(.dark) .custom-nav-card h4 {
  color: #FFFFFF;
}

:is(.dark) .custom-nav-card p {
  color: #ABABAB;
}

:is(.dark) .wf-card {
  background: #171717;
  border-color: #363636;
}

:is(.dark) .wf-card-image-container {
  background-color: #222222;
}

:is(.dark) .wf-card-metadata {
  background-color: #171717;
}

:is(.dark) .wf-card:hover .wf-card-metadata {
  background-color: #222222;
}
:is(.dark) .wf-card:focus-within .wf-card-metadata {
  background-color: #222222;
}

:is(.dark) .wf-card-title {
  color: #FFFFFF;
}

:is(.dark) .wf-card-description {
  color: #ABABAB;
}

:is(.dark) .wf-product-tag {
  background-color: rgba(20, 110, 245, 0.1);
}

:is(.dark) .wf-product-tag:hover {
  background-color: #146EF5;
  color: white;
}
:is(.dark) .wf-product-tag:focus-visible {
  background-color: #146EF5;
  color: white;
}

:is(.dark) .wf-framework-icon {
  background: transparent;
  color: #E6E6E6;
}

:is(.dark) .wf-framework-icon .dark-icon {
  display: block;
}

:is(.dark) .wf-framework-icon .light-icon {
  display: none;
}

:is(.dark) .wf-framework-icon:hover {
  background: transparent;
  transform: scale(1.1);
  transition: all 0.2s ease-in-out;
}
:is(.dark) .wf-framework-icon:focus-visible {
  background: transparent;
  transform: scale(1.1);
  transition: all 0.2s ease-in-out;
}

:is(.dark) .wf-card-actions {
  border-color: #333333;
}

:is(.dark) .wf-card-button-secondary {
  background: #222222;
  color: #ABABAB;
}

:is(.dark) .wf-card-button-secondary:hover {
  background: #363636;
  color: #FFFFFF;
}
:is(.dark) .wf-card-button-secondary:focus-visible {
  background: #363636;
  color: #FFFFFF;
}

:is(.dark) .wf-filter-label {
  color: #A6A6A6;
}

:is(.dark) .wf-filter-select {
  background-color: #171717;
  border: 1px solid #146EF5;
  color: #FFFFFF;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23FFFFFF' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

:is(.dark) .wf-filter-select:hover {
  border-color: #146EF5;
  background-color: #222222;
}
:is(.dark) .wf-filter-select:focus-visible {
  border-color: #146EF5;
  background-color: #222222;
}

:is(.dark) .wf-filter-select:focus {
  border-color: #146EF5;
  box-shadow: 0 0 0 2px rgba(20, 110, 245, 0.2);
  background-color: #222222;
}

:is(.dark) .wf-github-button {
  background-color: #222222;
  color: #ABABAB;
}

:is(.dark) .wf-github-button:hover {
  background-color: #363636;
  color: #FFFFFF;
}
:is(.dark) .wf-github-button:focus-visible {
  background-color: #363636;
  color: #FFFFFF;
}

:is(.dark) .wf-examples-empty {
  background: #222222;
}

:is(.dark) .wf-examples-empty p {
  color: #ABABAB;
}

:is(.dark) .wf-button-secondary {
  background: #171717;
  color: #FFFFFF;
  border-color: #363636;
}

:is(.dark) .wf-button-secondary:hover {
  background: #222222;
  border-color: #146EF5;
}
:is(.dark) .wf-button-secondary:focus-visible {
  background: #222222;
  border-color: #146EF5;
}

/* Dark Mode Form Styles */
:is(.dark) .wf-form-root {
  background: var(--black);
  border: 1px solid var(--gray-700);
}

:is(.dark) .wf-form-label {
  color: var(--white);
}

:is(.dark) .wf-form-message {
  color: var(--gray-300);
  opacity: 0.8;
}

:is(.dark) .wf-form-input {
  background-color: var(--black);
  border: 1px solid var(--gray-700);
  color: var(--white);
}

:is(.dark) .wf-form-input:focus {
  box-shadow: 0 0 0 2px rgba(20, 110, 245, 0.5);
}

/* Dark Mode Result Block Styles — reuse the input pattern */
:is(.dark) .wf-result-section {
  border-top-color: var(--gray-700);
}

:is(.dark) .wf-result-tab {
  background: var(--black);
  border-color: var(--gray-700);
  color: var(--gray-300);
}

:is(.dark) .wf-result-tab--active {
  background: var(--blue-500);
  border-color: var(--blue-500);
  color: var(--white);
}

:is(.dark) .wf-result-copy {
  background: var(--black);
  border-color: var(--gray-700);
  color: var(--gray-300);
}

:is(.dark) .wf-result-copy--copied {
  background: rgba(0, 122, 65, 0.15);
  color: #4caf7c;
}

:is(.dark) .wf-result-pre {
  background: var(--black);
  border-color: var(--gray-700);
  color: var(--gray-100);
}

/* FERN HEADER CUSTOMIZATIONS */
/* Only includes layout/spacing customizations, no color overrides */

/* Logo alignment */
.fern-header .fern-logo-container,
body#fern-docs .fern-header-logo-container > div > a {
  display: flex;
  align-items: center;
  gap: 0;
}

/* All dropdown buttons should have consistent hover state */
body#fern-docs .fern-header-content button[aria-haspopup="true"]:hover,
body#fern-docs .fern-header-content .fern-button[data-testid="version-dropdown"]:hover,
body#fern-docs .fern-header-content .fern-button[data-testid="product-dropdown"]:hover {
  box-shadow: inset 0 -2px #146ef5 !important;
}
body#fern-docs .fern-header-content button[aria-haspopup="true"]:focus-visible,
body#fern-docs .fern-header-content .fern-button[data-testid="version-dropdown"]:focus-visible,
body#fern-docs .fern-header-content .fern-button[data-testid="product-dropdown"]:focus-visible {
  box-shadow: inset 0 -2px #146ef5 !important;
}

/* Ask AI button styling */
body#fern-docs .fern-header-content button[aria-label*="AI"],
body#fern-docs .fern-header-content button:has(.fern-button-text:contains("Ask")) {
  background-color: rgba(20, 110, 245, 0.1) !important;
  border: 1px solid rgba(20, 110, 245, 0.3);
  border-radius: 6px !important;
  padding: 0.5rem 1rem !important;
  transition: all 0.2s ease;
}

body#fern-docs .fern-header-content button[aria-label*="AI"]:hover,
body#fern-docs .fern-header-content button:has(.fern-button-text:contains("Ask")):hover {
  background-color: rgba(20, 110, 245, 0.15) !important;
  border-color: rgba(20, 110, 245, 0.5);
  box-shadow: 0 2px 8px rgba(20, 110, 245, 0.2) !important;
}
body#fern-docs .fern-header-content button[aria-label*="AI"]:focus-visible,
body#fern-docs .fern-header-content button:has(.fern-button-text:contains("Ask")):focus-visible {
  background-color: rgba(20, 110, 245, 0.15) !important;
  border-color: rgba(20, 110, 245, 0.5);
  box-shadow: 0 2px 8px rgba(20, 110, 245, 0.2) !important;
}

/* Primary CTA Button Styling */
.fern-header .fern-button:not(.disabled).filled.primary {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  height: 50px;
  border-radius: 4px;

  transition: background-color 0.3s cubic-bezier(0.165, 0.84, 0.44, 1),
    box-shadow 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  box-shadow: 0 4px 4px #08080814, 0 1px 2px #08080833,
    inset 0 6px 12px #ffffff1f, inset 0 1px 1px #fff3;
}

.fern-header .fern-button:not(.disabled).filled.primary svg {
  display: none;
}

.fern-header .fern-button:not(.disabled).filled.primary .fern-button-text {
  margin: 10px;
  font-weight: bolder;
  font-size: 0.9375rem;
  line-height: 1.2;
}

body#fern-docs .fern-header-content .fern-button:not(.disabled).primary .fern-button-text {
  font-weight: 600;
}

/* Add "— it's free!" text to Get Started button */
.fern-header
  .fern-button:not(.disabled).filled.primary
  .fern-button-text::after {
  font-weight: 400;
  content: " — it's free!";
}

body#fern-docs
  .fern-header-content
  .fern-button:not(.disabled).filled.primary
  .fern-button-text::after {
  font-weight: 400;
  content: " — it's free!";
}

/* Button hover effects */
.fern-header .fern-button:not(.disabled).minimal:hover {
  box-shadow: inset 0 -2px #146ef5;
}
.fern-header .fern-button:not(.disabled).minimal:focus-visible {
  box-shadow: inset 0 -2px #146ef5;
}

body#fern-docs .fern-header-content .fern-button:not(.disabled).minimal:hover {
  box-shadow: inset 0 -2px #146ef5;
}
body#fern-docs .fern-header-content .fern-button:not(.disabled).minimal:focus-visible {
  box-shadow: inset 0 -2px #146ef5;
}

body#fern-docs .fern-header-content .fern-button:not(.disabled):hover {
  box-shadow: inset 0 -2px #146ef5;
}
body#fern-docs .fern-header-content .fern-button:not(.disabled):focus-visible {
  box-shadow: inset 0 -2px #146ef5;
}

/* Button border radius */
.fern-header .fern-button:not(.disabled).minimal {
  border-radius: 0px;
}

body#fern-docs .fern-header-content .fern-button:not(.disabled).minimal {
  border-radius: 0px;
}

/* Active button styling */
.fern-button-group .active {
  background-color: transparent !important;
}

/* Theme button spacing */
.fern-theme-button {
  margin-left: 10px;
}

body#fern-docs .fern-header-content .fern-button:has(svg) {
  margin-left: 10px;
  border-radius: 0px !important;
  box-shadow: none !important;
}

body#fern-docs .fern-header-content .fern-button:has(svg):hover {
  box-shadow: inset 0 -2px #146ef5 !important;
  background-color: rgba(var(--accent), 15%) !important;
}
body#fern-docs .fern-header-content .fern-button:has(svg):focus-visible {
  box-shadow: inset 0 -2px #146ef5 !important;
  background-color: rgba(var(--accent), 15%) !important;
}

/* Adjacent button styling */
.fern-theme-button + .fern-button {
  background-color: transparent !important;
  height: 67px !important;
  border-radius: 0px !important;
  box-shadow: none !important;
}

.fern-theme-button + .fern-button + .fern-button {
  background-color: transparent !important;
  height: 67px !important;
  border-radius: 0px !important;
  box-shadow: none !important;
}

.fern-theme-button + .fern-button svg {
  display: block !important;
}

.fern-theme-button + .fern-button + .fern-button svg {
  display: block !important;
}

/* Sidebar tabs spacing */
.fern-sidebar-tabs {
  margin-top: 1.5rem;
  margin-bottom: 0.25rem;
}

/* Active tab highlight */
body#fern-docs .fern-header-tabs a[aria-selected="true"] span {
  color: #146ef5;
}

.fern-header-tab-button[data-state="active"] span {
  color: #146ef5;
}

/* Responsive adjustments */
@media screen and (max-width: 480px) {

  .fern-header-content {
    gap: 0.5rem !important;
  }

  button[data-testid="version-dropdown"] {
    width: 100px;
  }

  .fern-logo-container {
    flex-shrink: 1;
    max-width: 150px;
  }

  body#fern-docs .fern-header-logo-container > div > a {
    flex-shrink: 1;
    max-width: 150px;
  }

  .fern-header-content > div > div > div > div > div {

    width: 30px;
    overflow: hidden;

    > a {
      width: 240px;
    }
  
}

}

@media screen and (max-width: 375px) {

  .fern-header-content {
    gap: 0.1rem !important;
  }

  button[data-testid="version-dropdown"] {
    width: 80px;
  }

  .fern-logo-container {
    flex-shrink: 1;
    max-width: 100px;
  }

  body#fern-docs .fern-header-logo-container > div > a {
    flex-shrink: 1;
    max-width: 100px;
  }

}

/* Product Dropdown Styling */
.fern-dropdown[data-testid="product-dropdown-content"] {
  max-width: 600px;
  margin: 0 auto;
  padding: 0;
}

.fern-scroll-area-viewport.p-1 {
  overflow: auto;
}

.fern-dropdown[data-testid="product-dropdown-content"] > div > div.fern-scroll-area-viewport.p-1 > div > div {
  display: block !important;
  min-width: unset !important;
}

/* Announcement banner */
#fern-announcement {
  padding: .5em;
}

@media screen and (max-width: 480px) {

  .fern-dropdown[data-testid="product-dropdown-content"]{
    max-width: calc(100vw - 32px);
    max-height: 70vh !important;
    min-height: 400px !important;
  }
  .fern-dropdown[data-testid="product-dropdown-content"] .custom-nav-card{
    width: 100%;
  }

}

/* --- Product switcher grid --- */
@media screen and (min-width: 1024px) {

  .fern-product-selector-radio-group {
    display: block !important; /* Override grid to allow child to control layout */
    gap: unset; /* Remove gap */
  }

}

/* Custom Navigation Styling */
.custom-nav-container {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 16px 0px;
  max-width: 800px;
  margin: 0 auto;
  width: calc(100% - 32px);
}

.custom-nav-category-section {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.custom-nav-category-section h3 {
  font-size: 12px;
  font-weight: 700;
  color: #898989;
  margin: 0 0 8px 0;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.custom-nav-card-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.custom-nav-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
  background-color: #FFFFFF;
  border: 1px solid #E6E6E6;
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
  transition: all 0.2s ease-in-out;
  width: 250px;
  flex-shrink: 0;
}

.custom-nav-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  border-color: #146EF5;
}
.custom-nav-card:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  border-color: #146EF5;
}

.custom-nav-icon {

  flex-shrink: 0;
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;

  svg {
    width: 40px;
    height: 40px;
  }

}

.custom-nav-card-text-content {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.custom-nav-card h4 {
  font-size: 14px;
  font-weight: 500;
  color: #080808;
  margin: 0;
}

.custom-nav-card:hover h4 {
  color: #146EF5;
}
.custom-nav-card:focus-within h4 {
  color: #146EF5;
}

.custom-nav-card p {
  font-size: 12px;
  color: #5A5A5A;
  margin: 0;
  line-height: 1.4;
}

/* Responsive adjustments */
@media (max-width: 768px) {

  .custom-nav-category-section h3 {
    padding: 0 16px;
  }
  .custom-nav-card {
    padding: 12px 16px;
  }

}

