/* Product-only additions; no homepage, menu, footer or checkout selectors. */
.modal-title.anima-product-heading { margin: 0; font-size: 1.7rem; font-weight: 600; letter-spacing: -.03em; line-height: inherit; }
.anima-product-details { width: 100%; margin-top: .65rem; padding-top: 1.15rem; border-top: 1px solid var(--border-soft, #29292f); display: grid; gap: 1rem; }
.anima-product-detail h2 { margin: 0 0 .32rem; color: var(--text-primary, #f0f0f3); font-family: inherit; font-size: .85rem; font-weight: 600; line-height: 1.4; letter-spacing: -.015em; }
.anima-product-detail p { margin: 0; color: var(--text-secondary, #a5a5b0); font-family: inherit; font-size: .81rem; line-height: 1.65; overflow-wrap: anywhere; }
.anima-prompt-actions { width: 100%; margin-top: .2rem; }
.anima-prompt-action-row { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; }
.anima-prompt-action { display: inline-flex; justify-content: center; align-items: center; gap: .5rem; min-height: 2.9rem; padding: .65rem 1.1rem; border: 1px solid #2b2a31; border-radius: 999px; color: #aaa6b3; background: linear-gradient(160deg, #18171c, #101014); box-shadow: inset 0 1px 0 #ffffff08; font: inherit; font-size: .88rem; line-height: 1.25; text-decoration: none; transition: color .15s, border-color .15s, background .15s; }
.anima-prompt-action:hover { color: #eceaf3; border-color: #514b61; background: #1b1921; }
.anima-prompt-action:focus-visible { outline: 2px solid #aaa1f4; outline-offset: 3px; }
.anima-prompt-icon { width: 1rem; height: 1rem; flex: none; }
.anima-prompt-lock { width: .8rem; height: .8rem; flex: none; margin-left: .12rem; opacity: .8; }
.anima-prompt-action-note { margin: .6rem 0 0; color: #83818f; font: inherit; font-size: .72rem; line-height: 1.5; }
@media (max-width: 480px) { .anima-prompt-action-row { gap: .5rem; } .anima-prompt-action { padding: .65rem .8rem; font-size: .77rem; gap: .4rem; } }
@media (prefers-reduced-motion: reduce) { .anima-prompt-action { transition: none; } }
.anima-product-initial { font-family: var(--font-general, Arial), system-ui, sans-serif; color: #eeeef1; background: #08080b; min-height: 100dvh; }
.anima-product-initial * { box-sizing: border-box; }
.anima-product-initial .modal-backdrop { position: fixed; inset: 0; z-index: 100; display: flex; justify-content: center; align-items: flex-start; padding: 2.5rem; background: #050507; }
.anima-product-initial .modal-panel { position: relative; width: 100%; max-width: none; height: calc(100dvh - 5rem); max-height: none; padding: 0; border: 0; border-radius: 0; overflow: visible; background: transparent; }
.anima-product-initial .modal-split { display: flex; flex-direction: row; gap: 1.25rem; height: 100%; }
.anima-product-initial .modal-main, .anima-product-initial .modal-info { background: #0b0b0f; border: 1px solid #25252c; border-radius: 1.5rem; min-width: 0; overflow: auto; height: 100%; }
.anima-product-initial .modal-main { flex: 1; display: block; }
.anima-product-initial .modal-info { flex: 0 0 37rem; width: 37rem; padding: 0; }
.anima-product-initial .modal-stage .modal-hero { position: relative; width: 100%; height: auto; aspect-ratio: 960 / 684; overflow: hidden; background: #111116; border-bottom: 1px solid #25252c; }
.anima-product-initial .anima-product-poster { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.anima-product-initial .modal-body { display: flex; flex-direction: column; align-items: flex-start; gap: .95rem; padding: 1.8rem 2rem; }
.anima-product-initial .modal-title { margin: 0; font-size: 1.7rem; line-height: 1.2; font-weight: 600; letter-spacing: -.03em; }
.anima-product-initial .modal-desc { margin: 0; color: #a8a8b4; font-size: 1rem; line-height: 1.6; }
.anima-product-initial .modal-stack { display: flex; flex-wrap: wrap; gap: .4rem; padding: 0; margin: 0; list-style: none; }
.anima-product-initial .modal-stack-chip { border: 1px solid #26262e; border-radius: 2rem; padding: .25rem .75rem; color: #aaaab7; background: #121217; font-size: .8rem; }
.anima-product-initial .offer-delivery-note { margin: -.25rem 0 0; font-size: .76rem; line-height: 1.55; color: #92929e; }
.anima-product-preview-caption { padding: 1.25rem 1.6rem; margin: 0; font-size: .75rem; color: #8c8c99; }
.anima-product-preview-unavailable { padding: 2rem; color: #aaa; }
.anima-product-breadcrumb { display: flex; flex-wrap: wrap; gap: .5rem; padding-right: 1.6rem; color: #777784; font-size: .7rem; line-height: 1.5; }
.anima-product-breadcrumb a { color: #aaaab7; text-decoration: none; }
.anima-product-breadcrumb a:hover { color: #fff; }
.anima-product-initial .anima-product-close { position: absolute; top: .85rem; right: .85rem; z-index: 2; display: inline-flex; align-items: center; justify-content: center; width: 2.2rem; height: 2.2rem; color: #f2f2f7; background: #16161dd9; border: 1px solid #33333b; border-radius: 50%; text-decoration: none; }
.anima-product-close svg { width: 1rem; height: 1rem; }
.anima-product-buy { display: inline-flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 2.9rem; padding: .45rem .5rem .45rem 1.25rem; color: #f4f4f8; text-decoration: none; border: 1px solid #5b5766; border-radius: 4rem; background: linear-gradient(145deg, #363440 0%, #15151c 58%, #44312f 100%); box-shadow: inset 0 1px 1px #ffffff29; font-size: .95rem; }
.anima-product-buy span { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; color: #121219; background: #e9e9f1; }
.anima-product-initial a:focus-visible { outline: 2px solid #aaa1f4; outline-offset: 4px; }
@media (max-width: 1200px) and (min-width: 1024px) { .anima-product-initial .modal-info { flex-basis: 31rem; width: 31rem; } }
@media (max-width: 1023px) {
  .anima-product-initial .modal-backdrop { padding: 4.6rem 1rem 1rem; }
  .anima-product-initial .modal-panel { max-width: 56rem; height: auto; max-height: calc(100dvh - 5.6rem); overflow: auto; border: 1px solid #25252c; border-radius: 1.5rem; background: #0b0b0f; }
  .anima-product-initial .modal-split { flex-direction: column; gap: 0; height: auto; }
  .anima-product-initial .modal-main, .anima-product-initial .modal-info { flex: auto; width: 100%; height: auto; border: 0; border-radius: 0; overflow: visible; }
  .anima-product-initial .modal-main { display: block; }
  .anima-product-initial .modal-body { padding: 1.4rem; }
  .anima-product-initial .anima-product-close { position: fixed; top: 1rem; right: 1rem; width: 2.6rem; height: 2.6rem; }
  .anima-product-preview-caption { display: none; }
}
@media (max-width: 480px) { .anima-product-initial .modal-body { padding: 1.1rem; } .anima-product-initial .modal-title { font-size: 1.7rem; } }
