@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');

body.fg-woo {
  --orange: #FF914D; --surface: #151515; --surface-2: #1f1f1f; --line: #2a2a2a; --muted: #b3aaa3; --ease: cubic-bezier(.25, 1, .5, 1);
  background: #000; color: #fff; font-family: 'Poppins', sans-serif; overflow-x: clip;
}
body.fg-woo .page-header, body.fg-woo .entry-title { display: none; }
body.fg-woo main#content, body.fg-woo .page-content { max-width: 760px; margin: 0 auto; padding: 0; }
body.fg-woo .woocommerce { max-width: 760px; margin: 0 auto; padding: 0 16px 120px; }
body.fg-woo *, body.fg-woo *::before, body.fg-woo *::after { box-sizing: border-box; }
body.fg-woo ::selection { background: var(--orange); color: #000; }
body.fg-woo a { color: var(--orange); }
body.fg-woo :focus-visible { outline: 2px solid var(--orange); outline-offset: 3px; }

/* topo: degradê da home + etapas */
.fg-woo-top { margin: 0 calc(50% - 50vw) 8px; padding: 22px calc(50vw - 50% + 16px) 14px; text-align: center;
  background: radial-gradient(circle at center center, #FF914D 15%, #FF3131 100%); }
.fg-woo-top h1 { font-size: 1.3rem; font-weight: 800; color: #1a0800; margin: 4px 0 12px; }
.fg-back { display: inline-block; color: #1a0800 !important; font-weight: 600; font-size: .85rem; text-decoration: none; }
.fg-steps { display: flex; gap: 6px; list-style: none; margin: 0 auto; padding: 0; max-width: 728px; }
.fg-steps li { flex: 1; min-width: 0; text-align: center; font-size: .68rem; font-weight: 600; color: rgba(26,8,0,.7); }
.fg-steps li::before { content: ''; display: block; height: 4px; border-radius: 4px; background: rgba(26,8,0,.25); margin-bottom: 6px; }
.fg-steps li.done::before, .fg-steps li.on::before { background: #1a0800; }
.fg-steps li.on { color: #1a0800; font-weight: 800; }
.fg-steps li.off { display: none; }

/* avisos */
body.fg-woo .woocommerce-error, body.fg-woo .woocommerce-message, body.fg-woo .woocommerce-info {
  list-style: none; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; color: #fff; padding: 12px 14px; margin: 14px 0; font-size: .9rem; }
body.fg-woo .woocommerce-error { border-color: #ff5a4f; }
body.fg-woo .woocommerce-error li { margin: 2px 0; }
body.fg-woo .woocommerce-message .button, body.fg-woo .woocommerce-info .button { float: none; }

/* carrinho */
body.fg-woo table.shop_table { width: 100%; border: 0; border-collapse: collapse; background: transparent; color: #fff; }
body.fg-woo table.shop_table th, body.fg-woo table.shop_table td { border: 0; color: #fff; background: transparent; padding: 0; }
body.fg-woo table.cart thead { display: none; }
body.fg-woo table.cart, body.fg-woo table.cart tbody { display: block; }
body.fg-woo tr.cart_item { display: grid; grid-template-columns: 72px 1fr auto; grid-template-areas: 'img name remove' 'img price qty' 'img sub sub'; gap: 4px 12px; align-items: center;
  padding: 14px 0; border-bottom: 1px solid var(--line); position: relative; }
body.fg-woo tr.cart_item td.product-thumbnail { grid-area: img; display: block; }
body.fg-woo tr.cart_item td.product-thumbnail img { width: 72px; height: 72px; object-fit: cover; border-radius: 8px; display: block; }
body.fg-woo tr.cart_item td.product-name { grid-area: name; font-weight: 700; font-size: .95rem; }
body.fg-woo tr.cart_item td.product-name a { color: #fff; text-decoration: none; }
body.fg-woo tr.cart_item td.product-name dl.variation { margin: 2px 0 0; color: var(--muted); font-size: .8rem; font-weight: 400; display: flex; gap: 4px; }
body.fg-woo tr.cart_item td.product-name dl.variation p { margin: 0; }
body.fg-woo tr.cart_item td.product-name dl.variation dt { display: none; }
body.fg-woo tr.cart_item td.product-price { grid-area: price; color: var(--muted); font-size: .85rem; }
body.fg-woo tr.cart_item td.product-quantity { grid-area: qty; justify-self: end; }
body.fg-woo tr.cart_item td.product-subtotal { grid-area: sub; color: var(--orange); font-weight: 800; }
body.fg-woo tr.cart_item td.product-remove { grid-area: remove; justify-self: end; }
body.fg-woo td.product-remove a.remove { display: inline-flex; width: 34px; height: 34px; align-items: center; justify-content: center; border-radius: 50%; background: var(--surface-2); color: #fff !important; font-size: 1.2rem; text-decoration: none; }
body.fg-woo td.product-remove a.remove:hover { background: #ff3131; }
body.fg-woo .quantity input.qty { width: 64px; min-height: 44px; text-align: center; background: var(--surface); color: #fff; border: 1px solid var(--line); border-radius: 10px; font: inherit; }
body.fg-woo td.actions { display: block; padding-top: 12px; }
body.fg-woo td.actions .coupon, body.fg-woo button[name="update_cart"] { display: none; }
body.fg-woo .cart-collaterals { margin-top: 12px; }
body.fg-woo .cart_totals { width: 100% !important; float: none !important; }
body.fg-woo .cart_totals h2 { display: none; }
body.fg-woo .cart_totals table tr th, body.fg-woo .cart_totals table tr td { padding: 10px 0; }
body.fg-woo .cart_totals tr.woocommerce-shipping-totals, body.fg-woo .cart_totals .shipping-calculator-button { display: none; }
body.fg-woo .cart_totals tr.order-total td, body.fg-woo .cart_totals tr.order-total th { font-weight: 800; font-size: 1.15rem; }
body.fg-woo .cart_totals tr.order-total td { color: var(--orange); text-align: right; }
body.fg-woo .cart_totals td { text-align: right; }

/* botões */
body.fg-woo .button, body.fg-woo button.button, body.fg-woo a.checkout-button, body.fg-woo #place_order, body.fg-woo .fg-btn {
  display: flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; border: 0; border-radius: 12px; background: var(--orange); color: #000 !important;
  font: 800 1rem 'Poppins', sans-serif; padding: 0 20px; cursor: pointer; text-decoration: none; transition: transform .2s var(--ease), background .2s var(--ease); }
body.fg-woo .button:hover, body.fg-woo a.checkout-button:hover, body.fg-woo .fg-btn:hover { background: #ffa66e; color: #000; }
body.fg-woo #place_order { background: #25D366; margin-top: 14px; }
body.fg-woo #place_order:hover { background: #3be07b; }
body.fg-woo .button:active, body.fg-woo #place_order:active { transform: scale(.98); }
body.fg-woo .fg-btn.ghost { background: var(--surface-2); color: #fff !important; }
body.fg-woo .return-to-shop { margin-top: 16px; }

/* checkout: campos */
body.fg-woo .woocommerce-billing-fields > h3, body.fg-woo .woocommerce-additional-fields > h3, body.fg-woo #order_review_heading { display: none; }
body.fg-woo #customer_details { display: none; }   /* campos são movidos para os painéis */
body.fg-woo .form-row { margin: 12px 0 0; padding: 0; width: 100%; float: none; }
body.fg-woo .form-row label { display: block; font-size: .78rem; font-weight: 600; color: var(--muted); margin-bottom: 4px; line-height: 1.3; }
body.fg-woo .form-row .required { color: var(--orange); text-decoration: none; }
body.fg-woo input.input-text, body.fg-woo textarea, body.fg-woo select { width: 100%; background: var(--surface); color: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 12px; min-height: 48px; font: inherit; font-size: .95rem; }
body.fg-woo input.input-text:focus, body.fg-woo textarea:focus { border-color: var(--orange); outline: none; }
body.fg-woo ::placeholder { color: #8b8580; }
body.fg-woo .fg-row2 { display: grid; grid-template-columns: 1fr 110px; gap: 10px; }
body.fg-woo .fg-row2 .form-row { margin-top: 12px; }
body.fg-woo #billing_country_field, body.fg-woo #billing_city_field, body.fg-woo #billing_state_field { display: none; }
body.fg-woo .validate-required.woocommerce-invalid input { border-color: #ff5a4f; }

/* painéis do wizard */
.fg-panel h2 { font-size: 1.25rem; font-weight: 800; color: var(--orange); margin: 6px 0 2px; }
.fg-sub { color: var(--muted); font-size: .85rem; margin: 0 0 6px; }
.fg-opts { display: grid; gap: 10px; margin-top: 14px; }
.fg-opt { display: block; cursor: pointer; }
.fg-opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.fg-opt span { display: block; padding: 14px 16px; border-radius: 12px; border: 1px solid var(--line); background: var(--surface); transition: border-color .2s var(--ease), background .2s var(--ease); }
.fg-opt b { display: block; font-size: .98rem; }
.fg-opt small { color: var(--muted); font-size: .8rem; }
.fg-opt:hover span { border-color: var(--orange); }
.fg-opt input:checked + span { border-color: var(--orange); background: #24160d; box-shadow: inset 0 0 0 1px var(--orange); }
.fg-opt input:focus-visible + span { outline: 2px solid var(--orange); outline-offset: 2px; }
body.fg-woo #fg_pay_field .woocommerce-input-wrapper { display: grid; gap: 10px; margin-top: 8px; }
body.fg-woo #fg_pay_field input[type=radio] { position: absolute; opacity: 0; width: 1px; height: 1px; }
body.fg-woo #fg_pay_field label.radio { display: block; margin: 0; padding: 14px 16px; border-radius: 12px; border: 1px solid var(--line); background: var(--surface); color: #fff; font-size: .98rem; font-weight: 700; cursor: pointer; transition: border-color .2s var(--ease), background .2s var(--ease); }
body.fg-woo #fg_pay_field label.radio:has(input:checked) { border-color: var(--orange); background: #24160d; box-shadow: inset 0 0 0 1px var(--orange); }
body.fg-woo #fg_pay_field label.radio:has(input:focus-visible) { outline: 2px solid var(--orange); outline-offset: 2px; }
.fg-err { color: #ff8a80; font-size: .85rem; margin: 10px 0 0; min-height: 1em; }
#fg-nav { position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; display: flex; gap: 10px; padding: 20px 16px calc(12px + env(safe-area-inset-bottom)); background: linear-gradient(transparent, #000 30%); }
#fg-nav .fg-btn { max-width: 728px; }
#fg-nav .fg-btn.ghost { width: auto; flex: none; }
#fg-nav .wrap { display: flex; gap: 10px; width: 100%; max-width: 728px; margin: 0 auto; }
#fg-nav .wrap .fg-btn:last-child { flex: 1; }

/* resumo do pedido + pagamento (último passo) */
body.fg-woo #order_review { margin-top: 18px; }
body.fg-woo #order_review table.shop_table th, body.fg-woo #order_review table.shop_table td { padding: 8px 0; border-bottom: 1px solid var(--line); font-size: .9rem; }
body.fg-woo #order_review table.shop_table td.product-total, body.fg-woo #order_review table.shop_table tfoot td { text-align: right; }
body.fg-woo #order_review table.shop_table tfoot th { text-align: left; font-weight: 600; color: var(--muted); }
body.fg-woo #order_review tr.order-total th, body.fg-woo #order_review tr.order-total td { font-weight: 800; font-size: 1.1rem; color: #fff; }
body.fg-woo #order_review tr.order-total td { color: var(--orange); }
body.fg-woo #order_review .product-quantity { color: var(--muted); font-weight: 400; }
body.fg-woo #order_review ul#shipping_method { list-style: none; margin: 0; padding: 0; }
body.fg-woo #order_review ul#shipping_method input { display: none; }
body.fg-woo #order_review ul#shipping_method li:not(:has(input:checked)) { display: none; }
body.fg-woo #payment { background: transparent; border: 0; }
body.fg-woo #payment ul.payment_methods { display: none; }
body.fg-woo #payment .form-row { padding: 0; margin: 0; }
body.fg-woo .woocommerce-privacy-policy-text { display: none; }
body.fg-woo .blockUI.blockOverlay { background: rgba(0,0,0,.6) !important; }

/* obrigado */
body.fg-woo .woocommerce-order { padding-top: 18px; }
body.fg-woo .woocommerce-notice--success { font-size: 1.05rem; font-weight: 700; color: #fff; }
body.fg-woo ul.order_details { list-style: none; margin: 14px 0; padding: 0; display: grid; gap: 6px; font-size: .88rem; color: var(--muted); }
body.fg-woo ul.order_details li { border: 0; margin: 0; padding: 0; float: none; }
body.fg-woo ul.order_details li strong { display: block; color: #fff; font-size: 1rem; }
body.fg-woo .woocommerce-order-details h2, body.fg-woo .woocommerce-customer-details h2 { font-size: 1.1rem; color: var(--orange); }
body.fg-woo .woocommerce-order-details table td, body.fg-woo .woocommerce-order-details table th { padding: 8px 0; border-bottom: 1px solid var(--line); font-size: .9rem; }
body.fg-woo .woocommerce-customer-details { display: none; }
.fg-sent { background: var(--surface); border: 1px solid var(--orange); border-radius: 14px; padding: 16px; margin: 14px 0; }
.fg-sent h2 { font-size: 1.2rem; margin: 0 0 4px; color: var(--orange); }
.fg-sent p { color: var(--muted); font-size: .88rem; margin: 0 0 12px; }
.fg-sent a { display: flex; align-items: center; justify-content: center; min-height: 52px; border-radius: 12px; font-weight: 800; text-decoration: none; margin-top: 8px; }
.fg-sent .fg-wa { background: #25D366; color: #000 !important; }
.fg-sent .fg-new { background: var(--surface-2); color: #fff !important; }

/* ---- sobrescreve o tema/WooCommerce (celular e tema roxo do kit) ---- */
body.fg-woo .woocommerce table.cart td::before { display: none !important; content: none !important; }
body.fg-woo .woocommerce table.shop_table.cart tr.cart_item { display: grid !important; grid-template-columns: 72px 1fr auto; grid-template-areas: 'img name remove' 'img price qty' 'img sub sub'; gap: 4px 12px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--line); }
body.fg-woo .woocommerce table.shop_table.cart tr.cart_item td { display: block; text-align: left; border: 0 !important; padding: 0 !important; width: auto; }
body.fg-woo .woocommerce table.shop_table.cart tr.cart_item td.product-quantity { text-align: right; justify-self: end; }
body.fg-woo .woocommerce table.shop_table.cart tr.cart_item td.product-name { text-align: left; }
body.fg-woo .woocommerce table.shop_table.cart tr.cart_item td.product-remove { text-align: right; }
body.fg-woo .woocommerce table.shop_table.cart tr.cart_item td.product-thumbnail { display: block !important; }
body.fg-woo .quantity label, body.fg-woo .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
body.fg-woo .woocommerce td.actions, body.fg-woo .woocommerce button[name="update_cart"] { display: none !important; }
body.fg-woo .woocommerce .cart_totals tr.woocommerce-shipping-totals, body.fg-woo .woocommerce .cart_totals tr.shipping { display: none !important; }
body.fg-woo .woocommerce .cart_totals table.shop_table_responsive tr td, body.fg-woo .woocommerce .cart_totals table.shop_table_responsive tr th { border-bottom: 1px solid var(--line) !important; padding: 10px 0 !important; }
body.fg-woo .woocommerce .cart_totals table td::before { color: var(--muted); font-weight: 600; }
body.fg-woo .button, body.fg-woo button.button, body.fg-woo a.checkout-button, body.fg-woo a.checkout-button.button.alt, body.fg-woo #place_order, body.fg-woo .fg-btn { background: var(--orange) !important; color: #000 !important; border: 0 !important; }
body.fg-woo #place_order { background: #25D366 !important; }
body.fg-woo .fg-btn.ghost { background: var(--surface-2) !important; color: #fff !important; }
body.fg-woo input.input-text, body.fg-woo input[type=text], body.fg-woo input[type=tel], body.fg-woo textarea, body.fg-woo select { background: var(--surface) !important; color: #fff !important; border: 1px solid var(--line) !important; }
body.fg-woo input.input-text:focus, body.fg-woo textarea:focus { border-color: var(--orange) !important; }
body.fg-woo .quantity input.qty { background: var(--surface) !important; color: #fff !important; }

/* resumo do pedido (checkout) legível no celular */
body.fg-woo #order_review table.shop_table, body.fg-woo #order_review table.shop_table tbody, body.fg-woo #order_review table.shop_table tfoot { display: table-row-group; width: 100%; }
body.fg-woo #order_review table.shop_table { display: table; table-layout: auto; }
body.fg-woo #order_review table.shop_table tr { display: table-row !important; }
body.fg-woo #order_review table.shop_table th, body.fg-woo #order_review table.shop_table td { display: table-cell !important; padding: 8px 0 !important; border-bottom: 1px solid var(--line) !important; vertical-align: top; }
body.fg-woo #order_review table.shop_table td::before, body.fg-woo #order_review table.shop_table th::before { content: none !important; display: none !important; }
body.fg-woo #order_review table.shop_table td.product-name { text-align: left; font-weight: 600; padding-right: 12px !important; }
body.fg-woo #order_review table.shop_table td.product-total { text-align: right; white-space: nowrap; }
body.fg-woo #order_review table.shop_table thead th { color: var(--muted); font-size: .75rem; text-align: left; }
body.fg-woo #order_review table.shop_table thead th.product-total { text-align: right; }
body.fg-woo #order_review table.shop_table tfoot td { text-align: right; }

/* voltar ao cardápio como botão */
.fg-back { display: inline-flex !important; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px; background: #1a0800; color: #fff !important; text-decoration: none !important; font-weight: 700; font-size: .85rem; margin-bottom: 4px; }
.fg-back:hover { background: #000; }
body.fg-woo a.fg-menu-btn { margin-top: 10px; }

/* contador de quantidade com + e − */
body.fg-woo .quantity { display: inline-flex; align-items: center; gap: 4px; background: var(--surface-2); border-radius: 999px; padding: 3px; }
body.fg-woo .quantity .fg-step { width: 40px; height: 40px; border: 0 !important; border-radius: 50%; background: var(--orange) !important; color: #000 !important; font: 800 1.2rem/1 'Poppins', sans-serif; cursor: pointer; padding: 0; display: inline-flex; align-items: center; justify-content: center; }
body.fg-woo .quantity .fg-step:active { transform: scale(.94); }
body.fg-woo .quantity input.qty { width: 40px !important; min-height: 40px !important; padding: 0 !important; border: 0 !important; background: transparent !important; text-align: center; -moz-appearance: textfield; appearance: textfield; font-weight: 700; }
body.fg-woo .quantity input.qty::-webkit-outer-spin-button, body.fg-woo .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* afasta o topo do cabeçalho fixo do site (botão do menu) */
.fg-woo-top { padding-top: 64px !important; }
