:root {
    --nf-green: #246b32;
    --nf-ink: #183b22;
    --nf-muted: #536158;
    --nf-line: #dce5de;
    --nf-surface: #f4f8f3;
}

/* Product detail: keep catalog and related-product prices out of summary rules. */
.single-product .summary {
    background: #fff;
    border-radius: 0;
    box-shadow: none;
    padding: 24px 28px;
    min-width: 0;
}
.single-product .summary .product_title { color: var(--nf-ink) !important; font-size: 32px !important; font-weight: 700 !important; line-height: 1.2 !important; letter-spacing: 0; }
.single-product .summary .entry-summary-content { float: none !important; width: 100% !important; padding-right: 0 !important; }
.single-product .summary .entry-summary-sidebar { float: none !important; width: 100% !important; margin-top: 24px !important; padding-left: 0 !important; }
.single-product .entry-summary-sidebar .widget { background: #f4f8f3 !important; box-shadow: none !important; border-radius: 6px; padding: 16px !important; }
.single-product .price,
.single-product .summary .price {
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--nf-green) !important;
    padding: 0 !important;
    margin: 8px 0 18px;
    line-height: 1.35;
    font-size: 24px;
}
.single-product .summary .woocommerce-variation-price .price { font-size: 22px; }
.single-product .woocommerce-product-gallery,
.single-product .woocommerce-product-gallery__image { border-radius: 8px; box-shadow: none; }
.single-product .summary .woocommerce-product-details__short-description { color: var(--nf-muted); font-size: 15px; line-height: 1.7; }
.single-product .summary .product_meta { background: none; border-top: 1px solid var(--nf-line); border-radius: 0; padding: 16px 0; margin-top: 20px; font-size: 13px; }
.single-product .summary .product_meta > span { font-size: 13px; }
.single-product .summary form.cart { padding: 18px 0; border-top: 1px solid var(--nf-line); border-bottom: 1px solid var(--nf-line); }
.single-product .summary .variations { margin: 0 0 16px; }
.single-product .summary .variations td { padding: 8px 0; }
.single-product .summary .single_add_to_cart_button,
.single-product .summary a.button,
.woocommerce-cart .checkout-button,
.woocommerce-checkout #place_order {
    background: var(--nf-green) !important;
    background-image: none !important;
    border: 1px solid var(--nf-green) !important;
    border-radius: 6px !important;
    color: #fff !important;
    box-shadow: none !important;
    min-height: 46px;
    font-size: 15px;
    line-height: 1.35;
    padding: 12px 24px !important;
    transform: none !important;
}
.single-product .summary a.button:focus-visible,
.single-product .summary button:focus-visible,
.nunufresh-customizer :is(button,input,select,a):focus-visible { outline: 3px solid #9fe765; outline-offset: 3px; }
.single-product .product-banner { margin: 32px auto !important; }
.single-product .summary .quantity { min-width: 100px; }
.single-product .summary .quantity input.qty { min-height: 46px; padding: 8px; }
.single-product .summary .single_add_to_cart_button { height: 48px !important; min-height: 48px !important; display: inline-flex; align-items: center; justify-content: center; }
.single-product .summary :is(.wcboost-wishlist-button,.wcboost-products-compare-button) { background: transparent !important; color: var(--nf-ink) !important; box-shadow: none !important; border: 1px solid var(--nf-line) !important; border-radius: 5px !important; }
body .xoo-wsc-basket { top: auto !important; bottom: 24px !important; right: 18px !important; left: auto !important; transform: none !important; }
.page-id-7417 .xoo-wsc-basket,
.woocommerce-checkout .xoo-wsc-basket,
.woocommerce-cart .xoo-wsc-basket { display: none !important; }
.single-product .summary .nf-product-facts { border-top: 1px solid var(--nf-line); padding-top: 20px; margin-top: 16px; }
.nf-product-facts h2 { color: var(--nf-ink); font-size: 17px; margin: 0 0 12px; }
.nf-product-facts ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 16px 24px; }
.nf-product-facts li { display: flex; align-items: baseline; gap: 10px; padding: 8px 0; }
.nf-product-facts p { font-size: 13px; color: var(--nf-muted); margin: 8px 0; }
.nf-product-facts a { color: var(--nf-green); font-weight: 600; font-size: 13px; }

