/* Dedicated checkout extension. Existing showroom, WordPress footer and consent UI remain outside this scope. */
.fg-checkout-bridge,
.fg-checkout-native-note {
  --fgc-ink: #191d19;
  --fgc-muted: #5b6359;
  --fgc-gold: #ffcc20;
  --fgc-line: #d8dcd2;
  box-sizing: border-box;
  font: 400 15px/1.6 'DM Sans', system-ui, sans-serif;
  letter-spacing: 0;
  color: var(--fgc-ink);
  background: #fffef7;
  border: 1px solid var(--fgc-line);
  border-top: 3px solid var(--fgc-gold);
  border-radius: 8px;
  padding: 22px;
  margin: 22px 0;
  text-align: left;
}
.fg-checkout-bridge *, .fg-checkout-native-note * { box-sizing: border-box; }
.fg-checkout-bridge h3 { font: 600 clamp(19px, 2.8vw, 23px)/1.18 'DM Sans', system-ui, sans-serif; letter-spacing: -.55px; margin: 0 0 12px; color: var(--fgc-ink); }
.fg-checkout-bridge p, .fg-checkout-native-note p { margin: 0 0 12px; font-family: inherit; }
.fg-checkout-bridge p:last-child, .fg-checkout-native-note p:last-child { margin-bottom: 0; }
.fg-checkout-bridge .fg-checkout-eyebrow, .fg-checkout-native-note .fg-checkout-eyebrow { font-size: 10px; font-weight: 650; letter-spacing: 1.5px; line-height: 1.5; color: var(--fgc-muted); margin-bottom: 10px; }
.fg-checkout-bridge .fg-checkout-status { font-size: 15px; }
.fg-checkout-bridge .fg-checkout-count { font-size: 14px; font-weight: 650; }
.fg-checkout-bridge .fg-checkout-note, .fg-checkout-native-note .fg-checkout-note { font-size: 13px; line-height: 1.6; color: var(--fgc-muted); }
.fg-checkout-bridge .fg-checkout-issue, .fg-checkout-bridge .fg-checkout-issues { font-size: 13px; color: #744a19; background: #fff4dd; border-radius: 4px; padding: 10px 12px; margin: 12px 0; }
.fg-checkout-bridge .fg-checkout-issues { padding-left: 28px; }
.fg-checkout-bridge .fg-checkout-issues li + li { margin-top: 6px; }
.fg-checkout-bridge .fg-checkout-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
  min-height: 48px;
  margin: 16px 0 12px;
  padding: 13px 16px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: var(--fgc-gold);
  color: var(--fgc-ink);
  font: 650 15px/1.4 'DM Sans', system-ui, sans-serif;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  transition: background .15s ease;
}
.fg-checkout-bridge .fg-checkout-button:hover { background: #ffda58; color: var(--fgc-ink); }
.fg-checkout-bridge .fg-checkout-button:focus-visible { outline: 3px solid #191d19; outline-offset: 4px; }
.fg-checkout-bridge .fg-checkout-button:disabled { opacity: .65; cursor: wait; }
.fg-checkout-bridge .fg-checkout-button-secondary { background: transparent; border-color: #a8b0a3; }
.fg-checkout-bridge .fg-checkout-button-secondary:hover { background: #f2f2e9; }
.fg-checkout-bridge .fg-checkout-reassurance { font-size: 11px; line-height: 1.6; color: var(--fgc-muted); margin-top: 12px; }
.fg-checkout-bridge[data-state="ready"] { border-color: #bbcbb1; border-top-color: var(--fgc-gold); }
.fg-checkout-bridge[data-state="transferring"] { border-color: #b7bba9; }
.fg-checkout-item-status { display: block; margin: 8px 0 0 !important; padding: 4px 7px; width: fit-content; max-width: 100%; color: #715326 !important; background: #fff4dc; border-radius: 3px; font: 500 13px/1.45 'DM Sans', system-ui, sans-serif !important; overflow-wrap: anywhere; }
.fg-checkout-item-status[data-state="eligible"] { color: #334a2b !important; background: #edf3e6; }
/* Native WooCommerce screens: scoped to commerce content, preserving its forms, notices and totals. */
body.fg-checkout-commerce:not(.fg-studio).woocommerce-cart .woocommerce,
body.fg-checkout-commerce:not(.fg-studio).woocommerce-checkout .woocommerce,
body.fg-checkout-commerce:not(.fg-studio).woocommerce-cart .wp-block-woocommerce-cart,
body.fg-checkout-commerce:not(.fg-studio).woocommerce-checkout .wp-block-woocommerce-checkout {
  font-family: 'DM Sans', system-ui, sans-serif;
  color: #191d19;
  line-height: 1.55;
}
body.fg-checkout-commerce:not(.fg-studio).woocommerce-cart .woocommerce-cart-form,
body.fg-checkout-commerce:not(.fg-studio).woocommerce-cart .cart-collaterals .cart_totals,
body.fg-checkout-commerce:not(.fg-studio).woocommerce-checkout form.woocommerce-checkout,
body.fg-checkout-commerce:not(.fg-studio).woocommerce-cart .wc-block-cart,
body.fg-checkout-commerce:not(.fg-studio).woocommerce-checkout .wc-block-checkout { margin-bottom: 32px; }
body.fg-checkout-commerce:not(.fg-studio).woocommerce-cart .woocommerce table.shop_table,
body.fg-checkout-commerce:not(.fg-studio).woocommerce-checkout .woocommerce table.shop_table {
  border: 1px solid #d8dcd2;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}
body.fg-checkout-commerce:not(.fg-studio).woocommerce-cart .woocommerce table.shop_table th,
body.fg-checkout-commerce:not(.fg-studio).woocommerce-checkout .woocommerce table.shop_table th { color: #191d19; font-weight: 650; background: #f6f6ee; }
body.fg-checkout-commerce:not(.fg-studio).woocommerce-cart .woocommerce table.shop_table :is(th, td),
body.fg-checkout-commerce:not(.fg-studio).woocommerce-checkout .woocommerce table.shop_table :is(th, td) { padding: 14px; vertical-align: middle; }
body.fg-checkout-commerce:not(.fg-studio).woocommerce-cart .woocommerce a.remove { border-radius: 50%; }
body.fg-checkout-commerce:not(.fg-studio).woocommerce-cart .woocommerce .product-name a { color: #273924; text-decoration: underline; text-underline-offset: 3px; }
body.fg-checkout-commerce:not(.fg-studio).woocommerce-checkout .woocommerce :is(h2, h3),
body.fg-checkout-commerce:not(.fg-studio).woocommerce-cart .woocommerce h2 { font-family: inherit; font-weight: 600; letter-spacing: -.6px; color: #191d19; }
body.fg-checkout-commerce:not(.fg-studio).woocommerce-checkout .woocommerce .form-row label { color: #303c2c; font-weight: 550; font-size: 14px; }
body.fg-checkout-commerce:not(.fg-studio).woocommerce-cart .woocommerce :is(input.input-text, select),
body.fg-checkout-commerce:not(.fg-studio).woocommerce-checkout .woocommerce :is(input.input-text, textarea, select),
body.fg-checkout-commerce:not(.fg-studio).woocommerce-checkout .woocommerce .select2-container--default .select2-selection--single {
  border: 1px solid #bfc8b7;
  border-radius: 4px;
  background-color: #fff;
  color: #191d19;
  font: inherit;
  min-height: 44px;
  padding: 10px 12px;
}
body.fg-checkout-commerce:not(.fg-studio).woocommerce-cart .woocommerce input.qty { min-width: 66px; padding: 9px 6px; }
body.fg-checkout-commerce:not(.fg-studio).woocommerce-checkout .woocommerce .form-row :is(input, textarea, select):focus-visible,
body.fg-checkout-commerce:not(.fg-studio).woocommerce-cart .woocommerce :is(input, select, button, a):focus-visible { outline: 3px solid #a88308; outline-offset: 3px; }
body.fg-checkout-commerce:not(.fg-studio).woocommerce-checkout .woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 22px; }
body.fg-checkout-commerce:not(.fg-studio).woocommerce-checkout .woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow { height: 42px; }
body.fg-checkout-commerce:not(.fg-studio).woocommerce-cart .woocommerce :is(a.button.alt, button.button.alt),
body.fg-checkout-commerce:not(.fg-studio).woocommerce-checkout .woocommerce :is(button.button.alt, #place_order),
body.fg-checkout-commerce:not(.fg-studio).woocommerce-cart .wc-block-cart .wc-block-cart__submit-button,
body.fg-checkout-commerce:not(.fg-studio).woocommerce-checkout .wc-block-checkout .wc-block-components-checkout-place-order-button {
  background: #ffcc20;
  color: #191d19;
  border: 1px solid #ffcc20;
  border-radius: 4px;
  min-height: 48px;
  padding: 14px 20px;
  font-family: inherit;
  font-weight: 650;
  line-height: 1.4;
  box-shadow: none;
}
body.fg-checkout-commerce:not(.fg-studio).woocommerce-cart .woocommerce :is(a.button.alt, button.button.alt):hover,
body.fg-checkout-commerce:not(.fg-studio).woocommerce-checkout .woocommerce :is(button.button.alt, #place_order):hover { background: #ffda58; border-color: #ffda58; color: #191d19; }
body.fg-checkout-commerce:not(.fg-studio).woocommerce-checkout .woocommerce #payment { background: #f6f6ee; border: 1px solid #d8dcd2; border-radius: 8px; }
body.fg-checkout-commerce:not(.fg-studio).woocommerce-checkout .woocommerce #payment .payment_box { background: #fff; color: #303c2c; border: 1px solid #d8dcd2; }
body.fg-checkout-commerce:not(.fg-studio).woocommerce-checkout .woocommerce #payment .payment_box::before { border-bottom-color: #d8dcd2; }
body.fg-checkout-commerce:not(.fg-studio).woocommerce-checkout .woocommerce .woocommerce-privacy-policy-text { font-size: 12px; color: #53604d; }
body.fg-checkout-commerce:not(.fg-studio).woocommerce-cart .woocommerce .woocommerce-info,
body.fg-checkout-commerce:not(.fg-studio).woocommerce-checkout .woocommerce .woocommerce-info,
body.fg-checkout-commerce:not(.fg-studio).woocommerce-cart .woocommerce .woocommerce-message,
body.fg-checkout-commerce:not(.fg-studio).woocommerce-checkout .woocommerce .woocommerce-message { border-top-color: #869873; background: #f4f6ed; color: #273924; }
body.fg-checkout-commerce:not(.fg-studio).woocommerce-cart .woocommerce .woocommerce-error,
body.fg-checkout-commerce:not(.fg-studio).woocommerce-checkout .woocommerce .woocommerce-error { background: #fff3ee; color: #803525; }
@media (max-width: 600px) {
  .fg-checkout-bridge, .fg-checkout-native-note { padding: 18px 16px; margin: 18px 0; border-radius: 6px; }
  .fg-checkout-bridge h3 { font-size: 20px; }
  .fg-checkout-bridge .fg-checkout-button { min-height: 50px; }
  body.fg-checkout-commerce:not(.fg-studio).woocommerce-cart .woocommerce table.shop_table :is(th, td),
  body.fg-checkout-commerce:not(.fg-studio).woocommerce-checkout .woocommerce table.shop_table :is(th, td) { padding: 11px 10px; }
}
@media (prefers-reduced-motion: reduce) { .fg-checkout-bridge .fg-checkout-button { transition: none; } }

.fg-checkout-bridge .fg-checkout-server-totals { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px 16px; margin: 16px 0 12px; padding: 16px 0; border-top: 1px solid var(--fgc-line); border-bottom: 1px solid var(--fgc-line); font-size: 14px; }
.fg-checkout-bridge .fg-checkout-server-totals dt { margin: 0; color: var(--fgc-muted); }
.fg-checkout-bridge .fg-checkout-server-totals dd { margin: 0; text-align: right; font-weight: 650; font-size: 15px; }
.fg-checkout-bridge .fg-checkout-current-price { font-size: 16px; font-weight: 600; margin: 16px 0 12px; }
.fg-checkout-existing { background:#eef3e7; border:1px solid #cbd8bd; padding:16px; border-radius:5px; margin:16px 0; }
.fg-checkout-existing ul { padding-left:18px; font-size:14px; line-height:1.7; }
.fg-checkout-existing a { color:#385127; text-underline-offset:4px; font-size:14px; }

/* Persistent access to the actual WooCommerce cart, with no speculative count. */
#fg-real-cart-access{position:fixed;right:22px;bottom:22px;z-index:9990;background:#193329;color:#fff;border:1px solid #d5dec7;border-radius:999px;padding:14px 23px;font:600 16px/1.3 "DM Sans",sans-serif;box-shadow:0 5px 24px #0002;text-decoration:none}
#fg-real-cart-access:hover{background:#294b3b}#fg-real-cart-access:focus-visible{outline:3px solid #ffd02e;outline-offset:3px}
.fg-selection-cart-guide{padding:18px 24px;margin:0 0 20px;background:#e8edde;color:#193329;border-bottom:1px solid #cdd6c0;font-size:15px;line-height:1.55}.fg-selection-cart-guide p{margin:7px 0 12px}.fg-selection-cart-guide .fg-checkout-button{width:auto;display:inline-flex;padding:10px 16px;font-size:15px}
@media(max-width:600px){#fg-real-cart-access{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));font-size:14px;padding:12px 18px}.fg-selection-cart-guide{padding:16px}}

/* Product purchase is primary; project selection stays secondary below it. */
#fgBuy .fg-buy-row [data-fg-purchase]{flex:1;display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:18px 22px;background:#ffcc20;color:#193329;border:1px solid #ffcc20;font:600 17px/1.4 "DM Sans",sans-serif;cursor:pointer}
#fgBuy .fg-buy-row [data-fg-purchase]:disabled{opacity:.65;cursor:wait}
#fgBuy .fg-buy-row [data-fg-purchase]:focus-visible{outline:3px solid #193329;outline-offset:4px}
#fgBuy .fg-checkout-bridge[data-type="product"]{border:0;padding:0;margin:14px 0 20px;background:transparent}
#fgBuy .fg-checkout-bridge[data-type="product"] .fg-checkout-status{font-size:14px;color:#5b6359;margin-bottom:8px}
#fgBuy .fg-product-cart-link{font-size:15px;color:#193329;text-underline-offset:4px}
#fgBuy .fg-project-save{border-top:1px solid #d8dcd2;margin-top:22px;padding-top:18px}
#fgBuy .fg-project-save p{font-size:14px;color:#5b6359;margin:0 0 8px}
#fgBuy .fg-project-save .fg-project-save-button{background:transparent;color:#193329;border:1px solid #bac4b6;min-height:44px;padding:12px 18px;font-size:15px;width:100%}
@media(max-width:600px){#fgBuy .fg-buy-row{flex-wrap:wrap}#fgBuy .fg-buy-row [data-fg-purchase]{min-width:180px}}

/* Purchase controls share one grid row and stretch to the same outer height. */
#fgBuy .fg-buy-row {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: stretch;
}
#fgBuy .fg-buy-row > .fg-quantity {
  height: auto;
  min-height: 56px;
  align-self: stretch;
  box-sizing: border-box;
}
#fgBuy .fg-buy-row > [data-fg-purchase] {
  min-width: 0;
  margin: 0;
  box-sizing: border-box;
  text-align: left;
}
