/* Nosh Nuqta site design layer v2.0: approved V2 language (O15) applied to header, menu cards, cart, checkout, confirmation, policies and footer. */
:root {
  --nn-cta: #C4471F; --nn-cta-hover: #A83A16; --nn-ink: #202823; --nn-body: #3C4840; --nn-muted: #59665F;
  --nn-forest: #174A37; --nn-forest-2: #0D392D; --nn-sage: #EAF2E1; --nn-lime: #DCEBAA; --nn-paper: #FFFAF2;
  --nn-line: #DDDCD0; --nn-radius: 12px; --nn-font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}
body.nn-launch {
  --wd-primary-color: var(--nn-cta); --wd-alternative-color: var(--nn-forest);
  --wd-text-color: var(--nn-body); --wd-title-color: var(--nn-ink);
  --wd-text-font: var(--nn-font); --wd-title-font: var(--nn-font); --wd-alternative-font: var(--nn-font);
  --wd-entities-title-font: var(--nn-font); --wd-entities-title-color: var(--nn-ink); --wd-entities-title-color-hover: var(--nn-cta);
  --wd-entities-title-transform: none; --wd-entities-title-font-weight: 700; --wd-title-font-weight: 800;
  --wd-header-el-font: var(--nn-font); --wd-header-el-transform: none; --wd-header-el-font-size: 15px; --wd-header-el-font-weight: 600;
  --wd-link-color: var(--nn-ink); --wd-link-color-hover: var(--nn-cta);
  --btn-accented-bgcolor: var(--nn-cta); --btn-accented-bgcolor-hover: var(--nn-cta-hover);
  --btn-accented-brd-radius: var(--nn-radius); --btn-default-brd-radius: var(--nn-radius);
  --btn-accented-box-shadow: none; --btn-accented-box-shadow-hover: none; --btn-font-family: var(--nn-font);
  --wd-form-brd-radius: 10px; --wd-form-brd-width: 1px; --wd-form-brd-color: #CFCDBF; --wd-brd-radius: var(--nn-radius);
  font-family: var(--nn-font); color: var(--nn-body); background: var(--nn-paper);
}
body.nn-launch :is(h1, h2, h3, h4, .title, .wd-entities-title, .woocommerce-loop-product__title, .elementor-heading-title) { font-family: var(--nn-font); letter-spacing: -0.02em; }
body.nn-launch :is(h1, h2, h3, .title, .woocommerce-loop-product__title):not(.nn-home-v2 *) { color: var(--nn-ink); }
body.nn-launch .wd-entities-title { color: var(--nn-ink); }
body.nn-launch :is(h1, h2, h3, h4, .title) { text-transform: none; }
body.nn-launch .wd-page-content, body.nn-launch .main-page-wrapper { background: var(--nn-paper); }

/* Header navigation: readable labels */
body.nn-launch .whb-header .wd-nav > li > a, body.nn-launch .whb-header .wd-nav-link { font-family: var(--nn-font); font-size: 15px; font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--nn-ink); }
body.nn-launch .whb-header .wd-nav > li > a:hover, body.nn-launch .whb-header .wd-nav > li.current-menu-item > a { color: var(--nn-cta); }
body.nn-launch .wd-header-cart .wd-cart-number, body.nn-launch .wd-tools-count { background: var(--nn-cta); color: #fff; }
body.nn-launch .mobile-nav .wd-nav-mobile > li > a { font-family: var(--nn-font); font-size: 17px; font-weight: 600; text-transform: none; color: var(--nn-ink); }

/* Buttons: one primary (orange) and one secondary (forest outline) */
body.nn-launch :is(.btn.btn-accent, .button.alt, .checkout-button, #place_order, .single_add_to_cart_button, .add_to_cart_button, .wc-backward, .wd-add-btn .button, .woocommerce-mini-cart__buttons .checkout, .button.wc-forward.checkout) {
  background: var(--nn-cta) !important; color: #fff !important; border-radius: var(--nn-radius) !important; box-shadow: none !important;
  text-transform: none !important; font-family: var(--nn-font) !important; font-weight: 700 !important; letter-spacing: 0 !important;
}
body.nn-launch :is(.btn.btn-accent, .button.alt, .checkout-button, #place_order, .single_add_to_cart_button, .add_to_cart_button, .wc-backward):hover { background: var(--nn-cta-hover) !important; }
body.nn-launch #place_order { min-height: 54px; font-size: 17px !important; }
body.nn-launch :is(input.input-text, select, textarea, .select2-selection) { border-radius: 10px !important; border-color: #CFCDBF; background: #fff; }
body.nn-launch :is(input.input-text, textarea):focus { border-color: var(--nn-forest) !important; box-shadow: 0 0 0 3px rgba(23, 74, 55, .15); }
body.nn-launch :focus-visible { outline: 3px solid #D56D00; outline-offset: 2px; }

/* Weekly-menu cards inside the V2 homepage */
.nnv2-live-menu .wd-product, .nnv2-live-menu .product-grid-item { background: #fff; border: 1px solid var(--nn-line); border-radius: 18px; overflow: hidden; }
.nnv2-live-menu .product-element-top { border-radius: 0; }
.nnv2-live-menu .product-element-top img { aspect-ratio: 1; object-fit: cover; width: 100%; }
.nnv2-live-menu .wd-entities-title { font-size: 19px; line-height: 1.25; white-space: normal; text-align: left; }
.nnv2-live-menu .wd-product .product-element-bottom, .nnv2-live-menu .product-information { text-align: left; padding: 14px 16px 0; }
.nnv2-live-menu .wd-product-cats, .nnv2-live-menu .nnwm-badge-active { display: none !important; }
.nnv2-live-menu .price, .nnv2-live-menu .price .amount { color: var(--nn-forest) !important; font-size: 18px; font-weight: 800; }
.nnv2-live-menu .wd-product .wd-add-btn, .nnv2-live-menu .wd-product .wd-buttons { display: none !important; }
.nn-card-cta { display: flex; gap: 10px; align-items: stretch; padding: 12px 16px 16px; }
.nn-qty { display: inline-flex; align-items: center; border: 1px solid #CFCDBF; border-radius: 12px; background: #fff; flex: 0 0 auto; }
.nn-qty button { width: 44px; height: 46px; border: 0 !important; background: transparent !important; color: var(--nn-forest) !important; box-shadow: none !important; padding: 0 !important; min-height: 0 !important; font-size: 22px; font-weight: 700; line-height: 1; cursor: pointer; }
.nn-qty input { width: 40px; height: 46px; border: 0 !important; text-align: center; font-weight: 700; font-size: 16px; color: var(--nn-ink); padding: 0 !important; -moz-appearance: textfield; background: transparent; }
.nn-qty input::-webkit-outer-spin-button, .nn-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.nn-card-cta .button { flex: 1 1 auto; min-height: 48px; display: inline-flex !important; align-items: center; justify-content: center; padding: 0 14px !important; font-size: 15px !important; }
.nn-card-cta .added_to_cart { display: none !important; }
.nn-card-cta.nn-soldout { color: var(--nn-muted); font-weight: 700; }
.nn-card-left { padding: 0 16px; margin-top: 6px; font-size: 13px; color: var(--nn-muted); }

/* Page title bands: sage, consistent with V2 */
body.nn-launch .wd-page-title-bg { display: none !important; }
body.nn-launch .wd-page-title, body.nn-launch .page-title { background: var(--nn-sage) !important; border-bottom: 1px solid #D5E2C6; padding: 30px 0 !important; }
body.nn-launch .wd-page-title :is(.title, .entry-title, .wd-checkout-steps a, .wd-checkout-steps li, .wd-checkout-steps span) { color: var(--nn-forest) !important; }
body.nn-launch .wd-page-title .title { font-size: clamp(28px, 4vw, 42px); font-weight: 800; }
body.nn-launch .wd-checkout-steps .step-active :is(a, span) { color: var(--nn-cta) !important; }
body.nn-launch .wd-page-title :is(.wd-breadcrumbs, .wd-breadcrumbs *) { color: var(--nn-muted) !important; }
@media (max-width: 1024px) { body.nn-launch .wd-page-title, body.nn-launch .page-title { padding: 44px 0 22px !important; } }

/* Notices */
body.nn-launch :is(.woocommerce-error, .wc-block-components-notice-banner.is-error) { background: #FCEDE6 !important; color: #6E2410 !important; border: 1px solid #F1C8B8; border-left: 4px solid var(--nn-cta); border-radius: var(--nn-radius); }
body.nn-launch .woocommerce-error :is(a), body.nn-launch .woocommerce-error::before { color: #6E2410 !important; }
body.nn-launch :is(.woocommerce-message, .woocommerce-info) { background: var(--nn-sage) !important; color: var(--nn-forest-2) !important; border: 1px solid #D5E2C6; border-left: 4px solid var(--nn-forest); border-radius: var(--nn-radius); }
body.nn-launch :is(.woocommerce-message, .woocommerce-info)::before, body.nn-launch :is(.woocommerce-message, .woocommerce-info) a { color: var(--nn-forest) !important; }
body.nn-launch :is(.woocommerce-thankyou-order-received, .woocommerce-notice--success) { color: var(--nn-forest-2) !important; background: var(--nn-sage) !important; border: 1px solid #D5E2C6 !important; border-left: 4px solid var(--nn-forest) !important; border-radius: var(--nn-radius); font-size: 20px; font-weight: 700; padding: 18px !important; }
.nn-service-note { background: var(--nn-sage); border: 1px solid #D5E2C6; border-left: 4px solid var(--nn-forest); border-radius: var(--nn-radius); padding: 14px 16px; margin: 0 0 20px; color: var(--nn-forest-2); }
.nn-service-note a { color: var(--nn-cta); text-decoration: underline; }

/* Cart, side cart, checkout */
body.nn-launch .quantity :is(input[type=button], .minus, .plus) { background: #fff !important; color: var(--nn-forest) !important; border: 1px solid #CFCDBF !important; }
body.nn-launch :is(.wd-progress-bar .progress-bar, .wd-free-progress-bar .progress-bar) { background-color: var(--nn-forest) !important; }
body.nn-launch .cart-widget-side { background: #fff !important; color: var(--nn-body) !important; }
body.nn-launch .cart-widget-side :is(.wd-heading, .title, .wd-entities-title, .woocommerce-mini-cart__total, .amount, .close-side-widget a, .quantity, .wd-free-progress-bar) { color: var(--nn-ink) !important; }
body.nn-launch .cart-widget-side .woocommerce-mini-cart__buttons .button:not(.checkout) { background: #fff !important; color: var(--nn-forest) !important; border: 2px solid var(--nn-forest) !important; border-radius: var(--nn-radius) !important; }
body.nn-launch :is(.cart-totals-inner, .woocommerce-checkout-review-order, .checkout-order-review) { border-radius: 18px; }
body.nn-launch .wc_payment_method .payment_box { background: var(--nn-sage); color: var(--nn-forest-2); }

/* Footer: green headings, policy links */
body.nn-launch .wd-footer :is(.elementor-heading-title, .title, h3, h4) { color: var(--nn-forest) !important; font-family: var(--nn-font) !important; }
body.nn-launch .wd-footer, body.nn-launch .wd-footer :is(p, li, a, span) { font-family: var(--nn-font); }
body.nn-launch .wd-copyrights a { color: var(--nn-forest); text-decoration: underline; }
body.nn-launch .nn-foot-links { display: inline-block; margin-bottom: 6px; font-weight: 600; }

/* V2 homepage: no theme title, full-bleed body */
body.nn-v2-home .wd-page-title, body.nn-v2-home .page-title, body.nn-v2-home .entry-header { display: none !important; }
body.nn-v2-home .wd-page-content > .container, body.nn-v2-home .wd-content-layout, body.nn-v2-home .main-page-wrapper > .container { max-width: none !important; padding: 0 !important; }
body.nn-v2-home .wd-content-area, body.nn-v2-home .site-content { padding: 0 !important; margin: 0 !important; }
body.nn-v2-home .main-page-wrapper { padding-top: 0 !important; }
body.nn-v2-home .entry-content > p:empty { display: none; }

body.nn-launch footer li.item-with-label > a, body.nn-launch .wd-footer li.item-with-label > a { color: var(--nn-forest) !important; text-transform: none !important; }
.nn-card-cta .button { white-space: nowrap; }
@media (max-width: 400px) { .nn-qty button { width: 38px; } .nn-qty input { width: 32px; } .nn-card-cta { gap: 8px; padding: 12px 12px 14px; } .nn-card-cta .button { font-size: 14px !important; padding: 0 10px !important; } }

/* Mobile side menu: brand light panel for legibility (owner request 25 Oct 2026) */
body.nn-launch .mobile-nav.wd-side-hidden { background: #FFF8EE !important; color: #1F1A17; box-shadow: 8px 0 30px rgba(31,26,23,.18); }
body.nn-launch .mobile-nav .wd-nav-mobile > li { border-color: #EFE3D3 !important; }
body.nn-launch .mobile-nav .wd-nav-mobile > li > a,
body.nn-launch .mobile-nav .wd-nav-mobile > li > a .nav-link-text { color: #1F1A17 !important; }
body.nn-launch .mobile-nav .wd-nav-mobile > li > a:hover,
body.nn-launch .mobile-nav .wd-nav-mobile > li > a:focus-visible { color: #2F7A3F !important; background: #EEF3E4; }
body.nn-launch .mobile-nav .wd-nav-mobile > li.current-menu-item > a,
body.nn-launch .mobile-nav .wd-nav-mobile > li.wd-active > a { color: #C9461C !important; box-shadow: inset 4px 0 0 #C9461C; }
body.nn-launch .mobile-nav .wd-nav-mobile > li > a .wd-nav-icon,
body.nn-launch .mobile-nav .wd-nav-mobile > li > a::before,
body.nn-launch .mobile-nav .wd-nav-mobile > li > a svg { color: #2F7A3F !important; }
body.nn-launch .mobile-nav .searchform,
body.nn-launch .mobile-nav .wd-search-form { background: #FFFFFF; border-bottom: 1px solid #EFE3D3; }
body.nn-launch .mobile-nav .searchform input[type="text"],
body.nn-launch .mobile-nav .searchform input[type="search"],
body.nn-launch .mobile-nav input.s { color: #1F1A17 !important; background: #FFFFFF !important; }
body.nn-launch .mobile-nav input.s::placeholder { color: #6E655E !important; opacity: 1; }
body.nn-launch .mobile-nav .searchsubmit { background: #C9461C !important; color: #fff !important; }

/* Hide theme-demo social icons that have no real account (href="#"); Facebook and Instagram stay (25 Oct 2026) */
body.nn-launch .wd-social-icons a.wd-social-icon[href="#"], body.nn-launch .wd-social-icons a[href="#"] { display: none !important; }
