/*
 * FPSGuru Frontend CSS Package — Product
 * Bundle: single product only.
 */

.wp-site-blocks > .product:has(> .fpsg-product-shell){margin-block-start:0}
.fpsg-product-hero{box-sizing:border-box;position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);min-width:0;overflow:hidden;border-bottom:1px solid var(--fpsg-line);background:radial-gradient(ellipse at 80% 45%,color-mix(in srgb,var(--fpsg-accent) 9%,transparent),transparent 65%),var(--fpsg-bg)}
@media (min-width:1024px){.fpsg-product-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:440px}}
.fpsg-product-hero > .fpsg-hero__copy{box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:18px;min-width:0;padding:32px var(--fpsg-gutter);position:relative;z-index:1}
@media (min-width:1024px){.fpsg-product-hero > .fpsg-hero__copy{padding-top:48px;padding-bottom:48px}}
.fpsg-product-hero .fpsg-hero__title{margin:0;color:var(--fpsg-text);font-size:clamp(2rem,4.2vw,3rem);line-height:1.08;letter-spacing:-.045em;font-weight:800;overflow-wrap:anywhere}
.fpsg-product-hero .fpsg-hero__accent{color:var(--fpsg-accent)}
.fpsg-product-hero .fpsg-hero__lead{margin:0;max-width:58ch;color:var(--fpsg-muted);font-size:1.0625rem;line-height:1.65}
.fpsg-product-hero > .fpsg-hero__media{box-sizing:border-box;position:relative;min-width:0;min-height:220px;margin:0;display:grid;align-items:center}
.fpsg-product-hero > .fpsg-hero__media img{width:100%;height:100%;max-height:520px;object-fit:contain}
.fpsg-product-hero > .fpsg-hero__media figcaption{padding:16px;color:var(--fpsg-muted);font-size:.8125rem;line-height:1.5}

/* Content Egg retains offer ownership; this is the product CTA presentation. */
.fpsg-ui .cegg5-container .btn-outline-primary{color:var(--fpsg-data);border-color:var(--fpsg-data);background:var(--fpsg-surface)}
.fpsg-ui .cegg5-container .btn-outline-primary:hover,.fpsg-ui .cegg5-container .btn-outline-primary:focus-visible{color:var(--fpsg-bg);background:var(--fpsg-data);border-color:var(--fpsg-data)}

.fpsg-product-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
.fpsg-product-layout > *{min-width:0}
@media(min-width:1024px){.fpsg-product-layout{grid-template-columns:minmax(0,1fr) minmax(320px,512px)}}

/* Product review and Q&A controls use the same palette as search/catalogue controls. */
.fpsg-product-shell :is(#review_form,#reviews,.cr-qna-block) :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]),textarea,select){box-sizing:border-box;min-height:44px;max-width:100%;padding:10px 12px;background:var(--fpsg-surface);color:var(--fpsg-text);border:1px solid var(--fpsg-line);border-radius:5px;font:inherit}
.fpsg-product-shell :is(#review_form,#reviews,.cr-qna-block) :is(input,textarea)::placeholder{color:var(--fpsg-muted);opacity:1}
.fpsg-product-shell :is(#review_form,#reviews,.cr-qna-block) :is(input,textarea,select):focus-visible{outline:3px solid var(--fpsg-editorial);outline-offset:2px}
.fpsg-product-shell :is(#review_form,#reviews,.cr-qna-block) :is(button,input[type=submit],.cr-qna-ask-button,.cr-qna-ask-button:visited){box-sizing:border-box;min-height:44px;min-width:44px;background:var(--fpsg-editorial);color:var(--fpsg-bg);border:1px solid var(--fpsg-editorial);border-radius:5px;font:inherit}
.fpsg-product-shell :is(#review_form,#reviews,.cr-qna-block) :is(button,input[type=submit],.cr-qna-ask-button):hover{background:var(--fpsg-text);border-color:var(--fpsg-text);color:var(--fpsg-bg)}
.fpsg-product-shell :is(#review_form,#reviews,.cr-qna-block) :is(input,textarea,select)[aria-invalid=true]{border-color:var(--fpsg-amd)}
.fpsg-product-shell :is(#review_form,#reviews,.cr-qna-block) :disabled{opacity:.65;cursor:not-allowed}
.fpsg-product-shell .woo-pros-cons-comm{display:flex;flex-wrap:wrap;gap:16px;margin-top:15px}
.fpsg-product-shell .woo-pros-cons-comm > div{flex:1 1 220px;padding:16px;border:1px solid var(--fpsg-line);border-radius:5px;background:var(--fpsg-surface);color:var(--fpsg-text)}
.fpsg-product-shell .woo-pros-cons-comm strong{display:block;margin-bottom:10px}
.fpsg-product-shell .woo_comment_text_pros strong{color:var(--fpsg-positive)}
.fpsg-product-shell .woo_comment_text_cons strong{color:var(--fpsg-editorial)}
.fpsg-product-shell :is(.pros_comment_item,.cons_comment_item){display:block;margin-bottom:5px}

.fpsg-product-shell #reviews :is(.woocommerce-review__published-date,.woocommerce-review__author){color:var(--fpsg-muted)}
.fpsg-product-shell #reviews .comment-text{min-width:0;overflow-wrap:anywhere}

.fpsg-product-shell .wp-block-post-terms a,.fpsg-product-shell .product_meta a,.fpsg-product-shell .cegg5-container :is(.btn,.icon-link){min-width:44px;min-height:44px;align-content:center}
.fpsg-product-shell .wp-block-post-terms a,.fpsg-product-shell .product_meta a{display:inline-flex;align-items:center;margin-inline:3px}

/* Keep WooCommerce's radio state and replace the theme's overlapping star sprite. */
.fpsg-product-shell #reviews .comment-form-rating{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.fpsg-product-shell #reviews p.stars{flex-basis:100%;float:none;width:100%;margin:0}
.fpsg-product-shell #reviews p.stars span{display:flex;gap:4px;width:auto;height:auto;float:none;background:none}
.fpsg-product-shell #reviews p.stars span a{position:relative;inset:auto;float:none;box-sizing:border-box;flex:0 0 44px;width:44px;height:44px;padding:0;margin:0;background:none;z-index:auto;transition:none}
.fpsg-product-shell #reviews p.stars span a::before{content:"☆";display:block;position:absolute;inset:0;width:44px;height:44px;text-indent:0;text-align:center;font:26px/44px sans-serif;color:var(--fpsg-muted)}
.fpsg-product-shell #reviews p.stars.selected a::before{content:"★";color:var(--fpsg-accent)}
.fpsg-product-shell #reviews p.stars.selected a.active~a::before{content:"☆";color:var(--fpsg-muted)}
.fpsg-product-shell #reviews p.stars:hover a::before,.fpsg-product-shell #reviews p.stars.selected:hover span a::before{content:"★";color:var(--fpsg-accent)}
.fpsg-product-shell #reviews p.stars span a:hover~a::before,.fpsg-product-shell #reviews p.stars.selected:hover span a:hover~a::before{content:"☆";color:var(--fpsg-muted)}
.fpsg-product-shell #reviews p.stars span a:focus-visible{outline:2px solid var(--fpsg-accent);outline-offset:-2px}
.fpsg-product-shell .comment-form-cookies-consent label{display:inline-flex;align-items:center;min-height:44px;cursor:pointer}
