/*
 * 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-site);border-color:var(--fpsg-site);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-site);border-color:var(--fpsg-site)}

/* Content Egg price alert — FPSGuru palette. */
.fpsg-product-shell .cegg-price_alert{color:var(--fpsg-text);--bs-body-color:var(--fpsg-text);--bs-body-bg:var(--fpsg-surface);--bs-secondary-color:var(--fpsg-muted);--bs-border-color:var(--fpsg-line);--bs-link-color:var(--fpsg-site);--bs-link-hover-color:var(--fpsg-text)}
.fpsg-product-shell .cegg-price_alert .cegg-price-alert-card{background:var(--fpsg-surface);color:var(--fpsg-text);border-color:var(--fpsg-line)!important}
.fpsg-product-shell .cegg-price_alert .card-header.text-bg-warning{background:var(--fpsg-site)!important;color:var(--fpsg-bg)!important}
.fpsg-product-shell .cegg-price_alert .card-body,.fpsg-product-shell .cegg-price_alert .card-footer{background:var(--fpsg-surface);color:var(--fpsg-text)}
.fpsg-product-shell .cegg-price_alert .card-footer{border-top-color:var(--fpsg-line)!important}
.fpsg-product-shell .cegg-price_alert :is(.card-subtitle,.price-alert-agree-label,.card-footer small).text-body-secondary,.fpsg-product-shell .cegg-price_alert .price-alert-agree-label{color:var(--fpsg-muted)!important}
.fpsg-product-shell .cegg-price_alert :is(.form-control,.input-group-text){box-sizing:border-box;min-height:44px;background:var(--fpsg-bg);color:var(--fpsg-text);border-color:var(--fpsg-line)}
.fpsg-product-shell .cegg-price_alert .form-control::placeholder{color:var(--fpsg-muted);opacity:1}
.fpsg-product-shell .cegg-price_alert .form-control:focus{background:var(--fpsg-bg);color:var(--fpsg-text);border-color:var(--fpsg-site);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--fpsg-site) 22%,transparent)}
.fpsg-product-shell .cegg-price_alert .input-group-text{color:var(--fpsg-muted)}
.fpsg-product-shell .cegg-price_alert .btn-warning{background:var(--fpsg-site);border-color:var(--fpsg-site);color:var(--fpsg-bg)}
.fpsg-product-shell .cegg-price_alert .btn-warning:is(:hover,:focus-visible){background:var(--fpsg-text);border-color:var(--fpsg-text);color:var(--fpsg-bg)}
.fpsg-product-shell .cegg-price_alert a{color:var(--fpsg-site);text-underline-offset:3px}
.fpsg-product-shell .cegg-price_alert a:hover{color:var(--fpsg-text)}
.fpsg-product-shell .cegg-price_alert input[type=checkbox]{accent-color:var(--fpsg-site)}
.fpsg-product-shell .cegg-price_alert .text-warning{color:var(--fpsg-site)!important}
.fpsg-product-shell .cegg-price_alert .text-success{color:var(--fpsg-positive)!important}
.fpsg-product-shell .cegg-price_alert .text-danger{color:var(--fpsg-amd)!important}

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

/* 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:var(--fpsg-radius);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:var(--fpsg-radius);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:var(--fpsg-radius);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}

.fpsg-product-shell{padding:0 var(--fpsg-gutter) 72px;--wp--style--global--wide-size:var(--fpsg-max)}
.fpsg-product-shell > .alignwide{width:100%;max-width:var(--fpsg-max);margin-inline:auto}
.fpsg-product-shell .fpsg-product-layout{margin-block:36px 56px}
.fpsg-product-summary h1.wp-block-post-title{margin:0 0 24px;font:600 clamp(40px,4.5vw,70px)/1.04 var(--fpsg-head);letter-spacing:-.025em;overflow-wrap:anywhere}
.fpsg-product-summary > .wp-block-woocommerce-product-price{font:500 clamp(26px,3vw,40px)/1.2 var(--fpsg-mono);color:var(--fpsg-site);margin-block:24px}
.fpsg-product-summary .wp-block-woocommerce-product-meta{margin-top:24px;padding-top:16px;border-top:1px solid var(--fpsg-line);font-size:12px;color:var(--fpsg-muted)}
.fpsg-product-ranking{padding:24px;border:1px solid var(--fpsg-line);background:var(--fpsg-surface);min-width:0}
.fpsg-product-ranking:empty{display:none}
.fpsg-product-shell .wp-block-woocommerce-product-details{margin-top:40px;padding-top:28px;border-top:1px solid var(--fpsg-line)}
.fpsg-product-shell .woocommerce-tabs ul.tabs{list-style:none;display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--fpsg-line);padding:0 0 12px}
.fpsg-product-shell .woocommerce-tabs ul.tabs li{list-style:none;border:1px solid var(--fpsg-line);background:var(--fpsg-surface);border-radius:0;margin:0}
.fpsg-product-shell .woocommerce-tabs ul.tabs li a{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;color:var(--fpsg-muted);font:500 13px/1.5 var(--fpsg-body)}
.fpsg-product-shell .woocommerce-tabs ul.tabs li.active{background:var(--fpsg-site);border-color:var(--fpsg-site)}
.fpsg-product-shell .woocommerce-tabs ul.tabs li.active a{color:var(--fpsg-bg)}
@media(max-width:760px){.fpsg-product-shell{padding-bottom:50px}.fpsg-product-layout{gap:28px}.fpsg-product-shell .fpsg-product-layout{margin-block:28px 36px}.fpsg-product-ranking{padding:20px 16px}}
