/* ---- Toggle button (the light-mode look is untouched) ---- */
.nl-theme-toggle { background: none; border: 0; padding: 0 8px; margin: 0; cursor: pointer; line-height: 0; color: inherit; display: inline-flex; align-items: center; vertical-align: middle; }
.nl-theme-toggle svg { width: 18px; height: 18px; display: block; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.nl-theme-toggle:hover, .nl-theme-toggle:focus-visible { opacity: .7; }
html body .tdb_header_search .tdb-block-inner { display: flex; align-items: center; justify-content: flex-end; width: 100%; }
.tdb_header_search .nl-theme-toggle { color: #fff; }

/* ---- Dark mode (everything below only applies with html.nl-dark) ---- */
html.nl-dark { color-scheme: dark; }
/* The dark colour goes on <html>, not <body>: the site's background image is a fixed layer behind the
   page, and an opaque <body> background would paint over it. */
html.nl-dark { background-color: #14161b !important; }
html.nl-dark body { background-color: transparent !important; color: #d9dce2; }
/* #td-outer-wrap / .td-theme-wrap span the whole viewport in the boxed layout, so they must stay clear
   or they would hide the background image; the boxed panel itself is coloured below. */
html.nl-dark #td-outer-wrap,
html.nl-dark .td-theme-wrap { color: #d9dce2; }
html.nl-dark .td-main-content-wrap { background-color: #14161b !important; }

/* Row / column / block backgrounds that the page builder paints white or light grey */
html.nl-dark .td-element-style,
html.nl-dark .tdc-row,
html.nl-dark .vc_row,
html.nl-dark .wpb_row,
html.nl-dark .td-main-content-wrap,
html.nl-dark .td-container,
html.nl-dark .tdb-template-content,
html.nl-dark .td-page-content { background-color: #14161b !important; }

/* Headings and titles */
html.nl-dark h1, html.nl-dark h2, html.nl-dark h3, html.nl-dark h4, html.nl-dark h5, html.nl-dark h6,
html.nl-dark .entry-title,
html.nl-dark .entry-title a,
html.nl-dark .td-module-title a,
html.nl-dark .td-block-title a,
html.nl-dark .td-block-title span,
html.nl-dark .block-title,
html.nl-dark .block-title span,
html.nl-dark .tdb-block-title a,
html.nl-dark .tdb-block-title span,
html.nl-dark .tdb-title-text,
html.nl-dark .td-post-title,
html.nl-dark .tdb-title { color: #f1f2f5 !important; }
html.nl-dark .entry-title a:hover,
html.nl-dark .td-module-title a:hover { color: #ff5a5a !important; }

/* Body copy, meta, excerpts */
html.nl-dark p,
html.nl-dark li,
html.nl-dark .td-post-content,
html.nl-dark .tdb-block-inner,
html.nl-dark .td-excerpt,
html.nl-dark .td-module-excerpt,
html.nl-dark .td-post-text-content { color: #c9cdd5; }
html.nl-dark .td-post-date,
html.nl-dark .td-post-author-name,
html.nl-dark .td-post-author-name a,
html.nl-dark .td-module-comments a,
html.nl-dark .td-editor-date,
html.nl-dark .td-module-meta-info,
html.nl-dark .td-post-views,
html.nl-dark time,
html.nl-dark .td-post-category,
html.nl-dark .td-post-sub-title { color: #9aa1ad !important; }
html.nl-dark a { color: inherit; }
html.nl-dark .td-post-content a,
html.nl-dark .tdb_single_content a { color: #6cb6ff; }

/* Top bar: date, links */
html.nl-dark .td_data_time,
html.nl-dark .tdb_header_date,
html.nl-dark .tdb_header_date *,
html.nl-dark .tdb_header_menu a,
html.nl-dark .tdb-menu a,
html.nl-dark .top-header-menu a,
html.nl-dark .tdb_header_weather *,
html.nl-dark .tdb-weather-deg,
html.nl-dark .tdb-weather-unit,
html.nl-dark .tdb-weather-city { color: #d9dce2 !important; }

/* Cards, sidebar boxes, social counters */
html.nl-dark .td-social-boxed .td-social-box,
html.nl-dark .td_block_social_counter .td-social-box,
html.nl-dark .widget,
html.nl-dark .td_module_wrap,
html.nl-dark .tdb_module_loop { background-color: transparent; }
html.nl-dark .td-social-boxed .td-social-box { background-color: #1b1e25 !important; border-color: #2a2f3a !important; }
html.nl-dark .td-social-boxed .td-social-box *,
html.nl-dark .td-social-counter-wrap *,
html.nl-dark .td_block_social_counter * { color: #d9dce2; }

/* Weather block */
html.nl-dark .td_block_weather .td-weather-city,
html.nl-dark .td_block_weather .td-weather-condition,
html.nl-dark .td_block_weather .td-big-degrees,
html.nl-dark .td_block_weather .td-weather-unit,
html.nl-dark .td_block_weather .td-weather-now,
html.nl-dark .td_block_weather .td-w-today-high,
html.nl-dark .td_block_weather .td-w-today-low { color: #f1f2f5 !important; }
html.nl-dark .td_block_weather .td-weather-week,
html.nl-dark .td_block_weather .td-weather-information,
html.nl-dark .td-weather-wrap .td-weather-week { background-color: #1b1e25 !important; }
html.nl-dark .td_block_weather .td-weather-week *,
html.nl-dark .td_block_weather .td-weather-information * { color: #d9dce2 !important; }

/* Ad boxes and the sidebar ad label */
html.nl-dark .td-a-rec-id-custom_ad_1,
html.nl-dark .td_block_ad_box,
html.nl-dark .td-adspot-title { color: #9aa1ad; }

/* Forms, search, pagination */
html.nl-dark input[type="text"],
html.nl-dark input[type="search"],
html.nl-dark input[type="email"],
html.nl-dark input[type="password"],
html.nl-dark input[type="tel"],
html.nl-dark input[type="url"],
html.nl-dark textarea,
html.nl-dark select { background-color: #1b1e25 !important; color: #eceef2 !important; border-color: #343a47 !important; }
html.nl-dark .tdb-drop-down-search,
html.nl-dark .tdb-search-form,
html.nl-dark .td-search-wrap-mob,
html.nl-dark .tdb-aj-search { background-color: #1b1e25 !important; color: #eceef2; }
html.nl-dark .page-nav a,
html.nl-dark .page-nav span,
html.nl-dark .page-nav .current,
html.nl-dark .page-nav > div { background-color: #1b1e25 !important; color: #d9dce2 !important; border-color: #343a47 !important; }
html.nl-dark .page-nav .current { background-color: #2a2f3a !important; color: #fff !important; }
html.nl-dark .td-icon-menu-left,
html.nl-dark .td-icon-menu-right,
html.nl-dark .td-next-prev-wrap a { background-color: #1b1e25 !important; border-color: #343a47 !important; color: #d9dce2 !important; }

/* Hairlines and dividers */
html.nl-dark .td-pb-border-top,
html.nl-dark .td_module_wrap,
html.nl-dark .td-block-title-wrap,
html.nl-dark hr,
html.nl-dark .td-module-container:before { border-color: #2a2f3a !important; }
html.nl-dark .td-module-container:before { background-color: #2a2f3a !important; }

/* Trending-now bar */
html.nl-dark .td_block_trending_now .td-trending-now-wrapper,
html.nl-dark .td-trending-now-display-area,
html.nl-dark .td_block_trending_now .td_block_inner a,
html.nl-dark .td_block_trending_now .td-trending-now-post a { color: #e1e4ea !important; }

/* Recipe cards (WP Recipe Maker, "Meadow" template and the snippet buttons) */
html.nl-dark .wprm-recipe-container,
html.nl-dark .wprm-recipe,
html.nl-dark .wprm-recipe-template-meadow { background-color: transparent !important; color: #d9dce2 !important; border-color: #2a2f3a !important; }
html.nl-dark .wprm-recipe .wprm-layout-container,
html.nl-dark .wprm-recipe .meadow-main { background-color: #1b1e25 !important; color: #d9dce2 !important; }
html.nl-dark .wprm-recipe .wprm-internal-container,
html.nl-dark .wprm-recipe .wprm-expandable-container { background-color: #14161b !important; border-color: #2a2f3a !important; color: #d9dce2 !important; }
html.nl-dark .wprm-recipe a.wprm-recipe-link,
html.nl-dark .wprm-recipe a.wprm-recipe-jump-to-section,
html.nl-dark .wprm-recipe .wprm-recipe-jump-to-section,
html.nl-dark .wprm-recipe .wprm-recipe-print,
html.nl-dark .wprm-recipe .wprm-recipe-pin { background-color: #262b35 !important; border-color: #343a47 !important; color: #e1e4ea !important; }
html.nl-dark .wprm-recipe .wprm-recipe-jump-to-section *,
html.nl-dark .wprm-recipe a.wprm-recipe-link * { color: inherit !important; }
html.nl-dark .wprm-recipe p,
html.nl-dark .wprm-recipe li,
html.nl-dark .wprm-recipe span,
html.nl-dark .wprm-recipe div,
html.nl-dark .wprm-recipe strong,
html.nl-dark .wprm-recipe label { color: #d9dce2; }
html.nl-dark .wprm-recipe .wprm-recipe-name,
html.nl-dark .wprm-recipe .wprm-recipe-header,
html.nl-dark .wprm-recipe h1, html.nl-dark .wprm-recipe h2, html.nl-dark .wprm-recipe h3, html.nl-dark .wprm-recipe h4 { color: #f1f2f5 !important; }
html.nl-dark .wprm-recipe a { color: #6cb6ff; }
html.nl-dark .wprm-recipe .wprm-recipe-ingredient-notes-faded,
html.nl-dark .wprm-recipe .wprm-block-text-faded { color: #9aa1ad !important; }
html.nl-dark .wprm-recipe hr,
html.nl-dark .wprm-recipe .wprm-recipe-ingredients li,
html.nl-dark .wprm-recipe .wprm-recipe-instruction { border-color: #343a47 !important; }

/* Comments */
html.nl-dark #comments,
html.nl-dark .comment-content,
html.nl-dark .comment-respond { background-color: transparent !important; color: #c9cdd5 !important; }

/* Images: slightly softer in dark mode so bright graphics don't glare */
html.nl-dark img { filter: brightness(.92); }
html.nl-dark .tdb-logo-img,
html.nl-dark .tdb_header_logo img,
html.nl-dark .td-footer-wrap img { filter: none; }

/* Top bar links, user/login, social icons: the theme sets these to black */
html.nl-dark .tdb-head-usr-log,
html.nl-dark .tdb-head-usr-log *,
html.nl-dark .tdb-head-usr-item,
html.nl-dark .tdb-horiz-menu > li > a,
html.nl-dark .tdb-horiz-menu li > a,
html.nl-dark .tdb-menu-item-text,
html.nl-dark .tdm-social-item i,
html.nl-dark .tdm-social-item .td-icon-font,
html.nl-dark .tdb-head-usr-log-icon-svg svg,
html.nl-dark .tdb-head-usr-log-icon-svg svg * { color: #d9dce2 !important; fill: #d9dce2 !important; }

/* Article header: category label, author, date, breadcrumbs */
html.nl-dark .tdb-entry-category,
html.nl-dark .tdb-entry-category *,
html.nl-dark .tdb-author-name,
html.nl-dark .tdb-author-name *,
html.nl-dark .tdb-author-by,
html.nl-dark .tdb-block-inner .tdb-author-name a,
html.nl-dark .tdb_single_author *,
html.nl-dark .tdb-breadcrumbs a,
html.nl-dark .tdb-breadcrumbs span,
html.nl-dark .tdb_breadcrumbs a { color: #c9cdd5 !important; }

/* The X/Twitter glyph is black by default and vanishes on dark (Facebook/YouTube keep their brand colours) */
html.nl-dark [class*="td-icon-twitter"],
html.nl-dark [class*="td-social-twitter"] i,
html.nl-dark .td-icon-x-twitter { color: #f1f2f5 !important; fill: #f1f2f5 !important; }

/* Recipe info pills (servings, calories) sit on a green fill, so use pure white text */
html.nl-dark .wprm-recipe [class*="block-container-pill"],
html.nl-dark .wprm-recipe [class*="block-container-pill"] * { color: #fff !important; }

/* Article footer: share row, previous/next titles, author box, Facebook "Like" button */
html.nl-dark .td-social-share-text .td-social-but-text,
html.nl-dark .td-social-but-text { color: #d9dce2; }
html.nl-dark .td-social-pinterest .td-social-but-text,
html.nl-dark .td-social-pinterest .td-social-but-text * { color: #ff8a8a !important; }
html.nl-dark .next-prev-title a,
html.nl-dark .tdb-next-post a,
html.nl-dark .tdb-next-post .entry-title a,
html.nl-dark .td-post-next-prev a { color: #f1f2f5 !important; }
html.nl-dark .tdb-author-url,
html.nl-dark .tdb-author-url * { color: #9aa1ad !important; }
html.nl-dark .td_social_button a,
html.nl-dark .td-social-box a { color: #d9dce2 !important; }
