/* NovoSite product geometry, with the live gallery and commerce controls. */
/* Rodada 2 (10/10/2026): the showcase uses the shared.css tokens (light and dark), the home's type and button,
   photos as real frames (R6), the Pix/6x line (R8) and the "Antes de pagar" block (R9).
   The --fcf-* names stay only as aliases of those tokens, for any extension that still reads them. */
.fcf-product-page,.fcf-product-editor{--fcf-ground:var(--pagebg);--fcf-panel:var(--panel);--fcf-ink:var(--ink);--fcf-muted:var(--muted);--fcf-line:var(--line);--fcf-accent:var(--accent);--fcf-soft:var(--accent-soft)}
.fcf-product-page{background:var(--pagebg);color:var(--ink);padding-bottom:54px}
.fcf-product-page *, .fcf-product-editor *{box-sizing:border-box}
.fcf-product-wrap{width:min(1120px,calc(100% - 40px));margin-inline:auto}
.fcf-product-page .woocommerce-breadcrumb{margin:0;padding:22px 0;font-size:13px;line-height:1.45;color:var(--muted)}
.fcf-product-page .woocommerce-breadcrumb a{color:inherit}
/* Small inline links (breadcrumb, categories) keep their line but get a 44 px tall touch area. */
.fcf-product-page .woocommerce-breadcrumb a,.fcf-product-meta a{display:inline-block;padding:14px 4px;margin:-14px -4px}
/* Rodada 3 (R11): the breadcrumb line is 20 px (the exception for links inside a breadcrumb asks for it) and each link
   fills the 44 px band (12 + 20 + 12) without reaching into the photo below. */
.fcf-product-page .woocommerce-breadcrumb{line-height:20px}
.fcf-product-page .woocommerce-breadcrumb a{padding-block:12px;margin-block:-12px}
.fcf-product-hero{display:grid;gap:26px;padding-top:8px;padding-bottom:42px}
.fcf-product-page .fcf-product .fcf-product-summary{width:auto;float:none;margin:0;min-width:0}
.fcf-product-page .fcf-product-gallery{min-width:0;position:relative}
.fcf-product-page .fcf-product-gallery div.woocommerce-product-gallery{float:none;width:100%;margin:0}
.fcf-product-gallery .woocommerce-product-gallery__wrapper{margin:0}
/* R6: the photo is the real frame (3 px corner and the frame shadow). The slider viewport clips its children,
   so the shadow sits on the viewport (or on the wrapper when there is a single image). */