/* The three existing pricing cards share the same restrained palette. */
.page-id-7264 :is(.elementor-element-61cc19c,.elementor-element-ff00f61,.elementor-element-e245306) {
    background: #fff !important;
    background-image: none !important;
    border: 1px solid var(--nf-line) !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 16px rgba(24,59,34,.05) !important;
    padding: 28px !important;
    gap: 16px !important;
    color: var(--nf-ink) !important;
    min-width: 0;
}
.page-id-7264 :is(.elementor-element-61cc19c,.elementor-element-ff00f61,.elementor-element-e245306)::before { background: none !important; }
.page-id-7264 :is(.elementor-element-61cc19c,.elementor-element-ff00f61,.elementor-element-e245306) .elementor-heading-title { color: var(--nf-ink) !important; font-size: 24px; line-height: 1.3; }
.page-id-7264 :is(.elementor-element-61cc19c,.elementor-element-ff00f61,.elementor-element-e245306) .elementor-widget-text-editor { color: var(--nf-muted) !important; font-size: 15px; line-height: 1.65; }
.page-id-7264 :is(.elementor-element-61cc19c,.elementor-element-ff00f61,.elementor-element-e245306) .elementor-button { background: var(--nf-green) !important; background-image: none !important; color: #fff !important; border-radius: 6px !important; min-height: 46px; padding: 14px 20px; }
.page-id-7264 :is(.elementor-element-61cc19c,.elementor-element-ff00f61,.elementor-element-e245306) .elementor-widget-button { margin-top: auto; }
.page-id-7264 .nf-plan-price { color: var(--nf-ink); font-size: 30px; font-weight: 700; margin: 0; line-height: 1.3; }
.page-id-7264 .nf-plan-price > span:last-child { font-size: 14px; font-weight: 400; }
.page-id-7264 .nf-plan-price-note { font-size: 13px; margin: 8px 0 0; color: var(--nf-muted); }
.single-product .nf-subscription-details h4,
.single-product .nf-subscription-details strong { color: var(--nf-ink) !important; }

/* The builder's table is a responsive list with independent, aligned controls. */
.nunufresh-customizer { color: var(--nf-ink); max-width: 1280px; padding: 36px 24px; }
.nunufresh-customizer .customizer-header { text-align: left; margin-bottom: 24px; }
.nunufresh-customizer .customizer-header h1 { color: var(--nf-ink); font-size: 32px; }
.nunufresh-customizer .customizer-header p { color: var(--nf-muted); max-width: 860px; margin: 0; font-size: 15px; }
.nunufresh-customizer .plan-summary-card { background: var(--nf-surface); border: 1px solid var(--nf-line); border-radius: 8px; box-shadow: none; padding: 22px; margin-bottom: 28px; }
.nunufresh-customizer .plan-stat { text-align: left; min-width: 0; }
.nunufresh-customizer .plan-stat-label { color: var(--nf-muted); letter-spacing: 0; opacity: 1; }
.nunufresh-customizer .plan-stat-value { color: var(--nf-ink); font-size: 24px; }
.nunufresh-customizer .customizer-layout { grid-template-columns: minmax(0, 1fr) 340px; gap: 28px; }
.nunufresh-customizer .vegetables-section { padding: 0; background: transparent; border-radius: 0; box-shadow: none; min-width: 0; }
.nunufresh-customizer .section-title { color: var(--nf-ink); font-size: 22px; }
.nunufresh-customizer .section-subtitle { margin-bottom: 18px; }
.nunufresh-customizer .veg-table-header { display: none; }
.nunufresh-customizer .veg-row {
    grid-template-columns: 24px 64px minmax(0,1fr) minmax(100px,auto);
    gap: 12px 16px;
    padding: 18px;
    border: 1px solid var(--nf-line);
    border-radius: 8px;
    background: #fff;
    transition: none;
    box-shadow: none;
}
.nunufresh-customizer .veg-row:hover { background: #fff; border-color: var(--nf-line); box-shadow: none; }
.nunufresh-customizer .veg-row.selected { border-color: var(--nf-green); background: var(--nf-surface); box-shadow: none; }
.nunufresh-customizer .veg-row > .veg-checkbox { grid-column: 1; grid-row: 1; }
.nunufresh-customizer .veg-row > div:nth-of-type(1) { grid-column: 2; grid-row: 1; }
.nunufresh-customizer .veg-name-price { grid-column: 3; grid-row: 1; min-width: 0; }
.nunufresh-customizer .veg-price-per-100g { grid-column: 4; grid-row: 1; text-align: right; color: var(--nf-green); font-size: 14px; }
.nunufresh-customizer .quantity-input-group { grid-column: 2 / 4; grid-row: 2; flex-wrap: wrap; min-width: 0; }
.nunufresh-customizer .delivery-days { grid-column: 2 / 4; grid-row: 3; gap: 8px 12px; }
.nunufresh-customizer .veg-subtotal { grid-column: 4; grid-row: 2 / 4; color: var(--nf-green); font-size: 15px; }
.nunufresh-customizer .veg-subtotal div { color: inherit !important; }
.nunufresh-customizer .veg-image { width: 64px; height: 64px; object-fit: contain; border-radius: 6px; box-shadow: none; background: #fff; }
.nunufresh-customizer .veg-name { font-size: 16px; line-height: 1.4; }
.nunufresh-customizer .veg-quantity-input { width: 72px; min-height: 42px; border: 1px solid #b8c8bb; border-radius: 5px; padding: 8px; }
.nunufresh-customizer .unit-selector { min-height: 42px; border: 1px solid #b8c8bb; border-radius: 5px; padding: 8px; max-width: 140px; }
.nunufresh-customizer :is(.veg-checkbox,.day-checkbox) { accent-color: var(--nf-green); }
.nunufresh-customizer .day-checkbox-wrapper { min-height: 38px; gap: 6px; }
.nunufresh-customizer .day-label { margin: 0; }
.nunufresh-customizer .summary-sidebar { top: 150px; min-width: 0; }
.nunufresh-customizer .summary-card { border: 1px solid var(--nf-line); border-radius: 8px; padding: 22px; box-shadow: none; }
.nunufresh-customizer .summary-card h3 { color: var(--nf-ink); }
.nunufresh-customizer .summary-row { gap: 16px; align-items: baseline; padding: 12px 0; }
.nunufresh-customizer .summary-label { flex: 1; min-width: 0; font-size: 13px; }
.nunufresh-customizer .summary-value { flex: 0 0 auto; text-align: right; font-size: 14px; }
.nunufresh-customizer .summary-total { border-color: var(--nf-line); }
.nunufresh-customizer .summary-total :is(.summary-label,.summary-value) { color: var(--nf-ink); font-size: 18px; }
.nunufresh-customizer .weight-progress-fill { background: var(--nf-green); }
.nunufresh-customizer .weight-progress-fill.warning { background: #b33b2e; }
.nunufresh-customizer .info-box { background: var(--nf-surface); border-color: var(--nf-green); padding: 14px; border-radius: 6px; }
.nunufresh-customizer .info-box :is(h4,ul) { color: var(--nf-ink); }
.nunufresh-customizer .submit-button,
.nunufresh-customizer .submit-button:hover:not(:disabled) { background: var(--nf-green); border-radius: 6px; font-size: 16px; min-height: 46px; padding: 12px 16px; transform: none; box-shadow: none; transition: none; }
.nunufresh-customizer .submit-button:disabled { background: #d6ded7; color: #4b5b50; }
.nunufresh-customizer .help-text { color: var(--nf-muted); }
.nf-image-fallback { object-fit: contain !important; background: #f7f8f7; }
.product.subscription-product::before { background: var(--nf-green); }
.woocommerce-checkout .wp-block-woocommerce-checkout.alignwide,
.woocommerce-cart .wp-block-woocommerce-cart.alignwide {
    width: 100% !important;
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.woocommerce-checkout .wc-block-components-checkout-place-order-button,
.woocommerce-cart .wc-block-cart__submit-button {
    background: var(--nf-green) !important;
    background-image: none !important;
    border: 1px solid var(--nf-green) !important;
    border-radius: 6px !important;
    color: #fff !important;
    min-height: 48px;
    box-shadow: none !important;
}
.woocommerce-checkout .wc-block-components-form :is(input,select),
.woocommerce-cart .wc-block-components-quantity-selector { border-radius: 6px; }

@media (max-width: 1100px) {
    .nunufresh-customizer .customizer-layout { grid-template-columns: minmax(0,1fr); }
    .nunufresh-customizer .summary-sidebar { position: static; }
    .nunufresh-customizer .summary-card { max-width: none; }
}
@media (max-width: 767px) {
    .single-product .summary { padding: 20px 0; }
    .single-product .summary .product_title { font-size: 26px !important; }
    .single-product .summary .single_add_to_cart_button { min-width: 0; }
    .nunufresh-customizer { padding: 24px 16px; }
    .nunufresh-customizer .customizer-header h1 { font-size: 26px; }
    .nunufresh-customizer .plan-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
    .nunufresh-customizer .plan-stat-value { font-size: 20px; }
    .nunufresh-customizer .veg-row { grid-template-columns: 22px 48px minmax(0,1fr); padding: 14px; gap: 10px; }
    .nunufresh-customizer .veg-image { width: 48px; height: 48px; }
    .nunufresh-customizer .veg-name { font-size: 15px; }
    .nunufresh-customizer .veg-price-per-100g { grid-column: 3; grid-row: 2; text-align: left; }
    .nunufresh-customizer .quantity-input-group { grid-column: 2 / 4; grid-row: 3; }
    .nunufresh-customizer .delivery-days { grid-column: 2 / 4; grid-row: 4; }
    .nunufresh-customizer .veg-subtotal { grid-column: 2 / 4; grid-row: 5; text-align: left; }
    .nunufresh-customizer .veg-subtotal > div { text-align: left !important; }
    .nunufresh-customizer .summary-card { padding: 18px; }
    .page-id-7264 :is(.elementor-element-61cc19c,.elementor-element-ff00f61,.elementor-element-e245306) { padding: 22px !important; }
}
