/*
 * NFO - thank-you page, order-pay page and My Account.
 * Same tokens as the checkout: green #52562e, brown #593B2E, cream #F8F1EB, line #E3D6CA.
 */
body.nfo-shell,
body.nfo-account {
	--nfo-green: #52562e;
	--nfo-brown: #593B2E;
	--nfo-cream: #F8F1EB;
	--nfo-line: #E3D6CA;
	--nfo-muted: #8A766B;
	--nfo-text: #4a3830;
	--nfo-err: #9B2C1C;
	--nfo-head: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
	--nfo-body: Futura, 'Jost', 'Century Gothic', Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
}
body.nfo-shell { background: #fff; font-family: var(--nfo-body); color: var(--nfo-text); }

/* ------------------------------------------------------------ shell: own top bar, no theme header/footer (no sticky header = no scroll flicker) */
body.nfo-shell .elementor-location-header,
body.nfo-shell .elementor-location-footer,
body.nfo-shell #masthead,
body.nfo-shell .site-footer,
body.nfo-shell .xoo-wsc-container,
body.nfo-shell .xoo-wsc-basket,
body.nfo-shell h1.entry-title,
body.nfo-shell .ast-breadcrumbs-wrapper { display: none !important; }
body.nfo-shell .nfo-top { position: static; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 14px 32px; border-bottom: 1px solid var(--nfo-line); background: #fff; }
body.nfo-shell .nfo-top__back { justify-self: start; color: var(--nfo-brown); text-decoration: none; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; background: none; border: 0; box-shadow: none; padding: 8px 0; }
body.nfo-shell .nfo-top__back:hover { color: var(--nfo-green); }
body.nfo-shell .nfo-top__logo { display: block; text-align: center; color: var(--nfo-green); text-decoration: none; }
body.nfo-shell .nfo-top__logo img { display: block; width: 300px; height: 80px; max-width: 100%; object-fit: cover; margin: 0 auto; }
@media (max-width: 640px) {
	body.nfo-shell .nfo-top { padding: 10px 16px; }
	body.nfo-shell .nfo-top__back { font-size: 12px; letter-spacing: .08em; }
	body.nfo-shell .nfo-top__logo img { width: 150px; height: 44px; }
}
body.nfo-shell .site-content > .ast-container,
body.nfo-shell #primary,
body.nfo-shell .entry-content { margin: 0 !important; padding: 0 !important; max-width: none !important; width: 100% !important; float: none !important; }
body.nfo-shell .woocommerce { max-width: 860px; margin: 0 auto; padding: 32px 20px 72px; box-sizing: border-box; }

/* ------------------------------------------------------------ shared pieces */
body.nfo-shell .nfo-btn,
body.nfo-account .nfo-btn,
body.nfo-account a.button,
body.nfo-account button.button,
body.nfo-account .woocommerce-Button,
body.nfo-shell #place_order {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; box-sizing: border-box;
	min-height: 44px; padding: 0 22px; border-radius: 4px; cursor: pointer;
	background: #fff; color: var(--nfo-brown); border: 1px solid var(--nfo-line); box-shadow: none;
	font: 500 12px/1 var(--nfo-body); letter-spacing: .12em; text-transform: uppercase; text-decoration: none; white-space: nowrap;
	transition: background .15s, color .15s, border-color .15s;
}
body.nfo-shell .nfo-btn:hover,
body.nfo-account .nfo-btn:hover,
body.nfo-account a.button:hover,
body.nfo-account button.button:hover { border-color: var(--nfo-green); color: var(--nfo-green); background: #fff; }
body.nfo-shell .nfo-btn--primary,
body.nfo-account .nfo-btn--primary,
body.nfo-account a.button.pay,
body.nfo-account button.button[name="save_account_details"],
body.nfo-account button.button[name="save_address"],
body.nfo-account button.button[name="login"],
body.nfo-account button.button[name="register"],
body.nfo-account button.button[name="wc_reset_password"],
body.nfo-shell #place_order { background: var(--nfo-green); color: #fff; border-color: var(--nfo-green); }
body.nfo-shell .nfo-btn--primary:hover,
body.nfo-account .nfo-btn--primary:hover,
body.nfo-account a.button.pay:hover,
body.nfo-account button.button[name="save_account_details"]:hover,
body.nfo-account button.button[name="save_address"]:hover,
body.nfo-account button.button[name="login"]:hover,
body.nfo-account button.button[name="register"]:hover,
body.nfo-shell #place_order:hover { background: #164d26; border-color: #164d26; color: #fff; }
body.nfo-shell #payment #place_order { float: none !important; width: 100% !important; min-height: 52px; font-size: 13px; margin-top: 8px; }

.nfo-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 22px; }
.nfo-actions--left { justify-content: flex-start; margin-top: 18px; }

.nfo-pill { display: inline-flex; align-items: center; height: 26px; padding: 0 12px; border-radius: 13px; font: 500 11px/1 var(--nfo-body, Arial); letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
.nfo-pill--ok { background: #ECEEDF; color: #52562e; }
.nfo-pill--wait { background: #FBF1DC; color: #8A5A00; }
.nfo-pill--bad { background: #FBE7E3; color: #9B2C1C; }
.nfo-sub { display: block; margin-top: 3px; font-size: 12px; color: var(--nfo-muted); font-weight: 400; }

/* ------------------------------------------------------------ status block (thank-you) */
body.nfo-shell .nfo-status { text-align: center; padding: 20px 0 8px; }
.nfo-ico { display: inline-flex; align-items: center; justify-content: center; width: 76px; height: 76px; border-radius: 50%; margin-bottom: 14px; }
.nfo-ico--ok { background: #ECEEDF; color: #52562e; }
.nfo-ico--wait { background: #FBF1DC; color: #B7791F; }
.nfo-ico--bad { background: #FBE7E3; color: #9B2C1C; }
.nfo-ico svg { width: 40px; height: 40px; }
body.nfo-shell .nfo-status__title { font-family: Futura, 'Jost', 'Century Gothic', Arial, sans-serif; font-weight: 600; font-size: 40px; line-height: 1.15; color: var(--nfo-green); margin: 0 0 10px; padding: 0; text-transform: none; letter-spacing: 0; }
body.nfo-shell .nfo-status--bad .nfo-status__title { color: var(--nfo-err); }
body.nfo-shell .nfo-status__text { max-width: 560px; margin: 0 auto; font-size: 16px; line-height: 1.6; color: var(--nfo-text); }
body.nfo-shell .nfo-status__text strong { color: var(--nfo-brown); }
body.nfo-shell .nfo-thanks { padding-top: 12px; }
body.nfo-shell .nfo-thanks ul.woocommerce-order-overview { margin-top: 30px !important; }

/* Thank-you page: keep the receipt uploader, hide the repeated order table and addresses. */
body.woocommerce-order-received .woocommerce-order-details > h2.woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-order-details > table.woocommerce-table--order-details,
body.woocommerce-order-received .woocommerce-customer-details { display: none !important; }

/* order overview strip */
body.nfo-shell ul.woocommerce-order-overview { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
body.nfo-shell ul.woocommerce-order-overview li { font-size: 11px !important; }
body.nfo-shell ul.woocommerce-order-overview li strong { overflow-wrap: normal; word-break: normal; }

/* ------------------------------------------------------------ order tables (thank-you, order-pay, view-order) */
:is(body.nfo-shell, body.nfo-account) .woocommerce-order-details { margin: 0 0 28px; }
:is(body.nfo-shell, body.nfo-account) .woocommerce-order-details__title:not(.upload_receipt),
:is(body.nfo-shell, body.nfo-account) .woocommerce-column__title,
:is(body.nfo-shell, body.nfo-account) .nfo-vo__updates h2,
:is(body.nfo-shell, body.nfo-account) .nfo-co-thanks h2,
:is(body.nfo-shell, body.nfo-account) .nfo-addr__head h2 { font-family: var(--nfo-head) !important; font-weight: 600 !important; font-size: 30px !important; line-height: 1.15 !important; color: var(--nfo-brown) !important; margin: 0 0 14px !important; padding: 0 !important; background: none !important; border: 0 !important; text-transform: none !important; letter-spacing: 0 !important; }
:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--order-details,
body.nfo-shell table.shop_table { width: 100%; border: 1px solid var(--nfo-line) !important; border-collapse: separate !important; border-spacing: 0 !important; border-radius: 6px; background: #fff; overflow: hidden; table-layout: auto; }
:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--order-details th,
:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--order-details td,
body.nfo-shell table.shop_table th,
body.nfo-shell table.shop_table td { padding: 13px 16px !important; border: 0 !important; border-bottom: 1px solid var(--nfo-line) !important; font-size: 14px; color: var(--nfo-text); text-align: left; background: #fff; vertical-align: middle; }
:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--order-details tr:last-child th,
:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--order-details tr:last-child td,
body.nfo-shell table.shop_table tr:last-child th,
body.nfo-shell table.shop_table tr:last-child td { border-bottom: 0 !important; }
:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--order-details thead th,
body.nfo-shell table.shop_table thead th { font-size: 11px !important; letter-spacing: .1em; text-transform: uppercase; color: var(--nfo-muted) !important; background: var(--nfo-cream) !important; font-weight: 500 !important; }
:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--order-details th:last-child,
:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--order-details td:last-child,
body.nfo-shell table.shop_table th:last-child,
body.nfo-shell table.shop_table td:last-child { text-align: right; }
:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--order-details a,
body.nfo-shell table.shop_table a { color: var(--nfo-green); text-decoration: none; }
:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--order-details tfoot th,
body.nfo-shell table.shop_table tfoot th { font-weight: 500; color: #6c5a50; }
:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--order-details tfoot tr:last-child th,
:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--order-details tfoot tr:last-child td,
body.nfo-shell table.shop_table tfoot tr:last-child th,
body.nfo-shell table.shop_table tfoot tr:last-child td { font-weight: 600; color: var(--nfo-brown); }
:is(body.nfo-shell, body.nfo-account) table .product-quantity { color: var(--nfo-muted); font-weight: 500; }
:is(body.nfo-shell, body.nfo-account) table small.shipped_via { display: block; margin-top: 2px; font-size: 12px; font-weight: 400; color: var(--nfo-muted); }
:is(body.nfo-shell, body.nfo-account) tr.nfo-bundle-part td { background: #FBF8F5 !important; color: #6c5a50; font-size: 13px; }
:is(body.nfo-shell, body.nfo-account) tr.nfo-bundle-part td.product-name { padding-left: 28px !important; }
:is(body.nfo-shell, body.nfo-account) tr.nfo-bundle-part td.product-total .amount { display: none; }
:is(body.nfo-shell, body.nfo-account) tr.nfo-bundle-part td.product-total::after { content: 'Included'; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--nfo-muted); }
:is(body.nfo-shell, body.nfo-account) .woocommerce-order-details .order-again { display: none; }
:is(body.nfo-shell, body.nfo-account) .wc-item-meta { margin: 6px 0 0; padding: 0; list-style: none; font-size: 12px; color: var(--nfo-muted); }
:is(body.nfo-shell, body.nfo-account) .wc-item-meta p { display: inline; margin: 0; }

/* delivery details card */
:is(body.nfo-shell, body.nfo-account) .nfo-co-thanks { max-width: none; margin: 0 0 28px; padding: 24px 28px; background: var(--nfo-cream); border: 1px solid var(--nfo-line); border-radius: 6px; }
:is(body.nfo-shell, body.nfo-account) .nfo-co-thanks ul { list-style: none; margin: 0; padding: 0; }
:is(body.nfo-shell, body.nfo-account) .nfo-co-thanks li { display: flex; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--nfo-line); font-size: 15px; line-height: 1.5; color: var(--nfo-text); }
:is(body.nfo-shell, body.nfo-account) .nfo-co-thanks li:last-child { border-bottom: 0; }
:is(body.nfo-shell, body.nfo-account) .nfo-co-thanks li strong { flex: 0 0 170px; font-weight: 600; color: var(--nfo-brown); }
:is(body.nfo-shell, body.nfo-account) .nfo-co-thanks li span { min-width: 0; overflow-wrap: anywhere; }

/* addresses on order */
:is(body.nfo-shell, body.nfo-account) .woocommerce-customer-details { margin: 0 0 8px; }
:is(body.nfo-shell, body.nfo-account) .woocommerce-columns--addresses { display: grid !important; grid-template-columns: 1fr 1fr; gap: 16px; width: 100% !important; margin: 0 !important; }
:is(body.nfo-shell, body.nfo-account) .woocommerce-columns--addresses::before,
:is(body.nfo-shell, body.nfo-account) .woocommerce-columns--addresses::after { display: none !important; }
:is(body.nfo-shell, body.nfo-account) .woocommerce-columns--addresses .woocommerce-column { float: none !important; width: auto !important; margin: 0 !important; padding: 18px 20px !important; background: #fff; border: 1px solid var(--nfo-line); border-radius: 6px; box-sizing: border-box; }
:is(body.nfo-shell, body.nfo-account) .woocommerce-columns--addresses .woocommerce-column__title { font-size: 24px !important; }
:is(body.nfo-shell, body.nfo-account) .woocommerce-customer-details address { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; font-style: normal; line-height: 1.7; color: var(--nfo-text); }
:is(body.nfo-shell, body.nfo-account) .woocommerce-customer-details--phone,
:is(body.nfo-shell, body.nfo-account) .woocommerce-customer-details--email { display: block; margin-top: 8px; padding: 0 !important; }

/* ------------------------------------------------------------ order-pay page */
body.nfo-shell.woocommerce-order-pay .woocommerce::before { content: 'Complete your payment'; display: block; text-align: center; font-family: var(--nfo-head); font-weight: 600; font-size: 40px; line-height: 1.15; color: var(--nfo-green); margin: 0 0 8px; }
body.nfo-shell.woocommerce-order-pay .woocommerce::after { content: none; }
body.nfo-shell.woocommerce-order-pay form#order_review { margin: 24px 0 0; }
body.nfo-shell.woocommerce-order-pay table.shop_table { margin: 0 0 24px; }
body.nfo-shell.woocommerce-order-pay table.shop_table .product-name { width: 60%; }
body.nfo-shell.woocommerce-order-pay .nfo-pay-confirm { margin: 0 0 20px; padding: 22px 24px; background: #fff; border: 1px solid var(--nfo-line); border-radius: 6px; }
body.nfo-shell.woocommerce-order-pay .nfo-pay-confirm h2 { margin: 0 0 16px; font-family: var(--nfo-head); font-weight: 600; font-size: 28px; line-height: 1.2; color: var(--nfo-green); }
body.nfo-shell.woocommerce-order-pay .nfo-pay-confirm__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
body.nfo-shell.woocommerce-order-pay .nfo-pay-confirm__cols h3 { margin: 0 0 8px; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--nfo-muted); font-weight: 500; }
body.nfo-shell.woocommerce-order-pay .nfo-pay-confirm address,
body.nfo-shell.woocommerce-order-pay .nfo-pay-confirm p { margin: 0; font-style: normal; font-size: 15px; line-height: 1.6; color: var(--nfo-brown); }
body.nfo-shell.woocommerce-order-pay .nfo-pay-confirm p { margin-top: 6px; }
body.nfo-shell.woocommerce-order-pay .nfo-pay-confirm__empty { color: var(--nfo-muted); }
body.nfo-shell.woocommerce-order-pay .nfo-pay-confirm__notes { margin: 16px 0 0; }
body.nfo-shell.woocommerce-order-pay .nfo-pay-confirm__notes div { display: grid; grid-template-columns: 160px 1fr; gap: 12px; padding: 10px 0; border-top: 1px solid var(--nfo-line); }
body.nfo-shell.woocommerce-order-pay .nfo-pay-confirm__notes dt { margin: 0; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--nfo-muted); }
body.nfo-shell.woocommerce-order-pay .nfo-pay-confirm__notes dd { margin: 0; font-size: 15px; color: var(--nfo-brown); }
body.nfo-shell.woocommerce-order-pay #payment { background: #fff; border: 1px solid var(--nfo-line); border-radius: 6px; padding: 8px 20px 20px; }
body.nfo-shell.woocommerce-order-pay #payment ul.payment_methods { margin: 0; padding: 0; list-style: none; border: 0; }
body.nfo-shell.woocommerce-order-pay #payment ul.payment_methods li { margin: 0; padding: 14px 0; border-bottom: 1px solid var(--nfo-line); list-style: none; }
body.nfo-shell.woocommerce-order-pay #payment ul.payment_methods li:last-child { border-bottom: 0; }
body.nfo-shell.woocommerce-order-pay #payment ul.payment_methods label { font-size: 15px; font-weight: 500; color: var(--nfo-brown); cursor: pointer; }
body.nfo-shell.woocommerce-order-pay #payment div.payment_box { margin: 10px 0 0; padding: 12px 14px; background: var(--nfo-cream); border-radius: 4px; color: var(--nfo-text); font-size: 14px; }
body.nfo-shell.woocommerce-order-pay #payment div.payment_box::before { display: none; }
body.nfo-shell.woocommerce-order-pay .form-row.place-order { padding: 12px 0 0 !important; margin: 0; }
body.nfo-shell.woocommerce-order-pay .woocommerce-terms-and-conditions-wrapper { font-size: 13px; color: var(--nfo-muted); }
body.nfo-shell .woocommerce-error,
body.nfo-shell .woocommerce-info,
body.nfo-shell .woocommerce-message { margin: 0 0 18px !important; padding: 14px 18px 14px 48px !important; border: 1px solid var(--nfo-line) !important; border-radius: 4px; background: var(--nfo-cream) !important; color: var(--nfo-brown) !important; font-size: 14px; list-style: none; }
body.nfo-shell .woocommerce-error { background: #fdf1ee !important; border-color: #f1c8bf !important; color: var(--nfo-err) !important; }

/* ------------------------------------------------------------ My Account layout */
body.nfo-account .elementor-19 .e-con-inner { max-width: 1180px; margin: 0 auto; padding: 8px 24px 0; box-sizing: border-box; }
body.nfo-account .elementor-widget-heading .elementor-heading-title { font-family: var(--nfo-head); font-weight: 600; font-size: 44px; line-height: 1.1; color: var(--nfo-green); margin: 12px 0 18px; }
body.nfo-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
body.nfo-account .woocommerce:has(> .woocommerce-MyAccount-navigation) { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 32px; align-items: start; max-width: none; margin: 0; padding: 8px 0 64px; box-sizing: border-box; }
body.nfo-account .woocommerce:has(> .woocommerce-MyAccount-navigation)::before,
body.nfo-account .woocommerce:has(> .woocommerce-MyAccount-navigation)::after { display: none !important; }
body.nfo-account .woocommerce-MyAccount-navigation { float: none !important; width: auto !important; margin: 0 !important; position: sticky; top: 24px; }
body.nfo-account .woocommerce-MyAccount-content { float: none !important; width: auto !important; min-width: 0; margin: 0 !important; }
body.nfo-account .woocommerce-MyAccount-navigation ul { background: #fff; border: 1px solid var(--nfo-line); border-radius: 6px; overflow: hidden; }
body.nfo-account .woocommerce-MyAccount-navigation li { margin: 0; padding: 0; border: 0 !important; border-bottom: 1px solid var(--nfo-line) !important; }
body.nfo-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0 !important; }
body.nfo-account .woocommerce-MyAccount-navigation li a { display: flex; align-items: center; min-height: 48px; padding: 0 18px; font: 500 13px/1.2 var(--nfo-body); letter-spacing: .1em; text-transform: uppercase; color: var(--nfo-brown); text-decoration: none; background: #fff; border: 0 !important; transition: background .15s, color .15s; }
body.nfo-account .woocommerce-MyAccount-navigation li a:hover { background: var(--nfo-cream); color: var(--nfo-green); }
body.nfo-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--nfo-green); color: #fff; }
body.nfo-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--nfo-muted); }

body.nfo-account .woocommerce-MyAccount-content { font-family: var(--nfo-body); font-size: 15px; line-height: 1.65; color: var(--nfo-text); }
body.nfo-account .woocommerce-MyAccount-content > p:first-child { margin-top: 0; }
body.nfo-account .woocommerce-MyAccount-content a:not(.button):not(.nfo-btn) { color: var(--nfo-green); }
body.nfo-account .woocommerce-MyAccount-content h2,
body.nfo-account .woocommerce-MyAccount-content h3 { font-family: var(--nfo-head); font-weight: 600; color: var(--nfo-brown); text-transform: none; letter-spacing: 0; }
body.nfo-account .woocommerce-MyAccount-content legend { font-family: var(--nfo-head); font-weight: 600; font-size: 24px; color: var(--nfo-brown); padding: 0 0 6px; }
body.nfo-account .woocommerce-message,
body.nfo-account .woocommerce-info,
body.nfo-account .woocommerce-error { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 0 0 20px !important; padding: 14px 18px !important; border: 1px solid var(--nfo-line) !important; border-radius: 4px; background: var(--nfo-cream) !important; color: var(--nfo-brown) !important; font-size: 14px; list-style: none; }
body.nfo-account .woocommerce-message::before,
body.nfo-account .woocommerce-info::before,
body.nfo-account .woocommerce-error::before { position: static !important; display: none !important; }
body.nfo-account .woocommerce-info .button,
body.nfo-account .woocommerce-message .button { order: 2; margin-left: auto; min-height: 38px; padding: 0 16px; }
body.nfo-account .woocommerce-error { background: #fdf1ee !important; border-color: #f1c8bf !important; color: var(--nfo-err) !important; }

/* dashboard */
body.nfo-account .nfo-dash { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 16px; margin-top: 22px; }
body.nfo-account .nfo-dash a { display: block; padding: 20px; border: 1px solid var(--nfo-line); border-radius: 6px; background: #fff; text-decoration: none !important; color: var(--nfo-brown) !important; }
body.nfo-account .nfo-dash a:hover { border-color: var(--nfo-green); background: var(--nfo-cream); }
body.nfo-account .nfo-dash strong { display: block; font-family: var(--nfo-head); font-size: 24px; font-weight: 600; color: var(--nfo-brown); }
body.nfo-account .nfo-dash span { font-size: 14px; color: var(--nfo-muted); }

/* ------------------------------------------------------------ orders list */
body.nfo-account table.woocommerce-orders-table { width: 100%; border: 1px solid var(--nfo-line) !important; border-collapse: separate !important; border-spacing: 0 !important; border-radius: 6px; background: #fff; overflow: hidden; }
body.nfo-account table.woocommerce-orders-table th,
body.nfo-account table.woocommerce-orders-table td { padding: 16px 18px !important; border: 0 !important; border-bottom: 1px solid var(--nfo-line) !important; text-align: left; vertical-align: middle; font-size: 14px; background: #fff; color: var(--nfo-text); }
body.nfo-account table.woocommerce-orders-table thead th { background: var(--nfo-cream) !important; font-size: 11px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--nfo-muted); }
body.nfo-account table.woocommerce-orders-table tbody tr:last-child th,
body.nfo-account table.woocommerce-orders-table tbody tr:last-child td { border-bottom: 0 !important; }
body.nfo-account table.woocommerce-orders-table tbody th a { font-weight: 600; color: var(--nfo-green); text-decoration: none; font-size: 15px; }
body.nfo-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions { white-space: normal; }
body.nfo-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button { min-height: 36px; padding: 0 14px; margin: 0 6px 6px 0; font-size: 11px; }
body.nfo-account .woocommerce-orders-table__cell-order-status { font-weight: 600; letter-spacing: .02em; }
body.nfo-account .woocommerce-orders-table__row--status-processing .woocommerce-orders-table__cell-order-status,
body.nfo-account .woocommerce-orders-table__row--status-completed .woocommerce-orders-table__cell-order-status { color: #1f6b34; }
body.nfo-account .woocommerce-orders-table__row--status-pending .woocommerce-orders-table__cell-order-status,
body.nfo-account .woocommerce-orders-table__row--status-on-hold .woocommerce-orders-table__cell-order-status { color: #8A5A00; }
body.nfo-account .woocommerce-orders-table__row--status-failed .woocommerce-orders-table__cell-order-status,
body.nfo-account .woocommerce-orders-table__row--status-cancelled .woocommerce-orders-table__cell-order-status { color: var(--nfo-err); }
body.nfo-account .woocommerce-pagination { display: flex; justify-content: space-between; gap: 12px; margin-top: 18px; }
body.nfo-account .woocommerce-MyAccount-content .woocommerce-info:has(.woocommerce-Button) { justify-content: space-between; }

/* ------------------------------------------------------------ view order */
.nfo-vo { padding: 22px 24px; border: 1px solid var(--nfo-line); border-radius: 6px; background: #fff; margin: 0 0 28px; }
.nfo-vo__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
body.nfo-account h2.nfo-vo__title { font-family: var(--nfo-head) !important; font-weight: 600 !important; color: var(--nfo-brown) !important; font-size: 34px; line-height: 1.1; margin: 0 0 4px; }
.nfo-vo__meta { margin: 0; color: var(--nfo-muted); font-size: 14px; }
.nfo-vo__facts { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px 24px; margin: 18px 0 0; padding: 16px 0 0; border-top: 1px solid var(--nfo-line); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--nfo-muted); }
.nfo-vo__facts strong { display: block; margin-top: 4px; font-size: 15px; letter-spacing: 0; text-transform: none; font-weight: 500; color: var(--nfo-brown); }
.nfo-vo__updates { margin: 0 0 28px; }
.nfo-vo__updates ol { list-style: none; margin: 0; padding: 0; border: 1px solid var(--nfo-line); border-radius: 6px; overflow: hidden; background: #fff; }
.nfo-vo__updates li { margin: 0; padding: 14px 18px; border-bottom: 1px solid var(--nfo-line); }
.nfo-vo__updates li:last-child { border-bottom: 0; }
.nfo-vo__updates .meta { margin: 0 0 4px; font-size: 12px; color: var(--nfo-muted); }
.nfo-vo__updates .description p { margin: 0; }

/* ------------------------------------------------------------ addresses */
.nfo-addr { margin: 0 0 36px; }
.nfo-addr__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.nfo-addr__head h2 { margin: 0 0 4px !important; }
.nfo-addr__head p { margin: 0; color: var(--nfo-muted); font-size: 14px; }
.nfo-addr__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.nfo-addr__card { display: flex; flex-direction: column; justify-content: space-between; gap: 14px; padding: 20px; border: 1px solid var(--nfo-line); border-radius: 6px; background: #fff; }
.nfo-addr__card--plain { background: var(--nfo-cream); }
.nfo-addr__card h3 { margin: 0 0 6px; font-size: 22px; line-height: 1.2; }
.nfo-addr__card p { margin: 0 0 4px; font-size: 14px; line-height: 1.55; }
.nfo-addr__card address { margin: 0; font-style: normal; line-height: 1.7; border: 0; padding: 0; background: none; }
.nfo-addr__who { color: var(--nfo-brown); font-weight: 500; }
.nfo-addr__note { color: var(--nfo-muted); font-style: italic; }
.nfo-addr__actions { display: flex; gap: 18px; padding-top: 12px; border-top: 1px solid var(--nfo-line); }
.nfo-addr__empty { grid-column: 1 / -1; padding: 32px 20px; border: 1px dashed var(--nfo-line); border-radius: 6px; text-align: center; background: #fff; }
.nfo-addr__empty p { margin: 0 0 14px; color: var(--nfo-muted); }
.nfo-tag { display: inline-block; vertical-align: middle; margin-left: 6px; padding: 3px 9px; border-radius: 10px; background: var(--nfo-cream); border: 1px solid var(--nfo-line); font: 500 10px/1 var(--nfo-body); letter-spacing: .1em; text-transform: uppercase; color: var(--nfo-muted); }
.nfo-link { padding: 0; border: 0; background: none; box-shadow: none; cursor: pointer; font: 500 12px/1 var(--nfo-body); letter-spacing: .12em; text-transform: uppercase; color: var(--nfo-green); }
.nfo-link:hover { text-decoration: underline; background: none; color: var(--nfo-green); }
.nfo-link--danger { color: var(--nfo-err); }
.nfo-link--danger:hover { color: var(--nfo-err); }

/* modal */
body.nfo-modal-open { overflow: hidden; }
.nfo-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(35, 25, 20, .5); }
.nfo-modal__box { width: 100%; max-width: 560px; max-height: 92vh; overflow: auto; background: #fff; border-radius: 8px; box-shadow: 0 20px 60px rgba(0, 0, 0, .25); font-family: Futura, 'Jost', 'Century Gothic', Arial, sans-serif; }
.nfo-modal__box header { display: flex; align-items: center; justify-content: space-between; padding: 18px 24px; border-bottom: 1px solid #E3D6CA; }
.nfo-modal__box header h3 { margin: 0; font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 600; font-size: 28px; color: #593B2E; }
.nfo-modal__x { width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: #F8F1EB; color: #593B2E; font-size: 22px; line-height: 1; cursor: pointer; }
.nfo-modal__box form { padding: 20px 24px 24px; }
.nfo-modal__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.nfo-modal__grid h4 { margin: 8px 0 0; font: 500 11px/1 Futura, 'Century Gothic', Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #8A766B; }
.nfo-f { display: block; min-width: 0; }
.nfo-f--wide { grid-column: 1 / -1; }
.nfo-f > span { display: block; margin-bottom: 6px; font-size: 13px; color: #593B2E; }
.nfo-req { color: #9B2C1C; }
.nfo-f input,
.nfo-f select,
.nfo-f textarea { display: block; width: 100%; box-sizing: border-box; min-height: 46px; padding: 10px 14px; border: 1px solid #D9CBBE; border-radius: 4px; background: #fff; font: 400 15px/1.4 Futura, 'Century Gothic', Arial, sans-serif; color: #4a3830; box-shadow: none; }
.nfo-f textarea { min-height: 70px; resize: vertical; }
.nfo-f input:focus,
.nfo-f select:focus,
.nfo-f textarea:focus { outline: 0; border-color: #52562e; box-shadow: 0 0 0 3px rgba(82, 86, 46, .12); }
.nfo-modal__err { margin: 14px 0 0; padding: 10px 14px; border-radius: 4px; background: #fdf1ee; border: 1px solid #f1c8bf; color: #9B2C1C; font-size: 14px; }
.nfo-modal__box footer { display: flex; justify-content: flex-end; gap: 12px; padding-top: 18px; }
.nfo-modal__box footer .nfo-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 22px; border-radius: 4px; border: 1px solid #E3D6CA; background: #fff; color: #593B2E; font: 500 12px/1 Futura, 'Century Gothic', Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.nfo-modal__box footer .nfo-btn--primary { background: #52562e; border-color: #52562e; color: #fff; }
.nfo-modal__box footer .nfo-btn:disabled { opacity: .6; cursor: default; }

/* ------------------------------------------------------------ forms (account details, edit billing address, login) */
body.nfo-account form .form-row { margin: 0 0 16px; padding: 0; }
body.nfo-account form .form-row label { display: block; margin: 0 0 6px; font-size: 13px; line-height: 1.3; color: var(--nfo-brown); }
body.nfo-account form .form-row .required { color: var(--nfo-err); text-decoration: none; }
body.nfo-account form .form-row input.input-text,
body.nfo-account form .form-row select,
body.nfo-account form .form-row textarea,
body.nfo-account .select2-container .select2-selection--single { display: block; width: 100%; box-sizing: border-box; min-height: 48px; padding: 10px 14px; border: 1px solid #D9CBBE; border-radius: 4px; background: #fff; font: 400 15px/1.4 var(--nfo-body); color: var(--nfo-text); box-shadow: none; }
body.nfo-account .select2-container .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 28px; color: var(--nfo-text); }
body.nfo-account .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; right: 8px; }
body.nfo-account form .form-row input.input-text:focus,
body.nfo-account form .form-row select:focus,
body.nfo-account form .form-row textarea:focus { outline: 0; border-color: var(--nfo-green); box-shadow: 0 0 0 3px rgba(82, 86, 46, .12); }
body.nfo-account form .form-row-first,
body.nfo-account form .form-row-last { width: calc(50% - 8px); float: left; }
body.nfo-account form .form-row-last { float: right; }
body.nfo-account form .form-row-wide,
body.nfo-account form .clear { clear: both; }
body.nfo-account form .woocommerce-address-fields__field-wrapper::after,
body.nfo-account form fieldset::after { content: ''; display: table; clear: both; }
body.nfo-account form fieldset { margin: 24px 0 0; padding: 0; border: 0; }
body.nfo-account form em { display: block; margin-top: 4px; font-size: 12px; color: var(--nfo-muted); font-style: normal; }
body.nfo-account button.button[name="save_address"],
body.nfo-account button.button[name="save_account_details"] { margin-top: 22px; }
body.nfo-account .woocommerce-EditAccountForm p:has(input[name="mailchimp_woocommerce_is_subscribed_radio"]) { margin: 0 0 10px; }
body.nfo-account .woocommerce-EditAccountForm p:has(#mailchimp_woocommerce_is_subscribed) { margin-top: 22px; }
body.nfo-account .woocommerce-EditAccountForm label:has(input.input-radio) { display: inline-flex; align-items: center; gap: 10px; margin: 0; font-size: 15px; line-height: 1.4; color: var(--nfo-text); cursor: pointer; }
body.nfo-account .woocommerce-EditAccountForm input.input-radio { width: 18px; height: 18px; margin: 0; flex: 0 0 auto; accent-color: var(--nfo-green); }
body.nfo-account form .password-input { display: block; position: relative; }
body.nfo-account form .show-password-input { position: absolute; right: 12px; top: 14px; background: none !important; border: 0 !important; box-shadow: none !important; }
body.nfo-account .woocommerce-form-login,
body.nfo-account .woocommerce-form-register,
body.nfo-account .woocommerce-ResetPassword { max-width: 480px; margin: 0 auto; padding: 28px; border: 1px solid var(--nfo-line) !important; border-radius: 6px; background: #fff; }
body.nfo-account #customer_login { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; max-width: 1000px; margin: 0 auto; padding: 0 20px 48px; }
body.nfo-account #customer_login .u-column1,
body.nfo-account #customer_login .u-column2 { float: none; width: auto; }
body.nfo-account #customer_login h2 { font-family: var(--nfo-head); font-weight: 600; font-size: 32px; color: var(--nfo-brown); margin: 0 0 14px; text-align: center; }
body.nfo-account .woocommerce-form-login__rememberme { display: inline-flex; gap: 8px; align-items: center; }
body.nfo-account .woocommerce-LostPassword a { color: var(--nfo-green); }

/* Logged-out account: one title, and a compact login / register card. */
body.nfo-account:not(.logged-in) .elementor-19 > .elementor-element > .e-con-inner > .elementor-widget-heading { display: none !important; }
body.nfo-account:not(.logged-in) .jet-woo-builder-woocommerce-myaccount-login-page { max-width: 520px; margin: 28px auto 72px; }
body.nfo-account:not(.logged-in) .jet-tabs__content,
body.nfo-account:not(.logged-in) .jet-tabs__content .elementor,
body.nfo-account:not(.logged-in) .jet-tabs__content .elementor-section,
body.nfo-account:not(.logged-in) .jet-tabs__content .elementor-container,
body.nfo-account:not(.logged-in) .jet-tabs__content .elementor-column,
body.nfo-account:not(.logged-in) .jet-tabs__content .elementor-widget-wrap,
body.nfo-account:not(.logged-in) .jet-tabs__content .elementor-element,
body.nfo-account:not(.logged-in) .jet-woo-builder-woocommerce-myaccount-login-page .elementor-section,
body.nfo-account:not(.logged-in) .jet-woo-builder-woocommerce-myaccount-login-page .elementor-container,
body.nfo-account:not(.logged-in) .jet-woo-builder-woocommerce-myaccount-login-page .elementor-column,
body.nfo-account:not(.logged-in) .jet-woo-builder-woocommerce-myaccount-login-page .elementor-widget-wrap,
body.nfo-account:not(.logged-in) .jet-woo-builder-woocommerce-myaccount-login-page .elementor-widget-container,
body.nfo-account:not(.logged-in) .elementor-jet-myaccount-login-form { width: 100% !important; max-width: 100% !important; }
body.nfo-account:not(.logged-in) .jet-tabs__content,
body.nfo-account:not(.logged-in) .jet-woo-builder-woocommerce-myaccount-login-page .elementor-widget-wrap,
body.nfo-account:not(.logged-in) .jet-woo-builder-woocommerce-myaccount-login-page .elementor-column-gap-default { padding: 0 !important; }
body.nfo-account:not(.logged-in) .jet-woo-builder-woocommerce-myaccount-login-page h1.elementor-heading-title { font-family: var(--nfo-head) !important; font-weight: 600 !important; font-size: 42px !important; line-height: 1.1 !important; color: var(--nfo-brown) !important; text-align: center; margin: 0 0 18px !important; }
body.nfo-account:not(.logged-in) .jet-tabs__control-wrapper { display: flex !important; justify-content: center; gap: 8px; margin: 0 0 16px !important; border: 0 !important; }
body.nfo-account:not(.logged-in) .jet-tabs__control { display: inline-flex !important; align-items: center; justify-content: center; min-height: 40px; padding: 0 18px !important; border: 1px solid var(--nfo-line) !important; border-radius: 20px !important; background: #fff !important; color: var(--nfo-brown) !important; box-shadow: none !important; font: 500 12px/1 var(--nfo-body) !important; letter-spacing: .12em; text-transform: uppercase; }
body.nfo-account:not(.logged-in) .jet-tabs__control[aria-expanded="true"] { background: var(--nfo-green) !important; border-color: var(--nfo-green) !important; color: #fff !important; }
body.nfo-account:not(.logged-in) .jet-tabs__control[aria-expanded="true"] .jet-tabs__control-inner,
body.nfo-account:not(.logged-in) .jet-tabs__control[aria-expanded="true"] .jet-tabs__label-text { color: #fff !important; }
body.nfo-account:not(.logged-in) .jet-tabs__control-icon,
body.nfo-account:not(.logged-in) .jet-tabs__label-icon { display: none !important; }
body.nfo-account:not(.logged-in) .jet-tabs__label-text { color: inherit !important; }
body.nfo-account:not(.logged-in) .jet-woo-builder-woocommerce-myaccount-login-page h2 { display: none !important; }
body.nfo-account:not(.logged-in) form.woocommerce-form-login,
body.nfo-account:not(.logged-in) form.woocommerce-form-register { text-align: left; }
body.nfo-account:not(.logged-in) form.woocommerce-form-login,
body.nfo-account:not(.logged-in) form.woocommerce-form-register { max-width: none; width: 100%; margin: 0; padding: 22px 22px 18px !important; border: 1px solid var(--nfo-line) !important; border-radius: 8px; background: #fff; box-sizing: border-box; }
body.nfo-account:not(.logged-in) form.woocommerce-form-login .input-text,
body.nfo-account:not(.logged-in) form.woocommerce-form-register .input-text { width: 100%; min-height: 48px; margin: 0 0 4px; padding: 10px 14px; border: 1px solid #D9CBBE; border-radius: 4px; background: #fff; font: 400 15px/1.4 var(--nfo-body); color: var(--nfo-text); box-sizing: border-box; }
body.nfo-account:not(.logged-in) form.woocommerce-form-login label,
body.nfo-account:not(.logged-in) form.woocommerce-form-register label { display: block; margin: 0 0 6px; font-size: 13px; color: var(--nfo-brown); }
body.nfo-account:not(.logged-in) form.woocommerce-form-login .woocommerce-form-login__rememberme,
body.nfo-account:not(.logged-in) form.woocommerce-form-register .woocommerce-form__label-for-checkbox,
body.nfo-account:not(.logged-in) form.woocommerce-form-register .mailchimp-newsletter label { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; line-height: 1.45; color: var(--nfo-text); }
body.nfo-account:not(.logged-in) form.woocommerce-form-login .button,
body.nfo-account:not(.logged-in) form.woocommerce-form-register .button { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; margin-top: 8px; border: 1px solid var(--nfo-green) !important; border-radius: 4px !important; background: var(--nfo-green) !important; color: #fff !important; box-shadow: none !important; font: 500 12px/1 var(--nfo-body) !important; letter-spacing: .14em; text-transform: uppercase; }
body.nfo-account:not(.logged-in) .woocommerce-LostPassword { margin: 14px 0 0; text-align: center; }
body.nfo-account:not(.logged-in) form.woocommerce-form-register .woocommerce-privacy-policy-text,
body.nfo-account:not(.logged-in) form.woocommerce-form-register .woocommerce-privacy-policy-text p { margin: 14px 0; font-size: 14px; line-height: 1.6; color: var(--nfo-text); text-align: left; }
body.nfo-account:not(.logged-in) form.woocommerce-form-register .mailchimp-newsletter { margin: 22px 0 22px !important; text-align: left; }
body.nfo-account:not(.logged-in) form.woocommerce-form-register .mailchimp-newsletter label span,
body.nfo-account:not(.logged-in) form.woocommerce-form-register .mailchimp-newsletter label { text-align: left; }
body.nfo-account form.woocommerce-ResetPassword { max-width: 480px; margin: 48px auto 80px; padding: 28px 28px 24px; border: 1px solid var(--nfo-line) !important; border-radius: 8px; background: #fff; box-sizing: border-box; }
body.nfo-account form.woocommerce-ResetPassword .form-row,
body.nfo-account form.woocommerce-ResetPassword .form-row-first,
body.nfo-account form.woocommerce-ResetPassword .form-row-last { float: none; width: 100%; margin: 0 0 14px; }
body.nfo-account form.woocommerce-ResetPassword .input-text { display: block; width: 100%; min-height: 48px; box-sizing: border-box; padding: 10px 14px; border: 1px solid #D9CBBE; border-radius: 4px; }
body.nfo-account form.woocommerce-ResetPassword .button { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; margin-top: 8px; border: 1px solid var(--nfo-green) !important; border-radius: 4px !important; background: var(--nfo-green) !important; color: #fff !important; box-shadow: none !important; font: 500 12px/1 var(--nfo-body) !important; letter-spacing: .14em; text-transform: uppercase; }

/* ------------------------------------------------------------ tablet / mobile */
@media (max-width: 900px) {
	body.nfo-account .woocommerce:has(> .woocommerce-MyAccount-navigation) { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 8px 0 48px; }
	body.nfo-account .woocommerce-MyAccount-navigation { position: static; margin: 0 -16px !important; }
	body.nfo-account .woocommerce-MyAccount-navigation ul { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; overflow-x: auto; gap: 8px; padding: 0 16px 4px; border: 0; border-radius: 0; background: none; scrollbar-width: none; }
	body.nfo-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
	body.nfo-account .woocommerce-MyAccount-navigation li { flex: 0 0 auto !important; width: auto !important; border: 0 !important; }
	body.nfo-account .woocommerce-MyAccount-navigation li a { min-height: 40px; padding: 0 16px; border: 1px solid var(--nfo-line) !important; border-radius: 20px; font-size: 12px; white-space: nowrap; }
}
@media (max-width: 640px) {
	body.nfo-account .elementor-19 .e-con-inner { padding: 8px 16px 0; }
	body.nfo-account .elementor-widget-heading .elementor-heading-title { font-size: 34px; }
	body.nfo-shell .woocommerce { padding: 20px 14px 56px; }
	body.nfo-shell .nfo-status__title { font-size: 30px; }
	body.nfo-shell .nfo-status__text { font-size: 15px; }
	.nfo-ico { width: 64px; height: 64px; }
	.nfo-ico svg { width: 34px; height: 34px; }
	.nfo-actions { flex-direction: column; align-items: stretch; }
	.nfo-actions .nfo-btn { width: 100%; }
	body.nfo-shell.woocommerce-order-pay .woocommerce::before { font-size: 30px; }
	body.nfo-shell.woocommerce-order-pay .nfo-pay-confirm { padding: 18px 16px; }
	body.nfo-shell.woocommerce-order-pay .nfo-pay-confirm h2 { font-size: 24px; }
	body.nfo-shell.woocommerce-order-pay .nfo-pay-confirm__cols,
	body.nfo-shell.woocommerce-order-pay .nfo-pay-confirm__notes div { grid-template-columns: 1fr; gap: 4px; }
	body.nfo-shell ul.woocommerce-order-overview { grid-template-columns: 1fr 1fr !important; padding: 12px 16px !important; }
	body.nfo-shell ul.woocommerce-order-overview li { border-right: 0 !important; border-bottom: 0 !important; }
	body.nfo-shell ul.woocommerce-order-overview li:nth-child(odd):last-child { grid-column: 1 / -1; }

	/* order items as stacked rows: name left, price right */
	:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--order-details thead,
	body.nfo-shell table.shop_table thead { display: none; }
	:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--order-details,
	:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--order-details tbody,
	:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--order-details tfoot,
	body.nfo-shell table.shop_table,
	body.nfo-shell table.shop_table tbody,
	body.nfo-shell table.shop_table tfoot { display: block; width: 100%; }
	:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--order-details tr,
	body.nfo-shell table.shop_table tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 4px 12px; padding: 12px 14px; border-bottom: 1px solid var(--nfo-line); }
	:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--order-details tr:last-child,
	body.nfo-shell table.shop_table tr:last-child { border-bottom: 0; }
	:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--order-details th,
	:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--order-details td,
	body.nfo-shell table.shop_table th,
	body.nfo-shell table.shop_table td { display: block; padding: 0 !important; border: 0 !important; font-size: 14px; }
	body.nfo-shell table.shop_table tr.order_item { grid-template-columns: minmax(0, 1fr) auto auto; }
	body.nfo-shell.woocommerce-order-pay table.shop_table .product-name { width: auto; }
	body.nfo-shell table.shop_table td.product-quantity,
	body.nfo-shell table.shop_table td.product-subtotal { text-align: right; white-space: nowrap; }
	:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--order-details td.product-name,
	body.nfo-shell table.shop_table td.product-name { overflow-wrap: anywhere; line-height: 1.4; }
	:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--order-details td.product-total,
	body.nfo-shell table.shop_table td.product-total { text-align: right; white-space: nowrap; }
	:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--order-details tfoot th,
	body.nfo-shell table.shop_table tfoot th { font-size: 13px; }
	:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--order-details tfoot td,
	body.nfo-shell table.shop_table tfoot td { text-align: right; }
	:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--order-details tfoot tr:has(td[colspan]) td { grid-column: 1 / -1; text-align: left; }
	:is(body.nfo-shell, body.nfo-account) tr.nfo-bundle-part { background: #FBF8F5; padding: 8px 14px 8px 28px; }
	:is(body.nfo-shell, body.nfo-account) tr.nfo-bundle-part td { background: none !important; font-size: 13px; }
	:is(body.nfo-shell, body.nfo-account) tr.nfo-bundle-part td.product-name { padding-left: 0 !important; }

	:is(body.nfo-shell, body.nfo-account) .nfo-co-thanks { padding: 18px 16px; }
	:is(body.nfo-shell, body.nfo-account) .nfo-co-thanks li { flex-direction: column; gap: 2px; }
	:is(body.nfo-shell, body.nfo-account) .nfo-co-thanks li strong { flex: none; }
	:is(body.nfo-shell, body.nfo-account) .woocommerce-columns--addresses { grid-template-columns: 1fr; }
	:is(body.nfo-shell, body.nfo-account) .woocommerce-order-details__title,
	:is(body.nfo-shell, body.nfo-account) .nfo-co-thanks h2,
	:is(body.nfo-shell, body.nfo-account) .nfo-addr__head h2 { font-size: 26px !important; }

	.nfo-vo { padding: 18px 16px; }
	.nfo-vo__facts { grid-template-columns: 1fr 1fr; }
	body.nfo-account h2.nfo-vo__title { font-size: 28px; }
	.nfo-addr__head { flex-direction: column; align-items: stretch; }
	.nfo-addr__head .nfo-btn { width: 100%; }
	.nfo-addr__list { grid-template-columns: 1fr; }
	.nfo-modal { padding: 0; align-items: flex-end; }
	.nfo-modal__box { max-width: none; max-height: 94vh; border-radius: 14px 14px 0 0; }
	.nfo-modal__grid { grid-template-columns: 1fr; }
	.nfo-modal__box footer { flex-direction: column-reverse; }
	.nfo-modal__box footer .nfo-btn { width: 100%; }
	body.nfo-account form .form-row-first,
	body.nfo-account form .form-row-last { width: 100%; float: none; }
	body.nfo-account .woocommerce-form-login,
	body.nfo-account .woocommerce-form-register { padding: 20px 16px; }

	/* orders list as cards */
	body.nfo-account table.woocommerce-orders-table,
	body.nfo-account table.woocommerce-orders-table tbody { display: block; border: 0 !important; background: none; overflow: visible; }
	body.nfo-account table.woocommerce-orders-table thead { display: none; }
	body.nfo-account table.woocommerce-orders-table tr { display: block; margin: 0 0 14px; padding: 6px 16px; border: 1px solid var(--nfo-line); border-radius: 6px; background: #fff; }
	body.nfo-account table.woocommerce-orders-table th,
	body.nfo-account table.woocommerce-orders-table td { display: block; overflow: hidden; padding: 11px 0 !important; border: 0 !important; border-bottom: 1px solid #F0E7DF !important; text-align: right !important; }
	body.nfo-account table.woocommerce-orders-table tr > :last-child { border-bottom: 0 !important; }
	body.nfo-account table.woocommerce-orders-table th::before,
	body.nfo-account table.woocommerce-orders-table td::before { content: attr(data-title); float: left; padding-top: 2px; font-size: 11px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--nfo-muted); text-align: left; }
	body.nfo-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions { display: block; text-align: left !important; padding-top: 14px !important; }
	body.nfo-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions::before { display: none; }
	body.nfo-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button { flex: 1 1 auto; }
	body.nfo-account .woocommerce-message,
	body.nfo-account .woocommerce-info { align-items: flex-start; flex-direction: column; }
	body.nfo-account .woocommerce-info .button,
	body.nfo-account .woocommerce-message .button { order: 0; margin-left: 0; width: 100%; }
}

/* ------------------------------------------------------------ theme/Elementor button + heading overrides (must win) */
body.nfo-account button.nfo-btn,
body.nfo-account a.nfo-btn { background: #fff !important; color: var(--nfo-brown) !important; border: 1px solid var(--nfo-line) !important; border-radius: 4px !important; box-shadow: none !important; }
body.nfo-account button.nfo-btn:hover,
body.nfo-account a.nfo-btn:hover { border-color: var(--nfo-green) !important; color: var(--nfo-green) !important; }
body.nfo-account button.nfo-btn--primary,
body.nfo-account a.nfo-btn--primary { background: var(--nfo-green) !important; border-color: var(--nfo-green) !important; color: #fff !important; }
body.nfo-account button.nfo-btn--primary:hover,
body.nfo-account a.nfo-btn--primary:hover { background: #164d26 !important; border-color: #164d26 !important; color: #fff !important; }
body.nfo-account button.nfo-link { background: none !important; border: 0 !important; box-shadow: none !important; padding: 6px 0 !important; min-height: 0 !important; color: var(--nfo-green) !important; text-transform: uppercase; font-size: 12px !important; letter-spacing: .12em !important; }
body.nfo-account button.nfo-link:hover { background: none !important; text-decoration: underline; }
body.nfo-account button.nfo-link--danger { color: var(--nfo-err) !important; }
body.nfo-account .nfo-addr__card h3 { font-family: var(--nfo-head) !important; font-weight: 600 !important; font-size: 24px !important; line-height: 1.2 !important; color: var(--nfo-brown) !important; text-transform: none !important; letter-spacing: 0 !important; margin: 0 0 8px !important; }
body.nfo-account .nfo-addr__card address { border: 0 !important; padding: 0 !important; margin: 0 !important; background: none !important; box-shadow: none !important; }
.nfo-modal .nfo-modal__x { background: #F8F1EB !important; color: #593B2E !important; border: 0 !important; box-shadow: none !important; }
.nfo-modal__box footer button.nfo-btn { background: #fff !important; color: #593B2E !important; border: 1px solid #E3D6CA !important; box-shadow: none !important; }
.nfo-modal__box footer button.nfo-btn--primary { background: #52562e !important; border-color: #52562e !important; color: #fff !important; }
.nfo-modal__box h3 { text-transform: none !important; letter-spacing: 0 !important; }
.nfo-modal__box .nfo-f input,
.nfo-modal__box .nfo-f select,
.nfo-modal__box .nfo-f textarea { margin: 0 !important; height: auto; }
.nfo-modal__box .nfo-f input,
.nfo-modal__box .nfo-f select,
.nfo-modal__box .nfo-f textarea { border: 1px solid #D9CBBE !important; border-radius: 4px !important; background: #fff !important; }
.nfo-modal__box .nfo-f input:focus,
.nfo-modal__box .nfo-f select:focus,
.nfo-modal__box .nfo-f textarea:focus { border-color: #52562e !important; }
body.nfo-account .woocommerce-MyAccount-content h2,
body.nfo-account .woocommerce-MyAccount-content h3,
body.nfo-account .woocommerce-MyAccount-content legend { font-family: var(--nfo-head) !important; font-weight: 600 !important; color: var(--nfo-brown) !important; text-transform: none !important; letter-spacing: 0 !important; line-height: 1.15 !important; }
body.nfo-account .woocommerce-MyAccount-content h2,
body.nfo-account .woocommerce-MyAccount-content h3:not(.nfo-addr__card h3) { font-size: 32px; margin: 0 0 16px; }
body.nfo-account form .form-row label { font-weight: 500 !important; }
body.nfo-account form .form-row label .optional { font-weight: 400; color: var(--nfo-muted); }
body.nfo-account .woocommerce-MyAccount-content .nfo-addr__card h3 { font-size: 24px; }
@media (min-width: 641px) {
	body.nfo-account table.woocommerce-orders-table tbody th,
	body.nfo-account table.woocommerce-orders-table tbody td,
	body.nfo-account table.woocommerce-orders-table thead th { display: table-cell !important; vertical-align: middle; }
	body.nfo-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-date,
	body.nfo-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-status,
	body.nfo-account table.woocommerce-orders-table .nfo-sub { white-space: nowrap; }
	body.nfo-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions { width: 210px; white-space: normal; text-align: right; }
	body.nfo-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button { width: 96px; margin: 3px 0 3px 6px; padding: 0 8px; justify-content: center; }
}

/* ------------------------------------------------------------ states that used to be a bare notice */
body.nfo-account .nfo-hello { margin: 0 0 4px; font-family: var(--nfo-head); font-weight: 600; font-size: 36px; line-height: 1.15; color: var(--nfo-brown); }
body.nfo-account .nfo-hello__sub { margin: 0 0 4px; color: var(--nfo-muted); font-size: 15px; }

body.nfo-shell.woocommerce-order-pay .woocommerce:has(.nfo-pay-blocked)::before { content: none !important; }
body.nfo-shell .woocommerce:has(.nfo-pay-blocked) > .woocommerce-error,
body.nfo-shell .woocommerce:has(.nfo-pay-blocked) > .woocommerce-info,
body.nfo-shell .nfo-gate + .woocommerce-info,
body.nfo-shell .nfo-gate + .woocommerce-message,
body.nfo-shell .nfo-gate + .woocommerce-error { display: none !important; }
body.nfo-shell .nfo-pay-blocked,
body.nfo-shell .nfo-gate { padding-top: 36px; }
body.nfo-shell .nfo-pay-blocked .nfo-status__title,
body.nfo-shell .nfo-gate .nfo-status__title { font-size: 36px; }

body.nfo-shell form.woocommerce-form-login,
body.nfo-shell form.woocommerce-verify-email { max-width: 420px; margin: 4px auto 0; padding: 8px 0 0; text-align: left; }
body.nfo-shell form.woocommerce-form-login .form-row,
body.nfo-shell form.woocommerce-verify-email .form-row { margin: 0 0 14px; }
body.nfo-shell form.woocommerce-form-login label,
body.nfo-shell form.woocommerce-verify-email label { display: block; margin: 0 0 6px; font-size: 13px; color: var(--nfo-brown); }
body.nfo-shell form.woocommerce-form-login .input-text,
body.nfo-shell form.woocommerce-verify-email .input-text { display: block; width: 100%; box-sizing: border-box; min-height: 48px; padding: 10px 14px; border: 1px solid #D9CBBE; border-radius: 4px; background: #fff; font: 400 15px/1.4 var(--nfo-body); color: var(--nfo-text); }
body.nfo-shell form.woocommerce-form-login .input-text:focus,
body.nfo-shell form.woocommerce-verify-email .input-text:focus { outline: 0; border-color: var(--nfo-green); box-shadow: 0 0 0 3px rgba(82, 86, 46, .12); }
body.nfo-shell form.woocommerce-form-login .button,
body.nfo-shell form.woocommerce-verify-email .button { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; margin-top: 4px; border: 1px solid var(--nfo-green); border-radius: 4px; background: var(--nfo-green); color: #fff; box-shadow: none; font: 500 12px/1 var(--nfo-body); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
body.nfo-shell form.woocommerce-verify-email > p:first-child { text-align: center; color: var(--nfo-muted); font-size: 14px; }
body.nfo-shell .woocommerce-form-login__rememberme { display: inline-flex; gap: 8px; align-items: center; font-size: 14px; }
body.nfo-shell .lost_password { text-align: center; }
body.nfo-shell .lost_password a { color: var(--nfo-green); }

body.woocommerce-downloads .woocommerce-MyAccount-content > .woocommerce-info { flex-direction: column; align-items: center; justify-content: center; gap: 16px; margin-top: 8px !important; padding: 48px 28px !important; text-align: center; background: #fff !important; border-style: dashed !important; color: var(--nfo-muted) !important; }
body.woocommerce-downloads .woocommerce-MyAccount-content > .woocommerce-info .button { order: 0; margin: 0 !important; width: auto; }

@media (max-width: 640px) {
	body.nfo-account .nfo-hello { font-size: 30px; }
	body.nfo-shell .nfo-pay-blocked .nfo-status__title,
	body.nfo-shell .nfo-gate .nfo-status__title { font-size: 28px; }
}

/* ------------------------------------------------------------ quote orders: bank transfer + receipt upload */
body.nfo-shell.woocommerce-order-pay #payment .nfo-bank { margin: 4px 0 0; padding: 0; border: 0; background: transparent; }
body.nfo-shell.woocommerce-order-pay #payment .nfo-bank h2 { font-size: 22px; }

:is(body.nfo-shell, body.nfo-account) .nfo-bank {
	margin: 0 0 20px;
	padding: 22px 24px;
	background: #fff;
	border: 1px solid var(--nfo-line);
	border-radius: 6px;
}
:is(body.nfo-shell, body.nfo-account) .nfo-bank h2 {
	margin: 0 0 8px;
	font-family: Futura, 'Jost', 'Century Gothic', Arial, sans-serif !important;
	font-weight: 400 !important;
	font-size: 28px;
	line-height: 1.2;
	color: var(--nfo-green);
}
:is(body.nfo-shell, body.nfo-account) .nfo-bank__note {
	margin: 0 0 16px;
	color: var(--nfo-muted);
	font-size: 14px;
	line-height: 1.5;
}
:is(body.nfo-shell, body.nfo-account) .nfo-bank__list { margin: 0; }
:is(body.nfo-shell, body.nfo-account) .nfo-bank__list div {
	display: grid;
	grid-template-columns: 160px 1fr;
	gap: 12px;
	padding: 10px 0;
	border-top: 1px solid var(--nfo-line);
}
:is(body.nfo-shell, body.nfo-account) .nfo-bank__list dt {
	margin: 0;
	font-size: 13px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--nfo-muted);
}
:is(body.nfo-shell, body.nfo-account) .nfo-bank__list dd {
	margin: 0;
	font-size: 16px;
	font-weight: 500;
	color: var(--nfo-brown);
}

:is(body.nfo-shell, body.nfo-account) .peprodev_woocommerce_receipt_uploader {
	margin: 0 0 24px;
	padding: 22px 24px;
	background: #fff;
	border: 1px solid var(--nfo-line);
	border-radius: 6px;
}
:is(body.nfo-shell, body.nfo-account) .peprodev_woocommerce_receipt_uploader h2 {
	margin: 0 0 16px;
	font-family: Futura, 'Jost', 'Century Gothic', Arial, sans-serif !important;
	font-weight: 400 !important;
	font-size: 28px;
	line-height: 1.2;
	color: var(--nfo-green) !important;
}
:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--upload-receipt {
	width: 100%;
	margin: 0;
	border: 0;
	background: transparent;
}
:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--upload-receipt th,
:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--upload-receipt td {
	display: block;
	width: auto;
	padding: 0;
	border: 0;
	background: transparent;
	text-align: left;
	font-weight: 400;
}
:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--upload-receipt tr { display: block; margin: 0 0 16px; }
:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--upload-receipt tr.hide { display: none; }
:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--upload-receipt th {
	margin: 0 0 6px;
	font-size: 13px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--nfo-muted);
}
:is(body.nfo-shell, body.nfo-account) td.receipt-img-preview { display: flex; align-items: center; gap: 16px; }
:is(body.nfo-shell, body.nfo-account) .receipt-preview.upload:not(.pending):not(.approved):not(.rejected) { display: none; }
:is(body.nfo-shell, body.nfo-account) .receipt-preview { width: 88px; height: 88px; object-fit: cover; border-radius: 4px; border: 1px solid var(--nfo-line); box-shadow: none; background: var(--nfo-cream); }
:is(body.nfo-shell, body.nfo-account) .receipt-status {
	display: inline-flex; align-items: center; margin: 0; padding: 6px 12px; border-radius: 999px;
	background: var(--nfo-cream); color: var(--nfo-brown);
	font: 500 12px/1 var(--nfo-body); letter-spacing: .08em; text-transform: uppercase;
}
:is(body.nfo-shell, body.nfo-account) .receipt-status.pending { background: #F3F6F1; color: var(--nfo-green); }
:is(body.nfo-shell, body.nfo-account) .receipt-status.approved { background: var(--nfo-green); color: #fff; }
:is(body.nfo-shell, body.nfo-account) .receipt-status.rejected { background: #fdf1ee; color: var(--nfo-err); }
:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--upload-receipt tr.date-uploaded { display: flex; align-items: baseline; gap: 8px; margin: 12px 0 0; }
:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--upload-receipt tr.date-uploaded th,
:is(body.nfo-shell, body.nfo-account) table.woocommerce-table--upload-receipt tr.date-uploaded td { width: auto; margin: 0; }
:is(body.nfo-shell, body.nfo-account) .receipt-upload-date { font-size: 15px; color: var(--nfo-brown); }
:is(body.nfo-shell, body.nfo-account) .receipt-upload-fields { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
:is(body.nfo-shell, body.nfo-account) .receipt-upload-fields input[type="file"] {
	position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important;
	overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; border: 0 !important;
}
:is(body.nfo-shell, body.nfo-account) .nfo-receipt__pick {
	flex: 1 1 220px; display: flex; align-items: center; gap: 12px; min-height: 48px; margin: 0;
	padding: 6px; border: 1px solid #D9CBBE; border-radius: 4px; background: #fff; cursor: pointer;
}
:is(body.nfo-shell, body.nfo-account) .nfo-receipt__choose {
	display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border-radius: 4px;
	background: var(--nfo-cream); color: var(--nfo-brown);
	font: 500 12px/1 var(--nfo-body); letter-spacing: .08em; text-transform: uppercase;
}
:is(body.nfo-shell, body.nfo-account) .nfo-receipt__name {
	min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
	color: var(--nfo-muted); font-size: 14px;
}
:is(body.nfo-shell, body.nfo-account) .start-upload.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin: 0;
	padding: 0 22px;
	border: 1px solid var(--nfo-green);
	border-radius: 4px;
	background: var(--nfo-green);
	color: #fff;
	box-shadow: none;
	font: 500 12px/1 var(--nfo-body);
	letter-spacing: .12em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .2s, border-color .2s, box-shadow .2s, transform .15s;
}
:is(body.nfo-shell, body.nfo-account) .start-upload.button:hover {
	background: var(--nfo-green);
	border-color: var(--nfo-green);
	color: #fff;
	box-shadow: 0 6px 16px rgba(82, 86, 46, .28);
	transform: translateY(-1px);
}
:is(body.nfo-shell, body.nfo-account) .start-upload.button:active { transform: none; box-shadow: none; }
:is(body.nfo-shell, body.nfo-account) .receipt-admin-note span { color: var(--nfo-text); line-height: 1.5; }

@media (max-width: 640px) {
	:is(body.nfo-shell, body.nfo-account) .nfo-bank,
	:is(body.nfo-shell, body.nfo-account) .peprodev_woocommerce_receipt_uploader { padding: 18px 16px; }
	:is(body.nfo-shell, body.nfo-account) .nfo-bank h2,
	:is(body.nfo-shell, body.nfo-account) .peprodev_woocommerce_receipt_uploader h2 { font-size: 24px; }
	:is(body.nfo-shell, body.nfo-account) .nfo-bank__list div { grid-template-columns: 1fr; gap: 2px; }
	:is(body.nfo-shell, body.nfo-account) .nfo-receipt__pick,
	:is(body.nfo-shell, body.nfo-account) .start-upload.button { width: 100%; flex-basis: 100%; }
}

/* ------------------------------------------------------------ order-pay: Adumo hand-over screen */
body.nfo-shell.woocommerce-order-pay ul.order_details { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0; margin: 30px 0 28px !important; padding: 18px 8px !important; list-style: none; background: var(--nfo-cream, #F8F1EB); border: 1px solid var(--nfo-line, #E3D6CA); border-radius: 8px; }
body.nfo-shell.woocommerce-order-pay ul.order_details li { float: none !important; display: flex; flex-direction: column; gap: 6px; margin: 0 !important; padding: 4px 20px !important; border: 0 !important; border-right: 1px solid var(--nfo-line, #E3D6CA) !important; font-size: 11px !important; line-height: 1.3 !important; letter-spacing: .08em; text-transform: uppercase; color: var(--nfo-muted, #8A766B); }
body.nfo-shell.woocommerce-order-pay ul.order_details li:last-child { border-right: 0 !important; }
body.nfo-shell.woocommerce-order-pay ul.order_details li strong { display: block; margin: 0; font-size: 15px !important; font-weight: 500; line-height: 1.35; letter-spacing: 0; text-transform: none; color: var(--nfo-brown, #593B2E); overflow-wrap: anywhere; }
body.nfo-shell.woocommerce-order-pay form#adumoonline_payment_form { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin: 0 0 32px; }
body.nfo-shell.woocommerce-order-pay form#adumoonline_payment_form #submit_adumoonline_payment_form { margin: 0; min-height: 50px; padding: 0 32px; border: 1px solid var(--nfo-green, #52562e); border-radius: 4px; background: var(--nfo-green, #52562e); color: #fff; font: 500 13px/1 Futura, 'Jost', 'Century Gothic', Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }
body.nfo-shell.woocommerce-order-pay form#adumoonline_payment_form a.button.cancel { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; color: var(--nfo-brown, #593B2E); font: 400 14px/1.4 Futura, 'Jost', 'Century Gothic', Arial, sans-serif; text-decoration: underline; text-underline-offset: 3px; }
/* The "you will be redirected" box (jQuery blockUI) */
body.nfo-shell.woocommerce-order-pay .blockUI.blockOverlay { background: #fff !important; opacity: .86 !important; }
body.nfo-shell.woocommerce-order-pay .blockUI.blockMsg { width: min(420px, 90vw) !important; left: 50% !important; top: 34% !important; margin: 0 !important; transform: translateX(-50%); box-sizing: border-box; padding: 30px 26px !important; border: 1px solid var(--nfo-line, #E3D6CA) !important; border-radius: 10px !important; background: #fff !important; box-shadow: 0 14px 40px rgba(89, 59, 46, .14); color: var(--nfo-brown, #593B2E) !important; font: 400 15px/1.6 Futura, 'Jost', 'Century Gothic', Arial, sans-serif; text-align: center; }
body.nfo-shell.woocommerce-order-pay .blockUI.blockMsg img { display: block; width: auto; max-width: 150px; height: auto; margin: 0 auto 14px; }
/* Deposit or full amount on the pay page: two choice cards under a serif heading */
body.nfo-shell .nfo-dep { margin: 4px 0 22px; padding: 0; border: 0; background: transparent; }
body.nfo-shell .nfo-dep .nfo-dep__legend { margin: 0 0 14px; padding: 0; border: 0; font-family: var(--nfo-head, Georgia, serif); font-weight: 600; font-size: 26px; line-height: 1.2; letter-spacing: 0; text-transform: none; color: var(--nfo-green, #52562e); }
body.nfo-shell .nfo-dep .nfo-dep__choices { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
body.nfo-shell .nfo-dep .nfo-dep__opt { display: flex; align-items: center; gap: 12px; margin: 0; padding: 16px 18px; border: 1px solid var(--nfo-line, #E3D6CA); border-radius: 6px; background: #fff; color: var(--nfo-brown, #593B2E); cursor: pointer; transition: border-color .15s, background .15s; }
body.nfo-shell .nfo-dep .nfo-dep__opt:hover { border-color: #C9B8AA; background: #fff; }
body.nfo-shell .nfo-dep .nfo-dep__opt:has(input:checked) { border-color: var(--nfo-green, #52562e); background: #F4F6F0; box-shadow: inset 0 0 0 1px var(--nfo-green, #52562e); }
body.nfo-shell .nfo-dep .nfo-dep__opt input[type="radio"] { appearance: none; -webkit-appearance: none; flex: 0 0 auto; width: 18px; height: 18px; margin: 0; border: 1.5px solid #C4B3A6; border-radius: 50%; background: #fff; display: grid; place-content: center; }
body.nfo-shell .nfo-dep .nfo-dep__opt input[type="radio"]::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--nfo-green, #52562e); transform: scale(0); }
body.nfo-shell .nfo-dep .nfo-dep__opt input[type="radio"]:checked { border-color: var(--nfo-green, #52562e); }
body.nfo-shell .nfo-dep .nfo-dep__opt input[type="radio"]:checked::before { transform: scale(1); }
body.nfo-shell .nfo-dep .nfo-dep__name { flex: 1; min-width: 0; font-size: 15px; line-height: 1.35; font-weight: 500; color: var(--nfo-brown, #593B2E); }
body.nfo-shell .nfo-dep .nfo-dep__amt { margin-left: auto; white-space: nowrap; }
body.nfo-shell .nfo-dep .nfo-dep__amt,
body.nfo-shell .nfo-dep .nfo-dep__amt .woocommerce-Price-amount,
body.nfo-shell .nfo-dep .nfo-dep__amt bdi,
body.nfo-shell .nfo-dep .nfo-dep__amt .woocommerce-Price-currencySymbol { font-family: var(--nfo-head, Georgia, serif); font-size: 22px; font-weight: 600; line-height: 1; color: var(--nfo-green, #52562e); }
body.nfo-shell .nfo-dep .nfo-dep__note { margin: 12px 2px 0; padding: 0; border: 0; font-size: 14px; line-height: 1.55; color: var(--nfo-muted, #8A766B); }
body.nfo-shell .nfo-dep .nfo-dep__note .woocommerce-Price-amount,
body.nfo-shell .nfo-dep .nfo-dep__note bdi { font-weight: 600; color: var(--nfo-brown, #593B2E); }
/* balance-only state: one sentence on cream */
body.nfo-shell .nfo-dep--note { margin: 0 0 20px; padding: 16px 20px; border: 1px solid var(--nfo-line, #E3D6CA); border-radius: 6px; background: var(--nfo-cream, #F8F1EB); }
body.nfo-shell .nfo-dep--note p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--nfo-brown, #593B2E); }

@media (max-width: 600px) {
	body.nfo-shell .nfo-dep .nfo-dep__legend { font-size: 22px; }
	body.nfo-shell .nfo-dep .nfo-dep__choices { grid-template-columns: 1fr; }
	body.nfo-shell.woocommerce-order-pay ul.order_details { grid-template-columns: 1fr 1fr; gap: 14px 0; padding: 16px 6px !important; }
	body.nfo-shell.woocommerce-order-pay ul.order_details li { padding: 2px 14px !important; }
	body.nfo-shell.woocommerce-order-pay ul.order_details li:nth-child(2n) { border-right: 0 !important; }
	body.nfo-shell.woocommerce-order-pay form#adumoonline_payment_form #submit_adumoonline_payment_form { width: 100%; }
}
