/* Keep the video and its product information together on desktop. */
@media (min-width: 761px) {
  body.theme-flow.store-page.view-grid .flow-main > [data-flow-feed] .video-tools {
    top: auto;
    right: 14px;
    bottom: 18px;
    transform: none;
    flex-direction: column;
    gap: 8px;
  }
  body.theme-flow.store-page.view-grid .flow-main > [data-flow-feed] .video-tools [data-share] { display: none; }
  body.theme-flow.store-page.view-grid .flow-main > [data-flow-feed] .video-tools :is(button, a) { width: 42px; height: 42px; padding: 10px; }
  body.theme-flow.store-page.view-grid .flow-main > [data-flow-feed] .video-tools .reel-icon { width: 22px; height: 22px; }
  body.theme-flow.store-page.view-grid .flow-main > [data-flow-feed] > .product-card .card-info { right: 74px; bottom: 24px; }
  body.theme-flow.store-page.view-grid .flow-main > [data-flow-feed] > .product-card h3 { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
  body.theme-flow.store-page.view-grid .flow-main > [data-flow-feed] .card-info .price-line { font-size: 20px !important; line-height: 1.2; }
  body.theme-flow.store-page.view-grid .flow-main > [data-flow-feed] .price-line strong { font-size: inherit; font-weight: 650; letter-spacing: -.02em; }
}
@media (min-width: 761px) and (max-width: 1120px) {
  body.theme-flow.store-page.view-grid .flow-main > [data-flow-feed] .video-tools { right: 12px; }
  body.theme-flow.store-page.view-grid .flow-main > [data-flow-feed] .video-tools :is(button, a) { width: 36px; height: 36px; padding: 8px; }
  body.theme-flow.store-page.view-grid .flow-main > [data-flow-feed] .video-tools .reel-icon { width: 20px; height: 20px; }
  body.theme-flow.store-page.view-grid .flow-main > [data-flow-feed] > .product-card .card-info { left: 8px; right: 62px; grid-template-columns: minmax(0, 1fr) max-content; column-gap: 5px !important; }
  body.theme-flow.store-page.view-grid .flow-main > [data-flow-feed] > .product-card h3 { font-size: 17px; }
  body.theme-flow.store-page.view-grid .flow-main > [data-flow-feed] .card-info .price-line { font-size: 16px !important; }
  body.theme-flow.store-page.view-grid .flow-main > [data-flow-feed] .price-line strong { max-width: 100%; overflow-wrap: anywhere; }
  body.theme-flow.store-page.view-grid .flow-main > [data-flow-feed] .price-line :is(.from-price, del) { font-size: 11px; }
  body.theme-flow.store-page.view-grid .flow-main > [data-flow-feed] .buy-button { width: max-content; padding: 9px 3px !important; gap: 3px; font-size: 11px; }
  body.theme-flow.store-page.view-grid .flow-main > [data-flow-feed] .buy-button .reel-icon { width: 12px; height: 12px; }
}
@media (min-width: 1121px) and (max-width: 1240px) {
  body.theme-flow.store-page.view-grid .flow-main > [data-flow-feed] .buy-button { padding: 10px 8px !important; gap: 6px; font-size: 12px; }
  body.theme-flow.store-page.view-grid .flow-main > [data-flow-feed] .buy-button .reel-icon { width: 16px; height: 16px; }
}
@media (min-width: 761px) {
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-container {
    --desktop-feed-height: clamp(360px, calc(100dvh - var(--flow-head) - 106px), 900px);
    --desktop-media-width: calc(var(--desktop-feed-height) * 9 / 16);
    max-width: 1480px;
    padding: 24px clamp(20px, 2.4vw, 36px) 18px;
  }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-layout {
    grid-template-columns: 190px minmax(280px, var(--desktop-media-width)) minmax(320px, 580px);
    justify-content: center;
    gap: clamp(24px, 2.8vw, 42px);
  }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-main > [data-flow-feed] {
    --feed-height: var(--desktop-feed-height);
    width: 100%;
    max-width: var(--desktop-media-width);
    height: auto;
    aspect-ratio: 9 / 16;
    min-height: 0;
    margin-left: auto;
    margin-right: 0;
  }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-toolbar {
    height: 48px;
    min-height: 48px;
    flex-wrap: nowrap;
    gap: 8px;
  }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-toolbar > .sort-form { flex: 1 1 0; }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-toolbar .sort-form > :is(.ui-select, select:not(.ui-select-native)) { width: 100%; min-width: 0; max-width: 190px !important; }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-layout-switch { flex: 0 0 auto; }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-main .video-tools {
    top: auto;
    right: 14px;
    bottom: 18px;
    transform: none;
    gap: 8px;
  }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-main .video-tools [data-share] { display: none; }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-main > [data-flow-feed] > .product-card .card-info { right: 74px; bottom: 24px; }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-main > [data-flow-feed] > .product-card .card-copy { min-width: 0; width: 100%; }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-main > [data-flow-feed] > .product-card h3 { max-width: 100%; margin-bottom: 0; }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-detail {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto minmax(0, 1fr);
    align-content: start;
    gap: 24px 20px;
    width: 100%;
    height: var(--desktop-feed-height);
    min-height: 0;
    max-height: none;
    margin-top: var(--flow-content-offset, 64px);
    padding: 0;
    top: calc(var(--flow-head) + 24px);
    overflow: visible;
  }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-detail > h2 {
    grid-column: 1 / -1;
    display: block;
    max-height: none;
    margin: 0;
    font-size: clamp(26px, 2.25vw, 36px);
    font-weight: 650;
    line-height: 1.2;
    letter-spacing: -.035em;
    overflow: visible;
    overflow-wrap: anywhere;
    text-wrap: pretty;
    -webkit-line-clamp: unset;
  }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-purchase {
    grid-column: 1 / -1;
    grid-row: 2;
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
    padding: 16px 18px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--surface);
    box-shadow: 0 5px 20px #00000004;
  }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-price {
    align-self: center;
    justify-content: center;
    max-width: 100%;
    margin: 0;
    min-width: 0;
    gap: 4px 8px;
    flex-wrap: wrap;
    white-space: normal;
    overflow: visible;
    line-height: 1.2;
  }
  .theme-flow .flow-price-caption { color: var(--muted); font-size: 12px; font-weight: 500; line-height: 1.4; }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-price strong { font-size: clamp(28px, 2.2vw, 34px); font-weight: 650; letter-spacing: -.025em; overflow-wrap: anywhere; }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-buy { width: 100%; min-width: 0; min-height: 54px; margin: 0; font-size: 15px; font-weight: 650; text-transform: none; border-radius: 12px; }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-description-preview {
    grid-column: 1 / -1;
    grid-row: 3;
    grid-template-rows: minmax(0, 1fr);
    gap: 0;
    margin-top: 4px;
    padding-top: 24px;
  }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-description-excerpt {
    height: auto;
    align-self: stretch;
    min-height: 0;
    max-height: none;
    font-size: 16px;
    line-height: 1.75;
    overflow-y: auto;
    padding-right: 12px;
  }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-description-excerpt :is(p, ul, ol) { margin-top: 0; margin-bottom: 16px; }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-description-excerpt > :last-child { margin-bottom: 0; }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-description-excerpt :is(h2, h3, h4) { font-size: 17px; line-height: 1.45; margin: 20px 0 12px; }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-description-excerpt > :first-child { margin-top: 0; }
}
@media (min-width: 901px) and (max-width: 1120px) {
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-layout { grid-template-columns: 150px minmax(280px, var(--desktop-media-width)) minmax(320px, 580px); }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-rail :is(.flow-discovery, .flow-categories) > a { gap: 8px; padding-inline: 8px; font-size: 13px; }
}
@media (min-width: 761px) and (max-width: 900px) {
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-layout { grid-template-columns: minmax(280px, var(--desktop-media-width)) minmax(320px, 1fr); }
}
@media (min-width: 761px) and (max-height: 700px) {
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-main .video-tools { gap: 8px; }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-main .video-tools :is(button, a) { width: 36px; height: 36px; padding: 8px; }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-main .video-tools .reel-icon { width: 20px; height: 20px; }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-main > [data-flow-feed] > .product-card h3 { font-size: 20px; line-height: 1.22; margin-bottom: 0; }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-detail { row-gap: 16px; }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-detail > h2 { font-size: 26px; }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-description-preview { padding-top: 16px; }
  .theme-flow.store-page:not(.view-grid):is(.view-single, [data-columns="1"]) .flow-description-excerpt { font-size: 15px; }
}