.fcf-product-gallery .flex-viewport,.fcf-product-gallery .woocommerce-product-gallery>.woocommerce-product-gallery__wrapper{border-radius:3px;box-shadow:1px 1px 0 rgba(47,43,39,.7),0 14px 26px -18px rgba(47,43,39,.55)}
.fcf-product-gallery .woocommerce-product-gallery__image{border-radius:3px;overflow:hidden;background:var(--wall)}
.fcf-product-gallery .woocommerce-product-gallery__image a{display:block}
.fcf-product-gallery .woocommerce-product-gallery__image img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:3px;display:block}
.fcf-product-gallery .flex-control-nav{display:flex;gap:10px;list-style:none;margin:14px 0 0!important;padding:0;overflow-x:auto}
.fcf-product-gallery .flex-control-nav li{flex:0 0 58px!important;width:58px!important;margin:0!important}
.fcf-product-gallery .flex-control-nav img{width:58px;height:58px;border:2px solid transparent;border-radius:3px;object-fit:cover;cursor:pointer;opacity:.85}
.fcf-product-gallery .flex-control-nav img:hover{opacity:1}
.fcf-product-gallery .flex-control-nav .flex-active{border-color:var(--accent);opacity:1}
.fcf-product-gallery .woocommerce-product-gallery__trigger{position:absolute;right:12px;top:12px;z-index:3;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--panel);text-decoration:none}
/* R1: product H1 in EB Garamond 500, 34 px on phones and 46 px from 900 px. */
.fcf-product-page .fcf-product-heading h1{font-family:"EB Garamond",Georgia,"Times New Roman",serif;font-size:34px;font-weight:500;line-height:1.05;letter-spacing:-.01em;margin:0 0 12px;color:var(--ink);text-wrap:balance}
.fcf-product-lead,.fcf-product-summary .woocommerce-product-details__short-description{font-size:15.5px;line-height:1.5;color:var(--muted);margin:0 0 14px;max-width:46ch}
.fcf-product-summary .woocommerce-product-rating{font-size:14px;margin:16px 0}
.fcf-product-summary .woocommerce-product-rating a{color:var(--accent-text)}
.fcf-product-page .fcf-product-price p.price{font-size:26px;font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums;margin:18px 0 6px;color:var(--ink)}
.fcf-product-price ins{text-decoration:none}
.fcf-product-price del{font-size:15px;color:var(--muted);font-weight:400}
/* Rodada 4 (P12.1): o preço do cadastro, sem frase de preço inicial (decisão do time de 05/10); o valor não quebra. */
.fcf-product-page .fcf-product-price p.price .woocommerce-Price-amount{white-space:nowrap}
/* R8: Pix and card line right under the price. */
.fcf-product-price .fcf-pay{margin:0 0 16px;font-size:14px;line-height:1.45;color:var(--muted);max-width:440px;font-variant-numeric:tabular-nums}
.fcf-product-price .fcf-pay-card{white-space:nowrap}
.fcf-product-price .fcf-pay b{color:var(--ink);font-weight:600}
.fcf-product-page :is(.fcf-money,.fcf-nowrap){white-space:nowrap}
.fcf-product-launch{margin-top:22px;max-width:440px}
/* R2: home button (pill, 52 px, Inter 600 16 px, no arrow). The native add-to-cart button gets it only on the page
   (without the editor); inside the editor dialog the editor rules below keep their look. */
