/* Scoped below the existing trailer/purchase hero. */
body.single-product { background-color: #08001a; }
body.single-product :is(#playfa-product-ui, .elementor-element-6cf4f8c, .elementor-element-d9cc560, .elementor-element-fa2ba8a) { width: 100% !important; max-width: 100% !important; min-width: 0; }
body.single-product :is(#playfa-product-ui, .elementor-element-6cf4f8c) { left: 0 !important; right: 0 !important; margin-inline: 0 !important; }
body .pf-product-layout {
    --pf-ink: #f1f3fc; --pf-muted: #b4a8ce; --pf-accent: #d0b5ff;
    width: min(1240px, 100%); margin: 40px auto 64px; padding: 0 24px;
    box-sizing: border-box; color: var(--pf-ink); font-size: 15px; line-height: 1.95;
    display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: start;
}
body .pf-product-layout *, body .pf-product-layout *::before, body .pf-product-layout *::after { box-sizing: border-box; }
body .pf-product-nav {
    display: flex; flex-wrap: wrap; justify-content: center; gap: 10px;
    padding: 0; background: transparent;
}
body .pf-product-nav a { display: flex; align-items: center; justify-content: center; min-height: 46px; padding: 8px 20px; color: #dce1ee; font-size: 14px; text-decoration: none; }
body .pf-product-sections { min-width: 0; display: grid; gap: 40px; }
body .pf-product-section { min-width: 0; padding: 28px; border: 1px solid #ffffff30; border-radius: 20px; background: radial-gradient(ellipse at top right, #a66eff12, transparent 65%), linear-gradient(125deg, #ffffff0e, #ffffff03 45%, #bf7dff0c); box-shadow: inset 0 1px 0 #ffffff20, 0 8px 24px #0003; scroll-margin-top: 160px; }
body .pf-section-cast, body .pf-section-related { border: 0; padding: 0; background: transparent; box-shadow: none; }
body .pf-section-header { display: flex; align-items: center; gap: 24px; margin-bottom: 26px; }
body .pf-section-header h2 { margin: 0; color: var(--pf-ink); font-size: 24px; line-height: 1.6; font-weight: 600; white-space: nowrap; background: linear-gradient(to right, #7857ff, #fa5560, #b14bf4, #4d91ff); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; text-shadow: 0 0 18px #b14bf433; }
body .pf-section-line { flex: 1; height: 1px; background: linear-gradient(to left, #b14bf450, transparent); }
body .pf-section-body { min-width: 0; }
body .pf-overview-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(220px, 1fr); gap: 28px; align-items: start; }
body .pf-product-prose { color: #d2d8e7; }
body .pf-product-layout p { overflow-wrap: anywhere; }
body .pf-product-prose p:first-child { margin-top: 0; }
body .pf-product-prose p:last-child { margin-bottom: 0; }
body .pf-feature-panel { padding: 20px; background: #d0b5ff08; border: 1px solid #d0b5ff20; border-radius: 16px; }
body .pf-feature-panel h3 { font-size: 16px; margin: 0 0 18px; color: var(--pf-accent); }
body .pf-feature-panel p { font-size: 13px; padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px solid #ffffff12; }
body .pf-feature-panel p:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
body .pf-feature-panel ul { padding-inline-start: 20px; margin: 0; }
body .pf-product-layout .playfa-cast-scroll { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px !important; overflow: visible !important; padding: 0 !important; }
body .pf-product-layout .playfa-cast-item { width: auto !important; min-width: 0 !important; padding: 24px 12px !important; border: 1px solid #ffffff30; border-radius: 20px; background: radial-gradient(circle at top, #a66eff15, transparent 70%), linear-gradient(125deg, #ffffff0e, #ffffff03); text-align: center; box-shadow: inset 0 1px 0 #ffffff20; }
body .pf-product-layout :is(.playfa-cast-img, .playfa-cast-img-placeholder) { width: 72px !important; height: 72px !important; border-radius: 50% !important; margin: 0 auto 14px !important; object-fit: cover; }
body .pf-product-layout .playfa-cast-img-placeholder { display: grid !important; place-items: center; background: linear-gradient(145deg, #445870, #252a41) !important; }
body .pf-product-layout .playfa-cast-img-placeholder::before { content: '♫'; font-size: 25px; color: #b5cfdf; }
body .pf-product-layout .playfa-cast-name { margin: 0 0 6px !important; color: var(--pf-ink) !important; font-size: 15px !important; line-height: 1.6; }
body .pf-product-layout .playfa-cast-role { color: var(--pf-muted) !important; font-size: 12px !important; line-height: 1.7; }
/* Neutralize old tab-panel widths while retaining content widgets and gallery behavior. */
body .pf-product-layout .e-con { --container-widget-width: 100%; min-width: 0 !important; max-width: 100%; }
body .pf-product-layout .elementor-widget { min-width: 0 !important; max-width: 100%; }
body .pf-product-layout .elementor-widget-container { margin: 0 !important; }
body .pf-product-layout .elementor-heading-title { color: var(--pf-ink) !important; font-size: 18px !important; line-height: 1.7 !important; margin: 0 0 16px; }
body .pf-product-layout .elementor-widget-text-editor,
body .pf-product-layout .elementor-widget-woocommerce-product-content { color: #d2d8e7 !important; font-size: 15px !important; line-height: 2 !important; }
body .pf-product-layout .elementor-element-5a7956c { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 24px; padding: 0 !important; }
body .pf-product-layout :is(.elementor-element-6e4bd38, .elementor-element-708dbd2) { width: 100% !important; padding: 0 !important; margin: 0 !important; }
body .pf-product-layout .elementor-element-708dbd2 { margin-top: 24px !important; }
body .pf-product-layout .woocommerce-product-gallery { width: 100% !important; float: none !important; margin: 0 !important; }
body .pf-product-layout .woocommerce-product-gallery img { border-radius: 14px; }
body .pf-section-gallery .woocommerce-product-gallery__image img { width: 100%; height: auto; max-height: 480px; object-fit: contain; background: #101422; }
body .pf-product-layout .wp-caption { max-width: 100% !important; }
body .pf-product-layout .wp-caption img { max-width: 100%; height: auto; border-radius: 12px; }
body .pf-product-layout .wp-caption-text { color: var(--pf-muted); font-size: 12px; }
body .pf-section-game h2 { font-size: 22px; line-height: 1.7; margin: 28px 0 16px; }
body .pf-section-game h2:first-child { margin-top: 0; }
body .pf-section-game p { color: #d2d8e7; }
body .pf-product-layout .flex-control-thumbs { display: flex; gap: 8px; overflow-x: auto; padding: 10px 0 !important; }
body .pf-product-layout .flex-control-thumbs li { flex: 0 0 64px; float: none !important; }
body .pf-product-layout video, body .pf-product-layout iframe { max-width: 100%; border-radius: 14px; }
body .pf-product-layout #reviews .woocommerce-Reviews-title { color: var(--pf-muted); font-size: 15px; margin: 0 0 24px; line-height: 1.8; }
body .pf-product-layout #reviews .commentlist { padding: 0 !important; margin: 0 !important; list-style: none; }
body .pf-product-layout #reviews .commentlist li { margin: 0 0 16px !important; padding: 0 !important; }
body .pf-product-layout #reviews .comment_container { padding: 20px; border: 1px solid #ffffff14; border-radius: 16px; background: #ffffff03; }
body .pf-product-layout #reviews .comment-text { border: 0 !important; margin: 0 58px 0 0 !important; padding: 0 !important; }
body .pf-product-layout #reviews img.avatar { width: 40px !important; height: 40px !important; border: 0 !important; padding: 0 !important; position: static !important; float: right; border-radius: 50%; }
body .pf-product-layout #reviews .meta { color: var(--pf-muted); font-size: 12px; line-height: 1.9; }
body .pf-product-layout #reviews .description { color: #dce1ec; font-size: 14px; line-height: 1.95; }
body .pf-product-layout #reviews .children { margin: 12px 24px 0 0 !important; padding: 0 !important; list-style: none; border-right: 2px solid #d0b5ff30; padding-right: 12px !important; }
body .pf-older-reviews summary { cursor: pointer; padding: 14px 20px; min-height: 48px; color: var(--pf-accent); background: #d0b5ff08; border: 1px solid #d0b5ff20; border-radius: 12px; margin: 16px 0; }
body .pf-product-layout #review_form_wrapper { margin-top: 28px; padding: 24px; border: 1px solid #ffffff16; border-radius: 16px; background: #ffffff03; }
body .pf-product-layout :is(input:not([type=submit]):not([type=checkbox]):not([type=radio]), textarea, select) { width: 100%; background: #130b24; color: #f1f3fc; border: 1px solid #ffffff28; border-radius: 10px; padding: 12px; font: inherit; }
body .pf-product-layout textarea { min-height: 140px; resize: vertical; }
body .pf-product-layout input[type=submit] { min-height: 46px; padding: 10px 24px; }
body .pf-product-layout a { color: #a4dfed; }
body .pf-product-taxonomy { margin-top: 20px; padding-top: 18px; border-top: 1px solid #ffffff14; display: grid; gap: 12px; }
body .pf-taxonomy-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 12px; }
body .pf-taxonomy-row > span { color: var(--pf-muted); margin-inline-end: 8px; }
body .pf-taxonomy-row a { padding: 3px 12px; border: 1px solid #ffffff20; border-radius: 30px; background: #ffffff06; }
body .pf-download-panel { padding: 20px; border: 1px solid #d0b5ff20; border-radius: 14px; background: #d0b5ff08; margin-bottom: 24px; }
body .pf-download-panel p { margin-top: 0; }
body .pf-account-downloads { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 18px; border-radius: 10px; border: 1px solid #d0b5ff40; }
body .pf-install-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
body .pf-install-grid > div { padding: 18px; border: 1px solid #ffffff12; border-radius: 14px; }
body .pf-install-grid h3 { font-size: 17px; margin: 0 0 14px; }
body .pf-empty-note { color: var(--pf-muted); font-size: 13px; margin: 0; }
body .pf-related-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
body .pf-related-card { display: flex; flex-direction: column; gap: 12px; padding: 12px; border: 1px solid #ffffff18; border-radius: 16px; background: #ffffff03; transition: border-color .2s; }
body .pf-related-card:hover { border-color: #d0b5ff70; }
body .pf-related-card img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 0; }
body .pf-related-info { display: flex; flex-direction: column; gap: 12px; flex: 1; padding: 16px; }
body .pf-related-card h3 { font-size: 14px; line-height: 1.8; color: #f1f3fc; margin: 0; }
body .pf-related-price { margin-top: auto; font-size: 14px; color: var(--pf-accent); }
body .pf-related-info > span { font-size: 12px; color: var(--pf-muted); }
@media (max-width: 1024px) {
    body .pf-product-layout { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 0 20px; }
    body .pf-product-nav { position: static; flex-direction: row; flex-wrap: wrap; padding: 10px; gap: 4px; }
    body .pf-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body .pf-product-layout .playfa-cast-scroll { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    body .pf-product-nav a { flex: 1 0 auto; justify-content: center; font-size: 13px; }
    body .pf-product-section { scroll-margin-top: 24px; }
}
@media (max-width: 600px) {
    body .pf-product-layout { padding: 0 14px; margin-top: 24px; font-size: 14px; }
    body .pf-product-section { padding: 20px 16px; border-radius: 18px; }
    body .pf-section-header { gap: 12px; margin-bottom: 20px; padding-bottom: 18px; }
    body .pf-section-header h2 { font-size: 18px; }
    body .pf-overview-grid, body .pf-product-layout .elementor-element-5a7956c { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    body .pf-install-grid { grid-template-columns: minmax(0, 1fr); }
    body .pf-product-layout .playfa-cast-scroll { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body .pf-product-layout #reviews .comment_container { padding: 14px; }
    body .pf-product-layout #reviews .comment-text { margin-right: 0 !important; }
    body .pf-product-layout #reviews img.avatar { display: none; }
    body .pf-product-layout #reviews .children { margin-right: 10px !important; padding-right: 8px !important; }
    body .pf-product-layout #review_form_wrapper { padding: 16px; }
    body .pf-product-layout .star-rating { float: none; margin-bottom: 8px; }
}

