/*
Theme Name: Recipesdiet
Theme URI: https://recipesdiet.com/
Author: Recipes Diet
Author URI: https://recipesdiet.com/
Description: A modern block theme for Recipes Diet — macro-checked diet recipes for keto, vegan, carnivore and Mediterranean eating. Built for the Site Editor with a Recipe post type, diet filters, calorie/BMI/macro calculators and light & dark mode.
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: recipesdiet
Tags: blog, food-and-drink, full-site-editing, block-patterns, custom-colors, dark-mode
*/

/* =====================================================
   TOKENS — light is default; dark overrides the presets.
   Components read WP preset vars so Site Editor palette
   changes propagate everywhere.
===================================================== */
:root{
  --rd-paper:   var(--wp--preset--color--paper,   #f6f5ee);
  --rd-paper-2: var(--wp--preset--color--paper-2, #eef0e4);
  --rd-ink:     var(--wp--preset--color--ink,     #1c2a21);
  --rd-ink-soft:var(--wp--preset--color--ink-soft,#49584e);
  --rd-line:    var(--wp--preset--color--line,    #d6dac8);
  --rd-accent:  var(--wp--preset--color--accent,  #2f7d46);
  --rd-accent-soft:var(--wp--preset--color--accent-soft,#e2eede);
  --rd-accent-ink:#ffffff;
  --rd-keto:#b07711;  --rd-keto-bg:#f4e8cd;
  --rd-vegan:#2f7d46; --rd-vegan-bg:#dfecd9;
  --rd-carni:#a8442a; --rd-carni-bg:#f2dfd5;
  --rd-medi:#2b6b8a;  --rd-medi-bg:#dcebf1;
  --rd-shadow:0 10px 30px rgba(28,42,33,.10);
  --rd-r:14px;
  --rd-display:'Rockwell','Roboto Slab','Bitstream Vera Serif',Georgia,serif;
  --rd-mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
}
/* dark theme — OS preference (unless user forced light) */
@media (prefers-color-scheme: dark){
  html:not([data-theme="light"]), html:not([data-theme="light"]) body{
    --wp--preset--color--paper:#101812;
    --wp--preset--color--paper-2:#17211a;
    --wp--preset--color--ink:#e8ece1;
    --wp--preset--color--ink-soft:#a7b3a6;
    --wp--preset--color--line:#2a352c;
    --wp--preset--color--accent:#5cb872;
    --wp--preset--color--accent-soft:#1d3324;
    --rd-accent-ink:#0d1710;
    --rd-keto:#e0b25b;  --rd-keto-bg:#312812;
    --rd-vegan:#79c88b; --rd-vegan-bg:#1b2e1f;
    --rd-carni:#e08a68; --rd-carni-bg:#331d13;
    --rd-medi:#7ab8d4;  --rd-medi-bg:#12262f;
    --rd-shadow:0 10px 30px rgba(0,0,0,.45);
  }
}
/* dark theme — forced by the header toggle */
html[data-theme="dark"], html[data-theme="dark"] body{
  --wp--preset--color--paper:#101812;
  --wp--preset--color--paper-2:#17211a;
  --wp--preset--color--ink:#e8ece1;
  --wp--preset--color--ink-soft:#a7b3a6;
  --wp--preset--color--line:#2a352c;
  --wp--preset--color--accent:#5cb872;
  --wp--preset--color--accent-soft:#1d3324;
  --rd-accent-ink:#0d1710;
  --rd-keto:#e0b25b;  --rd-keto-bg:#312812;
  --rd-vegan:#79c88b; --rd-vegan-bg:#1b2e1f;
  --rd-carni:#e08a68; --rd-carni-bg:#331d13;
  --rd-medi:#7ab8d4;  --rd-medi-bg:#12262f;
  --rd-shadow:0 10px 30px rgba(0,0,0,.45);
}
html{scroll-behavior:smooth}
body{background:var(--rd-paper);color:var(--rd-ink);-webkit-font-smoothing:antialiased;transition:background-color .2s ease}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}

h1,h2,h3,h4{text-wrap:balance}
:focus-visible{outline:3px solid var(--rd-accent);outline-offset:2px;border-radius:4px}

/* eyebrow label */
.rd-eyebrow{
  font-size:.78rem!important;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--rd-accent);display:flex;align-items:center;gap:10px;
}
.rd-eyebrow::before{content:"";width:26px;height:3px;background:var(--rd-accent);border-radius:2px}
.rd-lede{font-size:1.13rem;color:var(--rd-ink-soft)}

/* =====================================================
   HEADER
===================================================== */
.rd-header{border-bottom:1px solid var(--rd-line);z-index:50}
.rd-header .wp-block-site-title a{
  font-family:var(--rd-display);font-size:1.25rem;text-decoration:none;color:var(--rd-ink);
}
.rd-header .wp-block-site-title a::first-letter{color:inherit}
/* CSS leaf mark shows until a real logo is uploaded via Site Editor */
.rd-logo:not(:has(.wp-block-site-logo img))::before{
  content:"";width:36px;height:36px;flex:none;border-radius:999px;background:var(--rd-accent);
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><path d="M24 36c0-9 4-15 12-18-1 9-5 15-12 18Zm0 0c0-7-3-12-9-14 .8 7 3.8 11.5 9 14Z" fill="white"/><path d="M24 36v4" stroke="white" stroke-width="2.5" stroke-linecap="round"/></svg>');
  background-position:center;background-repeat:no-repeat;background-size:contain;
}
.rd-logo .wp-block-site-logo img{border-radius:999px}
.rd-header .wp-block-navigation a{font-weight:600;font-size:.95rem;color:var(--rd-ink-soft)}
.rd-header .wp-block-navigation a:hover{color:var(--rd-accent)}
.rd-header .wp-block-navigation .current-menu-item > a{color:var(--rd-accent)}
.wp-block-navigation .wp-block-navigation-item {margin-right: 20px;}

/* =====================================================
   BUTTONS
===================================================== */
.wp-block-button__link{
  border-radius:999px;font-weight:700;padding:.8em 1.7em;
  background:var(--rd-accent);color:var(--rd-accent-ink);
  transition:transform .15s ease;
}
.wp-block-button__link:hover{transform:translateY(-2px);color:var(--rd-accent-ink)}
.is-style-outline .wp-block-button__link{
  border:2px solid var(--rd-ink);color:var(--rd-ink);background:transparent;
}
.is-style-outline .wp-block-button__link:hover{background:var(--rd-paper-2);color:var(--rd-ink)}
.rd-band .wp-block-button__link{background:var(--rd-paper);color:var(--rd-ink)}

/* =====================================================
   SECTIONS & CARDS
===================================================== */
.rd-section{padding-top:72px;padding-bottom:72px}
.rd-section-alt{background:var(--rd-paper-2);border-block:1px solid var(--rd-line)}
.rd-card{
  background:var(--rd-paper-2);border:1px solid var(--rd-line);border-radius:var(--rd-r);
  padding:26px;height:100%;
}
.rd-section-alt .rd-card{background:var(--rd-paper)}
.rd-card p{color:var(--rd-ink-soft);font-size:.96rem}
.rd-card h3{margin-bottom:.4em}

/* trust strip */
.rd-trust{border-block:1px solid var(--rd-line);background:var(--rd-paper-2);text-align:center}
.rd-trust .rd-stat b{font-family:var(--rd-display);font-size:1.7rem;display:block;color:var(--rd-accent)}
.rd-trust .rd-stat span{font-size:.85rem;color:var(--rd-ink-soft);letter-spacing:.05em;text-transform:uppercase;font-weight:600}

/* photos */
.rd-photo img{border-radius:var(--rd-r);box-shadow:var(--rd-shadow);object-fit:cover}

/* CTA band */
.rd-band{
  background:var(--rd-accent)!important;color:var(--rd-accent-ink);
  border-radius:20px;padding:56px 48px;
}
.rd-band h2,.rd-band p{color:var(--rd-accent-ink)}

/* testimonials */
.rd-quote{background:var(--rd-paper-2);border:1px solid var(--rd-line);border-radius:var(--rd-r);padding:26px;height:100%}
.rd-section-alt .rd-quote{background:var(--rd-paper)}
.rd-quote .rd-stars{color:var(--rd-keto);letter-spacing:3px;font-size:.95rem}
.rd-quote cite{font-style:normal;font-size:.88rem;color:var(--rd-ink-soft)}

/* steps */
.rd-step{background:var(--rd-paper-2);border:1px solid var(--rd-line);border-radius:var(--rd-r);padding:26px;height:100%}
.rd-step .rd-step-num{font-family:var(--rd-mono);font-weight:700;color:var(--rd-accent);font-size:.95rem;letter-spacing:.05em}

/* FAQ — core details block */
.rd-faq .wp-block-details{border-bottom:1px solid var(--rd-line);padding:14px 4px}
.rd-faq .wp-block-details summary{
  cursor:pointer;font-weight:700;font-family:var(--rd-display);font-size:1.05rem;list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
}
.rd-faq .wp-block-details summary::-webkit-details-marker{display:none}
.rd-faq .wp-block-details summary::after{content:"+";font-size:1.4rem;color:var(--rd-accent)}
.rd-faq .wp-block-details[open] summary::after{content:"–"}
.rd-faq .wp-block-details p{color:var(--rd-ink-soft)}

/* =====================================================
   RECIPE CARDS (Query Loop)
===================================================== */
.rd-recipes-query .wp-block-post{
  background:var(--rd-paper-2);border:1px solid var(--rd-line);border-radius:var(--rd-r);
  overflow:hidden;transition:transform .18s ease,box-shadow .18s ease;
}
.rd-recipes-query .wp-block-post:hover{transform:translateY(-4px);box-shadow:var(--rd-shadow)}
.rd-recipes-query .wp-block-post-featured-image{margin:0}
.rd-recipes-query .wp-block-post-featured-image img{height:185px;width:100%;object-fit:cover}
.rd-rcard-body{padding:18px 20px 20px}
.rd-recipes-query .wp-block-post-title{font-size:1.14rem;margin:0}
.rd-recipes-query .wp-block-post-title a{text-decoration:none;color:var(--rd-ink)}
.rd-recipes-query .wp-block-post-title a:hover{color:var(--rd-accent)}

/* diet chips — post-terms + single chips */
.rd-chip,.taxonomy-diet a{
  display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:4px 11px;border-radius:999px;text-decoration:none;
  background:var(--rd-accent-soft);color:var(--rd-accent);
}
.taxonomy-diet{--wp--style--block-gap:6px}
.taxonomy-diet .wp-block-post-terms__separator{display:none}
.diet-keto .taxonomy-diet a{background:var(--rd-keto-bg);color:var(--rd-keto)}
.diet-vegan .taxonomy-diet a{background:var(--rd-vegan-bg);color:var(--rd-vegan)}
.diet-carnivore .taxonomy-diet a{background:var(--rd-carni-bg);color:var(--rd-carni)}
.diet-mediterranean .taxonomy-diet a{background:var(--rd-medi-bg);color:var(--rd-medi)}

/* macros row (recipesdiet/recipe-macros block) */
.rd-macros{
  display:flex;gap:16px;font-family:var(--rd-mono);font-size:.82rem;color:var(--rd-ink-soft);
  font-variant-numeric:tabular-nums;border-top:1px dashed var(--rd-line);padding-top:10px;margin-top:12px;
}
.rd-macros b{color:var(--rd-ink)}
.rd-macros--single{font-size:.95rem;border:0;padding:0;margin:8px 0 0}

/* diet filter block */
.rd-filters{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 8px}
.rd-filters a{
  border:1.5px solid var(--rd-line);background:var(--rd-paper-2);color:var(--rd-ink-soft);
  border-radius:999px;padding:9px 20px;font-weight:700;font-size:.92rem;text-decoration:none;
}
.rd-filters a:hover{border-color:var(--rd-accent);color:var(--rd-accent)}
.rd-filters a.on{background:var(--rd-accent);border-color:var(--rd-accent);color:var(--rd-accent-ink)}

/* =====================================================
   CALCULATORS BLOCK
===================================================== */
.rd-tools{background:var(--rd-paper);border:1px solid var(--rd-line);border-radius:18px;overflow:hidden}
.rd-tool-tabs{display:flex;border-bottom:1px solid var(--rd-line);overflow-x:auto}
.rd-tool-tabs button{
  flex:1;min-width:150px;background:none;border:0;padding:16px 12px;font-weight:700;font-size:.95rem;
  color:var(--rd-ink-soft);cursor:pointer;border-bottom:3px solid transparent;white-space:nowrap;font-family:inherit;
}
.rd-tool-tabs button.on{color:var(--rd-accent);border-bottom-color:var(--rd-accent);background:var(--rd-paper-2)}
.rd-tool-pane{display:none;padding:32px;gap:32px;grid-template-columns:1fr 1fr;align-items:start}
.rd-tool-pane.on{display:grid}
@media (max-width:760px){.rd-tool-pane.on{grid-template-columns:1fr}}
.rd-field{margin-bottom:14px}
.rd-field label{display:block;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--rd-ink-soft);margin-bottom:6px}
.rd-field input,.rd-field select{
  width:100%;padding:12px 14px;border:1.5px solid var(--rd-line);border-radius:10px;
  background:var(--rd-paper);color:var(--rd-ink);font-family:inherit;font-size:1rem;box-sizing:border-box;
}
.rd-field input:focus,.rd-field select:focus{border-color:var(--rd-accent);outline:none}
.rd-frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rd-tools .rd-btn{
  border:0;border-radius:999px;padding:13px 26px;font-weight:700;font-size:.97rem;cursor:pointer;
  background:var(--rd-accent);color:var(--rd-accent-ink);font-family:inherit;
}
.rd-result{background:var(--rd-paper-2);border:1.5px dashed var(--rd-accent);border-radius:var(--rd-r);padding:26px;text-align:center}
.rd-result .rd-big{font-family:var(--rd-display);font-size:2.6rem;color:var(--rd-accent);font-variant-numeric:tabular-nums;line-height:1.1}
.rd-result .rd-unit{font-size:.85rem;color:var(--rd-ink-soft);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.rd-result table{width:100%;margin-top:16px;border-collapse:collapse;font-family:var(--rd-mono);font-size:.9rem;font-variant-numeric:tabular-nums}
.rd-result td{padding:7px 4px;border-top:1px solid var(--rd-line);text-align:left;color:var(--rd-ink)}
.rd-result td:last-child{text-align:right;font-weight:700}
.rd-hint{font-size:.82rem;color:var(--rd-ink-soft);margin-top:12px}

/* =====================================================
   THEME TOGGLE BLOCK
===================================================== */
.rd-theme-toggle{
  background:var(--rd-paper-2);border:1px solid var(--rd-line);color:var(--rd-ink);
  width:40px;height:40px;border-radius:999px;display:grid;place-items:center;cursor:pointer;padding:0;
}
.rd-theme-toggle svg{width:18px;height:18px}
.rd-theme-toggle .rd-ic-sun{display:none}
html[data-theme="dark"] .rd-theme-toggle .rd-ic-sun{display:block}
html[data-theme="dark"] .rd-theme-toggle .rd-ic-moon{display:none}
@media (prefers-color-scheme: dark){
  html:not([data-theme="light"]) .rd-theme-toggle .rd-ic-sun{display:block}
  html:not([data-theme="light"]) .rd-theme-toggle .rd-ic-moon{display:none}
}

/* =====================================================
   FOOTER
===================================================== */
.rd-footer{padding: 20px;border-top:1px solid var(--rd-line);background:var(--rd-paper-2)}
.rd-footer h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--rd-ink-soft);font-family:inherit}
.rd-footer a{color:var(--rd-ink);text-decoration:none}
.rd-footer a:hover{color:var(--rd-accent)}
.rd-footer p{color:var(--rd-ink-soft);font-size:.93rem}
.rd-copy{border-top:1px solid var(--rd-line);font-size:.85rem;color:var(--rd-ink-soft)}
.wp-block-social-links .wp-social-link{background:var(--rd-paper);border:1px solid var(--rd-line);border-radius:999px}

/* single recipe */
.rd-single-hero img{max-height:420px;object-fit:cover;border-radius:var(--rd-r)}