.fcf-product-cta,.fcf-product-page .fcf-product-summary>.fcf-product-purchase button.single_add_to_cart_button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:52px;background:var(--accent);color:var(--accent-ink);border:0;border-radius:999px;padding:14px 24px;font-family:inherit;font-weight:600;font-size:16px;line-height:1.35;width:100%;cursor:pointer;transition:background-color .15s}
.fcf-product-cta:hover,.fcf-product-page .fcf-product-summary>.fcf-product-purchase button.single_add_to_cart_button:hover{background:#bf2246}
.fcf-product-page :focus-visible,.fcf-product-editor button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.fcf-product-launch p{color:var(--muted);font-size:13px;line-height:1.45;text-align:center;margin:10px 0 0}
/* R9: "Antes de pagar", the same block as .v-assure in the prototypes. */
.fcf-assure{list-style:none;margin:18px 0 0;padding:14px 0 0;border-top:1px solid var(--line);display:grid;gap:10px;max-width:420px;font-size:14px;line-height:1.45;color:var(--muted)}
.fcf-assure li{margin:0}
.fcf-assure b{display:block;color:var(--ink);font-weight:600}
.fcf-assure a{color:var(--accent-text);font-weight:600;text-underline-offset:2px}
/* Text links keep the line height but get a 44 px tall touch area. */
.fcf-assure a.fcf-assure-link{display:inline-block;padding-block:12px;margin-block:-12px}
.fcf-assure-garantia a.fcf-assure-link{display:block;width:fit-content;margin:-6px 0 -12px}
.fcf-delivery{margin-top:16px;max-width:440px;scroll-margin-top:96px}
.fcf-delivery :is(input[type=text],input[type=tel],input[type=number],select){min-height:44px;max-width:100%;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--panel);color:var(--ink);font:inherit}
.fcf-delivery :is(button,input[type=submit]){min-height:44px;border:1.5px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink);padding:10px 16px;font:inherit;font-weight:600;cursor:pointer}
.fcf-product-page mark.todo{background:#fff1c9;color:#6b4a00;border-radius:4px;padding:0 4px;font-weight:500;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.fcf-product-meta{border-top:1px solid var(--line);margin-top:24px;padding-top:16px;font-size:13px;line-height:1.45;color:var(--muted)}
.fcf-product-meta .product_meta{display:grid;gap:7px}
.fcf-product-meta a{color:inherit}
/* Rodada 4 (P12.4): as abas do WooCommerce viram seções empilhadas de largura total, alternando branco e a cor de parede
   (R5), cada uma com o título em Garamond. Upsells e relacionados (mesmo gancho) continuam na largura da página. */
.fcf-product-detail{border-top:1px solid var(--line)}
.fcf-product-detail>:not(.fcf-product-sections){width:min(1120px,calc(100% - 40px));margin-inline:auto}
.fcf-product-section{padding-block:48px;background:var(--pagebg);scroll-margin-top:72px}
.fcf-product-section:nth-child(odd){background:var(--wall)}
.fcf-product-section-in{width:min(1120px,calc(100% - 40px));margin-inline:auto}
/* R1: h2 de seção em Garamond 500 (ganha do ".fcf-site .woocommerce h2{font-size:22px}" do commerce.css). */
.fcf-product-page.woocommerce .fcf-product-detail h2{font-family:"EB Garamond",Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(30px,4.2vw,44px);line-height:1.06;letter-spacing:-.01em;color:var(--ink)}
.fcf-product-page.woocommerce .fcf-product-detail h2.fcf-product-section-title{margin:0 0 24px}
.fcf-product-section-body{font-size:15.5px;line-height:1.55;color:var(--ink)}
.fcf-product-section-body>:first-child{margin-top:0}
.fcf-product-section-body>:last-child{margin-bottom:0}
.fcf-product-section-body>p,.fcf-product-section-body .woocommerce-noreviews{max-width:62ch}
/* Texto rosa sobre a parede: --accent-text (R4). Ganha do ".fcf-site .woocommerce a" do commerce.css. */
.fcf-product-page.woocommerce .fcf-product-section a{color:var(--accent-text);font-weight:600;text-underline-offset:2px}
/* "Como funciona": o padrão da home (número em Garamond 40 px rosa, sem caixa). */
.fcf-steps{list-style:none;margin:0;padding:0;display:grid;gap:22px;counter-reset:fcf-step}
.fcf-steps li{display:grid;grid-template-columns:44px 1fr;column-gap:14px;row-gap:3px;align-items:baseline}
.fcf-steps li::before{counter-increment:fcf-step;content:counter(fcf-step);grid-row:span 2;font-family:"EB Garamond",Georgia,serif;font-size:40px;line-height:.8;font-weight:500;color:var(--accent);font-variant-numeric:lining-nums}
.fcf-steps b{font-size:16px;font-weight:600}
.fcf-steps span{color:var(--muted);font-size:14.5px;line-height:1.5;max-width:40ch}
.fcf-steps a.fcf-assure-link{display:inline-block;padding-block:12px;margin-block:-12px}
/* "Medidas e detalhes": linhas de rótulo e valor, sem caixa. */
.fcf-specs{margin:0;display:grid;gap:0;max-width:720px}
.fcf-specs>div{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:4px 20px;padding:12px 0;border-top:1px solid var(--line)}
.fcf-specs>div:last-child{border-bottom:1px solid var(--line)}
.fcf-specs dt{font-weight:600;font-size:14px;color:var(--ink)}
.fcf-specs dd{margin:0;font-size:15px;color:var(--ink)}
.fcf-specs+table.shop_attributes{margin-top:24px}
/* Avaliações: o título da seção já diz "Avaliações (N)"; o h2 do WooCommerce repetiria. O formulário continua. */
.fcf-product-section .woocommerce-Reviews-title{display:none}
.fcf-product-section #reviews{display:grid;gap:24px;max-width:720px}
.fcf-product-section .woocommerce-noreviews{margin:0;color:var(--muted)}
/* Cartões de avaliação com os tokens (R5: raio de 4 px e linha --line; claro e escuro). */
.fcf-product-page.woocommerce .fcf-product-section #reviews #comments ol.commentlist{margin:0;padding:0}
.fcf-product-page.woocommerce .fcf-product-section #reviews #comments ol.commentlist li .comment-text{border:1px solid var(--line);border-radius:4px;background:var(--panel);color:var(--ink)}
.fcf-product-page.woocommerce .fcf-product-section #reviews #comments ol.commentlist li .comment-text p.meta{color:var(--muted);font-size:14px}
.fcf-product-page.woocommerce .fcf-product-section #reviews #comments ol.commentlist li .comment-text p.meta strong{color:var(--ink)}
.fcf-product-section .comment-reply-title{display:block;font-size:17px;font-weight:600;line-height:1.3;margin:0 0 12px}
.fcf-product-section #respond :is(input[type=text],input[type=email],textarea,select){width:100%;max-width:100%;min-height:44px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--panel);color:var(--ink);font:inherit;box-sizing:border-box}
.fcf-product-section #respond label{display:block;font-size:14px;font-weight:600;margin:0 0 6px}
.fcf-product-section #respond p,.fcf-product-section #respond .comment-form-rating{margin:0 0 14px}
.fcf-product-page.woocommerce .fcf-product-section #respond input#submit{min-height:44px;padding:10px 22px;border:1.5px solid var(--line);border-radius:999px;background:var(--panel);color:var(--ink);font:inherit;font-weight:600;cursor:pointer}
.fcf-product-page .fcf-product-section #respond :is(input,select,textarea):focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:1px}
/* Nome da 2ª foto da galeria (a cena), abaixo das miniaturas: sem selo sobre a foto (R6). */
.fcf-scene-note{margin:12px 0 0;font-size:13px;line-height:1.45;color:var(--muted)}
.fcf-scene-note b{color:var(--ink);font-weight:600}
.fcf-product-purchase form.cart{margin:20px 0;display:block}
.fcf-product-purchase :is(input[type=text],input[type=number],input[type=email],select,textarea){max-width:100%;min-height:44px;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:var(--panel);color:var(--ink);font:inherit}
.fcf-product-purchase label{font-size:14px}
.fcf-product-purchase .quantity{margin:16px 0}
.fcf-product-purchase input.qty{max-width:96px}
.fcf-product-purchase .variations{width:100%;margin-block:18px}
.fcf-product-purchase .variations th{padding-right:12px;text-align:left}
.fcf-product-editor{width:min(1280px,94vw);max-width:none;max-height:94dvh;margin:3dvh auto;padding:0;border:0;border-radius:18px;background:var(--pagebg);color:var(--ink);box-shadow:0 30px 80px #0005;overflow:auto}
.fcf-product-editor::backdrop{background:#0c100fa1}
.fcf-editor-open{overflow:hidden}
.fcf-editor-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 24px;border-bottom:1px solid var(--line);background:var(--panel);position:sticky;top:0;z-index:20}
.fcf-editor-bar span{font-size:12px;line-height:1.3;color:var(--muted)}
.fcf-editor-bar h2{font-size:18px;line-height:1.3;letter-spacing:-.02em;margin:3px 0 0}
.fcf-editor-close{border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--ink);width:40px;height:40px;font-size:26px;flex-shrink:0;cursor:pointer}
.fcf-editor-body{padding:24px;width:min(100%,1040px);margin:auto}
.fcf-product-editor .fcf-product-purchase form.cart{margin:0}
.fcf-product-editor .fm-personalizador,.fcf-product-editor .fm-desk{padding:0;border:0;background:transparent}
.fcf-product-editor .fm-preview-header__price{color:var(--accent)!important}
.fcf-product-editor .fm-preview-header__intro{font-size:14px!important;color:var(--muted)}
.fcf-product-editor :is(.fm-aq__options,.fm-personalizador__profile-options){gap:16px}
.fcf-product-editor :is(.fm-aq__field,.fm-personalizador__option-group){border-color:var(--line);border-radius:14px}
.fcf-product-editor :is(.fm-aq__choice-grid button,.fm-personalizador__segmented button,.fm-personalizador__option-button){border-color:var(--line);border-radius:12px;font-size:14px}
.fcf-product-editor :is(.fm-aq__choice-grid button.is-active,.fm-personalizador__segmented button.is-active){background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.fcf-product-editor :is(.fm-aq__bulk-upload,.fm-aq__photo-picker){border-color:#b9c6bd;background:#f1f4ef}
.fcf-product-editor .fm-aq__summary{border-color:var(--line);background:var(--panel)}
.fcf-product-editor :is(.fm-aq__summary button,.single_add_to_cart_button){background:var(--accent);color:var(--accent-ink);border-radius:12px}
.fcf-product-editor :is(.fm-aq__total strong,.fm-aq__summary strong,.fm-preview-purchase-total){color:var(--accent)}
.fcf-product-editor .fm-aq__progress span{background:var(--accent)}
.fcf-product-editor .fm-personalizador__canvas-wrap{background:#ece9e2;border-radius:14px;box-shadow:none}
.fcf-product-editor .single_add_to_cart_button{width:100%;padding:17px;margin-top:14px;border:0;font-size:16px;font-weight:600}
.fcf-product-sticky{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:30;width:min(620px,92vw);padding:10px 12px 10px 18px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 -5px 24px #0001;display:flex;align-items:center;gap:16px}
.fcf-product-sticky>div{flex:1;min-width:0;font-size:12px;line-height:1.35;color:var(--muted)}
.fcf-product-sticky>div>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fcf-product-sticky strong,.fcf-product-sticky small{display:block;color:var(--ink);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}
/* The Pix line stands in for the catalogue price until the editor publishes its own total (product.js). */
.fcf-product-sticky [data-fcf-sticky-inst]:not([hidden])+[data-fcf-current-price]{display:none}
.fcf-product-sticky .fcf-product-cta{width:auto;min-height:48px;padding:12px 20px;font-size:15px}
.fcf-product-page [hidden]{display:none!important}
/* Rodada 3 (R12): a field or link that receives focus never ends up under the fixed bar (72 px on phones,
   86 px from the bottom on computers, plus 16 px). */
html:has(.fcf-product-sticky){scroll-padding-bottom:calc(88px + env(safe-area-inset-bottom))}
@media(min-width:900px){html:has(.fcf-product-sticky){scroll-padding-bottom:102px}}
/* The bar never covers the last footer links once it shows. */
body:has(.fcf-product-sticky:not([hidden])) .v-foot{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
@media(min-width:900px){.fcf-product-section{padding-block:80px}.fcf-steps{grid-template-columns:repeat(3,1fr);gap:40px}.fcf-specs>div{grid-template-columns:200px 1fr}}
@media(min-width:900px){.fcf-product-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px}.fcf-product-summary{align-self:start;position:sticky;top:95px}.fcf-product-enhanced .fcf-product-summary{padding-top:8px}.fcf-product-page .fcf-product-heading h1{font-size:46px;margin-bottom:16px}.fcf-product-lead,.fcf-product-summary .woocommerce-product-details__short-description{font-size:17px}.fcf-product-page .fcf-product-price p.price{font-size:28px}.fcf-product-editor .fm-personalizador--amor-quadrado{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px}.fcf-product-editor .fm-personalizador--amor-quadrado>.fm-preview-header{grid-column:1/-1;margin-bottom:0!important}.fcf-product-editor .fm-aq__photos{grid-column:1;grid-row:2}.fcf-product-editor .fm-aq__options{grid-column:2;grid-row:2;align-self:start}.fcf-product-editor .fm-aq__summary,.fcf-product-editor .fm-aq__status{grid-column:1/-1}.fcf-product-editor .fm-aq__facts{display:none}}
@media(max-width:899px){.fcf-product-wrap,.fcf-product-section-in,.fcf-product-detail>:not(.fcf-product-sections){width:calc(100% - 32px)}.fcf-specs>div{grid-template-columns:1fr}.fcf-product-editor{inset:0;width:100%;height:100dvh;max-height:100dvh;margin:0;border-radius:0}.fcf-editor-bar{padding:12px 16px}.fcf-editor-body{padding:18px 16px calc(24px + env(safe-area-inset-bottom))}.fcf-product-sticky{left:0;bottom:0;transform:none;width:100%;border-radius:0;border-width:1px 0 0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:12px}.fcf-product-sticky small{font-size:13px}.fcf-product-sticky .fcf-product-cta{padding:12px 16px}.fcf-product-editor .fm-aq__options{display:grid;grid-template-columns:1fr}.fcf-product-editor .fm-aq__photos{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.fcf-product-page *{scroll-behavior:auto!important}.fcf-product-cta{transition:none}}

.fcf-product-unavailable{padding:16px;border:1px solid var(--line);border-radius:4px;background:var(--panel);line-height:1.6;color:var(--muted)}

/* Phones: 4:3 photo without bands (R6) and dots with a 44 px touch area (the visible dot stays 8 px).
   Rodada 4 (P12.2): the breadcrumb keeps one line (the product name, repeated in the h1 right below, ends in "…"), so the
   main button of the longest names still ends in the first screen of 390 × 844 (rule 11). */
@media(max-width:899px){.fcf-product-gallery .woocommerce-product-gallery__image img{aspect-ratio:4/3;height:auto;object-fit:cover}.fcf-product-page .woocommerce-breadcrumb{padding:12px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fcf-product-hero{gap:18px;padding-top:0}.fcf-product-gallery .flex-control-nav{justify-content:center;gap:0;margin:2px 0 -10px!important;overflow:visible}.fcf-product-gallery .flex-control-nav li{flex:0 0 44px!important;width:44px!important;height:44px;position:relative}.fcf-product-gallery .flex-control-nav li::before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--muted);opacity:.45;pointer-events:none}.fcf-product-gallery .flex-control-nav li:has(.flex-active)::before{background:var(--accent);opacity:1}.fcf-product-gallery .flex-control-nav li img,.fcf-product-gallery .flex-control-nav li .flex-active{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;opacity:0}.fcf-product-page .fcf-product-heading h1{margin-bottom:8px}.fcf-product-page .fcf-product-price p.price{margin:14px 0 4px}.fcf-product-price .fcf-pay{margin-bottom:12px}.fcf-product-launch{margin-top:16px}.fcf-product-summary .fcf-product-lead{margin-bottom:8px}}

/* Brand controls only: artwork, frame edges and photo colour modes remain editor-owned. */
.fcf-product-editor .fm-aq__summary button,
.fcf-product-editor #fm-aq-summary-action{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--accent-ink)!important}
.fcf-product-editor .fm-aq__bulk-upload,
.fcf-product-editor #fm-aq-bulk-label{border-color:var(--accent)!important;background:var(--accent-soft)!important;color:var(--accent)!important}
.fcf-product-editor .fm-aq__choice-grid button.is-active,
.fcf-product-editor .fm-personalizador__segmented button.is-active{border-color:var(--accent)!important;background:var(--accent-soft)!important;color:var(--accent)!important;box-shadow:inset 0 0 0 1px var(--accent)!important}
.fcf-product-editor .fm-aq__photo-card.is-selected .fm-aq__photo-picker{border-color:var(--accent);box-shadow:0 0 0 2px #d6284f24}
.fcf-product-editor .fm-aq__zoom input{accent-color:var(--accent)}
.fcf-product-editor .fm-aq__choice-grid button:focus-visible,
.fcf-product-editor .fm-aq__summary button:focus-visible,
.fcf-product-editor .fm-aq__bulk-upload:focus-within,
.fcf-product-editor .fm-aq__photo-picker:focus-within{outline-color:var(--accent)!important}
.fcf-product-summary .v-facts{display:flex;gap:18px;flex-wrap:wrap;margin:0 0 4px;font-size:12.5px;line-height:1.35;color:var(--muted)}
.fcf-product-summary .v-facts span{display:flex;flex-direction:column}
.fcf-product-summary .v-facts b{color:var(--ink);font-size:14px}

/* Personalizador em tela única (Previa, novo Amor ao Quadrado): o diálogo vira a camada do app. */
.fcf-product-editor:has(.fm-aq-app)[open]{display:flex;flex-direction:column;overflow:hidden;height:94dvh}
.fcf-product-editor:has(.fm-aq-app) .fcf-editor-bar{flex:none;padding-block:10px}
.fcf-product-editor:has(.fm-aq-app) .fcf-editor-body{flex:1;min-height:0;padding:0;display:flex;flex-direction:column;width:100%;max-width:none;margin:0}
.fcf-editor-body:has(.fm-aq-app) .fcf-product-purchase{flex:1;min-height:0;display:flex;flex-direction:column}
/* Anything printed inside .fcf-product-purchase besides the form is hidden here (a shipping calculator too):
   delivery simulators belong on the fcf_site_product_delivery hook, which prints outside the dialog. */
.fcf-editor-body:has(.fm-aq-app) .fcf-product-purchase>:not(form.cart){display:none}
.fcf-editor-body:has(.fm-aq-app) form.cart{flex:1;min-height:0;display:flex;flex-direction:column;margin:0}
.fcf-editor-body:has(.fm-aq-app) form.cart>*:not(.fm-aq-app){flex:none}
.fcf-editor-body:has(.fm-aq-app) .fm-aq-app{flex:1;min-height:0}
@media(max-width:899px){.fcf-product-editor:has(.fm-aq-app)[open]{height:100dvh}}
/* Telas grandes: o personalizador do Previa usa quase toda a largura (como a camada do próprio Previa na loja); a prévia cresce junto. */
@media(min-width:900px){.fcf-product-editor:has(:is(.fm-aq-app,.fm-desk-collection-app,.fm-kit-collection-app,.fm-collage-app,.fm-text-art-app,.fm-magnet-collection-app)){width:min(2200px,96vw)}}
@media(max-width:899px){.fcf-product-editor:has(.fm-aq-app) .fcf-editor-bar span{display:none}.fcf-product-editor:has(.fm-aq-app) .fcf-editor-bar h2{font-size:17px!important;margin:0!important}.fcf-product-editor:has(.fm-aq-app) .fcf-editor-bar{padding-block:6px}}

/* Selo de oferta na cor da marca (o padrão do WooCommerce é verde-oliva) */
.fcf-product-page span.onsale{background:var(--accent);color:var(--accent-ink);min-width:0;min-height:0;padding:6px 12px;border-radius:999px;line-height:1.2;font-size:12px;font-weight:600}

/* Dark mode: tokens switch in shared.css; only the fixed colours below need their dark values. */
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .fcf-product-page mark.todo{background:#4a3a12;color:#ffe3a1}:root:not([data-theme="light"]) .fcf-product-cta:hover,:root:not([data-theme="light"]) .fcf-product-page .fcf-product-summary>.fcf-product-purchase button.single_add_to_cart_button:hover{background:var(--accent);filter:brightness(1.08)}}
:root[data-theme="dark"] .fcf-product-page mark.todo{background:#4a3a12;color:#ffe3a1}
:root[data-theme="dark"] .fcf-product-cta:hover,:root[data-theme="dark"] .fcf-product-page .fcf-product-summary>.fcf-product-purchase button.single_add_to_cart_button:hover{background:var(--accent);filter:brightness(1.08)}
