
  .image-frame.svelte-en5zvf {
    margin: 0;
  }

  .image-button.svelte-en5zvf {
    border: 0;
    background-color: transparent;
    color: var(--vats-text);
    display: flex;
    justify-content: center;
  }

  .image-shell.svelte-en5zvf picture {
    display: contents;
  }

  .image-shell.svelte-en5zvf {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    width: var(--vats-book-image-width);
    height: var(--vats-book-image-height);
    max-width: var(--vats-book-image-max-width, none);
    max-height: var(--vats-book-image-max-height, none);
  }

  .image-shell.svelte-en5zvf img {
    display: block;
    cursor: pointer;
    width: auto;
    height: auto;
    max-width: var(--vats-book-image-max-size);
    max-height: var(--vats-book-image-max-size);
    object-fit: contain;
  }

  .image-shell.enhanced.svelte-en5zvf img {
    width: 100%;
  }

  .image-shell.svelte-en5zvf img:hover {
    opacity: 0.8;
  }

  .image-shell.bordered.svelte-en5zvf img {
    border: 1px solid hsl(from var(--vats-text) h s l / 50%);
    box-shadow: 0 2px 6px hsl(from var(--vats-text) h s l / 20%);
    border-radius: 2rem;
  }

  .image-shell.bordered.svelte-en5zvf img:hover {
    border-color: var(--vats-coloredtext);
    box-shadow: 0 2px 6px hsl(from var(--vats-text) h s l / 60%);
  }

  figcaption.svelte-en5zvf {
    font-size: var(--vats-text-s);
    font-style: italic;
    font-weight: 600;
    color: var(--vats-coloredtext);
    padding: 0.1rem 0;
    border: 0;
    margin-top: 1rem;
  }

  .carousel.svelte-1t7xx88 {
    display: flex;
    --vats-book-carousel-spacing-top: 0rem;
    --vats-book-carousel-spacing-bottom: 0rem;
    padding: var(--vats-book-carousel-spacing-top) 0 var(--vats-book-carousel-spacing-bottom);
    margin-left: var(--vats-book-leftparaindent);
    width: calc(100% - var(--vats-book-leftparaindent));
    height: max-content;
    margin-bottom: 3rem;

    .grid:where(.svelte-1t7xx88) {
      display: grid;
      position: relative;
      width: max-content;
      height: max-content;
      grid-template-columns: 3rem 10fr 3rem;
      grid-template-rows: auto auto;
      row-gap: 0.75rem;
    }

    .slider:where(.svelte-1t7xx88) {
      grid-column: 2 / 3;
      grid-row: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      max-width: max-content;
    }

    ul:where(.svelte-1t7xx88) {
      list-style: none;
      display: flex;
      width: var(--vats-book-carousel-width);
      overflow-x: hidden;
      overflow-y: hidden;
      scroll-snap-type: x mandatory;

      li:where(.svelte-1t7xx88) {
        flex-shrink: 0;
        width: 100%;
        scroll-snap-align: center;

        div:where(.svelte-1t7xx88) {
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
        }
      }
    }

    .nav-arrows:where(.svelte-1t7xx88) {
      grid-row: 1;
      grid-column: 1 / 4;
      z-index: 1;
      display: flex;
      justify-content: space-between;
      align-items: center;
      opacity: 0.5;

      button:where(.svelte-1t7xx88) {
        cursor: pointer;
        border: none;
        background-color: transparent;
        color: var(--vats-text);
        font-size: 3rem;
      }

      button:where(.svelte-1t7xx88):disabled {
        cursor: default;
        opacity: 0.25;
      }
    }

    .nav-center:where(.svelte-1t7xx88) {
      grid-row: 2;
      grid-column: 2 / 3;
      display: flex;
      flex-direction: column;
      align-items: center;

      .dots:where(.svelte-1t7xx88) {
        display: flex;
        gap: 0.2rem;

        button:where(.svelte-1t7xx88) {
          cursor: pointer;
          border: none;
          background-color: transparent;
          color: var(--vats-text);
        }

        button[aria-current='true']:where(.svelte-1t7xx88) {
          cursor: default;
        }
      }
    }

    .nav-arrows:where(.svelte-1t7xx88):hover {
      opacity: 1;
    }
  }

  .zoom-button.svelte-1t7xx88 {
    grid-row: 1 / 2;
    grid-column: 2 / 3;
    z-index: 5;
    border: 0;
    background-color: transparent;
    color: var(--vats-text);
  }

  .caption.svelte-1t7xx88 {
    font-size: var(--vats-text-s);
    font-style: italic;
    font-weight: 600;
    color: var(--vats-coloredtext);
    padding: 0.1rem 0;
    border: 0;
    text-align: center;
  }

  .spacing-top.svelte-1t7xx88 {
    --vats-book-carousel-spacing-top: 2rem;
  }

  .spacing-bottom.svelte-1t7xx88 {
    --vats-book-carousel-spacing-bottom: 1rem;
  }

  .center.svelte-1t7xx88 {
    justify-content: center;
  }

  .left.svelte-1t7xx88 {
    justify-content: left;
  }

  .right.svelte-1t7xx88 {
    justify-content: right;
  }

  .float.svelte-3qxgcx,
  .sidebyside.svelte-3qxgcx {
    display: flex;
    --vats-book-image-spacing-top: 0rem;
    --vats-book-image-spacing-bottom: 0rem;
    padding: var(--vats-book-image-spacing-top) 0 calc(0.5rem + var(--vats-book-image-spacing-bottom));
    margin-left: var(--vats-book-leftparaindent);
    width: calc(100% - var(--vats-book-leftparaindent));
    height: max-content;
    margin-bottom: 3rem;
  }

  .float.svelte-3qxgcx {
    float: right;
    max-width: max-content;
    margin-left: var(--vats-book-leftparaindent);

    & > div:where(.svelte-3qxgcx) {
      width: auto;
    }
  }

  .sidebyside.svelte-3qxgcx {
    flex-direction: row;
    gap: 2rem;
    flex-wrap: wrap;
    padding-top: calc(1.5rem + var(--vats-book-image-spacing-top));
  }

  .spacing-top.svelte-3qxgcx {
    --vats-book-image-spacing-top: 2rem;
  }

  .spacing-bottom.svelte-3qxgcx {
    --vats-book-image-spacing-bottom: 1rem;
  }

  .center.svelte-3qxgcx {
    justify-content: center;
  }

  .left.svelte-3qxgcx {
    justify-content: left;
  }

  .right.svelte-3qxgcx {
    justify-content: right;
  }

  @media (max-width: 600px) {
    .float.svelte-3qxgcx {
      float: none;
      justify-content: left;
    }
  }
