/* Native WooCommerce forms, painted with the prototype's shared visual tokens. */
.fcf-site .woocommerce { color:var(--ink); }
.fcf-site .woocommerce a { color:var(--accent); }
.fcf-site .woocommerce p { line-height:1.55; }
.fcf-site .woocommerce h2,.fcf-site .woocommerce h3 { letter-spacing:-.02em; }
.fcf-site .woocommerce h2 { font-size:22px; }
.fcf-site .woocommerce h3 { font-size:18px; }
.fcf-site .woocommerce .button,.fcf-site .woocommerce button.button,.fcf-site .woocommerce input.button,.fcf-site .woocommerce a.button { display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1.5px solid var(--line);background:var(--panel);color:var(--ink);border-radius:12px;padding:11px 16px;font-size:14px;font-weight:600;line-height:1.35;text-align:center;text-decoration:none;white-space:normal; }
.fcf-site .woocommerce .button.alt,.fcf-site .woocommerce #place_order,.fcf-site .woocommerce .checkout-button { background:var(--accent);border-color:var(--accent);color:var(--accent-ink); }
.fcf-site .woocommerce .button:disabled,.fcf-site .woocommerce .button.disabled { opacity:.5;cursor:not-allowed; }
.fcf-site .woocommerce .button:hover:not(:disabled) { filter:brightness(.96); }
.fcf-site .woocommerce form .form-row { margin:0 0 16px;padding:0; }
.fcf-site .woocommerce form .form-row label { display:block;font-size:14px;font-weight:500;line-height:1.5;margin-bottom:6px; }
.fcf-site .woocommerce form .form-row input.input-text,.fcf-site .woocommerce form .form-row select,.fcf-site .woocommerce form .form-row textarea,.fcf-site .woocommerce input#coupon_code { border:1.5px solid var(--line);background:var(--panel);color:var(--ink);border-radius:12px;min-height:48px;padding:11px 12px;font-size:16px;box-shadow:none;width:100%; }
.fcf-site .woocommerce form .form-row textarea { min-height:100px;resize:vertical; }
/* Rodada 3 (R12): field focus = accent border + 2 px accent outline (the old --accent-soft outline had 1.18:1). */
.fcf-site .woocommerce form .form-row input:focus,.fcf-site .woocommerce form .form-row textarea:focus,.fcf-site .woocommerce form .form-row select:focus,.fcf-site .woocommerce input#coupon_code:focus,.fcf-site .woocommerce .quantity .qty:focus { border-color:var(--accent);outline:2px solid var(--accent);outline-offset:1px; }
.fcf-site .woocommerce input[type=checkbox],.fcf-site .woocommerce input[type=radio] { accent-color:var(--accent); }
.fcf-site .woocommerce .select2-container .select2-selection--single { border:1.5px solid var(--line);background:var(--panel);border-radius:12px;min-height:48px;padding:8px 10px; }
.fcf-site .woocommerce .select2-container .select2-selection__rendered { color:var(--ink);padding-left:0; }
.fcf-site .woocommerce .select2-container .select2-selection__arrow { top:10px;right:8px; }
.fcf-site .woocommerce .select2-container--focus .select2-selection--single,.fcf-site .woocommerce .select2-container--open .select2-selection--single { border-color:var(--accent);outline:2px solid var(--accent);outline-offset:1px; }
.fcf-site .select2-dropdown { border-color:var(--line);background:var(--panel);color:var(--ink); }
.fcf-site .woocommerce form .woocommerce-invalid input.input-text { border-color:var(--bad); }
.fcf-site .woocommerce form .required { color:var(--bad); }
.fcf-site .woocommerce-error,.fcf-site .woocommerce-info,.fcf-site .woocommerce-message { padding:16px 18px 16px 48px;border-radius:4px;background:var(--accent-soft);color:var(--ink);border-top-color:var(--accent);font-size:14px;line-height:1.55; }
.fcf-site .woocommerce-info a:not(.button),.fcf-site .woocommerce-message a:not(.button),.fcf-site .woocommerce-error a:not(.button) { color:var(--accent-text);font-weight:600; }
/* Rodada 3 (R17): the WooCommerce error never shares the background of the informative notice. */
.fcf-site .woocommerce-error { background:#fbeaea;color:var(--ink);border-top-color:var(--bad); }
.fcf-site .woocommerce-error:before { color:var(--bad); }
.fcf-site .woocommerce-error li { margin:0; }
.fcf-site .woocommerce-info:before,.fcf-site .woocommerce-message:before { color:var(--accent); }
@media (prefers-color-scheme:dark) { :root:not([data-theme="light"]) .fcf-site .woocommerce-error { background:#3a1f1d; } }
:root[data-theme="dark"] .fcf-site .woocommerce-error { background:#3a1f1d; }
.fcf-site .woocommerce table.shop_table { border:1px solid var(--line);border-radius:4px;border-spacing:0;font-size:14px;overflow-wrap:anywhere; }
.fcf-site .woocommerce table.shop_table th { font-weight:600; }
.fcf-site .woocommerce table.shop_table td,.fcf-site .woocommerce table.shop_table th { padding:12px;border-color:var(--line);line-height:1.5; }
.fcf-site .woocommerce dl.variation { margin:6px 0;font-size:13px;color:var(--muted); }
.fcf-site .woocommerce dl.variation dd { margin:0 0 4px; }
.fcf-site .woocommerce dl.variation dd p { margin:0; }
.fcf-site .woocommerce dl.variation img { max-width:100%;height:auto; }

/* ---------------------------------------------------------------------------------------------
 * Rodada 3 (10/10/2026): carrinho, mini-carrinho e checkout no padrão da rodada 2 (R14–R17).
 * Só apresentação: os templates mantêm campos, filtros, ganchos e nonces do WooCommerce.
 * ------------------------------------------------------------------------------------------- */

/* R16: h1 like the product page (wins over .fcf-page h1 in site.css). */
main.fcf-commerce-page>h1 { font-family:"EB Garamond",Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.01em;color:var(--ink);font-size:34px;line-height:1.05;margin:4px 0 6px; }
main.fcf-commerce-page:has(.wc-empty-cart-message)>h1 { text-align:center; }
.fcf-site .woocommerce .fcf-cart-count-line { margin:0 0 12px;color:var(--muted);font-size:15.5px;line-height:1.45; }
.fcf-site .fcf-nw { white-space:nowrap; }

/* Shared thumbnail (R14 + R6): the customer's preview or the product photo, as the real frame. */
.fcf-thumb,.fcf-mini-thumb,.fcf-review-thumb { position:relative;display:block;aspect-ratio:1;border-radius:3px;overflow:hidden;background:var(--section);box-shadow:1px 1px 0 rgba(47,43,39,.7),0 14px 26px -18px rgba(47,43,39,.55); }
.fcf-site .woocommerce table.cart .fcf-thumb img,.fcf-site .fcf-thumb img,.fcf-mini-cart-dialog .widget_shopping_cart ul.cart_list li .fcf-mini-thumb img,.fcf-site .woocommerce table.woocommerce-checkout-review-order-table .fcf-review-thumb img { display:block;width:100%;height:100%;max-width:none;margin:0;float:none;object-fit:cover;border-radius:0;box-shadow:none; }
.fcf-thumb-tag { position:absolute;left:4px;bottom:4px;padding:1px 6px;border-radius:3px;background:rgba(37,42,40,.84);color:#fff;font-size:12px;font-weight:500;line-height:1.35;pointer-events:none; }
.fcf-later-note { display:block;width:fit-content;max-width:100%;margin:6px 0 2px;padding:4px 8px;border-radius:4px;background:var(--warn-soft);color:#87560d;font-size:13px;font-weight:500;line-height:1.4; }
@media (prefers-color-scheme:dark) { :root:not([data-theme="light"]) .fcf-later-note { color:var(--warn); } }
:root[data-theme="dark"] .fcf-later-note { color:var(--warn); }
/* Personalization rows as a 2-column grid: label muted, value ink, 13 px. */
.fcf-site .woocommerce table.cart dl.variation,.fcf-mini-cart-dialog .widget_shopping_cart dl.variation,.fcf-site .woocommerce table.woocommerce-checkout-review-order-table dl.variation { display:grid;grid-template-columns:fit-content(55%) minmax(0,1fr);gap:2px 10px;margin:2px 0 4px;padding:0;border:0;font-size:13px;line-height:1.45;color:var(--ink); }
.fcf-site .woocommerce table.cart dl.variation dt,.fcf-mini-cart-dialog .widget_shopping_cart dl.variation dt,.fcf-site .woocommerce table.woocommerce-checkout-review-order-table dl.variation dt { margin:0;padding:0;float:none;clear:none;display:block;color:var(--muted);font-weight:400; }
.fcf-site .woocommerce table.cart dl.variation dd,.fcf-mini-cart-dialog .widget_shopping_cart dl.variation dd,.fcf-site .woocommerce table.woocommerce-checkout-review-order-table dl.variation dd { margin:0;padding:0;float:none;display:block;color:var(--ink); }
.fcf-mini-cart-dialog .widget_shopping_cart dl.variation p { margin:0; }
/* Photos sent later: the highlighted note replaces the "Personalização" line (sanitize_html_class drops "çã"). */
.fcf-site .woocommerce table.cart tr.fcf-item--later dl.variation .variation-Personalizao,.fcf-mini-cart-dialog .widget_shopping_cart li.fcf-item--later dl.variation .variation-Personalizao,.fcf-site .woocommerce table.woocommerce-checkout-review-order-table .fcf-later~dl.variation .variation-Personalizao { display:none; }
/* "Remover" as a muted text link with a 44 px target (R11, R14). */
.fcf-site .woocommerce table.cart td.product-remove a.remove,.fcf-mini-cart-dialog .widget_shopping_cart ul.cart_list li a.remove { display:inline-flex;align-items:center;justify-content:center;position:static;width:auto;height:auto;min-width:44px;min-height:44px;padding:0 4px;margin:0;border-radius:8px;background:none;color:var(--muted)!important;font-size:14px;font-weight:500;line-height:1.2;text-decoration:underline;text-underline-offset:3px; }
.fcf-site .woocommerce table.cart td.product-remove a.remove:hover,.fcf-mini-cart-dialog .widget_shopping_cart ul.cart_list li a.remove:hover { background:none;color:var(--bad)!important; }

/* Cart: one item card per row at every width (R14). The native table keeps fields, metadata, quantity limits and coupon nonce. */
.fcf-site .woocommerce .fcf-cart-layout { display:grid;gap:26px;align-items:start; }
.fcf-site .woocommerce .fcf-cart-layout>* { min-width:0; }
.fcf-site .woocommerce .fcf-cart-layout .cart-collaterals { width:auto; }
.fcf-site .woocommerce .fcf-cart-layout table.cart,.fcf-site .woocommerce .fcf-cart-layout table.cart tbody { display:block;width:100%;border:0;border-radius:0;margin:0; }
.fcf-site .woocommerce .fcf-cart-layout table.cart thead { display:none; }
.fcf-site .woocommerce .fcf-cart-layout table.cart tbody { border-top:1px solid var(--line); }
.fcf-site .woocommerce table.cart tr.cart_item { display:grid;grid-template-columns:92px minmax(0,1fr) auto;grid-template-areas:"thumb name sub" "thumb qty rm";grid-template-rows:auto 1fr;gap:6px 14px;position:relative;padding:16px 0;border-bottom:1px solid var(--line); }
.fcf-site .woocommerce table.cart tr.cart_item td { display:block;width:auto;min-width:0;padding:0;border:0;background:transparent;text-align:left!important;line-height:1.45;vertical-align:top; }
.fcf-site .woocommerce table.cart tr.cart_item td::before { display:none; }
.fcf-site .woocommerce table.cart tr.cart_item td.product-thumbnail { display:block;grid-area:thumb;min-width:0; }
.fcf-site .woocommerce table.cart .fcf-thumb { width:92px; }
.fcf-site .woocommerce table.cart tr.cart_item td.product-name { grid-column:2 / 4;grid-row:1;font-size:13px;color:var(--muted); }
.fcf-site .woocommerce table.cart td.product-name>a { display:block;width:fit-content;max-width:calc(100% - 104px);margin:-12px 0 0;padding:12px 0;color:var(--ink);font-size:15px;font-weight:600;line-height:20px;text-decoration:none; }
.fcf-site .woocommerce table.cart td.product-name>a:hover { color:var(--accent-text); }
.fcf-site .woocommerce table.cart tr.cart_item td.product-subtotal { grid-column:3;grid-row:1;align-self:start;justify-self:end;max-width:104px;text-align:right!important;color:var(--ink);font-size:15px;font-weight:600;line-height:20px;font-variant-numeric:tabular-nums;white-space:nowrap; }
.fcf-site .woocommerce table.cart tr.cart_item td.product-price { position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap; }
.fcf-site .woocommerce table.cart tr.cart_item td.product-quantity { grid-area:qty;align-self:end;display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:6px; }
.fcf-site .woocommerce table.cart .fcf-qty-label { font-size:13px;color:var(--muted);line-height:1.3; }
.fcf-site .woocommerce table.cart .quantity { margin:0; }
.fcf-site .woocommerce table.cart .quantity .qty { display:block;width:72px;height:44px;min-height:44px;margin:0;padding:6px 8px;border:1.5px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink);font-size:16px;text-align:center;font-variant-numeric:tabular-nums; }
.fcf-site .woocommerce table.cart tr.cart_item td.product-remove { grid-area:rm;align-self:end;justify-self:end;margin-right:-4px; }
.fcf-site .woocommerce table.cart tr:not(.cart_item) { display:block; }
.fcf-site .woocommerce table.cart td.actions { display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:4px 16px;padding:8px 0 0;border:0;background:none;text-align:left!important; }
.fcf-site .woocommerce table.cart td.actions::before { display:none; }
.fcf-site .woocommerce .fcf-coupon { flex:1 1 240px;min-width:0; }
.fcf-site .woocommerce .fcf-coupon summary { display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--accent-text);font-size:14px;font-weight:600;cursor:pointer;list-style:none; }
.fcf-site .woocommerce .fcf-coupon summary::-webkit-details-marker { display:none; }
.fcf-site .woocommerce .fcf-coupon summary::after { content:"";width:7px;height:7px;margin-top:-4px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s; }
.fcf-site .woocommerce .fcf-coupon[open] summary::after { margin-top:3px;transform:rotate(-135deg); }
.fcf-site .woocommerce table.cart td.actions .fcf-coupon .coupon { display:flex;gap:8px;float:none;margin:4px 0 8px;padding:0; }
.fcf-site .woocommerce table.cart td.actions .fcf-coupon .coupon input#coupon_code { flex:1 1 auto;float:none;width:auto;min-width:0;max-width:none;margin:0; }
.fcf-site .woocommerce table.cart td.actions .fcf-coupon .coupon .button { flex:none;float:none;width:auto;margin:0; }
.fcf-site .woocommerce table.cart td.actions>button[name="update_cart"] { display:inline-flex;width:auto;margin:0 0 0 auto;min-height:44px;padding:8px 14px;font-size:14px;font-weight:500; }

/* Cart summary (R15): rows as label/value lines, delivery options as full-width cards. */
.fcf-site .woocommerce .fcf-cart-layout .cart_totals { width:100%;float:none;padding:20px;border-radius:4px; }
.fcf-site .woocommerce .fcf-cart-layout .cart_totals h2 { margin:0 0 8px;font-family:Inter,system-ui,sans-serif;font-size:17px;font-weight:600;letter-spacing:0;line-height:1.3; }
.fcf-site .woocommerce .cart_totals table.shop_table,.fcf-site .woocommerce .cart_totals table.shop_table tbody { display:block;width:100%;border:0;border-radius:0;margin:0; }
.fcf-site .woocommerce .cart_totals table.shop_table tr,.fcf-site .woocommerce table.woocommerce-checkout-review-order-table tfoot tr { display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;border-top:1px solid var(--line); }
.fcf-site .woocommerce .cart_totals table.shop_table tr:first-child { border-top:0; }
.fcf-site .woocommerce .cart_totals table.shop_table th,.fcf-site .woocommerce .cart_totals table.shop_table td,.fcf-site .woocommerce table.woocommerce-checkout-review-order-table tfoot th,.fcf-site .woocommerce table.woocommerce-checkout-review-order-table tfoot td { display:block;width:auto;max-width:none;padding:0;border:0;background:none;font-size:14.5px;font-weight:400;line-height:1.45;text-align:left;vertical-align:baseline; }
.fcf-site .woocommerce .cart_totals table.shop_table td,.fcf-site .woocommerce table.woocommerce-checkout-review-order-table tfoot td { text-align:right!important;font-variant-numeric:tabular-nums; }
.fcf-site .woocommerce .cart_totals table.shop_table td::before { display:none; }
.fcf-site .woocommerce .cart_totals table.shop_table tr.order-total,.fcf-site .woocommerce table.woocommerce-checkout-review-order-table tfoot tr.order-total { padding-top:14px; }
.fcf-site .woocommerce .cart_totals table.shop_table tr.order-total th,.fcf-site .woocommerce .cart_totals table.shop_table tr.order-total td,.fcf-site .woocommerce table.woocommerce-checkout-review-order-table tfoot tr.order-total th,.fcf-site .woocommerce table.woocommerce-checkout-review-order-table tfoot tr.order-total td { font-size:18px;font-weight:600; }
.fcf-site .woocommerce .cart_totals table.shop_table tr.order-total strong,.fcf-site .woocommerce table.woocommerce-checkout-review-order-table tfoot tr.order-total strong { font-weight:600; }
.fcf-site .woocommerce .cart_totals table.shop_table tr.fcf-pay-line,.fcf-site .woocommerce table.woocommerce-checkout-review-order-table tfoot tr.fcf-pay-line { justify-content:flex-end;padding:0 0 4px;border-top:0; }
.fcf-site .woocommerce .cart_totals table.shop_table tr.fcf-pay-line td,.fcf-site .woocommerce table.woocommerce-checkout-review-order-table tfoot tr.fcf-pay-line td { color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums; }
.fcf-site .woocommerce tr.fcf-pay-line b { color:var(--ink);font-weight:600; }
/* Ajuste P6-A4: frase curta de prazo logo abaixo da entrega no resumo do checkout. */
.fcf-site .woocommerce table.woocommerce-checkout-review-order-table tfoot tr.fcf-ship-note { padding:0 0 10px;border-top:0; }
.fcf-site .woocommerce table.woocommerce-checkout-review-order-table tfoot tr.fcf-ship-note td { text-align:left!important;color:var(--muted);font-size:13.5px; }
.fcf-site .woocommerce .cart_totals table.shop_table tr.woocommerce-shipping-totals,.fcf-site .woocommerce table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals { flex-direction:column;align-items:stretch;gap:8px; }
.fcf-site .woocommerce .cart_totals table.shop_table tr.woocommerce-shipping-totals td,.fcf-site .woocommerce table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals td { text-align:left!important; }
.fcf-site .woocommerce tr.cart-discount td { color:var(--good); }
.fcf-site .woocommerce a.woocommerce-remove-coupon { display:inline-flex;align-items:center;min-height:44px;margin-left:4px;color:var(--accent-text);font-size:13px;font-weight:600; }
.fcf-site .woocommerce ul#shipping_method { display:grid;gap:8px;list-style:none;margin:0;padding:0; }
.fcf-site .woocommerce ul#shipping_method:empty { display:none; }
.fcf-site .woocommerce ul#shipping_method li { position:relative;margin:0;padding:0;line-height:1.4;text-align:left; }
.fcf-site .woocommerce ul#shipping_method li input { position:absolute;left:14px;top:50%;width:18px;height:18px;margin:-9px 0 0;accent-color:var(--accent); }
.fcf-site .woocommerce ul#shipping_method li label { display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px 10px;min-height:48px;margin:0;padding:11px 12px 11px 42px;border:1.5px solid var(--line);border-radius:12px;font-size:14px;font-weight:400;line-height:1.4;cursor:pointer; }
.fcf-site .woocommerce ul#shipping_method li input[type="hidden"]+label { padding-left:12px;cursor:default; }
.fcf-site .woocommerce ul#shipping_method li:has(input:checked) label { border-color:var(--accent);background:var(--accent-soft); }
.fcf-site .woocommerce ul#shipping_method .amount { font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap; }
.fcf-site .woocommerce .woocommerce-shipping-destination { margin:0;font-size:13.5px;color:var(--muted);text-align:left; }
.fcf-site .woocommerce ul#shipping_method:not(:empty)+.woocommerce-shipping-destination { margin-top:4px; }
.fcf-site .woocommerce .shipping-calculator-button { display:inline-flex;align-items:center;min-height:44px;margin:0;color:var(--accent-text);font-size:14px;font-weight:600; }
.fcf-site .woocommerce .shipping-calculator-form { text-align:left; }
.fcf-site .woocommerce .wc-proceed-to-checkout { padding:16px 0 0;margin:0; }
.fcf-site .woocommerce .wc-proceed-to-checkout .checkout-button { display:flex;width:100%;min-height:52px;margin:0;padding:14px 20px;border-radius:999px;font-size:16px;font-weight:600;line-height:1.3; }
.fcf-site .woocommerce .checkout-button:hover,.fcf-site .woocommerce #place_order:hover { background:#bf2246;border-color:#bf2246;filter:none; }
.fcf-site .woocommerce .fcf-cart-note { margin:12px 0 0;color:var(--muted);font-size:14px;line-height:1.45; }
/* 0.1.18: o país continua no formulário (BR); só a linha "País: Brasil" sai do checkout. O !important vence o display:block que o address-i18n.js do WooCommerce põe na linha. */
.fcf-site .woocommerce .form-row.fcf-field-hidden { display:none !important; }
.fcf-site .fcf-cart-bar .v-cta { width:auto;min-height:52px;padding:0 22px;border-radius:999px;color:var(--accent-ink);font-size:16px;font-weight:600; }
.fcf-site .woocommerce .cross-sells { width:100%;float:none; }
.fcf-site .woocommerce .cross-sells ul.products { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.fcf-site .woocommerce .cross-sells ul.products li.product { width:auto;float:none;margin:0; }

/* Empty cart (no template of its own): centered message without the pink box, main button to the shop. */
.fcf-site .woocommerce .wc-empty-cart-message { margin:16px 0 0;text-align:center; }
.fcf-site .woocommerce .wc-empty-cart-message .cart-empty.woocommerce-info { margin:0;padding:24px 0 4px;border:0;background:none;color:var(--ink);font-size:17px;text-align:center; }
.fcf-site .woocommerce .wc-empty-cart-message .cart-empty.woocommerce-info::before { display:none; }
.fcf-site .woocommerce .return-to-shop { margin:12px 0 56px;text-align:center; }
.fcf-site .woocommerce .return-to-shop a.button.wc-backward { min-height:52px;padding:14px 28px;border-color:var(--accent);border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:16px; }
.fcf-site .woocommerce .return-to-shop a.button.wc-backward:hover { background:#bf2246;border-color:#bf2246;filter:none; }

/* Checkout remains one native form; no copied payment inputs or calculated totals. */
.fcf-site .woocommerce form.fcf-checkout { display:grid;grid-template-columns:minmax(0,1fr);gap:24px;padding-top:4px; }
.fcf-site .woocommerce form.fcf-checkout .col2-set,.fcf-site .woocommerce form.fcf-checkout .col-1,.fcf-site .woocommerce form.fcf-checkout .col-2 { width:100%;float:none; }
.fcf-site .woocommerce form.fcf-checkout .col-2 { margin-top:24px; }
.fcf-site .woocommerce form.fcf-checkout h3 { margin:0 0 14px;font-size:17px;font-weight:600;letter-spacing:0;line-height:1.3; }
.fcf-site .woocommerce form.fcf-checkout .fcf-co-title { margin:0 0 14px;font-family:Inter,system-ui,sans-serif;font-size:17px;font-weight:600;letter-spacing:0;line-height:1.3;color:var(--ink); }
/* "Seus dados" is the visible title; WooCommerce's "Detalhes de faturamento" stays for screen readers (h2 > h3). */
.fcf-site .woocommerce form.fcf-checkout .woocommerce-billing-fields>h3 { position:absolute!important;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap; }
.fcf-site .woocommerce form.fcf-checkout h3#ship-to-different-address { float:none;margin:0 0 12px;font-size:15px;font-weight:500; }
.fcf-site .woocommerce form.fcf-checkout h3#ship-to-different-address label { display:inline-flex;align-items:center;gap:10px;min-height:44px;margin:0;font-size:15px;font-weight:500;cursor:pointer; }
.fcf-site .woocommerce form.fcf-checkout h3#ship-to-different-address input { width:20px;height:20px;margin:0; }
.fcf-site .woocommerce form.fcf-checkout .fcf-field-hint { display:block;margin-top:6px;font-size:13px;line-height:1.45;color:var(--muted); }
.fcf-site .woocommerce .fcf-co-sumbar { display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;min-height:52px;margin:0;padding:12px 16px;border:1px solid var(--line);border-radius:4px;background:var(--section);color:var(--ink);font-size:15px;line-height:1.3;text-align:left;cursor:pointer; }
.fcf-site .woocommerce .fcf-co-sumbar__label { display:inline-flex;align-items:center;gap:6px;color:var(--accent-text);font-weight:600; }
.fcf-site .woocommerce .fcf-co-sumbar b { font-size:17px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap; }
.fcf-site .woocommerce .fcf-co-review-head { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.fcf-site .woocommerce form.fcf-checkout .fcf-co-review-head .fcf-co-title { margin:0;scroll-margin-top:88px; }
.fcf-site .woocommerce .fcf-co-review-head .lnk { display:inline-flex;align-items:center;min-height:44px;padding:0;color:var(--accent-text);font-size:14px;font-weight:600;letter-spacing:0;text-decoration:underline;text-underline-offset:3px;white-space:nowrap; }
.fcf-site .woocommerce form.fcf-checkout #order_review { width:100%;min-width:0;margin-top:-12px; }
.fcf-site .woocommerce-form-coupon-toggle .woocommerce-info { margin:0 0 16px;padding:0;border:0;background:transparent;color:var(--muted);font-size:14px; }
.fcf-site .woocommerce-form-coupon-toggle .woocommerce-info::before { display:none; }
.fcf-site .woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon { color:var(--accent-text);font-weight:600; }
.fcf-site .woocommerce .woocommerce-form-coupon,.fcf-site .woocommerce .woocommerce-form-login,.fcf-site .woocommerce .woocommerce-form-register { border:1px solid var(--line);border-radius:4px;padding:20px; }
/* Order review as a list: thumbnail + name + personalization, then the totals as label/value lines (R14, R15). */
.fcf-site .woocommerce table.woocommerce-checkout-review-order-table,.fcf-site .woocommerce table.woocommerce-checkout-review-order-table thead,.fcf-site .woocommerce table.woocommerce-checkout-review-order-table tbody,.fcf-site .woocommerce table.woocommerce-checkout-review-order-table tfoot { display:block;width:100%; }
.fcf-site .woocommerce table.woocommerce-checkout-review-order-table { margin:0 0 16px;padding:4px 16px 8px;border:1px solid var(--line);border-radius:4px;background:var(--panel);font-size:14px; }
.fcf-site .woocommerce table.woocommerce-checkout-review-order-table thead tr { display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line); }
.fcf-site .woocommerce table.woocommerce-checkout-review-order-table thead th { display:block;padding:0;border:0;color:var(--muted);font-size:13px;font-weight:600; }
.fcf-site .woocommerce table.woocommerce-checkout-review-order-table tbody tr.cart_item { display:grid;grid-template-columns:minmax(0,1fr) auto;padding:14px 0;border-bottom:1px solid var(--line); }
.fcf-site .woocommerce table.woocommerce-checkout-review-order-table tbody td { display:block;padding:0;border:0;background:none; }
/* The item cell spans the row and the price sits on its top-right corner, so the personalization gets the full width.
   font-size:0 hides the "&nbsp;" text run WooCommerce prints between the name and the quantity (an empty grid item). */
.fcf-site .woocommerce table.woocommerce-checkout-review-order-table td.product-name { grid-column:1 / -1;grid-row:1;display:grid;grid-template-columns:56px minmax(0,1fr);grid-template-rows:auto auto auto 1fr;column-gap:12px;align-items:start;min-width:0;font-size:0;line-height:0; }
.fcf-site .woocommerce table.woocommerce-checkout-review-order-table td.product-name>* { font-size:14px;line-height:1.45; }
.fcf-site .woocommerce table.woocommerce-checkout-review-order-table .fcf-review-thumb { grid-column:1;grid-row:1 / -1;width:56px;margin:0; }
.fcf-site .woocommerce table.woocommerce-checkout-review-order-table .fcf-review-name { grid-column:2;grid-row:1;padding-right:92px;color:var(--ink);font-size:14px;font-weight:600; }
/* Quantity as a badge on the thumbnail corner, as in the approved prototype. */
.fcf-site .woocommerce table.woocommerce-checkout-review-order-table td.product-name>.product-quantity { grid-column:1;grid-row:1;justify-self:end;align-self:start;z-index:1;margin:-7px -7px 0 0;padding:0 6px;border-radius:999px;background:var(--muted);color:#fff;font-size:12px;font-weight:600;line-height:20px;white-space:nowrap; }
.fcf-site .woocommerce table.woocommerce-checkout-review-order-table td.product-name>.fcf-later-note { grid-column:2;grid-row:2;font-size:13px;line-height:1.4; }
.fcf-site .woocommerce table.woocommerce-checkout-review-order-table td.product-name>dl.variation { grid-column:2;grid-row:3;font-size:13px; }
.fcf-site .woocommerce table.woocommerce-checkout-review-order-table tbody td.product-total { grid-column:2;grid-row:1;align-self:start;max-width:92px; }
.fcf-site .woocommerce table.woocommerce-checkout-review-order-table td.product-total { color:var(--ink);font-weight:600;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums; }
.fcf-site .woocommerce table.woocommerce-checkout-review-order-table tfoot tr:first-child { border-top:0; }
.fcf-site .woocommerce #payment { background:transparent;border:0;border-radius:0; }
.fcf-site .woocommerce #payment ul.payment_methods { display:grid;gap:10px;margin:0 0 16px;padding:0;border:0; }
.fcf-site .woocommerce #payment ul.payment_methods>li { position:relative;margin:0;padding:0;border:1.5px solid var(--line);border-radius:12px;line-height:1.45; }
.fcf-site .woocommerce #payment ul.payment_methods>li:has(>input:checked) { border-color:var(--accent); }
.fcf-site .woocommerce #payment ul.payment_methods>li>input { position:absolute;left:14px;top:17px;width:18px;height:18px;margin:0; }
.fcf-site .woocommerce #payment ul.payment_methods>li>label { display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-height:52px;margin:0;padding:14px 14px 14px 44px;font-size:15px;font-weight:600;cursor:pointer; }
.fcf-site .woocommerce #payment ul.payment_methods>li>label img { display:inline-block;max-height:28px;width:auto;margin:0;vertical-align:middle; }
.fcf-site .woocommerce #payment div.payment_box { width:auto;margin:0 12px 12px;padding:12px;border-radius:4px;background:var(--chip);color:var(--ink);font-size:14px; }
.fcf-site .woocommerce #payment div.payment_box:before { display:none; }
.fcf-site .woocommerce #payment div.payment_box p { margin:0; }
.fcf-site .woocommerce #payment .place-order { margin:0;padding:0; }
.fcf-site .woocommerce #place_order { width:100%;float:none;min-height:52px;margin:12px 0 0;padding:14px 20px;border-radius:999px;font-size:16px;font-weight:600; }
.fcf-site .woocommerce .woocommerce-privacy-policy-text,.fcf-site .woocommerce .woocommerce-terms-and-conditions-wrapper { font-size:13px;color:var(--muted);line-height:1.55; }
.fcf-site .woocommerce .woocommerce-privacy-policy-text p { margin:0; }
.fcf-site .woocommerce .woocommerce-privacy-policy-text a { color:var(--accent-text); }

/* Logged-in endpoints, login and reset-password forms all remain WooCommerce output. */
.fcf-site .woocommerce .fcf-account-layout { display:grid;grid-template-columns:minmax(0,1fr);gap:18px; }
.fcf-site .woocommerce .woocommerce-MyAccount-navigation,.fcf-site .woocommerce .woocommerce-MyAccount-content { float:none;width:100%;min-width:0; }
.fcf-site .woocommerce .woocommerce-MyAccount-navigation ul { display:flex;gap:8px;padding:0;margin:0;list-style:none; }
.fcf-site .woocommerce .woocommerce-MyAccount-navigation li { flex:none; }
.fcf-site .woocommerce .woocommerce-MyAccount-navigation a { display:block;border:1.5px solid var(--line);border-radius:999px;padding:9px 14px;background:var(--panel);text-decoration:none;font-size:13.5px;white-space:nowrap; }
.fcf-site .woocommerce .woocommerce-MyAccount-navigation a[aria-current=page] { background:var(--accent);border-color:var(--accent);color:var(--accent-ink); }
.fcf-site .woocommerce .woocommerce-MyAccount-content { padding:20px; }
.fcf-site .woocommerce .woocommerce-MyAccount-content>:first-child { margin-top:0; }
.fcf-site .woocommerce .woocommerce-MyAccount-content table { margin-bottom:20px; }
.fcf-site .woocommerce fieldset { border:1px solid var(--line);border-radius:12px;padding:16px;margin:16px 0;min-width:0; }
.fcf-site .woocommerce legend { font-size:15px;font-weight:600;padding:0 6px; }
.fcf-site .woocommerce address { font-style:normal;line-height:1.6; }
.fcf-site .woocommerce table.my_account_orders .button { min-height:36px;padding:6px 10px;margin:3px;font-size:12px; }
.fcf-site .woocommerce .woocommerce-order-overview { display:flex;gap:18px;flex-wrap:wrap;padding:0;margin:24px 0; }
.fcf-site .woocommerce .woocommerce-order-overview li { border:0;float:none;margin:0;padding:0;line-height:1.7; }
.fcf-site .woocommerce .woocommerce-order-overview li strong { font-size:15px; }

/* Accessible modal enhancement; the header link is usable without JavaScript. */
.fcf-mini-cart-dialog { position:fixed;inset:0 0 0 auto;margin:0;border:0;border-left:1px solid var(--line);padding:0 20px;width:min(440px,100vw);height:100%;max-width:100vw;max-height:100%;background:var(--pagebg);color:var(--ink);box-shadow:var(--shadow);overflow-y:auto;overscroll-behavior:contain; }
.fcf-mini-cart-dialog:not([open]) { display:none; }
.fcf-mini-cart-dialog::backdrop { background:rgba(10,14,13,.5); }
.fcf-mini-cart-header { position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;background:var(--pagebg);border-bottom:1px solid var(--line); }
.fcf-mini-cart-header h2 { margin:0;font-family:"EB Garamond",Georgia,"Times New Roman",serif;font-size:30px;font-weight:500;letter-spacing:-.01em;line-height:1.1;color:var(--ink); }
.fcf-mini-cart-dialog .widget_shopping_cart ul.cart_list { list-style:none;margin:0;padding:0; }
.fcf-mini-cart-dialog .widget_shopping_cart ul.cart_list li.mini_cart_item { position:static;display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;min-height:0;margin:0;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.45; }
.fcf-mini-cart-dialog .widget_shopping_cart ul.cart_list li.mini_cart_item::before,.fcf-mini-cart-dialog .widget_shopping_cart ul.cart_list li.mini_cart_item::after { content:none;display:none; }
.fcf-mini-cart-dialog .widget_shopping_cart .fcf-mini-thumb { width:72px; }
.fcf-mini-cart-dialog .widget_shopping_cart .fcf-mini-body { min-width:0; }
.fcf-mini-cart-dialog .widget_shopping_cart ul.cart_list li a.fcf-mini-name,.fcf-mini-cart-dialog .widget_shopping_cart ul.cart_list li span.fcf-mini-name { display:block;width:fit-content;max-width:100%;margin:-12px 0 0;padding:12px 0;color:var(--ink);font-size:15px;font-weight:600;line-height:20px;text-decoration:none; }
.fcf-mini-cart-dialog .widget_shopping_cart ul.cart_list li span.fcf-mini-name { margin:0;padding:0 0 4px; }
.fcf-mini-cart-dialog .widget_shopping_cart .fcf-mini-foot { display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px -4px -12px 0; }
.fcf-mini-cart-dialog .widget_shopping_cart .fcf-mini-foot .quantity { display:block;margin:0;color:var(--muted);font-size:13.5px;font-variant-numeric:tabular-nums; }
.fcf-mini-cart-foot { position:sticky;bottom:0;z-index:2;margin:0 -20px;padding:14px 20px calc(16px + env(safe-area-inset-bottom,0px));background:var(--pagebg);border-top:1px solid var(--line);box-shadow:0 -10px 24px -12px rgba(20,30,28,.18); }
.fcf-mini-cart-dialog .widget_shopping_cart .woocommerce-mini-cart__total { display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:0 0 12px;padding:0;border:0;font-size:15.5px; }
.fcf-mini-cart-dialog .widget_shopping_cart .woocommerce-mini-cart__total strong { min-width:0;font-weight:500;color:var(--muted); }
.fcf-mini-cart-dialog .widget_shopping_cart .woocommerce-mini-cart__total .amount { color:var(--ink);font-size:18px;font-weight:600;font-variant-numeric:tabular-nums; }
.fcf-mini-cart-dialog .widget_shopping_cart .woocommerce-mini-cart__buttons { display:flex;flex-direction:column;align-items:stretch;gap:4px;margin:0; }
.fcf-mini-cart-dialog .widget_shopping_cart .woocommerce-mini-cart__buttons::before,.fcf-mini-cart-dialog .widget_shopping_cart .woocommerce-mini-cart__buttons::after { content:none;display:none; }
.fcf-mini-cart-dialog .widget_shopping_cart .woocommerce-mini-cart__buttons a { display:flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:8px 16px;border:0;border-radius:999px;background:none;color:var(--accent-text);font-size:15px;font-weight:600;text-align:center;text-decoration:underline;text-underline-offset:3px; }
/* "Finalizar compra" first and as the main button; "Ver carrinho" becomes the secondary link (order only, same hook). */
.fcf-mini-cart-dialog .widget_shopping_cart .woocommerce-mini-cart__buttons a.checkout { order:-1;min-height:52px;background:var(--accent);color:var(--accent-ink);font-size:16px;text-decoration:none; }
.fcf-mini-cart-dialog .widget_shopping_cart .woocommerce-mini-cart__buttons a.checkout:hover { background:#bf2246; }
.fcf-mini-cart-dialog .woocommerce-mini-cart__empty-message { color:var(--muted);line-height:1.6;padding:16px 0; }

@media(min-width:900px) {
  main.fcf-commerce-page>h1 { font-size:46px; }
  .fcf-site .woocommerce .fcf-cart-layout { grid-template-columns:minmax(0,1fr) 380px;gap:48px; }
  .fcf-site .woocommerce table.cart tr.cart_item { grid-template-columns:120px minmax(0,1fr) auto;column-gap:20px; }
  .fcf-site .woocommerce table.cart .fcf-thumb { width:120px; }
  .fcf-site .woocommerce table.cart tr.cart_item td.product-quantity { flex-direction:row;align-items:center;gap:10px; }
  .fcf-site .woocommerce form.fcf-checkout { grid-template-columns:minmax(0,1fr) 400px;grid-template-areas:"notice notice" "customer head" "customer review";grid-template-rows:auto auto 1fr;gap:0 48px;align-items:start; }
  .fcf-site .woocommerce form.fcf-checkout .woocommerce-NoticeGroup-checkout { grid-area:notice;margin-bottom:20px; }
  .fcf-site .woocommerce .fcf-co-sumbar { display:none; }
  .fcf-site .fcf-checkout-customer { grid-area:customer; }
  .fcf-site .woocommerce .fcf-co-review-head { grid-area:head;margin:-11px 0 4px; }
  .fcf-site .woocommerce form.fcf-checkout #order_review { grid-area:review;margin-top:0; }
  .fcf-site .woocommerce .fcf-account-layout { grid-template-columns:220px minmax(0,1fr);gap:48px; }
  .fcf-site .woocommerce .woocommerce-MyAccount-navigation ul { flex-direction:column;width:100%;gap:4px; }
  .fcf-site .woocommerce .woocommerce-MyAccount-navigation a { border:0;border-radius:10px;background:transparent;font-size:14px; }
  .fcf-site .woocommerce .woocommerce-MyAccount-navigation a[aria-current=page] { background:var(--accent-soft);color:var(--accent);font-weight:600; }
}
@media(max-width:899px) {
  /* R12: the fixed cart bar never hides the focused element. */
  html:has(.fcf-cart-bar:not([hidden])) { scroll-padding-bottom:88px; }
  .fcf-site .woocommerce .woocommerce-MyAccount-content { padding:16px; }
}
@media(max-width:420px) {
  /* Ajuste P6-A3: no celular, rótulo e valor em linha corrida (um par por linha). O rótulo não quebra e o valor
     continua na linha de baixo, sem a coluna estreita da grade. */
  .fcf-site .woocommerce table.cart dl.variation,.fcf-mini-cart-dialog .widget_shopping_cart dl.variation,.fcf-site .woocommerce table.woocommerce-checkout-review-order-table dl.variation { display:block; }
  .fcf-site .woocommerce table.cart dl.variation dt,.fcf-mini-cart-dialog .widget_shopping_cart dl.variation dt,.fcf-site .woocommerce table.woocommerce-checkout-review-order-table dl.variation dt { display:inline;white-space:nowrap; }
  .fcf-site .woocommerce table.cart dl.variation dd,.fcf-mini-cart-dialog .widget_shopping_cart dl.variation dd,.fcf-site .woocommerce table.woocommerce-checkout-review-order-table dl.variation dd { display:inline;margin:0 0 0 .3em; }
  .fcf-site .woocommerce table.cart dl.variation dd p,.fcf-mini-cart-dialog .widget_shopping_cart dl.variation dd p,.fcf-site .woocommerce table.woocommerce-checkout-review-order-table dl.variation dd p { display:inline;margin:0; }
  .fcf-site .woocommerce table.cart dl.variation dd::after,.fcf-mini-cart-dialog .widget_shopping_cart dl.variation dd::after,.fcf-site .woocommerce table.woocommerce-checkout-review-order-table dl.variation dd::after { content:"\A";white-space:pre; }
  .fcf-site .woocommerce .form-row-first,.fcf-site .woocommerce .form-row-last { width:100%;float:none; }
  .fcf-site .woocommerce table.shop_table td,.fcf-site .woocommerce table.shop_table th { padding:9px; }
}
@media (prefers-reduced-motion:reduce) {
  .fcf-site .woocommerce .fcf-coupon summary::after { transition:none; }
}
