/* Product detail composition; the shop's existing page width and header are inherited. */
.ascend-product-reference { --product-panel: var(--ascend-surface-2, #1a1a26); --product-line: rgba(196,181,253,.15); }
.ascend-product-reference .ascend-product-breadcrumb { display: flex; align-items: center; gap: .6rem; margin: 0 0 1.15rem; color: var(--ascend-muted, #a19aa9); font-size: .76rem; }
.ascend-product-breadcrumb a { color: inherit; text-decoration: none; }
.ascend-product-breadcrumb [aria-current] { color: var(--ascend-text, #eeeaf5); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ascend-product-reference .ascend-product-single__layout { grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); gap: 1.25rem; align-items: start; margin-bottom: 2rem; }
.ascend-product-reference .ascend-product-single__media,
.ascend-product-reference .ascend-product-single__info { min-width: 0; box-sizing: border-box; border: 1px solid var(--product-line); border-radius: 16px; background: var(--product-panel); }
.ascend-product-reference .ascend-product-single__media { display: block; padding: 1rem; align-self: start; }
/* Keep the checkout's fixed overlay relative to the viewport, outside clipping contexts. */
.ascend-product-reference .ascend-product-single__info { padding: 1.35rem; overflow: visible; transform: none; filter: none; contain: none; }
.ascend-product-reference .ascend-product-single__chips { margin: 0 0 1rem; gap: .55rem; }
.ascend-product-reference .ascend-product-single__title { font-size: clamp(1.75rem,2.5vw,2.15rem); margin: 0 0 1rem; }
.ascend-product-reference .ascend-product-single__excerpt { font-size: .94rem; line-height: 1.8; margin: 0 0 1.75rem; }
.ascend-product-reference .ascend-product-media { display: grid; flex: none; gap: .85rem; min-width: 0; }
/* Let the selected image size its stage. Stretching this to the checkout height
   created large letterbox areas even when the source image had no black bars. */
.ascend-product-reference .ascend-product-media__stage { position: relative; display: block; flex: none; width: 100%; height: auto; min-height: 0; aspect-ratio: auto; border: 0; border-radius: 10px; background: transparent; overflow: hidden; }
.ascend-product-reference .ascend-product-media__slide { position: relative; inset: auto; height: auto; border: 0; border-radius: 0; margin: 0; background: transparent; }
.ascend-product-reference .ascend-product-media__slide .ascend-product-single__image { display: block; width: 100%; height: auto; min-height: 0; max-height: none; aspect-ratio: auto; object-fit: initial; margin: 0; border: 0; border-radius: 0; }
.ascend-product-reference .ascend-showcase__stage { height: 100%; }
.ascend-product-reference .ascend-product-media__thumbnails { display: flex; gap: .65rem; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #514163 transparent; padding: 2px 2px .35rem; }
.ascend-product-reference .ascend-product-media__thumb { position: relative; flex: 0 0 88px; width: 88px; height: 60px; padding: 2px; border: 1px solid var(--product-line); border-radius: 8px; background: transparent; cursor: pointer; opacity: .7; transition: opacity .15s, border-color .15s; }
.ascend-product-reference .ascend-product-media__thumb img { width: 100%; height: 100%; object-fit: cover; border-radius: 4px; display: block; }
.ascend-product-reference .ascend-product-media__thumb[aria-pressed="true"] { border-color: #a78bfa; box-shadow: 0 0 0 1px rgba(167,139,250,.2); opacity: 1; }
.ascend-product-reference .ascend-product-media__thumb:hover { opacity: 1; }
.ascend-product-reference .ascend-product-media__inline-video { flex: none; margin: 1.5rem 0 0; padding: 1.25rem 0 0; border: 0; border-top: 1px solid var(--product-line); border-radius: 0; background: transparent; box-shadow: none; }
.ascend-product-reference .ascend-product-media__inline-video .ascend-showcase__label { display: flex; align-items: center; gap: .5rem; padding: 0; margin: 0 0 .8rem; font-size: .78rem; font-weight: 600; letter-spacing: .02em; color: #c9bfd9; }
.ascend-product-reference .ascend-product-media__inline-video :is(.ascend-showcase__video,.ascend-showcase__stage,.ascend-showcase__frame) { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; margin: 0; border: 0; border-radius: 10px; overflow: hidden; background: #09070e; object-fit: contain; }
.ascend-product-reference .ascend-product-media__inline-video .ascend-showcase__video { aspect-ratio: auto; }
.ascend-product-reference .ascend-product-media__inline-video .ascend-showcase__poster { display: block; width: 100%; height: 100%; object-fit: cover; }
.ascend-product-reference .ascend-product-media__controls { position: absolute; inset: 0; z-index: 2; direction: ltr; pointer-events: none; font-variant-numeric: tabular-nums; }
.ascend-product-reference .ascend-product-media__controls button { position: absolute; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; background: rgba(17,13,27,.78); backdrop-filter: blur(8px); color: #fff; box-shadow: 0 3px 12px rgba(0,0,0,.2); cursor: pointer; pointer-events: auto; transition: background .15s,border-color .15s; }
.ascend-product-reference .ascend-product-media__controls [data-product-prev] { left: 12px; }
.ascend-product-reference .ascend-product-media__controls [data-product-next] { right: 12px; }
.ascend-product-reference .ascend-product-media__controls button:hover { border-color: #c4b5fd; background: rgba(83,52,131,.95); }
.ascend-product-reference .ascend-product-media__count { position: absolute; top: 12px; right: 12px; bottom: auto; left: auto; height: auto; padding: .3rem .65rem; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; background: rgba(17,13,27,.78); color: #f7f3ff; font-size: .72rem; line-height: 1.5; }
.ascend-details .ascend-compatibility-devices { display: flex; flex-wrap: wrap; gap: .8rem; padding: 0; margin: 1.25rem 0 1.5rem; list-style: none; }
.ascend-compatibility-device { display: inline-flex; align-items: center; gap: .75rem; min-height: 66px; max-width: 100%; min-width: 0; padding: .9rem 1.15rem; border: 1px solid rgba(167,139,250,.22); border-radius: 10px; background: rgba(167,139,250,.06); color: #ede7f6; font-size: .9rem; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.ascend-compatibility-device__icon { display: grid; place-items: center; flex: 0 0 32px; color: #bca6ec; }
.ascend-compatibility-device--pc { display: block; flex-basis: 100%; }
.ascend-compatibility-device__heading { display: flex; align-items: center; gap: .75rem; }
.ascend-compatibility-device__inputs { display: flex; flex-wrap: wrap; gap: .65rem; width: 100%; margin: 1rem 0 0; padding: 1rem 0 0; border-top: 1px solid rgba(167,139,250,.16); list-style: none; }
.ascend-compatibility-device__input { display: inline-flex; align-items: center; gap: .65rem; min-height: 52px; max-width: 100%; min-width: 0; box-sizing: border-box; padding: .65rem .85rem; border: 1px solid rgba(167,139,250,.18); border-radius: 8px; background: rgba(167,139,250,.04); font-size: .82rem; }
html[dir="rtl"] .ascend-details :is(.ascend-compatibility-devices, .ascend-compatibility-device__inputs) { padding-inline: 0; }
.ascend-product-reference :is(.ascend-product-media__thumb,.ascend-product-media__controls button,.ascend-product-features-link):focus-visible { outline: 2px solid #c4b5fd; outline-offset: 2px; }
.ascend-product-options .ascend-product-purchase { margin: 0; scroll-margin-top: 7rem; }
.ascend-product-options .ascend-product-single__checkout { display: flex; flex-direction: column; gap: 0; width: 100%; max-width: none; min-width: 0; margin: 0; padding: 0; border: 0; background: transparent; }
.ascend-product-options .acend-buy__options { min-width: 0; max-width: 100%; margin: 0; padding: 0; border: 0; }
.ascend-product-reference .acend-buy__legend { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ascend-product-reference .acend-plans__selected { display: none; }
.ascend-product-options .acend-plans { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); grid-template-columns: none; gap: .5rem; width: 100%; min-width: 0; box-sizing: border-box; margin: 0; padding: .45rem 0 .1rem; }
.ascend-product-options .acend-plan { min-width: 0; }
.ascend-product-options .acend-plans .acend-plan__row { position: relative; display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(2.05rem,auto) auto; align-content: start; align-items: start; gap: .35rem; min-height: 94px; height: 100%; padding: .65rem .6rem 1.1rem; overflow: visible; box-sizing: border-box; border: 1px solid #383342; border-radius: 9px; background: #14131c; box-shadow: none; }
.ascend-product-options .acend-plans .acend-plan__row:hover { border-color: #8e79ae; background: #211b2d; transform: none; }
.ascend-product-options .acend-plans .acend-plan__input:checked + .acend-plan__row { border-color: var(--ascend-accent, #8b5cf6); background: linear-gradient(150deg,rgba(139,92,246,.24),rgba(139,92,246,.1)); box-shadow: inset 0 0 0 1px rgba(167,139,250,.3); transform: none; }
.ascend-product-options .acend-plans .acend-plan__check { display: none; }
.ascend-product-options .acend-plans .acend-plan__main { display: contents; min-width: 0; width: auto; padding: 0; }
.ascend-product-options .acend-plans .acend-plan__label { grid-column: 1; grid-row: 1; align-self: center; display: block; min-height: 0; font-size: .79rem; line-height: 1.3; white-space: normal; overflow: visible; overflow-wrap: anywhere; letter-spacing: 0; text-transform: none; }
.ascend-product-options .acend-plans .acend-plan__side { display: contents; width: auto; margin: 0; max-width: none; text-align: left; }
.ascend-product-options .acend-plans .acend-plan__pricing { display: contents; }
.ascend-product-options .acend-plans .acend-plan__price { grid-column: 1; grid-row: 2; font-size: 1.08rem; white-space: nowrap; line-height: 1.2; letter-spacing: -.025em; }
.ascend-product-options .acend-plans .acend-plan__compare { position: absolute; left: .6rem; bottom: .25rem; font-size: .6rem; line-height: 1.2; color: #a69bac; }
.ascend-product-options .acend-plans .acend-plan__saving { display: none; }
.ascend-product-options .acend-plans :is(.acend-plan__badge,.acend-plan__owned) { grid-column: 1; grid-row: auto; position: static; width: fit-content; font-size: .58rem; line-height: 1.3; padding: .15rem .3rem; white-space: normal; }
.acend-plan__recommendation { display: inline-flex; align-items: center; max-width: 100%; padding: .2rem .45rem; border-radius: 5px; background: #6d40b5; color: #fff; font-size: .65rem; font-weight: 650; line-height: 1.3; }
.ascend-product-options .acend-plans .acend-plan--recommended .acend-plan__row { border-color: #8c65c5; }
.ascend-product-options .acend-plans .acend-plan__recommendation { grid-column: 1; grid-row: 3; justify-self: start; margin-top: .1rem; padding: .18rem .3rem; font-size: .58rem; overflow-wrap: anywhere; }
/* Distinguish the personal service using the shop's existing violet palette. */
.ascend-product-reference .acend-plans .acend-plan--config .acend-plan__row { border-color: rgba(196,181,253,.45); border-style: dashed; background: rgba(167,139,250,.06); }
.ascend-product-reference .acend-plans .acend-plan--config .acend-plan__row:hover { border-color: #b79af0; background: rgba(167,139,250,.16); }
.ascend-product-reference .acend-plans .acend-plan--config .acend-plan__input:checked + .acend-plan__row { border-color: #c4b5fd; border-style: solid; background: linear-gradient(155deg,rgba(167,139,250,.26),rgba(139,92,246,.12)); box-shadow: inset 0 0 0 1px #a78bfa; }
.ascend-product-reference .acend-plans .acend-plan--config :is(.acend-plan__label,.acend-plan__price) { color: #e2d5fa; }
.ascend-product-reference .acend-plans .acend-plan__service-badge { position: absolute; top: -.5rem; right: .45rem; display: inline-flex; width: fit-content; margin: 0; padding: .15rem .35rem; border: 1px solid #6a5488; border-radius: 4px; background: #30233e; color: #d3bffa; font-size: .55rem; font-weight: 650; line-height: 1.2; letter-spacing: .04em; text-transform: uppercase; }
.ascend-product-reference .acend-plans .acend-plan--config .acend-plan__input:focus-visible + .acend-plan__row { outline-color: #c4b5fd; }
/* Runtime and activation are mirrored below; retain each option's full accessible label. */
.ascend-product-options .acend-plans .acend-plan__meta { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ascend-product-reference .ascend-selection-note { padding: .8rem 0 .35rem; }
.ascend-product-reference .ascend-selection-note p { margin: .35rem 0 0; color: #a9a1b7; font-size: .77rem; line-height: 1.65; }
.ascend-product-reference .ascend-selection-note__facts { display: flex; gap: .5rem 1rem; flex-wrap: wrap; }
.ascend-product-reference .ascend-selection-note__facts span { color: #d5cce5; }
.ascend-product-reference .ascend-buy__actions { margin-top: 1rem; gap: .7rem; }
.ascend-product-reference .ascend-buy__go { min-height: 50px; padding: .95rem 1.1rem; border-radius: 10px; font-size: .9rem; text-transform: none; letter-spacing: 0; }
.ascend-product-reference .ascend-buy__cart { min-height: 42px; padding: .65rem 1rem; border-radius: 10px; font-size: .8rem; }
.ascend-product-reference .ascend-buy__trust { display: flex; flex-flow: row wrap; gap: .6rem 1rem; margin: 1.25rem 0 0; padding: 0; border: 0; background: transparent; list-style: none; font-size: .76rem; color: #afa6bf; }
.ascend-product-reference .ascend-buy__trust li { font-size: inherit; line-height: 1.5; }
.ascend-product-reference .ascend-buy__paylogos { display: flex; flex-flow: row wrap; justify-content: flex-start; gap: .55rem; margin: 1.25rem 0 0; padding: 1rem 0 0; border-top: 1px solid var(--product-line); }
.ascend-product-reference .ascend-buy__paylabel { width: auto; font-size: .68rem; margin: 0 .2rem 0 0; letter-spacing: 0; text-transform: none; }
.ascend-product-reference .ascend-buy__paychip { font-size: .72rem; padding: .3rem .5rem; border-radius: 5px; }
.ascend-product-reference .acend-free-trial { order: 2; margin: 1.25rem 0 0; padding: .85rem; gap: .8rem; border: 1px solid var(--product-line); border-radius: 8px; background: rgba(139,92,246,.04); animation: none; }
.ascend-product-reference .acend-free-trial strong { font-size: .8rem; }
.ascend-product-reference .acend-free-trial small { font-size: .72rem; line-height: 1.5; }
.ascend-product-reference .acend-free-trial b { font-size: .75rem; }
.ascend-product-reference .ascend-product-single__features { display: flex; flex-wrap: wrap; gap: .6rem; list-style: none; margin: 1.25rem 0 0; padding: 0; }
.ascend-product-reference .ascend-product-single__features li { flex: 1 1 auto; text-align: center; padding: .5rem .65rem; border: 1px solid var(--product-line); border-radius: 999px; background: #100e17; font-size: .73rem; line-height: 1.5; }
.ascend-product-reference .ascend-product-single__features li::before { display: none; }
.ascend-product-reference .ascend-product-features-link { display: flex; align-items: center; justify-content: center; gap: .7rem; padding: 1rem; margin-top: 1.25rem; border: 1px solid rgba(167,139,250,.35); border-radius: 9px; background: rgba(139,92,246,.07); font-size: .82rem; font-weight: 650; text-decoration: none; color: #e3d9f6; }
.ascend-product-reference .ascend-product-features-link:hover { background: rgba(139,92,246,.15); border-color: #a78bfa; }
.ascend-product-reference .ascend-product-features-link span { color: #b799ef; }
.ascend-product-reference .ascend-product-links { margin: .9rem 0 0; font-size: .7rem; gap: .6rem; }
.ascend-product-reference .ascend-product-single__ids { margin: .85rem 0 0; font-size: .65rem; }
.ascend-product-reference .ascend-product-single__info > p.ascend-small { margin: .8rem 0 0; font-size: .7rem; }
.ascend-product-options [hidden], .ascend-config-fields[hidden] { display: none !important; }
.ascend-product-options .ascend-buy__trust { flex-wrap: wrap; }
.ascend-details { margin: 2rem 0; border: 1px solid var(--acend-border, #31263e); border-radius: 12px; overflow: hidden; background: var(--acend-panel, #17121f); scroll-margin-top: 7rem; }
.ascend-details__tabs { display: flex; gap: 1rem; padding: 0 1.5rem; border-bottom: 1px solid var(--acend-border, #31263e); overflow-x: auto; }
.ascend-details__tabs a { display: block; white-space: nowrap; padding: 1rem .25rem; border-bottom: 2px solid transparent; color: inherit; opacity: .7; text-decoration: none; font-weight: 600; font-size: .9rem; }
.ascend-details__tabs a[aria-selected="true"] { opacity: 1; color: #c4b5fd; border-bottom-color: #a78bfa; }
.ascend-details__panel { padding: 1.5rem; }
.ascend-details__panel[hidden] { display: none !important; }
.ascend-details__panel h2 { font-size: 1.25rem; margin: 0 0 1rem; }
.ascend-details .ascend-prose { max-width: 85ch; }
.ascend-details :is(a,button):focus-visible { outline: 2px solid #c4b5fd; outline-offset: 4px; }
.ascend-config-fields { min-width: 0; border: 1px solid var(--acend-border, #31263e); border-radius: 10px; padding: 1rem; margin: 1rem 0; }
.ascend-config-fields legend { padding: 0 .35rem; font-weight: 700; font-size: .9rem; }
.ascend-config-fields__intro, .ascend-config-fields__note, .ascend-config-fields small { font-size: .78rem; line-height: 1.6; color: var(--acend-muted, #b5a9c5); }
.ascend-config-fields__intro p { margin: 0 0 .5rem; }
.ascend-config-fields :is(input[type=url], select, textarea) { box-sizing: border-box; width: 100%; min-height: 42px; display: block; background: #100c18; border: 1px solid #3d2e50; border-radius: 8px; padding: .65rem .75rem; color: #f3eefb; font: inherit; font-size: .85rem; margin: .3rem 0 .7rem; }
.ascend-config-fields > label { display: block; margin-top: .75rem; font-size: .82rem; }
.ascend-config-fields textarea { resize: vertical; }
.ascend-config-fields label.ascend-config-fields__ack { display: flex; gap: .65rem; align-items: flex-start; line-height: 1.55; font-size: .78rem; }
.ascend-config-fields__ack input { flex: 0 0 18px; width: 18px; height: 18px; min-height: 18px; margin-top: .25rem; accent-color: #a78bfa; }
.ascend-config-fields__ack span { min-width: 0; }
.ascend-config-fields > a { font-size: .78rem; color: #c4b5fd; }
.ascend-config-fields :is(input,select,textarea):focus-visible { outline: 2px solid #c4b5fd; outline-offset: 2px; }
@media (max-width: 540px) {
  .ascend-product-options .acend-plans { grid-auto-columns: minmax(106px, 1fr); overflow-x: auto; padding: .6rem .2rem .85rem; scroll-snap-type: x proximity; scrollbar-width: thin; scrollbar-color: #67517f transparent; }
  .ascend-product-options .acend-plan { scroll-snap-align: start; }
}
@media (max-width: 900px) {
  .ascend-product-reference .ascend-product-single__layout { grid-template-columns: minmax(0,1fr); }
  .ascend-product-reference .ascend-product-single__info { padding: 1.5rem; }
  .ascend-product-reference .acend-plans .acend-plan__price { font-size: 1.15rem; }
}
@media (max-width: 600px) {
  .ascend-product-reference .ascend-product-single__media { padding: .85rem; border-radius: 12px; }
  .ascend-product-reference .ascend-product-single__info { padding: 1.25rem; border-radius: 12px; }
  .ascend-product-reference .ascend-product-media__thumb { flex-basis: 70px; width: 70px; height: 50px; }
  .ascend-details__tabs, .ascend-details__panel { padding-left: 1rem; padding-right: 1rem; }
  .ascend-config-fields :is(input[type=url],select,textarea) { font-size: 16px; }
}
