/* The showcase uses the approved editorial draft; legacy product layouts retain the theme. */
.asg-store:has(.product-showcase__hero) .container { max-width: 1240px; padding-inline: 28px; }
.asg-store :is(.product-showcase__hero,.product-showcase__details) { font: 16px/1.65 var(--asg-font, 'DM Sans', sans-serif); color: #edf3fa; }
.asg-store :is(.product-showcase__hero,.product-showcase__details) :is(h1,h2,h3) { font-family: var(--asg-heading-font, 'Space Grotesk', sans-serif); font-weight: 700; line-height: 1.15; letter-spacing: -.035em; color: #edf3fa; }
.asg-store .product-showcase__hero { scroll-margin-top: 90px; display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: 56px; padding: 42px 0 54px; align-items: start; }
.asg-store :is(.product-showcase__intro,.product-showcase__purchase) { min-width: 0; }
.asg-store .product-showcase__intro > h1 { font-size: 76px; line-height: 1; margin: 18px 0 20px; }
.asg-store .product-showcase__intro > h1 span { font-size: 22px; letter-spacing: -.02em; display: block; color: #bac6d4; margin-top: 13px; }
.asg-store .product-showcase__eyebrow { display: block; font-size: 12px; line-height: 1.65; letter-spacing: .15em; font-weight: 700; color: #71d1f4; text-transform: uppercase; margin: 0; }
.asg-store .product-showcase__lead { font-size: 22px; line-height: 1.45; max-width: 550px; color: #d0dcea; margin: 0 0 25px; }
.asg-store .product-showcase__release { display: flex; align-items: center; gap: 9px; font-size: 12px; color: #bbb4e3; margin: 0 0 10px; }
.asg-store .product-showcase__release::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #b29bff; flex: none; }
.asg-store .product-showcase__badges { display: flex; gap: 12px; flex-wrap: wrap; margin: 20px 0; }
.asg-store .product-showcase__badges span { font-size: 12px; color: #c5d5e7; background: #121b26; border: 1px solid #293645; padding: 6px 10px; border-radius: 5px; }
.asg-store .product-showcase__setup-link { display: inline-flex; padding: 12px 20px; border: 1px solid #293645; border-radius: 9px; font-weight: 700; line-height: 1.4; color: #edf3fa; background: #121b26; text-decoration: none; }
.asg-store .product-showcase__setup-link:hover { background: #182331; }
.asg-store .product-showcase__intro .product-detail__media { display: block; width: 100%; aspect-ratio: 1.6; overflow: hidden; border: 1px solid #39445b; border-radius: 12px; margin: 30px 0 0; background: #0b1017; box-shadow: none; }
.asg-store .product-showcase__intro .product-detail__media :is(img,picture) { display: block; width: 100%; height: 100%; object-fit: cover; }
.asg-store .product-showcase__purchase .buy-card { background: #121b26; border: 1px solid #344252; border-radius: 18px; padding: 28px; box-shadow: 0 20px 70px #0003; position: static; }
.asg-store .product-showcase__purchase .product-detail__title { margin: 10px 0 6px; font-size: 27px; }
.asg-store .product-showcase__purchase-intro { font-size: 14px; color: #a2afbf; margin: 0 0 18px; }
.asg-store .product-showcase__purchase .variant-options { display: grid; gap: 9px; margin: 24px 0 20px; padding: 0; min-width: 0; border: 0; }
.asg-store .product-showcase__purchase .variant-options__legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.asg-store .product-showcase__purchase .variant-option { display: flex; gap: 12px; align-items: center; margin: 0; padding: 14px 15px; line-height: 1.4; background: #0f1823; border: 1px solid #293645; border-radius: 9px; min-height: 0; box-shadow: none; }
.asg-store .product-showcase__purchase .variant-option.is-selected { background: #1c3544; border-color: #71d1f4; }
.asg-store .product-showcase__purchase .variant-option__radio { appearance: none; width: 13px; height: 13px; margin: 0; border: 1px solid #6e8298; border-radius: 50%; flex: none; background: transparent; }
.asg-store .product-showcase__purchase .variant-option__radio:checked { background: #71d1f4; border: 3px solid #1f3f52; }
.asg-store .product-showcase__purchase .variant-option__radio:focus-visible { outline: 3px solid #71d1f4; outline-offset: 4px; }
.asg-store .product-showcase__purchase .variant-option__body { flex: 1; min-width: 0; }
.asg-store .product-showcase__purchase .variant-option__name { font-size: 14px; font-weight: 600; color: #edf3fa; }
.asg-store .product-showcase__purchase .variant-option__trial { display: block; font-size: 11px; font-weight: 400; color: #a2afbf; margin-top: 3px; }
.asg-store .product-showcase__purchase .variant-option__price { font: 700 19px/1.4 var(--asg-heading-font, 'Space Grotesk', sans-serif); color: #edf3fa; white-space: nowrap; }
.asg-store .product-showcase__purchase .price-block { font: 400 43px/1.65 var(--asg-heading-font, 'Space Grotesk', sans-serif); letter-spacing: -.05em; margin: 16px 0 0; gap: 7px; }
.asg-store .product-showcase__purchase .price-block__amount { font: inherit; color: #edf3fa; }
.asg-store .product-showcase__purchase .price-block__interval { font: 400 14px/1.65 var(--asg-font, 'DM Sans', sans-serif); color: #a2afbf; letter-spacing: 0; }
.asg-store .product-showcase__purchase .buy-card__selection-note { font-size: 12px; color: #a2afbf; min-height: 38px; margin: 0 0 18px; }
.asg-store .product-showcase__purchase :is(.btn-asg,.btn-asg-outline) { width: 100%; background: #71d1f4; border: 1px solid #71d1f4; color: #082333; padding: 12px 20px; font: 700 16px/1.4 var(--asg-font, 'DM Sans', sans-serif); border-radius: 9px; box-shadow: none; min-height: 48px; margin-top: 0 !important; }
.asg-store .product-showcase__purchase :is(.btn-asg,.btn-asg-outline):hover { background: #a0e0fa; }
.asg-store .product-showcase__purchase [hidden] { display: none !important; }
.asg-store .product-showcase__purchase .feature-list { border-top: 1px solid #293645; margin: 23px 0 0; padding: 20px 0 0; }
.asg-store .product-showcase__purchase .feature-list ul { list-style: none; padding: 0; margin: 0; }
.asg-store .product-showcase__purchase .feature-list li { display: block; position: relative; font-size: 13px; color: #c6d4e4; line-height: 1.65; padding-left: 22px; margin: 9px 0; }
.asg-store .product-showcase__purchase .feature-list li::before { content: '✓'; position: absolute; left: 0; top: 0; color: #71d1f4; background: none; mask: none; width: auto; height: auto; }
.asg-store .product-showcase__purchase-foot { font-size: 11px; color: #a2afbf; margin: 20px 0 0; line-height: 1.65; }
.asg-store .product-showcase__purchase-foot strong { color: #edf3fa; }
.asg-store .product-showcase__nav { display: flex; gap: 28px; flex-wrap: wrap; padding: 18px 0; border-block: 1px solid #293645; font-size: 13px; }
.asg-store .product-showcase__nav a { color: #becbdb; font-weight: 400; }
.asg-store .product-showcase__section { padding: 64px 0; border-bottom: 1px solid #293645; scroll-margin-top: 100px; min-width: 0; }
.asg-store .product-showcase__section-heading { max-width: 720px; margin-bottom: 32px; }
.asg-store .product-showcase__section-heading h2 { font-size: 40px; margin: 12px 0 18px; white-space: pre-line; }
.asg-store .product-showcase__section-heading > p:not(.product-showcase__eyebrow) { font-size: 17px; color: #a2afbf; margin: 0 0 18px; }
.asg-store .product-showcase__inline-note { font-size: 13px; color: #a2afbf; white-space: pre-line; }
.asg-store .product-showcase__legend-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 50px; }
.asg-store .product-showcase__highlights { min-width: 0; }
.asg-store .product-showcase__highlights .feature-explorer__tabs { margin-top: 0; }
.asg-store .product-showcase__highlights .feature-explorer__panel { margin: 0; min-height: 330px; }
.asg-store .product-showcase__features { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; border: 1px solid #293645; background: #293645; border-radius: 12px; overflow: hidden; }
.asg-store .product-showcase__feature { background: #121b26; padding: 28px; }
.asg-store .product-showcase__number { color: #718ba4; font: 400 12px/1.65 var(--asg-heading-font, 'Space Grotesk', sans-serif); display: block; margin-bottom: 22px; }
.asg-store .product-showcase__feature h3 { font-size: 21px; margin: 0 0 12px; }
.asg-store .product-showcase__feature p { color: #a2afbf; font-size: 14px; margin: 0; }
.asg-store .product-showcase__section .prose { max-width: none; line-height: 1.65; color: #bac6d4; overflow-wrap: anywhere; }
.asg-store .product-showcase__section .prose p { margin: 0 0 18px; }
.asg-store .product-showcase__section table { display: table; width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.55; margin: 22px 0; }
.asg-store .product-showcase__section :is(td,th) { padding: 14px 16px; border: 0; border-bottom: 1px solid #293645; text-align: left; vertical-align: top; }
.asg-store .product-showcase__section th { color: #c7d5e4; background: #121b26; font-size: 12px; }
.asg-store .product-showcase__section td:first-child { color: #edf3fa; font-weight: 600; width: 25%; }
.asg-store .product-showcase__setup ol.guide-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 26px; margin: 0 0 30px; }
.asg-store .product-showcase__setup ol.guide-steps > li { padding: 0; color: #a2afbf; font-size: 14px; line-height: 1.65; }
.asg-store .product-showcase__setup ol.guide-steps > li::before { position: static; display: block; font: 500 38px/1 var(--asg-heading-font, 'Space Grotesk', sans-serif); color: #355169; margin-bottom: 18px; }
.asg-store .product-showcase__setup li > strong { display: block; color: #edf3fa; font: 700 20px/1.15 var(--asg-heading-font, 'Space Grotesk', sans-serif); margin-bottom: 12px; }
.asg-store .product-showcase__setup > p { font-size: 13px; color: #a2afbf; }
.asg-store .product-showcase__faq-grid { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); gap: 80px; }
.asg-store .product-showcase__faq details { border-top: 1px solid #293645; }
.asg-store .product-showcase__faq details:last-child { border-bottom: 1px solid #293645; }
.asg-store .product-showcase__faq summary, .asg-store .product-showcase__overview > summary { list-style: none; cursor: pointer; padding: 18px 34px 18px 0; position: relative; font-weight: 600; }
.asg-store .product-showcase__faq summary::after { content: '+'; position: absolute; right: 6px; top: 16px; color: #71d1f4; font-size: 22px; }
.asg-store .product-showcase__faq details[open] > summary::after { content: '−'; }
.asg-store .product-showcase__faq summary::-webkit-details-marker { display: none; }
.asg-store .product-showcase__faq p { color: #a2afbf; font-size: 14px; padding: 0 30px 18px 0; margin: 0; }
.asg-store .product-showcase__overview { border-bottom: 1px solid #293645; font-size: 14px; color: #a2afbf; }
@media(max-width:1150px) { .asg-store .product-showcase__hero { gap: 30px; } .asg-store .product-showcase__intro > h1 { font-size: 66px; } .asg-store .product-showcase__purchase .buy-card { padding: 24px; } .asg-store .product-showcase__setup ol.guide-steps { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; } }
@media(max-width:800px) {
  .asg-store:has(.product-showcase__hero) .container { padding-inline: 20px; }
  .asg-store .product-showcase__hero { grid-template-columns: minmax(0,1fr); padding: 24px 0 40px; gap: 25px; }
  .asg-store .product-showcase__intro > h1 { font-size: 70px; }
  .asg-store .product-showcase__lead { font-size: 21px; }
  .asg-store .product-showcase__intro .product-detail__media { max-height: 330px; margin-top: 24px; }
  .asg-store .product-showcase__nav { gap: 16px; font-size: 12px; }
  .asg-store .product-showcase__section { padding: 43px 0; }
  .asg-store .product-showcase__section-heading h2 { font-size: 32px; }
  .asg-store :is(.product-showcase__legend-grid,.product-showcase__faq-grid) { grid-template-columns: minmax(0,1fr); gap: 25px; }
  .asg-store :is(.product-showcase__legend-grid,.product-showcase__faq-grid) .product-showcase__section-heading { margin: 0; }
  .asg-store .product-showcase__highlights .feature-explorer__panel { min-height: 0; }
  .asg-store .product-showcase__features { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .asg-store .product-showcase__feature { padding: 24px; }
  .asg-store .product-showcase__number { margin-bottom: 15px; }
  .asg-store .product-showcase__feature h3 { font-size: 20px; }
  .asg-store .product-showcase__section :is(td,th) { padding: 12px; }
}
@media(max-width:430px) {
  .asg-store .product-showcase__intro > h1 { font-size: 62px; }
  .asg-store .product-showcase__intro > h1 span { font-size: 18px; }
  .asg-store .product-showcase__features, .asg-store .product-showcase__setup ol.guide-steps { grid-template-columns: minmax(0,1fr); }
  .asg-store .product-showcase__purchase .buy-card { padding: 21px; }
  .asg-store .product-showcase__purchase .price-block { font-size: 38px; }
}
.asg-store :is(.product-showcase__hero,.product-showcase__details) .asg-doc__heading-anchor { position: absolute; right: 0; top: 0; }
.asg-store .product-showcase__purchase .feature-list li { padding-block: 0; }
.asg-store:has(.product-showcase__hero) .asg-mediatext { font-family: var(--asg-font, 'DM Sans', sans-serif); gap: 38px; }
.asg-store:has(.product-showcase__hero) .asg-mediatext__title { font: 700 34px/1.15 var(--asg-heading-font, 'Space Grotesk', sans-serif); letter-spacing: -.035em; }
.asg-store:has(.product-showcase__hero) .asg-mediatext__body { font-size: 17px; }
.asg-store:has(.product-showcase__hero) .cta-band { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px 30px; text-align: left; padding: 0; background: none; border: 0; box-shadow: none; font: 16px/1.65 var(--asg-font, 'DM Sans', sans-serif); }
.asg-store:has(.product-showcase__hero) .cta-band > h2 { font: 700 32px/1.15 var(--asg-heading-font, 'Space Grotesk', sans-serif); letter-spacing: -.035em; margin: 0; }
.asg-store:has(.product-showcase__hero) .cta-band > p { grid-column: 1; margin: 0; color: #a2afbf; }
.asg-store:has(.product-showcase__hero) .cta-band > .hero__actions { grid-column: 2; grid-row: 1 / span 2; align-self: center; margin: 0; }
.asg-store:has(.product-showcase__hero) .cta-band .btn-asg { background: #71d1f4; color: #082333; box-shadow: none; }
@media(max-width:800px) { .asg-store:has(.product-showcase__hero) .cta-band { display: block; } .asg-store:has(.product-showcase__hero) .cta-band > p { margin: 12px 0 20px; } .asg-store:has(.product-showcase__hero) .cta-band > .hero__actions { justify-content: flex-start; } }

/* The editor preview shares the admin viewport. Reflow against its actual canvas width,
   using the storefront breakpoints above, without changing the live product page. */
#pb-preview.asg-store:has(.product-showcase__hero) { container: asg-product-preview / inline-size; }
@container asg-product-preview (max-width: 1150px) {
  #pb-preview.asg-store .product-showcase__hero { gap: 30px; }
  #pb-preview.asg-store .product-showcase__intro > h1 { font-size: 66px; }
  #pb-preview.asg-store .product-showcase__purchase .buy-card { padding: 24px; }
  #pb-preview.asg-store .product-showcase__setup ol.guide-steps { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; }
}
@container asg-product-preview (max-width: 800px) {
  #pb-preview.asg-store .theme-preview-frame .container { padding-inline: 20px; }
  #pb-preview.asg-store .product-showcase__hero { grid-template-columns: minmax(0,1fr); padding: 24px 0 40px; gap: 25px; }
  #pb-preview.asg-store .product-showcase__intro > h1 { font-size: 70px; }
  #pb-preview.asg-store .product-showcase__lead { font-size: 21px; }
  #pb-preview.asg-store .product-showcase__intro .product-detail__media { max-height: 330px; margin-top: 24px; }
  #pb-preview.asg-store .product-showcase__nav { gap: 16px; font-size: 12px; }
  #pb-preview.asg-store .product-showcase__section { padding: 43px 0; }
  #pb-preview.asg-store .product-showcase__section-heading h2 { font-size: 32px; }
  #pb-preview.asg-store :is(.product-showcase__legend-grid,.product-showcase__faq-grid) { grid-template-columns: minmax(0,1fr); gap: 25px; }
  #pb-preview.asg-store :is(.product-showcase__legend-grid,.product-showcase__faq-grid) .product-showcase__section-heading { margin: 0; }
  #pb-preview.asg-store .product-showcase__highlights .feature-explorer__panel { min-height: 0; }
  #pb-preview.asg-store .product-showcase__features { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #pb-preview.asg-store .product-showcase__feature { padding: 24px; }
  #pb-preview.asg-store .product-showcase__number { margin-bottom: 15px; }
  #pb-preview.asg-store .product-showcase__feature h3 { font-size: 20px; }
  #pb-preview.asg-store .product-showcase__section :is(td,th) { padding: 12px; }
  #pb-preview.asg-store .asg-mediatext { grid-template-columns: minmax(0,1fr); }
  #pb-preview.asg-store .asg-mediatext--right .asg-mediatext__media { order: 0; }
  #pb-preview.asg-store .cta-band { display: block; }
  #pb-preview.asg-store .cta-band > p { margin: 12px 0 20px; }
  #pb-preview.asg-store .cta-band > .hero__actions { justify-content: flex-start; }
}
@container asg-product-preview (max-width: 430px) {
  #pb-preview.asg-store .product-showcase__intro > h1 { font-size: 62px; }
  #pb-preview.asg-store .product-showcase__intro > h1 span { font-size: 18px; }
  #pb-preview.asg-store .product-showcase__features,
  #pb-preview.asg-store .product-showcase__setup ol.guide-steps { grid-template-columns: minmax(0,1fr); }
  #pb-preview.asg-store .product-showcase__purchase .buy-card { padding: 21px; }
  #pb-preview.asg-store .product-showcase__purchase .price-block { font-size: 38px; }
}
