.pfc-scarcity-overview,.pfc-options-panel,.pfc-option-scarcity{--pfc-accent:#2563eb;--pfc-strong:#111827;--pfc-muted:#64748b;--pfc-border:rgba(15,23,42,.12);--pfc-bg:#fff;box-sizing:border-box}.pfc-state-low{--pfc-accent:#d97706}.pfc-state-critical{--pfc-accent:#dc2626}.pfc-state-sold_out{--pfc-accent:#64748b}.pfc-scarcity-overview{position:relative;overflow:hidden;border:1px solid var(--pfc-border);border-radius:16px;padding:18px;margin:16px 0;background:linear-gradient(135deg,var(--pfc-bg),color-mix(in srgb,var(--pfc-accent) 7%,var(--pfc-bg)));box-shadow:0 10px 30px rgba(15,23,42,.07)}.pfc-scarcity-overview:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--pfc-accent)}.pfc-overview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.pfc-stock-label{font-size:11px;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:var(--pfc-accent);margin-bottom:5px}.pfc-stock-message{font-size:18px;line-height:1.25;font-weight:800;color:var(--pfc-strong)}.pfc-urgency-badge,.pfc-option-state{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:var(--pfc-accent);background:color-mix(in srgb,var(--pfc-accent) 10%,#fff);border:1px solid color-mix(in srgb,var(--pfc-accent) 25%,transparent)}.pfc-stock-meter{height:9px;border-radius:999px;background:rgba(100,116,139,.18);overflow:hidden;margin-top:14px}.pfc-stock-meter span{display:block;height:100%;min-width:0;background:linear-gradient(90deg,color-mix(in srgb,var(--pfc-accent) 72%,#fff),var(--pfc-accent));border-radius:inherit;transition:width .35s ease}.pfc-stock-meter.is-compact{height:6px;margin-top:9px}.pfc-stock-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:9px;font-size:12px;color:var(--pfc-muted)}.pfc-stock-meta strong{color:var(--pfc-strong)}.pfc-option-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px;margin-top:14px}.pfc-option-chip{border:1px solid var(--pfc-border);border-radius:11px;padding:10px 11px;background:rgba(255,255,255,.72)}.pfc-option-chip-title{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--pfc-strong)}.pfc-option-chip-title span{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pfc-option-chip-title strong{font-size:12px}.pfc-option-chip-stock{margin-top:4px;font-size:11px;color:var(--pfc-muted)}.pfc-option-chip-stock b{color:var(--pfc-accent);font-size:14px}.pfc-option-scarcity{margin-top:8px;border:1px solid color-mix(in srgb,var(--pfc-accent) 24%,transparent);border-radius:10px;padding:9px 10px;background:color-mix(in srgb,var(--pfc-accent) 5%,#fff)}.pfc-option-scarcity-top{display:flex;align-items:center;gap:8px;min-width:0}.pfc-live-dot{width:7px;height:7px;border-radius:50%;background:var(--pfc-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--pfc-accent) 12%,transparent);flex:0 0 auto}.pfc-option-message{display:flex;flex:1;min-width:0;flex-direction:column;gap:1px}.pfc-option-message strong{font-size:12px;line-height:1.25;color:var(--pfc-strong)}.pfc-option-message small{font-size:10px;line-height:1.2;color:var(--pfc-muted)}.pfc-option-state{padding:4px 7px;font-size:9px}.pfc-option-identity{display:flex;min-width:110px;flex-direction:column}.pfc-option-identity strong{font-size:12px;color:var(--pfc-strong)}.pfc-option-identity span{font-size:11px;color:var(--pfc-muted)}.pfc-options-panel{margin:16px 0}.pfc-options-panel>.pfc-stock-label{margin-bottom:9px}.pfc-options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.pfc-option-standalone{margin:0;padding:12px}.pfc-has-option-scarcity{position:relative}.pfc-has-option-scarcity>.pfc-option-scarcity{width:100%}.pfc-stock-badge{color:var(--pfc-accent);display:inline-flex;align-items:center;border:1px solid currentColor;border-radius:999px;padding:3px 8px;margin-top:6px;font-size:11px;font-weight:700}.pfc-checkout-stock{color:var(--pfc-accent);font-size:12px;font-weight:700;margin-top:4px}.pfc-is-hidden{display:none!important}.pfc-state-critical .pfc-live-dot{animation:pfcPulse 1.6s ease-out infinite}@keyframes pfcPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--pfc-accent) 35%,transparent)}70%{box-shadow:0 0 0 7px transparent}100%{box-shadow:0 0 0 0 transparent}}@media(prefers-reduced-motion:reduce){.pfc-state-critical .pfc-live-dot{animation:none}.pfc-stock-meter span{transition:none}}@media(max-width:640px){.pfc-overview-head{align-items:flex-start;flex-direction:column}.pfc-stock-message{font-size:16px}.pfc-urgency-badge{align-self:flex-start}.pfc-option-strip,.pfc-options-grid{grid-template-columns:1fr}.pfc-option-scarcity-top{align-items:flex-start;flex-wrap:wrap}.pfc-option-state{margin-left:auto}}

/* Keep FluentCart's variation grid stable while hook output is moved into each option card.
   Top-level PFC blocks are temporary server-rendered siblings and must never become grid cells. */
.fct-product-variants>.pfc-option-scarcity:not(.pfc-option-standalone){display:none!important}
.fct-product-variants>.fct-product-variant-item.pfc-has-option-scarcity{min-width:0}
.fct-product-variant-item>.pfc-option-scarcity{display:block;min-width:0;width:100%}

/* Sequential pricing / stock-gated tiers */
.pfc-sequence-summary{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--pfc-accent) 7%,#fff);border:1px solid color-mix(in srgb,var(--pfc-accent) 18%,transparent);font-size:12px;color:var(--pfc-muted)}.pfc-sequence-summary strong{color:var(--pfc-strong)}.pfc-option-chip.pfc-sequence-active{border-color:color-mix(in srgb,var(--pfc-accent) 42%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pfc-accent) 9%,transparent)}.pfc-option-chip.pfc-sequence-locked{opacity:.86;background:color-mix(in srgb,var(--pfc-accent) 5%,var(--pfc-bg))}.pfc-option-chip.pfc-sequence-closed{opacity:.62}.pfc-option-scarcity.pfc-sequence-locked{background:color-mix(in srgb,var(--pfc-accent) 5%,var(--pfc-bg));border-style:dashed}.pfc-option-scarcity.pfc-sequence-closed{background:color-mix(in srgb,var(--pfc-accent) 4%,var(--pfc-bg));opacity:.78}.pfc-option-scarcity.pfc-sequence-active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pfc-accent) 8%,transparent)}.pfc-next-tier-price{font-weight:700;color:var(--pfc-accent)!important}.fct-product-variant-item.pfc-sequence-locked,.fct-product-variant-item.pfc-sequence-closed{cursor:not-allowed}.fct-product-variant-item.pfc-sequence-locked>.variant-content,.fct-product-variant-item.pfc-sequence-closed>.variant-content{opacity:.72}.fct-product-variant-item.pfc-sequence-locked.pfc-hide-locked-price .fct-product-variant-price{display:none!important}.fct-product-variant-item.pfc-sequence-active{border-color:color-mix(in srgb,var(--pfc-accent,#2563eb) 45%,var(--fct-single-product-border-color,#d6dae1))}
.pfc-sequence-marker-only{display:none!important}

/* Sequential visibility is a real display rule, not just the HTML hidden attribute.
   FluentCart cards declare display:flex, which can override the browser's default
   [hidden] rule. The explicit class fixes that, while :has() prevents a first-paint
   flash before the footer script moves the Plus marker into the card. */
.fct-product-variant-item.pfc-tier-hidden{display:none!important}
.fct-product-variant-item:has(+ .pfc-option-scarcity[data-pfc-sequence-status="locked"][data-pfc-show-locked="0"]),
.fct-product-variant-item:has(> .pfc-option-scarcity[data-pfc-sequence-status="locked"][data-pfc-show-locked="0"]){display:none!important}
.fct-product-variant-item:has(+ .pfc-option-scarcity[data-pfc-sequence-status="closed"][data-pfc-show-closed="0"]),
.fct-product-variant-item:has(> .pfc-option-scarcity[data-pfc-sequence-status="closed"][data-pfc-show-closed="0"]){display:none!important}

/* Storefront Tweaks: Back to Shop */
.pfc-back-to-shop-wrap{width:100%;max-width:1290px;margin:0 auto 14px;box-sizing:border-box}.pfc-back-to-shop{display:inline-flex;align-items:center;gap:7px;text-decoration:none;font-weight:650;line-height:1.2;color:inherit;transition:opacity .15s ease,transform .15s ease}.pfc-back-to-shop:hover{opacity:.76}.pfc-back-to-shop:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:4px}.pfc-back-to-shop-icon{font-size:1.05em;line-height:1;transition:transform .15s ease}.pfc-back-to-shop:hover .pfc-back-to-shop-icon{transform:translateX(-2px)}.pfc-back-to-shop--button{padding:9px 13px;border:1px solid currentColor;border-radius:8px}.pfc-back-to-shop--button:hover{transform:translateY(-1px)}@media(max-width:1290px){.pfc-back-to-shop-wrap{padding-left:30px;padding-right:30px}}@media(max-width:640px){.pfc-back-to-shop-wrap{padding-left:16px;padding-right:16px;margin-bottom:12px}}
